diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/ChangeLog linux-2.6.28.6/ChangeLog --- linux-2.6.28/ChangeLog 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/ChangeLog 2009-04-30 10:05:47.000000000 +0200 @@ -0,0 +1,2178 @@ +previous samsung-ap-2.6 repository ChangeLog_s3c64xx for s3c64xx branch +----------------------------------------------------------------------- +rel-0-0-0 : Kwanghyun La (Nov.10.2008) + It's not fixed version , just only initial copy version for + estimation. + +dev-0-0-1 : Ilho Lee +dev-0-0-2 : Ilho Lee + Touchscreen D/D added, but Ethernet D/D is being adding. + +dev-0-0-3 : Jongpill Lee + Support ADC driver and merge adc-s3c64xx.c and adc-s3c24xx.c file + + Removed Files: + R A arch/arm/plat-s3c64xx/adc-s3c64xx.c + + Added Files: + A arch/arm/plat-s3c/adc.c + + Modified Files: + M arch/arm/mach-s3c6410/mach-smdk6410.c + M arch/arm/plat-s3c/Kconfig + M arch/arm/plat-s3c/Makefile + M arch/arm/plat-s3c/include/plat/adc.h + M drivers/char/Kconfig + +dev-0-0-4 : Jongpill Lee + Bug fixed on ADC driver + + Modified Files: + M arch/arm/plat-s3c/adc.c + +dev-0-0-5 : Ilho Lee + SMC9115 ethernet D/D is working(small_root only) + +dev-0-0-6: Jinsung Yang + - NAND driver support + + Added files: + A arch/arm/configs/smdk6410mtd_defconfig + A arch/arm/plat-s3c/include/plat/partition.h + A drivers/mtd/nand/s3c_nand.c + + Modified files: + M arch/arm/mach-s3c6400/include/mach/map.h + M arch/arm/mach-s3c6410/mach-smdk6410.c + M arch/arm/plat-s3c/Kconfig + M arch/arm/plat-s3c/include/plat/nand.h + M arch/arm/plat-s3c/include/plat/regs-nand.h + M arch/arm/plat-s3c64xx/devs.c + M drivers/mtd/nand/Kconfig + M drivers/mtd/nand/Makefile + +dev-0-0-7: Sungjun Bae + - I2S WM8580, I2SWM8990 Complete. + + Modified Files: + M arch/arm/configs/smdk6410mtd_defconfig arch/arm/configs/smdk6410nfs_defconfig + M arch/arm/plat-s3c64xx/include/plat/gpio-bank-d.h + M arch/arm/plat-s3c64xx/include/plat/regs-clock.h include/sound/soc.h + M sound/soc/soc-core.c sound/soc/codecs/wm8580.c sound/soc/codecs/wm8990.c + +dev-0-0-8: Sungjun Bae + - DMA File Structure was changed. + + Modified Files: + M arch/arm/plat-s3c/Makefile + M arch/arm/plat-s3c/include/mach/s3c-dma.h + M arch/arm/plat-s3c64xx/Makefile + Added Files: + A arch/arm/plat-s3c/dma-pl080.c + Removed Files: + R arch/arm/plat-s3c64xx/dma-pl080.c + +dev-0-0-9: Ilho Lee + - PL330 DMA D/D file added + + Modified Files: + M arch/arm/plat-s3c/Makefile + M arch/arm/plat-s3c/Kconfig + + Added Files: + A arch/arm/plat-s3c/dma-pl330.c + A arch/arm/plat-s3c/dma-pl330-microcode.c + + +dev-0-0-10: eyryu + - Add SMDKC100 initial. + +dev-0-0-11: Ilho Lee + - DMA definition files changed + + Modified Files: + M arch/arm/mach-s3c6410/dma.c + M arch/arm/mach-s5pc100/dma.c + +dev-0-0-12: Jinsung Yang + - gpiolib support for s5pc1xx architecture + + Modified files: + M arch/arm/plat-s5pc1xx/include/plat/regs-gpio.h + M arch/arm/mach-s5pc100/include/mach/gpio.h + M arch/arm/plat-s3c/gpio-config.c + M arch/arm/plat-s3c/include/plat/gpio-cfg-helpers.h + + Added files: + A arch/arm/plat-s5pc1xx/gpiolib.c + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-a0.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-a1.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-b.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-c.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-d.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-e0.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-e1.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-f0.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-f1.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-f2.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-f3.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-g0.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-g1.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-g2.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-g3.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-h0.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-h1.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-h2.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-h3.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-i.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-j0.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-j1.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-j2.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-j3.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-j4.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-k0.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-k1.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-k2.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-k3.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-mp00.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-mp01.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-mp02.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-mp03.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-mp04.h + +dev-0-0-13: eyryu + - Add SMDKC100 clock & serial + +dev-0-0-14: Ilho Lee + - ADC D/D added + + Added Files: + A arch/arm/plat-s3c24xx/adc.c + A arch/arm/plat-s3c64xx/adc.c + +dev-0-0-15: eyryu + - Support SMDKC100 UART driver + - Add SMDKC100 clock & serial + +rel-1-0-0: Kyoungil Kim + - Official Release (08.11.27) + +dev-1-0-0: Kyoungil Kim + +dev-1-0-1: Ilho Lee + - CPU idle added + + Added Files: + A arch/arm/mach-s3c6400/idle.h + A arch/arm/mach-s5pc100/idle.h + + Modified Files: + M arch/arm/mach-s3c6410/cpu.c + M arch/arm/mach-s5pc100/cpu.c + +dev-1-0-2: Ilho Lee + - S3C24XX -> S3C changed in the S3C DMA D/D. + + Modified Files: + M arch/arm/mach-s3c6410/dma.c + M arch/arm/mach-s5pc100/dma.c + M arch/arm/plat-s3c/dma-pl080.c + M arch/arm/plat-s3c/dma-pl330.c + M arch/arm/plat-s3c/include/plat/s3c-dma.h + +dev-1-0-3: Ilho Lee + - PL330 DMA D/D is adding.. + + Modified Files: + M arch/arm/plat-s3c/dma-pl330.c + M arch/arm/plat-s3c/dma-pl330-mcode.h + M arch/arm/plat-s3c/include/mach/s3c-dma.h + +dev-1-0-4: Byungjae Lee + - Support File Storage Gadget for SMDK6410 HS USB OTG + + Modified Files: + M arch/arm/mach-s3c6400/include/mach/map.h + M arch/arm/mach-s3c6410/cpu.c + M arch/arm/mach-s3c6410/mach-smdk6410.c + M arch/arm/plat-s3c64xx/devs.c + M arch/arm/plat-s3c64xx/include/plat/regs-clock.h + M drivers/usb/gadget/Kconfig + M drivers/usb/gadget/Makefile + M drivers/usb/gadget/epautoconf.c + M drivers/usb/gadget/gadget_chips.h + + Added Files: + A arch/arm/plat-s3c/include/plat/regs-otg.h + A drivers/usb/gadget/s3c_udc.h + A drivers/usb/gadget/s3c_udc_otg.c + +dev-1-0-5: Ilho Lee + - S3C touchscreen D/D changed. + + Modified Files: + M drivers/input/touchscreen/s3c-ts.c + +dev-1-0-6: Jinsung Yang + - Clock system support for S5PC100 + + Modified files: + M arch/arm/plat-s3c/clock.c + M arch/arm/plat-s3c/include/plat/clock.h + M arch/arm/plat-s5pc1xx/clock.c + M arch/arm/plat-s5pc1xx/s5pc100-clock.c + M arch/arm/plat-s5pc1xx/include/plat/pll.h + M arch/arm/plat-s5pc1xx/include/plat/regs-clock.h + +dev-1-0-7: Jinsung Yang + - LCD (LTE480WV) support for SMDKC100 + + Modified files: + drivers/video/samsung/s5pfb_fimd5x.c + +dev-1-0-8: Byungjae Lee + - Masked HCLK for USB OTG at register clocks + + Modified files: + M arch/arm/plat-s3c64xx/clock.c + M drivers/usb/gadget/s3c_udc_otg.c + +dev-1-0-9: Ilho Lee + - Ext-interrupts handlers added. + + Added Files: + A arch/arm/plat-s5pc1xx/irq-eint.c + +dev-1-0-10: Ilho Lee + - SMC9115 ethernet(100Mbps) D/D ported. + + Added Files: + A arch/arm/plat-s5pc1xx/irq-eint.c + +dev-1-0-11: Ilho Lee + - dev-adc.c deleted. + + Deleted Files: + D arch/arm/plat-s3c/dev-adc.c + +rel-1-0-1: Kyoungil Kim + - Git Release (08.12.09) + +v2.6.28-rc7-s3c64xx-r0d0: Kyoungil Kim + - s3c64xx rc7 initial git tag + +v2.6.28-rc8-s3c64xx: Kyoungil Kim + - s3c64xx rc8 patch + +v2.6.28-rc8-s3c64xx-r0d0: Kyoungil Kim + +v2.6.28-rc8-s3c64xx-r0d1: Jinsung Yang + - Fix for wrong comments + +v2.6.28-rc8-s3c64xx-r0d2: Jongpill Lee + + - bug fixed about OS Timer + + Modified Files: + M arch/arm/mach-s3c6410/mach-smdk6410.c + M arch/arm/plat-s3c/include/plat/cpu.h + M arch/arm/plat-s3c/include/plat/regs-timer.h + M arch/arm/plat-s3c/time.c + M arch/arm/plat-s3c24xx/include/plat/cpu.h + +v2.6.28-rc8-s3c64xx-r0d3: Jongpill Lee + - Remove adc driver on s3c24xx + Modified Files: + M arch/arm/plat-s3c24xx/Kconfig + M arch/arm/plat-s3c24xx/Makefile + Deleted Files: + D arch/arm/plat-s3c24xx/adc.c + +v2.6.28-rc8-s3c64xx-r0d4: Jinsung Yang + - 24 bit logo display support + - s3c framebuffer driver naming rule changes + + Modified files: + M drivers/video/cfbimgblt.c + M drivers/video/samsung/s3cfb.c + M drivers/video/samsung/s3cfb.h + M drivers/video/samsung/s3cfb_fimd4x.c + M drivers/video/samsung/s3cfb_fimd5x.c + M drivers/video/samsung/s3cfb_lte480wv.c + M drivers/video/samsung/s3cfb_lts222qv.c + M drivers/video/samsung/s3cfb_ltv350qv.c + M drivers/video/samsung/s3cfb_spi.c + +v2.6.28-rc8-s3c64xx-r0d5: Jongpill Lee + -Support cpu freq on smdk6410 + + Added Files: + A arch/arm/plat-s3c64xx/s3c64xx-cpufreq.carch/arm/plat-s3c64xx/s3c64xx-cpufreq.c + Modified Files: + M arch/arm/Kconfig + M arch/arm/plat-s3c/clock.c + M arch/arm/plat-s3c64xx/Makefile + +v2.6.28-rc8-s3c64xx-r0d6: Kyoungil Kim + - split plat-s5p64xx, mach-s5p6440 + - Support for s5p6440 serial + + Added Files + A arch/arm/configs/smdk6440ramdisk_defconfig + A arch/arm/mach-s5p6440/Kconfig + A arch/arm/mach-s5p6440/Makefile.boot + A arch/arm/mach-s5p6440/cpu.c + A arch/arm/mach-s5p6440/dma.c + A arch/arm/mach-s5p6440/include/mach/debug-macro.S + A arch/arm/mach-s5p6440/include/mach/dma.h + A arch/arm/mach-s5p6440/include/mach/entry-macro.S + A arch/arm/mach-s5p6440/include/mach/gpio-core.h + A arch/arm/mach-s5p6440/include/mach/gpio.h + A arch/arm/mach-s5p6440/include/mach/hardware.h + A arch/arm/mach-s5p6440/include/mach/idle.h + A arch/arm/mach-s5p6440/include/mach/irqs.h + A arch/arm/mach-s5p6440/include/mach/map.h + A arch/arm/mach-s5p6440/include/mach/memory.h + A arch/arm/mach-s5p6440/include/mach/regs-irq.h + A arch/arm/mach-s5p6440/include/mach/regs-mem.h + A arch/arm/mach-s5p6440/include/mach/system.h + A arch/arm/mach-s5p6440/include/mach/tick.h + A arch/arm/mach-s5p6440/include/mach/uncompress.h + A arch/arm/mach-s5p6440/mach-smdk6440.c + A arch/arm/mach-s5p6440/setup-sdhci.c + A arch/arm/plat-s5p64xx/Kconfig + A arch/arm/plat-s5p64xx/Makefile + A arch/arm/plat-s5p64xx/adc.c + A arch/arm/plat-s5p64xx/clock.c + A arch/arm/plat-s5p64xx/cpu.c + A arch/arm/plat-s5p64xx/dev-uart.c + A arch/arm/plat-s5p64xx/devs.c + A arch/arm/plat-s5p64xx/gpiolib.c + A arch/arm/plat-s5p64xx/include/plat/dma.h + A arch/arm/plat-s5p64xx/include/plat/gpio-bank-a.h + A arch/arm/plat-s5p64xx/include/plat/gpio-bank-b.h + A arch/arm/plat-s5p64xx/include/plat/gpio-bank-c.h + A arch/arm/plat-s5p64xx/include/plat/gpio-bank-f.h + A arch/arm/plat-s5p64xx/include/plat/gpio-bank-g.h + A arch/arm/plat-s5p64xx/include/plat/gpio-bank-h.h + A arch/arm/plat-s5p64xx/include/plat/gpio-bank-i.h + A arch/arm/plat-s5p64xx/include/plat/gpio-bank-j.h + A arch/arm/plat-s5p64xx/include/plat/gpio-bank-n.h + A arch/arm/plat-s5p64xx/include/plat/gpio-bank-p.h + A arch/arm/plat-s5p64xx/include/plat/gpio-bank-r.h + A arch/arm/plat-s5p64xx/include/plat/irqs.h + A arch/arm/plat-s5p64xx/include/plat/pll.h + A arch/arm/plat-s5p64xx/include/plat/regs-clock.h + A arch/arm/plat-s5p64xx/include/plat/regs-gpio.h + A arch/arm/plat-s5p64xx/include/plat/regs-sys.h + A arch/arm/plat-s5p64xx/include/plat/s5p6440.h + A arch/arm/plat-s5p64xx/irq-eint.c + A arch/arm/plat-s5p64xx/irq.c + A arch/arm/plat-s5p64xx/s5p6440-clock.c + A arch/arm/plat-s5p64xx/s5p6440-init.c + A arch/arm/plat-s5p64xx/setup-i2c0.c + A arch/arm/plat-s5p64xx/setup-i2c1.c + Modified Files + M arch/arm/Kconfig + M arch/arm/Makefile + M arch/arm/mach-s5p6440/Makefile + M arch/arm/mm/Kconfig + M arch/arm/plat-s3c/Kconfig + M arch/arm/plat-s3c/include/plat/clock.h + M arch/arm/plat-s3c/include/plat/cpu.h + M arch/arm/plat-s3c/include/plat/devs.h + M arch/arm/plat-s3c/include/plat/regs-lcd.h + M arch/arm/tools/mach-types + M drivers/i2c/busses/Kconfig + M drivers/input/touchscreen/Kconfig + M drivers/mtd/nand/Kconfig + M drivers/serial/Kconfig + M drivers/video/Kconfig + M drivers/video/samsung/Makefile + M drivers/video/samsung/s3cfb.h + M drivers/video/samsung/s3cfb_spi.c + +v2.6.28-rc8-s3c64xx-r0d7: Ilho Lee + - ASYN/SYN mode select added. + + Modified Files: + M arch/arm/plat-s3c64xx/include/plat/regs-clock.h + M arch/arm/plat-s3c64xx/s3c6400-clock.c + +v2.6.28-rc8-s3c64xx-r0d8: Kyoungil Kim + - Support for FPGA6440 lcd + + Modified Files: + M arch/arm/mach-s5p6440/include/mach/gpio.h + M drivers/video/samsung/s3cfb_fimd5x.c + M drivers/video/samsung/s3cfb_lts222qv.c + M drivers/video/samsung/s3cfb_spi.c + +v2.6.28-rc8-s3c64xx-r0d9: Jongpill Lee + - Support APM on SMDK6410 + + Modified Files: + M arch/arm/configs/smdk6410mtd_defconfig + M arch/arm/mach-s3c6400/include/mach/regs-irq.h + M arch/arm/mach-s3c6410/Makefile + M arch/arm/mach-s3c6410/mach-smdk6410.c + M arch/arm/plat-s3c/Makefile + M arch/arm/plat-s3c/include/plat/regs-serial.h + M arch/arm/plat-s3c64xx/Makefile + M arch/arm/plat-s3c64xx/include/plat/gpio-bank-k.h + M arch/arm/plat-s3c64xx/include/plat/gpio-bank-l.h + M arch/arm/plat-s3c64xx/include/plat/regs-gpio.h + M arch/arm/plat-s3c64xx/irq.c + M drivers/video/samsung/s3cfb_fimd4x.c + Added Files: + A arch/arm/mach-s3c6410/irq.c + A arch/arm/mach-s3c6410/pm.c + A arch/arm/plat-s3c64xx/include/plat/gpio-bank-m.h + A arch/arm/plat-s3c64xx/include/plat/pm.h + A arch/arm/plat-s3c64xx/pm.c + A arch/arm/plat-s3c64xx/sleep.S + +v2.6.28-rc8-s3c64xx-r0d10: Jongpill Lee + - Support RTC on SMDK6410 + + MOdified Files: + M arch/arm/mach-s3c2410/include/mach/map.h + M arch/arm/mach-s3c6400/include/mach/map.h + M arch/arm/mach-s3c6410/mach-smdk6410.c + M arch/arm/plat-s3c/include/plat/regs-rtc.h + M arch/arm/plat-s3c64xx/devs.c + M arch/arm/plat-s3c64xx/include/plat/pm.h + M drivers/rtc/Kconfig + M drivers/rtc/rtc-s3c.c + +v2.6.28-rc8-s3c64xx-r0d11: Kyoungil Kim + - Keypad Driver for SMDK6410 + + Modified Files: + M arch/arm/configs/smdk6410mtd_defconfig + M arch/arm/configs/smdk6410nfs_defconfig + M arch/arm/configs/smdk6410ramdisk_defconfig + M arch/arm/mach-s3c6400/include/mach/map.h + M arch/arm/mach-s3c6410/mach-smdk6410.c + M arch/arm/plat-s3c/gpio-config.c + M arch/arm/plat-s3c/include/plat/devs.h + M arch/arm/plat-s3c64xx/clock.c + M arch/arm/plat-s3c64xx/devs.c + M arch/arm/plat-s3c64xx/include/plat/gpio-bank-k.h + M arch/arm/plat-s3c64xx/include/plat/gpio-bank-l.h + M drivers/input/keyboard/Kconfig + M drivers/input/keyboard/Makefile + M drivers/input/touchscreen/s3c-ts.c + Added Files: + A arch/arm/plat-s3c64xx/include/plat/regs-keypad.h + A drivers/input/keyboard/s3c-keypad.c + A drivers/input/keyboard/s3c-keypad.h + +v2.6.28-rc8-s3c64xx-r0d12: Jongpill Lee + - Support HS-SPI on SMDK6410 + + Added Files: + A arch/arm/plat-s3c64xx/include/plat/regs-spi.h + A drivers/spi/hspi-s3c64xx.c + A drivers/spi/hspi-s3c64xx.h + A drivers/spi/spi-dev.c + A drivers/spi/spi-dev.h + + Modified Files: + M arch/arm/mach-s3c6400/include/mach/map.h + M arch/arm/mach-s3c6410/mach-smdk6410.c + M drivers/rtc/rtc-s3c.c + M drivers/spi/Kconfig + M drivers/spi/Makefile + +v2.6.28-rc8-s3c64xx-r0d13: Ilho Lee + - Support HS-MMC on SMDK6410 + +v2.6.28-rc8-s3c64xx-r0d14: Jongpill Lee + - bug fiex on PM Driver + + Modified Files: + M arch/arm/configs/smdk6410mtd_defconfig + M arch/arm/plat-s3c64xx/sleep.S + +v2.6.28-rc8-s3c64xx-r0d15: Kyoungil Kim + - Support USB host on SMDK6410 + + Modifiled Files: + M arch/arm/configs/smdk6410mtd_defconfig + M arch/arm/configs/smdk6410nfs_defconfig + M arch/arm/configs/smdk6410onenand_defconfig + M arch/arm/configs/smdk6410ramdisk_defconfig + M arch/arm/mach-s3c6400/include/mach/map.h + M arch/arm/mach-s3c6410/mach-smdk6410.c + M arch/arm/mach-s5p6440/mach-smdk6440.c + M arch/arm/plat-s3c/include/plat/partition.h + M arch/arm/plat-s3c64xx/devs.c + M drivers/usb/Kconfig + M drivers/usb/gadget/s3c_udc_otg.c + M drivers/usb/host/ohci-hcd.c + M drivers/usb/host/ohci-s3c2410.c + Added Files: + A arch/arm/mach-s3c6400/include/mach/usb-control.h + +v2.6.28-rc8-s3c64xx-r0d16: Jongpill Lee + - Support DVS on CPUFREQ Driver + + Added Files: + A arch/arm/plat-s3c64xx/ltc3714.c + Modified Files: + M arch/arm/plat-s3c/clock.c + M arch/arm/plat-s3c64xx/Makefile + M arch/arm/plat-s3c64xx/s3c64xx-cpufreq.c + +v2.6.28-rc8-s3c64xx-r0d17: Byungjae Lee + - Support Ethernet gadget and RNDIS for SMDK6410 + + Modifiled Files: + M arch/arm/configs/smdk6410mtd_defconfig + M arch/arm/mach-s3c6410/mach-smdk6410.c + M drivers/usb/gadget/Kconfig + M drivers/usb/gadget/epautoconf.c + M drivers/usb/gadget/f_rndis.c + M drivers/usb/gadget/s3c_udc.h + M drivers/usb/gadget/s3c_udc_otg.c + M drivers/usb/gadget/u_ether.c + Added Files: + A drivers/usb/gadget/s3c_udc_otg_xfer_dma.c + A drivers/usb/gadget/s3c_udc_otg_xfer_slave.c + +v2.6.28-rc8-s3c64xx-r0d18: Jongpill Lee + - Remove warning message + + Modified Files: + M arch/arm/mach-s3c6410/mach-smdk6410.c + M arch/arm/mach-s3c6410/pm.c + M arch/arm/plat-s3c/clock.c + M arch/arm/plat-s3c64xx/clock.c + M arch/arm/plat-s3c64xx/include/plat/pm.h + M arch/arm/plat-s3c64xx/irq.c + M arch/arm/plat-s3c64xx/ltc3714.c + M arch/arm/plat-s3c64xx/pm.c + M arch/arm/plat-s3c64xx/s3c64xx-cpufreq.c + M drivers/rtc/rtc-s3c.c + M drivers/spi/hspi-s3c64xx.c + +v2.6.28-rc8-s3c64xx-r0d19: Kyoungil Kim + - Support Watchdog on SMDK6410 + + Modified Files: + M arch/arm/configs/smdk6410mtd_defconfig + M arch/arm/configs/smdk6410nfs_defconfig + M arch/arm/configs/smdk6410onenand_defconfig + M arch/arm/configs/smdk6410ramdisk_defconfig + M arch/arm/mach-s3c6400/include/mach/map.h + M arch/arm/mach-s3c6410/mach-smdk6410.c + M arch/arm/plat-s3c64xx/devs.c + M drivers/watchdog/Kconfig + +v2.6.28-rc8-s3c64xx-r0d20: Ryu Euiyoul + - Support S5M8751 on SMDK6410 + + Modified Files: + M sound/soc/codecs/Kconfig + M sound/soc/codecs/Makefile + M sound/soc/s3c64xx/Kconfig + M sound/soc/s3c64xx/Makefile + + Added Files: + A sound/soc/codecs/s5m8751.c + A sound/soc/codecs/s5m8751.h + A sound/soc/s3c64xx/smdk6410_s5m8751.c + A arch/arm/configs/smdk6410rf_defconfig + +v2.6.28-rc8-s3c64xx-r0d21: SungJun Bae + - Support wm8580 on VEGA-L FPGA (Draft) + + Modified Files: + M arch/arm/configs/smdk6440ramdisk_defconfig + M arch/arm/mach-s5p6440/dma.c + M arch/arm/mach-s5p6440/mach-smdk6440.c + M arch/arm/plat-s3c/dma-pl080.c + M sound/soc/s3c64xx/Kconfig + M sound/soc/s3c64xx/Makefile + M sound/soc/s3c64xx/s3c-i2s.h + M sound/soc/s3c64xx/s3c-pcm.c + M sound/soc/s3c64xx/s3c6410-i2s-v40.c + + Added Files: + A sound/soc/s3c64xx/s5p6440-i2s-v40.c + A sound/soc/s3c64xx/smdk6440_wm8580.c + +v2.6.28.6-s3c64xx: Kyoungil Kim + +v2.6.28.6-s3c64xx-r0d0: Kyoungil Kim + +v2.6.28.6-s3c64xx-r0d1: SungJun Bae + - Support Post Processor on SMDK6410 + + Modified Files: + M ChangeLog_s3c64xx + M arch/arm/mach-s3c6400/include/mach/map.h + M arch/arm/mach-s3c6410/mach-smdk6410.c + M arch/arm/plat-s3c/include/plat/devs.h + M arch/arm/plat-s3c/include/plat/regs-lcd.h + M arch/arm/plat-s3c64xx/devs.c + M drivers/media/video/Kconfig + M drivers/media/video/Makefile + + Added Files: + A arch/arm/plat-s3c/include/plat/regs-pp.h + A arch/arm/plat-s3c/include/plat/reserved_mem.h + A drivers/media/video/samsung/post/Kconfig + A drivers/media/video/samsung/post/Makefile + A drivers/media/video/samsung/post/s3c_pp.h + A drivers/media/video/samsung/post/s3c_pp_6400.c + A drivers/media/video/samsung/post/s3c_pp_common.c + A drivers/media/video/samsung/post/s3c_pp_common.h + +v2.6.28.6-s3c64xx-r0d2: SungJun Bae + - Support TV encoder,scaler on SMDK6410 + + Modified Files: + M arch/arm/mach-s3c6400/include/mach/map.h + M arch/arm/mach-s3c6410/mach-smdk6410.c + M arch/arm/plat-s3c/include/plat/devs.h + M arch/arm/plat-s3c64xx/devs.c + M drivers/media/video/Kconfig + M drivers/media/video/Makefile + M drivers/media/video/samsung/Kconfig + M drivers/media/video/samsung/post/s3c_pp_6400.c + M drivers/media/video/v4l2-dev.c + M include/media/v4l2-dev.h + + Added Files: + A arch/arm/plat-s3c/include/plat/regs-tvenc.h + A arch/arm/plat-s3c/include/plat/regs-tvscaler.h + A drivers/media/video/samsung/tv/Kconfig + A drivers/media/video/samsung/tv/Makefile + A drivers/media/video/samsung/tv/s3c-tvenc.c + A drivers/media/video/samsung/tv/s3c-tvenc.h + A drivers/media/video/samsung/tv/s3c-tvscaler.c + A drivers/media/video/samsung/tv/s3c-tvscaler.h +v2.6.28.6-s3c64xx-r0d3: Jaeryul Oh + - Support JPEG, roator on SMDK6410 + + Modified Files : + M arch/arm/mach-s3c6400/include/mach/map.h + M arch/arm/mach-s3c6410/mach-smdk6410.c + M arch/arm/plat-s3c/include/plat/devs.h + M arch/arm/plat-s3c64xx/devs.c + M drivers/media/video/samsung/Kconfig + M drivers/media/video/samsung/Makefile + + Added Files: + A drivers/media/video/samsung/jpeg/Kconfig + A drivers/media/video/samsung/jpeg/Makefile + A drivers/media/video/samsung/jpeg/jpg_conf.h + A drivers/media/video/samsung/jpeg/jpg_mem.c + A drivers/media/video/samsung/jpeg/jpg_mem.h + A drivers/media/video/samsung/jpeg/jpg_misc.c + A drivers/media/video/samsung/jpeg/jpg_misc.h + A drivers/media/video/samsung/jpeg/jpg_opr.c + A drivers/media/video/samsung/jpeg/jpg_opr.h + A drivers/media/video/samsung/jpeg/log_msg.c + A drivers/media/video/samsung/jpeg/log_msg.h + A drivers/media/video/samsung/jpeg/s3c-jpeg.c + A drivers/media/video/samsung/jpeg/s3c-jpeg.h + A drivers/media/video/samsung/rotator/Kconfig + A drivers/media/video/samsung/rotator/Makefile + A drivers/media/video/samsung/rotator/regs-rotator.h + A drivers/media/video/samsung/rotator/s3c_rotator.c + A drivers/media/video/samsung/rotator/s3c_rotator_common.h + +v2.6.28.6-s3c64xx-r0d4: Jinsung Yang + - FIMC support for SMDK6410 + - Including reserved memory feature with bootmem + - All functions have been finished on the planning + +v2.6.28.6-s3c64xx-r0d5: SungJun Bae + - bootmem applied to post and tv. + M drivers/media/video/samsung/post/s3c_pp_6400.c + M drivers/media/video/samsung/tv/s3c-tvscaler.h + +v2.6.28.6-s3c64xx-r0d6: PyoungJae Jung, Jiun Yu + - MFC support for SMDK6410 + - It support bootmem for large buffer memory + - Changed coding style to linux kernel coding style + - Bug fixed in Hybrid DiVX encoding problem + + Modified Files: + M arch/arm/mach-s3c6400/include/mach/map.h + M arch/arm/mach-s3c6410/mach-smdk6410.c + M arch/arm/plat-s3c/include/plat/devs.h + M arch/arm/plat-s3c64xx/devs.c + M arch/arm/plat-s3c64xx/include/plat/media.h + M drivers/media/video/samsung/Kconfig + M drivers/media/video/samsung/Makefile + + Added Files: + A arch/arm/plat-s3c64xx/include/plat/regs-mfc.h + A drivers/media/video/samsung/mfc/Kconfig + A drivers/media/video/samsung/mfc/Makefile + A drivers/media/video/samsung/mfc/prism_s.h + A drivers/media/video/samsung/mfc/prism_s_v137.c + A drivers/media/video/samsung/mfc/s3c_mfc.c + A drivers/media/video/samsung/mfc/s3c_mfc.h + A drivers/media/video/samsung/mfc/s3c_mfc_base.h + A drivers/media/video/samsung/mfc/s3c_mfc_bitproc_buf.c + A drivers/media/video/samsung/mfc/s3c_mfc_bitproc_buf.h + A drivers/media/video/samsung/mfc/s3c_mfc_config.h + A drivers/media/video/samsung/mfc/s3c_mfc_databuf.c + A drivers/media/video/samsung/mfc/s3c_mfc_databuf.h + A drivers/media/video/samsung/mfc/s3c_mfc_hw_init.c + A drivers/media/video/samsung/mfc/s3c_mfc_hw_init.h + A drivers/media/video/samsung/mfc/s3c_mfc_inst_pool.c + A drivers/media/video/samsung/mfc/s3c_mfc_inst_pool.h + A drivers/media/video/samsung/mfc/s3c_mfc_instance.c + A drivers/media/video/samsung/mfc/s3c_mfc_instance.h + A drivers/media/video/samsung/mfc/s3c_mfc_intr_noti.h + A drivers/media/video/samsung/mfc/s3c_mfc_params.h + A drivers/media/video/samsung/mfc/s3c_mfc_set_config.c + A drivers/media/video/samsung/mfc/s3c_mfc_sfr.c + A drivers/media/video/samsung/mfc/s3c_mfc_sfr.h + A drivers/media/video/samsung/mfc/s3c_mfc_types.h + A drivers/media/video/samsung/mfc/s3c_mfc_yuv_buf_manager.c + A drivers/media/video/samsung/mfc/s3c_mfc_yuv_buf_manager.h + +v2.6.28.6-s3c64xx-r0d7: Kyoungil Kim + - Just Prevent tag for SMDK6410 + +v2.6.28.6-s3c64xx-r0d8: Jaeryul Oh + - Fixed Bug in case of dynamic fps change of MPEG4 encoding + + Modified Files: + M drivers/media/video/samsung/mfc/s3c_mfc_instance.h + M drivers/media/video/samsung/mfc/s3c_mfc_instance.c + +v2.6.28.6-s3c64xx-r0d9: Jonghun Han + - S3C6410 FIMG-2D driver support + + Added Files: + drivers/media/video/samsung/g2d/Kconfig + drivers/media/video/samsung/g2d/Makefile + drivers/media/video/samsung/g2d/s3c_fimg2d2x.c + drivers/media/video/samsung/g2d/s3c_fimg2d2x.h + arch/arm/plat-s3c/include/plat/regs-g2d.h + + Modified Files: + arch/arm/configs/smdk6410mtd_defconfig + arch/arm/configs/smdk6410nfs_defconfig + arch/arm/configs/smdk6410onenand_defconfig + arch/arm/configs/smdk6410ramdisk_defconfig + arch/arm/mach-s3c6400/include/mach/map.h + arch/arm/mach-s3c6410/mach-smdk6410.c + arch/arm/plat-s3c/include/plat/devs.h + arch/arm/plat-s3c64xx/devs.c + drivers/media/video/samsung/Kconfig + drivers/media/video/samsung/Makefile + drivers/video/samsung/s3cfb.c + drivers/video/samsung/s3cfb_fimd4x.c + +v2.6.28.6-s3c64xx-r1: Jonghun Han + - Official Release (09.03.06) + +v2.6.28.6-s3c64xx-r1d0: Kyoungil Kim + +v2.6.28.6-s3c64xx-r1d1 : Byungjae Lee + - implemented s3c6410 OTG host role for Mass storage only + + Modified Files: + M arch/arm/mach-s3c6410/mach-smdk6410.c + M arch/arm/plat-s3c/include/plat/devs.h + M arch/arm/plat-s3c64xx/devs.c + M drivers/usb/Makefile + M drivers/usb/host/Kconfig + M drivers/usb/host/Makefile + + Added Files: + A drivers/usb/host/s3c-otg/* + +v2.6.28.6-s3c64xx-r1d2 : Byungjae Lee + - implemented s3c6410 OTG host role for HID(Keyboard, Mouse) + and Card Reader + + Modified Files: + M drivers/usb/host/s3c-otg/s3c-otg-hcdi-driver.c + M drivers/usb/host/s3c-otg/s3c-otg-hcdi-hcd.c + M drivers/usb/host/s3c-otg/s3c-otg-hcdi-kal.h + M drivers/usb/host/s3c-otg/s3c-otg-scheduler-ischeduler.c + M drivers/usb/host/s3c-otg/s3c-otg-scheduler-scheduler.h + M drivers/usb/host/s3c-otg/s3c-otg-transfer-common.c + M drivers/usb/host/s3c-otg/s3c-otg-transferchecker-common.c + +v2.6.28.6-s3c64xx-r1d3 : Jongpill Lee + - defect is fixed on cpufreq driver + + Modified Files: + M arch/arm/plat-s3c64xx/clock.c + +v2.6.28.6-s3c64xx-r1d4 : Jongpill Lee + - defect is fixed on pm + + MOdified Fils: + M arch/arm/plat-s3c64xx/pm.c + +v2.6.28.6-s3c64xx-r1d5: Kyoungil Kim + - Just Second Prevent tag for SMDK6410 + +v2.6.28.6-s3c64xx-r1d6 : Jonghun Han + - update S3C6410 FIMG-2D driver + + Modified Fils: + M arch/arm/plat-s3c/include/plat/regs-g2d.h + M drivers/media/video/samsung/g2d/s3c_fimg2d2x.c + +v2.6.28.6-s3c64xx-r2: Kyoungil Kim + - Official Release (09.03.09) + +v2.6.28.6-s3c64xx-r2d0: Kyoungil Kim + +v2.6.28.6-s3c64xx-r2d1: Jaeryul Oh + - Fixed Bug in case of rotator function of MFC + + Modified Files: + M drivers/media/video/samsung/mfc/s3c_mfc_instance.c + +v2.6.28.6-s3c64xx-r2d2: Jonghun Han + - S3C6410 FIMG-3D driver support + + Modified Files: + M arch/arm/mach-s3c6400/include/mach/map.h + M arch/arm/mach-s3c6410/mach-smdk6410.c + M arch/arm/plat-s3c/include/plat/devs.h + M arch/arm/plat-s3c64xx/devs.c + M drivers/char/s3c_mem.c + M drivers/media/video/samsung/Kconfig + M drivers/media/video/samsung/Makefile + M drivers/media/video/samsung/g2d/s3c_fimg2d2x.c + + Added Files: + A drivers/media/video/samsung/g3d/Kconfig + A drivers/media/video/samsung/g3d/Makefile + A drivers/media/video/samsung/g3d/s3c_fimg3d.c + A drivers/media/video/samsung/g3d/s3c_fimg3d.h + +v2.6.28.6-s3c64xx-r2d3: Jonghun Han + - S5PC100 FIMG-2D driver support + + Modified Files: + M drivers/media/video/samsung/g2d/Kconfig + M drivers/media/video/samsung/g2d/s3c_fimg2d2x.c + +v2.6.28.6-s3c64xx-r3: Kyoungil Kim + - Official Release (09.03.13) + +v2.6.28.6-s3c64xx-r3d0: Kyoungil Kim + +v2.6.28.6-s3c64xx-r3d1: Byungae Lee + - Support SMDK6410 USB Serial Gadget (with CDC ACM) + + Modified Files: + M arch/arm/plat-s3c/include/plat/regs-otg.h + M drivers/usb/gadget/s3c_udc_otg.c + M drivers/usb/gadget/s3c_udc_otg_xfer_dma.c + M drivers/usb/gadget/s3c_udc_otg_xfer_slave.c + +v2.6.28.6-s3c64xx-r3d2: Byungae Lee + - Removed warning on the debug message for the USB Gadget + + Modified Files: + M drivers/usb/gadget/s3c_udc_otg.c + M drivers/usb/gadget/s3c_udc_otg_xfer_dma.c + +v2.6.28.6-s3c64xx-r3d3: SungJun Bae + - Support CMM driver. + + Added Files: + A drivers/media/video/samsung/cmm/CMMMisc.c + A drivers/media/video/samsung/cmm/CMMMisc.h + A drivers/media/video/samsung/cmm/Kconfig + A drivers/media/video/samsung/cmm/LogMsg.c + A drivers/media/video/samsung/cmm/LogMsg.h + A drivers/media/video/samsung/cmm/Makefile + A drivers/media/video/samsung/cmm/s3c-cmm.c + A drivers/media/video/samsung/cmm/s3c-cmm.h + + Modified Files: + M drivers/media/video/samsung/Kconfig + M drivers/media/video/samsung/Makefile + + +v2.6.28.6-s3c64xx-r4: Jonghun Han + - Official Release (09.03.24) + +v2.6.28.6-s3c64xx-r4d0: Jonghun Han + +v2.6.28.6-s3c64xx-r4d1: Kyoungil Kim + - The last tag for s3c64xx branch(09.03.24) + +rel-0-0-0 : Kwanghyun La (Nov.10.2008) + It's not fixed version , just only initial copy version for + estimation. + +previous samsung-ap-2.6 repository ChangeLog_s5pc1xx for s5pc1xx branch +----------------------------------------------------------------------- +dev-0-0-1 : Ilho Lee +dev-0-0-2 : Ilho Lee + Touchscreen D/D added, but Ethernet D/D is being adding. + +dev-0-0-3 : Jongpill Lee + Support ADC driver and merge adc-s3c64xx.c and adc-s3c24xx.c file + + Removed Files: + R A arch/arm/plat-s3c64xx/adc-s3c64xx.c + + Added Files: + A arch/arm/plat-s3c/adc.c + + Modified Files: + M arch/arm/mach-s3c6410/mach-smdk6410.c + M arch/arm/plat-s3c/Kconfig + M arch/arm/plat-s3c/Makefile + M arch/arm/plat-s3c/include/plat/adc.h + M drivers/char/Kconfig + +dev-0-0-4 : Jongpill Lee + Bug fixed on ADC driver + + Modified Files: + M arch/arm/plat-s3c/adc.c + +dev-0-0-5 : Ilho Lee + SMC9115 ethernet D/D is working(small_root only) + +dev-0-0-6: Jinsung Yang + - NAND driver support + + Added files: + A arch/arm/configs/smdk6410mtd_defconfig + A arch/arm/plat-s3c/include/plat/partition.h + A drivers/mtd/nand/s3c_nand.c + + Modified files: + M arch/arm/mach-s3c6400/include/mach/map.h + M arch/arm/mach-s3c6410/mach-smdk6410.c + M arch/arm/plat-s3c/Kconfig + M arch/arm/plat-s3c/include/plat/nand.h + M arch/arm/plat-s3c/include/plat/regs-nand.h + M arch/arm/plat-s3c64xx/devs.c + M drivers/mtd/nand/Kconfig + M drivers/mtd/nand/Makefile + +dev-0-0-7: Sungjun Bae + - I2S WM8580, I2SWM8990 Complete. + + Modified Files: + M arch/arm/configs/smdk6410mtd_defconfig arch/arm/configs/smdk6410nfs_defconfig + M arch/arm/plat-s3c64xx/include/plat/gpio-bank-d.h + M arch/arm/plat-s3c64xx/include/plat/regs-clock.h include/sound/soc.h + M sound/soc/soc-core.c sound/soc/codecs/wm8580.c sound/soc/codecs/wm8990.c + +dev-0-0-8: Sungjun Bae + - DMA File Structure was changed. + + Modified Files: + M arch/arm/plat-s3c/Makefile + M arch/arm/plat-s3c/include/mach/s3c-dma.h + M arch/arm/plat-s3c64xx/Makefile + Added Files: + A arch/arm/plat-s3c/dma-pl080.c + Removed Files: + R arch/arm/plat-s3c64xx/dma-pl080.c + +dev-0-0-9: Ilho Lee + - PL330 DMA D/D file added + + Modified Files: + M arch/arm/plat-s3c/Makefile + M arch/arm/plat-s3c/Kconfig + + Added Files: + A arch/arm/plat-s3c/dma-pl330.c + A arch/arm/plat-s3c/dma-pl330-microcode.c + + +dev-0-0-10: eyryu + - Add SMDKC100 initial. + +dev-0-0-11: Ilho Lee + - DMA definition files changed + + Modified Files: + M arch/arm/mach-s3c6410/dma.c + M arch/arm/mach-s5pc100/dma.c + +dev-0-0-12: Jinsung Yang + - gpiolib support for s5pc1xx architecture + + Modified files: + M arch/arm/plat-s5pc1xx/include/plat/regs-gpio.h + M arch/arm/mach-s5pc100/include/mach/gpio.h + M arch/arm/plat-s3c/gpio-config.c + M arch/arm/plat-s3c/include/plat/gpio-cfg-helpers.h + + Added files: + A arch/arm/plat-s5pc1xx/gpiolib.c + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-a0.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-a1.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-b.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-c.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-d.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-e0.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-e1.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-f0.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-f1.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-f2.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-f3.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-g0.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-g1.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-g2.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-g3.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-h0.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-h1.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-h2.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-h3.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-i.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-j0.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-j1.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-j2.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-j3.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-j4.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-k0.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-k1.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-k2.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-k3.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-mp00.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-mp01.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-mp02.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-mp03.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-mp04.h + +dev-0-0-13: eyryu + - Add SMDKC100 clock & serial + +dev-0-0-14: Ilho Lee + - ADC D/D added + + Added Files: + A arch/arm/plat-s3c24xx/adc.c + A arch/arm/plat-s3c64xx/adc.c + +dev-0-0-15: eyryu + - Support SMDKC100 UART driver + - Add SMDKC100 clock & serial + +rel-1-0-0: Kyoungil Kim + - Official Release (08.11.27) + +dev-1-0-0: Kyoungil Kim + +dev-1-0-1: Ilho Lee + - CPU idle added + + Added Files: + A arch/arm/mach-s3c6400/idle.h + A arch/arm/mach-s5pc100/idle.h + + Modified Files: + M arch/arm/mach-s3c6410/cpu.c + M arch/arm/mach-s5pc100/cpu.c + +dev-1-0-2: Ilho Lee + - S3C24XX -> S3C changed in the S3C DMA D/D. + + Modified Files: + M arch/arm/mach-s3c6410/dma.c + M arch/arm/mach-s5pc100/dma.c + M arch/arm/plat-s3c/dma-pl080.c + M arch/arm/plat-s3c/dma-pl330.c + M arch/arm/plat-s3c/include/plat/s3c-dma.h + +dev-1-0-3: Ilho Lee + - PL330 DMA D/D is adding.. + + Modified Files: + M arch/arm/plat-s3c/dma-pl330.c + M arch/arm/plat-s3c/dma-pl330-mcode.h + M arch/arm/plat-s3c/include/mach/s3c-dma.h + +dev-1-0-4: Byungjae Lee + - Support File Storage Gadget for SMDK6410 HS USB OTG + + Modified Files: + M arch/arm/mach-s3c6400/include/mach/map.h + M arch/arm/mach-s3c6410/cpu.c + M arch/arm/mach-s3c6410/mach-smdk6410.c + M arch/arm/plat-s3c64xx/devs.c + M arch/arm/plat-s3c64xx/include/plat/regs-clock.h + M drivers/usb/gadget/Kconfig + M drivers/usb/gadget/Makefile + M drivers/usb/gadget/epautoconf.c + M drivers/usb/gadget/gadget_chips.h + + Added Files: + A arch/arm/plat-s3c/include/plat/regs-otg.h + A drivers/usb/gadget/s3c_udc.h + A drivers/usb/gadget/s3c_udc_otg.c + +dev-1-0-5: Ilho Lee + - S3C touchscreen D/D changed. + + Modified Files: + M drivers/input/touchscreen/s3c-ts.c + +dev-1-0-6: Jinsung Yang + - Clock system support for S5PC100 + + Modified files: + M arch/arm/plat-s3c/clock.c + M arch/arm/plat-s3c/include/plat/clock.h + M arch/arm/plat-s5pc1xx/clock.c + M arch/arm/plat-s5pc1xx/s5pc100-clock.c + M arch/arm/plat-s5pc1xx/include/plat/pll.h + M arch/arm/plat-s5pc1xx/include/plat/regs-clock.h + +dev-1-0-7: Jinsung Yang + - LCD (LTE480WV) support for SMDKC100 + + Modified files: + drivers/video/samsung/s5pfb_fimd5x.c + +dev-1-0-8: Byungjae Lee + - Masked HCLK for USB OTG at register clocks + + Modified files: + M arch/arm/plat-s3c64xx/clock.c + M drivers/usb/gadget/s3c_udc_otg.c + +dev-1-0-9: Ilho Lee + - Ext-interrupts handlers added. + + Added Files: + A arch/arm/plat-s5pc1xx/irq-eint.c + +dev-1-0-10: Ilho Lee + - SMC9115 ethernet(100Mbps) D/D ported. + + Added Files: + A arch/arm/plat-s5pc1xx/irq-eint.c + +dev-1-0-11: Ilho Lee + - dev-adc.c deleted. + + Deleted Files: + D arch/arm/plat-s3c/dev-adc.c + +rel-1-0-1: Kyoungil Kim + - Git Release (08.12.09) + +v2.6.28-rc7-s5pc1xx-r0d0: Kyoungil Kim + - s5pc1xx rc7 initial git tag + +v2.6.28-rc7-s5pc1xx-r0d1: Ilho Lee + - PL330 DMA D/D changed. + + Modified files: + M arch/arm/plat-s3c/dma-pl330.c + M arch/arm/plat-s3c/dma-pl330-mcode.h + +v2.6.28-rc7-s5pc1xx-r0d2: Jongpill Lee + - System Timer support on SMDKC100 + + Added Files: + A arch/arm/plat-s5pc1xx/s5pc1xx-time.c + +v2.6.28-rc7-s5pc1xx-r0d3: Jongpill Lee + - System Timer bug fixed + + Modified Files: + M ChangeLog_s5pc1xx + M arch/arm/mach-s5pc100/cpu.c + M arch/arm/mach-s5pc100/include/mach/map.h + M arch/arm/mach-s5pc100/include/mach/tick.h + M arch/arm/mach-s5pc100/mach-smdkc100.c + M arch/arm/plat-s3c/Makefile + M arch/arm/plat-s3c/include/plat/map-base.h + M arch/arm/plat-s5pc1xx/Makefile + M arch/arm/plat-s5pc1xx/include/plat/regs-sys-timer.h + +v2.6.28-rc8-s5pc1xx: Kyoungil Kim + - s5pc1xx rc8 patch + +v2.6.28-rc8-s5pc1xx-r0d0: Kyoungil Kim + +v2.6.28-rc8-s5pc1xx-r0d1: Abhilash Kesavan + - S5PC100 NAND driver support + + Added Files: + A arch/arm/configs/smdkc100mtd_defconfig + + Modified Files: + M arch/arm/mach-s5pc100/include/mach/map.h + M arch/arm/mach-s5pc100/mach-smdkc100.c + M arch/arm/plat-s3c/Kconfig + M arch/arm/plat-s3c/include/plat/partition.h + M arch/arm/plat-s5pc1xx/devs.c + M drivers/mtd/nand/Kconfig + M drivers/mtd/nand/s3c_nand.c + +v2.6.28-rc8-s5pc1xx-r0d2: Jinsung Yang + - Fix for wrong comments + +v2.6.28-rc8-s5pc1xx-r0d3: Jinsung Yang + - Merge from s3c64xx branch + +v2.6.28-rc8-s5pc1xx-r0d4: Abhilash Kesavan + - Touch-up for Nand + + Modified Files: + M arch/arm/configs/smdkc100mtd_defconfig + M arch/arm/mach-s5pc100/mach-smdkc100.c + + +v2.6.28-rc8-s5pc1xx-r0d5: Abhilash Kesavan + - Support for HS-MMC and USB + + Added Files: + A arch/arm/mach-s5pc100/include/mach/usb-control.h + A arch/arm/mach-s5pc100/setup-sdhci.c + + Modified Files: + M arch/arm/configs/smdkc100mtd_defconfig + M arch/arm/configs/smdkc100nfs_defconfig + M arch/arm/mach-s5pc100/Kconfig + M arch/arm/mach-s5pc100/Makefile + M arch/arm/mach-s5pc100/cpu.c + M arch/arm/mach-s5pc100/include/mach/map.h + M arch/arm/mach-s5pc100/mach-smdkc100.c + M arch/arm/plat-s3c/include/plat/sdhci.h + M arch/arm/plat-s5pc1xx/devs.c + M arch/arm/plat-s5pc1xx/include/plat/regs-clock.h + M arch/arm/plat-s5pc1xx/include/plat/regs-sys.h + M drivers/mmc/host/Kconfig + M drivers/mmc/host/sdhci-s3c.c + M drivers/usb/Kconfig + M drivers/usb/gadget/Kconfig + M drivers/usb/gadget/f_rndis.c + M drivers/usb/gadget/s3c_udc_otg.c + M drivers/usb/host/ohci-hcd.c + M drivers/usb/host/ohci-s3c2410.c + +v2.6.28-rc8-s5pc1xx-r0d6: Ilho Lee + - Touchscreen D/D got enabled and PL330 S&G DMA operations supported. + + Modified Files: + M arch/arm/mach-s5pc100/mach-smdkc100.c + M arch/arm/plat-s3c/dma-pl330.c + +v2.6.28-rc8-s5pc1xx-r0d7: Abhilash Kesavan + - Support for HS-MMC for S5PC1XX (Completed) + + Added Files: + A drivers/mmc/host/s3c-hsmmc.c + A drivers/mmc/host/s3c-hsmmc.h + A arch/arm/plat-s5pc1xx/include/plat/regs-hsmmc.h + + Deleted Files: + D arch/arm/mach-s5pc100/setup-sdhci.c + + Modified Files: + M arch/arm/configs/smdkc100mtd_defconfig + M arch/arm/configs/smdkc100nfs_defconfig + M arch/arm/mach-s5pc100/Kconfig + M arch/arm/mach-s5pc100/Makefile + M arch/arm/mach-s5pc100/cpu.c + M arch/arm/mach-s5pc100/mach-smdkc100.c + M arch/arm/plat-s5pc1xx/devs.c + M drivers/mmc/host/Kconfig + M drivers/mmc/host/Makefile + +v2.6.28-rc8-s5pc1xx-r0d8: Jongpill Lee + - Bug fixed on clock + + Modified Files: + M arch/arm/plat-s3c/clock.c + +v2.6.28-rc8-s5pc1xx-r0d9: Abhilash Kesavan + - Support for ADC and PWM for S5PC100 + + Added Files: + A arch/arm/plat-s5pc1xx/adc.c + A arch/arm/plat-s5pc1xx/pwm-s5pc100.c + A arch/arm/plat-s5pc1xx/pwm-s5pc100.h + + Modified Files: + M arch/arm/configs/smdkc100mtd_defconfig + M arch/arm/configs/smdkc100nfs_defconfig + M arch/arm/mach-s5pc100/mach-smdkc100.c + M arch/arm/plat-s3c/Kconfig + M arch/arm/plat-s3c/include/plat/regs-timer.h + M arch/arm/plat-s5pc1xx/Kconfig + M arch/arm/plat-s5pc1xx/Makefile + M drivers/mmc/host/s3c-hsmmc.c + M drivers/video/samsung/s3cfb.h + M drivers/video/samsung/s3cfb_fimd5x.c + +v2.6.28-rc8-s5pc1xx-r1: Kyoungil Kim + - Internal Release(09.01.12) + +v2.6.28-rc8-s5pc1xx-v1: Kyoungil Kim + - Official Release(09.01.12) + +v2.6.28-rc8-s5pc1xx-r1d0: Kyoungil Kim + +v2.6.28-rc8-s5pc1xx-r1d1: JongPill Lee + - Support IDLE Function on S5PC100 + + Added Files: + A arch/arm/plat-s5pc1xx/include/plat/regs-power.h + + Modified Files: + M arch/arm/mach-s5pc100/cpu.c + M arch/arm/mach-s5pc100/include/mach/system.h + +v2.6.28-rc8-s5pc1xx-r1d2: Abhilash Kesavan + - Support OneNand on S5PC100 (I) + + Added Files: + A arch/arm/plat-s3c/include/plat/regs-onenand.h + + Modified Files: + M arch/arm/mach-s5pc100/mach-smdkc100.c + M arch/arm/mach-s5pc100/include/mach/map.h + M arch/arm/plat-s3c/include/plat/devs.h + M arch/arm/plat-s3c/include/plat/partition.h + M drivers/mtd/onenand/Makefile + M drivers/mtd/onenand/onenand_bbt.c + M drivers/mtd/onenand/s3c_onenand.c + M drivers/mtd/onenand/s3c_onenand.h + +v2.6.28-rc8-s5pc1xx-r1d3: Kyoungil Kim + - Support Keypad on S5PC100 + + Modified Files: + M arch/arm/configs/smdkc100_defconfig + M arch/arm/configs/smdkc100mtd_defconfig + M arch/arm/configs/smdkc100nfs_defconfig + M arch/arm/mach-s5pc100/include/mach/map.h + M arch/arm/mach-s5pc100/mach-smdkc100.c + M arch/arm/plat-s5pc1xx/clock.c + M arch/arm/plat-s5pc1xx/devs.c + M drivers/input/keyboard/Kconfig + M drivers/input/keyboard/s3c-keypad.h + +v2.6.28-rc8-s5pc1xx-r1d4: Abhilash Kesavan + - Support HS-SPI on S5PC100 + + Added Files: + A arch/arm/plat-s3c/include/plat/regs-spi.h + A drivers/spi/hspi-s3c.c + A drivers/spi/hspi-s3c.h + A drivers/spi/spi-dev.c + A drivers/spi/spi-dev.h + + Modified Files: + M arch/arm/mach-s5pc100/include/mach/map.h + M arch/arm/mach-s5pc100/mach-smdkc100.c + M arch/arm/plat-s5pc1xx/devs.c + M drivers/spi/Kconfig + M drivers/spi/Makefile + +v2.6.28-rc8-s5pc1xx-r1d5: Jongpill Lee + - Support APM on S5PC100 + + Added Files: + A arch/arm/plat-s5pc1xx/include/plat/pm.h + A arch/arm/plat-s5pc1xx/pm.c + A arch/arm/mach-s5pc100/pm.c + A arch/arm/plat-s5pc1xx/sleep.S + + Modified Files: + M arch/arm/mach-s5pc100/Makefile + M arch/arm/mach-s5pc100/include/mach/regs-irq.h + M arch/arm/mach-s5pc100/mach-smdkc100.c + M arch/arm/plat-s5pc1xx/Makefile + M arch/arm/plat-s5pc1xx/include/plat/regs-power.h + M arch/arm/plat-s5pc1xx/s5pc100-clock.c + M drivers/serial/s5pc100.c + M drivers/serial/samsung.c + M drivers/serial/samsung.h + M drivers/video/samsung/s3cfb_fimd5x.c + +v2.6.28-rc8-s5pc1xx-r1d6: Jongpill Lee + - Support RTC Wakeup from Sleep mode + + Modified Files: + M arch/arm/plat-s5pc1xx/pm.c + +v2.6.28-rc8-s5pc1xx-r1d7: PyoungJae Jung/Jiun Yu + - Support MFC driver + + Modified Files: + M arch/arm/mach-s5pc100/include/mach/map.h + M arch/arm/mach-s5pc100/mach-smdkc100.c + M arch/arm/plat-s3c/include/plat/devs.h + M arch/arm/plat-s5pc1xx/devs.c + +v2.6.28-rc8-s5pc1xx-r2: Kyoungil Kim + - Official Release(09.01.23) + +v2.6.28-rc8-s5pc1xx-r2d0: Kyoungil Kim + +v2.6.28-rc8-s5pc1xx-r2d1: Byungjae Lee + - Support CDC Ethernet and RNDIS + - for SMDKc100 UBS OTG Deive role on DMA mode + + Modified Files: + M arch/arm/mach-s5pc100/mach-smdkc100.c + M arch/arm/plat-s3c/include/plat/regs-otg.h + M drivers/usb/gadget/Kconfig + M drivers/usb/gadget/epautoconf.c + M drivers/usb/gadget/s3c_udc.h + M drivers/usb/gadget/s3c_udc_otg.c + M drivers/usb/gadget/u_ether.c + + Added Files: + A drivers/usb/gadget/s3c_udc_otg_xfer_dma.c + A drivers/usb/gadget/s3c_udc_otg_xfer_slave.c + + +v2.6.28-rc8-s5pc1xx-r2d2: Jinsung Yang + - S5PC100 FIMC Driver + - Compilable version + + Modified files: + M drivers/media/video/Kconfig + M drivers/media/video/Makefile + M include/linux/i2c-id.h + + Added files: + A arch/arm/plat-s5pc1xx/include/plat/fimc.h + A arch/arm/plat-s5pc1xx/include/plat/regs-fimc.h + A drivers/media/video/samsung/Kconfig + A drivers/media/video/samsung/Makefile + A drivers/media/video/samsung/s3c_fimc.h + A drivers/media/video/samsung/s3c_fimc4x_regs.c + A drivers/media/video/samsung/s3c_fimc_cfg.c + A drivers/media/video/samsung/s3c_fimc_core.c + A drivers/media/video/samsung/s3c_fimc_v4l2.c + A drivers/media/video/samsung/s5k4ba.c + A drivers/media/video/samsung/s5k4ba.h + +v2.6.28-rc8-s5pc1xx-r2d3: Jinsung Yang + - S5PC100 FIMC device setup support + + Modified files: + M arch/arm/mach-s5pc100/include/mach/map.h + M arch/arm/mach-s5pc100/mach-smdkc100.c + M arch/arm/plat-s3c/include/plat/devs.h + M arch/arm/plat-s5pc1xx/Kconfig + M arch/arm/plat-s5pc1xx/Makefile + + Added files: + A arch/arm/plat-s5pc1xx/dev-fimc0.c + A arch/arm/plat-s5pc1xx/dev-fimc1.c + A arch/arm/plat-s5pc1xx/dev-fimc2.c + A arch/arm/plat-s5pc1xx/setup-fimc0.c + A arch/arm/plat-s5pc1xx/setup-fimc1.c + A arch/arm/plat-s5pc1xx/setup-fimc2.c + +v2.6.28-rc8-s5pc1xx-r2d4: Kyoungil Kim + - modified otg_phy_init proto type + + Modified files: + M drivers/usb/gadget/s3c_udc_otg.c + +v2.6.28-rc8-s5pc1xx-r2d5: Hatim Ali + - S5PC100 Watchdog Timer support + + Modified files: + M arch/arm/configs/smdkc100nfs_defconfig + M arch/arm/mach-s5pc100/include/mach/map.h + M arch/arm/mach-s5pc100/mach-smdkc100.c + M arch/arm/plat-s5pc1xx/devs.c + M drivers/watchdog/Kconfig + +v2.6.28-rc8-s5pc1xx-r2d6: Abhilash Kesavan + - S5PC100 AC97 WM9713 support + + Modified files: + M arch/arm/mach-s5pc100/dma.c + M arch/arm/mach-s5pc100/include/mach/map.h + M arch/arm/mach-s5pc100/mach-smdkc100.c + M arch/arm/plat-s3c/include/plat/devs.h + M arch/arm/plat-s5pc1xx/devs.c + M sound/soc/codecs/wm9713.c + M sound/soc/s5pc1xx/Kconfig + M sound/soc/s5pc1xx/Makefile + + Added Files: + A sound/soc/s5pc1xx/s5pc1xx-ac97.c + A sound/soc/s5pc1xx/s5pc1xx-ac97.h + A sound/soc/s5pc1xx/smdkc100_wm9713.c + +v2.6.28-rc8-s5pc1xx-r2d7: Jinsung Yang + - S5PC100 FIMC driver + - Camera input and memory output support + - Both camera channels (A and B) support + - Preview and capture related functionalities support + - S5K3BA and S5K4BA module support + +v2.6.28-rc8-s5pc1xx-r2d8: Hatim Ali + - S5PC100 Notification LED support + + Modified files: + M arch/arm/Kconfig + M arch/arm/mach-s5pc100/Makefile + + Added Files: + A arch/arm/mach-s5pc100/leds-s5pc100.c + A arch/arm/mach-s5pc100/leds.c + A arch/arm/mach-s5pc100/leds.h + +v2.6.28-rc8-s5pc1xx-r2d9: Abhilash Kesavan + - Enabled LCD/OSD Support for S5PC100 + + Modified files: + M arch/arm/plat-s5pc1xx/devs.c + M drivers/video/samsung/s3cfb.h + M drivers/video/samsung/s3cfb_spi.c + +v2.6.28-rc8-s5pc1xx-r2d10: Jinsung Yang + - S5PC100 FIMC driver + - Alpha Release + - Camera input support + - Memory input support + - Memory output support + - LCD FIFO output support + - Both camera channels (A and B) support + - Preview and capture related functionalities support + - S5K3BA and S5K4BA module support + +v2.6.28.6-s5pc1xx: Kyoungil Kim + +v2.6.28.6-s5pc1xx-r0d0: Kyoungil Kim + +v2.6.28.6-s5pc1xx-r0d1: Abhilash Kesavan + - Pre-Beta Version + +v2.6.28.6-s5pc1xx-r0d2: Jinsung Yang + - FIMC support for SMDKC100 + - Including reserved memory feature with bootmem + - All functions have been finished on the planning except for 'Input Rotator' with LCD FIFO Output + + +v2.6.28.6-s5pc1xx-r0d3: Abhilash Kesavan + - IrDA support for S5PC100 + + Modified files: + M drivers/net/irda/s3c-sir.c + M include/net/irda/irda_device.h + +v2.6.28.6-s5pc1xx-r0d4: Jae-Cheol Lee + - Support CPUFREQ for SMDKC100 + - DFS is only enabled, not DVS. + + Modified files: + M arch/arm/plat-s5pc1xx/s5pc100-clock.c + M arch/arm/Kconfig + M arch/arm/plat-s5pc1xx/Makefile + M arch/arm/plat-s3c/clock.c + + Added files: + A arch/arm/plat-s5pc1xx/s5pc1xx-cpufreq.c + A arch/arm/plat-s5pc1xx/changediv.S + A arch/arm/plat-s5pc1xx/ltc3714.c + +v2.6.28.6-s5pc1xx-r0d5: Kukjin Kim + - System Timer Modified for EVT1 + + Modified files: + M arch/arm/plat-s5pc1xx/include/plat/regs-sys-timer.h + M arch/arm/plat-s5pc1xx/s5pc1xx-time.c + +v2.6.28.6-s5pc1xx-r0d6: Jonghun Han + - S5PC100 FIMG-2D driver support + Modified files: + M arch/arm/mach-s5pc100/include/mach/map.h + M arch/arm/mach-s5pc100/mach-smdkc100.c + M arch/arm/plat-s3c/include/plat/regs-g2d.h + M arch/arm/plat-s5pc1xx/devs.c + M drivers/media/video/samsung/g2d/Kconfig + M drivers/media/video/samsung/g2d/s3c_fimg2d2x.c + +v2.6.28.6-s5pc1xx-r0d7: Jae-Cheol Lee + - Support SMDKC100 EVT1 POP type (Onenand+mDDR+OneDRAM) + Modified files: + M arch/arm/configs/smdkc100onenand_defconfig + M arch/arm/plat-s5pc1xx/cpu.c + M arch/arm/plat-s5pc1xx/s5pc100-clock.c + +v2.6.28.6-s5pc1xx-r0d8: PyoungJae Jung/JiUn Yu + - Support MFC (FIMV) for s5pc100 + - MFC driver is Alpha version + - remove CMM support and support bootmem memory secure way + - change directory name to separate to S3C6410 MFC driver + + Added files: + A drivers/media/video/samsung/mfc40/command_control_fw.c + A drivers/media/video/samsung/mfc40/s3c_mfc_errorno.h + A drivers/media/video/samsung/mfc40/h263_dec_fw.c + A drivers/media/video/samsung/mfc40/s3c_mfc_fw.h + A drivers/media/video/samsung/mfc40/h264_dec_fw.c + A drivers/media/video/samsung/mfc40/s3c-mfc.h + A drivers/media/video/samsung/mfc40/h264_enc_fw.c + A drivers/media/video/samsung/mfc40/s3c_mfc_interface.h + A drivers/media/video/samsung/mfc40/Kconfig + A drivers/media/video/samsung/mfc40/s3c_mfc_intr.c + A drivers/media/video/samsung/mfc40/Makefile + A drivers/media/video/samsung/mfc40/s3c_mfc_intr.h + A drivers/media/video/samsung/mfc40/mp2_dec_fw.c + A drivers/media/video/samsung/mfc40/s3c_mfc_logmsg.c + A drivers/media/video/samsung/mfc40/mp4_dec_fw.c + A drivers/media/video/samsung/mfc40/s3c_mfc_logmsg.h + A drivers/media/video/samsung/mfc40/mp4_dec_order_fw.c + A drivers/media/video/samsung/mfc40/s3c_mfc_memory.c + A drivers/media/video/samsung/mfc40/mp4_enc_fw.c + A drivers/media/video/samsung/mfc40/s3c_mfc_memory.h + A drivers/media/video/samsung/mfc40/s3c_mfc_buffer_manager.c + A drivers/media/video/samsung/mfc40/s3c_mfc_opr.c + A drivers/media/video/samsung/mfc40/s3c_mfc_buffer_manager.h + A drivers/media/video/samsung/mfc40/s3c_mfc_opr.h + A drivers/media/video/samsung/mfc40/s3c-mfc.c + A drivers/media/video/samsung/mfc40/s3c_mfc_types.h + A drivers/media/video/samsung/mfc40/s3c_mfc_common.c + A drivers/media/video/samsung/mfc40/vc1_dec_fw.c + A drivers/media/video/samsung/mfc40/s3c_mfc_common.h + A arch/arm/plat-s5pc1xx/include/plat/regs-mfc.h + + + Modified files: + M arch/arm/mach-s5pc100/mach-smdkc100.c + +v2.6.28.6-s5pc1xx-r0d9: Jonghun Han + - S5PC100 FIMG-3D driver support + Modified files: + M arch/arm/plat-s3c/dma-pl330.c + M arch/arm/plat-s3c/include/mach/s3c-dma.h + M drivers/char/s3c_mem.c + M drivers/char/s3c_mem.h + M drivers/media/video/samsung/g3d/Kconfig + M drivers/media/video/samsung/g3d/s3c_fimg3d.h + +v2.6.28.6-s5pc1xx-r0d10: Seungchull Suh + - SMC9115 works correctly. Before, full-duplex mode is not set. + M drivers/net/smc911x.c + + +v2.6.28.6-s5pc1xx-r1: Kyoungil Kim + - Official Release(09.03.20) + +v2.6.28.6-s5pc1xx-r1d0: Kyoungil Kim + +v2.6.28.6-s5pc1xx-r1d1: Jaeryul Oh + - Support JPEG for s5pc100 + + Added files: + A drivers/media/video/samsung/jpeg_v2/jpg_mem.c + A drivers/media/video/samsung/jpeg_v2/jpg_misc.c + A drivers/media/video/samsung/jpeg_v2/s3c-jpeg.c + A drivers/media/video/samsung/jpeg_v2/jpg_opr.c + A drivers/media/video/samsung/jpeg_v2/log_msg.c + + A drivers/media/video/samsung/jpeg_v2/log_msg.h + A drivers/media/video/samsung/jpeg_v2/jpg_conf.h + A drivers/media/video/samsung/jpeg_v2/jpg_mem.h + A drivers/media/video/samsung/jpeg_v2/jpg_misc.h + A drivers/media/video/samsung/jpeg_v2/regs-jpeg.h + A drivers/media/video/samsung/jpeg_v2/s3c-jpeg.h + A drivers/media/video/samsung/jpeg_v2/jpg_opr.h + A drivers/media/video/samsung/jpeg_v2/Makefile + A drivers/media/video/samsung/jpeg_v2/Kconfig + + Modified files: + M arch/arm/mach-s5pc100/include/mach/map.h + M arch/arm/mach-s5pc100/mach-smdkc100.c + M arch/arm/plat-s5pc1xx/devs.c + M drivers/media/video/samsung/Kconfig + M drivers/media/video/samsung/Makefile + +v2.6.28.6-s5pc1xx-r1d2: Kyoungil Kim + - The last tag for s5pc1xx branch(09.03.24) + +current linux-2.6-samsung repository ChangeLog +----------------------------------------------------------------------- +v2.6.28.6-samsung: Kyoungil Kim + - Merge s3c64xx branch and s5pc1xx branch to master branch(09.03.24) + +v2.6.28.6-samsung-r0d0: Kyoungil Kim + +v2.6.28.6-samsung-r0d1: Kukjin Kim + - Remove swp file + + Removed Files: + R arch/arm/plat-s3c/include/plat/.cpu-freq.h.swp + +v2.6.28.6-samsung-r0d2: Kyoungil Kim + - Unified the ChangeLog files + + Modified Files: + M ChangeLog + + Deleted Files: + D ChangeLog_s3c64xx + D ChangeLog_s5pc1xx + +v2.6.28.6-samsung-r0d3: Kukjin Kim + - System Timer initialize modified + + Modified Files: + M arch/arm/plat-s5pc1xx/s5pc1xx-time.c + +v2.6.28.6-samsung-r0d4: Kukjin Kim + - System Timer init and setup function remodified + + Modified Files: + M arch/arm/plat-s5pc1xx/s5pc1xx-time.c + +v2.6.28.6-samsung-r0d5: Kukjin Kim + - Support extcsd revision 1.3 + + Modified Files: + M drivers/mmc/core/mmc.c + +v2.6.28.6-samsung-r0d6: Jaeryul Oh + - JPEG for c100 is updated + + Modified Files: + M drivers/media/video/samsung/Kconfig + M drivers/media/video/samsung/jpeg_v2/jpg_mem.h + M drivers/media/video/samsung/jpeg_v2/jpg_opr.c + M drivers/media/video/samsung/jpeg_v2/jpg_opr.h + M drivers/media/video/samsung/jpeg_v2/s3c-jpeg.c + M drivers/media/video/samsung/jpeg_v2/s3c-jpeg.h + +v2.6.28.6-samsung-r0d7: Jae-Cheol Lee + - Adopting system timer h/w bug workaround + + Modified files: + M arch/arm/plat-s5pc1xx/s5pc1xx-time.c + +v2.6.28.6-samsung-r0d8: Byungjae Lee + - Implemented OTG Host role for SMDKC100 + OTG Host role support only MassStorage and HID(Keyboard, Mouse) + + Modified Files: + M arch/arm/configs/smdkc100mtd_defconfig + M arch/arm/configs/smdkc100onenand_defconfig + M arch/arm/mach-s3c6410/mach-smdk6410.c + M arch/arm/mach-s5pc100/include/mach/map.h + M arch/arm/mach-s5pc100/mach-smdkc100.c + M arch/arm/plat-s5pc1xx/devs.c + M drivers/usb/host/Kconfig + M drivers/usb/host/s3c-otg/s3c-otg-hcdi-debug.h + M drivers/usb/host/s3c-otg/s3c-otg-hcdi-driver.c + M drivers/usb/host/s3c-otg/s3c-otg-hcdi-driver.h + M drivers/usb/host/s3c-otg/s3c-otg-hcdi-hcd.h + M drivers/usb/host/s3c-otg/s3c-otg-oci.c + M drivers/usb/host/s3c-otg/s3c-otg-oci.h + +v2.6.28.6-samsung-r0d9: Jonghun Han + - Support YUV422 Interleave output for FIMC + + Modified Files: + M drivers/media/video/samsung/fimc/s3c_fimc.h + M drivers/media/video/samsung/fimc/s3c_fimc3x_regs.c + M drivers/media/video/samsung/fimc/s3c_fimc_cfg.c + +v2.6.28.6-samsung-r0d10: Kyoungil Kim + - change the smc911 driver from full duplex to half duplex + + Modified Files: + M drivers/net/smc911x.c + +v2.6.28.6-samsung-r0d11: Jae-Cheol Lee + - Support SMDK6440 EVT0 board + + Modified Files: + M arch/arm/mach-s5p6440/mach-smdk6440.c + M arch/arm/plat-s5p64xx/include/plat/pll.h + +v2.6.28.6-samsung-r0d12: Kyoungil Kim + - Prevent for SMDKC100 MM IP + +v2.6.28.6-samsung-r0d13: Jae-Cheol Lee + - Fixed PLL calculation bug in MASK value + + Modified Files: + M arch/arm/plat-s3c64xx/include/plat/pll.h + M arch/arm/plat-s5pc1xx/include/plat/pll.h + +v2.6.28.6-samsung-r0d14: Byungjae Lee + - Implemented USB OTG Device role for SMDK6440 + + Modified Files: + M arch/arm/configs/smdk6440ramdisk_defconfig + M arch/arm/mach-s5p6440/mach-smdk6440.c + M arch/arm/plat-s3c/include/plat/regs-otg.h + M arch/arm/plat-s5p64xx/devs.c + M arch/arm/plat-s5p64xx/include/plat/regs-clock.h + M drivers/usb/gadget/Kconfig + M drivers/usb/gadget/s3c_udc.h + M drivers/usb/gadget/s3c_udc_otg.c + +v2.6.28.6-samsung-r0d15: Jongpill Lee + - Modify code for SPi + + Modified Files + M drivers/spi/hspi-s3c64xx.c + +v2.6.28.6-samsung-r1: Jaeryul Oh + - Official Release (09.04.06) + +v2.6.28.6-samsung-r1d0: Jae-Cheol Lee + - Modified default configuration for SMDK6440 + Modified Files: + M arch/arm/configs/smdk6440ramdisk_defconfig + +v2.6.28.6-samsung-r1d1: Jaeryul Oh + - MFC, JPEG suspend/resume related code for SMDK6410 changed + Modified Files : + M drivers/media/video/samsung/jpeg/jpg_mem.c + M drivers/media/video/samsung/jpeg/s3c-jpeg.c + M drivers/media/video/samsung/mfc10/s3c_mfc.c + +v2.6.28.6-samsung-r1d2: Jae-Cheol Lee + - Modified voltage regulator control code for SMDKC100 + Modified Files : + M arch/arm/plat-s5pc1xx/ltc3714.c + +v2.6.28.6-samsung-r1d3: Jae-Cheol Lee + - Support CHIPID for S5P6440 + Modified Files: + M arch/arm/plat-s5pc1xx/cpu.c + +v2.6.28.6-samsung-r1d4: Jiun Yu, PyoungJae Jung + - fixed cache issue in MFC driver + +v2.6.28.6-samsung-r1d5: Jae-Cheol Lee + - Change Console UART port 0 -> 1 for SMDK6440 + Modified Files: + M arch/arm/configs/smdk6440ramdisk_defconfig + +v2.6.28.6-samsung-r1d6: Byungjae Lee + - Fixed BUG USB OTG Device role for SMDK6440 and C100 + + Modified Files: + M drivers/usb/gadget/s3c_udc_otg.c + +v2.6.28.6-samsung-r1d7: Jongpill LEe + - Support RTC for S5P6440 + + Modified files: + M arch/arm/mach-s5p6440/include/mach/map.h + M arch/arm/mach-s5p6440/mach-smdk6440.c + M arch/arm/plat-s3c/include/plat/regs-rtc.h + M arch/arm/plat-s5p64xx/devs.c + M drivers/rtc/Kconfig + M drivers/rtc/rtc-s3c.c + +v2.6.28.6-samsung-r2: Kyoungil Kim + - Official Release for SMDK6410(09.04.09) + +v2.6.28.6-samsung-r2d0: Jongpill LEe + - Support Watchdog timer for S5P6440 + + Modified Files: + M arch/arm/mach-s5p6440/include/mach/map.h + M arch/arm/mach-s5p6440/mach-smdk6440.c + M arch/arm/plat-s5p64xx/devs.c + M drivers/rtc/rtc-s3c.c + M drivers/watchdog/Kconfig + +v2.6.28.6-samsung-r2d1: Jongpill Lee + - Support ADC Driver for S5P6440 + + Modified Files: + M arch/arm/mach-s5p6440/include/mach/map.h + M arch/arm/mach-s5p6440/mach-smdk6440.c + M arch/arm/plat-s3c64xx/adc.c + M arch/arm/plat-s5p64xx/Kconfig + M arch/arm/plat-s5p64xx/devs.c + +v2.6.28.6-samsung-r2d2: Jiun, Yu, PyoungJae Jung + - fixed cache issue in MFC1.0(6410) driver + + Modified Files : + M drivers/media/video/samsung/mfc10/s3c_mfc_set_config.c + +v2.6.28.6-samsung-r2d3: Jiun, Yu, PyoungJae Jung + - fixed cache issue in MFC1.0(6410) driver + - changed cache update way to dma_cache_maint + + Modified Files : + M drivers/media/video/samsung/mfc10/s3c_mfc_set_config.c + M drivers/media/video/samsung/mfc10/s3c_mfc.c + M drivers/media/video/samsung/mfc10/s3c_mfc_databuf.c + M drivers/media/video/samsung/mfc10/s3c_mfc_instance.c + M drivers/media/video/samsung/mfc10/s3c_mfc_set_config.c + +v2.6.28.6-samsung-r2d4: Jae-Cheol Lee + - Support DVFS on SMDK6440 board + + Modified Files : + M arch/arm/Kconfig + M arch/arm/plat-s5p64xx/Makefile + M arch/arm/plat-s5p64xx/clock.c + M arch/arm/plat-s5p64xx/ltc3714.c + M arch/arm/plat-s5p64xx/s5p64xx-cpufreq + +v2.6.28.6-samsung-r2d5: Jongpill Lee + - Modify some code for S5PC100 + + Modified Files : + M arch/arm/plat-s5pc1xx/include/plat/regs-clock.h + M arch/arm/plat-s5pc1xx/include/plat/regs-power.h + +v2.6.28.6-samsung-r2d6: Jae-Cheol Lee + - Support backlight class by PWM on SMDK6440 board + + Added Files : + A arch/arm/plat-s5p64xx/pwm.c + + Modified Files : + M arch/arm/configs/smdk6440ramdisk_defconfig + M arch/arm/mach-s5p6440/cpu.c + M arch/arm/mach-s5p6440/mach-smdk6440.c + M arch/arm/plat-s3c/include/plat/clock.h + M arch/arm/plat-s3c/pwm-clock.c + M arch/arm/plat-s5p64xx/Kconfig + M arch/arm/plat-s5p64xx/Makefile + M arch/arm/plat-s5p64xx/clock.c + M arch/arm/plat-s5p64xx/pwm.c + M drivers/video/samsung/s3cfb_fimd5x.c + +v2.6.28.6-samsung-r2d7: Jaeryul Oh + - MFC suspend/resume related code for SMDK6410 updated + Modified Files : + M drivers/media/video/samsung/mfc10/s3c_mfc.c + M drivers/media/video/samsung/mfc10/s3c_mfc_config.h + +v2.6.28.6-samsung-r2d8: Jinsung Yang + - The 1st phase of MIPI-CSI support + + Addes files: + A arch/arm/plat-s5pc1xx/dev-csis.c + A arch/arm/plat-s5pc1xx/include/plat/csis.h + A arch/arm/plat-s5pc1xx/include/plat/regs-csis.h + A arch/arm/plat-s5pc1xx/setup-csis.c + A drivers/media/video/samsung/fimc/s3c_csis.c + A drivers/media/video/samsung/fimc/s3c_csis.h + + Modified files: + M arch/arm/mach-s5pc100/include/mach/map.h + M arch/arm/mach-s5pc100/mach-smdkc100.c + M arch/arm/plat-s3c/include/plat/devs.h + M arch/arm/plat-s5pc1xx/Kconfig + M arch/arm/plat-s5pc1xx/Makefile + M arch/arm/plat-s5pc1xx/clock.c + M arch/arm/plat-s5pc1xx/include/plat/regs-clock.h + M drivers/media/video/samsung/fimc/Kconfig + M drivers/media/video/samsung/fimc/Makefile + M drivers/media/video/samsung/fimc/s3c_fimc.h + +v2.6.28.6-samsung-r2d9: Jongpill Lee + - Temporary support APM for S5P6440 + + Added Files: + A arch/arm/mach-s5p6440/pm.c + A arch/arm/plat-s5p64xx/include/plat/pm.h + A arch/arm/plat-s5p64xx/pm.c + A arch/arm/plat-s5p64xx/sleep.S + + Modified Files: + M arch/arm/mach-s5p6440/Makefile + M arch/arm/mach-s5p6440/include/mach/gpio.h + M arch/arm/mach-s5p6440/include/mach/regs-irq.h + M arch/arm/mach-s5p6440/mach-smdk6440.c + M arch/arm/plat-s5p64xx/Makefile + M arch/arm/plat-s5p64xx/include/plat/regs-gpio.h + M drivers/video/samsung/s3cfb_fimd5x.c + +v2.6.28.6-samsung-r2d10: Jae-Cheol Lee + - Support backlight class driver by PWM on SMDK6410 + + Added Files: + A arch/arm/plat-s3c64xx/pwm.c + + Modified Files: + M arch/arm/mach-s5p6440/include/mach/gpio.h + M arch/arm/mach-s3c6410/cpu.c + M arch/arm/mach-s3c6410/mach-smdk6410.c + M arch/arm/plat-s3c64xx/Kconfig + M arch/arm/plat-s3c64xx/Makefile + +v2.6.28.6-samsung-r2d11: jongpill Lee + - bug fix on GPIO for S5P6440 + + MOdified Files: + M arch/arm/mach-s5p6440/include/mach/gpio.h + +v2.6.28.6-samsung-r2d12: jongpill Lee + - APM Support for S5P6440 + + Modified Files: + M arch/arm/plat-s3c64xx/sleep.S + +v2.6.28.6-samsung-r2d13: Jae-Cheol Lee + - Support old style PWM driver for SMDK6410 + + Modified Files: + M arch/arm/plat-s3c64xx/Kconfig + M arch/arm/plat-s3c64xx/Makefile + M arch/arm/plat-s3c64xx/pwm-s3c6410.c + M arch/arm/plat-s3c64xx/pwm-s3c6410.h + M drivers/video/samsung/s3cfb_fimd4x.c + +v2.6.28.6-samsung-r2d14: Jongpill Lee + - Support reboot command + + Modified Files: + M arch/arm/mach-s3c6400/include/mach/system.h + M arch/arm/mach-s5p6440/include/mach/system.h + M arch/arm/plat-s3c/include/plat/regs-watchdog.h + +v2.6.28.6-samsung-r2d15: Jaeryul Oh + - MFC memory buffer size is changed + Modified Files : + M drivers/media/video/samsung/mfc10/s3c_mfc_config.h + +v2.6.28.6-samsung-r2d16: Abhilash Kesavan + - Support backlight class driver by PWM on SMDKC100 + + Added Files: + A arch/arm/plat-s5pc1xx/pwm.c + + Modified Files: + M arch/arm/mach-s5pc100/cpu.c + M arch/arm/mach-s5pc100/mach-smdkc100.c + M arch/arm/plat-s5pc1xx/Kconfig + M arch/arm/plat-s5pc1xx/Makefile + M arch/arm/plat-s3c/include/plat/clock.h + M drivers/video/samsung/s3cfb_fimd5x.c + M drivers/video/backlight/Kconfig + +v2.6.28.6-samsung-r2d17: Kyoungil Kim + - Modified full speed configuration for gadget + + Modified Files: + M arch/arm/mach-s5p6440/mach-smdk6440.c + M drivers/usb/gadget/s3c_udc_otg.c + M drivers/usb/gadget/s3c_udc_otg_xfer_dma.c + +v2.6.28.6-samsung-r3: Kyoungil Kim + - Official Release for SMDK6410(09.04.23) + +v2.6.28.6-samsung-r3d0: Kyoungil Kim + +v2.6.28.6-samsung-r3d1: Jaeryul Oh + - Clk name that MFC & JPEG (6410) uses is added + Modified Files : + M arch/arm/plat-s3c64xx/clock.c + M drivers/media/video/samsung/jpeg/s3c-jpeg.c + M drivers/media/video/samsung/mfc10/s3c_mfc.c + +v2.6.28.6-samsung-r3d2: Jae-Cheol Lee + - Fixed APM bug on SMDKC100 + Modified Files: + M arch/arm/plat-s5pc1xx/pm.c + M arch/arm/plat-s5pc1xx/sleep.S + M arch/arm/plat-s5pc1xx/s5pc1xx-time.c + M arch/arm/plat-s5pc1xx/include/plat/regs-clock.h + M arch/arm/plat-s5pc1xx/include/plat/regs-gpio.h + +v2.6.28.6-samsung-r3d3: Thomas Abraham + - Added PM support for USB device on C100. + Modified Files: + M drivers/usb/gadget/s3c_udc_otg.c + M drivers/usb/gadget/file_storage.c + +v2.6.28.6-samsung-r3d4: Jinsung Yang + - S5P6440 Post Processor Support + - Just compilable version + + Added files: + A arch/arm/plat-s5p64xx/bootmem.c + A arch/arm/plat-s5p64xx/dev-post.c + A arch/arm/plat-s5p64xx/include/plat/media.h + A arch/arm/plat-s5p64xx/include/plat/post.h + A arch/arm/plat-s5p64xx/include/plat/regs-post.h + A arch/arm/plat-s5p64xx/include/plat/regs-pp.h + A arch/arm/plat-s5p64xx/setup-post.c + A drivers/media/video/samsung/post/s3c_post.h + A drivers/media/video/samsung/post/s3c_post_cfg.c + A drivers/media/video/samsung/post/s3c_post_core.c + A drivers/media/video/samsung/post/s3c_post_regs.c + A drivers/media/video/samsung/post/s3c_post_v4l2.c + + Modified files: + M arch/arm/mach-s5p6440/include/mach/map.h + M arch/arm/plat-s5p64xx/Makefile + M arch/arm/plat-s5p64xx/clock.c + M drivers/media/video/samsung/Kconfig + M drivers/media/video/samsung/post/Kconfig + M drivers/media/video/samsung/post/Makefile + +v2.6.28.6-samsung-r3d5: Thomas Abraham + - Fixed PM bug in USB gadget. + Modified Files: + M drivers/usb/gadget/s3c_udc_otg.c + +v2.6.28.6-samsung-r3d6: Abhilash Kesavan + - Added PM defconfig (Base), Onenand Platform and Misc PM Fixes + Modified Files: + M drivers/mtd/onenand/generic.c + M drivers/mtd/onenand/s3c_onenand.c + M drivers/media/video/samsung/g3d/s3c_fimg3d.c + M sound/soc/codecs/wm9713.c + + Added File: + A arch/arm/configs/smdkc100pm_defconfig + +v2.6.28.6-samsung-r3d7: Jongpill Lee + - ADC bug fixed on SMDK6440 + + Modified Files: + + M arch/arm/plat-s5p64xx/adc.c + +v2.6.28.6-samsung-r3d8: Jae-Cheol Lee + - Support DFS on SMDK6440 + Modified Files: + M arch/arm/plat-s5p64xx/clock.c + +v2.6.28.6-samsung-r3d9: SungJun Bae + - merged with mfc branch v2.6.28.6-samsung-mfc-r0d0 + +v2.6.28.6-samsung-r3d10: Jongpill Lee + - Bug fixed on APM driver for S3C6410 + + MOdified Files: + M arch/arm/plat-s3c64xx/sleep.S + +v2.6.28.6-samsung-r4: Kyoungil Kim + - Official Release for SMDK6410, 6440, C100(09.04.30) + +v2.6.28.6-samsung-r4d0: Kyoungil Kim + +v2.6.28.6-samsung-r4d1: Jassi + - Addded SPI driver support for S3C6410 and S5P6440 acc to latest + Linux-SPI architecture + +v2.6.28.6-samsung-r5: Kyoungil Kim + - Official Release for SMDK6410, 6440, C100(09.04.30) diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/ChangeLog_mfc linux-2.6.28.6/ChangeLog_mfc --- linux-2.6.28/ChangeLog_mfc 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/ChangeLog_mfc 2009-04-30 09:36:36.000000000 +0200 @@ -0,0 +1,2069 @@ +previous samsung-ap-2.6 repository ChangeLog_s3c64xx for s3c64xx branch +----------------------------------------------------------------------- +rel-0-0-0 : Kwanghyun La (Nov.10.2008) + It's not fixed version , just only initial copy version for + estimation. + +dev-0-0-1 : Ilho Lee +dev-0-0-2 : Ilho Lee + Touchscreen D/D added, but Ethernet D/D is being adding. + +dev-0-0-3 : Jongpill Lee + Support ADC driver and merge adc-s3c64xx.c and adc-s3c24xx.c file + + Removed Files: + R A arch/arm/plat-s3c64xx/adc-s3c64xx.c + + Added Files: + A arch/arm/plat-s3c/adc.c + + Modified Files: + M arch/arm/mach-s3c6410/mach-smdk6410.c + M arch/arm/plat-s3c/Kconfig + M arch/arm/plat-s3c/Makefile + M arch/arm/plat-s3c/include/plat/adc.h + M drivers/char/Kconfig + +dev-0-0-4 : Jongpill Lee + Bug fixed on ADC driver + + Modified Files: + M arch/arm/plat-s3c/adc.c + +dev-0-0-5 : Ilho Lee + SMC9115 ethernet D/D is working(small_root only) + +dev-0-0-6: Jinsung Yang + - NAND driver support + + Added files: + A arch/arm/configs/smdk6410mtd_defconfig + A arch/arm/plat-s3c/include/plat/partition.h + A drivers/mtd/nand/s3c_nand.c + + Modified files: + M arch/arm/mach-s3c6400/include/mach/map.h + M arch/arm/mach-s3c6410/mach-smdk6410.c + M arch/arm/plat-s3c/Kconfig + M arch/arm/plat-s3c/include/plat/nand.h + M arch/arm/plat-s3c/include/plat/regs-nand.h + M arch/arm/plat-s3c64xx/devs.c + M drivers/mtd/nand/Kconfig + M drivers/mtd/nand/Makefile + +dev-0-0-7: Sungjun Bae + - I2S WM8580, I2SWM8990 Complete. + + Modified Files: + M arch/arm/configs/smdk6410mtd_defconfig arch/arm/configs/smdk6410nfs_defconfig + M arch/arm/plat-s3c64xx/include/plat/gpio-bank-d.h + M arch/arm/plat-s3c64xx/include/plat/regs-clock.h include/sound/soc.h + M sound/soc/soc-core.c sound/soc/codecs/wm8580.c sound/soc/codecs/wm8990.c + +dev-0-0-8: Sungjun Bae + - DMA File Structure was changed. + + Modified Files: + M arch/arm/plat-s3c/Makefile + M arch/arm/plat-s3c/include/mach/s3c-dma.h + M arch/arm/plat-s3c64xx/Makefile + Added Files: + A arch/arm/plat-s3c/dma-pl080.c + Removed Files: + R arch/arm/plat-s3c64xx/dma-pl080.c + +dev-0-0-9: Ilho Lee + - PL330 DMA D/D file added + + Modified Files: + M arch/arm/plat-s3c/Makefile + M arch/arm/plat-s3c/Kconfig + + Added Files: + A arch/arm/plat-s3c/dma-pl330.c + A arch/arm/plat-s3c/dma-pl330-microcode.c + + +dev-0-0-10: eyryu + - Add SMDKC100 initial. + +dev-0-0-11: Ilho Lee + - DMA definition files changed + + Modified Files: + M arch/arm/mach-s3c6410/dma.c + M arch/arm/mach-s5pc100/dma.c + +dev-0-0-12: Jinsung Yang + - gpiolib support for s5pc1xx architecture + + Modified files: + M arch/arm/plat-s5pc1xx/include/plat/regs-gpio.h + M arch/arm/mach-s5pc100/include/mach/gpio.h + M arch/arm/plat-s3c/gpio-config.c + M arch/arm/plat-s3c/include/plat/gpio-cfg-helpers.h + + Added files: + A arch/arm/plat-s5pc1xx/gpiolib.c + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-a0.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-a1.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-b.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-c.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-d.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-e0.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-e1.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-f0.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-f1.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-f2.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-f3.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-g0.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-g1.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-g2.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-g3.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-h0.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-h1.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-h2.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-h3.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-i.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-j0.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-j1.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-j2.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-j3.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-j4.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-k0.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-k1.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-k2.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-k3.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-mp00.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-mp01.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-mp02.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-mp03.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-mp04.h + +dev-0-0-13: eyryu + - Add SMDKC100 clock & serial + +dev-0-0-14: Ilho Lee + - ADC D/D added + + Added Files: + A arch/arm/plat-s3c24xx/adc.c + A arch/arm/plat-s3c64xx/adc.c + +dev-0-0-15: eyryu + - Support SMDKC100 UART driver + - Add SMDKC100 clock & serial + +rel-1-0-0: Kyoungil Kim + - Official Release (08.11.27) + +dev-1-0-0: Kyoungil Kim + +dev-1-0-1: Ilho Lee + - CPU idle added + + Added Files: + A arch/arm/mach-s3c6400/idle.h + A arch/arm/mach-s5pc100/idle.h + + Modified Files: + M arch/arm/mach-s3c6410/cpu.c + M arch/arm/mach-s5pc100/cpu.c + +dev-1-0-2: Ilho Lee + - S3C24XX -> S3C changed in the S3C DMA D/D. + + Modified Files: + M arch/arm/mach-s3c6410/dma.c + M arch/arm/mach-s5pc100/dma.c + M arch/arm/plat-s3c/dma-pl080.c + M arch/arm/plat-s3c/dma-pl330.c + M arch/arm/plat-s3c/include/plat/s3c-dma.h + +dev-1-0-3: Ilho Lee + - PL330 DMA D/D is adding.. + + Modified Files: + M arch/arm/plat-s3c/dma-pl330.c + M arch/arm/plat-s3c/dma-pl330-mcode.h + M arch/arm/plat-s3c/include/mach/s3c-dma.h + +dev-1-0-4: Byungjae Lee + - Support File Storage Gadget for SMDK6410 HS USB OTG + + Modified Files: + M arch/arm/mach-s3c6400/include/mach/map.h + M arch/arm/mach-s3c6410/cpu.c + M arch/arm/mach-s3c6410/mach-smdk6410.c + M arch/arm/plat-s3c64xx/devs.c + M arch/arm/plat-s3c64xx/include/plat/regs-clock.h + M drivers/usb/gadget/Kconfig + M drivers/usb/gadget/Makefile + M drivers/usb/gadget/epautoconf.c + M drivers/usb/gadget/gadget_chips.h + + Added Files: + A arch/arm/plat-s3c/include/plat/regs-otg.h + A drivers/usb/gadget/s3c_udc.h + A drivers/usb/gadget/s3c_udc_otg.c + +dev-1-0-5: Ilho Lee + - S3C touchscreen D/D changed. + + Modified Files: + M drivers/input/touchscreen/s3c-ts.c + +dev-1-0-6: Jinsung Yang + - Clock system support for S5PC100 + + Modified files: + M arch/arm/plat-s3c/clock.c + M arch/arm/plat-s3c/include/plat/clock.h + M arch/arm/plat-s5pc1xx/clock.c + M arch/arm/plat-s5pc1xx/s5pc100-clock.c + M arch/arm/plat-s5pc1xx/include/plat/pll.h + M arch/arm/plat-s5pc1xx/include/plat/regs-clock.h + +dev-1-0-7: Jinsung Yang + - LCD (LTE480WV) support for SMDKC100 + + Modified files: + drivers/video/samsung/s5pfb_fimd5x.c + +dev-1-0-8: Byungjae Lee + - Masked HCLK for USB OTG at register clocks + + Modified files: + M arch/arm/plat-s3c64xx/clock.c + M drivers/usb/gadget/s3c_udc_otg.c + +dev-1-0-9: Ilho Lee + - Ext-interrupts handlers added. + + Added Files: + A arch/arm/plat-s5pc1xx/irq-eint.c + +dev-1-0-10: Ilho Lee + - SMC9115 ethernet(100Mbps) D/D ported. + + Added Files: + A arch/arm/plat-s5pc1xx/irq-eint.c + +dev-1-0-11: Ilho Lee + - dev-adc.c deleted. + + Deleted Files: + D arch/arm/plat-s3c/dev-adc.c + +rel-1-0-1: Kyoungil Kim + - Git Release (08.12.09) + +v2.6.28-rc7-s3c64xx-r0d0: Kyoungil Kim + - s3c64xx rc7 initial git tag + +v2.6.28-rc8-s3c64xx: Kyoungil Kim + - s3c64xx rc8 patch + +v2.6.28-rc8-s3c64xx-r0d0: Kyoungil Kim + +v2.6.28-rc8-s3c64xx-r0d1: Jinsung Yang + - Fix for wrong comments + +v2.6.28-rc8-s3c64xx-r0d2: Jongpill Lee + + - bug fixed about OS Timer + + Modified Files: + M arch/arm/mach-s3c6410/mach-smdk6410.c + M arch/arm/plat-s3c/include/plat/cpu.h + M arch/arm/plat-s3c/include/plat/regs-timer.h + M arch/arm/plat-s3c/time.c + M arch/arm/plat-s3c24xx/include/plat/cpu.h + +v2.6.28-rc8-s3c64xx-r0d3: Jongpill Lee + - Remove adc driver on s3c24xx + Modified Files: + M arch/arm/plat-s3c24xx/Kconfig + M arch/arm/plat-s3c24xx/Makefile + Deleted Files: + D arch/arm/plat-s3c24xx/adc.c + +v2.6.28-rc8-s3c64xx-r0d4: Jinsung Yang + - 24 bit logo display support + - s3c framebuffer driver naming rule changes + + Modified files: + M drivers/video/cfbimgblt.c + M drivers/video/samsung/s3cfb.c + M drivers/video/samsung/s3cfb.h + M drivers/video/samsung/s3cfb_fimd4x.c + M drivers/video/samsung/s3cfb_fimd5x.c + M drivers/video/samsung/s3cfb_lte480wv.c + M drivers/video/samsung/s3cfb_lts222qv.c + M drivers/video/samsung/s3cfb_ltv350qv.c + M drivers/video/samsung/s3cfb_spi.c + +v2.6.28-rc8-s3c64xx-r0d5: Jongpill Lee + -Support cpu freq on smdk6410 + + Added Files: + A arch/arm/plat-s3c64xx/s3c64xx-cpufreq.carch/arm/plat-s3c64xx/s3c64xx-cpufreq.c + Modified Files: + M arch/arm/Kconfig + M arch/arm/plat-s3c/clock.c + M arch/arm/plat-s3c64xx/Makefile + +v2.6.28-rc8-s3c64xx-r0d6: Kyoungil Kim + - split plat-s5p64xx, mach-s5p6440 + - Support for s5p6440 serial + + Added Files + A arch/arm/configs/smdk6440ramdisk_defconfig + A arch/arm/mach-s5p6440/Kconfig + A arch/arm/mach-s5p6440/Makefile.boot + A arch/arm/mach-s5p6440/cpu.c + A arch/arm/mach-s5p6440/dma.c + A arch/arm/mach-s5p6440/include/mach/debug-macro.S + A arch/arm/mach-s5p6440/include/mach/dma.h + A arch/arm/mach-s5p6440/include/mach/entry-macro.S + A arch/arm/mach-s5p6440/include/mach/gpio-core.h + A arch/arm/mach-s5p6440/include/mach/gpio.h + A arch/arm/mach-s5p6440/include/mach/hardware.h + A arch/arm/mach-s5p6440/include/mach/idle.h + A arch/arm/mach-s5p6440/include/mach/irqs.h + A arch/arm/mach-s5p6440/include/mach/map.h + A arch/arm/mach-s5p6440/include/mach/memory.h + A arch/arm/mach-s5p6440/include/mach/regs-irq.h + A arch/arm/mach-s5p6440/include/mach/regs-mem.h + A arch/arm/mach-s5p6440/include/mach/system.h + A arch/arm/mach-s5p6440/include/mach/tick.h + A arch/arm/mach-s5p6440/include/mach/uncompress.h + A arch/arm/mach-s5p6440/mach-smdk6440.c + A arch/arm/mach-s5p6440/setup-sdhci.c + A arch/arm/plat-s5p64xx/Kconfig + A arch/arm/plat-s5p64xx/Makefile + A arch/arm/plat-s5p64xx/adc.c + A arch/arm/plat-s5p64xx/clock.c + A arch/arm/plat-s5p64xx/cpu.c + A arch/arm/plat-s5p64xx/dev-uart.c + A arch/arm/plat-s5p64xx/devs.c + A arch/arm/plat-s5p64xx/gpiolib.c + A arch/arm/plat-s5p64xx/include/plat/dma.h + A arch/arm/plat-s5p64xx/include/plat/gpio-bank-a.h + A arch/arm/plat-s5p64xx/include/plat/gpio-bank-b.h + A arch/arm/plat-s5p64xx/include/plat/gpio-bank-c.h + A arch/arm/plat-s5p64xx/include/plat/gpio-bank-f.h + A arch/arm/plat-s5p64xx/include/plat/gpio-bank-g.h + A arch/arm/plat-s5p64xx/include/plat/gpio-bank-h.h + A arch/arm/plat-s5p64xx/include/plat/gpio-bank-i.h + A arch/arm/plat-s5p64xx/include/plat/gpio-bank-j.h + A arch/arm/plat-s5p64xx/include/plat/gpio-bank-n.h + A arch/arm/plat-s5p64xx/include/plat/gpio-bank-p.h + A arch/arm/plat-s5p64xx/include/plat/gpio-bank-r.h + A arch/arm/plat-s5p64xx/include/plat/irqs.h + A arch/arm/plat-s5p64xx/include/plat/pll.h + A arch/arm/plat-s5p64xx/include/plat/regs-clock.h + A arch/arm/plat-s5p64xx/include/plat/regs-gpio.h + A arch/arm/plat-s5p64xx/include/plat/regs-sys.h + A arch/arm/plat-s5p64xx/include/plat/s5p6440.h + A arch/arm/plat-s5p64xx/irq-eint.c + A arch/arm/plat-s5p64xx/irq.c + A arch/arm/plat-s5p64xx/s5p6440-clock.c + A arch/arm/plat-s5p64xx/s5p6440-init.c + A arch/arm/plat-s5p64xx/setup-i2c0.c + A arch/arm/plat-s5p64xx/setup-i2c1.c + Modified Files + M arch/arm/Kconfig + M arch/arm/Makefile + M arch/arm/mach-s5p6440/Makefile + M arch/arm/mm/Kconfig + M arch/arm/plat-s3c/Kconfig + M arch/arm/plat-s3c/include/plat/clock.h + M arch/arm/plat-s3c/include/plat/cpu.h + M arch/arm/plat-s3c/include/plat/devs.h + M arch/arm/plat-s3c/include/plat/regs-lcd.h + M arch/arm/tools/mach-types + M drivers/i2c/busses/Kconfig + M drivers/input/touchscreen/Kconfig + M drivers/mtd/nand/Kconfig + M drivers/serial/Kconfig + M drivers/video/Kconfig + M drivers/video/samsung/Makefile + M drivers/video/samsung/s3cfb.h + M drivers/video/samsung/s3cfb_spi.c + +v2.6.28-rc8-s3c64xx-r0d7: Ilho Lee + - ASYN/SYN mode select added. + + Modified Files: + M arch/arm/plat-s3c64xx/include/plat/regs-clock.h + M arch/arm/plat-s3c64xx/s3c6400-clock.c + +v2.6.28-rc8-s3c64xx-r0d8: Kyoungil Kim + - Support for FPGA6440 lcd + + Modified Files: + M arch/arm/mach-s5p6440/include/mach/gpio.h + M drivers/video/samsung/s3cfb_fimd5x.c + M drivers/video/samsung/s3cfb_lts222qv.c + M drivers/video/samsung/s3cfb_spi.c + +v2.6.28-rc8-s3c64xx-r0d9: Jongpill Lee + - Support APM on SMDK6410 + + Modified Files: + M arch/arm/configs/smdk6410mtd_defconfig + M arch/arm/mach-s3c6400/include/mach/regs-irq.h + M arch/arm/mach-s3c6410/Makefile + M arch/arm/mach-s3c6410/mach-smdk6410.c + M arch/arm/plat-s3c/Makefile + M arch/arm/plat-s3c/include/plat/regs-serial.h + M arch/arm/plat-s3c64xx/Makefile + M arch/arm/plat-s3c64xx/include/plat/gpio-bank-k.h + M arch/arm/plat-s3c64xx/include/plat/gpio-bank-l.h + M arch/arm/plat-s3c64xx/include/plat/regs-gpio.h + M arch/arm/plat-s3c64xx/irq.c + M drivers/video/samsung/s3cfb_fimd4x.c + Added Files: + A arch/arm/mach-s3c6410/irq.c + A arch/arm/mach-s3c6410/pm.c + A arch/arm/plat-s3c64xx/include/plat/gpio-bank-m.h + A arch/arm/plat-s3c64xx/include/plat/pm.h + A arch/arm/plat-s3c64xx/pm.c + A arch/arm/plat-s3c64xx/sleep.S + +v2.6.28-rc8-s3c64xx-r0d10: Jongpill Lee + - Support RTC on SMDK6410 + + MOdified Files: + M arch/arm/mach-s3c2410/include/mach/map.h + M arch/arm/mach-s3c6400/include/mach/map.h + M arch/arm/mach-s3c6410/mach-smdk6410.c + M arch/arm/plat-s3c/include/plat/regs-rtc.h + M arch/arm/plat-s3c64xx/devs.c + M arch/arm/plat-s3c64xx/include/plat/pm.h + M drivers/rtc/Kconfig + M drivers/rtc/rtc-s3c.c + +v2.6.28-rc8-s3c64xx-r0d11: Kyoungil Kim + - Keypad Driver for SMDK6410 + + Modified Files: + M arch/arm/configs/smdk6410mtd_defconfig + M arch/arm/configs/smdk6410nfs_defconfig + M arch/arm/configs/smdk6410ramdisk_defconfig + M arch/arm/mach-s3c6400/include/mach/map.h + M arch/arm/mach-s3c6410/mach-smdk6410.c + M arch/arm/plat-s3c/gpio-config.c + M arch/arm/plat-s3c/include/plat/devs.h + M arch/arm/plat-s3c64xx/clock.c + M arch/arm/plat-s3c64xx/devs.c + M arch/arm/plat-s3c64xx/include/plat/gpio-bank-k.h + M arch/arm/plat-s3c64xx/include/plat/gpio-bank-l.h + M drivers/input/keyboard/Kconfig + M drivers/input/keyboard/Makefile + M drivers/input/touchscreen/s3c-ts.c + Added Files: + A arch/arm/plat-s3c64xx/include/plat/regs-keypad.h + A drivers/input/keyboard/s3c-keypad.c + A drivers/input/keyboard/s3c-keypad.h + +v2.6.28-rc8-s3c64xx-r0d12: Jongpill Lee + - Support HS-SPI on SMDK6410 + + Added Files: + A arch/arm/plat-s3c64xx/include/plat/regs-spi.h + A drivers/spi/hspi-s3c64xx.c + A drivers/spi/hspi-s3c64xx.h + A drivers/spi/spi-dev.c + A drivers/spi/spi-dev.h + + Modified Files: + M arch/arm/mach-s3c6400/include/mach/map.h + M arch/arm/mach-s3c6410/mach-smdk6410.c + M drivers/rtc/rtc-s3c.c + M drivers/spi/Kconfig + M drivers/spi/Makefile + +v2.6.28-rc8-s3c64xx-r0d13: Ilho Lee + - Support HS-MMC on SMDK6410 + +v2.6.28-rc8-s3c64xx-r0d14: Jongpill Lee + - bug fiex on PM Driver + + Modified Files: + M arch/arm/configs/smdk6410mtd_defconfig + M arch/arm/plat-s3c64xx/sleep.S + +v2.6.28-rc8-s3c64xx-r0d15: Kyoungil Kim + - Support USB host on SMDK6410 + + Modifiled Files: + M arch/arm/configs/smdk6410mtd_defconfig + M arch/arm/configs/smdk6410nfs_defconfig + M arch/arm/configs/smdk6410onenand_defconfig + M arch/arm/configs/smdk6410ramdisk_defconfig + M arch/arm/mach-s3c6400/include/mach/map.h + M arch/arm/mach-s3c6410/mach-smdk6410.c + M arch/arm/mach-s5p6440/mach-smdk6440.c + M arch/arm/plat-s3c/include/plat/partition.h + M arch/arm/plat-s3c64xx/devs.c + M drivers/usb/Kconfig + M drivers/usb/gadget/s3c_udc_otg.c + M drivers/usb/host/ohci-hcd.c + M drivers/usb/host/ohci-s3c2410.c + Added Files: + A arch/arm/mach-s3c6400/include/mach/usb-control.h + +v2.6.28-rc8-s3c64xx-r0d16: Jongpill Lee + - Support DVS on CPUFREQ Driver + + Added Files: + A arch/arm/plat-s3c64xx/ltc3714.c + Modified Files: + M arch/arm/plat-s3c/clock.c + M arch/arm/plat-s3c64xx/Makefile + M arch/arm/plat-s3c64xx/s3c64xx-cpufreq.c + +v2.6.28-rc8-s3c64xx-r0d17: Byungjae Lee + - Support Ethernet gadget and RNDIS for SMDK6410 + + Modifiled Files: + M arch/arm/configs/smdk6410mtd_defconfig + M arch/arm/mach-s3c6410/mach-smdk6410.c + M drivers/usb/gadget/Kconfig + M drivers/usb/gadget/epautoconf.c + M drivers/usb/gadget/f_rndis.c + M drivers/usb/gadget/s3c_udc.h + M drivers/usb/gadget/s3c_udc_otg.c + M drivers/usb/gadget/u_ether.c + Added Files: + A drivers/usb/gadget/s3c_udc_otg_xfer_dma.c + A drivers/usb/gadget/s3c_udc_otg_xfer_slave.c + +v2.6.28-rc8-s3c64xx-r0d18: Jongpill Lee + - Remove warning message + + Modified Files: + M arch/arm/mach-s3c6410/mach-smdk6410.c + M arch/arm/mach-s3c6410/pm.c + M arch/arm/plat-s3c/clock.c + M arch/arm/plat-s3c64xx/clock.c + M arch/arm/plat-s3c64xx/include/plat/pm.h + M arch/arm/plat-s3c64xx/irq.c + M arch/arm/plat-s3c64xx/ltc3714.c + M arch/arm/plat-s3c64xx/pm.c + M arch/arm/plat-s3c64xx/s3c64xx-cpufreq.c + M drivers/rtc/rtc-s3c.c + M drivers/spi/hspi-s3c64xx.c + +v2.6.28-rc8-s3c64xx-r0d19: Kyoungil Kim + - Support Watchdog on SMDK6410 + + Modified Files: + M arch/arm/configs/smdk6410mtd_defconfig + M arch/arm/configs/smdk6410nfs_defconfig + M arch/arm/configs/smdk6410onenand_defconfig + M arch/arm/configs/smdk6410ramdisk_defconfig + M arch/arm/mach-s3c6400/include/mach/map.h + M arch/arm/mach-s3c6410/mach-smdk6410.c + M arch/arm/plat-s3c64xx/devs.c + M drivers/watchdog/Kconfig + +v2.6.28-rc8-s3c64xx-r0d20: Ryu Euiyoul + - Support S5M8751 on SMDK6410 + + Modified Files: + M sound/soc/codecs/Kconfig + M sound/soc/codecs/Makefile + M sound/soc/s3c64xx/Kconfig + M sound/soc/s3c64xx/Makefile + + Added Files: + A sound/soc/codecs/s5m8751.c + A sound/soc/codecs/s5m8751.h + A sound/soc/s3c64xx/smdk6410_s5m8751.c + A arch/arm/configs/smdk6410rf_defconfig + +v2.6.28-rc8-s3c64xx-r0d21: SungJun Bae + - Support wm8580 on VEGA-L FPGA (Draft) + + Modified Files: + M arch/arm/configs/smdk6440ramdisk_defconfig + M arch/arm/mach-s5p6440/dma.c + M arch/arm/mach-s5p6440/mach-smdk6440.c + M arch/arm/plat-s3c/dma-pl080.c + M sound/soc/s3c64xx/Kconfig + M sound/soc/s3c64xx/Makefile + M sound/soc/s3c64xx/s3c-i2s.h + M sound/soc/s3c64xx/s3c-pcm.c + M sound/soc/s3c64xx/s3c6410-i2s-v40.c + + Added Files: + A sound/soc/s3c64xx/s5p6440-i2s-v40.c + A sound/soc/s3c64xx/smdk6440_wm8580.c + +v2.6.28.6-s3c64xx: Kyoungil Kim + +v2.6.28.6-s3c64xx-r0d0: Kyoungil Kim + +v2.6.28.6-s3c64xx-r0d1: SungJun Bae + - Support Post Processor on SMDK6410 + + Modified Files: + M ChangeLog_s3c64xx + M arch/arm/mach-s3c6400/include/mach/map.h + M arch/arm/mach-s3c6410/mach-smdk6410.c + M arch/arm/plat-s3c/include/plat/devs.h + M arch/arm/plat-s3c/include/plat/regs-lcd.h + M arch/arm/plat-s3c64xx/devs.c + M drivers/media/video/Kconfig + M drivers/media/video/Makefile + + Added Files: + A arch/arm/plat-s3c/include/plat/regs-pp.h + A arch/arm/plat-s3c/include/plat/reserved_mem.h + A drivers/media/video/samsung/post/Kconfig + A drivers/media/video/samsung/post/Makefile + A drivers/media/video/samsung/post/s3c_pp.h + A drivers/media/video/samsung/post/s3c_pp_6400.c + A drivers/media/video/samsung/post/s3c_pp_common.c + A drivers/media/video/samsung/post/s3c_pp_common.h + +v2.6.28.6-s3c64xx-r0d2: SungJun Bae + - Support TV encoder,scaler on SMDK6410 + + Modified Files: + M arch/arm/mach-s3c6400/include/mach/map.h + M arch/arm/mach-s3c6410/mach-smdk6410.c + M arch/arm/plat-s3c/include/plat/devs.h + M arch/arm/plat-s3c64xx/devs.c + M drivers/media/video/Kconfig + M drivers/media/video/Makefile + M drivers/media/video/samsung/Kconfig + M drivers/media/video/samsung/post/s3c_pp_6400.c + M drivers/media/video/v4l2-dev.c + M include/media/v4l2-dev.h + + Added Files: + A arch/arm/plat-s3c/include/plat/regs-tvenc.h + A arch/arm/plat-s3c/include/plat/regs-tvscaler.h + A drivers/media/video/samsung/tv/Kconfig + A drivers/media/video/samsung/tv/Makefile + A drivers/media/video/samsung/tv/s3c-tvenc.c + A drivers/media/video/samsung/tv/s3c-tvenc.h + A drivers/media/video/samsung/tv/s3c-tvscaler.c + A drivers/media/video/samsung/tv/s3c-tvscaler.h +v2.6.28.6-s3c64xx-r0d3: Jaeryul Oh + - Support JPEG, roator on SMDK6410 + + Modified Files : + M arch/arm/mach-s3c6400/include/mach/map.h + M arch/arm/mach-s3c6410/mach-smdk6410.c + M arch/arm/plat-s3c/include/plat/devs.h + M arch/arm/plat-s3c64xx/devs.c + M drivers/media/video/samsung/Kconfig + M drivers/media/video/samsung/Makefile + + Added Files: + A drivers/media/video/samsung/jpeg/Kconfig + A drivers/media/video/samsung/jpeg/Makefile + A drivers/media/video/samsung/jpeg/jpg_conf.h + A drivers/media/video/samsung/jpeg/jpg_mem.c + A drivers/media/video/samsung/jpeg/jpg_mem.h + A drivers/media/video/samsung/jpeg/jpg_misc.c + A drivers/media/video/samsung/jpeg/jpg_misc.h + A drivers/media/video/samsung/jpeg/jpg_opr.c + A drivers/media/video/samsung/jpeg/jpg_opr.h + A drivers/media/video/samsung/jpeg/log_msg.c + A drivers/media/video/samsung/jpeg/log_msg.h + A drivers/media/video/samsung/jpeg/s3c-jpeg.c + A drivers/media/video/samsung/jpeg/s3c-jpeg.h + A drivers/media/video/samsung/rotator/Kconfig + A drivers/media/video/samsung/rotator/Makefile + A drivers/media/video/samsung/rotator/regs-rotator.h + A drivers/media/video/samsung/rotator/s3c_rotator.c + A drivers/media/video/samsung/rotator/s3c_rotator_common.h + +v2.6.28.6-s3c64xx-r0d4: Jinsung Yang + - FIMC support for SMDK6410 + - Including reserved memory feature with bootmem + - All functions have been finished on the planning + +v2.6.28.6-s3c64xx-r0d5: SungJun Bae + - bootmem applied to post and tv. + M drivers/media/video/samsung/post/s3c_pp_6400.c + M drivers/media/video/samsung/tv/s3c-tvscaler.h + +v2.6.28.6-s3c64xx-r0d6: PyoungJae Jung, Jiun Yu + - MFC support for SMDK6410 + - It support bootmem for large buffer memory + - Changed coding style to linux kernel coding style + - Bug fixed in Hybrid DiVX encoding problem + + Modified Files: + M arch/arm/mach-s3c6400/include/mach/map.h + M arch/arm/mach-s3c6410/mach-smdk6410.c + M arch/arm/plat-s3c/include/plat/devs.h + M arch/arm/plat-s3c64xx/devs.c + M arch/arm/plat-s3c64xx/include/plat/media.h + M drivers/media/video/samsung/Kconfig + M drivers/media/video/samsung/Makefile + + Added Files: + A arch/arm/plat-s3c64xx/include/plat/regs-mfc.h + A drivers/media/video/samsung/mfc/Kconfig + A drivers/media/video/samsung/mfc/Makefile + A drivers/media/video/samsung/mfc/prism_s.h + A drivers/media/video/samsung/mfc/prism_s_v137.c + A drivers/media/video/samsung/mfc/s3c_mfc.c + A drivers/media/video/samsung/mfc/s3c_mfc.h + A drivers/media/video/samsung/mfc/s3c_mfc_base.h + A drivers/media/video/samsung/mfc/s3c_mfc_bitproc_buf.c + A drivers/media/video/samsung/mfc/s3c_mfc_bitproc_buf.h + A drivers/media/video/samsung/mfc/s3c_mfc_config.h + A drivers/media/video/samsung/mfc/s3c_mfc_databuf.c + A drivers/media/video/samsung/mfc/s3c_mfc_databuf.h + A drivers/media/video/samsung/mfc/s3c_mfc_hw_init.c + A drivers/media/video/samsung/mfc/s3c_mfc_hw_init.h + A drivers/media/video/samsung/mfc/s3c_mfc_inst_pool.c + A drivers/media/video/samsung/mfc/s3c_mfc_inst_pool.h + A drivers/media/video/samsung/mfc/s3c_mfc_instance.c + A drivers/media/video/samsung/mfc/s3c_mfc_instance.h + A drivers/media/video/samsung/mfc/s3c_mfc_intr_noti.h + A drivers/media/video/samsung/mfc/s3c_mfc_params.h + A drivers/media/video/samsung/mfc/s3c_mfc_set_config.c + A drivers/media/video/samsung/mfc/s3c_mfc_sfr.c + A drivers/media/video/samsung/mfc/s3c_mfc_sfr.h + A drivers/media/video/samsung/mfc/s3c_mfc_types.h + A drivers/media/video/samsung/mfc/s3c_mfc_yuv_buf_manager.c + A drivers/media/video/samsung/mfc/s3c_mfc_yuv_buf_manager.h + +v2.6.28.6-s3c64xx-r0d7: Kyoungil Kim + - Just Prevent tag for SMDK6410 + +v2.6.28.6-s3c64xx-r0d8: Jaeryul Oh + - Fixed Bug in case of dynamic fps change of MPEG4 encoding + + Modified Files: + M drivers/media/video/samsung/mfc/s3c_mfc_instance.h + M drivers/media/video/samsung/mfc/s3c_mfc_instance.c + +v2.6.28.6-s3c64xx-r0d9: Jonghun Han + - S3C6410 FIMG-2D driver support + + Added Files: + drivers/media/video/samsung/g2d/Kconfig + drivers/media/video/samsung/g2d/Makefile + drivers/media/video/samsung/g2d/s3c_fimg2d2x.c + drivers/media/video/samsung/g2d/s3c_fimg2d2x.h + arch/arm/plat-s3c/include/plat/regs-g2d.h + + Modified Files: + arch/arm/configs/smdk6410mtd_defconfig + arch/arm/configs/smdk6410nfs_defconfig + arch/arm/configs/smdk6410onenand_defconfig + arch/arm/configs/smdk6410ramdisk_defconfig + arch/arm/mach-s3c6400/include/mach/map.h + arch/arm/mach-s3c6410/mach-smdk6410.c + arch/arm/plat-s3c/include/plat/devs.h + arch/arm/plat-s3c64xx/devs.c + drivers/media/video/samsung/Kconfig + drivers/media/video/samsung/Makefile + drivers/video/samsung/s3cfb.c + drivers/video/samsung/s3cfb_fimd4x.c + +v2.6.28.6-s3c64xx-r1: Jonghun Han + - Official Release (09.03.06) + +v2.6.28.6-s3c64xx-r1d0: Kyoungil Kim + +v2.6.28.6-s3c64xx-r1d1 : Byungjae Lee + - implemented s3c6410 OTG host role for Mass storage only + + Modified Files: + M arch/arm/mach-s3c6410/mach-smdk6410.c + M arch/arm/plat-s3c/include/plat/devs.h + M arch/arm/plat-s3c64xx/devs.c + M drivers/usb/Makefile + M drivers/usb/host/Kconfig + M drivers/usb/host/Makefile + + Added Files: + A drivers/usb/host/s3c-otg/* + +v2.6.28.6-s3c64xx-r1d2 : Byungjae Lee + - implemented s3c6410 OTG host role for HID(Keyboard, Mouse) + and Card Reader + + Modified Files: + M drivers/usb/host/s3c-otg/s3c-otg-hcdi-driver.c + M drivers/usb/host/s3c-otg/s3c-otg-hcdi-hcd.c + M drivers/usb/host/s3c-otg/s3c-otg-hcdi-kal.h + M drivers/usb/host/s3c-otg/s3c-otg-scheduler-ischeduler.c + M drivers/usb/host/s3c-otg/s3c-otg-scheduler-scheduler.h + M drivers/usb/host/s3c-otg/s3c-otg-transfer-common.c + M drivers/usb/host/s3c-otg/s3c-otg-transferchecker-common.c + +v2.6.28.6-s3c64xx-r1d3 : Jongpill Lee + - defect is fixed on cpufreq driver + + Modified Files: + M arch/arm/plat-s3c64xx/clock.c + +v2.6.28.6-s3c64xx-r1d4 : Jongpill Lee + - defect is fixed on pm + + MOdified Fils: + M arch/arm/plat-s3c64xx/pm.c + +v2.6.28.6-s3c64xx-r1d5: Kyoungil Kim + - Just Second Prevent tag for SMDK6410 + +v2.6.28.6-s3c64xx-r1d6 : Jonghun Han + - update S3C6410 FIMG-2D driver + + Modified Fils: + M arch/arm/plat-s3c/include/plat/regs-g2d.h + M drivers/media/video/samsung/g2d/s3c_fimg2d2x.c + +v2.6.28.6-s3c64xx-r2: Kyoungil Kim + - Official Release (09.03.09) + +v2.6.28.6-s3c64xx-r2d0: Kyoungil Kim + +v2.6.28.6-s3c64xx-r2d1: Jaeryul Oh + - Fixed Bug in case of rotator function of MFC + + Modified Files: + M drivers/media/video/samsung/mfc/s3c_mfc_instance.c + +v2.6.28.6-s3c64xx-r2d2: Jonghun Han + - S3C6410 FIMG-3D driver support + + Modified Files: + M arch/arm/mach-s3c6400/include/mach/map.h + M arch/arm/mach-s3c6410/mach-smdk6410.c + M arch/arm/plat-s3c/include/plat/devs.h + M arch/arm/plat-s3c64xx/devs.c + M drivers/char/s3c_mem.c + M drivers/media/video/samsung/Kconfig + M drivers/media/video/samsung/Makefile + M drivers/media/video/samsung/g2d/s3c_fimg2d2x.c + + Added Files: + A drivers/media/video/samsung/g3d/Kconfig + A drivers/media/video/samsung/g3d/Makefile + A drivers/media/video/samsung/g3d/s3c_fimg3d.c + A drivers/media/video/samsung/g3d/s3c_fimg3d.h + +v2.6.28.6-s3c64xx-r2d3: Jonghun Han + - S5PC100 FIMG-2D driver support + + Modified Files: + M drivers/media/video/samsung/g2d/Kconfig + M drivers/media/video/samsung/g2d/s3c_fimg2d2x.c + +v2.6.28.6-s3c64xx-r3: Kyoungil Kim + - Official Release (09.03.13) + +v2.6.28.6-s3c64xx-r3d0: Kyoungil Kim + +v2.6.28.6-s3c64xx-r3d1: Byungae Lee + - Support SMDK6410 USB Serial Gadget (with CDC ACM) + + Modified Files: + M arch/arm/plat-s3c/include/plat/regs-otg.h + M drivers/usb/gadget/s3c_udc_otg.c + M drivers/usb/gadget/s3c_udc_otg_xfer_dma.c + M drivers/usb/gadget/s3c_udc_otg_xfer_slave.c + +v2.6.28.6-s3c64xx-r3d2: Byungae Lee + - Removed warning on the debug message for the USB Gadget + + Modified Files: + M drivers/usb/gadget/s3c_udc_otg.c + M drivers/usb/gadget/s3c_udc_otg_xfer_dma.c + +v2.6.28.6-s3c64xx-r3d3: SungJun Bae + - Support CMM driver. + + Added Files: + A drivers/media/video/samsung/cmm/CMMMisc.c + A drivers/media/video/samsung/cmm/CMMMisc.h + A drivers/media/video/samsung/cmm/Kconfig + A drivers/media/video/samsung/cmm/LogMsg.c + A drivers/media/video/samsung/cmm/LogMsg.h + A drivers/media/video/samsung/cmm/Makefile + A drivers/media/video/samsung/cmm/s3c-cmm.c + A drivers/media/video/samsung/cmm/s3c-cmm.h + + Modified Files: + M drivers/media/video/samsung/Kconfig + M drivers/media/video/samsung/Makefile + + +v2.6.28.6-s3c64xx-r4: Jonghun Han + - Official Release (09.03.24) + +v2.6.28.6-s3c64xx-r4d0: Jonghun Han + +v2.6.28.6-s3c64xx-r4d1: Kyoungil Kim + - The last tag for s3c64xx branch(09.03.24) + +rel-0-0-0 : Kwanghyun La (Nov.10.2008) + It's not fixed version , just only initial copy version for + estimation. + +previous samsung-ap-2.6 repository ChangeLog_s5pc1xx for s5pc1xx branch +----------------------------------------------------------------------- +dev-0-0-1 : Ilho Lee +dev-0-0-2 : Ilho Lee + Touchscreen D/D added, but Ethernet D/D is being adding. + +dev-0-0-3 : Jongpill Lee + Support ADC driver and merge adc-s3c64xx.c and adc-s3c24xx.c file + + Removed Files: + R A arch/arm/plat-s3c64xx/adc-s3c64xx.c + + Added Files: + A arch/arm/plat-s3c/adc.c + + Modified Files: + M arch/arm/mach-s3c6410/mach-smdk6410.c + M arch/arm/plat-s3c/Kconfig + M arch/arm/plat-s3c/Makefile + M arch/arm/plat-s3c/include/plat/adc.h + M drivers/char/Kconfig + +dev-0-0-4 : Jongpill Lee + Bug fixed on ADC driver + + Modified Files: + M arch/arm/plat-s3c/adc.c + +dev-0-0-5 : Ilho Lee + SMC9115 ethernet D/D is working(small_root only) + +dev-0-0-6: Jinsung Yang + - NAND driver support + + Added files: + A arch/arm/configs/smdk6410mtd_defconfig + A arch/arm/plat-s3c/include/plat/partition.h + A drivers/mtd/nand/s3c_nand.c + + Modified files: + M arch/arm/mach-s3c6400/include/mach/map.h + M arch/arm/mach-s3c6410/mach-smdk6410.c + M arch/arm/plat-s3c/Kconfig + M arch/arm/plat-s3c/include/plat/nand.h + M arch/arm/plat-s3c/include/plat/regs-nand.h + M arch/arm/plat-s3c64xx/devs.c + M drivers/mtd/nand/Kconfig + M drivers/mtd/nand/Makefile + +dev-0-0-7: Sungjun Bae + - I2S WM8580, I2SWM8990 Complete. + + Modified Files: + M arch/arm/configs/smdk6410mtd_defconfig arch/arm/configs/smdk6410nfs_defconfig + M arch/arm/plat-s3c64xx/include/plat/gpio-bank-d.h + M arch/arm/plat-s3c64xx/include/plat/regs-clock.h include/sound/soc.h + M sound/soc/soc-core.c sound/soc/codecs/wm8580.c sound/soc/codecs/wm8990.c + +dev-0-0-8: Sungjun Bae + - DMA File Structure was changed. + + Modified Files: + M arch/arm/plat-s3c/Makefile + M arch/arm/plat-s3c/include/mach/s3c-dma.h + M arch/arm/plat-s3c64xx/Makefile + Added Files: + A arch/arm/plat-s3c/dma-pl080.c + Removed Files: + R arch/arm/plat-s3c64xx/dma-pl080.c + +dev-0-0-9: Ilho Lee + - PL330 DMA D/D file added + + Modified Files: + M arch/arm/plat-s3c/Makefile + M arch/arm/plat-s3c/Kconfig + + Added Files: + A arch/arm/plat-s3c/dma-pl330.c + A arch/arm/plat-s3c/dma-pl330-microcode.c + + +dev-0-0-10: eyryu + - Add SMDKC100 initial. + +dev-0-0-11: Ilho Lee + - DMA definition files changed + + Modified Files: + M arch/arm/mach-s3c6410/dma.c + M arch/arm/mach-s5pc100/dma.c + +dev-0-0-12: Jinsung Yang + - gpiolib support for s5pc1xx architecture + + Modified files: + M arch/arm/plat-s5pc1xx/include/plat/regs-gpio.h + M arch/arm/mach-s5pc100/include/mach/gpio.h + M arch/arm/plat-s3c/gpio-config.c + M arch/arm/plat-s3c/include/plat/gpio-cfg-helpers.h + + Added files: + A arch/arm/plat-s5pc1xx/gpiolib.c + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-a0.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-a1.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-b.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-c.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-d.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-e0.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-e1.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-f0.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-f1.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-f2.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-f3.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-g0.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-g1.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-g2.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-g3.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-h0.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-h1.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-h2.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-h3.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-i.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-j0.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-j1.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-j2.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-j3.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-j4.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-k0.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-k1.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-k2.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-k3.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-mp00.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-mp01.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-mp02.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-mp03.h + A arch/arm/plat-s5pc1xx/include/plat/gpio-bank-mp04.h + +dev-0-0-13: eyryu + - Add SMDKC100 clock & serial + +dev-0-0-14: Ilho Lee + - ADC D/D added + + Added Files: + A arch/arm/plat-s3c24xx/adc.c + A arch/arm/plat-s3c64xx/adc.c + +dev-0-0-15: eyryu + - Support SMDKC100 UART driver + - Add SMDKC100 clock & serial + +rel-1-0-0: Kyoungil Kim + - Official Release (08.11.27) + +dev-1-0-0: Kyoungil Kim + +dev-1-0-1: Ilho Lee + - CPU idle added + + Added Files: + A arch/arm/mach-s3c6400/idle.h + A arch/arm/mach-s5pc100/idle.h + + Modified Files: + M arch/arm/mach-s3c6410/cpu.c + M arch/arm/mach-s5pc100/cpu.c + +dev-1-0-2: Ilho Lee + - S3C24XX -> S3C changed in the S3C DMA D/D. + + Modified Files: + M arch/arm/mach-s3c6410/dma.c + M arch/arm/mach-s5pc100/dma.c + M arch/arm/plat-s3c/dma-pl080.c + M arch/arm/plat-s3c/dma-pl330.c + M arch/arm/plat-s3c/include/plat/s3c-dma.h + +dev-1-0-3: Ilho Lee + - PL330 DMA D/D is adding.. + + Modified Files: + M arch/arm/plat-s3c/dma-pl330.c + M arch/arm/plat-s3c/dma-pl330-mcode.h + M arch/arm/plat-s3c/include/mach/s3c-dma.h + +dev-1-0-4: Byungjae Lee + - Support File Storage Gadget for SMDK6410 HS USB OTG + + Modified Files: + M arch/arm/mach-s3c6400/include/mach/map.h + M arch/arm/mach-s3c6410/cpu.c + M arch/arm/mach-s3c6410/mach-smdk6410.c + M arch/arm/plat-s3c64xx/devs.c + M arch/arm/plat-s3c64xx/include/plat/regs-clock.h + M drivers/usb/gadget/Kconfig + M drivers/usb/gadget/Makefile + M drivers/usb/gadget/epautoconf.c + M drivers/usb/gadget/gadget_chips.h + + Added Files: + A arch/arm/plat-s3c/include/plat/regs-otg.h + A drivers/usb/gadget/s3c_udc.h + A drivers/usb/gadget/s3c_udc_otg.c + +dev-1-0-5: Ilho Lee + - S3C touchscreen D/D changed. + + Modified Files: + M drivers/input/touchscreen/s3c-ts.c + +dev-1-0-6: Jinsung Yang + - Clock system support for S5PC100 + + Modified files: + M arch/arm/plat-s3c/clock.c + M arch/arm/plat-s3c/include/plat/clock.h + M arch/arm/plat-s5pc1xx/clock.c + M arch/arm/plat-s5pc1xx/s5pc100-clock.c + M arch/arm/plat-s5pc1xx/include/plat/pll.h + M arch/arm/plat-s5pc1xx/include/plat/regs-clock.h + +dev-1-0-7: Jinsung Yang + - LCD (LTE480WV) support for SMDKC100 + + Modified files: + drivers/video/samsung/s5pfb_fimd5x.c + +dev-1-0-8: Byungjae Lee + - Masked HCLK for USB OTG at register clocks + + Modified files: + M arch/arm/plat-s3c64xx/clock.c + M drivers/usb/gadget/s3c_udc_otg.c + +dev-1-0-9: Ilho Lee + - Ext-interrupts handlers added. + + Added Files: + A arch/arm/plat-s5pc1xx/irq-eint.c + +dev-1-0-10: Ilho Lee + - SMC9115 ethernet(100Mbps) D/D ported. + + Added Files: + A arch/arm/plat-s5pc1xx/irq-eint.c + +dev-1-0-11: Ilho Lee + - dev-adc.c deleted. + + Deleted Files: + D arch/arm/plat-s3c/dev-adc.c + +rel-1-0-1: Kyoungil Kim + - Git Release (08.12.09) + +v2.6.28-rc7-s5pc1xx-r0d0: Kyoungil Kim + - s5pc1xx rc7 initial git tag + +v2.6.28-rc7-s5pc1xx-r0d1: Ilho Lee + - PL330 DMA D/D changed. + + Modified files: + M arch/arm/plat-s3c/dma-pl330.c + M arch/arm/plat-s3c/dma-pl330-mcode.h + +v2.6.28-rc7-s5pc1xx-r0d2: Jongpill Lee + - System Timer support on SMDKC100 + + Added Files: + A arch/arm/plat-s5pc1xx/s5pc1xx-time.c + +v2.6.28-rc7-s5pc1xx-r0d3: Jongpill Lee + - System Timer bug fixed + + Modified Files: + M ChangeLog_s5pc1xx + M arch/arm/mach-s5pc100/cpu.c + M arch/arm/mach-s5pc100/include/mach/map.h + M arch/arm/mach-s5pc100/include/mach/tick.h + M arch/arm/mach-s5pc100/mach-smdkc100.c + M arch/arm/plat-s3c/Makefile + M arch/arm/plat-s3c/include/plat/map-base.h + M arch/arm/plat-s5pc1xx/Makefile + M arch/arm/plat-s5pc1xx/include/plat/regs-sys-timer.h + +v2.6.28-rc8-s5pc1xx: Kyoungil Kim + - s5pc1xx rc8 patch + +v2.6.28-rc8-s5pc1xx-r0d0: Kyoungil Kim + +v2.6.28-rc8-s5pc1xx-r0d1: Abhilash Kesavan + - S5PC100 NAND driver support + + Added Files: + A arch/arm/configs/smdkc100mtd_defconfig + + Modified Files: + M arch/arm/mach-s5pc100/include/mach/map.h + M arch/arm/mach-s5pc100/mach-smdkc100.c + M arch/arm/plat-s3c/Kconfig + M arch/arm/plat-s3c/include/plat/partition.h + M arch/arm/plat-s5pc1xx/devs.c + M drivers/mtd/nand/Kconfig + M drivers/mtd/nand/s3c_nand.c + +v2.6.28-rc8-s5pc1xx-r0d2: Jinsung Yang + - Fix for wrong comments + +v2.6.28-rc8-s5pc1xx-r0d3: Jinsung Yang + - Merge from s3c64xx branch + +v2.6.28-rc8-s5pc1xx-r0d4: Abhilash Kesavan + - Touch-up for Nand + + Modified Files: + M arch/arm/configs/smdkc100mtd_defconfig + M arch/arm/mach-s5pc100/mach-smdkc100.c + + +v2.6.28-rc8-s5pc1xx-r0d5: Abhilash Kesavan + - Support for HS-MMC and USB + + Added Files: + A arch/arm/mach-s5pc100/include/mach/usb-control.h + A arch/arm/mach-s5pc100/setup-sdhci.c + + Modified Files: + M arch/arm/configs/smdkc100mtd_defconfig + M arch/arm/configs/smdkc100nfs_defconfig + M arch/arm/mach-s5pc100/Kconfig + M arch/arm/mach-s5pc100/Makefile + M arch/arm/mach-s5pc100/cpu.c + M arch/arm/mach-s5pc100/include/mach/map.h + M arch/arm/mach-s5pc100/mach-smdkc100.c + M arch/arm/plat-s3c/include/plat/sdhci.h + M arch/arm/plat-s5pc1xx/devs.c + M arch/arm/plat-s5pc1xx/include/plat/regs-clock.h + M arch/arm/plat-s5pc1xx/include/plat/regs-sys.h + M drivers/mmc/host/Kconfig + M drivers/mmc/host/sdhci-s3c.c + M drivers/usb/Kconfig + M drivers/usb/gadget/Kconfig + M drivers/usb/gadget/f_rndis.c + M drivers/usb/gadget/s3c_udc_otg.c + M drivers/usb/host/ohci-hcd.c + M drivers/usb/host/ohci-s3c2410.c + +v2.6.28-rc8-s5pc1xx-r0d6: Ilho Lee + - Touchscreen D/D got enabled and PL330 S&G DMA operations supported. + + Modified Files: + M arch/arm/mach-s5pc100/mach-smdkc100.c + M arch/arm/plat-s3c/dma-pl330.c + +v2.6.28-rc8-s5pc1xx-r0d7: Abhilash Kesavan + - Support for HS-MMC for S5PC1XX (Completed) + + Added Files: + A drivers/mmc/host/s3c-hsmmc.c + A drivers/mmc/host/s3c-hsmmc.h + A arch/arm/plat-s5pc1xx/include/plat/regs-hsmmc.h + + Deleted Files: + D arch/arm/mach-s5pc100/setup-sdhci.c + + Modified Files: + M arch/arm/configs/smdkc100mtd_defconfig + M arch/arm/configs/smdkc100nfs_defconfig + M arch/arm/mach-s5pc100/Kconfig + M arch/arm/mach-s5pc100/Makefile + M arch/arm/mach-s5pc100/cpu.c + M arch/arm/mach-s5pc100/mach-smdkc100.c + M arch/arm/plat-s5pc1xx/devs.c + M drivers/mmc/host/Kconfig + M drivers/mmc/host/Makefile + +v2.6.28-rc8-s5pc1xx-r0d8: Jongpill Lee + - Bug fixed on clock + + Modified Files: + M arch/arm/plat-s3c/clock.c + +v2.6.28-rc8-s5pc1xx-r0d9: Abhilash Kesavan + - Support for ADC and PWM for S5PC100 + + Added Files: + A arch/arm/plat-s5pc1xx/adc.c + A arch/arm/plat-s5pc1xx/pwm-s5pc100.c + A arch/arm/plat-s5pc1xx/pwm-s5pc100.h + + Modified Files: + M arch/arm/configs/smdkc100mtd_defconfig + M arch/arm/configs/smdkc100nfs_defconfig + M arch/arm/mach-s5pc100/mach-smdkc100.c + M arch/arm/plat-s3c/Kconfig + M arch/arm/plat-s3c/include/plat/regs-timer.h + M arch/arm/plat-s5pc1xx/Kconfig + M arch/arm/plat-s5pc1xx/Makefile + M drivers/mmc/host/s3c-hsmmc.c + M drivers/video/samsung/s3cfb.h + M drivers/video/samsung/s3cfb_fimd5x.c + +v2.6.28-rc8-s5pc1xx-r1: Kyoungil Kim + - Internal Release(09.01.12) + +v2.6.28-rc8-s5pc1xx-v1: Kyoungil Kim + - Official Release(09.01.12) + +v2.6.28-rc8-s5pc1xx-r1d0: Kyoungil Kim + +v2.6.28-rc8-s5pc1xx-r1d1: JongPill Lee + - Support IDLE Function on S5PC100 + + Added Files: + A arch/arm/plat-s5pc1xx/include/plat/regs-power.h + + Modified Files: + M arch/arm/mach-s5pc100/cpu.c + M arch/arm/mach-s5pc100/include/mach/system.h + +v2.6.28-rc8-s5pc1xx-r1d2: Abhilash Kesavan + - Support OneNand on S5PC100 (I) + + Added Files: + A arch/arm/plat-s3c/include/plat/regs-onenand.h + + Modified Files: + M arch/arm/mach-s5pc100/mach-smdkc100.c + M arch/arm/mach-s5pc100/include/mach/map.h + M arch/arm/plat-s3c/include/plat/devs.h + M arch/arm/plat-s3c/include/plat/partition.h + M drivers/mtd/onenand/Makefile + M drivers/mtd/onenand/onenand_bbt.c + M drivers/mtd/onenand/s3c_onenand.c + M drivers/mtd/onenand/s3c_onenand.h + +v2.6.28-rc8-s5pc1xx-r1d3: Kyoungil Kim + - Support Keypad on S5PC100 + + Modified Files: + M arch/arm/configs/smdkc100_defconfig + M arch/arm/configs/smdkc100mtd_defconfig + M arch/arm/configs/smdkc100nfs_defconfig + M arch/arm/mach-s5pc100/include/mach/map.h + M arch/arm/mach-s5pc100/mach-smdkc100.c + M arch/arm/plat-s5pc1xx/clock.c + M arch/arm/plat-s5pc1xx/devs.c + M drivers/input/keyboard/Kconfig + M drivers/input/keyboard/s3c-keypad.h + +v2.6.28-rc8-s5pc1xx-r1d4: Abhilash Kesavan + - Support HS-SPI on S5PC100 + + Added Files: + A arch/arm/plat-s3c/include/plat/regs-spi.h + A drivers/spi/hspi-s3c.c + A drivers/spi/hspi-s3c.h + A drivers/spi/spi-dev.c + A drivers/spi/spi-dev.h + + Modified Files: + M arch/arm/mach-s5pc100/include/mach/map.h + M arch/arm/mach-s5pc100/mach-smdkc100.c + M arch/arm/plat-s5pc1xx/devs.c + M drivers/spi/Kconfig + M drivers/spi/Makefile + +v2.6.28-rc8-s5pc1xx-r1d5: Jongpill Lee + - Support APM on S5PC100 + + Added Files: + A arch/arm/plat-s5pc1xx/include/plat/pm.h + A arch/arm/plat-s5pc1xx/pm.c + A arch/arm/mach-s5pc100/pm.c + A arch/arm/plat-s5pc1xx/sleep.S + + Modified Files: + M arch/arm/mach-s5pc100/Makefile + M arch/arm/mach-s5pc100/include/mach/regs-irq.h + M arch/arm/mach-s5pc100/mach-smdkc100.c + M arch/arm/plat-s5pc1xx/Makefile + M arch/arm/plat-s5pc1xx/include/plat/regs-power.h + M arch/arm/plat-s5pc1xx/s5pc100-clock.c + M drivers/serial/s5pc100.c + M drivers/serial/samsung.c + M drivers/serial/samsung.h + M drivers/video/samsung/s3cfb_fimd5x.c + +v2.6.28-rc8-s5pc1xx-r1d6: Jongpill Lee + - Support RTC Wakeup from Sleep mode + + Modified Files: + M arch/arm/plat-s5pc1xx/pm.c + +v2.6.28-rc8-s5pc1xx-r1d7: PyoungJae Jung/Jiun Yu + - Support MFC driver + + Modified Files: + M arch/arm/mach-s5pc100/include/mach/map.h + M arch/arm/mach-s5pc100/mach-smdkc100.c + M arch/arm/plat-s3c/include/plat/devs.h + M arch/arm/plat-s5pc1xx/devs.c + +v2.6.28-rc8-s5pc1xx-r2: Kyoungil Kim + - Official Release(09.01.23) + +v2.6.28-rc8-s5pc1xx-r2d0: Kyoungil Kim + +v2.6.28-rc8-s5pc1xx-r2d1: Byungjae Lee + - Support CDC Ethernet and RNDIS + - for SMDKc100 UBS OTG Deive role on DMA mode + + Modified Files: + M arch/arm/mach-s5pc100/mach-smdkc100.c + M arch/arm/plat-s3c/include/plat/regs-otg.h + M drivers/usb/gadget/Kconfig + M drivers/usb/gadget/epautoconf.c + M drivers/usb/gadget/s3c_udc.h + M drivers/usb/gadget/s3c_udc_otg.c + M drivers/usb/gadget/u_ether.c + + Added Files: + A drivers/usb/gadget/s3c_udc_otg_xfer_dma.c + A drivers/usb/gadget/s3c_udc_otg_xfer_slave.c + + +v2.6.28-rc8-s5pc1xx-r2d2: Jinsung Yang + - S5PC100 FIMC Driver + - Compilable version + + Modified files: + M drivers/media/video/Kconfig + M drivers/media/video/Makefile + M include/linux/i2c-id.h + + Added files: + A arch/arm/plat-s5pc1xx/include/plat/fimc.h + A arch/arm/plat-s5pc1xx/include/plat/regs-fimc.h + A drivers/media/video/samsung/Kconfig + A drivers/media/video/samsung/Makefile + A drivers/media/video/samsung/s3c_fimc.h + A drivers/media/video/samsung/s3c_fimc4x_regs.c + A drivers/media/video/samsung/s3c_fimc_cfg.c + A drivers/media/video/samsung/s3c_fimc_core.c + A drivers/media/video/samsung/s3c_fimc_v4l2.c + A drivers/media/video/samsung/s5k4ba.c + A drivers/media/video/samsung/s5k4ba.h + +v2.6.28-rc8-s5pc1xx-r2d3: Jinsung Yang + - S5PC100 FIMC device setup support + + Modified files: + M arch/arm/mach-s5pc100/include/mach/map.h + M arch/arm/mach-s5pc100/mach-smdkc100.c + M arch/arm/plat-s3c/include/plat/devs.h + M arch/arm/plat-s5pc1xx/Kconfig + M arch/arm/plat-s5pc1xx/Makefile + + Added files: + A arch/arm/plat-s5pc1xx/dev-fimc0.c + A arch/arm/plat-s5pc1xx/dev-fimc1.c + A arch/arm/plat-s5pc1xx/dev-fimc2.c + A arch/arm/plat-s5pc1xx/setup-fimc0.c + A arch/arm/plat-s5pc1xx/setup-fimc1.c + A arch/arm/plat-s5pc1xx/setup-fimc2.c + +v2.6.28-rc8-s5pc1xx-r2d4: Kyoungil Kim + - modified otg_phy_init proto type + + Modified files: + M drivers/usb/gadget/s3c_udc_otg.c + +v2.6.28-rc8-s5pc1xx-r2d5: Hatim Ali + - S5PC100 Watchdog Timer support + + Modified files: + M arch/arm/configs/smdkc100nfs_defconfig + M arch/arm/mach-s5pc100/include/mach/map.h + M arch/arm/mach-s5pc100/mach-smdkc100.c + M arch/arm/plat-s5pc1xx/devs.c + M drivers/watchdog/Kconfig + +v2.6.28-rc8-s5pc1xx-r2d6: Abhilash Kesavan + - S5PC100 AC97 WM9713 support + + Modified files: + M arch/arm/mach-s5pc100/dma.c + M arch/arm/mach-s5pc100/include/mach/map.h + M arch/arm/mach-s5pc100/mach-smdkc100.c + M arch/arm/plat-s3c/include/plat/devs.h + M arch/arm/plat-s5pc1xx/devs.c + M sound/soc/codecs/wm9713.c + M sound/soc/s5pc1xx/Kconfig + M sound/soc/s5pc1xx/Makefile + + Added Files: + A sound/soc/s5pc1xx/s5pc1xx-ac97.c + A sound/soc/s5pc1xx/s5pc1xx-ac97.h + A sound/soc/s5pc1xx/smdkc100_wm9713.c + +v2.6.28-rc8-s5pc1xx-r2d7: Jinsung Yang + - S5PC100 FIMC driver + - Camera input and memory output support + - Both camera channels (A and B) support + - Preview and capture related functionalities support + - S5K3BA and S5K4BA module support + +v2.6.28-rc8-s5pc1xx-r2d8: Hatim Ali + - S5PC100 Notification LED support + + Modified files: + M arch/arm/Kconfig + M arch/arm/mach-s5pc100/Makefile + + Added Files: + A arch/arm/mach-s5pc100/leds-s5pc100.c + A arch/arm/mach-s5pc100/leds.c + A arch/arm/mach-s5pc100/leds.h + +v2.6.28-rc8-s5pc1xx-r2d9: Abhilash Kesavan + - Enabled LCD/OSD Support for S5PC100 + + Modified files: + M arch/arm/plat-s5pc1xx/devs.c + M drivers/video/samsung/s3cfb.h + M drivers/video/samsung/s3cfb_spi.c + +v2.6.28-rc8-s5pc1xx-r2d10: Jinsung Yang + - S5PC100 FIMC driver + - Alpha Release + - Camera input support + - Memory input support + - Memory output support + - LCD FIFO output support + - Both camera channels (A and B) support + - Preview and capture related functionalities support + - S5K3BA and S5K4BA module support + +v2.6.28.6-s5pc1xx: Kyoungil Kim + +v2.6.28.6-s5pc1xx-r0d0: Kyoungil Kim + +v2.6.28.6-s5pc1xx-r0d1: Abhilash Kesavan + - Pre-Beta Version + +v2.6.28.6-s5pc1xx-r0d2: Jinsung Yang + - FIMC support for SMDKC100 + - Including reserved memory feature with bootmem + - All functions have been finished on the planning except for 'Input Rotator' with LCD FIFO Output + + +v2.6.28.6-s5pc1xx-r0d3: Abhilash Kesavan + - IrDA support for S5PC100 + + Modified files: + M drivers/net/irda/s3c-sir.c + M include/net/irda/irda_device.h + +v2.6.28.6-s5pc1xx-r0d4: Jae-Cheol Lee + - Support CPUFREQ for SMDKC100 + - DFS is only enabled, not DVS. + + Modified files: + M arch/arm/plat-s5pc1xx/s5pc100-clock.c + M arch/arm/Kconfig + M arch/arm/plat-s5pc1xx/Makefile + M arch/arm/plat-s3c/clock.c + + Added files: + A arch/arm/plat-s5pc1xx/s5pc1xx-cpufreq.c + A arch/arm/plat-s5pc1xx/changediv.S + A arch/arm/plat-s5pc1xx/ltc3714.c + +v2.6.28.6-s5pc1xx-r0d5: Kukjin Kim + - System Timer Modified for EVT1 + + Modified files: + M arch/arm/plat-s5pc1xx/include/plat/regs-sys-timer.h + M arch/arm/plat-s5pc1xx/s5pc1xx-time.c + +v2.6.28.6-s5pc1xx-r0d6: Jonghun Han + - S5PC100 FIMG-2D driver support + Modified files: + M arch/arm/mach-s5pc100/include/mach/map.h + M arch/arm/mach-s5pc100/mach-smdkc100.c + M arch/arm/plat-s3c/include/plat/regs-g2d.h + M arch/arm/plat-s5pc1xx/devs.c + M drivers/media/video/samsung/g2d/Kconfig + M drivers/media/video/samsung/g2d/s3c_fimg2d2x.c + +v2.6.28.6-s5pc1xx-r0d7: Jae-Cheol Lee + - Support SMDKC100 EVT1 POP type (Onenand+mDDR+OneDRAM) + Modified files: + M arch/arm/configs/smdkc100onenand_defconfig + M arch/arm/plat-s5pc1xx/cpu.c + M arch/arm/plat-s5pc1xx/s5pc100-clock.c + +v2.6.28.6-s5pc1xx-r0d8: PyoungJae Jung/JiUn Yu + - Support MFC (FIMV) for s5pc100 + - MFC driver is Alpha version + - remove CMM support and support bootmem memory secure way + - change directory name to separate to S3C6410 MFC driver + + Added files: + A drivers/media/video/samsung/mfc40/command_control_fw.c + A drivers/media/video/samsung/mfc40/s3c_mfc_errorno.h + A drivers/media/video/samsung/mfc40/h263_dec_fw.c + A drivers/media/video/samsung/mfc40/s3c_mfc_fw.h + A drivers/media/video/samsung/mfc40/h264_dec_fw.c + A drivers/media/video/samsung/mfc40/s3c-mfc.h + A drivers/media/video/samsung/mfc40/h264_enc_fw.c + A drivers/media/video/samsung/mfc40/s3c_mfc_interface.h + A drivers/media/video/samsung/mfc40/Kconfig + A drivers/media/video/samsung/mfc40/s3c_mfc_intr.c + A drivers/media/video/samsung/mfc40/Makefile + A drivers/media/video/samsung/mfc40/s3c_mfc_intr.h + A drivers/media/video/samsung/mfc40/mp2_dec_fw.c + A drivers/media/video/samsung/mfc40/s3c_mfc_logmsg.c + A drivers/media/video/samsung/mfc40/mp4_dec_fw.c + A drivers/media/video/samsung/mfc40/s3c_mfc_logmsg.h + A drivers/media/video/samsung/mfc40/mp4_dec_order_fw.c + A drivers/media/video/samsung/mfc40/s3c_mfc_memory.c + A drivers/media/video/samsung/mfc40/mp4_enc_fw.c + A drivers/media/video/samsung/mfc40/s3c_mfc_memory.h + A drivers/media/video/samsung/mfc40/s3c_mfc_buffer_manager.c + A drivers/media/video/samsung/mfc40/s3c_mfc_opr.c + A drivers/media/video/samsung/mfc40/s3c_mfc_buffer_manager.h + A drivers/media/video/samsung/mfc40/s3c_mfc_opr.h + A drivers/media/video/samsung/mfc40/s3c-mfc.c + A drivers/media/video/samsung/mfc40/s3c_mfc_types.h + A drivers/media/video/samsung/mfc40/s3c_mfc_common.c + A drivers/media/video/samsung/mfc40/vc1_dec_fw.c + A drivers/media/video/samsung/mfc40/s3c_mfc_common.h + A arch/arm/plat-s5pc1xx/include/plat/regs-mfc.h + + + Modified files: + M arch/arm/mach-s5pc100/mach-smdkc100.c + +v2.6.28.6-s5pc1xx-r0d9: Jonghun Han + - S5PC100 FIMG-3D driver support + Modified files: + M arch/arm/plat-s3c/dma-pl330.c + M arch/arm/plat-s3c/include/mach/s3c-dma.h + M drivers/char/s3c_mem.c + M drivers/char/s3c_mem.h + M drivers/media/video/samsung/g3d/Kconfig + M drivers/media/video/samsung/g3d/s3c_fimg3d.h + +v2.6.28.6-s5pc1xx-r0d10: Seungchull Suh + - SMC9115 works correctly. Before, full-duplex mode is not set. + M drivers/net/smc911x.c + + +v2.6.28.6-s5pc1xx-r1: Kyoungil Kim + - Official Release(09.03.20) + +v2.6.28.6-s5pc1xx-r1d0: Kyoungil Kim + +v2.6.28.6-s5pc1xx-r1d1: Jaeryul Oh + - Support JPEG for s5pc100 + + Added files: + A drivers/media/video/samsung/jpeg_v2/jpg_mem.c + A drivers/media/video/samsung/jpeg_v2/jpg_misc.c + A drivers/media/video/samsung/jpeg_v2/s3c-jpeg.c + A drivers/media/video/samsung/jpeg_v2/jpg_opr.c + A drivers/media/video/samsung/jpeg_v2/log_msg.c + + A drivers/media/video/samsung/jpeg_v2/log_msg.h + A drivers/media/video/samsung/jpeg_v2/jpg_conf.h + A drivers/media/video/samsung/jpeg_v2/jpg_mem.h + A drivers/media/video/samsung/jpeg_v2/jpg_misc.h + A drivers/media/video/samsung/jpeg_v2/regs-jpeg.h + A drivers/media/video/samsung/jpeg_v2/s3c-jpeg.h + A drivers/media/video/samsung/jpeg_v2/jpg_opr.h + A drivers/media/video/samsung/jpeg_v2/Makefile + A drivers/media/video/samsung/jpeg_v2/Kconfig + + Modified files: + M arch/arm/mach-s5pc100/include/mach/map.h + M arch/arm/mach-s5pc100/mach-smdkc100.c + M arch/arm/plat-s5pc1xx/devs.c + M drivers/media/video/samsung/Kconfig + M drivers/media/video/samsung/Makefile + +v2.6.28.6-s5pc1xx-r1d2: Kyoungil Kim + - The last tag for s5pc1xx branch(09.03.24) + +current linux-2.6-samsung repository ChangeLog +----------------------------------------------------------------------- +v2.6.28.6-samsung: Kyoungil Kim + - Merge s3c64xx branch and s5pc1xx branch to master branch(09.03.24) + +v2.6.28.6-samsung-r0d0: Kyoungil Kim + +v2.6.28.6-samsung-r0d1: Kukjin Kim + - Remove swp file + + Removed Files: + R arch/arm/plat-s3c/include/plat/.cpu-freq.h.swp + +v2.6.28.6-samsung-r0d2: Kyoungil Kim + - Unified the ChangeLog files + + Modified Files: + M ChangeLog + + Deleted Files: + D ChangeLog_s3c64xx + D ChangeLog_s5pc1xx + +v2.6.28.6-samsung-r0d3: Kukjin Kim + - System Timer initialize modified + + Modified Files: + M arch/arm/plat-s5pc1xx/s5pc1xx-time.c + +v2.6.28.6-samsung-r0d4: Kukjin Kim + - System Timer init and setup function remodified + + Modified Files: + M arch/arm/plat-s5pc1xx/s5pc1xx-time.c + +v2.6.28.6-samsung-r0d5: Kukjin Kim + - Support extcsd revision 1.3 + + Modified Files: + M drivers/mmc/core/mmc.c + +v2.6.28.6-samsung-r0d6: Jaeryul Oh + - JPEG for c100 is updated + + Modified Files: + M drivers/media/video/samsung/Kconfig + M drivers/media/video/samsung/jpeg_v2/jpg_mem.h + M drivers/media/video/samsung/jpeg_v2/jpg_opr.c + M drivers/media/video/samsung/jpeg_v2/jpg_opr.h + M drivers/media/video/samsung/jpeg_v2/s3c-jpeg.c + M drivers/media/video/samsung/jpeg_v2/s3c-jpeg.h + +v2.6.28.6-samsung-r0d7: Jae-Cheol Lee + - Adopting system timer h/w bug workaround + + Modified files: + M arch/arm/plat-s5pc1xx/s5pc1xx-time.c + +v2.6.28.6-samsung-r0d8: Byungjae Lee + - Implemented OTG Host role for SMDKC100 + OTG Host role support only MassStorage and HID(Keyboard, Mouse) + + Modified Files: + M arch/arm/configs/smdkc100mtd_defconfig + M arch/arm/configs/smdkc100onenand_defconfig + M arch/arm/mach-s3c6410/mach-smdk6410.c + M arch/arm/mach-s5pc100/include/mach/map.h + M arch/arm/mach-s5pc100/mach-smdkc100.c + M arch/arm/plat-s5pc1xx/devs.c + M drivers/usb/host/Kconfig + M drivers/usb/host/s3c-otg/s3c-otg-hcdi-debug.h + M drivers/usb/host/s3c-otg/s3c-otg-hcdi-driver.c + M drivers/usb/host/s3c-otg/s3c-otg-hcdi-driver.h + M drivers/usb/host/s3c-otg/s3c-otg-hcdi-hcd.h + M drivers/usb/host/s3c-otg/s3c-otg-oci.c + M drivers/usb/host/s3c-otg/s3c-otg-oci.h + +v2.6.28.6-samsung-r0d9: Jonghun Han + - Support YUV422 Interleave output for FIMC + + Modified Files: + M drivers/media/video/samsung/fimc/s3c_fimc.h + M drivers/media/video/samsung/fimc/s3c_fimc3x_regs.c + M drivers/media/video/samsung/fimc/s3c_fimc_cfg.c + +v2.6.28.6-samsung-r0d10: Kyoungil Kim + - change the smc911 driver from full duplex to half duplex + + Modified Files: + M drivers/net/smc911x.c + +v2.6.28.6-samsung-r0d11: Jae-Cheol Lee + - Support SMDK6440 EVT0 board + + Modified Files: + M arch/arm/mach-s5p6440/mach-smdk6440.c + M arch/arm/plat-s5p64xx/include/plat/pll.h + +v2.6.28.6-samsung-r0d12: Kyoungil Kim + - Prevent for SMDKC100 MM IP + +v2.6.28.6-samsung-r0d13: Jae-Cheol Lee + - Fixed PLL calculation bug in MASK value + + Modified Files: + M arch/arm/plat-s3c64xx/include/plat/pll.h + M arch/arm/plat-s5pc1xx/include/plat/pll.h + +v2.6.28.6-samsung-r0d14: Byungjae Lee + - Implemented USB OTG Device role for SMDK6440 + + Modified Files: + M arch/arm/configs/smdk6440ramdisk_defconfig + M arch/arm/mach-s5p6440/mach-smdk6440.c + M arch/arm/plat-s3c/include/plat/regs-otg.h + M arch/arm/plat-s5p64xx/devs.c + M arch/arm/plat-s5p64xx/include/plat/regs-clock.h + M drivers/usb/gadget/Kconfig + M drivers/usb/gadget/s3c_udc.h + M drivers/usb/gadget/s3c_udc_otg.c + +v2.6.28.6-samsung-r0d15: Jongpill Lee + - Modify code for SPi + + Modified Files + M drivers/spi/hspi-s3c64xx.c + +v2.6.28.6-samsung-r1: Jaeryul Oh + - Official Release (09.04.06) + +v2.6.28.6-samsung-r1d0: Jae-Cheol Lee + - Modified default configuration for SMDK6440 + Modified Files: + M arch/arm/configs/smdk6440ramdisk_defconfig + +v2.6.28.6-samsung-r1d1: Jaeryul Oh + - MFC, JPEG suspend/resume related code for SMDK6410 changed + Modified Files : + M drivers/media/video/samsung/jpeg/jpg_mem.c + M drivers/media/video/samsung/jpeg/s3c-jpeg.c + M drivers/media/video/samsung/mfc10/s3c_mfc.c + +v2.6.28.6-samsung-r1d2: Jae-Cheol Lee + - Modified voltage regulator control code for SMDKC100 + Modified Files : + M arch/arm/plat-s5pc1xx/ltc3714.c + +v2.6.28.6-samsung-r1d3: Jae-Cheol Lee + - Support CHIPID for S5P6440 + Modified Files: + M arch/arm/plat-s5pc1xx/cpu.c + +v2.6.28.6-samsung-r1d4: Jiun Yu, PyoungJae Jung + - fixed cache issue in MFC driver + +v2.6.28.6-samsung-r1d5: Jae-Cheol Lee + - Change Console UART port 0 -> 1 for SMDK6440 + Modified Files: + M arch/arm/configs/smdk6440ramdisk_defconfig + +v2.6.28.6-samsung-r1d6: Byungjae Lee + - Fixed BUG USB OTG Device role for SMDK6440 and C100 + + Modified Files: + M drivers/usb/gadget/s3c_udc_otg.c + +v2.6.28.6-samsung-r1d7: Jongpill LEe + - Support RTC for S5P6440 + + Modified files: + M arch/arm/mach-s5p6440/include/mach/map.h + M arch/arm/mach-s5p6440/mach-smdk6440.c + M arch/arm/plat-s3c/include/plat/regs-rtc.h + M arch/arm/plat-s5p64xx/devs.c + M drivers/rtc/Kconfig + M drivers/rtc/rtc-s3c.c + +v2.6.28.6-samsung-r2: Kyoungil Kim + - Official Release for SMDK6410(09.04.09) + +v2.6.28.6-samsung-r2d0: Jongpill LEe + - Support Watchdog timer for S5P6440 + + Modified Files: + M arch/arm/mach-s5p6440/include/mach/map.h + M arch/arm/mach-s5p6440/mach-smdk6440.c + M arch/arm/plat-s5p64xx/devs.c + M drivers/rtc/rtc-s3c.c + M drivers/watchdog/Kconfig + +v2.6.28.6-samsung-r2d1: Jongpill Lee + - Support ADC Driver for S5P6440 + + Modified Files: + M arch/arm/mach-s5p6440/include/mach/map.h + M arch/arm/mach-s5p6440/mach-smdk6440.c + M arch/arm/plat-s3c64xx/adc.c + M arch/arm/plat-s5p64xx/Kconfig + M arch/arm/plat-s5p64xx/devs.c + +v2.6.28.6-samsung-r2d2: Jiun, Yu, PyoungJae Jung + - fixed cache issue in MFC1.0(6410) driver + + Modified Files : + M drivers/media/video/samsung/mfc10/s3c_mfc_set_config.c + +v2.6.28.6-samsung-r2d3: Jiun, Yu, PyoungJae Jung + - fixed cache issue in MFC1.0(6410) driver + - changed cache update way to dma_cache_maint + + Modified Files : + M drivers/media/video/samsung/mfc10/s3c_mfc_set_config.c + M drivers/media/video/samsung/mfc10/s3c_mfc.c + M drivers/media/video/samsung/mfc10/s3c_mfc_databuf.c + M drivers/media/video/samsung/mfc10/s3c_mfc_instance.c + M drivers/media/video/samsung/mfc10/s3c_mfc_set_config.c + +v2.6.28.6-samsung-r2d4: Jae-Cheol Lee + - Support DVFS on SMDK6440 board + + Modified Files : + M arch/arm/Kconfig + M arch/arm/plat-s5p64xx/Makefile + M arch/arm/plat-s5p64xx/clock.c + M arch/arm/plat-s5p64xx/ltc3714.c + M arch/arm/plat-s5p64xx/s5p64xx-cpufreq + +v2.6.28.6-samsung-r2d5: Jongpill Lee + - Modify some code for S5PC100 + + Modified Files : + M arch/arm/plat-s5pc1xx/include/plat/regs-clock.h + M arch/arm/plat-s5pc1xx/include/plat/regs-power.h + +v2.6.28.6-samsung-r2d6: Jae-Cheol Lee + - Support backlight class by PWM on SMDK6440 board + + Added Files : + A arch/arm/plat-s5p64xx/pwm.c + + Modified Files : + M arch/arm/configs/smdk6440ramdisk_defconfig + M arch/arm/mach-s5p6440/cpu.c + M arch/arm/mach-s5p6440/mach-smdk6440.c + M arch/arm/plat-s3c/include/plat/clock.h + M arch/arm/plat-s3c/pwm-clock.c + M arch/arm/plat-s5p64xx/Kconfig + M arch/arm/plat-s5p64xx/Makefile + M arch/arm/plat-s5p64xx/clock.c + M arch/arm/plat-s5p64xx/pwm.c + M drivers/video/samsung/s3cfb_fimd5x.c + +v2.6.28.6-samsung-r2d7: Jaeryul Oh + - MFC suspend/resume related code for SMDK6410 updated + Modified Files : + M drivers/media/video/samsung/mfc10/s3c_mfc.c + M drivers/media/video/samsung/mfc10/s3c_mfc_config.h + +v2.6.28.6-samsung-r2d8: Jinsung Yang + - The 1st phase of MIPI-CSI support + + Addes files: + A arch/arm/plat-s5pc1xx/dev-csis.c + A arch/arm/plat-s5pc1xx/include/plat/csis.h + A arch/arm/plat-s5pc1xx/include/plat/regs-csis.h + A arch/arm/plat-s5pc1xx/setup-csis.c + A drivers/media/video/samsung/fimc/s3c_csis.c + A drivers/media/video/samsung/fimc/s3c_csis.h + + Modified files: + M arch/arm/mach-s5pc100/include/mach/map.h + M arch/arm/mach-s5pc100/mach-smdkc100.c + M arch/arm/plat-s3c/include/plat/devs.h + M arch/arm/plat-s5pc1xx/Kconfig + M arch/arm/plat-s5pc1xx/Makefile + M arch/arm/plat-s5pc1xx/clock.c + M arch/arm/plat-s5pc1xx/include/plat/regs-clock.h + M drivers/media/video/samsung/fimc/Kconfig + M drivers/media/video/samsung/fimc/Makefile + M drivers/media/video/samsung/fimc/s3c_fimc.h + +v2.6.28.6-samsung-mfc-r0: PyoungJae Jung, Jiun Yu + - first initial version of MFC branch + - upgraded MFC40 driver + - updated FW + - supported multi-instance + - unstable version + + Addeds files: + A drivers/media/video/samsung/mfc40/s3c_mfc_msg.h + + Modified files: + M drivers/media/video/samsung/Kconfig + M drivers/media/video/samsung/mfc40/Kconfig + M drivers/media/video/samsung/mfc40/s3c-mfc.c + M drivers/media/video/samsung/mfc40/s3c_mfc_buffer_manager.c + M drivers/media/video/samsung/mfc40/s3c_mfc_common.c + M drivers/media/video/samsung/mfc40/s3c_mfc_interface.h + M drivers/media/video/samsung/mfc40/s3c_mfc_intr.c + M drivers/media/video/samsung/mfc40/s3c_mfc_logmsg.c + M drivers/media/video/samsung/mfc40/s3c_mfc_logmsg.h + M drivers/media/video/samsung/mfc40/s3c_mfc_opr.c + + Deleted files: + D drivers/media/video/samsung/mfc40/s3c-mfc.h + +v2.6.28.6-samsung-mfc-r0d0: PyoungJae Jung, Jiun Yu + - updated new MFC driver + - fixed bugs in memory manager unit in multi-instance + - deleted unused files (logmsg) + - pre beta level version + + Modified files: + M drivers/media/video/samsung/mfc40/Makefile + M drivers/media/video/samsung/mfc40/command_control_fw.c + M drivers/media/video/samsung/mfc40/h263_dec_fw.c + M drivers/media/video/samsung/mfc40/h264_dec_fw.c + M drivers/media/video/samsung/mfc40/h264_enc_fw.c + M drivers/media/video/samsung/mfc40/mp2_dec_fw.c + M drivers/media/video/samsung/mfc40/mp4_dec_fw.c + M drivers/media/video/samsung/mfc40/mp4_enc_fw.c + M drivers/media/video/samsung/mfc40/s3c-mfc.c + M drivers/media/video/samsung/mfc40/s3c_mfc_buffer_manager.c + M drivers/media/video/samsung/mfc40/s3c_mfc_buffer_manager.h + M drivers/media/video/samsung/mfc40/s3c_mfc_common.c + M drivers/media/video/samsung/mfc40/s3c_mfc_common.h + M drivers/media/video/samsung/mfc40/s3c_mfc_errorno.h + M drivers/media/video/samsung/mfc40/s3c_mfc_fw.h + M drivers/media/video/samsung/mfc40/s3c_mfc_interface.h + M drivers/media/video/samsung/mfc40/s3c_mfc_logmsg.h + M drivers/media/video/samsung/mfc40/s3c_mfc_memory.h + M drivers/media/video/samsung/mfc40/s3c_mfc_opr.c + M drivers/media/video/samsung/mfc40/s3c_mfc_opr.h + M drivers/media/video/samsung/mfc40/vc1_dec_fw.c + + Deleted files: + D drivers/media/video/samsung/mfc40/s3c_mfc_msg.h + D drivers/media/video/samsung/mfc40/s3c_mfc_logmsg.c + +v2.6.28.6-samsung-mfc-r0d1: PyoungJae Jung, Jiun Yu, Satish + - update CMM driver for hybrid Divx in 6410 support + - change coding style + + Added files: + A drivers/media/video/samsung/cmm/s3c_cmm.c + A drivers/media/video/samsung/cmm/s3c_cmm.h + + Modified files: + M drivers/media/video/samsung/cmm/Makefile + + Deleted files: + D drivers/media/video/samsung/cmm/CMMMisc.c + D drivers/media/video/samsung/cmm/CMMMisc.h + D drivers/media/video/samsung/cmm/LogMsg.c + D drivers/media/video/samsung/cmm/LogMsg.h + D drivers/media/video/samsung/cmm/s3c-cmm.c + D drivers/media/video/samsung/cmm/s3c-cmm.h + +v2.6.28.6-samsung-r3d3-mfc-r0: PyoungJae Jung, Jiun Yu + - merge with v2.6.28.6-samsung-r3d3 in master branch + - change tag name convention + * master branch tag + mfc tag diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/Documentation/spi/spidev_fdx.c linux-2.6.28.6/Documentation/spi/spidev_fdx.c --- linux-2.6.28/Documentation/spi/spidev_fdx.c 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/Documentation/spi/spidev_fdx.c 2009-04-30 09:36:37.000000000 +0200 @@ -14,12 +14,14 @@ static int verbose; +#define MAX_LEN 4096 + static void do_read(int fd, int len) { - unsigned char buf[32], *bp; - int status; + unsigned char buf[MAX_LEN], *bp; + int status, i; - /* read at least 2 bytes, no more than 32 */ + /* read at least 2 bytes, no more than MAX_LEN */ if (len < 2) len = 2; else if (len > sizeof(buf)) @@ -36,20 +38,22 @@ return; } - printf("read(%2d, %2d): %02x %02x,", len, status, - buf[0], buf[1]); - status -= 2; - bp = buf + 2; - while (status-- > 0) - printf(" %02x", *bp++); + printf("\nread(%2d, %2d):", len, status); + bp = buf; + for(i=0; i), the IPAQ 1940 or the Samsung SMDK2410 development board (and derivatives). +config ARCH_S3C64XX + bool "Samsung S3C64XX" + select GENERIC_GPIO + select HAVE_CLK + help + Samsung S3C64XX series based systems + +config ARCH_S5P64XX + bool "Samsung S5P64XX" + select GENERIC_GPIO + select HAVE_CLK + help + Samsung S5P64XX series based systems + +config ARCH_S5PC1XX + bool "Samsung S5PC1XX" + select GENERIC_GPIO + select HAVE_CLK + help + Samsung S5PC1XX series based systems + config ARCH_SHARK bool "Shark" select ISA @@ -590,6 +611,9 @@ source "arch/arm/mach-kirkwood/Kconfig" source "arch/arm/plat-s3c24xx/Kconfig" +source "arch/arm/plat-s3c64xx/Kconfig" +source "arch/arm/plat-s5pc1xx/Kconfig" +source "arch/arm/plat-s5p64xx/Kconfig" source "arch/arm/plat-s3c/Kconfig" if ARCH_S3C2410 @@ -601,6 +625,19 @@ source "arch/arm/mach-s3c2443/Kconfig" endif +if ARCH_S3C64XX +source "arch/arm/mach-s3c6400/Kconfig" +source "arch/arm/mach-s3c6410/Kconfig" +endif + +if ARCH_S5PC1XX +source "arch/arm/mach-s5pc100/Kconfig" +endif + +if ARCH_S5P64XX +source "arch/arm/mach-s5p6440/Kconfig" +endif + source "arch/arm/mach-lh7a40x/Kconfig" source "arch/arm/mach-imx/Kconfig" @@ -805,7 +842,7 @@ config HZ int default 128 if ARCH_L7200 - default 200 if ARCH_EBSA110 || ARCH_S3C2410 + default 200 if ARCH_EBSA110 || ARCH_S3C2410 || ARCH_S3C64XX || ARCH_S5P64XX || ARCH_S5PC1XX default OMAP_32K_TIMER_HZ if ARCH_OMAP && OMAP_32K_TIMER default AT91_TIMER_HZ if ARCH_AT91 default 100 @@ -876,7 +913,8 @@ ARCH_OMAP || ARCH_P720T || ARCH_PXA_IDP || \ ARCH_SA1100 || ARCH_SHARK || ARCH_VERSATILE || \ ARCH_AT91 || ARCH_DAVINCI || \ - ARCH_KS8695 || MACH_RD88F5182 + ARCH_KS8695 || MACH_RD88F5182 || \ + MACH_SMDKC100 help If you say Y here, the LEDs on your machine will be used to provide useful information about your current system status. @@ -891,7 +929,8 @@ config LEDS_TIMER bool "Timer LED" if (!ARCH_CDB89712 && !ARCH_OMAP) || \ OMAP_OSK_MISTRAL || MACH_OMAP_H2 \ - || MACH_OMAP_PERSEUS2 + || MACH_OMAP_PERSEUS2 || \ + MACH_SMDKC100 depends on LEDS depends on !GENERIC_CLOCKEVENTS default y if ARCH_EBSA110 @@ -910,7 +949,7 @@ bool "CPU usage LED" if (!ARCH_CDB89712 && !ARCH_EBSA110 && \ !ARCH_OMAP) \ || OMAP_OSK_MISTRAL || MACH_OMAP_H2 \ - || MACH_OMAP_PERSEUS2 + || MACH_OMAP_PERSEUS2 || MACH_SMDKC100 depends on LEDS help If you say Y here, the red LED will be used to give a good real @@ -1037,7 +1076,7 @@ menu "CPU Power Management" -if (ARCH_SA1100 || ARCH_INTEGRATOR || ARCH_OMAP || ARCH_IMX || ARCH_PXA) +if (ARCH_SA1100 || ARCH_INTEGRATOR || ARCH_OMAP || ARCH_IMX || ARCH_PXA || CPU_S3C6410 || CPU_S5PC100 || CPU_S5P6440) source "drivers/cpufreq/Kconfig" diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/Makefile linux-2.6.28.6/arch/arm/Makefile --- linux-2.6.28/arch/arm/Makefile 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/Makefile 2009-04-30 09:36:37.000000000 +0200 @@ -121,7 +121,14 @@ machine-$(CONFIG_ARCH_OMAP3) := omap2 plat-$(CONFIG_ARCH_OMAP) := omap machine-$(CONFIG_ARCH_S3C2410) := s3c2410 s3c2400 s3c2412 s3c2440 s3c2442 s3c2443 + machine-$(CONFIG_ARCH_S3C24A0) := s3c24a0 plat-$(CONFIG_PLAT_S3C24XX) := s3c24xx s3c + machine-$(CONFIG_ARCH_S3C64XX) := s3c6400 s3c6410 + plat-$(CONFIG_PLAT_S3C64XX) := s3c64xx s3c + machine-$(CONFIG_ARCH_S5P64XX) := s5p6440 + plat-$(CONFIG_PLAT_S5P64XX) := s5p64xx s3c + machine-$(CONFIG_ARCH_S5PC1XX) := s5pc100 + plat-$(CONFIG_PLAT_S5PC1XX) := s5pc1xx s3c machine-$(CONFIG_ARCH_LH7A40X) := lh7a40x machine-$(CONFIG_ARCH_VERSATILE) := versatile machine-$(CONFIG_ARCH_IMX) := imx diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/common/vic.c linux-2.6.28.6/arch/arm/common/vic.c --- linux-2.6.28/arch/arm/common/vic.c 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/common/vic.c 2009-04-30 09:36:37.000000000 +0200 @@ -69,12 +69,12 @@ /* * Make sure we clear all existing interrupts */ - writel(0, base + VIC_VECT_ADDR); + writel(0, base + VIC_PL190_VECT_ADDR); for (i = 0; i < 19; i++) { unsigned int value; - value = readl(base + VIC_VECT_ADDR); - writel(value, base + VIC_VECT_ADDR); + value = readl(base + VIC_PL190_VECT_ADDR); + writel(value, base + VIC_PL190_VECT_ADDR); } for (i = 0; i < 16; i++) { @@ -82,7 +82,7 @@ writel(VIC_VECT_CNTL_ENABLE | i, reg); } - writel(32, base + VIC_DEF_VECT_ADDR); + writel(32, base + VIC_PL190_DEF_VECT_ADDR); for (i = 0; i < 32; i++) { unsigned int irq = irq_start + i; diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/configs/s3c6400_defconfig linux-2.6.28.6/arch/arm/configs/s3c6400_defconfig --- linux-2.6.28/arch/arm/configs/s3c6400_defconfig 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/configs/s3c6400_defconfig 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,845 @@ +# +# Automatically generated make config: don't edit +# Linux kernel version: 2.6.28-rc3 +# Mon Nov 3 10:10:30 2008 +# +CONFIG_ARM=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_GENERIC_GPIO=y +# CONFIG_GENERIC_TIME is not set +# CONFIG_GENERIC_CLOCKEVENTS is not set +CONFIG_MMU=y +CONFIG_NO_IOPORT=y +CONFIG_GENERIC_HARDIRQS=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_RWSEM_GENERIC_SPINLOCK=y +# CONFIG_ARCH_HAS_ILOG2_U32 is not set +# CONFIG_ARCH_HAS_ILOG2_U64 is not set +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" + +# +# General setup +# +CONFIG_EXPERIMENTAL=y +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_LOCALVERSION="" +CONFIG_LOCALVERSION_AUTO=y +CONFIG_SWAP=y +# CONFIG_SYSVIPC is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=17 +# CONFIG_CGROUPS is not set +# CONFIG_GROUP_SCHED is not set +CONFIG_SYSFS_DEPRECATED=y +CONFIG_SYSFS_DEPRECATED_V2=y +# CONFIG_RELAY is not set +CONFIG_NAMESPACES=y +# CONFIG_UTS_NS is not set +# CONFIG_USER_NS is not set +# CONFIG_PID_NS is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL=y +# CONFIG_EMBEDDED is not set +CONFIG_UID16=y +CONFIG_SYSCTL_SYSCALL=y +CONFIG_KALLSYMS=y +CONFIG_KALLSYMS_ALL=y +# CONFIG_KALLSYMS_EXTRA_PASS is not set +CONFIG_HOTPLUG=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_COMPAT_BRK=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_ANON_INODES=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_SLUB_DEBUG=y +# CONFIG_SLAB is not set +CONFIG_SLUB=y +# CONFIG_SLOB is not set +# CONFIG_PROFILING is not set +# CONFIG_MARKERS is not set +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +CONFIG_HAVE_KPROBES=y +CONFIG_HAVE_KRETPROBES=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +# CONFIG_TINY_SHMEM is not set +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODULE_FORCE_UNLOAD is not set +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +CONFIG_KMOD=y +CONFIG_BLOCK=y +CONFIG_LBD=y +# CONFIG_BLK_DEV_IO_TRACE is not set +CONFIG_LSF=y +# CONFIG_BLK_DEV_BSG is not set +# CONFIG_BLK_DEV_INTEGRITY is not set + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_AS=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +# CONFIG_DEFAULT_AS is not set +# CONFIG_DEFAULT_DEADLINE is not set +CONFIG_DEFAULT_CFQ=y +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="cfq" +CONFIG_CLASSIC_RCU=y +# CONFIG_FREEZER is not set + +# +# System Type +# +# CONFIG_ARCH_AAEC2000 is not set +# CONFIG_ARCH_INTEGRATOR is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_AT91 is not set +# CONFIG_ARCH_CLPS7500 is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_H720X is not set +# CONFIG_ARCH_IMX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP23XX is not set +# CONFIG_ARCH_IXP2000 is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_L7200 is not set +# CONFIG_ARCH_KIRKWOOD is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_NS9XXX is not set +# CONFIG_ARCH_LOKI is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_MXC is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_PNX4008 is not set +# CONFIG_ARCH_PXA is not set +# CONFIG_ARCH_RPC is not set +# CONFIG_ARCH_SA1100 is not set +# CONFIG_ARCH_S3C2410 is not set +CONFIG_ARCH_S3C64XX=y +# CONFIG_ARCH_SHARK is not set +# CONFIG_ARCH_LH7A40X is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP is not set +# CONFIG_ARCH_MSM is not set +CONFIG_PLAT_S3C64XX=y +CONFIG_CPU_S3C6400_INIT=y +CONFIG_CPU_S3C6400_CLOCK=y +CONFIG_S3C64XX_SETUP_I2C0=y +CONFIG_S3C64XX_SETUP_I2C1=y +CONFIG_PLAT_S3C=y + +# +# Boot options +# +CONFIG_S3C_BOOT_ERROR_RESET=y + +# +# Power management +# +CONFIG_S3C_LOWLEVEL_UART_PORT=0 +CONFIG_S3C_GPIO_SPACE=0 +CONFIG_S3C_GPIO_TRACK=y +CONFIG_S3C_GPIO_PULL_UPDOWN=y +CONFIG_S3C_GPIO_CFG_S3C24XX=y +CONFIG_S3C_GPIO_CFG_S3C64XX=y +CONFIG_S3C_DEV_HSMMC=y +CONFIG_S3C_DEV_HSMMC1=y +CONFIG_S3C_DEV_I2C1=y +CONFIG_CPU_S3C6410=y +CONFIG_S3C6410_SETUP_SDHCI=y +CONFIG_MACH_SMDK6410=y +CONFIG_SMDK6410_SD_CH0=y +# CONFIG_SMDK6410_SD_CH1 is not set + +# +# Processor Type +# +CONFIG_CPU_32=y +CONFIG_CPU_V6=y +CONFIG_CPU_32v6K=y +CONFIG_CPU_32v6=y +CONFIG_CPU_ABRT_EV6=y +CONFIG_CPU_PABRT_NOIFAR=y +CONFIG_CPU_CACHE_V6=y +CONFIG_CPU_CACHE_VIPT=y +CONFIG_CPU_COPY_V6=y +CONFIG_CPU_TLB_V6=y +CONFIG_CPU_HAS_ASID=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y + +# +# Processor Features +# +CONFIG_ARM_THUMB=y +# CONFIG_CPU_ICACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_DISABLE is not set +# CONFIG_CPU_BPREDICT_DISABLE is not set +# CONFIG_OUTER_CACHE is not set +CONFIG_ARM_VIC=y + +# +# Bus support +# +# CONFIG_PCI_SYSCALL is not set +# CONFIG_ARCH_SUPPORTS_MSI is not set +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_VMSPLIT_3G=y +# CONFIG_VMSPLIT_2G is not set +# CONFIG_VMSPLIT_1G is not set +CONFIG_PAGE_OFFSET=0xC0000000 +# CONFIG_PREEMPT is not set +CONFIG_HZ=100 +CONFIG_AEABI=y +CONFIG_OABI_COMPAT=y +CONFIG_ARCH_FLATMEM_HAS_HOLES=y +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_FLATMEM_MANUAL=y +# CONFIG_DISCONTIGMEM_MANUAL is not set +# CONFIG_SPARSEMEM_MANUAL is not set +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_PAGEFLAGS_EXTENDED=y +CONFIG_SPLIT_PTLOCK_CPUS=4 +# CONFIG_RESOURCES_64BIT is not set +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=0 +CONFIG_VIRT_TO_BUS=y +CONFIG_UNEVICTABLE_LRU=y +CONFIG_ALIGNMENT_TRAP=y + +# +# Boot options +# +CONFIG_ZBOOT_ROM_TEXT=0 +CONFIG_ZBOOT_ROM_BSS=0 +CONFIG_CMDLINE="console=ttySAC0,115200 root=/dev/ram init=/bin/bash initrd=0x51000000,4M" +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set + +# +# CPU Power Management +# +# CONFIG_CPU_IDLE is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +# CONFIG_FPE_NWFPE is not set +# CONFIG_FPE_FASTFPE is not set +CONFIG_VFP=y + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_HAVE_AOUT=y +# CONFIG_BINFMT_AOUT is not set +# CONFIG_BINFMT_MISC is not set + +# +# Power management options +# +# CONFIG_PM is not set +CONFIG_ARCH_SUSPEND_POSSIBLE=y +# CONFIG_NET is not set + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_MTD is not set +# CONFIG_PARPORT is not set +CONFIG_BLK_DEV=y +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=4096 +# CONFIG_BLK_DEV_XIP is not set +# CONFIG_CDROM_PKTCDVD is not set +CONFIG_MISC_DEVICES=y +# CONFIG_EEPROM_93CX6 is not set +# CONFIG_ENCLOSURE_SERVICES is not set +CONFIG_HAVE_IDE=y +# CONFIG_IDE is not set + +# +# SCSI device support +# +# CONFIG_RAID_ATTRS is not set +# CONFIG_SCSI is not set +# CONFIG_SCSI_DMA is not set +# CONFIG_SCSI_NETLINK is not set +# CONFIG_ATA is not set +# CONFIG_MD is not set + +# +# Input device support +# +CONFIG_INPUT=y +# CONFIG_INPUT_FF_MEMLESS is not set +# CONFIG_INPUT_POLLDEV is not set + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +# CONFIG_INPUT_JOYDEV is not set +# CONFIG_INPUT_EVDEV is not set +# CONFIG_INPUT_EVBUG is not set + +# +# Input Device Drivers +# +CONFIG_INPUT_KEYBOARD=y +CONFIG_KEYBOARD_ATKBD=y +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_LKKBD is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_STOWAWAY is not set +# CONFIG_KEYBOARD_GPIO is not set +CONFIG_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=y +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_LIFEBOOK=y +CONFIG_MOUSE_PS2_TRACKPOINT=y +# CONFIG_MOUSE_PS2_ELANTECH is not set +# CONFIG_MOUSE_PS2_TOUCHKIT is not set +# CONFIG_MOUSE_SERIAL is not set +# CONFIG_MOUSE_APPLETOUCH is not set +# CONFIG_MOUSE_BCM5974 is not set +# CONFIG_MOUSE_VSXXXAA is not set +# CONFIG_MOUSE_GPIO is not set +# CONFIG_INPUT_JOYSTICK is not set +# CONFIG_INPUT_TABLET is not set +# CONFIG_INPUT_TOUCHSCREEN is not set +# CONFIG_INPUT_MISC is not set + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_SERPORT=y +CONFIG_SERIO_LIBPS2=y +# CONFIG_SERIO_RAW is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_VT_CONSOLE=y +CONFIG_HW_CONSOLE=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +CONFIG_DEVKMEM=y +# CONFIG_SERIAL_NONSTANDARD is not set + +# +# Serial drivers +# +CONFIG_SERIAL_8250=y +# CONFIG_SERIAL_8250_CONSOLE is not set +CONFIG_SERIAL_8250_NR_UARTS=4 +CONFIG_SERIAL_8250_RUNTIME_UARTS=4 +# CONFIG_SERIAL_8250_EXTENDED is not set + +# +# Non-8250 serial port support +# +CONFIG_SERIAL_SAMSUNG=y +CONFIG_SERIAL_SAMSUNG_UARTS=4 +# CONFIG_SERIAL_SAMSUNG_DEBUG is not set +CONFIG_SERIAL_SAMSUNG_CONSOLE=y +CONFIG_SERIAL_S3C6400=y +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +CONFIG_UNIX98_PTYS=y +CONFIG_LEGACY_PTYS=y +CONFIG_LEGACY_PTY_COUNT=256 +# CONFIG_IPMI_HANDLER is not set +CONFIG_HW_RANDOM=y +# CONFIG_NVRAM is not set +# CONFIG_R3964 is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_HELPER_AUTO=y + +# +# I2C Hardware Bus support +# + +# +# I2C system bus drivers (mostly embedded / system-on-chip) +# +# CONFIG_I2C_GPIO is not set +# CONFIG_I2C_OCORES is not set +CONFIG_I2C_S3C2410=y +# CONFIG_I2C_SIMTEC is not set + +# +# External I2C/SMBus adapter drivers +# +# CONFIG_I2C_PARPORT_LIGHT is not set +# CONFIG_I2C_TAOS_EVM is not set + +# +# Other I2C/SMBus bus drivers +# +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_STUB is not set + +# +# Miscellaneous I2C Chip support +# +# CONFIG_DS1682 is not set +CONFIG_AT24=y +# CONFIG_SENSORS_EEPROM is not set +# CONFIG_SENSORS_PCF8574 is not set +# CONFIG_PCF8575 is not set +# CONFIG_SENSORS_PCA9539 is not set +# CONFIG_SENSORS_PCF8591 is not set +# CONFIG_TPS65010 is not set +# CONFIG_SENSORS_MAX6875 is not set +# CONFIG_SENSORS_TSL2550 is not set +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +# CONFIG_I2C_DEBUG_CHIP is not set +# CONFIG_SPI is not set +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_GPIOLIB=y +# CONFIG_DEBUG_GPIO is not set +# CONFIG_GPIO_SYSFS is not set + +# +# I2C GPIO expanders: +# +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set + +# +# PCI GPIO expanders: +# + +# +# SPI GPIO expanders: +# +# CONFIG_W1 is not set +# CONFIG_POWER_SUPPLY is not set +CONFIG_HWMON=y +# CONFIG_HWMON_VID is not set +# CONFIG_SENSORS_AD7414 is not set +# CONFIG_SENSORS_AD7418 is not set +# CONFIG_SENSORS_ADM1021 is not set +# CONFIG_SENSORS_ADM1025 is not set +# CONFIG_SENSORS_ADM1026 is not set +# CONFIG_SENSORS_ADM1029 is not set +# CONFIG_SENSORS_ADM1031 is not set +# CONFIG_SENSORS_ADM9240 is not set +# CONFIG_SENSORS_ADT7470 is not set +# CONFIG_SENSORS_ADT7473 is not set +# CONFIG_SENSORS_ATXP1 is not set +# CONFIG_SENSORS_DS1621 is not set +# CONFIG_SENSORS_F71805F is not set +# CONFIG_SENSORS_F71882FG is not set +# CONFIG_SENSORS_F75375S is not set +# CONFIG_SENSORS_GL518SM is not set +# CONFIG_SENSORS_GL520SM is not set +# CONFIG_SENSORS_IT87 is not set +# CONFIG_SENSORS_LM63 is not set +# CONFIG_SENSORS_LM75 is not set +# CONFIG_SENSORS_LM77 is not set +# CONFIG_SENSORS_LM78 is not set +# CONFIG_SENSORS_LM80 is not set +# CONFIG_SENSORS_LM83 is not set +# CONFIG_SENSORS_LM85 is not set +# CONFIG_SENSORS_LM87 is not set +# CONFIG_SENSORS_LM90 is not set +# CONFIG_SENSORS_LM92 is not set +# CONFIG_SENSORS_LM93 is not set +# CONFIG_SENSORS_MAX1619 is not set +# CONFIG_SENSORS_MAX6650 is not set +# CONFIG_SENSORS_PC87360 is not set +# CONFIG_SENSORS_PC87427 is not set +# CONFIG_SENSORS_DME1737 is not set +# CONFIG_SENSORS_SMSC47M1 is not set +# CONFIG_SENSORS_SMSC47M192 is not set +# CONFIG_SENSORS_SMSC47B397 is not set +# CONFIG_SENSORS_ADS7828 is not set +# CONFIG_SENSORS_THMC50 is not set +# CONFIG_SENSORS_VT1211 is not set +# CONFIG_SENSORS_W83781D is not set +# CONFIG_SENSORS_W83791D is not set +# CONFIG_SENSORS_W83792D is not set +# CONFIG_SENSORS_W83793 is not set +# CONFIG_SENSORS_W83L785TS is not set +# CONFIG_SENSORS_W83L786NG is not set +# CONFIG_SENSORS_W83627HF is not set +# CONFIG_SENSORS_W83627EHF is not set +# CONFIG_HWMON_DEBUG_CHIP is not set +# CONFIG_THERMAL is not set +# CONFIG_THERMAL_HWMON is not set +# CONFIG_WATCHDOG is not set + +# +# Sonics Silicon Backplane +# +CONFIG_SSB_POSSIBLE=y +# CONFIG_SSB is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_ASIC3 is not set +# CONFIG_HTC_EGPIO is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB is not set +# CONFIG_PMIC_DA903X is not set +# CONFIG_MFD_WM8400 is not set +# CONFIG_MFD_WM8350_I2C is not set + +# +# Multimedia devices +# + +# +# Multimedia core support +# +# CONFIG_VIDEO_DEV is not set +# CONFIG_VIDEO_MEDIA is not set + +# +# Multimedia drivers +# +# CONFIG_DAB is not set + +# +# Graphics support +# +# CONFIG_VGASTATE is not set +# CONFIG_VIDEO_OUTPUT_CONTROL is not set +# CONFIG_FB is not set +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set + +# +# Display device support +# +# CONFIG_DISPLAY_SUPPORT is not set + +# +# Console display driver support +# +# CONFIG_VGA_CONSOLE is not set +CONFIG_DUMMY_CONSOLE=y +# CONFIG_SOUND is not set +CONFIG_HID_SUPPORT=y +CONFIG_HID=y +CONFIG_HID_DEBUG=y +# CONFIG_HIDRAW is not set +# CONFIG_HID_PID is not set + +# +# Special HID drivers +# +# CONFIG_HID_COMPAT is not set +CONFIG_USB_SUPPORT=y +CONFIG_USB_ARCH_HAS_HCD=y +# CONFIG_USB_ARCH_HAS_OHCI is not set +# CONFIG_USB_ARCH_HAS_EHCI is not set +# CONFIG_USB is not set + +# +# Enable Host or Gadget support to see Inventra options +# + +# +# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' +# +# CONFIG_USB_GADGET is not set +CONFIG_MMC=y +CONFIG_MMC_DEBUG=y +CONFIG_MMC_UNSAFE_RESUME=y + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_BOUNCE=y +CONFIG_SDIO_UART=y +# CONFIG_MMC_TEST is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_S3C=y +# CONFIG_MEMSTICK is not set +# CONFIG_ACCESSIBILITY is not set +# CONFIG_NEW_LEDS is not set +CONFIG_RTC_LIB=y +# CONFIG_RTC_CLASS is not set +# CONFIG_DMADEVICES is not set + +# +# Voltage and Current regulators +# +# CONFIG_REGULATOR is not set +# CONFIG_REGULATOR_FIXED_VOLTAGE is not set +# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set +# CONFIG_REGULATOR_BQ24022 is not set +# CONFIG_UIO is not set + +# +# File systems +# +CONFIG_EXT2_FS=y +# CONFIG_EXT2_FS_XATTR is not set +# CONFIG_EXT2_FS_XIP is not set +CONFIG_EXT3_FS=y +CONFIG_EXT3_FS_XATTR=y +CONFIG_EXT3_FS_POSIX_ACL=y +CONFIG_EXT3_FS_SECURITY=y +# CONFIG_EXT4_FS is not set +CONFIG_JBD=y +CONFIG_FS_MBCACHE=y +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +CONFIG_FS_POSIX_ACL=y +CONFIG_FILE_LOCKING=y +# CONFIG_XFS_FS is not set +# CONFIG_GFS2_FS is not set +CONFIG_DNOTIFY=y +CONFIG_INOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_QUOTA is not set +# CONFIG_AUTOFS_FS is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_FUSE_FS is not set +CONFIG_GENERIC_ACL=y + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +# CONFIG_MSDOS_FS is not set +# CONFIG_VFAT_FS is not set +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_SYSCTL=y +CONFIG_PROC_PAGE_MONITOR=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +# CONFIG_HUGETLB_PAGE is not set +# CONFIG_CONFIGFS_FS is not set + +# +# Miscellaneous filesystems +# +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +CONFIG_CRAMFS=y +# CONFIG_VXFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +CONFIG_ROMFS_FS=y +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set + +# +# Partition Types +# +# CONFIG_PARTITION_ADVANCED is not set +CONFIG_MSDOS_PARTITION=y +# CONFIG_NLS is not set + +# +# Kernel hacking +# +# CONFIG_PRINTK_TIME is not set +CONFIG_ENABLE_WARN_DEPRECATED=y +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=1024 +CONFIG_MAGIC_SYSRQ=y +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_DEBUG_FS is not set +# CONFIG_HEADERS_CHECK is not set +CONFIG_DEBUG_KERNEL=y +# CONFIG_DEBUG_SHIRQ is not set +CONFIG_DETECT_SOFTLOCKUP=y +# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 +CONFIG_SCHED_DEBUG=y +# CONFIG_SCHEDSTATS is not set +# CONFIG_TIMER_STATS is not set +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +CONFIG_DEBUG_RT_MUTEXES=y +CONFIG_DEBUG_PI_LIST=y +# CONFIG_RT_MUTEX_TESTER is not set +CONFIG_DEBUG_SPINLOCK=y +CONFIG_DEBUG_MUTEXES=y +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_PROVE_LOCKING is not set +# CONFIG_LOCK_STAT is not set +CONFIG_DEBUG_SPINLOCK_SLEEP=y +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_DEBUG_KOBJECT is not set +CONFIG_DEBUG_BUGVERBOSE=y +CONFIG_DEBUG_INFO=y +# CONFIG_DEBUG_VM is not set +# CONFIG_DEBUG_WRITECOUNT is not set +CONFIG_DEBUG_MEMORY_INIT=y +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_SG is not set +CONFIG_FRAME_POINTER=y +# CONFIG_BOOT_PRINTK_DELAY is not set +# CONFIG_RCU_TORTURE_TEST is not set +# CONFIG_RCU_CPU_STALL_DETECTOR is not set +# CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_FAULT_INJECTION is not set +# CONFIG_LATENCYTOP is not set +CONFIG_SYSCTL_SYSCALL_CHECK=y +CONFIG_HAVE_FUNCTION_TRACER=y + +# +# Tracers +# +# CONFIG_FUNCTION_TRACER is not set +# CONFIG_SCHED_TRACER is not set +# CONFIG_CONTEXT_SWITCH_TRACER is not set +# CONFIG_BOOT_TRACER is not set +# CONFIG_STACK_TRACER is not set +# CONFIG_DYNAMIC_PRINTK_DEBUG is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_KGDB is not set +CONFIG_DEBUG_USER=y +CONFIG_DEBUG_ERRORS=y +# CONFIG_DEBUG_STACK_USAGE is not set +CONFIG_DEBUG_LL=y +# CONFIG_DEBUG_ICEDCC is not set +CONFIG_DEBUG_S3C_PORT=y +CONFIG_DEBUG_S3C_UART=0 + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY is not set +# CONFIG_SECURITYFS is not set +# CONFIG_SECURITY_FILE_CAPABILITIES is not set +# CONFIG_CRYPTO is not set + +# +# Library routines +# +CONFIG_BITREVERSE=y +# CONFIG_CRC_CCITT is not set +# CONFIG_CRC16 is not set +# CONFIG_CRC_T10DIF is not set +# CONFIG_CRC_ITU_T is not set +CONFIG_CRC32=y +# CONFIG_CRC7 is not set +# CONFIG_LIBCRC32C is not set +CONFIG_ZLIB_INFLATE=y +CONFIG_PLIST=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_DMA=y diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/configs/smdk6410mtd_defconfig linux-2.6.28.6/arch/arm/configs/smdk6410mtd_defconfig --- linux-2.6.28/arch/arm/configs/smdk6410mtd_defconfig 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/configs/smdk6410mtd_defconfig 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,1468 @@ +# +# Automatically generated make config: don't edit +# Linux kernel version: 2.6.28-rc8 +# Fri Jan 30 14:36:44 2009 +# +CONFIG_ARM=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_GENERIC_GPIO=y +# CONFIG_GENERIC_TIME is not set +# CONFIG_GENERIC_CLOCKEVENTS is not set +CONFIG_MMU=y +CONFIG_NO_IOPORT=y +CONFIG_GENERIC_HARDIRQS=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_RWSEM_GENERIC_SPINLOCK=y +# CONFIG_ARCH_HAS_ILOG2_U32 is not set +# CONFIG_ARCH_HAS_ILOG2_U64 is not set +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" + +# +# General setup +# +CONFIG_EXPERIMENTAL=y +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_LOCALVERSION="" +CONFIG_LOCALVERSION_AUTO=y +CONFIG_SWAP=y +# CONFIG_SYSVIPC is not set +# CONFIG_POSIX_MQUEUE is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set +# CONFIG_AUDIT is not set +# CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=17 +# CONFIG_CGROUPS is not set +# CONFIG_GROUP_SCHED is not set +CONFIG_SYSFS_DEPRECATED=y +CONFIG_SYSFS_DEPRECATED_V2=y +# CONFIG_RELAY is not set +CONFIG_NAMESPACES=y +# CONFIG_UTS_NS is not set +# CONFIG_USER_NS is not set +# CONFIG_PID_NS is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL=y +# CONFIG_EMBEDDED is not set +CONFIG_UID16=y +CONFIG_SYSCTL_SYSCALL=y +CONFIG_KALLSYMS=y +CONFIG_KALLSYMS_ALL=y +# CONFIG_KALLSYMS_EXTRA_PASS is not set +CONFIG_HOTPLUG=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_COMPAT_BRK=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_ANON_INODES=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_SLUB_DEBUG=y +# CONFIG_SLAB is not set +CONFIG_SLUB=y +# CONFIG_SLOB is not set +# CONFIG_PROFILING is not set +# CONFIG_MARKERS is not set +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +CONFIG_HAVE_KPROBES=y +CONFIG_HAVE_KRETPROBES=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +# CONFIG_TINY_SHMEM is not set +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODULE_FORCE_UNLOAD is not set +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +CONFIG_KMOD=y +CONFIG_BLOCK=y +CONFIG_LBD=y +# CONFIG_BLK_DEV_IO_TRACE is not set +CONFIG_LSF=y +# CONFIG_BLK_DEV_BSG is not set +# CONFIG_BLK_DEV_INTEGRITY is not set + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_AS=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +# CONFIG_DEFAULT_AS is not set +# CONFIG_DEFAULT_DEADLINE is not set +CONFIG_DEFAULT_CFQ=y +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="cfq" +CONFIG_CLASSIC_RCU=y +# CONFIG_FREEZER is not set + +# +# System Type +# +# CONFIG_ARCH_AAEC2000 is not set +# CONFIG_ARCH_INTEGRATOR is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_AT91 is not set +# CONFIG_ARCH_CLPS7500 is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_H720X is not set +# CONFIG_ARCH_IMX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP23XX is not set +# CONFIG_ARCH_IXP2000 is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_L7200 is not set +# CONFIG_ARCH_KIRKWOOD is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_NS9XXX is not set +# CONFIG_ARCH_LOKI is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_MXC is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_PNX4008 is not set +# CONFIG_ARCH_PXA is not set +# CONFIG_ARCH_RPC is not set +# CONFIG_ARCH_SA1100 is not set +# CONFIG_ARCH_S3C2410 is not set +CONFIG_ARCH_S3C64XX=y +# CONFIG_ARCH_S5P64XX is not set +# CONFIG_ARCH_S5PC1XX is not set +# CONFIG_ARCH_SHARK is not set +# CONFIG_ARCH_LH7A40X is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP is not set +# CONFIG_ARCH_MSM is not set +CONFIG_PLAT_S3C64XX=y +CONFIG_CPU_S3C6400_INIT=y +CONFIG_CPU_S3C6400_CLOCK=y +CONFIG_S3C64XX_SETUP_I2C0=y +CONFIG_S3C64XX_SETUP_I2C1=y +# CONFIG_S3C64XX_ADC is not set +CONFIG_PLAT_S3C=y + +# +# Boot options +# +CONFIG_S3C_BOOT_ERROR_RESET=y + +# +# Power management +# +CONFIG_S3C_LOWLEVEL_UART_PORT=0 +CONFIG_SPLIT_ROOT_FILESYSTEM=y +CONFIG_S3C_GPIO_SPACE=0 +CONFIG_S3C_GPIO_TRACK=y +CONFIG_S3C_GPIO_PULL_UPDOWN=y +CONFIG_S3C_GPIO_CFG_S3C24XX=y +CONFIG_S3C_GPIO_CFG_S3C64XX=y +CONFIG_S3C_DEV_HSMMC=y +CONFIG_S3C_DEV_HSMMC1=y +CONFIG_S3C_DEV_I2C1=y +CONFIG_S3C_DMA_PL080=y +CONFIG_CPU_S3C6410=y +CONFIG_S3C6410_SETUP_SDHCI=y +CONFIG_MACH_SMDK6410=y +CONFIG_SMDK6410_SD_CH0=y +# CONFIG_SMDK6410_SD_CH1 is not set + +# +# Processor Type +# +CONFIG_CPU_32=y +CONFIG_CPU_V6=y +CONFIG_CPU_32v6K=y +CONFIG_CPU_32v6=y +CONFIG_CPU_ABRT_EV6=y +CONFIG_CPU_PABRT_NOIFAR=y +CONFIG_CPU_CACHE_V6=y +CONFIG_CPU_CACHE_VIPT=y +CONFIG_CPU_COPY_V6=y +CONFIG_CPU_TLB_V6=y +CONFIG_CPU_HAS_ASID=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y + +# +# Processor Features +# +CONFIG_ARM_THUMB=y +# CONFIG_CPU_ICACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_DISABLE is not set +# CONFIG_CPU_BPREDICT_DISABLE is not set +# CONFIG_OUTER_CACHE is not set +CONFIG_ARM_VIC=y + +# +# Bus support +# +# CONFIG_PCI_SYSCALL is not set +# CONFIG_ARCH_SUPPORTS_MSI is not set +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_VMSPLIT_3G=y +# CONFIG_VMSPLIT_2G is not set +# CONFIG_VMSPLIT_1G is not set +CONFIG_PAGE_OFFSET=0xC0000000 +# CONFIG_PREEMPT is not set +CONFIG_HZ=200 +CONFIG_AEABI=y +CONFIG_OABI_COMPAT=y +CONFIG_ARCH_FLATMEM_HAS_HOLES=y +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_FLATMEM_MANUAL=y +# CONFIG_DISCONTIGMEM_MANUAL is not set +# CONFIG_SPARSEMEM_MANUAL is not set +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_PAGEFLAGS_EXTENDED=y +CONFIG_SPLIT_PTLOCK_CPUS=4 +# CONFIG_RESOURCES_64BIT is not set +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=0 +CONFIG_VIRT_TO_BUS=y +CONFIG_UNEVICTABLE_LRU=y +CONFIG_ALIGNMENT_TRAP=y + +# +# Boot options +# +CONFIG_ZBOOT_ROM_TEXT=0 +CONFIG_ZBOOT_ROM_BSS=0 +CONFIG_CMDLINE="root=/dev/mtdblock2 rootfstype=cramfs init=/linuxrc console=ttySAC0,115200 mem=128M" +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set + +# +# CPU Power Management +# +# CONFIG_CPU_FREQ is not set +# CONFIG_CPU_IDLE is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +CONFIG_FPE_NWFPE=y +# CONFIG_FPE_NWFPE_XP is not set +# CONFIG_FPE_FASTFPE is not set +CONFIG_VFP=y + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_HAVE_AOUT=y +# CONFIG_BINFMT_AOUT is not set +# CONFIG_BINFMT_MISC is not set + +# +# Power management options +# +# CONFIG_PM is not set +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_NET=y + +# +# Networking options +# +# CONFIG_PACKET is not set +CONFIG_UNIX=y +CONFIG_XFRM=y +# CONFIG_XFRM_USER is not set +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_XFRM_STATISTICS is not set +# CONFIG_NET_KEY is not set +CONFIG_INET=y +# CONFIG_IP_MULTICAST is not set +# CONFIG_IP_ADVANCED_ROUTER is not set +CONFIG_IP_FIB_HASH=y +CONFIG_IP_PNP=y +# CONFIG_IP_PNP_DHCP is not set +CONFIG_IP_PNP_BOOTP=y +# CONFIG_IP_PNP_RARP is not set +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE is not set +# CONFIG_ARPD is not set +# CONFIG_SYN_COOKIES is not set +# CONFIG_INET_AH is not set +# CONFIG_INET_ESP is not set +# CONFIG_INET_IPCOMP is not set +# CONFIG_INET_XFRM_TUNNEL is not set +# CONFIG_INET_TUNNEL is not set +CONFIG_INET_XFRM_MODE_TRANSPORT=y +CONFIG_INET_XFRM_MODE_TUNNEL=y +CONFIG_INET_XFRM_MODE_BEET=y +# CONFIG_INET_LRO is not set +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +# CONFIG_IPV6 is not set +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NETFILTER is not set +# CONFIG_IP_DCCP is not set +# CONFIG_IP_SCTP is not set +# CONFIG_TIPC is not set +# CONFIG_ATM is not set +# CONFIG_BRIDGE is not set +# CONFIG_NET_DSA is not set +# CONFIG_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_ECONET is not set +# CONFIG_WAN_ROUTER is not set +# CONFIG_NET_SCHED is not set + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +# CONFIG_BT is not set +# CONFIG_AF_RXRPC is not set +# CONFIG_PHONET is not set +# CONFIG_WIRELESS is not set +# CONFIG_RFKILL is not set +# CONFIG_NET_9P is not set + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_CONNECTOR is not set +CONFIG_MTD=y +# CONFIG_MTD_DEBUG is not set +# CONFIG_MTD_CONCAT is not set +CONFIG_MTD_PARTITIONS=y +# CONFIG_MTD_REDBOOT_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set +# CONFIG_MTD_AR7_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_CHAR=y +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_MTD_OOPS is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_SLRAM is not set +# CONFIG_MTD_PHRAM is not set +# CONFIG_MTD_MTDRAM is not set +# CONFIG_MTD_BLOCK2MTD is not set + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOC2000 is not set +# CONFIG_MTD_DOC2001 is not set +# CONFIG_MTD_DOC2001PLUS is not set +CONFIG_MTD_NAND=y +# CONFIG_MTD_NAND_VERIFY_WRITE is not set +# CONFIG_MTD_NAND_ECC_SMC is not set +# CONFIG_MTD_NAND_MUSEUM_IDS is not set +# CONFIG_MTD_NAND_GPIO is not set +CONFIG_MTD_NAND_IDS=y +CONFIG_MTD_NAND_S3C=y +# CONFIG_MTD_NAND_S3C_DEBUG is not set +CONFIG_MTD_NAND_S3C_HWECC=y +# CONFIG_MTD_NAND_DISKONCHIP is not set +# CONFIG_MTD_NAND_NANDSIM is not set +# CONFIG_MTD_NAND_PLATFORM is not set +# CONFIG_MTD_ALAUDA is not set +# CONFIG_MTD_ONENAND is not set + +# +# UBI - Unsorted block images +# +# CONFIG_MTD_UBI is not set +# CONFIG_PARPORT is not set +CONFIG_BLK_DEV=y +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +# CONFIG_BLK_DEV_NBD is not set +# CONFIG_BLK_DEV_UB is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=8192 +# CONFIG_BLK_DEV_XIP is not set +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +CONFIG_MISC_DEVICES=y +# CONFIG_EEPROM_93CX6 is not set +# CONFIG_ICS932S401 is not set +# CONFIG_ENCLOSURE_SERVICES is not set +# CONFIG_C2PORT is not set +CONFIG_HAVE_IDE=y +# CONFIG_IDE is not set + +# +# SCSI device support +# +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_TGT is not set +# CONFIG_SCSI_NETLINK is not set +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +CONFIG_CHR_DEV_SG=y +# CONFIG_CHR_DEV_SCH is not set + +# +# Some SCSI devices (e.g. CD jukebox) support multiple LUNs +# +# CONFIG_SCSI_MULTI_LUN is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set +CONFIG_SCSI_WAIT_SCAN=m + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_DH is not set +# CONFIG_ATA is not set +# CONFIG_MD is not set +CONFIG_NETDEVICES=y +# CONFIG_DUMMY is not set +# CONFIG_BONDING is not set +# CONFIG_MACVLAN is not set +# CONFIG_EQUALIZER is not set +# CONFIG_TUN is not set +# CONFIG_VETH is not set +# CONFIG_PHYLIB is not set +CONFIG_NET_ETHERNET=y +CONFIG_MII=y +# CONFIG_AX88796 is not set +# CONFIG_SMC91X is not set +# CONFIG_DM9000 is not set +CONFIG_SMC911X=y +# CONFIG_IBM_NEW_EMAC_ZMII is not set +# CONFIG_IBM_NEW_EMAC_RGMII is not set +# CONFIG_IBM_NEW_EMAC_TAH is not set +# CONFIG_IBM_NEW_EMAC_EMAC4 is not set +# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set +# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set +# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set +# CONFIG_B44 is not set +CONFIG_NETDEV_1000=y +CONFIG_NETDEV_10000=y + +# +# Wireless LAN +# +# CONFIG_WLAN_PRE80211 is not set +# CONFIG_WLAN_80211 is not set +# CONFIG_IWLWIFI_LEDS is not set + +# +# USB Network Adapters +# +# CONFIG_USB_CATC is not set +# CONFIG_USB_KAWETH is not set +# CONFIG_USB_PEGASUS is not set +# CONFIG_USB_RTL8150 is not set +# CONFIG_USB_USBNET is not set +# CONFIG_WAN is not set +CONFIG_PPP=y +CONFIG_PPP_MULTILINK=y +CONFIG_PPP_FILTER=y +CONFIG_PPP_ASYNC=y +CONFIG_PPP_SYNC_TTY=y +# CONFIG_PPP_DEFLATE is not set +# CONFIG_PPP_BSDCOMP is not set +# CONFIG_PPP_MPPE is not set +# CONFIG_PPPOE is not set +# CONFIG_PPPOL2TP is not set +# CONFIG_SLIP is not set +CONFIG_SLHC=y +# CONFIG_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER is not set +# CONFIG_ISDN is not set + +# +# Input device support +# +CONFIG_INPUT=y +# CONFIG_INPUT_FF_MEMLESS is not set +# CONFIG_INPUT_POLLDEV is not set + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +# CONFIG_INPUT_JOYDEV is not set +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_EVBUG is not set + +# +# Input Device Drivers +# +CONFIG_INPUT_KEYBOARD=y +CONFIG_KEYBOARD_ATKBD=y +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_LKKBD is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_STOWAWAY is not set +# CONFIG_KEYBOARD_GPIO is not set +# CONFIG_KEYPAD_S3C is not set +CONFIG_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=y +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_LIFEBOOK=y +CONFIG_MOUSE_PS2_TRACKPOINT=y +# CONFIG_MOUSE_PS2_ELANTECH is not set +# CONFIG_MOUSE_PS2_TOUCHKIT is not set +# CONFIG_MOUSE_SERIAL is not set +# CONFIG_MOUSE_APPLETOUCH is not set +# CONFIG_MOUSE_BCM5974 is not set +# CONFIG_MOUSE_VSXXXAA is not set +# CONFIG_MOUSE_GPIO is not set +# CONFIG_INPUT_JOYSTICK is not set +# CONFIG_INPUT_TABLET is not set +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_TOUCHSCREEN_S3C=y +CONFIG_TOUCHSCREEN_NEW=y +# CONFIG_TOUCHSCREEN_FUJITSU is not set +# CONFIG_TOUCHSCREEN_GUNZE is not set +# CONFIG_TOUCHSCREEN_ELO is not set +# CONFIG_TOUCHSCREEN_MTOUCH is not set +# CONFIG_TOUCHSCREEN_INEXIO is not set +# CONFIG_TOUCHSCREEN_MK712 is not set +# CONFIG_TOUCHSCREEN_PENMOUNT is not set +# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set +# CONFIG_TOUCHSCREEN_TOUCHWIN is not set +# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set +# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set +# CONFIG_INPUT_MISC is not set + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_SERPORT=y +CONFIG_SERIO_LIBPS2=y +# CONFIG_SERIO_RAW is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_VT_CONSOLE=y +CONFIG_HW_CONSOLE=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +CONFIG_DEVKMEM=y +# CONFIG_SERIAL_NONSTANDARD is not set + +# +# Serial drivers +# +CONFIG_SERIAL_8250=y +# CONFIG_SERIAL_8250_CONSOLE is not set +CONFIG_SERIAL_8250_NR_UARTS=4 +CONFIG_SERIAL_8250_RUNTIME_UARTS=4 +# CONFIG_SERIAL_8250_EXTENDED is not set + +# +# Non-8250 serial port support +# +CONFIG_SERIAL_SAMSUNG=y +CONFIG_SERIAL_SAMSUNG_UARTS=4 +# CONFIG_SERIAL_SAMSUNG_DEBUG is not set +CONFIG_SERIAL_SAMSUNG_CONSOLE=y +CONFIG_SERIAL_S3C6400=y +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +CONFIG_UNIX98_PTYS=y +CONFIG_LEGACY_PTYS=y +CONFIG_LEGACY_PTY_COUNT=256 +# CONFIG_IPMI_HANDLER is not set +CONFIG_HW_RANDOM=y +# CONFIG_NVRAM is not set +# CONFIG_R3964 is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +CONFIG_S3C_MEM=y +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_HELPER_AUTO=y + +# +# I2C Hardware Bus support +# + +# +# I2C system bus drivers (mostly embedded / system-on-chip) +# +# CONFIG_I2C_GPIO is not set +# CONFIG_I2C_OCORES is not set +CONFIG_I2C_S3C2410=y +# CONFIG_I2C_SIMTEC is not set + +# +# External I2C/SMBus adapter drivers +# +# CONFIG_I2C_PARPORT_LIGHT is not set +# CONFIG_I2C_TAOS_EVM is not set +# CONFIG_I2C_TINY_USB is not set + +# +# Other I2C/SMBus bus drivers +# +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_STUB is not set + +# +# Miscellaneous I2C Chip support +# +# CONFIG_DS1682 is not set +CONFIG_AT24=y +# CONFIG_SENSORS_EEPROM is not set +# CONFIG_SENSORS_PCF8574 is not set +# CONFIG_PCF8575 is not set +# CONFIG_SENSORS_PCA9539 is not set +# CONFIG_SENSORS_PCF8591 is not set +# CONFIG_TPS65010 is not set +# CONFIG_SENSORS_MAX6875 is not set +# CONFIG_SENSORS_TSL2550 is not set +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +# CONFIG_I2C_DEBUG_CHIP is not set +# CONFIG_SPI is not set +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_GPIOLIB=y +# CONFIG_DEBUG_GPIO is not set +# CONFIG_GPIO_SYSFS is not set + +# +# Memory mapped GPIO expanders: +# + +# +# I2C GPIO expanders: +# +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set + +# +# PCI GPIO expanders: +# + +# +# SPI GPIO expanders: +# +# CONFIG_W1 is not set +# CONFIG_POWER_SUPPLY is not set +CONFIG_HWMON=y +# CONFIG_HWMON_VID is not set +# CONFIG_SENSORS_AD7414 is not set +# CONFIG_SENSORS_AD7418 is not set +# CONFIG_SENSORS_ADM1021 is not set +# CONFIG_SENSORS_ADM1025 is not set +# CONFIG_SENSORS_ADM1026 is not set +# CONFIG_SENSORS_ADM1029 is not set +# CONFIG_SENSORS_ADM1031 is not set +# CONFIG_SENSORS_ADM9240 is not set +# CONFIG_SENSORS_ADT7462 is not set +# CONFIG_SENSORS_ADT7470 is not set +# CONFIG_SENSORS_ADT7473 is not set +# CONFIG_SENSORS_ATXP1 is not set +# CONFIG_SENSORS_DS1621 is not set +# CONFIG_SENSORS_F71805F is not set +# CONFIG_SENSORS_F71882FG is not set +# CONFIG_SENSORS_F75375S is not set +# CONFIG_SENSORS_GL518SM is not set +# CONFIG_SENSORS_GL520SM is not set +# CONFIG_SENSORS_IT87 is not set +# CONFIG_SENSORS_LM63 is not set +# CONFIG_SENSORS_LM75 is not set +# CONFIG_SENSORS_LM77 is not set +# CONFIG_SENSORS_LM78 is not set +# CONFIG_SENSORS_LM80 is not set +# CONFIG_SENSORS_LM83 is not set +# CONFIG_SENSORS_LM85 is not set +# CONFIG_SENSORS_LM87 is not set +# CONFIG_SENSORS_LM90 is not set +# CONFIG_SENSORS_LM92 is not set +# CONFIG_SENSORS_LM93 is not set +# CONFIG_SENSORS_MAX1619 is not set +# CONFIG_SENSORS_MAX6650 is not set +# CONFIG_SENSORS_PC87360 is not set +# CONFIG_SENSORS_PC87427 is not set +# CONFIG_SENSORS_DME1737 is not set +# CONFIG_SENSORS_SMSC47M1 is not set +# CONFIG_SENSORS_SMSC47M192 is not set +# CONFIG_SENSORS_SMSC47B397 is not set +# CONFIG_SENSORS_ADS7828 is not set +# CONFIG_SENSORS_THMC50 is not set +# CONFIG_SENSORS_VT1211 is not set +# CONFIG_SENSORS_W83781D is not set +# CONFIG_SENSORS_W83791D is not set +# CONFIG_SENSORS_W83792D is not set +# CONFIG_SENSORS_W83793 is not set +# CONFIG_SENSORS_W83L785TS is not set +# CONFIG_SENSORS_W83L786NG is not set +# CONFIG_SENSORS_W83627HF is not set +# CONFIG_SENSORS_W83627EHF is not set +# CONFIG_HWMON_DEBUG_CHIP is not set +# CONFIG_THERMAL is not set +# CONFIG_THERMAL_HWMON is not set +CONFIG_WATCHDOG=y +# CONFIG_WATCHDOG_NOWAYOUT is not set + +# # +# # Watchdog Device Drivers +# # +# # CONFIG_SOFT_WATCHDOG is not set +CONFIG_S3C2410_WATCHDOG=y + +# # +# # ISA-based Watchdog Cards +# # +# # CONFIG_PCWATCHDOG is not set +# # CONFIG_MIXCOMWD is not set +# # CONFIG_WDT is not set + +# +# Sonics Silicon Backplane +# +CONFIG_SSB_POSSIBLE=y +# CONFIG_SSB is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_ASIC3 is not set +# CONFIG_HTC_EGPIO is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB is not set +# CONFIG_PMIC_DA903X is not set +# CONFIG_MFD_WM8400 is not set +# CONFIG_MFD_WM8350_I2C is not set + +# +# Multimedia devices +# + +# +# Multimedia core support +# +# CONFIG_VIDEO_DEV is not set +# CONFIG_DVB_CORE is not set +# CONFIG_VIDEO_MEDIA is not set + +# +# Multimedia drivers +# +# CONFIG_DAB is not set + +# +# Graphics support +# +# CONFIG_VGASTATE is not set +# CONFIG_VIDEO_OUTPUT_CONTROL is not set +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_IMAGEBLIT=y +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +# CONFIG_FB_SYS_FILLRECT is not set +# CONFIG_FB_SYS_COPYAREA is not set +# CONFIG_FB_SYS_IMAGEBLIT is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_SYS_FOPS is not set +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +CONFIG_FB_S3C=y +CONFIG_FB_S3C_LTE480WV=y +# CONFIG_FB_S3C_LTV350QV is not set +# CONFIG_FB_S3C_LTS222QV is not set +CONFIG_FB_S3C_BPP=y +# CONFIG_FB_S3C_BPP_8 is not set +CONFIG_FB_S3C_BPP_16=y +# CONFIG_FB_S3C_BPP_24 is not set +# CONFIG_FB_S3C_BPP_32 is not set +CONFIG_FB_S3C_NUM=1 +# CONFIG_FB_S3C_VIRTUAL_SCREEN is not set +# CONFIG_FB_S3C_DOUBLE_BUFFERING is not set +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_VIRTUAL is not set +# CONFIG_FB_METRONOME is not set +# CONFIG_FB_MB862XX is not set +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set + +# +# Display device support +# +# CONFIG_DISPLAY_SUPPORT is not set + +# +# Console display driver support +# +# CONFIG_VGA_CONSOLE is not set +CONFIG_DUMMY_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set +# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set +# CONFIG_FONTS is not set +CONFIG_FONT_8x8=y +CONFIG_FONT_8x16=y +CONFIG_LOGO=y +# CONFIG_LOGO_LINUX_MONO is not set +# CONFIG_LOGO_LINUX_VGA16 is not set +# CONFIG_LOGO_LINUX_CLUT224 is not set +CONFIG_LOGO_LINUX_LANDSCAPED_CLUT224=y +CONFIG_SOUND=y +# CONFIG_SOUND_OSS_CORE is not set +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +# CONFIG_SND_SEQUENCER is not set +# CONFIG_SND_MIXER_OSS is not set +# CONFIG_SND_PCM_OSS is not set +# CONFIG_SND_DYNAMIC_MINORS is not set +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_VERBOSE_PROCFS=y +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set +CONFIG_SND_DRIVERS=y +# CONFIG_SND_DUMMY is not set +# CONFIG_SND_MTPAV is not set +# CONFIG_SND_SERIAL_U16550 is not set +# CONFIG_SND_MPU401 is not set +CONFIG_SND_ARM=y +CONFIG_SND_USB=y +# CONFIG_SND_USB_AUDIO is not set +# CONFIG_SND_USB_CAIAQ is not set +CONFIG_SND_SOC=y + +# +# SoC Audio for the Samsung S3C +# +CONFIG_SND_S3C64XX_SOC=y +CONFIG_SND_S3C6410_SOC_I2S=y +# CONFIG_SND_S3C64XX_SOC_SMDK6410_WM9713 is not set +CONFIG_SND_S3C64XX_SOC_SMDK6410_WM8580=y +CONFIG_SOUND_WM8580_INPUT_STREAM_LINE=y +# CONFIG_SOUND_WM8580_INPUT_STREAM_MIC is not set +# CONFIG_SND_S3C64XX_SOC_SMDK6410_WM8990 is not set +# CONFIG_SND_SOC_ALL_CODECS is not set +CONFIG_SND_SOC_WM8580=y +# CONFIG_SOUND_PRIME is not set +CONFIG_HID_SUPPORT=y +CONFIG_HID=y +CONFIG_HID_DEBUG=y +# CONFIG_HIDRAW is not set + +# +# USB Input Devices +# +CONFIG_USB_HID=y +# CONFIG_HID_PID is not set +# CONFIG_USB_HIDDEV is not set + +# +# Special HID drivers +# +# CONFIG_HID_COMPAT is not set +CONFIG_HID_A4TECH=y +CONFIG_HID_APPLE=y +CONFIG_HID_BELKIN=y +CONFIG_HID_BRIGHT=y +CONFIG_HID_CHERRY=y +CONFIG_HID_CHICONY=y +CONFIG_HID_CYPRESS=y +CONFIG_HID_DELL=y +CONFIG_HID_EZKEY=y +CONFIG_HID_GYRATION=y +CONFIG_HID_LOGITECH=y +# CONFIG_LOGITECH_FF is not set +# CONFIG_LOGIRUMBLEPAD2_FF is not set +CONFIG_HID_MICROSOFT=y +CONFIG_HID_MONTEREY=y +CONFIG_HID_PANTHERLORD=y +# CONFIG_PANTHERLORD_FF is not set +CONFIG_HID_PETALYNX=y +CONFIG_HID_SAMSUNG=y +CONFIG_HID_SONY=y +CONFIG_HID_SUNPLUS=y +# CONFIG_THRUSTMASTER_FF is not set +# CONFIG_ZEROPLUS_FF is not set +CONFIG_USB_SUPPORT=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB_ARCH_HAS_OHCI=y +# CONFIG_USB_ARCH_HAS_EHCI is not set +CONFIG_USB=y +# CONFIG_USB_DEBUG is not set +# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set + +# +# Miscellaneous USB options +# +CONFIG_USB_DEVICEFS=y +CONFIG_USB_DEVICE_CLASS=y +# CONFIG_USB_DYNAMIC_MINORS is not set +# CONFIG_USB_OTG is not set +# CONFIG_USB_MON is not set +# CONFIG_USB_WUSB is not set +# CONFIG_USB_WUSB_CBAF is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +CONFIG_USB_OHCI_HCD=y +# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_HWA_HCD is not set +# CONFIG_USB_MUSB_HDRC is not set + +# +# USB Device Class drivers +# +# CONFIG_USB_ACM is not set +# CONFIG_USB_PRINTER is not set +# CONFIG_USB_WDM is not set +# CONFIG_USB_TMC is not set + +# +# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; +# + +# +# see USB_STORAGE Help for more information +# +CONFIG_USB_STORAGE=y +# CONFIG_USB_STORAGE_DEBUG is not set +# CONFIG_USB_STORAGE_DATAFAB is not set +# CONFIG_USB_STORAGE_FREECOM is not set +# CONFIG_USB_STORAGE_ISD200 is not set +# CONFIG_USB_STORAGE_DPCM is not set +# CONFIG_USB_STORAGE_USBAT is not set +# CONFIG_USB_STORAGE_SDDR09 is not set +# CONFIG_USB_STORAGE_SDDR55 is not set +# CONFIG_USB_STORAGE_JUMPSHOT is not set +# CONFIG_USB_STORAGE_ALAUDA is not set +# CONFIG_USB_STORAGE_ONETOUCH is not set +# CONFIG_USB_STORAGE_KARMA is not set +# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set +# CONFIG_USB_LIBUSUAL is not set + +# +# USB Imaging devices +# +# CONFIG_USB_MDC800 is not set +# CONFIG_USB_MICROTEK is not set + +# +# USB port drivers +# +# CONFIG_USB_SERIAL is not set + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_ADUTUX is not set +# CONFIG_USB_SEVSEG is not set +# CONFIG_USB_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_BERRY_CHARGE is not set +# CONFIG_USB_LED is not set +# CONFIG_USB_CYPRESS_CY7C63 is not set +# CONFIG_USB_CYTHERM is not set +# CONFIG_USB_PHIDGET is not set +# CONFIG_USB_IDMOUSE is not set +# CONFIG_USB_FTDI_ELAN is not set +# CONFIG_USB_APPLEDISPLAY is not set +# CONFIG_USB_LD is not set +# CONFIG_USB_TRANCEVIBRATOR is not set +# CONFIG_USB_IOWARRIOR is not set +# CONFIG_USB_TEST is not set +# CONFIG_USB_ISIGHTFW is not set +# CONFIG_USB_VST is not set +# CONFIG_USB_GADGET is not set +CONFIG_MMC=y +# CONFIG_MMC_DEBUG is not set +# CONFIG_MMC_UNSAFE_RESUME is not set + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_BOUNCE=y +CONFIG_SDIO_UART=y +# CONFIG_MMC_TEST is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_S3C=y +# CONFIG_MEMSTICK is not set +# CONFIG_ACCESSIBILITY is not set +# CONFIG_NEW_LEDS is not set +CONFIG_RTC_LIB=y +# CONFIG_RTC_CLASS is not set +# CONFIG_DMADEVICES is not set +# CONFIG_REGULATOR is not set +# CONFIG_UIO is not set + +# +# File systems +# +CONFIG_EXT2_FS=y +# CONFIG_EXT2_FS_XATTR is not set +# CONFIG_EXT2_FS_XIP is not set +CONFIG_EXT3_FS=y +CONFIG_EXT3_FS_XATTR=y +CONFIG_EXT3_FS_POSIX_ACL=y +CONFIG_EXT3_FS_SECURITY=y +# CONFIG_EXT4_FS is not set +CONFIG_JBD=y +CONFIG_FS_MBCACHE=y +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +CONFIG_FS_POSIX_ACL=y +CONFIG_FILE_LOCKING=y +# CONFIG_XFS_FS is not set +# CONFIG_GFS2_FS is not set +# CONFIG_OCFS2_FS is not set +CONFIG_DNOTIFY=y +CONFIG_INOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_QUOTA is not set +# CONFIG_AUTOFS_FS is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_FUSE_FS is not set +CONFIG_GENERIC_ACL=y + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_SYSCTL=y +CONFIG_PROC_PAGE_MONITOR=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +# CONFIG_HUGETLB_PAGE is not set +# CONFIG_CONFIGFS_FS is not set + +# +# Miscellaneous filesystems +# +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +# CONFIG_JFFS2_FS is not set +CONFIG_CRAMFS=y +# CONFIG_VXFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +CONFIG_ROMFS_FS=y +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +CONFIG_NETWORK_FILESYSTEMS=y +# CONFIG_NFS_FS is not set +# CONFIG_NFSD is not set +# CONFIG_SMB_FS is not set +# CONFIG_CIFS is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set + +# +# Partition Types +# +# CONFIG_PARTITION_ADVANCED is not set +CONFIG_MSDOS_PARTITION=y +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +# CONFIG_NLS_CODEPAGE_737 is not set +# CONFIG_NLS_CODEPAGE_775 is not set +# CONFIG_NLS_CODEPAGE_850 is not set +# CONFIG_NLS_CODEPAGE_852 is not set +# CONFIG_NLS_CODEPAGE_855 is not set +# CONFIG_NLS_CODEPAGE_857 is not set +# CONFIG_NLS_CODEPAGE_860 is not set +# CONFIG_NLS_CODEPAGE_861 is not set +# CONFIG_NLS_CODEPAGE_862 is not set +# CONFIG_NLS_CODEPAGE_863 is not set +# CONFIG_NLS_CODEPAGE_864 is not set +# CONFIG_NLS_CODEPAGE_865 is not set +# CONFIG_NLS_CODEPAGE_866 is not set +# CONFIG_NLS_CODEPAGE_869 is not set +# CONFIG_NLS_CODEPAGE_936 is not set +# CONFIG_NLS_CODEPAGE_950 is not set +# CONFIG_NLS_CODEPAGE_932 is not set +# CONFIG_NLS_CODEPAGE_949 is not set +# CONFIG_NLS_CODEPAGE_874 is not set +# CONFIG_NLS_ISO8859_8 is not set +# CONFIG_NLS_CODEPAGE_1250 is not set +# CONFIG_NLS_CODEPAGE_1251 is not set +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +# CONFIG_NLS_ISO8859_2 is not set +# CONFIG_NLS_ISO8859_3 is not set +# CONFIG_NLS_ISO8859_4 is not set +# CONFIG_NLS_ISO8859_5 is not set +# CONFIG_NLS_ISO8859_6 is not set +# CONFIG_NLS_ISO8859_7 is not set +# CONFIG_NLS_ISO8859_9 is not set +# CONFIG_NLS_ISO8859_13 is not set +# CONFIG_NLS_ISO8859_14 is not set +# CONFIG_NLS_ISO8859_15 is not set +# CONFIG_NLS_KOI8_R is not set +# CONFIG_NLS_KOI8_U is not set +# CONFIG_NLS_UTF8 is not set +# CONFIG_DLM is not set + +# +# Kernel hacking +# +# CONFIG_PRINTK_TIME is not set +CONFIG_ENABLE_WARN_DEPRECATED=y +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=1024 +CONFIG_MAGIC_SYSRQ=y +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_DEBUG_FS is not set +# CONFIG_HEADERS_CHECK is not set +CONFIG_DEBUG_KERNEL=y +# CONFIG_DEBUG_SHIRQ is not set +CONFIG_DETECT_SOFTLOCKUP=y +# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 +CONFIG_SCHED_DEBUG=y +# CONFIG_SCHEDSTATS is not set +# CONFIG_TIMER_STATS is not set +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +CONFIG_DEBUG_RT_MUTEXES=y +CONFIG_DEBUG_PI_LIST=y +# CONFIG_RT_MUTEX_TESTER is not set +CONFIG_DEBUG_SPINLOCK=y +CONFIG_DEBUG_MUTEXES=y +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_PROVE_LOCKING is not set +# CONFIG_LOCK_STAT is not set +CONFIG_DEBUG_SPINLOCK_SLEEP=y +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_DEBUG_KOBJECT is not set +CONFIG_DEBUG_BUGVERBOSE=y +CONFIG_DEBUG_INFO=y +# CONFIG_DEBUG_VM is not set +# CONFIG_DEBUG_WRITECOUNT is not set +CONFIG_DEBUG_MEMORY_INIT=y +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_SG is not set +CONFIG_FRAME_POINTER=y +# CONFIG_BOOT_PRINTK_DELAY is not set +# CONFIG_RCU_TORTURE_TEST is not set +# CONFIG_RCU_CPU_STALL_DETECTOR is not set +# CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_FAULT_INJECTION is not set +# CONFIG_LATENCYTOP is not set +CONFIG_SYSCTL_SYSCALL_CHECK=y +CONFIG_HAVE_FUNCTION_TRACER=y + +# +# Tracers +# +# CONFIG_FUNCTION_TRACER is not set +# CONFIG_SCHED_TRACER is not set +# CONFIG_CONTEXT_SWITCH_TRACER is not set +# CONFIG_BOOT_TRACER is not set +# CONFIG_STACK_TRACER is not set +# CONFIG_DYNAMIC_PRINTK_DEBUG is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_KGDB is not set +CONFIG_DEBUG_USER=y +CONFIG_DEBUG_ERRORS=y +# CONFIG_DEBUG_STACK_USAGE is not set +CONFIG_DEBUG_LL=y +# CONFIG_DEBUG_ICEDCC is not set +CONFIG_DEBUG_S3C_PORT=y +CONFIG_DEBUG_S3C_UART=0 + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY is not set +# CONFIG_SECURITYFS is not set +# CONFIG_SECURITY_FILE_CAPABILITIES is not set +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +# CONFIG_CRYPTO_FIPS is not set +# CONFIG_CRYPTO_MANAGER is not set +# CONFIG_CRYPTO_MANAGER2 is not set +# CONFIG_CRYPTO_GF128MUL is not set +# CONFIG_CRYPTO_NULL is not set +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST is not set + +# +# Authenticated Encryption with Associated Data +# +# CONFIG_CRYPTO_CCM is not set +# CONFIG_CRYPTO_GCM is not set +# CONFIG_CRYPTO_SEQIV is not set + +# +# Block modes +# +# CONFIG_CRYPTO_CBC is not set +# CONFIG_CRYPTO_CTR is not set +# CONFIG_CRYPTO_CTS is not set +# CONFIG_CRYPTO_ECB is not set +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set + +# +# Hash modes +# +# CONFIG_CRYPTO_HMAC is not set +# CONFIG_CRYPTO_XCBC is not set + +# +# Digest +# +# CONFIG_CRYPTO_CRC32C is not set +# CONFIG_CRYPTO_MD4 is not set +# CONFIG_CRYPTO_MD5 is not set +# CONFIG_CRYPTO_MICHAEL_MIC is not set +# CONFIG_CRYPTO_RMD128 is not set +# CONFIG_CRYPTO_RMD160 is not set +# CONFIG_CRYPTO_RMD256 is not set +# CONFIG_CRYPTO_RMD320 is not set +# CONFIG_CRYPTO_SHA1 is not set +# CONFIG_CRYPTO_SHA256 is not set +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +# CONFIG_CRYPTO_AES is not set +# CONFIG_CRYPTO_ANUBIS is not set +# CONFIG_CRYPTO_ARC4 is not set +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +# CONFIG_CRYPTO_DES is not set +# CONFIG_CRYPTO_FCRYPT is not set +# CONFIG_CRYPTO_KHAZAD is not set +# CONFIG_CRYPTO_SALSA20 is not set +# CONFIG_CRYPTO_SEED is not set +# CONFIG_CRYPTO_SERPENT is not set +# CONFIG_CRYPTO_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set + +# +# Compression +# +# CONFIG_CRYPTO_DEFLATE is not set +# CONFIG_CRYPTO_LZO is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +CONFIG_CRYPTO_HW=y + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_CRC_CCITT=y +# CONFIG_CRC16 is not set +# CONFIG_CRC_T10DIF is not set +# CONFIG_CRC_ITU_T is not set +CONFIG_CRC32=y +# CONFIG_CRC7 is not set +# CONFIG_LIBCRC32C is not set +CONFIG_ZLIB_INFLATE=y +CONFIG_PLIST=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_DMA=y diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/configs/smdk6410nfs_defconfig linux-2.6.28.6/arch/arm/configs/smdk6410nfs_defconfig --- linux-2.6.28/arch/arm/configs/smdk6410nfs_defconfig 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/configs/smdk6410nfs_defconfig 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,1395 @@ +# +# Automatically generated make config: don't edit +# Linux kernel version: 2.6.28-rc4 +# Tue Nov 25 12:51:23 2008 +# +CONFIG_ARM=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_GENERIC_GPIO=y +# CONFIG_GENERIC_TIME is not set +# CONFIG_GENERIC_CLOCKEVENTS is not set +CONFIG_MMU=y +CONFIG_NO_IOPORT=y +CONFIG_GENERIC_HARDIRQS=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_RWSEM_GENERIC_SPINLOCK=y +# CONFIG_ARCH_HAS_ILOG2_U32 is not set +# CONFIG_ARCH_HAS_ILOG2_U64 is not set +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" + +# +# General setup +# +CONFIG_EXPERIMENTAL=y +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_LOCALVERSION="" +CONFIG_LOCALVERSION_AUTO=y +CONFIG_SWAP=y +# CONFIG_SYSVIPC is not set +# CONFIG_POSIX_MQUEUE is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set +# CONFIG_AUDIT is not set +# CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=17 +# CONFIG_CGROUPS is not set +# CONFIG_GROUP_SCHED is not set +CONFIG_SYSFS_DEPRECATED=y +CONFIG_SYSFS_DEPRECATED_V2=y +# CONFIG_RELAY is not set +CONFIG_NAMESPACES=y +# CONFIG_UTS_NS is not set +# CONFIG_USER_NS is not set +# CONFIG_PID_NS is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL=y +# CONFIG_EMBEDDED is not set +CONFIG_UID16=y +CONFIG_SYSCTL_SYSCALL=y +CONFIG_KALLSYMS=y +CONFIG_KALLSYMS_ALL=y +# CONFIG_KALLSYMS_EXTRA_PASS is not set +CONFIG_HOTPLUG=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_COMPAT_BRK=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_ANON_INODES=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_SLUB_DEBUG=y +# CONFIG_SLAB is not set +CONFIG_SLUB=y +# CONFIG_SLOB is not set +# CONFIG_PROFILING is not set +# CONFIG_MARKERS is not set +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +CONFIG_HAVE_KPROBES=y +CONFIG_HAVE_KRETPROBES=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +# CONFIG_TINY_SHMEM is not set +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODULE_FORCE_UNLOAD is not set +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +CONFIG_KMOD=y +CONFIG_BLOCK=y +CONFIG_LBD=y +# CONFIG_BLK_DEV_IO_TRACE is not set +CONFIG_LSF=y +# CONFIG_BLK_DEV_BSG is not set +# CONFIG_BLK_DEV_INTEGRITY is not set + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_AS=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +# CONFIG_DEFAULT_AS is not set +# CONFIG_DEFAULT_DEADLINE is not set +CONFIG_DEFAULT_CFQ=y +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="cfq" +CONFIG_CLASSIC_RCU=y +# CONFIG_FREEZER is not set + +# +# System Type +# +# CONFIG_ARCH_AAEC2000 is not set +# CONFIG_ARCH_INTEGRATOR is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_AT91 is not set +# CONFIG_ARCH_CLPS7500 is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_H720X is not set +# CONFIG_ARCH_IMX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP23XX is not set +# CONFIG_ARCH_IXP2000 is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_L7200 is not set +# CONFIG_ARCH_KIRKWOOD is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_NS9XXX is not set +# CONFIG_ARCH_LOKI is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_MXC is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_PNX4008 is not set +# CONFIG_ARCH_PXA is not set +# CONFIG_ARCH_RPC is not set +# CONFIG_ARCH_SA1100 is not set +# CONFIG_ARCH_S3C2410 is not set +CONFIG_ARCH_S3C64XX=y +# CONFIG_ARCH_S5PC1XX is not set +# CONFIG_ARCH_SHARK is not set +# CONFIG_ARCH_LH7A40X is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP is not set +# CONFIG_ARCH_MSM is not set +CONFIG_PLAT_S3C64XX=y +CONFIG_CPU_S3C6400_INIT=y +CONFIG_CPU_S3C6400_CLOCK=y +CONFIG_S3C64XX_SETUP_I2C0=y +CONFIG_S3C64XX_SETUP_I2C1=y +CONFIG_PLAT_S3C=y + +# +# Boot options +# +CONFIG_S3C_BOOT_ERROR_RESET=y + +# +# Power management +# +CONFIG_S3C_LOWLEVEL_UART_PORT=0 +CONFIG_S3C_GPIO_SPACE=0 +CONFIG_S3C_GPIO_TRACK=y +CONFIG_S3C_GPIO_PULL_UPDOWN=y +CONFIG_S3C_GPIO_CFG_S3C24XX=y +CONFIG_S3C_GPIO_CFG_S3C64XX=y +CONFIG_S3C_DEV_HSMMC=y +CONFIG_S3C_DEV_HSMMC1=y +CONFIG_S3C_DEV_I2C1=y +CONFIG_CPU_S3C6410=y +CONFIG_S3C6410_SETUP_SDHCI=y +CONFIG_MACH_SMDK6410=y +CONFIG_SMDK6410_SD_CH0=y +# CONFIG_SMDK6410_SD_CH1 is not set + +# +# Processor Type +# +CONFIG_CPU_32=y +CONFIG_CPU_V6=y +CONFIG_CPU_32v6K=y +CONFIG_CPU_32v6=y +CONFIG_CPU_ABRT_EV6=y +CONFIG_CPU_PABRT_NOIFAR=y +CONFIG_CPU_CACHE_V6=y +CONFIG_CPU_CACHE_VIPT=y +CONFIG_CPU_COPY_V6=y +CONFIG_CPU_TLB_V6=y +CONFIG_CPU_HAS_ASID=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y + +# +# Processor Features +# +CONFIG_ARM_THUMB=y +# CONFIG_CPU_ICACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_DISABLE is not set +# CONFIG_CPU_BPREDICT_DISABLE is not set +# CONFIG_OUTER_CACHE is not set +CONFIG_ARM_VIC=y + +# +# Bus support +# +# CONFIG_PCI_SYSCALL is not set +# CONFIG_ARCH_SUPPORTS_MSI is not set +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_VMSPLIT_3G=y +# CONFIG_VMSPLIT_2G is not set +# CONFIG_VMSPLIT_1G is not set +CONFIG_PAGE_OFFSET=0xC0000000 +# CONFIG_PREEMPT is not set +CONFIG_HZ=200 +CONFIG_AEABI=y +CONFIG_OABI_COMPAT=y +CONFIG_ARCH_FLATMEM_HAS_HOLES=y +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_FLATMEM_MANUAL=y +# CONFIG_DISCONTIGMEM_MANUAL is not set +# CONFIG_SPARSEMEM_MANUAL is not set +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_PAGEFLAGS_EXTENDED=y +CONFIG_SPLIT_PTLOCK_CPUS=4 +# CONFIG_RESOURCES_64BIT is not set +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=0 +CONFIG_VIRT_TO_BUS=y +CONFIG_UNEVICTABLE_LRU=y +CONFIG_ALIGNMENT_TRAP=y + +# +# Boot options +# +CONFIG_ZBOOT_ROM_TEXT=0 +CONFIG_ZBOOT_ROM_BSS=0 +CONFIG_CMDLINE="root=/dev/nfs rw nfsroot=12.23.106.52:/opt/small_root_eabi ip=192.168.0.20:12.23.106.52:192.168.0.1:255.255.255.0:test::off init=/linuxrc console=ttySAC0,115200 mem=128M" +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set + +# +# CPU Power Management +# +# CONFIG_CPU_IDLE is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +# CONFIG_FPE_NWFPE is not set +# CONFIG_FPE_FASTFPE is not set +CONFIG_VFP=y + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_HAVE_AOUT=y +# CONFIG_BINFMT_AOUT is not set +# CONFIG_BINFMT_MISC is not set + +# +# Power management options +# +# CONFIG_PM is not set +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_NET=y + +# +# Networking options +# +# CONFIG_PACKET is not set +CONFIG_UNIX=y +CONFIG_XFRM=y +# CONFIG_XFRM_USER is not set +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_XFRM_STATISTICS is not set +# CONFIG_NET_KEY is not set +CONFIG_INET=y +# CONFIG_IP_MULTICAST is not set +# CONFIG_IP_ADVANCED_ROUTER is not set +CONFIG_IP_FIB_HASH=y +CONFIG_IP_PNP=y +# CONFIG_IP_PNP_DHCP is not set +CONFIG_IP_PNP_BOOTP=y +# CONFIG_IP_PNP_RARP is not set +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE is not set +# CONFIG_ARPD is not set +# CONFIG_SYN_COOKIES is not set +# CONFIG_INET_AH is not set +# CONFIG_INET_ESP is not set +# CONFIG_INET_IPCOMP is not set +# CONFIG_INET_XFRM_TUNNEL is not set +# CONFIG_INET_TUNNEL is not set +CONFIG_INET_XFRM_MODE_TRANSPORT=y +CONFIG_INET_XFRM_MODE_TUNNEL=y +CONFIG_INET_XFRM_MODE_BEET=y +# CONFIG_INET_LRO is not set +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +# CONFIG_IPV6 is not set +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NETFILTER is not set +# CONFIG_IP_DCCP is not set +# CONFIG_IP_SCTP is not set +# CONFIG_TIPC is not set +# CONFIG_ATM is not set +# CONFIG_BRIDGE is not set +# CONFIG_NET_DSA is not set +# CONFIG_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_ECONET is not set +# CONFIG_WAN_ROUTER is not set +# CONFIG_NET_SCHED is not set + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +# CONFIG_BT is not set +# CONFIG_AF_RXRPC is not set +# CONFIG_PHONET is not set +# CONFIG_WIRELESS is not set +# CONFIG_RFKILL is not set +# CONFIG_NET_9P is not set + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_CONNECTOR is not set +# CONFIG_MTD is not set +# CONFIG_PARPORT is not set +CONFIG_BLK_DEV=y +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +# CONFIG_BLK_DEV_NBD is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=8192 +# CONFIG_BLK_DEV_XIP is not set +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +CONFIG_MISC_DEVICES=y +# CONFIG_EEPROM_93CX6 is not set +# CONFIG_ENCLOSURE_SERVICES is not set +CONFIG_HAVE_IDE=y +# CONFIG_IDE is not set + +# +# SCSI device support +# +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_TGT is not set +# CONFIG_SCSI_NETLINK is not set +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +CONFIG_CHR_DEV_SG=y +# CONFIG_CHR_DEV_SCH is not set + +# +# Some SCSI devices (e.g. CD jukebox) support multiple LUNs +# +# CONFIG_SCSI_MULTI_LUN is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set +CONFIG_SCSI_WAIT_SCAN=m + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_DH is not set +# CONFIG_ATA is not set +# CONFIG_MD is not set +CONFIG_NETDEVICES=y +# CONFIG_DUMMY is not set +# CONFIG_BONDING is not set +# CONFIG_MACVLAN is not set +# CONFIG_EQUALIZER is not set +# CONFIG_TUN is not set +# CONFIG_VETH is not set +# CONFIG_PHYLIB is not set +CONFIG_NET_ETHERNET=y +CONFIG_MII=y +# CONFIG_AX88796 is not set +# CONFIG_SMC91X is not set +# CONFIG_DM9000 is not set +CONFIG_SMC911X=y +# CONFIG_IBM_NEW_EMAC_ZMII is not set +# CONFIG_IBM_NEW_EMAC_RGMII is not set +# CONFIG_IBM_NEW_EMAC_TAH is not set +# CONFIG_IBM_NEW_EMAC_EMAC4 is not set +# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set +# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set +# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set +# CONFIG_B44 is not set +CONFIG_NETDEV_1000=y +CONFIG_NETDEV_10000=y + +# +# Wireless LAN +# +# CONFIG_WLAN_PRE80211 is not set +# CONFIG_WLAN_80211 is not set +# CONFIG_IWLWIFI_LEDS is not set +# CONFIG_WAN is not set +# CONFIG_PPP is not set +# CONFIG_SLIP is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER is not set +# CONFIG_ISDN is not set + +# +# Input device support +# +CONFIG_INPUT=y +# CONFIG_INPUT_FF_MEMLESS is not set +# CONFIG_INPUT_POLLDEV is not set + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +# CONFIG_INPUT_JOYDEV is not set +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_EVBUG is not set + +# +# Input Device Drivers +# +CONFIG_INPUT_KEYBOARD=y +CONFIG_KEYBOARD_ATKBD=y +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_LKKBD is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_STOWAWAY is not set +# CONFIG_KEYBOARD_GPIO is not set +# CONFIG_KEYPAD_S3C is not set +CONFIG_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=y +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_LIFEBOOK=y +CONFIG_MOUSE_PS2_TRACKPOINT=y +# CONFIG_MOUSE_PS2_ELANTECH is not set +# CONFIG_MOUSE_PS2_TOUCHKIT is not set +# CONFIG_MOUSE_SERIAL is not set +# CONFIG_MOUSE_APPLETOUCH is not set +# CONFIG_MOUSE_BCM5974 is not set +# CONFIG_MOUSE_VSXXXAA is not set +# CONFIG_MOUSE_GPIO is not set +# CONFIG_INPUT_JOYSTICK is not set +# CONFIG_INPUT_TABLET is not set +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_TOUCHSCREEN_S3C=y +# CONFIG_TOUCHSCREEN_FUJITSU is not set +# CONFIG_TOUCHSCREEN_GUNZE is not set +# CONFIG_TOUCHSCREEN_ELO is not set +# CONFIG_TOUCHSCREEN_MTOUCH is not set +# CONFIG_TOUCHSCREEN_INEXIO is not set +# CONFIG_TOUCHSCREEN_MK712 is not set +# CONFIG_TOUCHSCREEN_PENMOUNT is not set +# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set +# CONFIG_TOUCHSCREEN_TOUCHWIN is not set +# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set +# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set +# CONFIG_INPUT_MISC is not set + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_SERPORT=y +CONFIG_SERIO_LIBPS2=y +# CONFIG_SERIO_RAW is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_VT_CONSOLE=y +CONFIG_HW_CONSOLE=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +CONFIG_DEVKMEM=y +# CONFIG_SERIAL_NONSTANDARD is not set + +# +# Serial drivers +# +CONFIG_SERIAL_8250=y +# CONFIG_SERIAL_8250_CONSOLE is not set +CONFIG_SERIAL_8250_NR_UARTS=4 +CONFIG_SERIAL_8250_RUNTIME_UARTS=4 +# CONFIG_SERIAL_8250_EXTENDED is not set + +# +# Non-8250 serial port support +# +CONFIG_SERIAL_SAMSUNG=y +CONFIG_SERIAL_SAMSUNG_UARTS=4 +# CONFIG_SERIAL_SAMSUNG_DEBUG is not set +CONFIG_SERIAL_SAMSUNG_CONSOLE=y +CONFIG_SERIAL_S3C6400=y +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +CONFIG_UNIX98_PTYS=y +CONFIG_LEGACY_PTYS=y +CONFIG_LEGACY_PTY_COUNT=256 +# CONFIG_IPMI_HANDLER is not set +CONFIG_HW_RANDOM=y +# CONFIG_NVRAM is not set +# CONFIG_S3C_ADC is not set +# CONFIG_R3964 is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_HELPER_AUTO=y + +# +# I2C Hardware Bus support +# + +# +# I2C system bus drivers (mostly embedded / system-on-chip) +# +# CONFIG_I2C_GPIO is not set +# CONFIG_I2C_OCORES is not set +CONFIG_I2C_S3C2410=y +# CONFIG_I2C_SIMTEC is not set + +# +# External I2C/SMBus adapter drivers +# +# CONFIG_I2C_PARPORT_LIGHT is not set +# CONFIG_I2C_TAOS_EVM is not set + +# +# Other I2C/SMBus bus drivers +# +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_STUB is not set + +# +# Miscellaneous I2C Chip support +# +# CONFIG_DS1682 is not set +CONFIG_AT24=y +# CONFIG_SENSORS_EEPROM is not set +# CONFIG_SENSORS_PCF8574 is not set +# CONFIG_PCF8575 is not set +# CONFIG_SENSORS_PCA9539 is not set +# CONFIG_SENSORS_PCF8591 is not set +# CONFIG_TPS65010 is not set +# CONFIG_SENSORS_MAX6875 is not set +# CONFIG_SENSORS_TSL2550 is not set +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +# CONFIG_I2C_DEBUG_CHIP is not set +# CONFIG_SPI is not set +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_GPIOLIB=y +# CONFIG_DEBUG_GPIO is not set +# CONFIG_GPIO_SYSFS is not set + +# +# I2C GPIO expanders: +# +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set + +# +# PCI GPIO expanders: +# + +# +# SPI GPIO expanders: +# +# CONFIG_W1 is not set +# CONFIG_POWER_SUPPLY is not set +CONFIG_HWMON=y +# CONFIG_HWMON_VID is not set +# CONFIG_SENSORS_AD7414 is not set +# CONFIG_SENSORS_AD7418 is not set +# CONFIG_SENSORS_ADM1021 is not set +# CONFIG_SENSORS_ADM1025 is not set +# CONFIG_SENSORS_ADM1026 is not set +# CONFIG_SENSORS_ADM1029 is not set +# CONFIG_SENSORS_ADM1031 is not set +# CONFIG_SENSORS_ADM9240 is not set +# CONFIG_SENSORS_ADT7470 is not set +# CONFIG_SENSORS_ADT7473 is not set +# CONFIG_SENSORS_ATXP1 is not set +# CONFIG_SENSORS_DS1621 is not set +# CONFIG_SENSORS_F71805F is not set +# CONFIG_SENSORS_F71882FG is not set +# CONFIG_SENSORS_F75375S is not set +# CONFIG_SENSORS_GL518SM is not set +# CONFIG_SENSORS_GL520SM is not set +# CONFIG_SENSORS_IT87 is not set +# CONFIG_SENSORS_LM63 is not set +# CONFIG_SENSORS_LM75 is not set +# CONFIG_SENSORS_LM77 is not set +# CONFIG_SENSORS_LM78 is not set +# CONFIG_SENSORS_LM80 is not set +# CONFIG_SENSORS_LM83 is not set +# CONFIG_SENSORS_LM85 is not set +# CONFIG_SENSORS_LM87 is not set +# CONFIG_SENSORS_LM90 is not set +# CONFIG_SENSORS_LM92 is not set +# CONFIG_SENSORS_LM93 is not set +# CONFIG_SENSORS_MAX1619 is not set +# CONFIG_SENSORS_MAX6650 is not set +# CONFIG_SENSORS_PC87360 is not set +# CONFIG_SENSORS_PC87427 is not set +# CONFIG_SENSORS_DME1737 is not set +# CONFIG_SENSORS_SMSC47M1 is not set +# CONFIG_SENSORS_SMSC47M192 is not set +# CONFIG_SENSORS_SMSC47B397 is not set +# CONFIG_SENSORS_ADS7828 is not set +# CONFIG_SENSORS_THMC50 is not set +# CONFIG_SENSORS_VT1211 is not set +# CONFIG_SENSORS_W83781D is not set +# CONFIG_SENSORS_W83791D is not set +# CONFIG_SENSORS_W83792D is not set +# CONFIG_SENSORS_W83793 is not set +# CONFIG_SENSORS_W83L785TS is not set +# CONFIG_SENSORS_W83L786NG is not set +# CONFIG_SENSORS_W83627HF is not set +# CONFIG_SENSORS_W83627EHF is not set +# CONFIG_HWMON_DEBUG_CHIP is not set +# CONFIG_THERMAL is not set +# CONFIG_THERMAL_HWMON is not set +CONFIG_WATCHDOG=y +# CONFIG_WATCHDOG_NOWAYOUT is not set + +# # +# # Watchdog Device Drivers +# # +# # CONFIG_SOFT_WATCHDOG is not set +CONFIG_S3C2410_WATCHDOG=y + +# # +# # ISA-based Watchdog Cards +# # +# # CONFIG_PCWATCHDOG is not set +# # CONFIG_MIXCOMWD is not set +# # CONFIG_WDT is not set + +# +# Sonics Silicon Backplane +# +CONFIG_SSB_POSSIBLE=y +# CONFIG_SSB is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_ASIC3 is not set +# CONFIG_HTC_EGPIO is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB is not set +# CONFIG_PMIC_DA903X is not set +# CONFIG_MFD_WM8400 is not set +# CONFIG_MFD_WM8350_I2C is not set + +# +# Multimedia devices +# + +# +# Multimedia core support +# +# CONFIG_VIDEO_DEV is not set +# CONFIG_DVB_CORE is not set +# CONFIG_VIDEO_MEDIA is not set + +# +# Multimedia drivers +# +# CONFIG_DAB is not set + +# +# Graphics support +# +# CONFIG_VGASTATE is not set +# CONFIG_VIDEO_OUTPUT_CONTROL is not set +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_IMAGEBLIT=y +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +# CONFIG_FB_SYS_FILLRECT is not set +# CONFIG_FB_SYS_COPYAREA is not set +# CONFIG_FB_SYS_IMAGEBLIT is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_SYS_FOPS is not set +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +CONFIG_FB_S3C=y +CONFIG_FB_S3C_LTE480WV=y +# CONFIG_FB_S3C_LTV350QV is not set +# CONFIG_FB_S3C_LTS222QV is not set +CONFIG_FB_S3C_BPP=y +# CONFIG_FB_S3C_BPP_8 is not set +CONFIG_FB_S3C_BPP_16=y +# CONFIG_FB_S3C_BPP_24 is not set +# CONFIG_FB_S3C_BPP_32 is not set +CONFIG_FB_S3C_NUM=1 +# CONFIG_FB_S3C_VIRTUAL_SCREEN is not set +# CONFIG_FB_S3C_DOUBLE_BUFFERING is not set +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_VIRTUAL is not set +# CONFIG_FB_METRONOME is not set +# CONFIG_FB_MB862XX is not set +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set + +# +# Display device support +# +# CONFIG_DISPLAY_SUPPORT is not set + +# +# Console display driver support +# +# CONFIG_VGA_CONSOLE is not set +CONFIG_DUMMY_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set +# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set +# CONFIG_FONTS is not set +CONFIG_FONT_8x8=y +CONFIG_FONT_8x16=y +CONFIG_LOGO=y +# CONFIG_LOGO_LINUX_MONO is not set +# CONFIG_LOGO_LINUX_VGA16 is not set +# CONFIG_LOGO_LINUX_CLUT224 is not set +CONFIG_LOGO_LINUX_LANDSCAPED_CLUT224=y +CONFIG_SOUND=y +# CONFIG_SOUND_OSS_CORE is not set +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +# CONFIG_SND_SEQUENCER is not set +# CONFIG_SND_MIXER_OSS is not set +# CONFIG_SND_PCM_OSS is not set +# CONFIG_SND_DYNAMIC_MINORS is not set +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_VERBOSE_PROCFS=y +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set +CONFIG_SND_DRIVERS=y +# CONFIG_SND_DUMMY is not set +# CONFIG_SND_MTPAV is not set +# CONFIG_SND_SERIAL_U16550 is not set +# CONFIG_SND_MPU401 is not set +CONFIG_SND_ARM=y +CONFIG_SND_SOC=y + +# +# SoC Audio for the Samsung S3C +# +CONFIG_SND_S3C64XX_SOC=y +CONFIG_SND_S3C6410_SOC_I2S=y +# CONFIG_SND_S3C64XX_SOC_SMDK6410_WM9713 is not set +CONFIG_SND_S3C64XX_SOC_SMDK6410_WM8580=y +CONFIG_SOUND_WM8580_INPUT_STREAM_LINE=y +# CONFIG_SOUND_WM8580_INPUT_STREAM_MIC is not set +# CONFIG_SND_S3C64XX_SOC_SMDK6410_WM8990 is not set +# CONFIG_SND_SOC_ALL_CODECS is not set +CONFIG_SND_SOC_WM8580=y +# CONFIG_SOUND_PRIME is not set +CONFIG_HID_SUPPORT=y +CONFIG_HID=y +CONFIG_HID_DEBUG=y +# CONFIG_HIDRAW is not set +# CONFIG_HID_PID is not set + +# +# Special HID drivers +# +# CONFIG_HID_COMPAT is not set +CONFIG_HID_A4TECH=y +CONFIG_HID_APPLE=y +CONFIG_HID_BELKIN=y +CONFIG_HID_BRIGHT=y +CONFIG_HID_CHERRY=y +CONFIG_HID_CHICONY=y +CONFIG_HID_CYPRESS=y +CONFIG_HID_DELL=y +CONFIG_HID_EZKEY=y +CONFIG_HID_GYRATION=y +CONFIG_HID_LOGITECH=y +# CONFIG_LOGITECH_FF is not set +# CONFIG_LOGIRUMBLEPAD2_FF is not set +CONFIG_HID_MICROSOFT=y +CONFIG_HID_MONTEREY=y +CONFIG_HID_PANTHERLORD=y +# CONFIG_PANTHERLORD_FF is not set +CONFIG_HID_PETALYNX=y +CONFIG_HID_SAMSUNG=y +CONFIG_HID_SONY=y +CONFIG_HID_SUNPLUS=y +# CONFIG_THRUSTMASTER_FF is not set +# CONFIG_ZEROPLUS_FF is not set +CONFIG_USB_SUPPORT=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB_ARCH_HAS_OHCI=y +# CONFIG_USB_ARCH_HAS_EHCI is not set +CONFIG_USB=y +# CONFIG_USB_DEBUG is not set +# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set + +# +# Miscellaneous USB options +# +CONFIG_USB_DEVICEFS=y +CONFIG_USB_DEVICE_CLASS=y +# CONFIG_USB_DYNAMIC_MINORS is not set +# CONFIG_USB_OTG is not set +# CONFIG_USB_MON is not set +# CONFIG_USB_WUSB is not set +# CONFIG_USB_WUSB_CBAF is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +CONFIG_USB_OHCI_HCD=y +# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_HWA_HCD is not set +# CONFIG_USB_MUSB_HDRC is not set +# CONFIG_USB_GADGET_MUSB_HDRC is not set + +# +# USB Device Class drivers +# +# CONFIG_USB_ACM is not set +# CONFIG_USB_PRINTER is not set +# CONFIG_USB_WDM is not set +# CONFIG_USB_TMC is not set + +# +# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; +# + +# +# see USB_STORAGE Help for more information +# +CONFIG_USB_STORAGE=y +# CONFIG_USB_STORAGE_DEBUG is not set +# CONFIG_USB_STORAGE_DATAFAB is not set +# CONFIG_USB_STORAGE_FREECOM is not set +# CONFIG_USB_STORAGE_ISD200 is not set +# CONFIG_USB_STORAGE_DPCM is not set +# CONFIG_USB_STORAGE_USBAT is not set +# CONFIG_USB_STORAGE_SDDR09 is not set +# CONFIG_USB_STORAGE_SDDR55 is not set +# CONFIG_USB_STORAGE_JUMPSHOT is not set +# CONFIG_USB_STORAGE_ALAUDA is not set +# CONFIG_USB_STORAGE_ONETOUCH is not set +# CONFIG_USB_STORAGE_KARMA is not set +# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set +# CONFIG_USB_LIBUSUAL is not set + +# +# USB Imaging devices +# +# CONFIG_USB_MDC800 is not set +# CONFIG_USB_MICROTEK is not set + +# +# USB port drivers +# +# CONFIG_USB_SERIAL is not set + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_ADUTUX is not set +# CONFIG_USB_SEVSEG is not set +# CONFIG_USB_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_BERRY_CHARGE is not set +# CONFIG_USB_LED is not set +# CONFIG_USB_CYPRESS_CY7C63 is not set +# CONFIG_USB_CYTHERM is not set +# CONFIG_USB_PHIDGET is not set +# CONFIG_USB_IDMOUSE is not set +# CONFIG_USB_FTDI_ELAN is not set +# CONFIG_USB_APPLEDISPLAY is not set +# CONFIG_USB_LD is not set +# CONFIG_USB_TRANCEVIBRATOR is not set +# CONFIG_USB_IOWARRIOR is not set +# CONFIG_USB_TEST is not set +# CONFIG_USB_ISIGHTFW is not set +# CONFIG_USB_VST is not set +# CONFIG_USB_GADGET is not set +# CONFIG_USB_GADGET_AT91 is not set +# CONFIG_USB_GADGET_ATMEL_USBA is not set +# CONFIG_USB_GADGET_FSL_USB2 is not set +# CONFIG_USB_GADGET_LH7A40X is not set +# CONFIG_USB_GADGET_OMAP is not set +# CONFIG_USB_GADGET_PXA25X is not set +# CONFIG_USB_GADGET_PXA27X is not set +# CONFIG_USB_GADGET_S3C2410 is not set +# CONFIG_USB_GADGET_S3C_OTGD is not set +# CONFIG_USB_GADGET_M66592 is not set +# CONFIG_USB_GADGET_AMD5536UDC is not set +# CONFIG_USB_GADGET_FSL_QE is not set +# CONFIG_USB_GADGET_NET2280 is not set +# CONFIG_USB_GADGET_GOKU is not set +# CONFIG_USB_GADGET_DUMMY_HCD is not set +# CONFIG_USB_ZERO is not set +# CONFIG_USB_ETH is not set +# CONFIG_USB_GADGETFS is not set +# CONFIG_USB_FILE_STORAGE is not set +# CONFIG_USB_G_SERIAL is not set +# CONFIG_USB_MIDI_GADGET is not set +# CONFIG_USB_G_PRINTER is not set +# CONFIG_USB_CDC_COMPOSITE is not set +CONFIG_MMC=y +# CONFIG_MMC_DEBUG is not set +# CONFIG_MMC_UNSAFE_RESUME is not set + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_BOUNCE=y +CONFIG_SDIO_UART=y +# CONFIG_MMC_TEST is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_S3C=y +# CONFIG_MEMSTICK is not set +# CONFIG_ACCESSIBILITY is not set +# CONFIG_NEW_LEDS is not set +CONFIG_RTC_LIB=y +# CONFIG_RTC_CLASS is not set +# CONFIG_DMADEVICES is not set +# CONFIG_REGULATOR is not set +# CONFIG_UIO is not set + +# +# File systems +# +CONFIG_EXT2_FS=y +# CONFIG_EXT2_FS_XATTR is not set +# CONFIG_EXT2_FS_XIP is not set +CONFIG_EXT3_FS=y +CONFIG_EXT3_FS_XATTR=y +CONFIG_EXT3_FS_POSIX_ACL=y +CONFIG_EXT3_FS_SECURITY=y +# CONFIG_EXT4_FS is not set +CONFIG_JBD=y +CONFIG_FS_MBCACHE=y +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +CONFIG_FS_POSIX_ACL=y +CONFIG_FILE_LOCKING=y +# CONFIG_XFS_FS is not set +# CONFIG_GFS2_FS is not set +# CONFIG_OCFS2_FS is not set +CONFIG_DNOTIFY=y +CONFIG_INOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_QUOTA is not set +# CONFIG_AUTOFS_FS is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_FUSE_FS is not set +CONFIG_GENERIC_ACL=y + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_SYSCTL=y +CONFIG_PROC_PAGE_MONITOR=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +# CONFIG_HUGETLB_PAGE is not set +# CONFIG_CONFIGFS_FS is not set + +# +# Miscellaneous filesystems +# +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +CONFIG_CRAMFS=y +# CONFIG_VXFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +CONFIG_ROMFS_FS=y +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V3=y +CONFIG_NFS_V3_ACL=y +# CONFIG_NFS_V4 is not set +CONFIG_ROOT_NFS=y +# CONFIG_NFSD is not set +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_ACL_SUPPORT=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +# CONFIG_SUNRPC_REGISTER_V4 is not set +# CONFIG_RPCSEC_GSS_KRB5 is not set +# CONFIG_RPCSEC_GSS_SPKM3 is not set +# CONFIG_SMB_FS is not set +# CONFIG_CIFS is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set +CONFIG_MSDOS_PARTITION=y +CONFIG_BSD_DISKLABEL=y +# CONFIG_MINIX_SUBPARTITION is not set +CONFIG_SOLARIS_X86_PARTITION=y +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +# CONFIG_EFI_PARTITION is not set +# CONFIG_SYSV68_PARTITION is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +# CONFIG_NLS_CODEPAGE_737 is not set +# CONFIG_NLS_CODEPAGE_775 is not set +# CONFIG_NLS_CODEPAGE_850 is not set +# CONFIG_NLS_CODEPAGE_852 is not set +# CONFIG_NLS_CODEPAGE_855 is not set +# CONFIG_NLS_CODEPAGE_857 is not set +# CONFIG_NLS_CODEPAGE_860 is not set +# CONFIG_NLS_CODEPAGE_861 is not set +# CONFIG_NLS_CODEPAGE_862 is not set +# CONFIG_NLS_CODEPAGE_863 is not set +# CONFIG_NLS_CODEPAGE_864 is not set +# CONFIG_NLS_CODEPAGE_865 is not set +# CONFIG_NLS_CODEPAGE_866 is not set +# CONFIG_NLS_CODEPAGE_869 is not set +# CONFIG_NLS_CODEPAGE_936 is not set +# CONFIG_NLS_CODEPAGE_950 is not set +# CONFIG_NLS_CODEPAGE_932 is not set +# CONFIG_NLS_CODEPAGE_949 is not set +# CONFIG_NLS_CODEPAGE_874 is not set +# CONFIG_NLS_ISO8859_8 is not set +# CONFIG_NLS_CODEPAGE_1250 is not set +# CONFIG_NLS_CODEPAGE_1251 is not set +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +# CONFIG_NLS_ISO8859_2 is not set +# CONFIG_NLS_ISO8859_3 is not set +# CONFIG_NLS_ISO8859_4 is not set +# CONFIG_NLS_ISO8859_5 is not set +# CONFIG_NLS_ISO8859_6 is not set +# CONFIG_NLS_ISO8859_7 is not set +# CONFIG_NLS_ISO8859_9 is not set +# CONFIG_NLS_ISO8859_13 is not set +# CONFIG_NLS_ISO8859_14 is not set +# CONFIG_NLS_ISO8859_15 is not set +# CONFIG_NLS_KOI8_R is not set +# CONFIG_NLS_KOI8_U is not set +# CONFIG_NLS_UTF8 is not set +# CONFIG_DLM is not set + +# +# Kernel hacking +# +# CONFIG_PRINTK_TIME is not set +CONFIG_ENABLE_WARN_DEPRECATED=y +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=1024 +CONFIG_MAGIC_SYSRQ=y +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_DEBUG_FS is not set +# CONFIG_HEADERS_CHECK is not set +CONFIG_DEBUG_KERNEL=y +# CONFIG_DEBUG_SHIRQ is not set +CONFIG_DETECT_SOFTLOCKUP=y +# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 +CONFIG_SCHED_DEBUG=y +# CONFIG_SCHEDSTATS is not set +# CONFIG_TIMER_STATS is not set +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +CONFIG_DEBUG_RT_MUTEXES=y +CONFIG_DEBUG_PI_LIST=y +# CONFIG_RT_MUTEX_TESTER is not set +CONFIG_DEBUG_SPINLOCK=y +CONFIG_DEBUG_MUTEXES=y +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_PROVE_LOCKING is not set +# CONFIG_LOCK_STAT is not set +CONFIG_DEBUG_SPINLOCK_SLEEP=y +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_DEBUG_KOBJECT is not set +CONFIG_DEBUG_BUGVERBOSE=y +CONFIG_DEBUG_INFO=y +# CONFIG_DEBUG_VM is not set +# CONFIG_DEBUG_WRITECOUNT is not set +CONFIG_DEBUG_MEMORY_INIT=y +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_SG is not set +CONFIG_FRAME_POINTER=y +# CONFIG_BOOT_PRINTK_DELAY is not set +# CONFIG_RCU_TORTURE_TEST is not set +# CONFIG_RCU_CPU_STALL_DETECTOR is not set +# CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_FAULT_INJECTION is not set +# CONFIG_LATENCYTOP is not set +CONFIG_SYSCTL_SYSCALL_CHECK=y +CONFIG_HAVE_FUNCTION_TRACER=y + +# +# Tracers +# +# CONFIG_FUNCTION_TRACER is not set +# CONFIG_SCHED_TRACER is not set +# CONFIG_CONTEXT_SWITCH_TRACER is not set +# CONFIG_BOOT_TRACER is not set +# CONFIG_STACK_TRACER is not set +# CONFIG_DYNAMIC_PRINTK_DEBUG is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_KGDB is not set +CONFIG_DEBUG_USER=y +CONFIG_DEBUG_ERRORS=y +# CONFIG_DEBUG_STACK_USAGE is not set +CONFIG_DEBUG_LL=y +# CONFIG_DEBUG_ICEDCC is not set +CONFIG_DEBUG_S3C_PORT=y +CONFIG_DEBUG_S3C_UART=0 + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY is not set +# CONFIG_SECURITYFS is not set +# CONFIG_SECURITY_FILE_CAPABILITIES is not set +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +# CONFIG_CRYPTO_FIPS is not set +# CONFIG_CRYPTO_MANAGER is not set +# CONFIG_CRYPTO_GF128MUL is not set +# CONFIG_CRYPTO_NULL is not set +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST is not set + +# +# Authenticated Encryption with Associated Data +# +# CONFIG_CRYPTO_CCM is not set +# CONFIG_CRYPTO_GCM is not set +# CONFIG_CRYPTO_SEQIV is not set + +# +# Block modes +# +# CONFIG_CRYPTO_CBC is not set +# CONFIG_CRYPTO_CTR is not set +# CONFIG_CRYPTO_CTS is not set +# CONFIG_CRYPTO_ECB is not set +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set + +# +# Hash modes +# +# CONFIG_CRYPTO_HMAC is not set +# CONFIG_CRYPTO_XCBC is not set + +# +# Digest +# +# CONFIG_CRYPTO_CRC32C is not set +# CONFIG_CRYPTO_MD4 is not set +# CONFIG_CRYPTO_MD5 is not set +# CONFIG_CRYPTO_MICHAEL_MIC is not set +# CONFIG_CRYPTO_RMD128 is not set +# CONFIG_CRYPTO_RMD160 is not set +# CONFIG_CRYPTO_RMD256 is not set +# CONFIG_CRYPTO_RMD320 is not set +# CONFIG_CRYPTO_SHA1 is not set +# CONFIG_CRYPTO_SHA256 is not set +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +# CONFIG_CRYPTO_AES is not set +# CONFIG_CRYPTO_ANUBIS is not set +# CONFIG_CRYPTO_ARC4 is not set +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +# CONFIG_CRYPTO_DES is not set +# CONFIG_CRYPTO_FCRYPT is not set +# CONFIG_CRYPTO_KHAZAD is not set +# CONFIG_CRYPTO_SALSA20 is not set +# CONFIG_CRYPTO_SEED is not set +# CONFIG_CRYPTO_SERPENT is not set +# CONFIG_CRYPTO_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set + +# +# Compression +# +# CONFIG_CRYPTO_DEFLATE is not set +# CONFIG_CRYPTO_LZO is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +CONFIG_CRYPTO_HW=y + +# +# Library routines +# +CONFIG_BITREVERSE=y +# CONFIG_CRC_CCITT is not set +# CONFIG_CRC16 is not set +# CONFIG_CRC_T10DIF is not set +# CONFIG_CRC_ITU_T is not set +CONFIG_CRC32=y +# CONFIG_CRC7 is not set +# CONFIG_LIBCRC32C is not set +CONFIG_ZLIB_INFLATE=y +CONFIG_PLIST=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_DMA=y diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/configs/smdk6410onenand_defconfig linux-2.6.28.6/arch/arm/configs/smdk6410onenand_defconfig --- linux-2.6.28/arch/arm/configs/smdk6410onenand_defconfig 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/configs/smdk6410onenand_defconfig 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,1267 @@ +# +# Automatically generated make config: don't edit +# Linux kernel version: 2.6.28-rc8 +# Thu Jan 15 18:17:50 2009 +# +CONFIG_ARM=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_GENERIC_GPIO=y +# CONFIG_GENERIC_TIME is not set +# CONFIG_GENERIC_CLOCKEVENTS is not set +CONFIG_MMU=y +CONFIG_NO_IOPORT=y +CONFIG_GENERIC_HARDIRQS=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_RWSEM_GENERIC_SPINLOCK=y +# CONFIG_ARCH_HAS_ILOG2_U32 is not set +# CONFIG_ARCH_HAS_ILOG2_U64 is not set +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" + +# +# General setup +# +CONFIG_EXPERIMENTAL=y +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_LOCALVERSION="" +CONFIG_LOCALVERSION_AUTO=y +CONFIG_SWAP=y +# CONFIG_SYSVIPC is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=17 +# CONFIG_CGROUPS is not set +# CONFIG_GROUP_SCHED is not set +CONFIG_SYSFS_DEPRECATED=y +CONFIG_SYSFS_DEPRECATED_V2=y +# CONFIG_RELAY is not set +CONFIG_NAMESPACES=y +# CONFIG_UTS_NS is not set +# CONFIG_USER_NS is not set +# CONFIG_PID_NS is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL=y +# CONFIG_EMBEDDED is not set +CONFIG_UID16=y +CONFIG_SYSCTL_SYSCALL=y +CONFIG_KALLSYMS=y +CONFIG_KALLSYMS_ALL=y +# CONFIG_KALLSYMS_EXTRA_PASS is not set +CONFIG_HOTPLUG=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_COMPAT_BRK=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_ANON_INODES=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_SLUB_DEBUG=y +# CONFIG_SLAB is not set +CONFIG_SLUB=y +# CONFIG_SLOB is not set +# CONFIG_PROFILING is not set +# CONFIG_MARKERS is not set +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +CONFIG_HAVE_KPROBES=y +CONFIG_HAVE_KRETPROBES=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +# CONFIG_TINY_SHMEM is not set +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODULE_FORCE_UNLOAD is not set +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +CONFIG_KMOD=y +CONFIG_BLOCK=y +CONFIG_LBD=y +# CONFIG_BLK_DEV_IO_TRACE is not set +CONFIG_LSF=y +# CONFIG_BLK_DEV_BSG is not set +# CONFIG_BLK_DEV_INTEGRITY is not set + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_AS=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +# CONFIG_DEFAULT_AS is not set +# CONFIG_DEFAULT_DEADLINE is not set +CONFIG_DEFAULT_CFQ=y +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="cfq" +CONFIG_CLASSIC_RCU=y +# CONFIG_FREEZER is not set + +# +# System Type +# +# CONFIG_ARCH_AAEC2000 is not set +# CONFIG_ARCH_INTEGRATOR is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_AT91 is not set +# CONFIG_ARCH_CLPS7500 is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_H720X is not set +# CONFIG_ARCH_IMX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP23XX is not set +# CONFIG_ARCH_IXP2000 is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_L7200 is not set +# CONFIG_ARCH_KIRKWOOD is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_NS9XXX is not set +# CONFIG_ARCH_LOKI is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_MXC is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_PNX4008 is not set +# CONFIG_ARCH_PXA is not set +# CONFIG_ARCH_RPC is not set +# CONFIG_ARCH_SA1100 is not set +# CONFIG_ARCH_S3C2410 is not set +CONFIG_ARCH_S3C64XX=y +# CONFIG_ARCH_S5P64XX is not set +# CONFIG_ARCH_S5PC1XX is not set +# CONFIG_ARCH_SHARK is not set +# CONFIG_ARCH_LH7A40X is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP is not set +# CONFIG_ARCH_MSM is not set +CONFIG_PLAT_S3C64XX=y +CONFIG_CPU_S3C6400_INIT=y +CONFIG_CPU_S3C6400_CLOCK=y +CONFIG_S3C64XX_SETUP_I2C0=y +CONFIG_S3C64XX_SETUP_I2C1=y +# CONFIG_S3C64XX_ADC is not set +CONFIG_PLAT_S3C=y + +# +# Boot options +# +CONFIG_S3C_BOOT_ERROR_RESET=y + +# +# Power management +# +CONFIG_S3C_LOWLEVEL_UART_PORT=0 +CONFIG_SPLIT_ROOT_FILESYSTEM=y +CONFIG_S3C_GPIO_SPACE=0 +CONFIG_S3C_GPIO_TRACK=y +CONFIG_S3C_GPIO_PULL_UPDOWN=y +CONFIG_S3C_GPIO_CFG_S3C24XX=y +CONFIG_S3C_GPIO_CFG_S3C64XX=y +CONFIG_S3C_DEV_HSMMC=y +CONFIG_S3C_DEV_HSMMC1=y +CONFIG_S3C_DEV_I2C1=y +CONFIG_S3C_DMA_PL080=y +CONFIG_CPU_S3C6410=y +CONFIG_S3C6410_SETUP_SDHCI=y +CONFIG_MACH_SMDK6410=y +CONFIG_SMDK6410_SD_CH0=y +# CONFIG_SMDK6410_SD_CH1 is not set + +# +# Processor Type +# +CONFIG_CPU_32=y +CONFIG_CPU_V6=y +CONFIG_CPU_32v6K=y +CONFIG_CPU_32v6=y +CONFIG_CPU_ABRT_EV6=y +CONFIG_CPU_PABRT_NOIFAR=y +CONFIG_CPU_CACHE_V6=y +CONFIG_CPU_CACHE_VIPT=y +CONFIG_CPU_COPY_V6=y +CONFIG_CPU_TLB_V6=y +CONFIG_CPU_HAS_ASID=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y + +# +# Processor Features +# +CONFIG_ARM_THUMB=y +# CONFIG_CPU_ICACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_DISABLE is not set +# CONFIG_CPU_BPREDICT_DISABLE is not set +# CONFIG_OUTER_CACHE is not set +CONFIG_ARM_VIC=y + +# +# Bus support +# +# CONFIG_PCI_SYSCALL is not set +# CONFIG_ARCH_SUPPORTS_MSI is not set +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_VMSPLIT_3G=y +# CONFIG_VMSPLIT_2G is not set +# CONFIG_VMSPLIT_1G is not set +CONFIG_PAGE_OFFSET=0xC0000000 +# CONFIG_PREEMPT is not set +CONFIG_HZ=200 +CONFIG_AEABI=y +CONFIG_OABI_COMPAT=y +CONFIG_ARCH_FLATMEM_HAS_HOLES=y +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_FLATMEM_MANUAL=y +# CONFIG_DISCONTIGMEM_MANUAL is not set +# CONFIG_SPARSEMEM_MANUAL is not set +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_PAGEFLAGS_EXTENDED=y +CONFIG_SPLIT_PTLOCK_CPUS=4 +# CONFIG_RESOURCES_64BIT is not set +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=0 +CONFIG_VIRT_TO_BUS=y +CONFIG_UNEVICTABLE_LRU=y +CONFIG_ALIGNMENT_TRAP=y + +# +# Boot options +# +CONFIG_ZBOOT_ROM_TEXT=0 +CONFIG_ZBOOT_ROM_BSS=0 +CONFIG_CMDLINE="root=/dev/mtdblock2 rw rootfstype=jffs2 init=/linuxrc console=ttySAC0,115200 mem=128M" +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set + +# +# CPU Power Management +# +# CONFIG_CPU_FREQ is not set +# CONFIG_CPU_IDLE is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +# CONFIG_FPE_NWFPE is not set +# CONFIG_FPE_FASTFPE is not set +# CONFIG_VFP is not set + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_HAVE_AOUT=y +# CONFIG_BINFMT_AOUT is not set +# CONFIG_BINFMT_MISC is not set + +# +# Power management options +# +# CONFIG_PM is not set +CONFIG_ARCH_SUSPEND_POSSIBLE=y +# CONFIG_NET is not set + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_SYS_HYPERVISOR is not set +CONFIG_MTD=y +# CONFIG_MTD_DEBUG is not set +# CONFIG_MTD_CONCAT is not set +CONFIG_MTD_PARTITIONS=y +# CONFIG_MTD_REDBOOT_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set +# CONFIG_MTD_AR7_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_CHAR=y +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_MTD_OOPS is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_SLRAM is not set +# CONFIG_MTD_PHRAM is not set +# CONFIG_MTD_MTDRAM is not set +# CONFIG_MTD_BLOCK2MTD is not set + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOC2000 is not set +# CONFIG_MTD_DOC2001 is not set +# CONFIG_MTD_DOC2001PLUS is not set +# CONFIG_MTD_NAND is not set +CONFIG_MTD_ONENAND=y +CONFIG_MTD_ONENAND_VERIFY_WRITE=y +CONFIG_MTD_ONENAND_GENERIC=y +# CONFIG_MTD_ONENAND_OTP is not set +# CONFIG_MTD_ONENAND_2X_PROGRAM is not set +# CONFIG_MTD_ONENAND_SIM is not set + +# +# UBI - Unsorted block images +# +# CONFIG_MTD_UBI is not set +# CONFIG_PARPORT is not set +CONFIG_BLK_DEV=y +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=8192 +# CONFIG_BLK_DEV_XIP is not set +# CONFIG_CDROM_PKTCDVD is not set +CONFIG_MISC_DEVICES=y +# CONFIG_EEPROM_93CX6 is not set +# CONFIG_ICS932S401 is not set +# CONFIG_ENCLOSURE_SERVICES is not set +# CONFIG_C2PORT is not set +CONFIG_HAVE_IDE=y +# CONFIG_IDE is not set + +# +# SCSI device support +# +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_TGT is not set +# CONFIG_SCSI_NETLINK is not set +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +CONFIG_CHR_DEV_SG=y +# CONFIG_CHR_DEV_SCH is not set + +# +# Some SCSI devices (e.g. CD jukebox) support multiple LUNs +# +# CONFIG_SCSI_MULTI_LUN is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set +CONFIG_SCSI_WAIT_SCAN=m + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_DH is not set +# CONFIG_ATA is not set +# CONFIG_MD is not set + +# +# Input device support +# +CONFIG_INPUT=y +# CONFIG_INPUT_FF_MEMLESS is not set +# CONFIG_INPUT_POLLDEV is not set + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +# CONFIG_INPUT_JOYDEV is not set +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_EVBUG is not set + +# +# Input Device Drivers +# +CONFIG_INPUT_KEYBOARD=y +CONFIG_KEYBOARD_ATKBD=y +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_LKKBD is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_STOWAWAY is not set +# CONFIG_KEYBOARD_GPIO is not set +# CONFIG_KEYPAD_S3C is not set +CONFIG_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=y +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_LIFEBOOK=y +CONFIG_MOUSE_PS2_TRACKPOINT=y +# CONFIG_MOUSE_PS2_ELANTECH is not set +# CONFIG_MOUSE_PS2_TOUCHKIT is not set +# CONFIG_MOUSE_SERIAL is not set +# CONFIG_MOUSE_APPLETOUCH is not set +# CONFIG_MOUSE_BCM5974 is not set +# CONFIG_MOUSE_VSXXXAA is not set +# CONFIG_MOUSE_GPIO is not set +# CONFIG_INPUT_JOYSTICK is not set +# CONFIG_INPUT_TABLET is not set +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_TOUCHSCREEN_S3C=y +CONFIG_TOUCHSCREEN_NEW=y +# CONFIG_TOUCHSCREEN_FUJITSU is not set +# CONFIG_TOUCHSCREEN_GUNZE is not set +# CONFIG_TOUCHSCREEN_ELO is not set +# CONFIG_TOUCHSCREEN_MTOUCH is not set +# CONFIG_TOUCHSCREEN_INEXIO is not set +# CONFIG_TOUCHSCREEN_MK712 is not set +# CONFIG_TOUCHSCREEN_PENMOUNT is not set +# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set +# CONFIG_TOUCHSCREEN_TOUCHWIN is not set +# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set +# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set +# CONFIG_INPUT_MISC is not set + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_SERPORT=y +CONFIG_SERIO_LIBPS2=y +# CONFIG_SERIO_RAW is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_VT_CONSOLE=y +CONFIG_HW_CONSOLE=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +CONFIG_DEVKMEM=y +# CONFIG_SERIAL_NONSTANDARD is not set + +# +# Serial drivers +# +CONFIG_SERIAL_8250=y +# CONFIG_SERIAL_8250_CONSOLE is not set +CONFIG_SERIAL_8250_NR_UARTS=4 +CONFIG_SERIAL_8250_RUNTIME_UARTS=4 +# CONFIG_SERIAL_8250_EXTENDED is not set + +# +# Non-8250 serial port support +# +CONFIG_SERIAL_SAMSUNG=y +CONFIG_SERIAL_SAMSUNG_UARTS=4 +# CONFIG_SERIAL_SAMSUNG_DEBUG is not set +CONFIG_SERIAL_SAMSUNG_CONSOLE=y +CONFIG_SERIAL_S3C6400=y +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +CONFIG_UNIX98_PTYS=y +CONFIG_LEGACY_PTYS=y +CONFIG_LEGACY_PTY_COUNT=256 +# CONFIG_IPMI_HANDLER is not set +CONFIG_HW_RANDOM=y +# CONFIG_NVRAM is not set +# CONFIG_R3964 is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +CONFIG_S3C_MEM=y +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_HELPER_AUTO=y + +# +# I2C Hardware Bus support +# + +# +# I2C system bus drivers (mostly embedded / system-on-chip) +# +# CONFIG_I2C_GPIO is not set +# CONFIG_I2C_OCORES is not set +CONFIG_I2C_S3C2410=y +# CONFIG_I2C_SIMTEC is not set + +# +# External I2C/SMBus adapter drivers +# +# CONFIG_I2C_PARPORT_LIGHT is not set +# CONFIG_I2C_TAOS_EVM is not set + +# +# Other I2C/SMBus bus drivers +# +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_STUB is not set + +# +# Miscellaneous I2C Chip support +# +# CONFIG_DS1682 is not set +CONFIG_AT24=y +# CONFIG_SENSORS_EEPROM is not set +# CONFIG_SENSORS_PCF8574 is not set +# CONFIG_PCF8575 is not set +# CONFIG_SENSORS_PCA9539 is not set +# CONFIG_SENSORS_PCF8591 is not set +# CONFIG_TPS65010 is not set +# CONFIG_SENSORS_MAX6875 is not set +# CONFIG_SENSORS_TSL2550 is not set +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +# CONFIG_I2C_DEBUG_CHIP is not set +# CONFIG_SPI is not set +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_GPIOLIB=y +# CONFIG_DEBUG_GPIO is not set +# CONFIG_GPIO_SYSFS is not set + +# +# Memory mapped GPIO expanders: +# + +# +# I2C GPIO expanders: +# +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set + +# +# PCI GPIO expanders: +# + +# +# SPI GPIO expanders: +# +# CONFIG_W1 is not set +# CONFIG_POWER_SUPPLY is not set +CONFIG_HWMON=y +# CONFIG_HWMON_VID is not set +# CONFIG_SENSORS_AD7414 is not set +# CONFIG_SENSORS_AD7418 is not set +# CONFIG_SENSORS_ADM1021 is not set +# CONFIG_SENSORS_ADM1025 is not set +# CONFIG_SENSORS_ADM1026 is not set +# CONFIG_SENSORS_ADM1029 is not set +# CONFIG_SENSORS_ADM1031 is not set +# CONFIG_SENSORS_ADM9240 is not set +# CONFIG_SENSORS_ADT7462 is not set +# CONFIG_SENSORS_ADT7470 is not set +# CONFIG_SENSORS_ADT7473 is not set +# CONFIG_SENSORS_ATXP1 is not set +# CONFIG_SENSORS_DS1621 is not set +# CONFIG_SENSORS_F71805F is not set +# CONFIG_SENSORS_F71882FG is not set +# CONFIG_SENSORS_F75375S is not set +# CONFIG_SENSORS_GL518SM is not set +# CONFIG_SENSORS_GL520SM is not set +# CONFIG_SENSORS_IT87 is not set +# CONFIG_SENSORS_LM63 is not set +# CONFIG_SENSORS_LM75 is not set +# CONFIG_SENSORS_LM77 is not set +# CONFIG_SENSORS_LM78 is not set +# CONFIG_SENSORS_LM80 is not set +# CONFIG_SENSORS_LM83 is not set +# CONFIG_SENSORS_LM85 is not set +# CONFIG_SENSORS_LM87 is not set +# CONFIG_SENSORS_LM90 is not set +# CONFIG_SENSORS_LM92 is not set +# CONFIG_SENSORS_LM93 is not set +# CONFIG_SENSORS_MAX1619 is not set +# CONFIG_SENSORS_MAX6650 is not set +# CONFIG_SENSORS_PC87360 is not set +# CONFIG_SENSORS_PC87427 is not set +# CONFIG_SENSORS_DME1737 is not set +# CONFIG_SENSORS_SMSC47M1 is not set +# CONFIG_SENSORS_SMSC47M192 is not set +# CONFIG_SENSORS_SMSC47B397 is not set +# CONFIG_SENSORS_ADS7828 is not set +# CONFIG_SENSORS_THMC50 is not set +# CONFIG_SENSORS_VT1211 is not set +# CONFIG_SENSORS_W83781D is not set +# CONFIG_SENSORS_W83791D is not set +# CONFIG_SENSORS_W83792D is not set +# CONFIG_SENSORS_W83793 is not set +# CONFIG_SENSORS_W83L785TS is not set +# CONFIG_SENSORS_W83L786NG is not set +# CONFIG_SENSORS_W83627HF is not set +# CONFIG_SENSORS_W83627EHF is not set +# CONFIG_HWMON_DEBUG_CHIP is not set +# CONFIG_THERMAL is not set +# CONFIG_THERMAL_HWMON is not set +CONFIG_WATCHDOG=y +# CONFIG_WATCHDOG_NOWAYOUT is not set + +# # +# # Watchdog Device Drivers +# # +# # CONFIG_SOFT_WATCHDOG is not set +CONFIG_S3C2410_WATCHDOG=y + +# # +# # ISA-based Watchdog Cards +# # +# # CONFIG_PCWATCHDOG is not set +# # CONFIG_MIXCOMWD is not set +# # CONFIG_WDT is not set + +# +# Sonics Silicon Backplane +# +CONFIG_SSB_POSSIBLE=y +# CONFIG_SSB is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_ASIC3 is not set +# CONFIG_HTC_EGPIO is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB is not set +# CONFIG_PMIC_DA903X is not set +# CONFIG_MFD_WM8400 is not set +# CONFIG_MFD_WM8350_I2C is not set + +# +# Multimedia devices +# + +# +# Multimedia core support +# +# CONFIG_VIDEO_DEV is not set +# CONFIG_VIDEO_MEDIA is not set + +# +# Multimedia drivers +# +# CONFIG_DAB is not set + +# +# Graphics support +# +# CONFIG_VGASTATE is not set +# CONFIG_VIDEO_OUTPUT_CONTROL is not set +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_IMAGEBLIT=y +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +# CONFIG_FB_SYS_FILLRECT is not set +# CONFIG_FB_SYS_COPYAREA is not set +# CONFIG_FB_SYS_IMAGEBLIT is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_SYS_FOPS is not set +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +CONFIG_FB_S3C=y +CONFIG_FB_S3C_LTE480WV=y +# CONFIG_FB_S3C_LTV350QV is not set +# CONFIG_FB_S3C_LTS222QV is not set +CONFIG_FB_S3C_BPP=y +# CONFIG_FB_S3C_BPP_8 is not set +CONFIG_FB_S3C_BPP_16=y +# CONFIG_FB_S3C_BPP_24 is not set +# CONFIG_FB_S3C_BPP_32 is not set +CONFIG_FB_S3C_NUM=1 +# CONFIG_FB_S3C_VIRTUAL_SCREEN is not set +# CONFIG_FB_S3C_DOUBLE_BUFFERING is not set +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_VIRTUAL is not set +# CONFIG_FB_METRONOME is not set +# CONFIG_FB_MB862XX is not set +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set + +# +# Display device support +# +# CONFIG_DISPLAY_SUPPORT is not set + +# +# Console display driver support +# +# CONFIG_VGA_CONSOLE is not set +CONFIG_DUMMY_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set +# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set +# CONFIG_FONTS is not set +CONFIG_FONT_8x8=y +CONFIG_FONT_8x16=y +CONFIG_LOGO=y +# CONFIG_LOGO_LINUX_MONO is not set +# CONFIG_LOGO_LINUX_VGA16 is not set +# CONFIG_LOGO_LINUX_CLUT224 is not set +CONFIG_LOGO_LINUX_LANDSCAPED_CLUT224=y +CONFIG_SOUND=y +# CONFIG_SOUND_OSS_CORE is not set +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +# CONFIG_SND_SEQUENCER is not set +# CONFIG_SND_MIXER_OSS is not set +# CONFIG_SND_PCM_OSS is not set +# CONFIG_SND_DYNAMIC_MINORS is not set +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_VERBOSE_PROCFS=y +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set +CONFIG_SND_DRIVERS=y +# CONFIG_SND_DUMMY is not set +# CONFIG_SND_MTPAV is not set +# CONFIG_SND_SERIAL_U16550 is not set +# CONFIG_SND_MPU401 is not set +CONFIG_SND_ARM=y +CONFIG_SND_SOC=y + +# +# SoC Audio for the Samsung S3C +# +CONFIG_SND_S3C64XX_SOC=y +CONFIG_SND_S3C6410_SOC_I2S=y +# CONFIG_SND_S3C64XX_SOC_SMDK6410_WM9713 is not set +CONFIG_SND_S3C64XX_SOC_SMDK6410_WM8580=y +CONFIG_SOUND_WM8580_INPUT_STREAM_LINE=y +# CONFIG_SOUND_WM8580_INPUT_STREAM_MIC is not set +# CONFIG_SND_S3C64XX_SOC_SMDK6410_WM8990 is not set +# CONFIG_SND_SOC_ALL_CODECS is not set +CONFIG_SND_SOC_WM8580=y +# CONFIG_SOUND_PRIME is not set +CONFIG_HID_SUPPORT=y +CONFIG_HID=y +CONFIG_HID_DEBUG=y +# CONFIG_HIDRAW is not set +# CONFIG_HID_PID is not set + +# +# USB Input Devices +# +CONFIG_USB_HID=y +# CONFIG_HID_PID is not set +# CONFIG_USB_HIDDEV is not set + +# +# Special HID drivers +# +# CONFIG_HID_COMPAT is not set +CONFIG_HID_A4TECH=y +CONFIG_HID_APPLE=y +CONFIG_HID_BELKIN=y +CONFIG_HID_BRIGHT=y +CONFIG_HID_CHERRY=y +CONFIG_HID_CHICONY=y +CONFIG_HID_CYPRESS=y +CONFIG_HID_DELL=y +CONFIG_HID_EZKEY=y +CONFIG_HID_GYRATION=y +CONFIG_HID_LOGITECH=y +# CONFIG_LOGITECH_FF is not set +# CONFIG_LOGIRUMBLEPAD2_FF is not set +CONFIG_HID_MICROSOFT=y +CONFIG_HID_MONTEREY=y +CONFIG_HID_PANTHERLORD=y +# CONFIG_PANTHERLORD_FF is not set +CONFIG_HID_PETALYNX=y +CONFIG_HID_SAMSUNG=y +CONFIG_HID_SONY=y +CONFIG_HID_SUNPLUS=y +# CONFIG_THRUSTMASTER_FF is not set +# CONFIG_ZEROPLUS_FF is not set +CONFIG_USB_SUPPORT=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB_ARCH_HAS_OHCI=y +# CONFIG_USB_ARCH_HAS_EHCI is not set +CONFIG_USB=y +# CONFIG_USB_DEBUG is not set +# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set + +# +# Miscellaneous USB options +# +CONFIG_USB_DEVICEFS=y +CONFIG_USB_DEVICE_CLASS=y +# CONFIG_USB_DYNAMIC_MINORS is not set +# CONFIG_USB_OTG is not set +# CONFIG_USB_MON is not set +# CONFIG_USB_WUSB is not set +# CONFIG_USB_WUSB_CBAF is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +CONFIG_USB_OHCI_HCD=y +# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_HWA_HCD is not set +# CONFIG_USB_MUSB_HDRC is not set +# CONFIG_USB_GADGET_MUSB_HDRC is not set + +# +# USB Device Class drivers +# +# CONFIG_USB_ACM is not set +# CONFIG_USB_PRINTER is not set +# CONFIG_USB_WDM is not set +# CONFIG_USB_TMC is not set + +# +# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; +# + +# +# see USB_STORAGE Help for more information +# +CONFIG_USB_STORAGE=y +# CONFIG_USB_STORAGE_DEBUG is not set +# CONFIG_USB_STORAGE_DATAFAB is not set +# CONFIG_USB_STORAGE_FREECOM is not set +# CONFIG_USB_STORAGE_ISD200 is not set +# CONFIG_USB_STORAGE_DPCM is not set +# CONFIG_USB_STORAGE_USBAT is not set +# CONFIG_USB_STORAGE_SDDR09 is not set +# CONFIG_USB_STORAGE_SDDR55 is not set +# CONFIG_USB_STORAGE_JUMPSHOT is not set +# CONFIG_USB_STORAGE_ALAUDA is not set +# CONFIG_USB_STORAGE_ONETOUCH is not set +# CONFIG_USB_STORAGE_KARMA is not set +# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set +# CONFIG_USB_LIBUSUAL is not set + +# +# USB Imaging devices +# +# CONFIG_USB_MDC800 is not set +# CONFIG_USB_MICROTEK is not set + +# +# USB port drivers +# +# CONFIG_USB_SERIAL is not set + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_ADUTUX is not set +# CONFIG_USB_SEVSEG is not set +# CONFIG_USB_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_BERRY_CHARGE is not set +# CONFIG_USB_LED is not set +# CONFIG_USB_CYPRESS_CY7C63 is not set +# CONFIG_USB_CYTHERM is not set +# CONFIG_USB_PHIDGET is not set +# CONFIG_USB_IDMOUSE is not set +# CONFIG_USB_FTDI_ELAN is not set +# CONFIG_USB_APPLEDISPLAY is not set +# CONFIG_USB_LD is not set +# CONFIG_USB_TRANCEVIBRATOR is not set +# CONFIG_USB_IOWARRIOR is not set +# CONFIG_USB_TEST is not set +# CONFIG_USB_ISIGHTFW is not set +# CONFIG_USB_VST is not set +# CONFIG_USB_GADGET is not set +# CONFIG_USB_GADGET_AT91 is not set +# CONFIG_USB_GADGET_ATMEL_USBA is not set +# CONFIG_USB_GADGET_FSL_USB2 is not set +# CONFIG_USB_GADGET_LH7A40X is not set +# CONFIG_USB_GADGET_OMAP is not set +# CONFIG_USB_GADGET_PXA25X is not set +# CONFIG_USB_GADGET_PXA27X is not set +# CONFIG_USB_GADGET_S3C2410 is not set +# CONFIG_USB_GADGET_S3C_OTGD is not set +# CONFIG_USB_GADGET_M66592 is not set +# CONFIG_USB_GADGET_AMD5536UDC is not set +# CONFIG_USB_GADGET_FSL_QE is not set +# CONFIG_USB_GADGET_NET2280 is not set +# CONFIG_USB_GADGET_GOKU is not set +# CONFIG_USB_GADGET_DUMMY_HCD is not set +# CONFIG_USB_ZERO is not set +# CONFIG_USB_ETH is not set +# CONFIG_USB_GADGETFS is not set +# CONFIG_USB_FILE_STORAGE is not set +# CONFIG_USB_G_SERIAL is not set +# CONFIG_USB_MIDI_GADGET is not set +# CONFIG_USB_G_PRINTER is not set +# CONFIG_USB_CDC_COMPOSITE is not set +CONFIG_MMC=y +# CONFIG_MMC_DEBUG is not set +# CONFIG_MMC_UNSAFE_RESUME is not set + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_BOUNCE=y +CONFIG_SDIO_UART=y +# CONFIG_MMC_TEST is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_S3C=y +# CONFIG_MEMSTICK is not set +# CONFIG_ACCESSIBILITY is not set +# CONFIG_NEW_LEDS is not set +CONFIG_RTC_LIB=y +# CONFIG_RTC_CLASS is not set +# CONFIG_DMADEVICES is not set +# CONFIG_REGULATOR is not set +# CONFIG_UIO is not set + +# +# File systems +# +CONFIG_EXT2_FS=y +# CONFIG_EXT2_FS_XATTR is not set +# CONFIG_EXT2_FS_XIP is not set +CONFIG_EXT3_FS=y +CONFIG_EXT3_FS_XATTR=y +CONFIG_EXT3_FS_POSIX_ACL=y +CONFIG_EXT3_FS_SECURITY=y +# CONFIG_EXT4_FS is not set +CONFIG_JBD=y +CONFIG_FS_MBCACHE=y +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +CONFIG_FS_POSIX_ACL=y +CONFIG_FILE_LOCKING=y +# CONFIG_XFS_FS is not set +# CONFIG_GFS2_FS is not set +CONFIG_DNOTIFY=y +CONFIG_INOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_QUOTA is not set +# CONFIG_AUTOFS_FS is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_FUSE_FS is not set +CONFIG_GENERIC_ACL=y + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_SYSCTL=y +CONFIG_PROC_PAGE_MONITOR=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +# CONFIG_HUGETLB_PAGE is not set +# CONFIG_CONFIGFS_FS is not set + +# +# Miscellaneous filesystems +# +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +CONFIG_JFFS2_FS=y +CONFIG_JFFS2_FS_DEBUG=0 +CONFIG_JFFS2_FS_WRITEBUFFER=y +# CONFIG_JFFS2_FS_WBUF_VERIFY is not set +# CONFIG_JFFS2_SUMMARY is not set +# CONFIG_JFFS2_FS_XATTR is not set +CONFIG_JFFS2_COMPRESSION_OPTIONS=y +CONFIG_JFFS2_ZLIB=y +CONFIG_JFFS2_LZO=y +CONFIG_JFFS2_RTIME=y +# CONFIG_JFFS2_RUBIN is not set +# CONFIG_JFFS2_CMODE_NONE is not set +CONFIG_JFFS2_CMODE_PRIORITY=y +# CONFIG_JFFS2_CMODE_SIZE is not set +# CONFIG_JFFS2_CMODE_FAVOURLZO is not set +CONFIG_CRAMFS=y +# CONFIG_VXFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +CONFIG_ROMFS_FS=y +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set + +# +# Partition Types +# +# CONFIG_PARTITION_ADVANCED is not set +CONFIG_MSDOS_PARTITION=y +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +# CONFIG_NLS_CODEPAGE_737 is not set +# CONFIG_NLS_CODEPAGE_775 is not set +# CONFIG_NLS_CODEPAGE_850 is not set +# CONFIG_NLS_CODEPAGE_852 is not set +# CONFIG_NLS_CODEPAGE_855 is not set +# CONFIG_NLS_CODEPAGE_857 is not set +# CONFIG_NLS_CODEPAGE_860 is not set +# CONFIG_NLS_CODEPAGE_861 is not set +# CONFIG_NLS_CODEPAGE_862 is not set +# CONFIG_NLS_CODEPAGE_863 is not set +# CONFIG_NLS_CODEPAGE_864 is not set +# CONFIG_NLS_CODEPAGE_865 is not set +# CONFIG_NLS_CODEPAGE_866 is not set +# CONFIG_NLS_CODEPAGE_869 is not set +# CONFIG_NLS_CODEPAGE_936 is not set +# CONFIG_NLS_CODEPAGE_950 is not set +# CONFIG_NLS_CODEPAGE_932 is not set +# CONFIG_NLS_CODEPAGE_949 is not set +# CONFIG_NLS_CODEPAGE_874 is not set +# CONFIG_NLS_ISO8859_8 is not set +# CONFIG_NLS_CODEPAGE_1250 is not set +# CONFIG_NLS_CODEPAGE_1251 is not set +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +# CONFIG_NLS_ISO8859_2 is not set +# CONFIG_NLS_ISO8859_3 is not set +# CONFIG_NLS_ISO8859_4 is not set +# CONFIG_NLS_ISO8859_5 is not set +# CONFIG_NLS_ISO8859_6 is not set +# CONFIG_NLS_ISO8859_7 is not set +# CONFIG_NLS_ISO8859_9 is not set +# CONFIG_NLS_ISO8859_13 is not set +# CONFIG_NLS_ISO8859_14 is not set +# CONFIG_NLS_ISO8859_15 is not set +# CONFIG_NLS_KOI8_R is not set +# CONFIG_NLS_KOI8_U is not set +# CONFIG_NLS_UTF8 is not set + +# +# Kernel hacking +# +# CONFIG_PRINTK_TIME is not set +CONFIG_ENABLE_WARN_DEPRECATED=y +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=1024 +CONFIG_MAGIC_SYSRQ=y +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_DEBUG_FS is not set +# CONFIG_HEADERS_CHECK is not set +CONFIG_DEBUG_KERNEL=y +# CONFIG_DEBUG_SHIRQ is not set +CONFIG_DETECT_SOFTLOCKUP=y +# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 +CONFIG_SCHED_DEBUG=y +# CONFIG_SCHEDSTATS is not set +# CONFIG_TIMER_STATS is not set +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +CONFIG_DEBUG_RT_MUTEXES=y +CONFIG_DEBUG_PI_LIST=y +# CONFIG_RT_MUTEX_TESTER is not set +CONFIG_DEBUG_SPINLOCK=y +CONFIG_DEBUG_MUTEXES=y +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_PROVE_LOCKING is not set +# CONFIG_LOCK_STAT is not set +CONFIG_DEBUG_SPINLOCK_SLEEP=y +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_DEBUG_KOBJECT is not set +CONFIG_DEBUG_BUGVERBOSE=y +CONFIG_DEBUG_INFO=y +# CONFIG_DEBUG_VM is not set +# CONFIG_DEBUG_WRITECOUNT is not set +CONFIG_DEBUG_MEMORY_INIT=y +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_SG is not set +CONFIG_FRAME_POINTER=y +# CONFIG_BOOT_PRINTK_DELAY is not set +# CONFIG_RCU_TORTURE_TEST is not set +# CONFIG_RCU_CPU_STALL_DETECTOR is not set +# CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_FAULT_INJECTION is not set +# CONFIG_LATENCYTOP is not set +CONFIG_SYSCTL_SYSCALL_CHECK=y +CONFIG_HAVE_FUNCTION_TRACER=y + +# +# Tracers +# +# CONFIG_FUNCTION_TRACER is not set +# CONFIG_SCHED_TRACER is not set +# CONFIG_CONTEXT_SWITCH_TRACER is not set +# CONFIG_BOOT_TRACER is not set +# CONFIG_STACK_TRACER is not set +# CONFIG_DYNAMIC_PRINTK_DEBUG is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_KGDB is not set +CONFIG_DEBUG_USER=y +CONFIG_DEBUG_ERRORS=y +# CONFIG_DEBUG_STACK_USAGE is not set +CONFIG_DEBUG_LL=y +# CONFIG_DEBUG_ICEDCC is not set +CONFIG_DEBUG_S3C_PORT=y +CONFIG_DEBUG_S3C_UART=0 + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY is not set +# CONFIG_SECURITYFS is not set +# CONFIG_SECURITY_FILE_CAPABILITIES is not set +# CONFIG_CRYPTO is not set + +# +# Library routines +# +CONFIG_BITREVERSE=y +# CONFIG_CRC_CCITT is not set +# CONFIG_CRC16 is not set +# CONFIG_CRC_T10DIF is not set +# CONFIG_CRC_ITU_T is not set +CONFIG_CRC32=y +# CONFIG_CRC7 is not set +# CONFIG_LIBCRC32C is not set +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_LZO_COMPRESS=y +CONFIG_LZO_DECOMPRESS=y +CONFIG_PLIST=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_DMA=y diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/configs/smdk6410ramdisk_defconfig linux-2.6.28.6/arch/arm/configs/smdk6410ramdisk_defconfig --- linux-2.6.28/arch/arm/configs/smdk6410ramdisk_defconfig 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/configs/smdk6410ramdisk_defconfig 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,1124 @@ +# +# Automatically generated make config: don't edit +# Linux kernel version: 2.6.28-rc4 +# Tue Nov 25 12:52:51 2008 +# +CONFIG_ARM=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_GENERIC_GPIO=y +# CONFIG_GENERIC_TIME is not set +# CONFIG_GENERIC_CLOCKEVENTS is not set +CONFIG_MMU=y +CONFIG_NO_IOPORT=y +CONFIG_GENERIC_HARDIRQS=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_RWSEM_GENERIC_SPINLOCK=y +# CONFIG_ARCH_HAS_ILOG2_U32 is not set +# CONFIG_ARCH_HAS_ILOG2_U64 is not set +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" + +# +# General setup +# +CONFIG_EXPERIMENTAL=y +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_LOCALVERSION="" +CONFIG_LOCALVERSION_AUTO=y +CONFIG_SWAP=y +# CONFIG_SYSVIPC is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=17 +# CONFIG_CGROUPS is not set +# CONFIG_GROUP_SCHED is not set +CONFIG_SYSFS_DEPRECATED=y +CONFIG_SYSFS_DEPRECATED_V2=y +# CONFIG_RELAY is not set +CONFIG_NAMESPACES=y +# CONFIG_UTS_NS is not set +# CONFIG_USER_NS is not set +# CONFIG_PID_NS is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL=y +# CONFIG_EMBEDDED is not set +CONFIG_UID16=y +CONFIG_SYSCTL_SYSCALL=y +CONFIG_KALLSYMS=y +CONFIG_KALLSYMS_ALL=y +# CONFIG_KALLSYMS_EXTRA_PASS is not set +CONFIG_HOTPLUG=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_COMPAT_BRK=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_ANON_INODES=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_SLUB_DEBUG=y +# CONFIG_SLAB is not set +CONFIG_SLUB=y +# CONFIG_SLOB is not set +# CONFIG_PROFILING is not set +# CONFIG_MARKERS is not set +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +CONFIG_HAVE_KPROBES=y +CONFIG_HAVE_KRETPROBES=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +# CONFIG_TINY_SHMEM is not set +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODULE_FORCE_UNLOAD is not set +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +CONFIG_KMOD=y +CONFIG_BLOCK=y +CONFIG_LBD=y +# CONFIG_BLK_DEV_IO_TRACE is not set +CONFIG_LSF=y +# CONFIG_BLK_DEV_BSG is not set +# CONFIG_BLK_DEV_INTEGRITY is not set + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_AS=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +# CONFIG_DEFAULT_AS is not set +# CONFIG_DEFAULT_DEADLINE is not set +CONFIG_DEFAULT_CFQ=y +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="cfq" +CONFIG_CLASSIC_RCU=y +# CONFIG_FREEZER is not set + +# +# System Type +# +# CONFIG_ARCH_AAEC2000 is not set +# CONFIG_ARCH_INTEGRATOR is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_AT91 is not set +# CONFIG_ARCH_CLPS7500 is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_H720X is not set +# CONFIG_ARCH_IMX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP23XX is not set +# CONFIG_ARCH_IXP2000 is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_L7200 is not set +# CONFIG_ARCH_KIRKWOOD is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_NS9XXX is not set +# CONFIG_ARCH_LOKI is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_MXC is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_PNX4008 is not set +# CONFIG_ARCH_PXA is not set +# CONFIG_ARCH_RPC is not set +# CONFIG_ARCH_SA1100 is not set +# CONFIG_ARCH_S3C2410 is not set +CONFIG_ARCH_S3C64XX=y +# CONFIG_ARCH_S5PC1XX is not set +# CONFIG_ARCH_SHARK is not set +# CONFIG_ARCH_LH7A40X is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP is not set +# CONFIG_ARCH_MSM is not set +CONFIG_PLAT_S3C64XX=y +CONFIG_CPU_S3C6400_INIT=y +CONFIG_CPU_S3C6400_CLOCK=y +CONFIG_S3C64XX_SETUP_I2C0=y +CONFIG_S3C64XX_SETUP_I2C1=y +CONFIG_PLAT_S3C=y + +# +# Boot options +# +CONFIG_S3C_BOOT_ERROR_RESET=y + +# +# Power management +# +CONFIG_S3C_LOWLEVEL_UART_PORT=0 +CONFIG_S3C_GPIO_SPACE=0 +CONFIG_S3C_GPIO_TRACK=y +CONFIG_S3C_GPIO_PULL_UPDOWN=y +CONFIG_S3C_GPIO_CFG_S3C24XX=y +CONFIG_S3C_GPIO_CFG_S3C64XX=y +CONFIG_S3C_DEV_HSMMC=y +CONFIG_S3C_DEV_HSMMC1=y +CONFIG_S3C_DEV_I2C1=y +CONFIG_CPU_S3C6410=y +CONFIG_S3C6410_SETUP_SDHCI=y +CONFIG_MACH_SMDK6410=y +CONFIG_SMDK6410_SD_CH0=y +# CONFIG_SMDK6410_SD_CH1 is not set + +# +# Processor Type +# +CONFIG_CPU_32=y +CONFIG_CPU_V6=y +CONFIG_CPU_32v6K=y +CONFIG_CPU_32v6=y +CONFIG_CPU_ABRT_EV6=y +CONFIG_CPU_PABRT_NOIFAR=y +CONFIG_CPU_CACHE_V6=y +CONFIG_CPU_CACHE_VIPT=y +CONFIG_CPU_COPY_V6=y +CONFIG_CPU_TLB_V6=y +CONFIG_CPU_HAS_ASID=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y + +# +# Processor Features +# +CONFIG_ARM_THUMB=y +# CONFIG_CPU_ICACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_DISABLE is not set +# CONFIG_CPU_BPREDICT_DISABLE is not set +# CONFIG_OUTER_CACHE is not set +CONFIG_ARM_VIC=y + +# +# Bus support +# +# CONFIG_PCI_SYSCALL is not set +# CONFIG_ARCH_SUPPORTS_MSI is not set +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_VMSPLIT_3G=y +# CONFIG_VMSPLIT_2G is not set +# CONFIG_VMSPLIT_1G is not set +CONFIG_PAGE_OFFSET=0xC0000000 +# CONFIG_PREEMPT is not set +CONFIG_HZ=200 +CONFIG_AEABI=y +CONFIG_OABI_COMPAT=y +CONFIG_ARCH_FLATMEM_HAS_HOLES=y +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_FLATMEM_MANUAL=y +# CONFIG_DISCONTIGMEM_MANUAL is not set +# CONFIG_SPARSEMEM_MANUAL is not set +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_PAGEFLAGS_EXTENDED=y +CONFIG_SPLIT_PTLOCK_CPUS=4 +# CONFIG_RESOURCES_64BIT is not set +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=0 +CONFIG_VIRT_TO_BUS=y +CONFIG_UNEVICTABLE_LRU=y +CONFIG_ALIGNMENT_TRAP=y + +# +# Boot options +# +CONFIG_ZBOOT_ROM_TEXT=0 +CONFIG_ZBOOT_ROM_BSS=0 +CONFIG_CMDLINE="root=/dev/ram0 rw ramdisk=8192 initrd=0x50800000,8M console=ttySAC0,115200 init=/linuxrc mem=128M" +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set + +# +# CPU Power Management +# +# CONFIG_CPU_IDLE is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +# CONFIG_FPE_NWFPE is not set +# CONFIG_FPE_FASTFPE is not set +CONFIG_VFP=y + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_HAVE_AOUT=y +# CONFIG_BINFMT_AOUT is not set +# CONFIG_BINFMT_MISC is not set + +# +# Power management options +# +# CONFIG_PM is not set +CONFIG_ARCH_SUSPEND_POSSIBLE=y +# CONFIG_NET is not set + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_MTD is not set +# CONFIG_PARPORT is not set +CONFIG_BLK_DEV=y +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=8192 +# CONFIG_BLK_DEV_XIP is not set +# CONFIG_CDROM_PKTCDVD is not set +CONFIG_MISC_DEVICES=y +# CONFIG_EEPROM_93CX6 is not set +# CONFIG_ENCLOSURE_SERVICES is not set +CONFIG_HAVE_IDE=y +# CONFIG_IDE is not set + +# +# SCSI device support +# +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_TGT is not set +# CONFIG_SCSI_NETLINK is not set +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +CONFIG_CHR_DEV_SG=y +# CONFIG_CHR_DEV_SCH is not set + +# +# Some SCSI devices (e.g. CD jukebox) support multiple LUNs +# +# CONFIG_SCSI_MULTI_LUN is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set +CONFIG_SCSI_WAIT_SCAN=m + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_DH is not set +# CONFIG_ATA is not set +# CONFIG_MD is not set + +# +# Input device support +# +CONFIG_INPUT=y +# CONFIG_INPUT_FF_MEMLESS is not set +# CONFIG_INPUT_POLLDEV is not set + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +# CONFIG_INPUT_JOYDEV is not set +# CONFIG_INPUT_EVDEV is not set +# CONFIG_INPUT_EVBUG is not set + +# +# Input Device Drivers +# +CONFIG_INPUT_KEYBOARD=y +CONFIG_KEYBOARD_ATKBD=y +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_LKKBD is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_STOWAWAY is not set +# CONFIG_KEYBOARD_GPIO is not set +# CONFIG_KEYPAD_S3C is not set +CONFIG_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=y +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_LIFEBOOK=y +CONFIG_MOUSE_PS2_TRACKPOINT=y +# CONFIG_MOUSE_PS2_ELANTECH is not set +# CONFIG_MOUSE_PS2_TOUCHKIT is not set +# CONFIG_MOUSE_SERIAL is not set +# CONFIG_MOUSE_APPLETOUCH is not set +# CONFIG_MOUSE_BCM5974 is not set +# CONFIG_MOUSE_VSXXXAA is not set +# CONFIG_MOUSE_GPIO is not set +# CONFIG_INPUT_JOYSTICK is not set +# CONFIG_INPUT_TABLET is not set +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_TOUCHSCREEN_S3C=y +# CONFIG_TOUCHSCREEN_FUJITSU is not set +# CONFIG_TOUCHSCREEN_GUNZE is not set +# CONFIG_TOUCHSCREEN_ELO is not set +# CONFIG_TOUCHSCREEN_MTOUCH is not set +# CONFIG_TOUCHSCREEN_INEXIO is not set +# CONFIG_TOUCHSCREEN_MK712 is not set +# CONFIG_TOUCHSCREEN_PENMOUNT is not set +# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set +# CONFIG_TOUCHSCREEN_TOUCHWIN is not set +# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set +# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set +# CONFIG_INPUT_MISC is not set + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_SERPORT=y +CONFIG_SERIO_LIBPS2=y +# CONFIG_SERIO_RAW is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_VT_CONSOLE=y +CONFIG_HW_CONSOLE=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +CONFIG_DEVKMEM=y +# CONFIG_SERIAL_NONSTANDARD is not set + +# +# Serial drivers +# +CONFIG_SERIAL_8250=y +# CONFIG_SERIAL_8250_CONSOLE is not set +CONFIG_SERIAL_8250_NR_UARTS=4 +CONFIG_SERIAL_8250_RUNTIME_UARTS=4 +# CONFIG_SERIAL_8250_EXTENDED is not set + +# +# Non-8250 serial port support +# +CONFIG_SERIAL_SAMSUNG=y +CONFIG_SERIAL_SAMSUNG_UARTS=4 +# CONFIG_SERIAL_SAMSUNG_DEBUG is not set +CONFIG_SERIAL_SAMSUNG_CONSOLE=y +CONFIG_SERIAL_S3C6400=y +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +CONFIG_UNIX98_PTYS=y +CONFIG_LEGACY_PTYS=y +CONFIG_LEGACY_PTY_COUNT=256 +# CONFIG_IPMI_HANDLER is not set +CONFIG_HW_RANDOM=y +# CONFIG_NVRAM is not set +# CONFIG_S3C_ADC is not set +# CONFIG_R3964 is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_HELPER_AUTO=y + +# +# I2C Hardware Bus support +# + +# +# I2C system bus drivers (mostly embedded / system-on-chip) +# +# CONFIG_I2C_GPIO is not set +# CONFIG_I2C_OCORES is not set +CONFIG_I2C_S3C2410=y +# CONFIG_I2C_SIMTEC is not set + +# +# External I2C/SMBus adapter drivers +# +# CONFIG_I2C_PARPORT_LIGHT is not set +# CONFIG_I2C_TAOS_EVM is not set + +# +# Other I2C/SMBus bus drivers +# +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_STUB is not set + +# +# Miscellaneous I2C Chip support +# +# CONFIG_DS1682 is not set +CONFIG_AT24=y +# CONFIG_SENSORS_EEPROM is not set +# CONFIG_SENSORS_PCF8574 is not set +# CONFIG_PCF8575 is not set +# CONFIG_SENSORS_PCA9539 is not set +# CONFIG_SENSORS_PCF8591 is not set +# CONFIG_TPS65010 is not set +# CONFIG_SENSORS_MAX6875 is not set +# CONFIG_SENSORS_TSL2550 is not set +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +# CONFIG_I2C_DEBUG_CHIP is not set +# CONFIG_SPI is not set +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_GPIOLIB=y +# CONFIG_DEBUG_GPIO is not set +# CONFIG_GPIO_SYSFS is not set + +# +# I2C GPIO expanders: +# +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set + +# +# PCI GPIO expanders: +# + +# +# SPI GPIO expanders: +# +# CONFIG_W1 is not set +# CONFIG_POWER_SUPPLY is not set +CONFIG_HWMON=y +# CONFIG_HWMON_VID is not set +# CONFIG_SENSORS_AD7414 is not set +# CONFIG_SENSORS_AD7418 is not set +# CONFIG_SENSORS_ADM1021 is not set +# CONFIG_SENSORS_ADM1025 is not set +# CONFIG_SENSORS_ADM1026 is not set +# CONFIG_SENSORS_ADM1029 is not set +# CONFIG_SENSORS_ADM1031 is not set +# CONFIG_SENSORS_ADM9240 is not set +# CONFIG_SENSORS_ADT7470 is not set +# CONFIG_SENSORS_ADT7473 is not set +# CONFIG_SENSORS_ATXP1 is not set +# CONFIG_SENSORS_DS1621 is not set +# CONFIG_SENSORS_F71805F is not set +# CONFIG_SENSORS_F71882FG is not set +# CONFIG_SENSORS_F75375S is not set +# CONFIG_SENSORS_GL518SM is not set +# CONFIG_SENSORS_GL520SM is not set +# CONFIG_SENSORS_IT87 is not set +# CONFIG_SENSORS_LM63 is not set +# CONFIG_SENSORS_LM75 is not set +# CONFIG_SENSORS_LM77 is not set +# CONFIG_SENSORS_LM78 is not set +# CONFIG_SENSORS_LM80 is not set +# CONFIG_SENSORS_LM83 is not set +# CONFIG_SENSORS_LM85 is not set +# CONFIG_SENSORS_LM87 is not set +# CONFIG_SENSORS_LM90 is not set +# CONFIG_SENSORS_LM92 is not set +# CONFIG_SENSORS_LM93 is not set +# CONFIG_SENSORS_MAX1619 is not set +# CONFIG_SENSORS_MAX6650 is not set +# CONFIG_SENSORS_PC87360 is not set +# CONFIG_SENSORS_PC87427 is not set +# CONFIG_SENSORS_DME1737 is not set +# CONFIG_SENSORS_SMSC47M1 is not set +# CONFIG_SENSORS_SMSC47M192 is not set +# CONFIG_SENSORS_SMSC47B397 is not set +# CONFIG_SENSORS_ADS7828 is not set +# CONFIG_SENSORS_THMC50 is not set +# CONFIG_SENSORS_VT1211 is not set +# CONFIG_SENSORS_W83781D is not set +# CONFIG_SENSORS_W83791D is not set +# CONFIG_SENSORS_W83792D is not set +# CONFIG_SENSORS_W83793 is not set +# CONFIG_SENSORS_W83L785TS is not set +# CONFIG_SENSORS_W83L786NG is not set +# CONFIG_SENSORS_W83627HF is not set +# CONFIG_SENSORS_W83627EHF is not set +# CONFIG_HWMON_DEBUG_CHIP is not set +# CONFIG_THERMAL is not set +# CONFIG_THERMAL_HWMON is not set +CONFIG_WATCHDOG=y +# CONFIG_WATCHDOG_NOWAYOUT is not set + +# # +# # Watchdog Device Drivers +# # +# # CONFIG_SOFT_WATCHDOG is not set +CONFIG_S3C2410_WATCHDOG=y + +# # +# # ISA-based Watchdog Cards +# # +# # CONFIG_PCWATCHDOG is not set +# # CONFIG_MIXCOMWD is not set +# # CONFIG_WDT is not set + +# +# Sonics Silicon Backplane +# +CONFIG_SSB_POSSIBLE=y +# CONFIG_SSB is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_ASIC3 is not set +# CONFIG_HTC_EGPIO is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB is not set +# CONFIG_PMIC_DA903X is not set +# CONFIG_MFD_WM8400 is not set +# CONFIG_MFD_WM8350_I2C is not set + +# +# Multimedia devices +# + +# +# Multimedia core support +# +# CONFIG_VIDEO_DEV is not set +# CONFIG_VIDEO_MEDIA is not set + +# +# Multimedia drivers +# +# CONFIG_DAB is not set + +# +# Graphics support +# +# CONFIG_VGASTATE is not set +# CONFIG_VIDEO_OUTPUT_CONTROL is not set +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_IMAGEBLIT=y +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +# CONFIG_FB_SYS_FILLRECT is not set +# CONFIG_FB_SYS_COPYAREA is not set +# CONFIG_FB_SYS_IMAGEBLIT is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_SYS_FOPS is not set +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +CONFIG_FB_S3C=y +CONFIG_FB_S3C_LTE480WV=y +# CONFIG_FB_S3C_LTV350QV is not set +# CONFIG_FB_S3C_LTS222QV is not set +CONFIG_FB_S3C_BPP=y +# CONFIG_FB_S3C_BPP_8 is not set +CONFIG_FB_S3C_BPP_16=y +# CONFIG_FB_S3C_BPP_24 is not set +# CONFIG_FB_S3C_BPP_32 is not set +CONFIG_FB_S3C_NUM=1 +# CONFIG_FB_S3C_VIRTUAL_SCREEN is not set +# CONFIG_FB_S3C_DOUBLE_BUFFERING is not set +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_VIRTUAL is not set +# CONFIG_FB_METRONOME is not set +# CONFIG_FB_MB862XX is not set +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set + +# +# Display device support +# +# CONFIG_DISPLAY_SUPPORT is not set + +# +# Console display driver support +# +# CONFIG_VGA_CONSOLE is not set +CONFIG_DUMMY_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set +# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set +# CONFIG_FONTS is not set +CONFIG_FONT_8x8=y +CONFIG_FONT_8x16=y +CONFIG_LOGO=y +# CONFIG_LOGO_LINUX_MONO is not set +# CONFIG_LOGO_LINUX_VGA16 is not set +# CONFIG_LOGO_LINUX_CLUT224 is not set +CONFIG_LOGO_LINUX_LANDSCAPED_CLUT224=y +# CONFIG_SOUND is not set +CONFIG_HID_SUPPORT=y +CONFIG_HID=y +CONFIG_HID_DEBUG=y +# CONFIG_HIDRAW is not set +# CONFIG_HID_PID is not set + +# +# Special HID drivers +# +# CONFIG_HID_COMPAT is not set +CONFIG_HID_A4TECH=y +CONFIG_HID_APPLE=y +CONFIG_HID_BELKIN=y +CONFIG_HID_BRIGHT=y +CONFIG_HID_CHERRY=y +CONFIG_HID_CHICONY=y +CONFIG_HID_CYPRESS=y +CONFIG_HID_DELL=y +CONFIG_HID_EZKEY=y +CONFIG_HID_GYRATION=y +CONFIG_HID_LOGITECH=y +# CONFIG_LOGITECH_FF is not set +# CONFIG_LOGIRUMBLEPAD2_FF is not set +CONFIG_HID_MICROSOFT=y +CONFIG_HID_MONTEREY=y +CONFIG_HID_PANTHERLORD=y +# CONFIG_PANTHERLORD_FF is not set +CONFIG_HID_PETALYNX=y +CONFIG_HID_SAMSUNG=y +CONFIG_HID_SONY=y +CONFIG_HID_SUNPLUS=y +# CONFIG_THRUSTMASTER_FF is not set +# CONFIG_ZEROPLUS_FF is not set +CONFIG_USB_SUPPORT=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB_ARCH_HAS_OHCI=y +# CONFIG_USB_ARCH_HAS_EHCI is not set +CONFIG_USB=y +# CONFIG_USB_DEBUG is not set +# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set + +# +# Miscellaneous USB options +# +CONFIG_USB_DEVICEFS=y +CONFIG_USB_DEVICE_CLASS=y +# CONFIG_USB_DYNAMIC_MINORS is not set +# CONFIG_USB_OTG is not set +# CONFIG_USB_MON is not set +# CONFIG_USB_WUSB is not set +# CONFIG_USB_WUSB_CBAF is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +CONFIG_USB_OHCI_HCD=y +# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_HWA_HCD is not set +# CONFIG_USB_MUSB_HDRC is not set +# CONFIG_USB_GADGET_MUSB_HDRC is not set + +# +# USB Device Class drivers +# +# CONFIG_USB_ACM is not set +# CONFIG_USB_PRINTER is not set +# CONFIG_USB_WDM is not set +# CONFIG_USB_TMC is not set + +# +# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; +# + +# +# see USB_STORAGE Help for more information +# +CONFIG_USB_STORAGE=y +# CONFIG_USB_STORAGE_DEBUG is not set +# CONFIG_USB_STORAGE_DATAFAB is not set +# CONFIG_USB_STORAGE_FREECOM is not set +# CONFIG_USB_STORAGE_ISD200 is not set +# CONFIG_USB_STORAGE_DPCM is not set +# CONFIG_USB_STORAGE_USBAT is not set +# CONFIG_USB_STORAGE_SDDR09 is not set +# CONFIG_USB_STORAGE_SDDR55 is not set +# CONFIG_USB_STORAGE_JUMPSHOT is not set +# CONFIG_USB_STORAGE_ALAUDA is not set +# CONFIG_USB_STORAGE_ONETOUCH is not set +# CONFIG_USB_STORAGE_KARMA is not set +# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set +# CONFIG_USB_LIBUSUAL is not set + +# +# USB Imaging devices +# +# CONFIG_USB_MDC800 is not set +# CONFIG_USB_MICROTEK is not set + +# +# USB port drivers +# +# CONFIG_USB_SERIAL is not set + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_ADUTUX is not set +# CONFIG_USB_SEVSEG is not set +# CONFIG_USB_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_BERRY_CHARGE is not set +# CONFIG_USB_LED is not set +# CONFIG_USB_CYPRESS_CY7C63 is not set +# CONFIG_USB_CYTHERM is not set +# CONFIG_USB_PHIDGET is not set +# CONFIG_USB_IDMOUSE is not set +# CONFIG_USB_FTDI_ELAN is not set +# CONFIG_USB_APPLEDISPLAY is not set +# CONFIG_USB_LD is not set +# CONFIG_USB_TRANCEVIBRATOR is not set +# CONFIG_USB_IOWARRIOR is not set +# CONFIG_USB_TEST is not set +# CONFIG_USB_ISIGHTFW is not set +# CONFIG_USB_VST is not set +# CONFIG_USB_GADGET is not set +# CONFIG_USB_GADGET_AT91 is not set +# CONFIG_USB_GADGET_ATMEL_USBA is not set +# CONFIG_USB_GADGET_FSL_USB2 is not set +# CONFIG_USB_GADGET_LH7A40X is not set +# CONFIG_USB_GADGET_OMAP is not set +# CONFIG_USB_GADGET_PXA25X is not set +# CONFIG_USB_GADGET_PXA27X is not set +# CONFIG_USB_GADGET_S3C2410 is not set +# CONFIG_USB_GADGET_S3C_OTGD is not set +# CONFIG_USB_GADGET_M66592 is not set +# CONFIG_USB_GADGET_AMD5536UDC is not set +# CONFIG_USB_GADGET_FSL_QE is not set +# CONFIG_USB_GADGET_NET2280 is not set +# CONFIG_USB_GADGET_GOKU is not set +# CONFIG_USB_GADGET_DUMMY_HCD is not set +# CONFIG_USB_ZERO is not set +# CONFIG_USB_ETH is not set +# CONFIG_USB_GADGETFS is not set +# CONFIG_USB_FILE_STORAGE is not set +# CONFIG_USB_G_SERIAL is not set +# CONFIG_USB_MIDI_GADGET is not set +# CONFIG_USB_G_PRINTER is not set +# CONFIG_USB_CDC_COMPOSITE is not set +CONFIG_MMC=y +# CONFIG_MMC_DEBUG is not set +# CONFIG_MMC_UNSAFE_RESUME is not set + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_BOUNCE=y +CONFIG_SDIO_UART=y +# CONFIG_MMC_TEST is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_S3C=y +# CONFIG_MEMSTICK is not set +# CONFIG_ACCESSIBILITY is not set +# CONFIG_NEW_LEDS is not set +CONFIG_RTC_LIB=y +# CONFIG_RTC_CLASS is not set +# CONFIG_DMADEVICES is not set +# CONFIG_REGULATOR is not set +# CONFIG_UIO is not set + +# +# File systems +# +CONFIG_EXT2_FS=y +# CONFIG_EXT2_FS_XATTR is not set +# CONFIG_EXT2_FS_XIP is not set +CONFIG_EXT3_FS=y +CONFIG_EXT3_FS_XATTR=y +CONFIG_EXT3_FS_POSIX_ACL=y +CONFIG_EXT3_FS_SECURITY=y +# CONFIG_EXT4_FS is not set +CONFIG_JBD=y +CONFIG_FS_MBCACHE=y +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +CONFIG_FS_POSIX_ACL=y +CONFIG_FILE_LOCKING=y +# CONFIG_XFS_FS is not set +# CONFIG_GFS2_FS is not set +CONFIG_DNOTIFY=y +CONFIG_INOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_QUOTA is not set +# CONFIG_AUTOFS_FS is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_FUSE_FS is not set +CONFIG_GENERIC_ACL=y + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_SYSCTL=y +CONFIG_PROC_PAGE_MONITOR=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +# CONFIG_HUGETLB_PAGE is not set +# CONFIG_CONFIGFS_FS is not set + +# +# Miscellaneous filesystems +# +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +CONFIG_CRAMFS=y +# CONFIG_VXFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +CONFIG_ROMFS_FS=y +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set + +# +# Partition Types +# +# CONFIG_PARTITION_ADVANCED is not set +CONFIG_MSDOS_PARTITION=y +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +# CONFIG_NLS_CODEPAGE_737 is not set +# CONFIG_NLS_CODEPAGE_775 is not set +# CONFIG_NLS_CODEPAGE_850 is not set +# CONFIG_NLS_CODEPAGE_852 is not set +# CONFIG_NLS_CODEPAGE_855 is not set +# CONFIG_NLS_CODEPAGE_857 is not set +# CONFIG_NLS_CODEPAGE_860 is not set +# CONFIG_NLS_CODEPAGE_861 is not set +# CONFIG_NLS_CODEPAGE_862 is not set +# CONFIG_NLS_CODEPAGE_863 is not set +# CONFIG_NLS_CODEPAGE_864 is not set +# CONFIG_NLS_CODEPAGE_865 is not set +# CONFIG_NLS_CODEPAGE_866 is not set +# CONFIG_NLS_CODEPAGE_869 is not set +# CONFIG_NLS_CODEPAGE_936 is not set +# CONFIG_NLS_CODEPAGE_950 is not set +# CONFIG_NLS_CODEPAGE_932 is not set +# CONFIG_NLS_CODEPAGE_949 is not set +# CONFIG_NLS_CODEPAGE_874 is not set +# CONFIG_NLS_ISO8859_8 is not set +# CONFIG_NLS_CODEPAGE_1250 is not set +# CONFIG_NLS_CODEPAGE_1251 is not set +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +# CONFIG_NLS_ISO8859_2 is not set +# CONFIG_NLS_ISO8859_3 is not set +# CONFIG_NLS_ISO8859_4 is not set +# CONFIG_NLS_ISO8859_5 is not set +# CONFIG_NLS_ISO8859_6 is not set +# CONFIG_NLS_ISO8859_7 is not set +# CONFIG_NLS_ISO8859_9 is not set +# CONFIG_NLS_ISO8859_13 is not set +# CONFIG_NLS_ISO8859_14 is not set +# CONFIG_NLS_ISO8859_15 is not set +# CONFIG_NLS_KOI8_R is not set +# CONFIG_NLS_KOI8_U is not set +# CONFIG_NLS_UTF8 is not set + +# +# Kernel hacking +# +# CONFIG_PRINTK_TIME is not set +CONFIG_ENABLE_WARN_DEPRECATED=y +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=1024 +CONFIG_MAGIC_SYSRQ=y +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_DEBUG_FS is not set +# CONFIG_HEADERS_CHECK is not set +CONFIG_DEBUG_KERNEL=y +# CONFIG_DEBUG_SHIRQ is not set +CONFIG_DETECT_SOFTLOCKUP=y +# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 +CONFIG_SCHED_DEBUG=y +# CONFIG_SCHEDSTATS is not set +# CONFIG_TIMER_STATS is not set +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +CONFIG_DEBUG_RT_MUTEXES=y +CONFIG_DEBUG_PI_LIST=y +# CONFIG_RT_MUTEX_TESTER is not set +CONFIG_DEBUG_SPINLOCK=y +CONFIG_DEBUG_MUTEXES=y +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_PROVE_LOCKING is not set +# CONFIG_LOCK_STAT is not set +CONFIG_DEBUG_SPINLOCK_SLEEP=y +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_DEBUG_KOBJECT is not set +CONFIG_DEBUG_BUGVERBOSE=y +CONFIG_DEBUG_INFO=y +# CONFIG_DEBUG_VM is not set +# CONFIG_DEBUG_WRITECOUNT is not set +CONFIG_DEBUG_MEMORY_INIT=y +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_SG is not set +CONFIG_FRAME_POINTER=y +# CONFIG_BOOT_PRINTK_DELAY is not set +# CONFIG_RCU_TORTURE_TEST is not set +# CONFIG_RCU_CPU_STALL_DETECTOR is not set +# CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_FAULT_INJECTION is not set +# CONFIG_LATENCYTOP is not set +CONFIG_SYSCTL_SYSCALL_CHECK=y +CONFIG_HAVE_FUNCTION_TRACER=y + +# +# Tracers +# +# CONFIG_FUNCTION_TRACER is not set +# CONFIG_SCHED_TRACER is not set +# CONFIG_CONTEXT_SWITCH_TRACER is not set +# CONFIG_BOOT_TRACER is not set +# CONFIG_STACK_TRACER is not set +# CONFIG_DYNAMIC_PRINTK_DEBUG is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_KGDB is not set +CONFIG_DEBUG_USER=y +CONFIG_DEBUG_ERRORS=y +# CONFIG_DEBUG_STACK_USAGE is not set +CONFIG_DEBUG_LL=y +# CONFIG_DEBUG_ICEDCC is not set +CONFIG_DEBUG_S3C_PORT=y +CONFIG_DEBUG_S3C_UART=0 + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY is not set +# CONFIG_SECURITYFS is not set +# CONFIG_SECURITY_FILE_CAPABILITIES is not set +# CONFIG_CRYPTO is not set + +# +# Library routines +# +CONFIG_BITREVERSE=y +# CONFIG_CRC_CCITT is not set +# CONFIG_CRC16 is not set +# CONFIG_CRC_T10DIF is not set +# CONFIG_CRC_ITU_T is not set +CONFIG_CRC32=y +# CONFIG_CRC7 is not set +# CONFIG_LIBCRC32C is not set +CONFIG_ZLIB_INFLATE=y +CONFIG_PLIST=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_DMA=y diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/configs/smdk6410rf_defconfig linux-2.6.28.6/arch/arm/configs/smdk6410rf_defconfig --- linux-2.6.28/arch/arm/configs/smdk6410rf_defconfig 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/configs/smdk6410rf_defconfig 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,1040 @@ +# +# Automatically generated make config: don't edit +# Linux kernel version: 2.6.28-rc8 +# Mon Feb 2 12:53:27 2009 +# +CONFIG_ARM=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_GENERIC_GPIO=y +# CONFIG_GENERIC_TIME is not set +# CONFIG_GENERIC_CLOCKEVENTS is not set +CONFIG_MMU=y +CONFIG_NO_IOPORT=y +CONFIG_GENERIC_HARDIRQS=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_RWSEM_GENERIC_SPINLOCK=y +# CONFIG_ARCH_HAS_ILOG2_U32 is not set +# CONFIG_ARCH_HAS_ILOG2_U64 is not set +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" + +# +# General setup +# +CONFIG_EXPERIMENTAL=y +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_LOCALVERSION="" +CONFIG_LOCALVERSION_AUTO=y +CONFIG_SWAP=y +# CONFIG_SYSVIPC is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=17 +# CONFIG_CGROUPS is not set +# CONFIG_GROUP_SCHED is not set +CONFIG_SYSFS_DEPRECATED=y +CONFIG_SYSFS_DEPRECATED_V2=y +# CONFIG_RELAY is not set +CONFIG_NAMESPACES=y +# CONFIG_UTS_NS is not set +# CONFIG_USER_NS is not set +# CONFIG_PID_NS is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL=y +# CONFIG_EMBEDDED is not set +CONFIG_UID16=y +CONFIG_SYSCTL_SYSCALL=y +CONFIG_KALLSYMS=y +CONFIG_KALLSYMS_ALL=y +# CONFIG_KALLSYMS_EXTRA_PASS is not set +CONFIG_HOTPLUG=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_COMPAT_BRK=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_ANON_INODES=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_SLUB_DEBUG=y +# CONFIG_SLAB is not set +CONFIG_SLUB=y +# CONFIG_SLOB is not set +# CONFIG_PROFILING is not set +# CONFIG_MARKERS is not set +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +CONFIG_HAVE_KPROBES=y +CONFIG_HAVE_KRETPROBES=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +# CONFIG_TINY_SHMEM is not set +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODULE_FORCE_UNLOAD is not set +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +CONFIG_KMOD=y +CONFIG_BLOCK=y +CONFIG_LBD=y +# CONFIG_BLK_DEV_IO_TRACE is not set +CONFIG_LSF=y +# CONFIG_BLK_DEV_BSG is not set +# CONFIG_BLK_DEV_INTEGRITY is not set + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_AS=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +# CONFIG_DEFAULT_AS is not set +# CONFIG_DEFAULT_DEADLINE is not set +CONFIG_DEFAULT_CFQ=y +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="cfq" +CONFIG_CLASSIC_RCU=y +# CONFIG_FREEZER is not set + +# +# System Type +# +# CONFIG_ARCH_AAEC2000 is not set +# CONFIG_ARCH_INTEGRATOR is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_AT91 is not set +# CONFIG_ARCH_CLPS7500 is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_H720X is not set +# CONFIG_ARCH_IMX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP23XX is not set +# CONFIG_ARCH_IXP2000 is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_L7200 is not set +# CONFIG_ARCH_KIRKWOOD is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_NS9XXX is not set +# CONFIG_ARCH_LOKI is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_MXC is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_PNX4008 is not set +# CONFIG_ARCH_PXA is not set +# CONFIG_ARCH_RPC is not set +# CONFIG_ARCH_SA1100 is not set +# CONFIG_ARCH_S3C2410 is not set +CONFIG_ARCH_S3C64XX=y +# CONFIG_ARCH_S5P64XX is not set +# CONFIG_ARCH_S5PC1XX is not set +# CONFIG_ARCH_SHARK is not set +# CONFIG_ARCH_LH7A40X is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP is not set +# CONFIG_ARCH_MSM is not set +CONFIG_PLAT_S3C64XX=y +CONFIG_CPU_S3C6400_INIT=y +CONFIG_CPU_S3C6400_CLOCK=y +CONFIG_S3C64XX_SETUP_I2C0=y +CONFIG_S3C64XX_SETUP_I2C1=y +# CONFIG_S3C64XX_ADC is not set +CONFIG_PLAT_S3C=y + +# +# Boot options +# +CONFIG_S3C_BOOT_ERROR_RESET=y + +# +# Power management +# +CONFIG_S3C_LOWLEVEL_UART_PORT=0 +CONFIG_SPLIT_ROOT_FILESYSTEM=y +CONFIG_S3C_GPIO_SPACE=0 +CONFIG_S3C_GPIO_TRACK=y +CONFIG_S3C_GPIO_PULL_UPDOWN=y +CONFIG_S3C_GPIO_CFG_S3C24XX=y +CONFIG_S3C_GPIO_CFG_S3C64XX=y +CONFIG_S3C_DEV_HSMMC=y +CONFIG_S3C_DEV_HSMMC1=y +CONFIG_S3C_DEV_I2C1=y +CONFIG_S3C_DMA_PL080=y +CONFIG_CPU_S3C6410=y +CONFIG_S3C6410_SETUP_SDHCI=y +CONFIG_MACH_SMDK6410=y +CONFIG_SMDK6410_SD_CH0=y +# CONFIG_SMDK6410_SD_CH1 is not set + +# +# Processor Type +# +CONFIG_CPU_32=y +CONFIG_CPU_V6=y +CONFIG_CPU_32v6K=y +CONFIG_CPU_32v6=y +CONFIG_CPU_ABRT_EV6=y +CONFIG_CPU_PABRT_NOIFAR=y +CONFIG_CPU_CACHE_V6=y +CONFIG_CPU_CACHE_VIPT=y +CONFIG_CPU_COPY_V6=y +CONFIG_CPU_TLB_V6=y +CONFIG_CPU_HAS_ASID=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y + +# +# Processor Features +# +CONFIG_ARM_THUMB=y +# CONFIG_CPU_ICACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_DISABLE is not set +# CONFIG_CPU_BPREDICT_DISABLE is not set +# CONFIG_OUTER_CACHE is not set +CONFIG_ARM_VIC=y + +# +# Bus support +# +# CONFIG_PCI_SYSCALL is not set +# CONFIG_ARCH_SUPPORTS_MSI is not set +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_VMSPLIT_3G=y +# CONFIG_VMSPLIT_2G is not set +# CONFIG_VMSPLIT_1G is not set +CONFIG_PAGE_OFFSET=0xC0000000 +# CONFIG_PREEMPT is not set +CONFIG_HZ=200 +CONFIG_AEABI=y +CONFIG_OABI_COMPAT=y +CONFIG_ARCH_FLATMEM_HAS_HOLES=y +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_FLATMEM_MANUAL=y +# CONFIG_DISCONTIGMEM_MANUAL is not set +# CONFIG_SPARSEMEM_MANUAL is not set +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_PAGEFLAGS_EXTENDED=y +CONFIG_SPLIT_PTLOCK_CPUS=4 +# CONFIG_RESOURCES_64BIT is not set +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=0 +CONFIG_VIRT_TO_BUS=y +CONFIG_UNEVICTABLE_LRU=y +CONFIG_ALIGNMENT_TRAP=y + +# +# Boot options +# +CONFIG_ZBOOT_ROM_TEXT=0 +CONFIG_ZBOOT_ROM_BSS=0 +CONFIG_CMDLINE="root=/dev/mtdblock2 rootfstype=cramfs init=/linuxrc console=ttySAC0,115200 mem=128M" +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set + +# +# CPU Power Management +# +# CONFIG_CPU_FREQ is not set +# CONFIG_CPU_IDLE is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +# CONFIG_FPE_NWFPE is not set +# CONFIG_FPE_FASTFPE is not set +# CONFIG_VFP is not set + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_HAVE_AOUT=y +# CONFIG_BINFMT_AOUT is not set +# CONFIG_BINFMT_MISC is not set + +# +# Power management options +# +# CONFIG_PM is not set +CONFIG_ARCH_SUSPEND_POSSIBLE=y +# CONFIG_NET is not set + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_SYS_HYPERVISOR is not set +CONFIG_MTD=y +# CONFIG_MTD_DEBUG is not set +# CONFIG_MTD_CONCAT is not set +CONFIG_MTD_PARTITIONS=y +# CONFIG_MTD_REDBOOT_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set +# CONFIG_MTD_AR7_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_CHAR=y +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_MTD_OOPS is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_DATAFLASH is not set +# CONFIG_MTD_M25P80 is not set +# CONFIG_MTD_SLRAM is not set +# CONFIG_MTD_PHRAM is not set +# CONFIG_MTD_MTDRAM is not set +# CONFIG_MTD_BLOCK2MTD is not set + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOC2000 is not set +# CONFIG_MTD_DOC2001 is not set +# CONFIG_MTD_DOC2001PLUS is not set +CONFIG_MTD_NAND=y +# CONFIG_MTD_NAND_VERIFY_WRITE is not set +# CONFIG_MTD_NAND_ECC_SMC is not set +# CONFIG_MTD_NAND_MUSEUM_IDS is not set +# CONFIG_MTD_NAND_GPIO is not set +CONFIG_MTD_NAND_IDS=y +CONFIG_MTD_NAND_S3C=y +# CONFIG_MTD_NAND_S3C_DEBUG is not set +CONFIG_MTD_NAND_S3C_HWECC=y +# CONFIG_MTD_NAND_DISKONCHIP is not set +# CONFIG_MTD_NAND_NANDSIM is not set +# CONFIG_MTD_NAND_PLATFORM is not set +# CONFIG_MTD_ONENAND is not set + +# +# UBI - Unsorted block images +# +# CONFIG_MTD_UBI is not set +# CONFIG_PARPORT is not set +CONFIG_BLK_DEV=y +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=8192 +# CONFIG_BLK_DEV_XIP is not set +# CONFIG_CDROM_PKTCDVD is not set +CONFIG_MISC_DEVICES=y +# CONFIG_EEPROM_93CX6 is not set +# CONFIG_ICS932S401 is not set +# CONFIG_ENCLOSURE_SERVICES is not set +# CONFIG_C2PORT is not set +CONFIG_HAVE_IDE=y +# CONFIG_IDE is not set + +# +# SCSI device support +# +# CONFIG_RAID_ATTRS is not set +# CONFIG_SCSI is not set +# CONFIG_SCSI_DMA is not set +# CONFIG_SCSI_NETLINK is not set +# CONFIG_ATA is not set +# CONFIG_MD is not set + +# +# Input device support +# +CONFIG_INPUT=y +# CONFIG_INPUT_FF_MEMLESS is not set +# CONFIG_INPUT_POLLDEV is not set + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +# CONFIG_INPUT_JOYDEV is not set +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_EVBUG is not set + +# +# Input Device Drivers +# +CONFIG_INPUT_KEYBOARD=y +CONFIG_KEYBOARD_ATKBD=y +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_LKKBD is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_STOWAWAY is not set +# CONFIG_KEYBOARD_GPIO is not set +# CONFIG_KEYPAD_S3C is not set +CONFIG_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=y +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_LIFEBOOK=y +CONFIG_MOUSE_PS2_TRACKPOINT=y +# CONFIG_MOUSE_PS2_ELANTECH is not set +# CONFIG_MOUSE_PS2_TOUCHKIT is not set +# CONFIG_MOUSE_SERIAL is not set +# CONFIG_MOUSE_APPLETOUCH is not set +# CONFIG_MOUSE_BCM5974 is not set +# CONFIG_MOUSE_VSXXXAA is not set +# CONFIG_MOUSE_GPIO is not set +# CONFIG_INPUT_JOYSTICK is not set +# CONFIG_INPUT_TABLET is not set +CONFIG_INPUT_TOUCHSCREEN=y +# CONFIG_TOUCHSCREEN_ADS7846 is not set +CONFIG_TOUCHSCREEN_S3C=y +CONFIG_TOUCHSCREEN_NEW=y +# CONFIG_TOUCHSCREEN_FUJITSU is not set +# CONFIG_TOUCHSCREEN_GUNZE is not set +# CONFIG_TOUCHSCREEN_ELO is not set +# CONFIG_TOUCHSCREEN_MTOUCH is not set +# CONFIG_TOUCHSCREEN_INEXIO is not set +# CONFIG_TOUCHSCREEN_MK712 is not set +# CONFIG_TOUCHSCREEN_PENMOUNT is not set +# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set +# CONFIG_TOUCHSCREEN_TOUCHWIN is not set +# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set +# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set +# CONFIG_INPUT_MISC is not set + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_SERPORT=y +CONFIG_SERIO_LIBPS2=y +# CONFIG_SERIO_RAW is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_VT_CONSOLE=y +CONFIG_HW_CONSOLE=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +CONFIG_DEVKMEM=y +# CONFIG_SERIAL_NONSTANDARD is not set + +# +# Serial drivers +# +CONFIG_SERIAL_8250=y +# CONFIG_SERIAL_8250_CONSOLE is not set +CONFIG_SERIAL_8250_NR_UARTS=4 +CONFIG_SERIAL_8250_RUNTIME_UARTS=4 +# CONFIG_SERIAL_8250_EXTENDED is not set + +# +# Non-8250 serial port support +# +CONFIG_SERIAL_SAMSUNG=y +CONFIG_SERIAL_SAMSUNG_UARTS=4 +# CONFIG_SERIAL_SAMSUNG_DEBUG is not set +CONFIG_SERIAL_SAMSUNG_CONSOLE=y +CONFIG_SERIAL_S3C6400=y +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +CONFIG_UNIX98_PTYS=y +CONFIG_LEGACY_PTYS=y +CONFIG_LEGACY_PTY_COUNT=256 +# CONFIG_IPMI_HANDLER is not set +CONFIG_HW_RANDOM=y +# CONFIG_NVRAM is not set +# CONFIG_R3964 is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +CONFIG_S3C_MEM=y +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_HELPER_AUTO=y + +# +# I2C Hardware Bus support +# + +# +# I2C system bus drivers (mostly embedded / system-on-chip) +# +# CONFIG_I2C_GPIO is not set +# CONFIG_I2C_OCORES is not set +CONFIG_I2C_S3C2410=y +# CONFIG_I2C_SIMTEC is not set + +# +# External I2C/SMBus adapter drivers +# +# CONFIG_I2C_PARPORT_LIGHT is not set +# CONFIG_I2C_TAOS_EVM is not set + +# +# Other I2C/SMBus bus drivers +# +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_STUB is not set + +# +# Miscellaneous I2C Chip support +# +# CONFIG_DS1682 is not set +CONFIG_AT24=y +# CONFIG_SENSORS_EEPROM is not set +# CONFIG_SENSORS_PCF8574 is not set +# CONFIG_PCF8575 is not set +# CONFIG_SENSORS_PCA9539 is not set +# CONFIG_SENSORS_PCF8591 is not set +# CONFIG_TPS65010 is not set +# CONFIG_SENSORS_MAX6875 is not set +# CONFIG_SENSORS_TSL2550 is not set +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +# CONFIG_I2C_DEBUG_CHIP is not set +CONFIG_SPI=y +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +# CONFIG_SPI_BITBANG is not set + +# +# SPI Protocol Masters +# +# CONFIG_SPI_AT25 is not set +# CONFIG_SPI_SPIDEV is not set +# CONFIG_SPI_TLE62X0 is not set +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_GPIOLIB=y +# CONFIG_DEBUG_GPIO is not set +# CONFIG_GPIO_SYSFS is not set + +# +# Memory mapped GPIO expanders: +# + +# +# I2C GPIO expanders: +# +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set + +# +# PCI GPIO expanders: +# + +# +# SPI GPIO expanders: +# +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MCP23S08 is not set +# CONFIG_W1 is not set +# CONFIG_POWER_SUPPLY is not set +CONFIG_HWMON=y +# CONFIG_HWMON_VID is not set +# CONFIG_SENSORS_AD7414 is not set +# CONFIG_SENSORS_AD7418 is not set +# CONFIG_SENSORS_ADCXX is not set +# CONFIG_SENSORS_ADM1021 is not set +# CONFIG_SENSORS_ADM1025 is not set +# CONFIG_SENSORS_ADM1026 is not set +# CONFIG_SENSORS_ADM1029 is not set +# CONFIG_SENSORS_ADM1031 is not set +# CONFIG_SENSORS_ADM9240 is not set +# CONFIG_SENSORS_ADT7462 is not set +# CONFIG_SENSORS_ADT7470 is not set +# CONFIG_SENSORS_ADT7473 is not set +# CONFIG_SENSORS_ATXP1 is not set +# CONFIG_SENSORS_DS1621 is not set +# CONFIG_SENSORS_F71805F is not set +# CONFIG_SENSORS_F71882FG is not set +# CONFIG_SENSORS_F75375S is not set +# CONFIG_SENSORS_GL518SM is not set +# CONFIG_SENSORS_GL520SM is not set +# CONFIG_SENSORS_IT87 is not set +# CONFIG_SENSORS_LM63 is not set +# CONFIG_SENSORS_LM70 is not set +# CONFIG_SENSORS_LM75 is not set +# CONFIG_SENSORS_LM77 is not set +# CONFIG_SENSORS_LM78 is not set +# CONFIG_SENSORS_LM80 is not set +# CONFIG_SENSORS_LM83 is not set +# CONFIG_SENSORS_LM85 is not set +# CONFIG_SENSORS_LM87 is not set +# CONFIG_SENSORS_LM90 is not set +# CONFIG_SENSORS_LM92 is not set +# CONFIG_SENSORS_LM93 is not set +# CONFIG_SENSORS_MAX1111 is not set +# CONFIG_SENSORS_MAX1619 is not set +# CONFIG_SENSORS_MAX6650 is not set +# CONFIG_SENSORS_PC87360 is not set +# CONFIG_SENSORS_PC87427 is not set +# CONFIG_SENSORS_DME1737 is not set +# CONFIG_SENSORS_SMSC47M1 is not set +# CONFIG_SENSORS_SMSC47M192 is not set +# CONFIG_SENSORS_SMSC47B397 is not set +# CONFIG_SENSORS_ADS7828 is not set +# CONFIG_SENSORS_THMC50 is not set +# CONFIG_SENSORS_VT1211 is not set +# CONFIG_SENSORS_W83781D is not set +# CONFIG_SENSORS_W83791D is not set +# CONFIG_SENSORS_W83792D is not set +# CONFIG_SENSORS_W83793 is not set +# CONFIG_SENSORS_W83L785TS is not set +# CONFIG_SENSORS_W83L786NG is not set +# CONFIG_SENSORS_W83627HF is not set +# CONFIG_SENSORS_W83627EHF is not set +# CONFIG_HWMON_DEBUG_CHIP is not set +# CONFIG_THERMAL is not set +# CONFIG_THERMAL_HWMON is not set +# CONFIG_WATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +# CONFIG_SSB is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_ASIC3 is not set +# CONFIG_HTC_EGPIO is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB is not set +# CONFIG_PMIC_DA903X is not set +# CONFIG_MFD_WM8400 is not set +# CONFIG_MFD_WM8350_I2C is not set + +# +# Multimedia devices +# + +# +# Multimedia core support +# +# CONFIG_VIDEO_DEV is not set +# CONFIG_VIDEO_MEDIA is not set + +# +# Multimedia drivers +# +# CONFIG_DAB is not set + +# +# Graphics support +# +# CONFIG_VGASTATE is not set +# CONFIG_VIDEO_OUTPUT_CONTROL is not set +# CONFIG_FB is not set +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set + +# +# Display device support +# +# CONFIG_DISPLAY_SUPPORT is not set + +# +# Console display driver support +# +# CONFIG_VGA_CONSOLE is not set +CONFIG_DUMMY_CONSOLE=y +CONFIG_SOUND=y +# CONFIG_SOUND_OSS_CORE is not set +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +# CONFIG_SND_SEQUENCER is not set +# CONFIG_SND_MIXER_OSS is not set +# CONFIG_SND_PCM_OSS is not set +# CONFIG_SND_DYNAMIC_MINORS is not set +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_VERBOSE_PROCFS=y +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set +CONFIG_SND_DRIVERS=y +# CONFIG_SND_DUMMY is not set +# CONFIG_SND_MTPAV is not set +# CONFIG_SND_SERIAL_U16550 is not set +# CONFIG_SND_MPU401 is not set +CONFIG_SND_ARM=y +CONFIG_SND_SPI=y +CONFIG_SND_SOC=y + +# +# SoC Audio for the Samsung S3C +# +CONFIG_SND_S3C64XX_SOC=y +CONFIG_SND_S3C6410_SOC_I2S_V32=y +# CONFIG_SND_S3C64XX_SOC_SMDK6410_WM9713 is not set +# CONFIG_SND_S3C64XX_SOC_SMDK6410_WM8580 is not set +# CONFIG_SND_S3C64XX_SOC_SMDK6410_WM8990 is not set +CONFIG_SND_S3C64XX_SOC_SMDK6410_S5M8751=y +# CONFIG_SND_SOC_ALL_CODECS is not set +CONFIG_SND_SOC_S5M8751=y +# CONFIG_SOUND_PRIME is not set +CONFIG_HID_SUPPORT=y +CONFIG_HID=y +CONFIG_HID_DEBUG=y +# CONFIG_HIDRAW is not set +# CONFIG_HID_PID is not set + +# +# Special HID drivers +# +# CONFIG_HID_COMPAT is not set +CONFIG_USB_SUPPORT=y +CONFIG_USB_ARCH_HAS_HCD=y +# CONFIG_USB_ARCH_HAS_OHCI is not set +# CONFIG_USB_ARCH_HAS_EHCI is not set +# CONFIG_USB is not set + +# +# Enable Host or Gadget support to see Inventra options +# + +# +# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; +# +# CONFIG_USB_GADGET is not set +CONFIG_MMC=y +CONFIG_MMC_DEBUG=y +CONFIG_MMC_UNSAFE_RESUME=y + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_BOUNCE=y +CONFIG_SDIO_UART=y +# CONFIG_MMC_TEST is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_S3C=y +# CONFIG_MMC_SPI is not set +# CONFIG_MEMSTICK is not set +# CONFIG_ACCESSIBILITY is not set +# CONFIG_NEW_LEDS is not set +CONFIG_RTC_LIB=y +# CONFIG_RTC_CLASS is not set +# CONFIG_DMADEVICES is not set +# CONFIG_REGULATOR is not set +# CONFIG_UIO is not set + +# +# File systems +# +CONFIG_EXT2_FS=y +# CONFIG_EXT2_FS_XATTR is not set +# CONFIG_EXT2_FS_XIP is not set +CONFIG_EXT3_FS=y +CONFIG_EXT3_FS_XATTR=y +CONFIG_EXT3_FS_POSIX_ACL=y +CONFIG_EXT3_FS_SECURITY=y +# CONFIG_EXT4_FS is not set +CONFIG_JBD=y +CONFIG_FS_MBCACHE=y +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +CONFIG_FS_POSIX_ACL=y +CONFIG_FILE_LOCKING=y +# CONFIG_XFS_FS is not set +# CONFIG_GFS2_FS is not set +CONFIG_DNOTIFY=y +CONFIG_INOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_QUOTA is not set +# CONFIG_AUTOFS_FS is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_FUSE_FS is not set +CONFIG_GENERIC_ACL=y + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +# CONFIG_MSDOS_FS is not set +# CONFIG_VFAT_FS is not set +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_SYSCTL=y +CONFIG_PROC_PAGE_MONITOR=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +# CONFIG_HUGETLB_PAGE is not set +# CONFIG_CONFIGFS_FS is not set + +# +# Miscellaneous filesystems +# +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +# CONFIG_JFFS2_FS is not set +CONFIG_CRAMFS=y +# CONFIG_VXFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +CONFIG_ROMFS_FS=y +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set + +# +# Partition Types +# +# CONFIG_PARTITION_ADVANCED is not set +CONFIG_MSDOS_PARTITION=y +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +# CONFIG_NLS_CODEPAGE_737 is not set +# CONFIG_NLS_CODEPAGE_775 is not set +# CONFIG_NLS_CODEPAGE_850 is not set +# CONFIG_NLS_CODEPAGE_852 is not set +# CONFIG_NLS_CODEPAGE_855 is not set +# CONFIG_NLS_CODEPAGE_857 is not set +# CONFIG_NLS_CODEPAGE_860 is not set +# CONFIG_NLS_CODEPAGE_861 is not set +# CONFIG_NLS_CODEPAGE_862 is not set +# CONFIG_NLS_CODEPAGE_863 is not set +# CONFIG_NLS_CODEPAGE_864 is not set +# CONFIG_NLS_CODEPAGE_865 is not set +# CONFIG_NLS_CODEPAGE_866 is not set +# CONFIG_NLS_CODEPAGE_869 is not set +# CONFIG_NLS_CODEPAGE_936 is not set +# CONFIG_NLS_CODEPAGE_950 is not set +# CONFIG_NLS_CODEPAGE_932 is not set +# CONFIG_NLS_CODEPAGE_949 is not set +# CONFIG_NLS_CODEPAGE_874 is not set +# CONFIG_NLS_ISO8859_8 is not set +# CONFIG_NLS_CODEPAGE_1250 is not set +# CONFIG_NLS_CODEPAGE_1251 is not set +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +# CONFIG_NLS_ISO8859_2 is not set +# CONFIG_NLS_ISO8859_3 is not set +# CONFIG_NLS_ISO8859_4 is not set +# CONFIG_NLS_ISO8859_5 is not set +# CONFIG_NLS_ISO8859_6 is not set +# CONFIG_NLS_ISO8859_7 is not set +# CONFIG_NLS_ISO8859_9 is not set +# CONFIG_NLS_ISO8859_13 is not set +# CONFIG_NLS_ISO8859_14 is not set +# CONFIG_NLS_ISO8859_15 is not set +# CONFIG_NLS_KOI8_R is not set +# CONFIG_NLS_KOI8_U is not set +# CONFIG_NLS_UTF8 is not set + +# +# Kernel hacking +# +# CONFIG_PRINTK_TIME is not set +CONFIG_ENABLE_WARN_DEPRECATED=y +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=1024 +CONFIG_MAGIC_SYSRQ=y +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_DEBUG_FS is not set +# CONFIG_HEADERS_CHECK is not set +CONFIG_DEBUG_KERNEL=y +# CONFIG_DEBUG_SHIRQ is not set +CONFIG_DETECT_SOFTLOCKUP=y +# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 +CONFIG_SCHED_DEBUG=y +# CONFIG_SCHEDSTATS is not set +# CONFIG_TIMER_STATS is not set +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +CONFIG_DEBUG_RT_MUTEXES=y +CONFIG_DEBUG_PI_LIST=y +# CONFIG_RT_MUTEX_TESTER is not set +CONFIG_DEBUG_SPINLOCK=y +CONFIG_DEBUG_MUTEXES=y +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_PROVE_LOCKING is not set +# CONFIG_LOCK_STAT is not set +CONFIG_DEBUG_SPINLOCK_SLEEP=y +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_DEBUG_KOBJECT is not set +CONFIG_DEBUG_BUGVERBOSE=y +CONFIG_DEBUG_INFO=y +# CONFIG_DEBUG_VM is not set +# CONFIG_DEBUG_WRITECOUNT is not set +CONFIG_DEBUG_MEMORY_INIT=y +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_SG is not set +CONFIG_FRAME_POINTER=y +# CONFIG_BOOT_PRINTK_DELAY is not set +# CONFIG_RCU_TORTURE_TEST is not set +# CONFIG_RCU_CPU_STALL_DETECTOR is not set +# CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_FAULT_INJECTION is not set +# CONFIG_LATENCYTOP is not set +CONFIG_SYSCTL_SYSCALL_CHECK=y +CONFIG_HAVE_FUNCTION_TRACER=y + +# +# Tracers +# +# CONFIG_FUNCTION_TRACER is not set +# CONFIG_SCHED_TRACER is not set +# CONFIG_CONTEXT_SWITCH_TRACER is not set +# CONFIG_BOOT_TRACER is not set +# CONFIG_STACK_TRACER is not set +# CONFIG_DYNAMIC_PRINTK_DEBUG is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_KGDB is not set +CONFIG_DEBUG_USER=y +CONFIG_DEBUG_ERRORS=y +# CONFIG_DEBUG_STACK_USAGE is not set +CONFIG_DEBUG_LL=y +# CONFIG_DEBUG_ICEDCC is not set +CONFIG_DEBUG_S3C_PORT=y +CONFIG_DEBUG_S3C_UART=0 + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY is not set +# CONFIG_SECURITYFS is not set +# CONFIG_SECURITY_FILE_CAPABILITIES is not set +# CONFIG_CRYPTO is not set + +# +# Library routines +# +CONFIG_BITREVERSE=y +# CONFIG_CRC_CCITT is not set +# CONFIG_CRC16 is not set +# CONFIG_CRC_T10DIF is not set +# CONFIG_CRC_ITU_T is not set +CONFIG_CRC32=y +# CONFIG_CRC7 is not set +# CONFIG_LIBCRC32C is not set +CONFIG_ZLIB_INFLATE=y +CONFIG_PLIST=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_DMA=y diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/configs/smdk6440ramdisk_defconfig linux-2.6.28.6/arch/arm/configs/smdk6440ramdisk_defconfig --- linux-2.6.28/arch/arm/configs/smdk6440ramdisk_defconfig 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/configs/smdk6440ramdisk_defconfig 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,1285 @@ +# +# Automatically generated make config: don't edit +# Linux kernel version: 2.6.28.6 +# Sat Apr 4 19:51:52 2009 +# +CONFIG_ARM=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_GENERIC_GPIO=y +# CONFIG_GENERIC_TIME is not set +# CONFIG_GENERIC_CLOCKEVENTS is not set +CONFIG_MMU=y +CONFIG_NO_IOPORT=y +CONFIG_GENERIC_HARDIRQS=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_RWSEM_GENERIC_SPINLOCK=y +# CONFIG_ARCH_HAS_ILOG2_U32 is not set +# CONFIG_ARCH_HAS_ILOG2_U64 is not set +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" + +# +# General setup +# +CONFIG_EXPERIMENTAL=y +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_LOCALVERSION="" +CONFIG_LOCALVERSION_AUTO=y +CONFIG_SWAP=y +# CONFIG_SYSVIPC is not set +# CONFIG_POSIX_MQUEUE is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set +# CONFIG_AUDIT is not set +# CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=17 +# CONFIG_CGROUPS is not set +# CONFIG_GROUP_SCHED is not set +CONFIG_SYSFS_DEPRECATED=y +CONFIG_SYSFS_DEPRECATED_V2=y +# CONFIG_RELAY is not set +CONFIG_NAMESPACES=y +# CONFIG_UTS_NS is not set +# CONFIG_USER_NS is not set +# CONFIG_PID_NS is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL=y +# CONFIG_EMBEDDED is not set +CONFIG_UID16=y +CONFIG_SYSCTL_SYSCALL=y +CONFIG_KALLSYMS=y +CONFIG_KALLSYMS_ALL=y +# CONFIG_KALLSYMS_EXTRA_PASS is not set +CONFIG_HOTPLUG=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_COMPAT_BRK=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_ANON_INODES=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_SLUB_DEBUG=y +# CONFIG_SLAB is not set +CONFIG_SLUB=y +# CONFIG_SLOB is not set +# CONFIG_PROFILING is not set +# CONFIG_MARKERS is not set +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +CONFIG_HAVE_KPROBES=y +CONFIG_HAVE_KRETPROBES=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +# CONFIG_TINY_SHMEM is not set +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODULE_FORCE_UNLOAD is not set +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +CONFIG_KMOD=y +CONFIG_BLOCK=y +CONFIG_LBD=y +# CONFIG_BLK_DEV_IO_TRACE is not set +CONFIG_LSF=y +# CONFIG_BLK_DEV_BSG is not set +# CONFIG_BLK_DEV_INTEGRITY is not set + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_AS=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +# CONFIG_DEFAULT_AS is not set +# CONFIG_DEFAULT_DEADLINE is not set +CONFIG_DEFAULT_CFQ=y +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="cfq" +CONFIG_CLASSIC_RCU=y +# CONFIG_FREEZER is not set + +# +# System Type +# +# CONFIG_ARCH_AAEC2000 is not set +# CONFIG_ARCH_INTEGRATOR is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_AT91 is not set +# CONFIG_ARCH_CLPS7500 is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_H720X is not set +# CONFIG_ARCH_IMX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP23XX is not set +# CONFIG_ARCH_IXP2000 is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_L7200 is not set +# CONFIG_ARCH_KIRKWOOD is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_NS9XXX is not set +# CONFIG_ARCH_LOKI is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_MXC is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_PNX4008 is not set +# CONFIG_ARCH_PXA is not set +# CONFIG_ARCH_RPC is not set +# CONFIG_ARCH_SA1100 is not set +# CONFIG_ARCH_S3C2410 is not set +# CONFIG_ARCH_S3C64XX is not set +CONFIG_ARCH_S5P64XX=y +# CONFIG_ARCH_S5PC1XX is not set +# CONFIG_ARCH_SHARK is not set +# CONFIG_ARCH_LH7A40X is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP is not set +# CONFIG_ARCH_MSM is not set +CONFIG_PLAT_S5P64XX=y +CONFIG_CPU_S5P6440_INIT=y +CONFIG_CPU_S5P6440_CLOCK=y +CONFIG_S5P64XX_SETUP_I2C0=y +CONFIG_S5P64XX_SETUP_I2C1=y +CONFIG_PLAT_S3C=y +# CONFIG_HAVE_PWM is not set +# +# Boot options +# +CONFIG_S3C_BOOT_ERROR_RESET=y + +# +# Power management +# +CONFIG_S3C_LOWLEVEL_UART_PORT=1 +CONFIG_S3C_GPIO_SPACE=0 +CONFIG_S3C_GPIO_TRACK=y +CONFIG_S3C_GPIO_PULL_UPDOWN=y +CONFIG_S3C_GPIO_CFG_S3C24XX=y +CONFIG_S3C_GPIO_CFG_S3C64XX=y +CONFIG_S3C_DEV_HSMMC=y +CONFIG_S3C_DEV_HSMMC1=y +CONFIG_S3C_DEV_I2C1=y +CONFIG_S3C_DMA_PL330=y +CONFIG_CPU_S5P6440=y +CONFIG_S5P6440_SETUP_SDHCI=y +CONFIG_MACH_SMDK6440=y +CONFIG_SMDK6440_SD_CH0=y +# CONFIG_SMDK6440_SD_CH1 is not set + +# +# Processor Type +# +CONFIG_CPU_32=y +CONFIG_CPU_V6=y +CONFIG_CPU_32v6K=y +CONFIG_CPU_32v6=y +CONFIG_CPU_ABRT_EV6=y +CONFIG_CPU_PABRT_NOIFAR=y +CONFIG_CPU_CACHE_V6=y +CONFIG_CPU_CACHE_VIPT=y +CONFIG_CPU_COPY_V6=y +CONFIG_CPU_TLB_V6=y +CONFIG_CPU_HAS_ASID=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y + +# +# Processor Features +# +CONFIG_ARM_THUMB=y +# CONFIG_CPU_ICACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_DISABLE is not set +# CONFIG_CPU_BPREDICT_DISABLE is not set +# CONFIG_OUTER_CACHE is not set +CONFIG_ARM_VIC=y + +# +# Bus support +# +# CONFIG_PCI_SYSCALL is not set +# CONFIG_ARCH_SUPPORTS_MSI is not set +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_VMSPLIT_3G=y +# CONFIG_VMSPLIT_2G is not set +# CONFIG_VMSPLIT_1G is not set +CONFIG_PAGE_OFFSET=0xC0000000 +# CONFIG_PREEMPT is not set +CONFIG_HZ=200 +CONFIG_AEABI=y +CONFIG_OABI_COMPAT=y +CONFIG_ARCH_FLATMEM_HAS_HOLES=y +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_FLATMEM_MANUAL=y +# CONFIG_DISCONTIGMEM_MANUAL is not set +# CONFIG_SPARSEMEM_MANUAL is not set +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_PAGEFLAGS_EXTENDED=y +CONFIG_SPLIT_PTLOCK_CPUS=4 +# CONFIG_RESOURCES_64BIT is not set +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=0 +CONFIG_VIRT_TO_BUS=y +CONFIG_UNEVICTABLE_LRU=y +CONFIG_ALIGNMENT_TRAP=y + +# +# Boot options +# +CONFIG_ZBOOT_ROM_TEXT=0 +CONFIG_ZBOOT_ROM_BSS=0 +CONFIG_CMDLINE="root=/dev/ram0 rw ramdisk=8192 initrd=0x20800000,8M console=ttySAC1,115200 init=/linuxrc mem=256M" +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set + +# +# CPU Power Management +# +# CONFIG_CPU_IDLE is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +# CONFIG_FPE_NWFPE is not set +# CONFIG_FPE_FASTFPE is not set +CONFIG_VFP=y + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_HAVE_AOUT=y +# CONFIG_BINFMT_AOUT is not set +# CONFIG_BINFMT_MISC is not set + +# +# Power management options +# +# CONFIG_PM is not set +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_NET=y + +# +# Networking options +# +# CONFIG_PACKET is not set +CONFIG_UNIX=y +CONFIG_XFRM=y +# CONFIG_XFRM_USER is not set +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_XFRM_STATISTICS is not set +# CONFIG_NET_KEY is not set +CONFIG_INET=y +# CONFIG_IP_MULTICAST is not set +# CONFIG_IP_ADVANCED_ROUTER is not set +CONFIG_IP_FIB_HASH=y +CONFIG_IP_PNP=y +# CONFIG_IP_PNP_DHCP is not set +CONFIG_IP_PNP_BOOTP=y +# CONFIG_IP_PNP_RARP is not set +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE is not set +# CONFIG_ARPD is not set +# CONFIG_SYN_COOKIES is not set +# CONFIG_INET_AH is not set +# CONFIG_INET_ESP is not set +# CONFIG_INET_IPCOMP is not set +# CONFIG_INET_XFRM_TUNNEL is not set +# CONFIG_INET_TUNNEL is not set +CONFIG_INET_XFRM_MODE_TRANSPORT=y +CONFIG_INET_XFRM_MODE_TUNNEL=y +CONFIG_INET_XFRM_MODE_BEET=y +# CONFIG_INET_LRO is not set +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +# CONFIG_IPV6 is not set +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NETFILTER is not set +# CONFIG_IP_DCCP is not set +# CONFIG_IP_SCTP is not set +# CONFIG_TIPC is not set +# CONFIG_ATM is not set +# CONFIG_BRIDGE is not set +# CONFIG_NET_DSA is not set +# CONFIG_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_ECONET is not set +# CONFIG_WAN_ROUTER is not set +# CONFIG_NET_SCHED is not set + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +# CONFIG_BT is not set +# CONFIG_AF_RXRPC is not set +# CONFIG_PHONET is not set +# CONFIG_WIRELESS is not set +# CONFIG_RFKILL is not set +# CONFIG_NET_9P is not set + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_CONNECTOR is not set +# CONFIG_MTD is not set +# CONFIG_PARPORT is not set +CONFIG_BLK_DEV=y +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +# CONFIG_BLK_DEV_NBD is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=8192 +# CONFIG_BLK_DEV_XIP is not set +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +CONFIG_MISC_DEVICES=y +# CONFIG_EEPROM_93CX6 is not set +# CONFIG_ICS932S401 is not set +# CONFIG_ENCLOSURE_SERVICES is not set +# CONFIG_C2PORT is not set +CONFIG_HAVE_IDE=y +# CONFIG_IDE is not set + +# +# SCSI device support +# +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_TGT is not set +# CONFIG_SCSI_NETLINK is not set +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +CONFIG_CHR_DEV_SG=y +# CONFIG_CHR_DEV_SCH is not set + +# +# Some SCSI devices (e.g. CD jukebox) support multiple LUNs +# +# CONFIG_SCSI_MULTI_LUN is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set +CONFIG_SCSI_WAIT_SCAN=m + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_DH is not set +# CONFIG_ATA is not set +# CONFIG_MD is not set +CONFIG_NETDEVICES=y +# CONFIG_DUMMY is not set +# CONFIG_BONDING is not set +# CONFIG_MACVLAN is not set +# CONFIG_EQUALIZER is not set +# CONFIG_TUN is not set +# CONFIG_VETH is not set +# CONFIG_PHYLIB is not set +CONFIG_NET_ETHERNET=y +# CONFIG_MII is not set +# CONFIG_AX88796 is not set +# CONFIG_SMC91X is not set +# CONFIG_DM9000 is not set +# CONFIG_SMC911X is not set +# CONFIG_IBM_NEW_EMAC_ZMII is not set +# CONFIG_IBM_NEW_EMAC_RGMII is not set +# CONFIG_IBM_NEW_EMAC_TAH is not set +# CONFIG_IBM_NEW_EMAC_EMAC4 is not set +# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set +# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set +# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set +# CONFIG_B44 is not set +CONFIG_NETDEV_1000=y +CONFIG_NETDEV_10000=y + +# +# Wireless LAN +# +# CONFIG_WLAN_PRE80211 is not set +# CONFIG_WLAN_80211 is not set +# CONFIG_IWLWIFI_LEDS is not set +# CONFIG_WAN is not set +CONFIG_PPP=y +CONFIG_PPP_MULTILINK=y +CONFIG_PPP_FILTER=y +CONFIG_PPP_ASYNC=y +CONFIG_PPP_SYNC_TTY=y +# CONFIG_PPP_DEFLATE is not set +# CONFIG_PPP_BSDCOMP is not set +# CONFIG_PPP_MPPE is not set +# CONFIG_PPPOE is not set +# CONFIG_PPPOL2TP is not set +# CONFIG_SLIP is not set +CONFIG_SLHC=y +# CONFIG_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER is not set +# CONFIG_ISDN is not set + +# +# Input device support +# +CONFIG_INPUT=y +# CONFIG_INPUT_FF_MEMLESS is not set +# CONFIG_INPUT_POLLDEV is not set + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +# CONFIG_INPUT_JOYDEV is not set +# CONFIG_INPUT_EVDEV is not set +# CONFIG_INPUT_EVBUG is not set + +# +# Input Device Drivers +# +CONFIG_INPUT_KEYBOARD=y +CONFIG_KEYBOARD_ATKBD=y +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_LKKBD is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_STOWAWAY is not set +# CONFIG_KEYBOARD_GPIO is not set +CONFIG_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=y +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_LIFEBOOK=y +CONFIG_MOUSE_PS2_TRACKPOINT=y +# CONFIG_MOUSE_PS2_ELANTECH is not set +# CONFIG_MOUSE_PS2_TOUCHKIT is not set +# CONFIG_MOUSE_SERIAL is not set +# CONFIG_MOUSE_APPLETOUCH is not set +# CONFIG_MOUSE_BCM5974 is not set +# CONFIG_MOUSE_VSXXXAA is not set +# CONFIG_MOUSE_GPIO is not set +# CONFIG_INPUT_JOYSTICK is not set +# CONFIG_INPUT_TABLET is not set +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_TOUCHSCREEN_S3C=y +CONFIG_TOUCHSCREEN_NEW=y +# CONFIG_TOUCHSCREEN_FUJITSU is not set +# CONFIG_TOUCHSCREEN_GUNZE is not set +# CONFIG_TOUCHSCREEN_ELO is not set +# CONFIG_TOUCHSCREEN_MTOUCH is not set +# CONFIG_TOUCHSCREEN_INEXIO is not set +# CONFIG_TOUCHSCREEN_MK712 is not set +# CONFIG_TOUCHSCREEN_PENMOUNT is not set +# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set +# CONFIG_TOUCHSCREEN_TOUCHWIN is not set +# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set +# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set +# CONFIG_INPUT_MISC is not set + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_SERPORT=y +CONFIG_SERIO_LIBPS2=y +# CONFIG_SERIO_RAW is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_VT_CONSOLE=y +CONFIG_HW_CONSOLE=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +CONFIG_DEVKMEM=y +# CONFIG_SERIAL_NONSTANDARD is not set + +# +# Serial drivers +# +CONFIG_SERIAL_8250=y +# CONFIG_SERIAL_8250_CONSOLE is not set +CONFIG_SERIAL_8250_NR_UARTS=4 +CONFIG_SERIAL_8250_RUNTIME_UARTS=4 +# CONFIG_SERIAL_8250_EXTENDED is not set + +# +# Non-8250 serial port support +# +CONFIG_SERIAL_SAMSUNG=y +CONFIG_SERIAL_SAMSUNG_UARTS=4 +# CONFIG_SERIAL_SAMSUNG_DEBUG is not set +CONFIG_SERIAL_SAMSUNG_CONSOLE=y +CONFIG_SERIAL_S3C6400=y +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +CONFIG_UNIX98_PTYS=y +CONFIG_LEGACY_PTYS=y +CONFIG_LEGACY_PTY_COUNT=256 +# CONFIG_IPMI_HANDLER is not set +CONFIG_HW_RANDOM=y +# CONFIG_NVRAM is not set +# CONFIG_R3964 is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +CONFIG_S3C_MEM=y +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_HELPER_AUTO=y + +# +# I2C Hardware Bus support +# + +# +# I2C system bus drivers (mostly embedded / system-on-chip) +# +# CONFIG_I2C_GPIO is not set +# CONFIG_I2C_OCORES is not set +CONFIG_I2C_S3C2410=y +# CONFIG_I2C_SIMTEC is not set + +# +# External I2C/SMBus adapter drivers +# +# CONFIG_I2C_PARPORT_LIGHT is not set +# CONFIG_I2C_TAOS_EVM is not set + +# +# Other I2C/SMBus bus drivers +# +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_STUB is not set + +# +# Miscellaneous I2C Chip support +# +# CONFIG_DS1682 is not set +CONFIG_AT24=y +# CONFIG_SENSORS_EEPROM is not set +# CONFIG_SENSORS_PCF8574 is not set +# CONFIG_PCF8575 is not set +# CONFIG_SENSORS_PCA9539 is not set +# CONFIG_SENSORS_PCF8591 is not set +# CONFIG_TPS65010 is not set +# CONFIG_SENSORS_MAX6875 is not set +# CONFIG_SENSORS_TSL2550 is not set +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +# CONFIG_I2C_DEBUG_CHIP is not set +# CONFIG_SPI is not set +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_GPIOLIB=y +# CONFIG_DEBUG_GPIO is not set +# CONFIG_GPIO_SYSFS is not set + +# +# Memory mapped GPIO expanders: +# + +# +# I2C GPIO expanders: +# +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set + +# +# PCI GPIO expanders: +# + +# +# SPI GPIO expanders: +# +# CONFIG_W1 is not set +# CONFIG_POWER_SUPPLY is not set +CONFIG_HWMON=y +# CONFIG_HWMON_VID is not set +# CONFIG_SENSORS_AD7414 is not set +# CONFIG_SENSORS_AD7418 is not set +# CONFIG_SENSORS_ADM1021 is not set +# CONFIG_SENSORS_ADM1025 is not set +# CONFIG_SENSORS_ADM1026 is not set +# CONFIG_SENSORS_ADM1029 is not set +# CONFIG_SENSORS_ADM1031 is not set +# CONFIG_SENSORS_ADM9240 is not set +# CONFIG_SENSORS_ADT7462 is not set +# CONFIG_SENSORS_ADT7470 is not set +# CONFIG_SENSORS_ADT7473 is not set +# CONFIG_SENSORS_ATXP1 is not set +# CONFIG_SENSORS_DS1621 is not set +# CONFIG_SENSORS_F71805F is not set +# CONFIG_SENSORS_F71882FG is not set +# CONFIG_SENSORS_F75375S is not set +# CONFIG_SENSORS_GL518SM is not set +# CONFIG_SENSORS_GL520SM is not set +# CONFIG_SENSORS_IT87 is not set +# CONFIG_SENSORS_LM63 is not set +# CONFIG_SENSORS_LM75 is not set +# CONFIG_SENSORS_LM77 is not set +# CONFIG_SENSORS_LM78 is not set +# CONFIG_SENSORS_LM80 is not set +# CONFIG_SENSORS_LM83 is not set +# CONFIG_SENSORS_LM85 is not set +# CONFIG_SENSORS_LM87 is not set +# CONFIG_SENSORS_LM90 is not set +# CONFIG_SENSORS_LM92 is not set +# CONFIG_SENSORS_LM93 is not set +# CONFIG_SENSORS_MAX1619 is not set +# CONFIG_SENSORS_MAX6650 is not set +# CONFIG_SENSORS_PC87360 is not set +# CONFIG_SENSORS_PC87427 is not set +# CONFIG_SENSORS_DME1737 is not set +# CONFIG_SENSORS_SMSC47M1 is not set +# CONFIG_SENSORS_SMSC47M192 is not set +# CONFIG_SENSORS_SMSC47B397 is not set +# CONFIG_SENSORS_ADS7828 is not set +# CONFIG_SENSORS_THMC50 is not set +# CONFIG_SENSORS_VT1211 is not set +# CONFIG_SENSORS_W83781D is not set +# CONFIG_SENSORS_W83791D is not set +# CONFIG_SENSORS_W83792D is not set +# CONFIG_SENSORS_W83793 is not set +# CONFIG_SENSORS_W83L785TS is not set +# CONFIG_SENSORS_W83L786NG is not set +# CONFIG_SENSORS_W83627HF is not set +# CONFIG_SENSORS_W83627EHF is not set +# CONFIG_HWMON_DEBUG_CHIP is not set +# CONFIG_THERMAL is not set +# CONFIG_THERMAL_HWMON is not set +# CONFIG_WATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +# CONFIG_SSB is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_ASIC3 is not set +# CONFIG_HTC_EGPIO is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB is not set +# CONFIG_PMIC_DA903X is not set +# CONFIG_MFD_WM8400 is not set +# CONFIG_MFD_WM8350_I2C is not set + +# +# Multimedia devices +# + +# +# Multimedia core support +# +# CONFIG_VIDEO_DEV is not set +# CONFIG_DVB_CORE is not set +# CONFIG_VIDEO_MEDIA is not set + +# +# Multimedia drivers +# +# CONFIG_DAB is not set + +# +# Graphics support +# +# CONFIG_VGASTATE is not set +# CONFIG_VIDEO_OUTPUT_CONTROL is not set +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_IMAGEBLIT=y +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +# CONFIG_FB_SYS_FILLRECT is not set +# CONFIG_FB_SYS_COPYAREA is not set +# CONFIG_FB_SYS_IMAGEBLIT is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_SYS_FOPS is not set +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +CONFIG_FB_S3C=y +CONFIG_FB_S3C_LTE480WV=y +# CONFIG_FB_S3C_LTV350QV is not set +# CONFIG_FB_S3C_LTS222QV is not set +CONFIG_FB_S3C_BPP=y +# CONFIG_FB_S3C_BPP_8 is not set +CONFIG_FB_S3C_BPP_16=y +# CONFIG_FB_S3C_BPP_24 is not set +# CONFIG_FB_S3C_BPP_28 is not set +# CONFIG_FB_S3C_BPP_32 is not set +CONFIG_FB_S3C_NUM=1 +CONFIG_FB_S3C_VIRTUAL_SCREEN=y +CONFIG_FB_S3C_DOUBLE_BUFFERING=y +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_VIRTUAL is not set +# CONFIG_FB_METRONOME is not set +# CONFIG_FB_MB862XX is not set +CONFIG_BACKLIGHT_LCD_SUPPORT=y +CONFIG_BACKLIGHT_CLASS_DEVICE=y +CONFIG_BACKLIGHT_PWM=y +# +# Display device support +# +# CONFIG_DISPLAY_SUPPORT is not set + +# +# Console display driver support +# +# CONFIG_VGA_CONSOLE is not set +CONFIG_DUMMY_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set +# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set +# CONFIG_FONTS is not set +CONFIG_FONT_8x8=y +CONFIG_FONT_8x16=y +CONFIG_LOGO=y +# CONFIG_LOGO_LINUX_MONO is not set +# CONFIG_LOGO_LINUX_VGA16 is not set +# CONFIG_LOGO_LINUX_CLUT224 is not set +CONFIG_LOGO_LINUX_LANDSCAPED_CLUT224=y +CONFIG_SOUND=y +# CONFIG_SOUND_OSS_CORE is not set +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +# CONFIG_SND_SEQUENCER is not set +# CONFIG_SND_MIXER_OSS is not set +# CONFIG_SND_PCM_OSS is not set +# CONFIG_SND_DYNAMIC_MINORS is not set +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_VERBOSE_PROCFS=y +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set +CONFIG_SND_DRIVERS=y +# CONFIG_SND_DUMMY is not set +# CONFIG_SND_MTPAV is not set +# CONFIG_SND_SERIAL_U16550 is not set +# CONFIG_SND_MPU401 is not set +CONFIG_SND_ARM=y +CONFIG_SND_SOC=y + +# +# SoC Audio for the Samsung S3C +# +CONFIG_SND_S5P64XX_SOC=y +CONFIG_SND_S5P6440_SOC_I2S=y +CONFIG_SND_S5P64XX_SOC_SMDK6440_WM8580=y +CONFIG_SOUND_SMDK6440_WM8580_INPUT_STREAM_LINE=y +# CONFIG_SOUND_SMDK6440_WM8580_INPUT_STREAM_MIC is not set +# CONFIG_SND_SOC_ALL_CODECS is not set +CONFIG_SND_SOC_WM8580=y +# CONFIG_SOUND_PRIME is not set +CONFIG_HID_SUPPORT=y +CONFIG_HID=y +CONFIG_HID_DEBUG=y +# CONFIG_HIDRAW is not set +# CONFIG_HID_PID is not set + +# +# Special HID drivers +# +# CONFIG_HID_COMPAT is not set +CONFIG_USB_SUPPORT=y +CONFIG_USB_ARCH_HAS_HCD=y +# CONFIG_USB_ARCH_HAS_OHCI is not set +# CONFIG_USB_ARCH_HAS_EHCI is not set +# CONFIG_USB is not set +# CONFIG_USB_MUSB_HDRC is not set +# CONFIG_USB_GADGET_MUSB_HDRC is not set + +# +# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; +# +CONFIG_USB_GADGET=y +# CONFIG_USB_GADGET_DEBUG is not set +# CONFIG_USB_GADGET_DEBUG_FILES is not set +CONFIG_USB_GADGET_VBUS_DRAW=2 +CONFIG_USB_GADGET_SELECTED=y +# CONFIG_USB_GADGET_AT91 is not set +# CONFIG_USB_GADGET_ATMEL_USBA is not set +# CONFIG_USB_GADGET_FSL_USB2 is not set +# CONFIG_USB_GADGET_LH7A40X is not set +# CONFIG_USB_GADGET_OMAP is not set +# CONFIG_USB_GADGET_PXA25X is not set +# CONFIG_USB_GADGET_PXA27X is not set +# CONFIG_USB_GADGET_S3C2410 is not set +CONFIG_USB_GADGET_S3C_OTGD=y +# CONFIG_USB_GADGET_M66592 is not set +# CONFIG_USB_GADGET_AMD5536UDC is not set +# CONFIG_USB_GADGET_FSL_QE is not set +# CONFIG_USB_GADGET_NET2280 is not set +# CONFIG_USB_GADGET_GOKU is not set +# CONFIG_USB_GADGET_DUMMY_HCD is not set + +# +# NOTE: S3C OTG device role enables the controller driver below +# +CONFIG_USB_S3C_OTGD=y +CONFIG_USB_GADGET_S3C_OTGD_DMA_MODE=y +# CONFIG_USB_GADGET_S3C_OTGD_SLAVE_MODE is not set +CONFIG_USB_GADGET_DUALSPEED=y +# CONFIG_USB_ZERO is not set +CONFIG_USB_ETH=m +CONFIG_USB_ETH_RNDIS=y +# CONFIG_USB_GADGETFS is not set +CONFIG_USB_FILE_STORAGE=m +# CONFIG_USB_FILE_STORAGE_TEST is not set +CONFIG_USB_G_SERIAL=m +# CONFIG_USB_MIDI_GADGET is not set +# CONFIG_USB_G_PRINTER is not set +# CONFIG_USB_CDC_COMPOSITE is not set +CONFIG_MMC=y +CONFIG_MMC_DEBUG=y +CONFIG_MMC_UNSAFE_RESUME=y + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_BOUNCE=y +CONFIG_SDIO_UART=y +# CONFIG_MMC_TEST is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +CONFIG_MMC_SDHCI=y +# CONFIG_MEMSTICK is not set +# CONFIG_ACCESSIBILITY is not set +# CONFIG_NEW_LEDS is not set +CONFIG_RTC_LIB=y +# CONFIG_RTC_CLASS is not set +# CONFIG_DMADEVICES is not set +# CONFIG_REGULATOR is not set +# CONFIG_UIO is not set + +# +# File systems +# +CONFIG_EXT2_FS=y +# CONFIG_EXT2_FS_XATTR is not set +# CONFIG_EXT2_FS_XIP is not set +CONFIG_EXT3_FS=y +CONFIG_EXT3_FS_XATTR=y +CONFIG_EXT3_FS_POSIX_ACL=y +CONFIG_EXT3_FS_SECURITY=y +# CONFIG_EXT4_FS is not set +CONFIG_JBD=y +CONFIG_FS_MBCACHE=y +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +CONFIG_FS_POSIX_ACL=y +CONFIG_FILE_LOCKING=y +# CONFIG_XFS_FS is not set +# CONFIG_GFS2_FS is not set +# CONFIG_OCFS2_FS is not set +CONFIG_DNOTIFY=y +CONFIG_INOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_QUOTA is not set +# CONFIG_AUTOFS_FS is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_FUSE_FS is not set +CONFIG_GENERIC_ACL=y + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_SYSCTL=y +CONFIG_PROC_PAGE_MONITOR=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +# CONFIG_HUGETLB_PAGE is not set +# CONFIG_CONFIGFS_FS is not set + +# +# Miscellaneous filesystems +# +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +CONFIG_CRAMFS=y +# CONFIG_VXFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +CONFIG_ROMFS_FS=y +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V3=y +# CONFIG_NFS_V3_ACL is not set +# CONFIG_NFS_V4 is not set +# CONFIG_ROOT_NFS is not set +# CONFIG_NFSD is not set +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +# CONFIG_SUNRPC_REGISTER_V4 is not set +# CONFIG_RPCSEC_GSS_KRB5 is not set +# CONFIG_RPCSEC_GSS_SPKM3 is not set +# CONFIG_SMB_FS is not set +# CONFIG_CIFS is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set + +# +# Partition Types +# +# CONFIG_PARTITION_ADVANCED is not set +CONFIG_MSDOS_PARTITION=y +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +# CONFIG_NLS_CODEPAGE_737 is not set +# CONFIG_NLS_CODEPAGE_775 is not set +# CONFIG_NLS_CODEPAGE_850 is not set +# CONFIG_NLS_CODEPAGE_852 is not set +# CONFIG_NLS_CODEPAGE_855 is not set +# CONFIG_NLS_CODEPAGE_857 is not set +# CONFIG_NLS_CODEPAGE_860 is not set +# CONFIG_NLS_CODEPAGE_861 is not set +# CONFIG_NLS_CODEPAGE_862 is not set +# CONFIG_NLS_CODEPAGE_863 is not set +# CONFIG_NLS_CODEPAGE_864 is not set +# CONFIG_NLS_CODEPAGE_865 is not set +# CONFIG_NLS_CODEPAGE_866 is not set +# CONFIG_NLS_CODEPAGE_869 is not set +# CONFIG_NLS_CODEPAGE_936 is not set +# CONFIG_NLS_CODEPAGE_950 is not set +# CONFIG_NLS_CODEPAGE_932 is not set +# CONFIG_NLS_CODEPAGE_949 is not set +# CONFIG_NLS_CODEPAGE_874 is not set +# CONFIG_NLS_ISO8859_8 is not set +# CONFIG_NLS_CODEPAGE_1250 is not set +# CONFIG_NLS_CODEPAGE_1251 is not set +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +# CONFIG_NLS_ISO8859_2 is not set +# CONFIG_NLS_ISO8859_3 is not set +# CONFIG_NLS_ISO8859_4 is not set +# CONFIG_NLS_ISO8859_5 is not set +# CONFIG_NLS_ISO8859_6 is not set +# CONFIG_NLS_ISO8859_7 is not set +# CONFIG_NLS_ISO8859_9 is not set +# CONFIG_NLS_ISO8859_13 is not set +# CONFIG_NLS_ISO8859_14 is not set +# CONFIG_NLS_ISO8859_15 is not set +# CONFIG_NLS_KOI8_R is not set +# CONFIG_NLS_KOI8_U is not set +# CONFIG_NLS_UTF8 is not set +# CONFIG_DLM is not set + +# +# Kernel hacking +# +# CONFIG_PRINTK_TIME is not set +CONFIG_ENABLE_WARN_DEPRECATED=y +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=1024 +CONFIG_MAGIC_SYSRQ=y +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_DEBUG_FS is not set +# CONFIG_HEADERS_CHECK is not set +CONFIG_DEBUG_KERNEL=y +# CONFIG_DEBUG_SHIRQ is not set +CONFIG_DETECT_SOFTLOCKUP=y +# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 +CONFIG_SCHED_DEBUG=y +# CONFIG_SCHEDSTATS is not set +# CONFIG_TIMER_STATS is not set +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +CONFIG_DEBUG_RT_MUTEXES=y +CONFIG_DEBUG_PI_LIST=y +# CONFIG_RT_MUTEX_TESTER is not set +CONFIG_DEBUG_SPINLOCK=y +CONFIG_DEBUG_MUTEXES=y +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_PROVE_LOCKING is not set +# CONFIG_LOCK_STAT is not set +CONFIG_DEBUG_SPINLOCK_SLEEP=y +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_DEBUG_KOBJECT is not set +CONFIG_DEBUG_BUGVERBOSE=y +CONFIG_DEBUG_INFO=y +# CONFIG_DEBUG_VM is not set +# CONFIG_DEBUG_WRITECOUNT is not set +CONFIG_DEBUG_MEMORY_INIT=y +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_SG is not set +CONFIG_FRAME_POINTER=y +# CONFIG_BOOT_PRINTK_DELAY is not set +# CONFIG_RCU_TORTURE_TEST is not set +# CONFIG_RCU_CPU_STALL_DETECTOR is not set +# CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_FAULT_INJECTION is not set +# CONFIG_LATENCYTOP is not set +CONFIG_SYSCTL_SYSCALL_CHECK=y +CONFIG_HAVE_FUNCTION_TRACER=y + +# +# Tracers +# +# CONFIG_FUNCTION_TRACER is not set +# CONFIG_SCHED_TRACER is not set +# CONFIG_CONTEXT_SWITCH_TRACER is not set +# CONFIG_BOOT_TRACER is not set +# CONFIG_STACK_TRACER is not set +# CONFIG_DYNAMIC_PRINTK_DEBUG is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_KGDB is not set +CONFIG_DEBUG_USER=y +CONFIG_DEBUG_ERRORS=y +# CONFIG_DEBUG_STACK_USAGE is not set +CONFIG_DEBUG_LL=y +# CONFIG_DEBUG_ICEDCC is not set +CONFIG_DEBUG_S3C_PORT=y +CONFIG_DEBUG_S3C_UART=1 + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY is not set +# CONFIG_SECURITYFS is not set +# CONFIG_SECURITY_FILE_CAPABILITIES is not set +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +# CONFIG_CRYPTO_FIPS is not set +# CONFIG_CRYPTO_MANAGER is not set +# CONFIG_CRYPTO_MANAGER2 is not set +# CONFIG_CRYPTO_GF128MUL is not set +# CONFIG_CRYPTO_NULL is not set +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST is not set + +# +# Authenticated Encryption with Associated Data +# +# CONFIG_CRYPTO_CCM is not set +# CONFIG_CRYPTO_GCM is not set +# CONFIG_CRYPTO_SEQIV is not set + +# +# Block modes +# +# CONFIG_CRYPTO_CBC is not set +# CONFIG_CRYPTO_CTR is not set +# CONFIG_CRYPTO_CTS is not set +# CONFIG_CRYPTO_ECB is not set +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set + +# +# Hash modes +# +# CONFIG_CRYPTO_HMAC is not set +# CONFIG_CRYPTO_XCBC is not set + +# +# Digest +# +# CONFIG_CRYPTO_CRC32C is not set +# CONFIG_CRYPTO_MD4 is not set +# CONFIG_CRYPTO_MD5 is not set +# CONFIG_CRYPTO_MICHAEL_MIC is not set +# CONFIG_CRYPTO_RMD128 is not set +# CONFIG_CRYPTO_RMD160 is not set +# CONFIG_CRYPTO_RMD256 is not set +# CONFIG_CRYPTO_RMD320 is not set +# CONFIG_CRYPTO_SHA1 is not set +# CONFIG_CRYPTO_SHA256 is not set +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +# CONFIG_CRYPTO_AES is not set +# CONFIG_CRYPTO_ANUBIS is not set +# CONFIG_CRYPTO_ARC4 is not set +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +# CONFIG_CRYPTO_DES is not set +# CONFIG_CRYPTO_FCRYPT is not set +# CONFIG_CRYPTO_KHAZAD is not set +# CONFIG_CRYPTO_SALSA20 is not set +# CONFIG_CRYPTO_SEED is not set +# CONFIG_CRYPTO_SERPENT is not set +# CONFIG_CRYPTO_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set + +# +# Compression +# +# CONFIG_CRYPTO_DEFLATE is not set +# CONFIG_CRYPTO_LZO is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +CONFIG_CRYPTO_HW=y + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_CRC_CCITT=y +# CONFIG_CRC16 is not set +# CONFIG_CRC_T10DIF is not set +# CONFIG_CRC_ITU_T is not set +CONFIG_CRC32=y +# CONFIG_CRC7 is not set +# CONFIG_LIBCRC32C is not set +CONFIG_ZLIB_INFLATE=y +CONFIG_PLIST=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_DMA=y diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/configs/smdkc100_defconfig linux-2.6.28.6/arch/arm/configs/smdkc100_defconfig --- linux-2.6.28/arch/arm/configs/smdkc100_defconfig 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/configs/smdkc100_defconfig 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,947 @@ +# +# Automatically generated make config: don't edit +# Linux kernel version: 2.6.28-rc7 +# Thu Dec 11 15:31:22 2008 +# +CONFIG_ARM=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_GENERIC_GPIO=y +# CONFIG_GENERIC_TIME is not set +# CONFIG_GENERIC_CLOCKEVENTS is not set +CONFIG_MMU=y +CONFIG_NO_IOPORT=y +CONFIG_GENERIC_HARDIRQS=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_RWSEM_GENERIC_SPINLOCK=y +# CONFIG_ARCH_HAS_ILOG2_U32 is not set +# CONFIG_ARCH_HAS_ILOG2_U64 is not set +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" + +# +# General setup +# +CONFIG_EXPERIMENTAL=y +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_LOCALVERSION="" +CONFIG_LOCALVERSION_AUTO=y +CONFIG_SWAP=y +# CONFIG_SYSVIPC is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=17 +# CONFIG_CGROUPS is not set +# CONFIG_GROUP_SCHED is not set +CONFIG_SYSFS_DEPRECATED=y +CONFIG_SYSFS_DEPRECATED_V2=y +# CONFIG_RELAY is not set +CONFIG_NAMESPACES=y +# CONFIG_UTS_NS is not set +# CONFIG_USER_NS is not set +# CONFIG_PID_NS is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL=y +# CONFIG_EMBEDDED is not set +CONFIG_UID16=y +CONFIG_SYSCTL_SYSCALL=y +CONFIG_KALLSYMS=y +CONFIG_KALLSYMS_ALL=y +# CONFIG_KALLSYMS_EXTRA_PASS is not set +CONFIG_HOTPLUG=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_COMPAT_BRK=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_ANON_INODES=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_SLUB_DEBUG=y +# CONFIG_SLAB is not set +CONFIG_SLUB=y +# CONFIG_SLOB is not set +# CONFIG_PROFILING is not set +# CONFIG_MARKERS is not set +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +CONFIG_HAVE_KPROBES=y +CONFIG_HAVE_KRETPROBES=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +# CONFIG_TINY_SHMEM is not set +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODULE_FORCE_UNLOAD is not set +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +CONFIG_KMOD=y +CONFIG_BLOCK=y +CONFIG_LBD=y +# CONFIG_BLK_DEV_IO_TRACE is not set +CONFIG_LSF=y +# CONFIG_BLK_DEV_BSG is not set +# CONFIG_BLK_DEV_INTEGRITY is not set + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_AS=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +# CONFIG_DEFAULT_AS is not set +# CONFIG_DEFAULT_DEADLINE is not set +CONFIG_DEFAULT_CFQ=y +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="cfq" +CONFIG_CLASSIC_RCU=y +# CONFIG_FREEZER is not set + +# +# System Type +# +# CONFIG_ARCH_AAEC2000 is not set +# CONFIG_ARCH_INTEGRATOR is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_AT91 is not set +# CONFIG_ARCH_CLPS7500 is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_H720X is not set +# CONFIG_ARCH_IMX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP23XX is not set +# CONFIG_ARCH_IXP2000 is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_L7200 is not set +# CONFIG_ARCH_KIRKWOOD is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_NS9XXX is not set +# CONFIG_ARCH_LOKI is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_MXC is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_PNX4008 is not set +# CONFIG_ARCH_PXA is not set +# CONFIG_ARCH_RPC is not set +# CONFIG_ARCH_SA1100 is not set +# CONFIG_ARCH_S3C2410 is not set +# CONFIG_ARCH_S3C64XX is not set +CONFIG_ARCH_S5PC1XX=y +# CONFIG_ARCH_SHARK is not set +# CONFIG_ARCH_LH7A40X is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP is not set +# CONFIG_ARCH_MSM is not set +CONFIG_S3C64XX_SETUP_I2C1=y +CONFIG_PLAT_S5PC1XX=y +CONFIG_CPU_S5PC100_INIT=y +CONFIG_CPU_S5PC100_CLOCK=y +CONFIG_S5PC1XX_SETUP_I2C0=y +CONFIG_S5PC1XX_SETUP_I2C1=y +CONFIG_PLAT_S3C=y + +# +# Boot options +# +# CONFIG_S3C_BOOT_ERROR_RESET is not set + +# +# Power management +# +CONFIG_S3C_LOWLEVEL_UART_PORT=0 +CONFIG_S3C_GPIO_SPACE=0 +CONFIG_S3C_GPIO_TRACK=y +CONFIG_S3C_GPIO_PULL_UPDOWN=y +CONFIG_S3C_GPIO_CFG_S5PC1XX=y +CONFIG_S3C_DEV_I2C1=y +CONFIG_S3C_DMA_PL330=y +CONFIG_CPU_S5PC100=y +CONFIG_MACH_SMDKC100=y + +# +# Processor Type +# +CONFIG_CPU_32=y +CONFIG_CPU_32v6K=y +CONFIG_CPU_V7=y +CONFIG_CPU_32v7=y +CONFIG_CPU_ABRT_EV7=y +CONFIG_CPU_PABRT_IFAR=y +CONFIG_CPU_CACHE_V7=y +CONFIG_CPU_CACHE_VIPT=y +CONFIG_CPU_COPY_V6=y +CONFIG_CPU_TLB_V7=y +CONFIG_CPU_HAS_ASID=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y + +# +# Processor Features +# +CONFIG_ARM_THUMB=y +# CONFIG_ARM_THUMBEE is not set +# CONFIG_CPU_ICACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_DISABLE is not set +# CONFIG_CPU_BPREDICT_DISABLE is not set +CONFIG_HAS_TLS_REG=y +# CONFIG_OUTER_CACHE is not set +CONFIG_ARM_VIC=y + +# +# Bus support +# +# CONFIG_PCI_SYSCALL is not set +# CONFIG_ARCH_SUPPORTS_MSI is not set +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_VMSPLIT_3G=y +# CONFIG_VMSPLIT_2G is not set +# CONFIG_VMSPLIT_1G is not set +CONFIG_PAGE_OFFSET=0xC0000000 +# CONFIG_PREEMPT is not set +CONFIG_HZ=200 +CONFIG_AEABI=y +CONFIG_OABI_COMPAT=y +CONFIG_ARCH_FLATMEM_HAS_HOLES=y +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_FLATMEM_MANUAL=y +# CONFIG_DISCONTIGMEM_MANUAL is not set +# CONFIG_SPARSEMEM_MANUAL is not set +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_PAGEFLAGS_EXTENDED=y +CONFIG_SPLIT_PTLOCK_CPUS=4 +# CONFIG_RESOURCES_64BIT is not set +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=0 +CONFIG_VIRT_TO_BUS=y +CONFIG_UNEVICTABLE_LRU=y +CONFIG_ALIGNMENT_TRAP=y + +# +# Boot options +# +CONFIG_ZBOOT_ROM_TEXT=0 +CONFIG_ZBOOT_ROM_BSS=0 +CONFIG_CMDLINE="root=/dev/ram0 rw ramdisk=8192 initrd=0x20800000,8M console=ttySAC0,115200 init=/linuxrc mem=128M" +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set + +# +# CPU Power Management +# +# CONFIG_CPU_IDLE is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +# CONFIG_FPE_NWFPE is not set +# CONFIG_FPE_FASTFPE is not set +CONFIG_VFP=y +CONFIG_VFPv3=y +# CONFIG_NEON is not set + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_HAVE_AOUT=y +# CONFIG_BINFMT_AOUT is not set +# CONFIG_BINFMT_MISC is not set + +# +# Power management options +# +# CONFIG_PM is not set +CONFIG_ARCH_SUSPEND_POSSIBLE=y +# CONFIG_NET is not set + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_MTD is not set +# CONFIG_PARPORT is not set +CONFIG_BLK_DEV=y +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=8192 +# CONFIG_BLK_DEV_XIP is not set +# CONFIG_CDROM_PKTCDVD is not set +CONFIG_MISC_DEVICES=y +# CONFIG_EEPROM_93CX6 is not set +# CONFIG_ICS932S401 is not set +# CONFIG_ENCLOSURE_SERVICES is not set +# CONFIG_C2PORT is not set +CONFIG_HAVE_IDE=y +# CONFIG_IDE is not set + +# +# SCSI device support +# +# CONFIG_RAID_ATTRS is not set +# CONFIG_SCSI is not set +# CONFIG_SCSI_DMA is not set +# CONFIG_SCSI_NETLINK is not set +# CONFIG_ATA is not set +# CONFIG_MD is not set + +# +# Input device support +# +CONFIG_INPUT=y +# CONFIG_INPUT_FF_MEMLESS is not set +# CONFIG_INPUT_POLLDEV is not set + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +# CONFIG_INPUT_JOYDEV is not set +# CONFIG_INPUT_EVDEV is not set +# CONFIG_INPUT_EVBUG is not set + +# +# Input Device Drivers +# +CONFIG_INPUT_KEYBOARD=y +CONFIG_KEYBOARD_ATKBD=y +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_LKKBD is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_STOWAWAY is not set +# CONFIG_KEYBOARD_GPIO is not set +# CONFIG_KEYPAD_S3C is not set +CONFIG_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=y +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_LIFEBOOK=y +CONFIG_MOUSE_PS2_TRACKPOINT=y +# CONFIG_MOUSE_PS2_ELANTECH is not set +# CONFIG_MOUSE_PS2_TOUCHKIT is not set +# CONFIG_MOUSE_SERIAL is not set +# CONFIG_MOUSE_APPLETOUCH is not set +# CONFIG_MOUSE_BCM5974 is not set +# CONFIG_MOUSE_VSXXXAA is not set +# CONFIG_MOUSE_GPIO is not set +# CONFIG_INPUT_JOYSTICK is not set +# CONFIG_INPUT_TABLET is not set +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_TOUCHSCREEN_S3C=y +CONFIG_TOUCHSCREEN_NEW=y +# CONFIG_TOUCHSCREEN_FUJITSU is not set +# CONFIG_TOUCHSCREEN_GUNZE is not set +# CONFIG_TOUCHSCREEN_ELO is not set +# CONFIG_TOUCHSCREEN_MTOUCH is not set +# CONFIG_TOUCHSCREEN_INEXIO is not set +# CONFIG_TOUCHSCREEN_MK712 is not set +# CONFIG_TOUCHSCREEN_PENMOUNT is not set +# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set +# CONFIG_TOUCHSCREEN_TOUCHWIN is not set +# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set +# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set +# CONFIG_INPUT_MISC is not set + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_SERPORT=y +CONFIG_SERIO_LIBPS2=y +# CONFIG_SERIO_RAW is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_VT_CONSOLE=y +CONFIG_HW_CONSOLE=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +CONFIG_DEVKMEM=y +# CONFIG_SERIAL_NONSTANDARD is not set + +# +# Serial drivers +# +CONFIG_SERIAL_8250=y +# CONFIG_SERIAL_8250_CONSOLE is not set +CONFIG_SERIAL_8250_NR_UARTS=4 +CONFIG_SERIAL_8250_RUNTIME_UARTS=4 +# CONFIG_SERIAL_8250_EXTENDED is not set + +# +# Non-8250 serial port support +# +CONFIG_SERIAL_SAMSUNG=y +CONFIG_SERIAL_SAMSUNG_UARTS=4 +# CONFIG_SERIAL_SAMSUNG_DEBUG is not set +CONFIG_SERIAL_SAMSUNG_CONSOLE=y +CONFIG_SERIAL_S5PC100=y +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +CONFIG_UNIX98_PTYS=y +CONFIG_LEGACY_PTYS=y +CONFIG_LEGACY_PTY_COUNT=256 +# CONFIG_IPMI_HANDLER is not set +CONFIG_HW_RANDOM=y +# CONFIG_NVRAM is not set +# CONFIG_R3964 is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +CONFIG_S3C_MEM=y +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_HELPER_AUTO=y + +# +# I2C Hardware Bus support +# + +# +# I2C system bus drivers (mostly embedded / system-on-chip) +# +# CONFIG_I2C_GPIO is not set +# CONFIG_I2C_OCORES is not set +CONFIG_I2C_S3C2410=y +# CONFIG_I2C_SIMTEC is not set + +# +# External I2C/SMBus adapter drivers +# +# CONFIG_I2C_PARPORT_LIGHT is not set +# CONFIG_I2C_TAOS_EVM is not set + +# +# Other I2C/SMBus bus drivers +# +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_STUB is not set + +# +# Miscellaneous I2C Chip support +# +# CONFIG_DS1682 is not set +CONFIG_AT24=y +# CONFIG_SENSORS_EEPROM is not set +# CONFIG_SENSORS_PCF8574 is not set +# CONFIG_PCF8575 is not set +# CONFIG_SENSORS_PCA9539 is not set +# CONFIG_SENSORS_PCF8591 is not set +# CONFIG_TPS65010 is not set +# CONFIG_SENSORS_MAX6875 is not set +# CONFIG_SENSORS_TSL2550 is not set +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +# CONFIG_I2C_DEBUG_CHIP is not set +# CONFIG_SPI is not set +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_GPIOLIB=y +# CONFIG_DEBUG_GPIO is not set +# CONFIG_GPIO_SYSFS is not set + +# +# Memory mapped GPIO expanders: +# + +# +# I2C GPIO expanders: +# +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set + +# +# PCI GPIO expanders: +# + +# +# SPI GPIO expanders: +# +# CONFIG_W1 is not set +# CONFIG_POWER_SUPPLY is not set +CONFIG_HWMON=y +# CONFIG_HWMON_VID is not set +# CONFIG_SENSORS_AD7414 is not set +# CONFIG_SENSORS_AD7418 is not set +# CONFIG_SENSORS_ADM1021 is not set +# CONFIG_SENSORS_ADM1025 is not set +# CONFIG_SENSORS_ADM1026 is not set +# CONFIG_SENSORS_ADM1029 is not set +# CONFIG_SENSORS_ADM1031 is not set +# CONFIG_SENSORS_ADM9240 is not set +# CONFIG_SENSORS_ADT7462 is not set +# CONFIG_SENSORS_ADT7470 is not set +# CONFIG_SENSORS_ADT7473 is not set +# CONFIG_SENSORS_ATXP1 is not set +# CONFIG_SENSORS_DS1621 is not set +# CONFIG_SENSORS_F71805F is not set +# CONFIG_SENSORS_F71882FG is not set +# CONFIG_SENSORS_F75375S is not set +# CONFIG_SENSORS_GL518SM is not set +# CONFIG_SENSORS_GL520SM is not set +# CONFIG_SENSORS_IT87 is not set +# CONFIG_SENSORS_LM63 is not set +# CONFIG_SENSORS_LM75 is not set +# CONFIG_SENSORS_LM77 is not set +# CONFIG_SENSORS_LM78 is not set +# CONFIG_SENSORS_LM80 is not set +# CONFIG_SENSORS_LM83 is not set +# CONFIG_SENSORS_LM85 is not set +# CONFIG_SENSORS_LM87 is not set +# CONFIG_SENSORS_LM90 is not set +# CONFIG_SENSORS_LM92 is not set +# CONFIG_SENSORS_LM93 is not set +# CONFIG_SENSORS_MAX1619 is not set +# CONFIG_SENSORS_MAX6650 is not set +# CONFIG_SENSORS_PC87360 is not set +# CONFIG_SENSORS_PC87427 is not set +# CONFIG_SENSORS_DME1737 is not set +# CONFIG_SENSORS_SMSC47M1 is not set +# CONFIG_SENSORS_SMSC47M192 is not set +# CONFIG_SENSORS_SMSC47B397 is not set +# CONFIG_SENSORS_ADS7828 is not set +# CONFIG_SENSORS_THMC50 is not set +# CONFIG_SENSORS_VT1211 is not set +# CONFIG_SENSORS_W83781D is not set +# CONFIG_SENSORS_W83791D is not set +# CONFIG_SENSORS_W83792D is not set +# CONFIG_SENSORS_W83793 is not set +# CONFIG_SENSORS_W83L785TS is not set +# CONFIG_SENSORS_W83L786NG is not set +# CONFIG_SENSORS_W83627HF is not set +# CONFIG_SENSORS_W83627EHF is not set +# CONFIG_HWMON_DEBUG_CHIP is not set +# CONFIG_THERMAL is not set +# CONFIG_THERMAL_HWMON is not set +# CONFIG_WATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +# CONFIG_SSB is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_ASIC3 is not set +# CONFIG_HTC_EGPIO is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB is not set +# CONFIG_PMIC_DA903X is not set +# CONFIG_MFD_WM8400 is not set +# CONFIG_MFD_WM8350_I2C is not set + +# +# Multimedia devices +# + +# +# Multimedia core support +# +# CONFIG_VIDEO_DEV is not set +# CONFIG_VIDEO_MEDIA is not set + +# +# Multimedia drivers +# +# CONFIG_DAB is not set + +# +# Graphics support +# +# CONFIG_VGASTATE is not set +# CONFIG_VIDEO_OUTPUT_CONTROL is not set +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_IMAGEBLIT=y +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +# CONFIG_FB_SYS_FILLRECT is not set +# CONFIG_FB_SYS_COPYAREA is not set +# CONFIG_FB_SYS_IMAGEBLIT is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_SYS_FOPS is not set +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +CONFIG_FB_S3C=y +CONFIG_FB_S3C_LTE480WV=y +# CONFIG_FB_S3C_LTV350QV is not set +# CONFIG_FB_S3C_LTS222QV is not set +CONFIG_FB_S3C_BPP=y +# CONFIG_FB_S3C_BPP_8 is not set +CONFIG_FB_S3C_BPP_16=y +# CONFIG_FB_S3C_BPP_24 is not set +# CONFIG_FB_S3C_BPP_32 is not set +CONFIG_FB_S3C_NUM=1 +CONFIG_FB_S3C_VIRTUAL_SCREEN=y +CONFIG_FB_S3C_DOUBLE_BUFFERING=y +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_VIRTUAL is not set +# CONFIG_FB_METRONOME is not set +# CONFIG_FB_MB862XX is not set +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set + +# +# Display device support +# +# CONFIG_DISPLAY_SUPPORT is not set + +# +# Console display driver support +# +# CONFIG_VGA_CONSOLE is not set +CONFIG_DUMMY_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set +# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set +# CONFIG_FONTS is not set +CONFIG_FONT_8x8=y +CONFIG_FONT_8x16=y +CONFIG_LOGO=y +# CONFIG_LOGO_LINUX_MONO is not set +# CONFIG_LOGO_LINUX_VGA16 is not set +# CONFIG_LOGO_LINUX_CLUT224 is not set +CONFIG_LOGO_LINUX_LANDSCAPED_CLUT224=y +# CONFIG_SOUND is not set +CONFIG_HID_SUPPORT=y +CONFIG_HID=y +CONFIG_HID_DEBUG=y +# CONFIG_HIDRAW is not set +# CONFIG_HID_PID is not set + +# +# Special HID drivers +# +# CONFIG_HID_COMPAT is not set +CONFIG_USB_SUPPORT=y +CONFIG_USB_ARCH_HAS_HCD=y +# CONFIG_USB_ARCH_HAS_OHCI is not set +# CONFIG_USB_ARCH_HAS_EHCI is not set +# CONFIG_USB is not set + +# +# Enable Host or Gadget support to see Inventra options +# + +# +# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; +# +# CONFIG_USB_GADGET is not set +CONFIG_MMC=y +CONFIG_MMC_DEBUG=y +CONFIG_MMC_UNSAFE_RESUME=y + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_BOUNCE=y +CONFIG_SDIO_UART=y +# CONFIG_MMC_TEST is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +CONFIG_MMC_SDHCI=y +# CONFIG_MEMSTICK is not set +# CONFIG_ACCESSIBILITY is not set +# CONFIG_NEW_LEDS is not set +CONFIG_RTC_LIB=y +# CONFIG_RTC_CLASS is not set +# CONFIG_DMADEVICES is not set +# CONFIG_REGULATOR is not set +# CONFIG_UIO is not set + +# +# File systems +# +CONFIG_EXT2_FS=y +# CONFIG_EXT2_FS_XATTR is not set +# CONFIG_EXT2_FS_XIP is not set +CONFIG_EXT3_FS=y +CONFIG_EXT3_FS_XATTR=y +CONFIG_EXT3_FS_POSIX_ACL=y +CONFIG_EXT3_FS_SECURITY=y +# CONFIG_EXT4_FS is not set +CONFIG_JBD=y +CONFIG_FS_MBCACHE=y +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +CONFIG_FS_POSIX_ACL=y +CONFIG_FILE_LOCKING=y +# CONFIG_XFS_FS is not set +# CONFIG_GFS2_FS is not set +CONFIG_DNOTIFY=y +CONFIG_INOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_QUOTA is not set +# CONFIG_AUTOFS_FS is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_FUSE_FS is not set +CONFIG_GENERIC_ACL=y + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +# CONFIG_MSDOS_FS is not set +# CONFIG_VFAT_FS is not set +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_SYSCTL=y +CONFIG_PROC_PAGE_MONITOR=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +# CONFIG_HUGETLB_PAGE is not set +# CONFIG_CONFIGFS_FS is not set + +# +# Miscellaneous filesystems +# +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +CONFIG_CRAMFS=y +# CONFIG_VXFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +CONFIG_ROMFS_FS=y +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set + +# +# Partition Types +# +# CONFIG_PARTITION_ADVANCED is not set +CONFIG_MSDOS_PARTITION=y +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +# CONFIG_NLS_CODEPAGE_737 is not set +# CONFIG_NLS_CODEPAGE_775 is not set +# CONFIG_NLS_CODEPAGE_850 is not set +# CONFIG_NLS_CODEPAGE_852 is not set +# CONFIG_NLS_CODEPAGE_855 is not set +# CONFIG_NLS_CODEPAGE_857 is not set +# CONFIG_NLS_CODEPAGE_860 is not set +# CONFIG_NLS_CODEPAGE_861 is not set +# CONFIG_NLS_CODEPAGE_862 is not set +# CONFIG_NLS_CODEPAGE_863 is not set +# CONFIG_NLS_CODEPAGE_864 is not set +# CONFIG_NLS_CODEPAGE_865 is not set +# CONFIG_NLS_CODEPAGE_866 is not set +# CONFIG_NLS_CODEPAGE_869 is not set +# CONFIG_NLS_CODEPAGE_936 is not set +# CONFIG_NLS_CODEPAGE_950 is not set +# CONFIG_NLS_CODEPAGE_932 is not set +# CONFIG_NLS_CODEPAGE_949 is not set +# CONFIG_NLS_CODEPAGE_874 is not set +# CONFIG_NLS_ISO8859_8 is not set +# CONFIG_NLS_CODEPAGE_1250 is not set +# CONFIG_NLS_CODEPAGE_1251 is not set +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +# CONFIG_NLS_ISO8859_2 is not set +# CONFIG_NLS_ISO8859_3 is not set +# CONFIG_NLS_ISO8859_4 is not set +# CONFIG_NLS_ISO8859_5 is not set +# CONFIG_NLS_ISO8859_6 is not set +# CONFIG_NLS_ISO8859_7 is not set +# CONFIG_NLS_ISO8859_9 is not set +# CONFIG_NLS_ISO8859_13 is not set +# CONFIG_NLS_ISO8859_14 is not set +# CONFIG_NLS_ISO8859_15 is not set +# CONFIG_NLS_KOI8_R is not set +# CONFIG_NLS_KOI8_U is not set +# CONFIG_NLS_UTF8 is not set + +# +# Kernel hacking +# +# CONFIG_PRINTK_TIME is not set +CONFIG_ENABLE_WARN_DEPRECATED=y +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=1024 +CONFIG_MAGIC_SYSRQ=y +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_DEBUG_FS is not set +# CONFIG_HEADERS_CHECK is not set +CONFIG_DEBUG_KERNEL=y +# CONFIG_DEBUG_SHIRQ is not set +CONFIG_DETECT_SOFTLOCKUP=y +# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 +CONFIG_SCHED_DEBUG=y +# CONFIG_SCHEDSTATS is not set +# CONFIG_TIMER_STATS is not set +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +CONFIG_DEBUG_RT_MUTEXES=y +CONFIG_DEBUG_PI_LIST=y +# CONFIG_RT_MUTEX_TESTER is not set +CONFIG_DEBUG_SPINLOCK=y +CONFIG_DEBUG_MUTEXES=y +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_PROVE_LOCKING is not set +# CONFIG_LOCK_STAT is not set +CONFIG_DEBUG_SPINLOCK_SLEEP=y +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_DEBUG_KOBJECT is not set +CONFIG_DEBUG_BUGVERBOSE=y +CONFIG_DEBUG_INFO=y +# CONFIG_DEBUG_VM is not set +# CONFIG_DEBUG_WRITECOUNT is not set +CONFIG_DEBUG_MEMORY_INIT=y +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_SG is not set +CONFIG_FRAME_POINTER=y +# CONFIG_BOOT_PRINTK_DELAY is not set +# CONFIG_RCU_TORTURE_TEST is not set +# CONFIG_RCU_CPU_STALL_DETECTOR is not set +# CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_FAULT_INJECTION is not set +# CONFIG_LATENCYTOP is not set +CONFIG_SYSCTL_SYSCALL_CHECK=y +CONFIG_HAVE_FUNCTION_TRACER=y + +# +# Tracers +# +# CONFIG_FUNCTION_TRACER is not set +# CONFIG_SCHED_TRACER is not set +# CONFIG_CONTEXT_SWITCH_TRACER is not set +# CONFIG_BOOT_TRACER is not set +# CONFIG_STACK_TRACER is not set +# CONFIG_DYNAMIC_PRINTK_DEBUG is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_KGDB is not set +CONFIG_DEBUG_USER=y +CONFIG_DEBUG_ERRORS=y +# CONFIG_DEBUG_STACK_USAGE is not set +CONFIG_DEBUG_LL=y +# CONFIG_DEBUG_ICEDCC is not set +# CONFIG_DEBUG_S3C_PORT is not set +CONFIG_DEBUG_S3C_UART=0 + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY is not set +# CONFIG_SECURITYFS is not set +# CONFIG_SECURITY_FILE_CAPABILITIES is not set +# CONFIG_CRYPTO is not set + +# +# Library routines +# +CONFIG_BITREVERSE=y +# CONFIG_CRC_CCITT is not set +# CONFIG_CRC16 is not set +# CONFIG_CRC_T10DIF is not set +# CONFIG_CRC_ITU_T is not set +CONFIG_CRC32=y +# CONFIG_CRC7 is not set +# CONFIG_LIBCRC32C is not set +CONFIG_ZLIB_INFLATE=y +CONFIG_PLIST=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_DMA=y diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/configs/smdkc100mtd_defconfig linux-2.6.28.6/arch/arm/configs/smdkc100mtd_defconfig --- linux-2.6.28/arch/arm/configs/smdkc100mtd_defconfig 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/configs/smdkc100mtd_defconfig 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,1608 @@ +# +# Automatically generated make config: don't edit +# Linux kernel version: 2.6.28.6 +# Tue Mar 31 14:00:16 2009 +# +CONFIG_ARM=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_GENERIC_GPIO=y +# CONFIG_GENERIC_TIME is not set +# CONFIG_GENERIC_CLOCKEVENTS is not set +CONFIG_MMU=y +CONFIG_NO_IOPORT=y +CONFIG_GENERIC_HARDIRQS=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_RWSEM_GENERIC_SPINLOCK=y +# CONFIG_ARCH_HAS_ILOG2_U32 is not set +# CONFIG_ARCH_HAS_ILOG2_U64 is not set +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_ZONE_DMA=y +CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" + +# +# General setup +# +CONFIG_EXPERIMENTAL=y +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_LOCALVERSION="" +CONFIG_LOCALVERSION_AUTO=y +CONFIG_SWAP=y +# CONFIG_SYSVIPC is not set +# CONFIG_POSIX_MQUEUE is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set +# CONFIG_AUDIT is not set +# CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=17 +# CONFIG_CGROUPS is not set +# CONFIG_GROUP_SCHED is not set +CONFIG_SYSFS_DEPRECATED=y +CONFIG_SYSFS_DEPRECATED_V2=y +# CONFIG_RELAY is not set +CONFIG_NAMESPACES=y +# CONFIG_UTS_NS is not set +# CONFIG_USER_NS is not set +# CONFIG_PID_NS is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL=y +# CONFIG_EMBEDDED is not set +CONFIG_UID16=y +CONFIG_SYSCTL_SYSCALL=y +CONFIG_KALLSYMS=y +CONFIG_KALLSYMS_ALL=y +# CONFIG_KALLSYMS_EXTRA_PASS is not set +CONFIG_HOTPLUG=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_COMPAT_BRK=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_ANON_INODES=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_SLUB_DEBUG=y +# CONFIG_SLAB is not set +CONFIG_SLUB=y +# CONFIG_SLOB is not set +# CONFIG_PROFILING is not set +# CONFIG_MARKERS is not set +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +CONFIG_HAVE_KPROBES=y +CONFIG_HAVE_KRETPROBES=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +# CONFIG_TINY_SHMEM is not set +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODULE_FORCE_UNLOAD is not set +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +CONFIG_KMOD=y +CONFIG_BLOCK=y +CONFIG_LBD=y +# CONFIG_BLK_DEV_IO_TRACE is not set +CONFIG_LSF=y +# CONFIG_BLK_DEV_BSG is not set +# CONFIG_BLK_DEV_INTEGRITY is not set + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_AS=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +# CONFIG_DEFAULT_AS is not set +# CONFIG_DEFAULT_DEADLINE is not set +CONFIG_DEFAULT_CFQ=y +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="cfq" +CONFIG_CLASSIC_RCU=y +# CONFIG_FREEZER is not set + +# +# System Type +# +# CONFIG_ARCH_AAEC2000 is not set +# CONFIG_ARCH_INTEGRATOR is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_AT91 is not set +# CONFIG_ARCH_CLPS7500 is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_H720X is not set +# CONFIG_ARCH_IMX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP23XX is not set +# CONFIG_ARCH_IXP2000 is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_L7200 is not set +# CONFIG_ARCH_KIRKWOOD is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_NS9XXX is not set +# CONFIG_ARCH_LOKI is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_MXC is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_PNX4008 is not set +# CONFIG_ARCH_PXA is not set +# CONFIG_ARCH_RPC is not set +# CONFIG_ARCH_SA1100 is not set +# CONFIG_ARCH_S3C2410 is not set +# CONFIG_ARCH_S3C64XX is not set +# CONFIG_ARCH_S5P64XX is not set +CONFIG_ARCH_S5PC1XX=y +# CONFIG_ARCH_SHARK is not set +# CONFIG_ARCH_LH7A40X is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP is not set +# CONFIG_ARCH_MSM is not set +CONFIG_S3C64XX_SETUP_I2C1=y +CONFIG_PLAT_S5PC1XX=y +CONFIG_CPU_S5PC100_INIT=y +CONFIG_CPU_S5PC100_CLOCK=y +CONFIG_S5PC1XX_SETUP_I2C0=y +CONFIG_S5PC1XX_SETUP_I2C1=y +CONFIG_S5PC1XX_ADC=y +CONFIG_S5PC1XX_PWM=y +CONFIG_S5PC1XX_DEV_FIMC0=y +CONFIG_S5PC1XX_DEV_FIMC1=y +CONFIG_S5PC1XX_DEV_FIMC2=y +CONFIG_S5PC1XX_SETUP_FIMC0=y +CONFIG_S5PC1XX_SETUP_FIMC1=y +CONFIG_S5PC1XX_SETUP_FIMC2=y +CONFIG_PLAT_S3C=y + +# +# Boot options +# +# CONFIG_S3C_BOOT_ERROR_RESET is not set + +# +# Power management +# +CONFIG_S3C_LOWLEVEL_UART_PORT=0 +CONFIG_SPLIT_ROOT_FILESYSTEM=y +CONFIG_S3C_GPIO_SPACE=0 +CONFIG_S3C_GPIO_TRACK=y +CONFIG_S3C_GPIO_PULL_UPDOWN=y +CONFIG_S3C_GPIO_CFG_S5PC1XX=y +CONFIG_S3C_DEV_HSMMC=y +CONFIG_S3C_DEV_HSMMC1=y +CONFIG_S3C_DEV_I2C1=y +CONFIG_S3C_DMA_PL330=y +CONFIG_CPU_S5PC100=y +CONFIG_S5PC1XX_SETUP_SDHCI=y +CONFIG_MACH_SMDKC100=y + +# +# Processor Type +# +CONFIG_CPU_32=y +CONFIG_CPU_32v6K=y +CONFIG_CPU_V7=y +CONFIG_CPU_32v7=y +CONFIG_CPU_ABRT_EV7=y +CONFIG_CPU_PABRT_IFAR=y +CONFIG_CPU_CACHE_V7=y +CONFIG_CPU_CACHE_VIPT=y +CONFIG_CPU_COPY_V6=y +CONFIG_CPU_TLB_V7=y +CONFIG_CPU_HAS_ASID=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y + +# +# Processor Features +# +CONFIG_ARM_THUMB=y +# CONFIG_ARM_THUMBEE is not set +# CONFIG_CPU_ICACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_DISABLE is not set +# CONFIG_CPU_BPREDICT_DISABLE is not set +CONFIG_HAS_TLS_REG=y +# CONFIG_OUTER_CACHE is not set +CONFIG_ARM_VIC=y +CONFIG_DMABOUNCE=y + +# +# Bus support +# +# CONFIG_PCI_SYSCALL is not set +# CONFIG_ARCH_SUPPORTS_MSI is not set +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_VMSPLIT_3G=y +# CONFIG_VMSPLIT_2G is not set +# CONFIG_VMSPLIT_1G is not set +CONFIG_PAGE_OFFSET=0xC0000000 +# CONFIG_PREEMPT is not set +CONFIG_HZ=200 +CONFIG_AEABI=y +CONFIG_OABI_COMPAT=y +CONFIG_ARCH_FLATMEM_HAS_HOLES=y +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_FLATMEM_MANUAL=y +# CONFIG_DISCONTIGMEM_MANUAL is not set +# CONFIG_SPARSEMEM_MANUAL is not set +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_PAGEFLAGS_EXTENDED=y +CONFIG_SPLIT_PTLOCK_CPUS=4 +# CONFIG_RESOURCES_64BIT is not set +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=1 +CONFIG_BOUNCE=y +CONFIG_VIRT_TO_BUS=y +CONFIG_UNEVICTABLE_LRU=y +# CONFIG_LEDS is not set +CONFIG_ALIGNMENT_TRAP=y + +# +# Boot options +# +CONFIG_ZBOOT_ROM_TEXT=0 +CONFIG_ZBOOT_ROM_BSS=0 +CONFIG_CMDLINE="root=/dev/mtdblock2 rootfstype=cramfs init=/linuxrc console=ttySAC0,115200 mem=128M" +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set + +# +# CPU Power Management +# +# CONFIG_CPU_FREQ is not set +# CONFIG_CPU_IDLE is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +# CONFIG_FPE_NWFPE is not set +# CONFIG_FPE_FASTFPE is not set +CONFIG_VFP=y +CONFIG_VFPv3=y +# CONFIG_NEON is not set + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_HAVE_AOUT=y +# CONFIG_BINFMT_AOUT is not set +# CONFIG_BINFMT_MISC is not set + +# +# Power management options +# +# CONFIG_PM is not set +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_NET=y + +# +# Networking options +# +# CONFIG_PACKET is not set +CONFIG_UNIX=y +CONFIG_XFRM=y +# CONFIG_XFRM_USER is not set +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_XFRM_STATISTICS is not set +# CONFIG_NET_KEY is not set +CONFIG_INET=y +# CONFIG_IP_MULTICAST is not set +# CONFIG_IP_ADVANCED_ROUTER is not set +CONFIG_IP_FIB_HASH=y +CONFIG_IP_PNP=y +# CONFIG_IP_PNP_DHCP is not set +CONFIG_IP_PNP_BOOTP=y +# CONFIG_IP_PNP_RARP is not set +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE is not set +# CONFIG_ARPD is not set +# CONFIG_SYN_COOKIES is not set +# CONFIG_INET_AH is not set +# CONFIG_INET_ESP is not set +# CONFIG_INET_IPCOMP is not set +# CONFIG_INET_XFRM_TUNNEL is not set +# CONFIG_INET_TUNNEL is not set +CONFIG_INET_XFRM_MODE_TRANSPORT=y +CONFIG_INET_XFRM_MODE_TUNNEL=y +CONFIG_INET_XFRM_MODE_BEET=y +# CONFIG_INET_LRO is not set +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +# CONFIG_IPV6 is not set +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NETFILTER is not set +# CONFIG_IP_DCCP is not set +# CONFIG_IP_SCTP is not set +# CONFIG_TIPC is not set +# CONFIG_ATM is not set +# CONFIG_BRIDGE is not set +# CONFIG_NET_DSA is not set +# CONFIG_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_ECONET is not set +# CONFIG_WAN_ROUTER is not set +# CONFIG_NET_SCHED is not set + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +# CONFIG_BT is not set +# CONFIG_AF_RXRPC is not set +# CONFIG_PHONET is not set +# CONFIG_WIRELESS is not set +# CONFIG_RFKILL is not set +# CONFIG_NET_9P is not set + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_CONNECTOR is not set +CONFIG_MTD=y +# CONFIG_MTD_DEBUG is not set +CONFIG_MTD_CONCAT=y +CONFIG_MTD_PARTITIONS=y +CONFIG_MTD_REDBOOT_PARTS=y +CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 +CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED=y +# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set +# CONFIG_MTD_AR7_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_CHAR=y +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_MTD_OOPS is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_DATAFLASH is not set +# CONFIG_MTD_M25P80 is not set +# CONFIG_MTD_SLRAM is not set +# CONFIG_MTD_PHRAM is not set +# CONFIG_MTD_MTDRAM is not set +# CONFIG_MTD_BLOCK2MTD is not set + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOC2000 is not set +# CONFIG_MTD_DOC2001 is not set +# CONFIG_MTD_DOC2001PLUS is not set +CONFIG_MTD_NAND=y +# CONFIG_MTD_NAND_VERIFY_WRITE is not set +# CONFIG_MTD_NAND_ECC_SMC is not set +# CONFIG_MTD_NAND_MUSEUM_IDS is not set +# CONFIG_MTD_NAND_GPIO is not set +CONFIG_MTD_NAND_IDS=y +CONFIG_MTD_NAND_S3C=y +# CONFIG_MTD_NAND_S3C_DEBUG is not set +CONFIG_MTD_NAND_S3C_HWECC=y +# CONFIG_MTD_NAND_DISKONCHIP is not set +# CONFIG_MTD_NAND_NANDSIM is not set +# CONFIG_MTD_NAND_PLATFORM is not set +# CONFIG_MTD_ALAUDA is not set +# CONFIG_MTD_ONENAND is not set + +# +# UBI - Unsorted block images +# +# CONFIG_MTD_UBI is not set +# CONFIG_PARPORT is not set +CONFIG_BLK_DEV=y +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +# CONFIG_BLK_DEV_NBD is not set +# CONFIG_BLK_DEV_UB is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=8192 +# CONFIG_BLK_DEV_XIP is not set +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +CONFIG_MISC_DEVICES=y +# CONFIG_EEPROM_93CX6 is not set +# CONFIG_ICS932S401 is not set +# CONFIG_ENCLOSURE_SERVICES is not set +# CONFIG_C2PORT is not set +CONFIG_HAVE_IDE=y +# CONFIG_IDE is not set + +# +# SCSI device support +# +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_TGT is not set +# CONFIG_SCSI_NETLINK is not set +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +CONFIG_CHR_DEV_SG=y +# CONFIG_CHR_DEV_SCH is not set + +# +# Some SCSI devices (e.g. CD jukebox) support multiple LUNs +# +# CONFIG_SCSI_MULTI_LUN is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set +CONFIG_SCSI_WAIT_SCAN=m + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_DH is not set +# CONFIG_ATA is not set +# CONFIG_MD is not set +CONFIG_NETDEVICES=y +# CONFIG_DUMMY is not set +# CONFIG_BONDING is not set +# CONFIG_MACVLAN is not set +# CONFIG_EQUALIZER is not set +# CONFIG_TUN is not set +# CONFIG_VETH is not set +# CONFIG_NET_ETHERNET is not set +CONFIG_NETDEV_1000=y +CONFIG_NETDEV_10000=y + +# +# Wireless LAN +# +# CONFIG_WLAN_PRE80211 is not set +# CONFIG_WLAN_80211 is not set +# CONFIG_IWLWIFI_LEDS is not set + +# +# USB Network Adapters +# +# CONFIG_USB_CATC is not set +# CONFIG_USB_KAWETH is not set +# CONFIG_USB_PEGASUS is not set +# CONFIG_USB_RTL8150 is not set +# CONFIG_USB_USBNET is not set +# CONFIG_WAN is not set +CONFIG_PPP=y +CONFIG_PPP_MULTILINK=y +CONFIG_PPP_FILTER=y +CONFIG_PPP_ASYNC=y +CONFIG_PPP_SYNC_TTY=y +# CONFIG_PPP_DEFLATE is not set +# CONFIG_PPP_BSDCOMP is not set +# CONFIG_PPP_MPPE is not set +# CONFIG_PPPOE is not set +# CONFIG_PPPOL2TP is not set +# CONFIG_SLIP is not set +CONFIG_SLHC=y +# CONFIG_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER is not set +# CONFIG_ISDN is not set + +# +# Input device support +# +CONFIG_INPUT=y +# CONFIG_INPUT_FF_MEMLESS is not set +# CONFIG_INPUT_POLLDEV is not set + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +# CONFIG_INPUT_JOYDEV is not set +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_EVBUG is not set + +# +# Input Device Drivers +# +CONFIG_INPUT_KEYBOARD=y +CONFIG_KEYBOARD_ATKBD=y +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_LKKBD is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_STOWAWAY is not set +# CONFIG_KEYBOARD_GPIO is not set +# CONFIG_KEYPAD_S3C is not set +CONFIG_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=y +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_LIFEBOOK=y +CONFIG_MOUSE_PS2_TRACKPOINT=y +# CONFIG_MOUSE_PS2_ELANTECH is not set +# CONFIG_MOUSE_PS2_TOUCHKIT is not set +# CONFIG_MOUSE_SERIAL is not set +# CONFIG_MOUSE_APPLETOUCH is not set +# CONFIG_MOUSE_BCM5974 is not set +# CONFIG_MOUSE_VSXXXAA is not set +# CONFIG_MOUSE_GPIO is not set +# CONFIG_INPUT_JOYSTICK is not set +# CONFIG_INPUT_TABLET is not set +CONFIG_INPUT_TOUCHSCREEN=y +# CONFIG_TOUCHSCREEN_ADS7846 is not set +CONFIG_TOUCHSCREEN_S3C=y +CONFIG_TOUCHSCREEN_NEW=y +# CONFIG_TOUCHSCREEN_FUJITSU is not set +# CONFIG_TOUCHSCREEN_GUNZE is not set +# CONFIG_TOUCHSCREEN_ELO is not set +# CONFIG_TOUCHSCREEN_MTOUCH is not set +# CONFIG_TOUCHSCREEN_INEXIO is not set +# CONFIG_TOUCHSCREEN_MK712 is not set +# CONFIG_TOUCHSCREEN_PENMOUNT is not set +# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set +# CONFIG_TOUCHSCREEN_TOUCHWIN is not set +# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set +# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set +# CONFIG_INPUT_MISC is not set + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_SERPORT=y +CONFIG_SERIO_LIBPS2=y +# CONFIG_SERIO_RAW is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_VT_CONSOLE=y +CONFIG_HW_CONSOLE=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +CONFIG_DEVKMEM=y +# CONFIG_SERIAL_NONSTANDARD is not set + +# +# Serial drivers +# +CONFIG_SERIAL_8250=y +# CONFIG_SERIAL_8250_CONSOLE is not set +CONFIG_SERIAL_8250_NR_UARTS=4 +CONFIG_SERIAL_8250_RUNTIME_UARTS=4 +# CONFIG_SERIAL_8250_EXTENDED is not set + +# +# Non-8250 serial port support +# +CONFIG_SERIAL_SAMSUNG=y +CONFIG_SERIAL_SAMSUNG_UARTS=4 +# CONFIG_SERIAL_SAMSUNG_DEBUG is not set +CONFIG_SERIAL_SAMSUNG_CONSOLE=y +CONFIG_SERIAL_S5PC100=y +# CONFIG_SERIAL_S5PC1XX_HSUART is not set +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +CONFIG_UNIX98_PTYS=y +CONFIG_LEGACY_PTYS=y +CONFIG_LEGACY_PTY_COUNT=256 +# CONFIG_IPMI_HANDLER is not set +CONFIG_HW_RANDOM=y +# CONFIG_NVRAM is not set +# CONFIG_R3964 is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +CONFIG_S3C_MEM=y +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_CHARDEV=y +# CONFIG_I2C_HELPER_AUTO is not set + +# +# I2C Algorithms +# +# CONFIG_I2C_ALGOBIT is not set +# CONFIG_I2C_ALGOPCF is not set +# CONFIG_I2C_ALGOPCA is not set + +# +# I2C Hardware Bus support +# + +# +# I2C system bus drivers (mostly embedded / system-on-chip) +# +# CONFIG_I2C_GPIO is not set +# CONFIG_I2C_OCORES is not set +CONFIG_I2C_S3C2410=y +# CONFIG_I2C_SIMTEC is not set + +# +# External I2C/SMBus adapter drivers +# +# CONFIG_I2C_PARPORT_LIGHT is not set +# CONFIG_I2C_TAOS_EVM is not set +# CONFIG_I2C_TINY_USB is not set + +# +# Other I2C/SMBus bus drivers +# +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_STUB is not set + +# +# Miscellaneous I2C Chip support +# +# CONFIG_DS1682 is not set +# CONFIG_AT24 is not set +# CONFIG_SENSORS_EEPROM is not set +# CONFIG_SENSORS_PCF8574 is not set +# CONFIG_PCF8575 is not set +# CONFIG_SENSORS_PCA9539 is not set +# CONFIG_SENSORS_PCF8591 is not set +# CONFIG_TPS65010 is not set +# CONFIG_SENSORS_MAX6875 is not set +# CONFIG_SENSORS_TSL2550 is not set +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +# CONFIG_I2C_DEBUG_CHIP is not set +CONFIG_SPI=y +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +# CONFIG_SPI_BITBANG is not set +CONFIG_HS_SPI_S5PC100=y +CONFIG_HSPICLK_PCLK=y +# CONFIG_HSPICLK_SCLK_48M is not set +# CONFIG_WORD_TRANSIZE is not set + +# +# SPI Protocol Masters +# +# CONFIG_SPI_AT25 is not set +# CONFIG_SPI_SPIDEV is not set +# CONFIG_SPI_TLE62X0 is not set +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_GPIOLIB=y +# CONFIG_DEBUG_GPIO is not set +# CONFIG_GPIO_SYSFS is not set + +# +# Memory mapped GPIO expanders: +# + +# +# I2C GPIO expanders: +# +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set + +# +# PCI GPIO expanders: +# + +# +# SPI GPIO expanders: +# +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MCP23S08 is not set +# CONFIG_W1 is not set +# CONFIG_POWER_SUPPLY is not set +CONFIG_HWMON=y +# CONFIG_HWMON_VID is not set +# CONFIG_SENSORS_AD7414 is not set +# CONFIG_SENSORS_AD7418 is not set +# CONFIG_SENSORS_ADCXX is not set +# CONFIG_SENSORS_ADM1021 is not set +# CONFIG_SENSORS_ADM1025 is not set +# CONFIG_SENSORS_ADM1026 is not set +# CONFIG_SENSORS_ADM1029 is not set +# CONFIG_SENSORS_ADM1031 is not set +# CONFIG_SENSORS_ADM9240 is not set +# CONFIG_SENSORS_ADT7462 is not set +# CONFIG_SENSORS_ADT7470 is not set +# CONFIG_SENSORS_ADT7473 is not set +# CONFIG_SENSORS_ATXP1 is not set +# CONFIG_SENSORS_DS1621 is not set +# CONFIG_SENSORS_F71805F is not set +# CONFIG_SENSORS_F71882FG is not set +# CONFIG_SENSORS_F75375S is not set +# CONFIG_SENSORS_GL518SM is not set +# CONFIG_SENSORS_GL520SM is not set +# CONFIG_SENSORS_IT87 is not set +# CONFIG_SENSORS_LM63 is not set +# CONFIG_SENSORS_LM70 is not set +# CONFIG_SENSORS_LM75 is not set +# CONFIG_SENSORS_LM77 is not set +# CONFIG_SENSORS_LM78 is not set +# CONFIG_SENSORS_LM80 is not set +# CONFIG_SENSORS_LM83 is not set +# CONFIG_SENSORS_LM85 is not set +# CONFIG_SENSORS_LM87 is not set +# CONFIG_SENSORS_LM90 is not set +# CONFIG_SENSORS_LM92 is not set +# CONFIG_SENSORS_LM93 is not set +# CONFIG_SENSORS_MAX1111 is not set +# CONFIG_SENSORS_MAX1619 is not set +# CONFIG_SENSORS_MAX6650 is not set +# CONFIG_SENSORS_PC87360 is not set +# CONFIG_SENSORS_PC87427 is not set +# CONFIG_SENSORS_DME1737 is not set +# CONFIG_SENSORS_SMSC47M1 is not set +# CONFIG_SENSORS_SMSC47M192 is not set +# CONFIG_SENSORS_SMSC47B397 is not set +# CONFIG_SENSORS_ADS7828 is not set +# CONFIG_SENSORS_THMC50 is not set +# CONFIG_SENSORS_VT1211 is not set +# CONFIG_SENSORS_W83781D is not set +# CONFIG_SENSORS_W83791D is not set +# CONFIG_SENSORS_W83792D is not set +# CONFIG_SENSORS_W83793 is not set +# CONFIG_SENSORS_W83L785TS is not set +# CONFIG_SENSORS_W83L786NG is not set +# CONFIG_SENSORS_W83627HF is not set +# CONFIG_SENSORS_W83627EHF is not set +# CONFIG_HWMON_DEBUG_CHIP is not set +# CONFIG_THERMAL is not set +# CONFIG_THERMAL_HWMON is not set +# CONFIG_WATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +# CONFIG_SSB is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_ASIC3 is not set +# CONFIG_HTC_EGPIO is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB is not set +# CONFIG_PMIC_DA903X is not set +# CONFIG_MFD_WM8400 is not set +# CONFIG_MFD_WM8350_I2C is not set + +# +# Multimedia devices +# + +# +# Multimedia core support +# +# CONFIG_VIDEO_DEV is not set +# CONFIG_DVB_CORE is not set +# CONFIG_VIDEO_MEDIA is not set + +# +# Multimedia drivers +# +# CONFIG_DAB is not set + +# +# Graphics support +# +# CONFIG_VGASTATE is not set +# CONFIG_VIDEO_OUTPUT_CONTROL is not set +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_IMAGEBLIT=y +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +# CONFIG_FB_SYS_FILLRECT is not set +# CONFIG_FB_SYS_COPYAREA is not set +# CONFIG_FB_SYS_IMAGEBLIT is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_SYS_FOPS is not set +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +CONFIG_FB_S3C=y +CONFIG_FB_S3C_LTE480WV=y +# CONFIG_FB_S3C_LTV350QV is not set +# CONFIG_FB_S3C_LTS222QV is not set +CONFIG_FB_S3C_BPP=y +# CONFIG_FB_S3C_BPP_8 is not set +CONFIG_FB_S3C_BPP_16=y +# CONFIG_FB_S3C_BPP_24 is not set +# CONFIG_FB_S3C_BPP_28 is not set +# CONFIG_FB_S3C_BPP_32 is not set +CONFIG_FB_S3C_NUM=1 +# CONFIG_FB_S3C_VIRTUAL_SCREEN is not set +# CONFIG_FB_S3C_DOUBLE_BUFFERING is not set +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_VIRTUAL is not set +# CONFIG_FB_METRONOME is not set +# CONFIG_FB_MB862XX is not set +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set + +# +# Display device support +# +# CONFIG_DISPLAY_SUPPORT is not set + +# +# Console display driver support +# +# CONFIG_VGA_CONSOLE is not set +CONFIG_DUMMY_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set +# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set +# CONFIG_FONTS is not set +CONFIG_FONT_8x8=y +CONFIG_FONT_8x16=y +CONFIG_LOGO=y +# CONFIG_LOGO_LINUX_MONO is not set +# CONFIG_LOGO_LINUX_VGA16 is not set +# CONFIG_LOGO_LINUX_CLUT224 is not set +CONFIG_LOGO_LINUX_LANDSCAPED_CLUT224=y +CONFIG_SOUND=y +# CONFIG_SOUND_OSS_CORE is not set +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +# CONFIG_SND_SEQUENCER is not set +# CONFIG_SND_MIXER_OSS is not set +# CONFIG_SND_PCM_OSS is not set +# CONFIG_SND_DYNAMIC_MINORS is not set +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_VERBOSE_PROCFS=y +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set +CONFIG_SND_DRIVERS=y +# CONFIG_SND_DUMMY is not set +# CONFIG_SND_MTPAV is not set +# CONFIG_SND_SERIAL_U16550 is not set +# CONFIG_SND_MPU401 is not set +CONFIG_SND_ARM=y +CONFIG_SND_SPI=y +CONFIG_SND_USB=y +# CONFIG_SND_USB_AUDIO is not set +# CONFIG_SND_USB_CAIAQ is not set +CONFIG_SND_SOC=y + +# +# SoC Audio for the Samsung S3C +# +CONFIG_SND_S5PC1XX_SOC=y +CONFIG_SND_SOC_I2S_V50=y +CONFIG_SND_SMDKC100_WM8580=y +CONFIG_SOUND_S5PC100_WM8580_INPUT_STREAM_LINE=y +# CONFIG_SOUND_S5PC100_WM8580_INPUT_STREAM_MIC is not set +# CONFIG_SND_SMDKC100_WM9713 is not set +# CONFIG_SND_SOC_ALL_CODECS is not set +CONFIG_SND_SOC_WM8580=y +# CONFIG_SOUND_PRIME is not set +CONFIG_HID_SUPPORT=y +CONFIG_HID=y +CONFIG_HID_DEBUG=y +# CONFIG_HIDRAW is not set + +# +# USB Input Devices +# +CONFIG_USB_HID=y +# CONFIG_HID_PID is not set +# CONFIG_USB_HIDDEV is not set + +# +# Special HID drivers +# +# CONFIG_HID_COMPAT is not set +CONFIG_HID_A4TECH=y +CONFIG_HID_APPLE=y +CONFIG_HID_BELKIN=y +CONFIG_HID_BRIGHT=y +CONFIG_HID_CHERRY=y +CONFIG_HID_CHICONY=y +CONFIG_HID_CYPRESS=y +CONFIG_HID_DELL=y +CONFIG_HID_EZKEY=y +CONFIG_HID_GYRATION=y +CONFIG_HID_LOGITECH=y +# CONFIG_LOGITECH_FF is not set +# CONFIG_LOGIRUMBLEPAD2_FF is not set +CONFIG_HID_MICROSOFT=y +CONFIG_HID_MONTEREY=y +CONFIG_HID_PANTHERLORD=y +# CONFIG_PANTHERLORD_FF is not set +CONFIG_HID_PETALYNX=y +CONFIG_HID_SAMSUNG=y +CONFIG_HID_SONY=y +CONFIG_HID_SUNPLUS=y +# CONFIG_THRUSTMASTER_FF is not set +# CONFIG_ZEROPLUS_FF is not set +CONFIG_USB_SUPPORT=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB_ARCH_HAS_OHCI=y +# CONFIG_USB_ARCH_HAS_EHCI is not set +CONFIG_USB=y +# CONFIG_USB_DEBUG is not set +# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set + +# +# Miscellaneous USB options +# +CONFIG_USB_DEVICEFS=y +CONFIG_USB_DEVICE_CLASS=y +# CONFIG_USB_DYNAMIC_MINORS is not set +# CONFIG_USB_OTG is not set +# CONFIG_USB_MON is not set +# CONFIG_USB_WUSB is not set +# CONFIG_USB_WUSB_CBAF is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +CONFIG_USB_OHCI_HCD=y +# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_HWA_HCD is not set +# CONFIG_USB_S3C_OTG_HOST is not set +# CONFIG_USB_MUSB_HDRC is not set +# CONFIG_USB_GADGET_MUSB_HDRC is not set + +# +# USB Device Class drivers +# +CONFIG_USB_ACM=y +# CONFIG_USB_PRINTER is not set +# CONFIG_USB_WDM is not set +# CONFIG_USB_TMC is not set + +# +# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; +# + +# +# see USB_STORAGE Help for more information +# +CONFIG_USB_STORAGE=y +# CONFIG_USB_STORAGE_DEBUG is not set +# CONFIG_USB_STORAGE_DATAFAB is not set +# CONFIG_USB_STORAGE_FREECOM is not set +# CONFIG_USB_STORAGE_ISD200 is not set +# CONFIG_USB_STORAGE_DPCM is not set +# CONFIG_USB_STORAGE_USBAT is not set +# CONFIG_USB_STORAGE_SDDR09 is not set +# CONFIG_USB_STORAGE_SDDR55 is not set +# CONFIG_USB_STORAGE_JUMPSHOT is not set +# CONFIG_USB_STORAGE_ALAUDA is not set +# CONFIG_USB_STORAGE_ONETOUCH is not set +# CONFIG_USB_STORAGE_KARMA is not set +# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set +# CONFIG_USB_LIBUSUAL is not set + +# +# USB Imaging devices +# +# CONFIG_USB_MDC800 is not set +# CONFIG_USB_MICROTEK is not set + +# +# USB port drivers +# +# CONFIG_USB_SERIAL is not set + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_ADUTUX is not set +# CONFIG_USB_SEVSEG is not set +# CONFIG_USB_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_BERRY_CHARGE is not set +# CONFIG_USB_LED is not set +# CONFIG_USB_CYPRESS_CY7C63 is not set +# CONFIG_USB_CYTHERM is not set +# CONFIG_USB_PHIDGET is not set +# CONFIG_USB_IDMOUSE is not set +# CONFIG_USB_FTDI_ELAN is not set +# CONFIG_USB_APPLEDISPLAY is not set +# CONFIG_USB_LD is not set +# CONFIG_USB_TRANCEVIBRATOR is not set +# CONFIG_USB_IOWARRIOR is not set +# CONFIG_USB_TEST is not set +# CONFIG_USB_ISIGHTFW is not set +# CONFIG_USB_VST is not set +# CONFIG_USB_GADGET is not set +# CONFIG_USB_GADGET_AT91 is not set +# CONFIG_USB_GADGET_ATMEL_USBA is not set +# CONFIG_USB_GADGET_FSL_USB2 is not set +# CONFIG_USB_GADGET_LH7A40X is not set +# CONFIG_USB_GADGET_OMAP is not set +# CONFIG_USB_GADGET_PXA25X is not set +# CONFIG_USB_GADGET_PXA27X is not set +# CONFIG_USB_GADGET_S3C2410 is not set +# CONFIG_USB_GADGET_S3C_OTGD is not set +# CONFIG_USB_GADGET_M66592 is not set +# CONFIG_USB_GADGET_AMD5536UDC is not set +# CONFIG_USB_GADGET_FSL_QE is not set +# CONFIG_USB_GADGET_NET2280 is not set +# CONFIG_USB_GADGET_GOKU is not set +# CONFIG_USB_GADGET_DUMMY_HCD is not set +# CONFIG_USB_GADGET_S3C_OTGD_DMA_MODE is not set +# CONFIG_USB_GADGET_S3C_OTGD_SLAVE_MODE is not set +# CONFIG_USB_ZERO is not set +# CONFIG_USB_ETH is not set +# CONFIG_USB_GADGETFS is not set +# CONFIG_USB_FILE_STORAGE is not set +# CONFIG_USB_G_SERIAL is not set +# CONFIG_USB_MIDI_GADGET is not set +# CONFIG_USB_G_PRINTER is not set +# CONFIG_USB_CDC_COMPOSITE is not set +CONFIG_MMC=y +# CONFIG_MMC_DEBUG is not set +# CONFIG_MMC_UNSAFE_RESUME is not set + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_BOUNCE=y +# CONFIG_SDIO_UART is not set +# CONFIG_MMC_TEST is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_S3C=y +# CONFIG_MMC_SDHCI_SCATTERGATHER is not set +# CONFIG_MMC_SPI is not set +# CONFIG_MEMSTICK is not set +# CONFIG_ACCESSIBILITY is not set +# CONFIG_NEW_LEDS is not set +CONFIG_RTC_LIB=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +# CONFIG_RTC_DEBUG is not set + +# +# RTC interfaces +# +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_DEV=y +# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set +# CONFIG_RTC_DRV_TEST is not set + +# +# I2C RTC drivers +# +# CONFIG_RTC_DRV_DS1307 is not set +# CONFIG_RTC_DRV_DS1374 is not set +# CONFIG_RTC_DRV_DS1672 is not set +# CONFIG_RTC_DRV_MAX6900 is not set +# CONFIG_RTC_DRV_RS5C372 is not set +# CONFIG_RTC_DRV_ISL1208 is not set +# CONFIG_RTC_DRV_X1205 is not set +# CONFIG_RTC_DRV_PCF8563 is not set +# CONFIG_RTC_DRV_PCF8583 is not set +# CONFIG_RTC_DRV_M41T80 is not set +# CONFIG_RTC_DRV_S35390A is not set +# CONFIG_RTC_DRV_FM3130 is not set +# CONFIG_RTC_DRV_RX8581 is not set + +# +# SPI RTC drivers +# +# CONFIG_RTC_DRV_M41T94 is not set +# CONFIG_RTC_DRV_DS1305 is not set +# CONFIG_RTC_DRV_DS1390 is not set +# CONFIG_RTC_DRV_MAX6902 is not set +# CONFIG_RTC_DRV_R9701 is not set +# CONFIG_RTC_DRV_RS5C348 is not set +# CONFIG_RTC_DRV_DS3234 is not set + +# +# Platform RTC drivers +# +# CONFIG_RTC_DRV_CMOS is not set +# CONFIG_RTC_DRV_DS1286 is not set +# CONFIG_RTC_DRV_DS1511 is not set +# CONFIG_RTC_DRV_DS1553 is not set +# CONFIG_RTC_DRV_DS1742 is not set +# CONFIG_RTC_DRV_STK17TA8 is not set +# CONFIG_RTC_DRV_M48T86 is not set +# CONFIG_RTC_DRV_M48T35 is not set +# CONFIG_RTC_DRV_M48T59 is not set +# CONFIG_RTC_DRV_BQ4802 is not set +# CONFIG_RTC_DRV_V3020 is not set + +# +# on-CPU RTC drivers +# +CONFIG_RTC_DRV_S3C=y +# CONFIG_DMADEVICES is not set +# CONFIG_REGULATOR is not set +# CONFIG_UIO is not set + +# +# File systems +# +CONFIG_EXT2_FS=y +# CONFIG_EXT2_FS_XATTR is not set +# CONFIG_EXT2_FS_XIP is not set +CONFIG_EXT3_FS=y +CONFIG_EXT3_FS_XATTR=y +CONFIG_EXT3_FS_POSIX_ACL=y +CONFIG_EXT3_FS_SECURITY=y +# CONFIG_EXT4_FS is not set +CONFIG_JBD=y +CONFIG_FS_MBCACHE=y +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +CONFIG_FS_POSIX_ACL=y +CONFIG_FILE_LOCKING=y +# CONFIG_XFS_FS is not set +# CONFIG_GFS2_FS is not set +# CONFIG_OCFS2_FS is not set +CONFIG_DNOTIFY=y +CONFIG_INOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_QUOTA is not set +# CONFIG_AUTOFS_FS is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_FUSE_FS is not set +CONFIG_GENERIC_ACL=y + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_SYSCTL=y +CONFIG_PROC_PAGE_MONITOR=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +# CONFIG_HUGETLB_PAGE is not set +# CONFIG_CONFIGFS_FS is not set + +# +# Miscellaneous filesystems +# +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +# CONFIG_YAFFS_FS is not set +# CONFIG_JFFS2_FS is not set +CONFIG_CRAMFS=y +# CONFIG_VXFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +CONFIG_ROMFS_FS=y +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V3=y +CONFIG_NFS_V3_ACL=y +# CONFIG_NFS_V4 is not set +# CONFIG_ROOT_NFS is not set +# CONFIG_NFSD is not set +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_ACL_SUPPORT=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +# CONFIG_SUNRPC_REGISTER_V4 is not set +# CONFIG_RPCSEC_GSS_KRB5 is not set +# CONFIG_RPCSEC_GSS_SPKM3 is not set +# CONFIG_SMB_FS is not set +# CONFIG_CIFS is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set +CONFIG_MSDOS_PARTITION=y +CONFIG_BSD_DISKLABEL=y +# CONFIG_MINIX_SUBPARTITION is not set +CONFIG_SOLARIS_X86_PARTITION=y +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +# CONFIG_EFI_PARTITION is not set +# CONFIG_SYSV68_PARTITION is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +# CONFIG_NLS_CODEPAGE_737 is not set +# CONFIG_NLS_CODEPAGE_775 is not set +# CONFIG_NLS_CODEPAGE_850 is not set +# CONFIG_NLS_CODEPAGE_852 is not set +# CONFIG_NLS_CODEPAGE_855 is not set +# CONFIG_NLS_CODEPAGE_857 is not set +# CONFIG_NLS_CODEPAGE_860 is not set +# CONFIG_NLS_CODEPAGE_861 is not set +# CONFIG_NLS_CODEPAGE_862 is not set +# CONFIG_NLS_CODEPAGE_863 is not set +# CONFIG_NLS_CODEPAGE_864 is not set +# CONFIG_NLS_CODEPAGE_865 is not set +# CONFIG_NLS_CODEPAGE_866 is not set +# CONFIG_NLS_CODEPAGE_869 is not set +# CONFIG_NLS_CODEPAGE_936 is not set +# CONFIG_NLS_CODEPAGE_950 is not set +# CONFIG_NLS_CODEPAGE_932 is not set +# CONFIG_NLS_CODEPAGE_949 is not set +# CONFIG_NLS_CODEPAGE_874 is not set +# CONFIG_NLS_ISO8859_8 is not set +# CONFIG_NLS_CODEPAGE_1250 is not set +# CONFIG_NLS_CODEPAGE_1251 is not set +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +# CONFIG_NLS_ISO8859_2 is not set +# CONFIG_NLS_ISO8859_3 is not set +# CONFIG_NLS_ISO8859_4 is not set +# CONFIG_NLS_ISO8859_5 is not set +# CONFIG_NLS_ISO8859_6 is not set +# CONFIG_NLS_ISO8859_7 is not set +# CONFIG_NLS_ISO8859_9 is not set +# CONFIG_NLS_ISO8859_13 is not set +# CONFIG_NLS_ISO8859_14 is not set +# CONFIG_NLS_ISO8859_15 is not set +# CONFIG_NLS_KOI8_R is not set +# CONFIG_NLS_KOI8_U is not set +# CONFIG_NLS_UTF8 is not set +# CONFIG_DLM is not set + +# +# Kernel hacking +# +# CONFIG_PRINTK_TIME is not set +CONFIG_ENABLE_WARN_DEPRECATED=y +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=1024 +CONFIG_MAGIC_SYSRQ=y +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_DEBUG_FS is not set +# CONFIG_HEADERS_CHECK is not set +CONFIG_DEBUG_KERNEL=y +# CONFIG_DEBUG_SHIRQ is not set +CONFIG_DETECT_SOFTLOCKUP=y +# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 +CONFIG_SCHED_DEBUG=y +# CONFIG_SCHEDSTATS is not set +# CONFIG_TIMER_STATS is not set +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +CONFIG_DEBUG_RT_MUTEXES=y +CONFIG_DEBUG_PI_LIST=y +# CONFIG_RT_MUTEX_TESTER is not set +CONFIG_DEBUG_SPINLOCK=y +CONFIG_DEBUG_MUTEXES=y +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_PROVE_LOCKING is not set +# CONFIG_LOCK_STAT is not set +CONFIG_DEBUG_SPINLOCK_SLEEP=y +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_DEBUG_KOBJECT is not set +CONFIG_DEBUG_BUGVERBOSE=y +CONFIG_DEBUG_INFO=y +# CONFIG_DEBUG_VM is not set +# CONFIG_DEBUG_WRITECOUNT is not set +CONFIG_DEBUG_MEMORY_INIT=y +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_SG is not set +CONFIG_FRAME_POINTER=y +# CONFIG_BOOT_PRINTK_DELAY is not set +# CONFIG_RCU_TORTURE_TEST is not set +# CONFIG_RCU_CPU_STALL_DETECTOR is not set +# CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_FAULT_INJECTION is not set +# CONFIG_LATENCYTOP is not set +CONFIG_SYSCTL_SYSCALL_CHECK=y +CONFIG_HAVE_FUNCTION_TRACER=y + +# +# Tracers +# +# CONFIG_FUNCTION_TRACER is not set +# CONFIG_SCHED_TRACER is not set +# CONFIG_CONTEXT_SWITCH_TRACER is not set +# CONFIG_BOOT_TRACER is not set +# CONFIG_STACK_TRACER is not set +# CONFIG_DYNAMIC_PRINTK_DEBUG is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_KGDB is not set +CONFIG_DEBUG_USER=y +CONFIG_DEBUG_ERRORS=y +# CONFIG_DEBUG_STACK_USAGE is not set +CONFIG_DEBUG_LL=y +# CONFIG_DEBUG_ICEDCC is not set +# CONFIG_DEBUG_S3C_PORT is not set +CONFIG_DEBUG_S3C_UART=0 + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY is not set +# CONFIG_SECURITYFS is not set +# CONFIG_SECURITY_FILE_CAPABILITIES is not set +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +# CONFIG_CRYPTO_FIPS is not set +# CONFIG_CRYPTO_MANAGER is not set +# CONFIG_CRYPTO_MANAGER2 is not set +# CONFIG_CRYPTO_GF128MUL is not set +# CONFIG_CRYPTO_NULL is not set +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST is not set + +# +# Authenticated Encryption with Associated Data +# +# CONFIG_CRYPTO_CCM is not set +# CONFIG_CRYPTO_GCM is not set +# CONFIG_CRYPTO_SEQIV is not set + +# +# Block modes +# +# CONFIG_CRYPTO_CBC is not set +# CONFIG_CRYPTO_CTR is not set +# CONFIG_CRYPTO_CTS is not set +# CONFIG_CRYPTO_ECB is not set +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set + +# +# Hash modes +# +# CONFIG_CRYPTO_HMAC is not set +# CONFIG_CRYPTO_XCBC is not set + +# +# Digest +# +# CONFIG_CRYPTO_CRC32C is not set +# CONFIG_CRYPTO_MD4 is not set +# CONFIG_CRYPTO_MD5 is not set +# CONFIG_CRYPTO_MICHAEL_MIC is not set +# CONFIG_CRYPTO_RMD128 is not set +# CONFIG_CRYPTO_RMD160 is not set +# CONFIG_CRYPTO_RMD256 is not set +# CONFIG_CRYPTO_RMD320 is not set +# CONFIG_CRYPTO_SHA1 is not set +# CONFIG_CRYPTO_SHA256 is not set +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +# CONFIG_CRYPTO_AES is not set +# CONFIG_CRYPTO_ANUBIS is not set +# CONFIG_CRYPTO_ARC4 is not set +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +# CONFIG_CRYPTO_DES is not set +# CONFIG_CRYPTO_FCRYPT is not set +# CONFIG_CRYPTO_KHAZAD is not set +# CONFIG_CRYPTO_SALSA20 is not set +# CONFIG_CRYPTO_SEED is not set +# CONFIG_CRYPTO_SERPENT is not set +# CONFIG_CRYPTO_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set + +# +# Compression +# +# CONFIG_CRYPTO_DEFLATE is not set +# CONFIG_CRYPTO_LZO is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +CONFIG_CRYPTO_HW=y + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_CRC_CCITT=y +# CONFIG_CRC16 is not set +# CONFIG_CRC_T10DIF is not set +# CONFIG_CRC_ITU_T is not set +CONFIG_CRC32=y +# CONFIG_CRC7 is not set +# CONFIG_LIBCRC32C is not set +CONFIG_ZLIB_INFLATE=y +CONFIG_PLIST=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_DMA=y diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/configs/smdkc100nfs_defconfig linux-2.6.28.6/arch/arm/configs/smdkc100nfs_defconfig --- linux-2.6.28/arch/arm/configs/smdkc100nfs_defconfig 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/configs/smdkc100nfs_defconfig 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,1657 @@ +# +# Automatically generated make config: don't edit +# Linux kernel version: 2.6.28.6 +# Sat Mar 21 18:43:29 2009 +# +CONFIG_ARM=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_GENERIC_GPIO=y +# CONFIG_GENERIC_TIME is not set +# CONFIG_GENERIC_CLOCKEVENTS is not set +CONFIG_MMU=y +CONFIG_NO_IOPORT=y +CONFIG_GENERIC_HARDIRQS=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_RWSEM_GENERIC_SPINLOCK=y +# CONFIG_ARCH_HAS_ILOG2_U32 is not set +# CONFIG_ARCH_HAS_ILOG2_U64 is not set +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_ZONE_DMA=y +CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" + +# +# General setup +# +CONFIG_EXPERIMENTAL=y +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_LOCALVERSION="" +CONFIG_LOCALVERSION_AUTO=y +CONFIG_SWAP=y +# CONFIG_SYSVIPC is not set +# CONFIG_POSIX_MQUEUE is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set +# CONFIG_AUDIT is not set +# CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=17 +# CONFIG_CGROUPS is not set +# CONFIG_GROUP_SCHED is not set +CONFIG_SYSFS_DEPRECATED=y +CONFIG_SYSFS_DEPRECATED_V2=y +# CONFIG_RELAY is not set +CONFIG_NAMESPACES=y +# CONFIG_UTS_NS is not set +# CONFIG_USER_NS is not set +# CONFIG_PID_NS is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL=y +# CONFIG_EMBEDDED is not set +CONFIG_UID16=y +CONFIG_SYSCTL_SYSCALL=y +CONFIG_KALLSYMS=y +CONFIG_KALLSYMS_ALL=y +# CONFIG_KALLSYMS_EXTRA_PASS is not set +CONFIG_HOTPLUG=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_COMPAT_BRK=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_ANON_INODES=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_SLUB_DEBUG=y +# CONFIG_SLAB is not set +CONFIG_SLUB=y +# CONFIG_SLOB is not set +# CONFIG_PROFILING is not set +# CONFIG_MARKERS is not set +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +CONFIG_HAVE_KPROBES=y +CONFIG_HAVE_KRETPROBES=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +# CONFIG_TINY_SHMEM is not set +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODULE_FORCE_UNLOAD is not set +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +CONFIG_KMOD=y +CONFIG_BLOCK=y +CONFIG_LBD=y +# CONFIG_BLK_DEV_IO_TRACE is not set +CONFIG_LSF=y +# CONFIG_BLK_DEV_BSG is not set +# CONFIG_BLK_DEV_INTEGRITY is not set + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_AS=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +# CONFIG_DEFAULT_AS is not set +# CONFIG_DEFAULT_DEADLINE is not set +CONFIG_DEFAULT_CFQ=y +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="cfq" +CONFIG_CLASSIC_RCU=y +# CONFIG_FREEZER is not set + +# +# System Type +# +# CONFIG_ARCH_AAEC2000 is not set +# CONFIG_ARCH_INTEGRATOR is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_AT91 is not set +# CONFIG_ARCH_CLPS7500 is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_H720X is not set +# CONFIG_ARCH_IMX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP23XX is not set +# CONFIG_ARCH_IXP2000 is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_L7200 is not set +# CONFIG_ARCH_KIRKWOOD is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_NS9XXX is not set +# CONFIG_ARCH_LOKI is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_MXC is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_PNX4008 is not set +# CONFIG_ARCH_PXA is not set +# CONFIG_ARCH_RPC is not set +# CONFIG_ARCH_SA1100 is not set +# CONFIG_ARCH_S3C2410 is not set +# CONFIG_ARCH_S3C64XX is not set +# CONFIG_ARCH_S5P64XX is not set +CONFIG_ARCH_S5PC1XX=y +# CONFIG_ARCH_SHARK is not set +# CONFIG_ARCH_LH7A40X is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP is not set +# CONFIG_ARCH_MSM is not set +CONFIG_S3C64XX_SETUP_I2C1=y +CONFIG_PLAT_S5PC1XX=y +CONFIG_CPU_S5PC100_INIT=y +CONFIG_CPU_S5PC100_CLOCK=y +CONFIG_S5PC1XX_SETUP_I2C0=y +CONFIG_S5PC1XX_SETUP_I2C1=y +CONFIG_S5PC1XX_ADC=y +CONFIG_S5PC1XX_PWM=y +CONFIG_S5PC1XX_DEV_FIMC0=y +CONFIG_S5PC1XX_DEV_FIMC1=y +CONFIG_S5PC1XX_DEV_FIMC2=y +CONFIG_S5PC1XX_SETUP_FIMC0=y +CONFIG_S5PC1XX_SETUP_FIMC1=y +CONFIG_S5PC1XX_SETUP_FIMC2=y +CONFIG_PLAT_S3C=y + +# +# Boot options +# +# CONFIG_S3C_BOOT_WATCHDOG is not set +# CONFIG_S3C_BOOT_ERROR_RESET is not set + +# +# Power management +# +CONFIG_S3C_LOWLEVEL_UART_PORT=0 +CONFIG_SPLIT_ROOT_FILESYSTEM=y +CONFIG_S3C_GPIO_SPACE=0 +CONFIG_S3C_GPIO_TRACK=y +CONFIG_S3C_GPIO_PULL_UPDOWN=y +CONFIG_S3C_GPIO_CFG_S5PC1XX=y +CONFIG_S3C_DEV_HSMMC=y +CONFIG_S3C_DEV_HSMMC1=y +CONFIG_S3C_DEV_I2C1=y +CONFIG_S3C_DMA_PL330=y +CONFIG_CPU_S5PC100=y +CONFIG_S5PC1XX_SETUP_SDHCI=y +CONFIG_MACH_SMDKC100=y + +# +# Processor Type +# +CONFIG_CPU_32=y +CONFIG_CPU_32v6K=y +CONFIG_CPU_V7=y +CONFIG_CPU_32v7=y +CONFIG_CPU_ABRT_EV7=y +CONFIG_CPU_PABRT_IFAR=y +CONFIG_CPU_CACHE_V7=y +CONFIG_CPU_CACHE_VIPT=y +CONFIG_CPU_COPY_V6=y +CONFIG_CPU_TLB_V7=y +CONFIG_CPU_HAS_ASID=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y + +# +# Processor Features +# +CONFIG_ARM_THUMB=y +# CONFIG_ARM_THUMBEE is not set +# CONFIG_CPU_ICACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_DISABLE is not set +# CONFIG_CPU_BPREDICT_DISABLE is not set +CONFIG_HAS_TLS_REG=y +# CONFIG_OUTER_CACHE is not set +CONFIG_ARM_VIC=y +CONFIG_DMABOUNCE=y + +# +# Bus support +# +# CONFIG_PCI_SYSCALL is not set +# CONFIG_ARCH_SUPPORTS_MSI is not set +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_VMSPLIT_3G=y +# CONFIG_VMSPLIT_2G is not set +# CONFIG_VMSPLIT_1G is not set +CONFIG_PAGE_OFFSET=0xC0000000 +# CONFIG_PREEMPT is not set +CONFIG_HZ=200 +CONFIG_AEABI=y +CONFIG_OABI_COMPAT=y +CONFIG_ARCH_FLATMEM_HAS_HOLES=y +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_FLATMEM_MANUAL=y +# CONFIG_DISCONTIGMEM_MANUAL is not set +# CONFIG_SPARSEMEM_MANUAL is not set +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_PAGEFLAGS_EXTENDED=y +CONFIG_SPLIT_PTLOCK_CPUS=4 +# CONFIG_RESOURCES_64BIT is not set +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=1 +CONFIG_BOUNCE=y +CONFIG_VIRT_TO_BUS=y +CONFIG_UNEVICTABLE_LRU=y +# CONFIG_LEDS is not set +CONFIG_ALIGNMENT_TRAP=y + +# +# Boot options +# +CONFIG_ZBOOT_ROM_TEXT=0 +CONFIG_ZBOOT_ROM_BSS=0 +CONFIG_CMDLINE="root=/dev/nfs rw nfsroot=12.23.106.52:/opt/small_root_eabi ip=192.168.0.20:12.23.106.52:192.168.0.1:255.255.255.0:test::off init=/linuxrc console=ttySAC0,115200 mem=128M" +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set + +# +# CPU Power Management +# +# CONFIG_CPU_FREQ is not set +# CONFIG_CPU_IDLE is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +# CONFIG_FPE_NWFPE is not set +# CONFIG_FPE_FASTFPE is not set +CONFIG_VFP=y +CONFIG_VFPv3=y +# CONFIG_NEON is not set + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_HAVE_AOUT=y +# CONFIG_BINFMT_AOUT is not set +# CONFIG_BINFMT_MISC is not set + +# +# Power management options +# +# CONFIG_PM is not set +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_NET=y + +# +# Networking options +# +# CONFIG_PACKET is not set +CONFIG_UNIX=y +CONFIG_XFRM=y +# CONFIG_XFRM_USER is not set +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_XFRM_STATISTICS is not set +# CONFIG_NET_KEY is not set +CONFIG_INET=y +# CONFIG_IP_MULTICAST is not set +# CONFIG_IP_ADVANCED_ROUTER is not set +CONFIG_IP_FIB_HASH=y +CONFIG_IP_PNP=y +# CONFIG_IP_PNP_DHCP is not set +CONFIG_IP_PNP_BOOTP=y +# CONFIG_IP_PNP_RARP is not set +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE is not set +# CONFIG_ARPD is not set +# CONFIG_SYN_COOKIES is not set +# CONFIG_INET_AH is not set +# CONFIG_INET_ESP is not set +# CONFIG_INET_IPCOMP is not set +# CONFIG_INET_XFRM_TUNNEL is not set +# CONFIG_INET_TUNNEL is not set +CONFIG_INET_XFRM_MODE_TRANSPORT=y +CONFIG_INET_XFRM_MODE_TUNNEL=y +CONFIG_INET_XFRM_MODE_BEET=y +# CONFIG_INET_LRO is not set +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +# CONFIG_IPV6 is not set +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NETFILTER is not set +# CONFIG_IP_DCCP is not set +# CONFIG_IP_SCTP is not set +# CONFIG_TIPC is not set +# CONFIG_ATM is not set +# CONFIG_BRIDGE is not set +# CONFIG_NET_DSA is not set +# CONFIG_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_ECONET is not set +# CONFIG_WAN_ROUTER is not set +# CONFIG_NET_SCHED is not set + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +# CONFIG_BT is not set +# CONFIG_AF_RXRPC is not set +# CONFIG_PHONET is not set +# CONFIG_WIRELESS is not set +# CONFIG_RFKILL is not set +# CONFIG_NET_9P is not set + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_CONNECTOR is not set +CONFIG_MTD=y +# CONFIG_MTD_DEBUG is not set +CONFIG_MTD_CONCAT=y +CONFIG_MTD_PARTITIONS=y +CONFIG_MTD_REDBOOT_PARTS=y +CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 +CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED=y +# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set +# CONFIG_MTD_AR7_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_CHAR=y +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_MTD_OOPS is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_DATAFLASH is not set +# CONFIG_MTD_M25P80 is not set +# CONFIG_MTD_SLRAM is not set +# CONFIG_MTD_PHRAM is not set +# CONFIG_MTD_MTDRAM is not set +# CONFIG_MTD_BLOCK2MTD is not set + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOC2000 is not set +# CONFIG_MTD_DOC2001 is not set +# CONFIG_MTD_DOC2001PLUS is not set +CONFIG_MTD_NAND=y +# CONFIG_MTD_NAND_VERIFY_WRITE is not set +# CONFIG_MTD_NAND_ECC_SMC is not set +# CONFIG_MTD_NAND_MUSEUM_IDS is not set +# CONFIG_MTD_NAND_GPIO is not set +CONFIG_MTD_NAND_IDS=y +CONFIG_MTD_NAND_S3C=y +# CONFIG_MTD_NAND_S3C_DEBUG is not set +CONFIG_MTD_NAND_S3C_HWECC=y +# CONFIG_MTD_NAND_DISKONCHIP is not set +# CONFIG_MTD_NAND_NANDSIM is not set +# CONFIG_MTD_NAND_PLATFORM is not set +# CONFIG_MTD_ALAUDA is not set +# CONFIG_MTD_ONENAND is not set + +# +# UBI - Unsorted block images +# +# CONFIG_MTD_UBI is not set +# CONFIG_PARPORT is not set +CONFIG_BLK_DEV=y +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +# CONFIG_BLK_DEV_NBD is not set +# CONFIG_BLK_DEV_UB is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=8192 +# CONFIG_BLK_DEV_XIP is not set +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +CONFIG_MISC_DEVICES=y +# CONFIG_EEPROM_93CX6 is not set +# CONFIG_ICS932S401 is not set +# CONFIG_ENCLOSURE_SERVICES is not set +# CONFIG_C2PORT is not set +CONFIG_HAVE_IDE=y +# CONFIG_IDE is not set + +# +# SCSI device support +# +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_TGT is not set +# CONFIG_SCSI_NETLINK is not set +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +CONFIG_CHR_DEV_SG=y +# CONFIG_CHR_DEV_SCH is not set + +# +# Some SCSI devices (e.g. CD jukebox) support multiple LUNs +# +# CONFIG_SCSI_MULTI_LUN is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set +CONFIG_SCSI_WAIT_SCAN=m + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_DH is not set +# CONFIG_ATA is not set +# CONFIG_MD is not set +CONFIG_NETDEVICES=y +# CONFIG_DUMMY is not set +# CONFIG_BONDING is not set +# CONFIG_MACVLAN is not set +# CONFIG_EQUALIZER is not set +# CONFIG_TUN is not set +# CONFIG_VETH is not set +# CONFIG_PHYLIB is not set +CONFIG_NET_ETHERNET=y +CONFIG_MII=y +# CONFIG_AX88796 is not set +# CONFIG_SMC91X is not set +# CONFIG_DM9000 is not set +# CONFIG_ENC28J60 is not set +CONFIG_SMC911X=y +# CONFIG_IBM_NEW_EMAC_ZMII is not set +# CONFIG_IBM_NEW_EMAC_RGMII is not set +# CONFIG_IBM_NEW_EMAC_TAH is not set +# CONFIG_IBM_NEW_EMAC_EMAC4 is not set +# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set +# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set +# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set +# CONFIG_B44 is not set +CONFIG_NETDEV_1000=y +CONFIG_NETDEV_10000=y + +# +# Wireless LAN +# +# CONFIG_WLAN_PRE80211 is not set +# CONFIG_WLAN_80211 is not set +# CONFIG_IWLWIFI_LEDS is not set + +# +# USB Network Adapters +# +# CONFIG_USB_CATC is not set +# CONFIG_USB_KAWETH is not set +# CONFIG_USB_PEGASUS is not set +# CONFIG_USB_RTL8150 is not set +# CONFIG_USB_USBNET is not set +# CONFIG_WAN is not set +CONFIG_PPP=y +CONFIG_PPP_MULTILINK=y +CONFIG_PPP_FILTER=y +CONFIG_PPP_ASYNC=y +CONFIG_PPP_SYNC_TTY=y +# CONFIG_PPP_DEFLATE is not set +# CONFIG_PPP_BSDCOMP is not set +# CONFIG_PPP_MPPE is not set +# CONFIG_PPPOE is not set +# CONFIG_PPPOL2TP is not set +# CONFIG_SLIP is not set +CONFIG_SLHC=y +# CONFIG_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER is not set +# CONFIG_ISDN is not set + +# +# Input device support +# +CONFIG_INPUT=y +# CONFIG_INPUT_FF_MEMLESS is not set +# CONFIG_INPUT_POLLDEV is not set + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +# CONFIG_INPUT_JOYDEV is not set +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_EVBUG is not set + +# +# Input Device Drivers +# +CONFIG_INPUT_KEYBOARD=y +CONFIG_KEYBOARD_ATKBD=y +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_LKKBD is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_STOWAWAY is not set +# CONFIG_KEYBOARD_GPIO is not set +# CONFIG_KEYPAD_S3C is not set +CONFIG_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=y +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_LIFEBOOK=y +CONFIG_MOUSE_PS2_TRACKPOINT=y +# CONFIG_MOUSE_PS2_ELANTECH is not set +# CONFIG_MOUSE_PS2_TOUCHKIT is not set +# CONFIG_MOUSE_SERIAL is not set +# CONFIG_MOUSE_APPLETOUCH is not set +# CONFIG_MOUSE_BCM5974 is not set +# CONFIG_MOUSE_VSXXXAA is not set +# CONFIG_MOUSE_GPIO is not set +# CONFIG_INPUT_JOYSTICK is not set +# CONFIG_INPUT_TABLET is not set +CONFIG_INPUT_TOUCHSCREEN=y +# CONFIG_TOUCHSCREEN_ADS7846 is not set +CONFIG_TOUCHSCREEN_S3C=y +CONFIG_TOUCHSCREEN_NEW=y +# CONFIG_TOUCHSCREEN_FUJITSU is not set +# CONFIG_TOUCHSCREEN_GUNZE is not set +# CONFIG_TOUCHSCREEN_ELO is not set +# CONFIG_TOUCHSCREEN_MTOUCH is not set +# CONFIG_TOUCHSCREEN_INEXIO is not set +# CONFIG_TOUCHSCREEN_MK712 is not set +# CONFIG_TOUCHSCREEN_PENMOUNT is not set +# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set +# CONFIG_TOUCHSCREEN_TOUCHWIN is not set +# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set +# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set +# CONFIG_INPUT_MISC is not set + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_SERPORT=y +CONFIG_SERIO_LIBPS2=y +# CONFIG_SERIO_RAW is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_VT_CONSOLE=y +CONFIG_HW_CONSOLE=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +CONFIG_DEVKMEM=y +# CONFIG_SERIAL_NONSTANDARD is not set + +# +# Serial drivers +# +CONFIG_SERIAL_8250=y +# CONFIG_SERIAL_8250_CONSOLE is not set +CONFIG_SERIAL_8250_NR_UARTS=4 +CONFIG_SERIAL_8250_RUNTIME_UARTS=4 +# CONFIG_SERIAL_8250_EXTENDED is not set + +# +# Non-8250 serial port support +# +CONFIG_SERIAL_SAMSUNG=y +CONFIG_SERIAL_SAMSUNG_UARTS=4 +# CONFIG_SERIAL_SAMSUNG_DEBUG is not set +CONFIG_SERIAL_SAMSUNG_CONSOLE=y +CONFIG_SERIAL_S5PC100=y +# CONFIG_SERIAL_S5PC1XX_HSUART is not set +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +CONFIG_UNIX98_PTYS=y +CONFIG_LEGACY_PTYS=y +CONFIG_LEGACY_PTY_COUNT=256 +# CONFIG_IPMI_HANDLER is not set +CONFIG_HW_RANDOM=y +# CONFIG_NVRAM is not set +# CONFIG_R3964 is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +CONFIG_S3C_MEM=y +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_CHARDEV=y +# CONFIG_I2C_HELPER_AUTO is not set + +# +# I2C Algorithms +# +# CONFIG_I2C_ALGOBIT is not set +# CONFIG_I2C_ALGOPCF is not set +# CONFIG_I2C_ALGOPCA is not set + +# +# I2C Hardware Bus support +# + +# +# I2C system bus drivers (mostly embedded / system-on-chip) +# +# CONFIG_I2C_GPIO is not set +# CONFIG_I2C_OCORES is not set +CONFIG_I2C_S3C2410=y +# CONFIG_I2C_SIMTEC is not set + +# +# External I2C/SMBus adapter drivers +# +# CONFIG_I2C_PARPORT_LIGHT is not set +# CONFIG_I2C_TAOS_EVM is not set +# CONFIG_I2C_TINY_USB is not set + +# +# Other I2C/SMBus bus drivers +# +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_STUB is not set + +# +# Miscellaneous I2C Chip support +# +# CONFIG_DS1682 is not set +# CONFIG_AT24 is not set +# CONFIG_SENSORS_EEPROM is not set +# CONFIG_SENSORS_PCF8574 is not set +# CONFIG_PCF8575 is not set +# CONFIG_SENSORS_PCA9539 is not set +# CONFIG_SENSORS_PCF8591 is not set +# CONFIG_TPS65010 is not set +# CONFIG_SENSORS_MAX6875 is not set +# CONFIG_SENSORS_TSL2550 is not set +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +# CONFIG_I2C_DEBUG_CHIP is not set +CONFIG_SPI=y +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +# CONFIG_SPI_BITBANG is not set +CONFIG_HS_SPI_S5PC100=y +CONFIG_HSPICLK_PCLK=y +# CONFIG_HSPICLK_SCLK_48M is not set +# CONFIG_WORD_TRANSIZE is not set + +# +# SPI Protocol Masters +# +# CONFIG_SPI_AT25 is not set +# CONFIG_SPI_SPIDEV is not set +# CONFIG_SPI_TLE62X0 is not set +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_GPIOLIB=y +# CONFIG_DEBUG_GPIO is not set +# CONFIG_GPIO_SYSFS is not set + +# +# Memory mapped GPIO expanders: +# + +# +# I2C GPIO expanders: +# +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set + +# +# PCI GPIO expanders: +# + +# +# SPI GPIO expanders: +# +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MCP23S08 is not set +# CONFIG_W1 is not set +# CONFIG_POWER_SUPPLY is not set +CONFIG_HWMON=y +# CONFIG_HWMON_VID is not set +# CONFIG_SENSORS_AD7414 is not set +# CONFIG_SENSORS_AD7418 is not set +# CONFIG_SENSORS_ADCXX is not set +# CONFIG_SENSORS_ADM1021 is not set +# CONFIG_SENSORS_ADM1025 is not set +# CONFIG_SENSORS_ADM1026 is not set +# CONFIG_SENSORS_ADM1029 is not set +# CONFIG_SENSORS_ADM1031 is not set +# CONFIG_SENSORS_ADM9240 is not set +# CONFIG_SENSORS_ADT7462 is not set +# CONFIG_SENSORS_ADT7470 is not set +# CONFIG_SENSORS_ADT7473 is not set +# CONFIG_SENSORS_ATXP1 is not set +# CONFIG_SENSORS_DS1621 is not set +# CONFIG_SENSORS_F71805F is not set +# CONFIG_SENSORS_F71882FG is not set +# CONFIG_SENSORS_F75375S is not set +# CONFIG_SENSORS_GL518SM is not set +# CONFIG_SENSORS_GL520SM is not set +# CONFIG_SENSORS_IT87 is not set +# CONFIG_SENSORS_LM63 is not set +# CONFIG_SENSORS_LM70 is not set +# CONFIG_SENSORS_LM75 is not set +# CONFIG_SENSORS_LM77 is not set +# CONFIG_SENSORS_LM78 is not set +# CONFIG_SENSORS_LM80 is not set +# CONFIG_SENSORS_LM83 is not set +# CONFIG_SENSORS_LM85 is not set +# CONFIG_SENSORS_LM87 is not set +# CONFIG_SENSORS_LM90 is not set +# CONFIG_SENSORS_LM92 is not set +# CONFIG_SENSORS_LM93 is not set +# CONFIG_SENSORS_MAX1111 is not set +# CONFIG_SENSORS_MAX1619 is not set +# CONFIG_SENSORS_MAX6650 is not set +# CONFIG_SENSORS_PC87360 is not set +# CONFIG_SENSORS_PC87427 is not set +# CONFIG_SENSORS_DME1737 is not set +# CONFIG_SENSORS_SMSC47M1 is not set +# CONFIG_SENSORS_SMSC47M192 is not set +# CONFIG_SENSORS_SMSC47B397 is not set +# CONFIG_SENSORS_ADS7828 is not set +# CONFIG_SENSORS_THMC50 is not set +# CONFIG_SENSORS_VT1211 is not set +# CONFIG_SENSORS_W83781D is not set +# CONFIG_SENSORS_W83791D is not set +# CONFIG_SENSORS_W83792D is not set +# CONFIG_SENSORS_W83793 is not set +# CONFIG_SENSORS_W83L785TS is not set +# CONFIG_SENSORS_W83L786NG is not set +# CONFIG_SENSORS_W83627HF is not set +# CONFIG_SENSORS_W83627EHF is not set +# CONFIG_HWMON_DEBUG_CHIP is not set +# CONFIG_THERMAL is not set +# CONFIG_THERMAL_HWMON is not set +CONFIG_WATCHDOG=y +# CONFIG_WATCHDOG_NOWAYOUT is not set + +# +# Watchdog Device Drivers +# +# CONFIG_SOFT_WATCHDOG is not set +CONFIG_S3C2410_WATCHDOG=y + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +# CONFIG_SSB is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_ASIC3 is not set +# CONFIG_HTC_EGPIO is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB is not set +# CONFIG_PMIC_DA903X is not set +# CONFIG_MFD_WM8400 is not set +# CONFIG_MFD_WM8350_I2C is not set + +# +# Multimedia devices +# + +# +# Multimedia core support +# +# CONFIG_VIDEO_DEV is not set +# CONFIG_DVB_CORE is not set +# CONFIG_VIDEO_MEDIA is not set + +# +# Multimedia drivers +# +# CONFIG_DAB is not set + +# +# Graphics support +# +# CONFIG_VGASTATE is not set +# CONFIG_VIDEO_OUTPUT_CONTROL is not set +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_IMAGEBLIT=y +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +# CONFIG_FB_SYS_FILLRECT is not set +# CONFIG_FB_SYS_COPYAREA is not set +# CONFIG_FB_SYS_IMAGEBLIT is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_SYS_FOPS is not set +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +CONFIG_FB_S3C=y +CONFIG_FB_S3C_LTE480WV=y +# CONFIG_FB_S3C_LTV350QV is not set +# CONFIG_FB_S3C_LTS222QV is not set +CONFIG_FB_S3C_BPP=y +# CONFIG_FB_S3C_BPP_8 is not set +CONFIG_FB_S3C_BPP_16=y +# CONFIG_FB_S3C_BPP_24 is not set +# CONFIG_FB_S3C_BPP_32 is not set +CONFIG_FB_S3C_NUM=1 +# CONFIG_FB_S3C_VIRTUAL_SCREEN is not set +# CONFIG_FB_S3C_DOUBLE_BUFFERING is not set +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_VIRTUAL is not set +# CONFIG_FB_METRONOME is not set +# CONFIG_FB_MB862XX is not set +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set + +# +# Display device support +# +# CONFIG_DISPLAY_SUPPORT is not set + +# +# Console display driver support +# +# CONFIG_VGA_CONSOLE is not set +CONFIG_DUMMY_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set +# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set +# CONFIG_FONTS is not set +CONFIG_FONT_8x8=y +CONFIG_FONT_8x16=y +CONFIG_LOGO=y +# CONFIG_LOGO_LINUX_MONO is not set +# CONFIG_LOGO_LINUX_VGA16 is not set +# CONFIG_LOGO_LINUX_CLUT224 is not set +CONFIG_LOGO_LINUX_LANDSCAPED_CLUT224=y +CONFIG_SOUND=y +# CONFIG_SOUND_OSS_CORE is not set +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +# CONFIG_SND_SEQUENCER is not set +# CONFIG_SND_MIXER_OSS is not set +# CONFIG_SND_PCM_OSS is not set +# CONFIG_SND_DYNAMIC_MINORS is not set +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_VERBOSE_PROCFS=y +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set +CONFIG_SND_DRIVERS=y +# CONFIG_SND_DUMMY is not set +# CONFIG_SND_MTPAV is not set +# CONFIG_SND_SERIAL_U16550 is not set +# CONFIG_SND_MPU401 is not set +CONFIG_SND_ARM=y +CONFIG_SND_SPI=y +CONFIG_SND_USB=y +# CONFIG_SND_USB_AUDIO is not set +# CONFIG_SND_USB_CAIAQ is not set +CONFIG_SND_SOC=y + +# +# SoC Audio for the Samsung S3C +# +CONFIG_SND_S5PC1XX_SOC=y +CONFIG_SND_SOC_I2S_V50=y +CONFIG_SND_SMDKC100_WM8580=y +CONFIG_SOUND_S5PC100_WM8580_INPUT_STREAM_LINE=y +# CONFIG_SOUND_S5PC100_WM8580_INPUT_STREAM_MIC is not set +# CONFIG_SND_SMDKC100_WM9713 is not set +# CONFIG_SND_SOC_ALL_CODECS is not set +CONFIG_SND_SOC_WM8580=y +# CONFIG_SOUND_PRIME is not set +CONFIG_HID_SUPPORT=y +CONFIG_HID=y +CONFIG_HID_DEBUG=y +# CONFIG_HIDRAW is not set + +# +# USB Input Devices +# +CONFIG_USB_HID=y +# CONFIG_HID_PID is not set +# CONFIG_USB_HIDDEV is not set + +# +# Special HID drivers +# +# CONFIG_HID_COMPAT is not set +CONFIG_HID_A4TECH=y +CONFIG_HID_APPLE=y +CONFIG_HID_BELKIN=y +CONFIG_HID_BRIGHT=y +CONFIG_HID_CHERRY=y +CONFIG_HID_CHICONY=y +CONFIG_HID_CYPRESS=y +CONFIG_HID_DELL=y +CONFIG_HID_EZKEY=y +CONFIG_HID_GYRATION=y +CONFIG_HID_LOGITECH=y +# CONFIG_LOGITECH_FF is not set +# CONFIG_LOGIRUMBLEPAD2_FF is not set +CONFIG_HID_MICROSOFT=y +CONFIG_HID_MONTEREY=y +CONFIG_HID_PANTHERLORD=y +# CONFIG_PANTHERLORD_FF is not set +CONFIG_HID_PETALYNX=y +CONFIG_HID_SAMSUNG=y +CONFIG_HID_SONY=y +CONFIG_HID_SUNPLUS=y +# CONFIG_THRUSTMASTER_FF is not set +# CONFIG_ZEROPLUS_FF is not set +CONFIG_USB_SUPPORT=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB_ARCH_HAS_OHCI=y +# CONFIG_USB_ARCH_HAS_EHCI is not set +CONFIG_USB=y +# CONFIG_USB_DEBUG is not set +# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set + +# +# Miscellaneous USB options +# +CONFIG_USB_DEVICEFS=y +CONFIG_USB_DEVICE_CLASS=y +# CONFIG_USB_DYNAMIC_MINORS is not set +# CONFIG_USB_OTG is not set +# CONFIG_USB_MON is not set +# CONFIG_USB_WUSB is not set +# CONFIG_USB_WUSB_CBAF is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +CONFIG_USB_OHCI_HCD=y +# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_HWA_HCD is not set +# CONFIG_USB_MUSB_HDRC is not set +# CONFIG_USB_GADGET_MUSB_HDRC is not set + +# +# USB Device Class drivers +# +# CONFIG_USB_ACM is not set +# CONFIG_USB_PRINTER is not set +# CONFIG_USB_WDM is not set +# CONFIG_USB_TMC is not set + +# +# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; +# + +# +# see USB_STORAGE Help for more information +# +CONFIG_USB_STORAGE=y +# CONFIG_USB_STORAGE_DEBUG is not set +# CONFIG_USB_STORAGE_DATAFAB is not set +# CONFIG_USB_STORAGE_FREECOM is not set +# CONFIG_USB_STORAGE_ISD200 is not set +# CONFIG_USB_STORAGE_DPCM is not set +# CONFIG_USB_STORAGE_USBAT is not set +# CONFIG_USB_STORAGE_SDDR09 is not set +# CONFIG_USB_STORAGE_SDDR55 is not set +# CONFIG_USB_STORAGE_JUMPSHOT is not set +# CONFIG_USB_STORAGE_ALAUDA is not set +# CONFIG_USB_STORAGE_ONETOUCH is not set +# CONFIG_USB_STORAGE_KARMA is not set +# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set +# CONFIG_USB_LIBUSUAL is not set + +# +# USB Imaging devices +# +# CONFIG_USB_MDC800 is not set +# CONFIG_USB_MICROTEK is not set + +# +# USB port drivers +# +# CONFIG_USB_SERIAL is not set + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_ADUTUX is not set +# CONFIG_USB_SEVSEG is not set +# CONFIG_USB_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_BERRY_CHARGE is not set +# CONFIG_USB_LED is not set +# CONFIG_USB_CYPRESS_CY7C63 is not set +# CONFIG_USB_CYTHERM is not set +# CONFIG_USB_PHIDGET is not set +# CONFIG_USB_IDMOUSE is not set +# CONFIG_USB_FTDI_ELAN is not set +# CONFIG_USB_APPLEDISPLAY is not set +# CONFIG_USB_LD is not set +# CONFIG_USB_TRANCEVIBRATOR is not set +# CONFIG_USB_IOWARRIOR is not set +# CONFIG_USB_TEST is not set +# CONFIG_USB_ISIGHTFW is not set +# CONFIG_USB_VST is not set +CONFIG_USB_GADGET=y +# CONFIG_USB_GADGET_DEBUG is not set +# CONFIG_USB_GADGET_DEBUG_FILES is not set +CONFIG_USB_GADGET_VBUS_DRAW=2 +CONFIG_USB_GADGET_SELECTED=y +# CONFIG_USB_GADGET_AT91 is not set +# CONFIG_USB_GADGET_ATMEL_USBA is not set +# CONFIG_USB_GADGET_FSL_USB2 is not set +# CONFIG_USB_GADGET_LH7A40X is not set +# CONFIG_USB_GADGET_OMAP is not set +# CONFIG_USB_GADGET_PXA25X is not set +# CONFIG_USB_GADGET_PXA27X is not set +# CONFIG_USB_GADGET_S3C2410 is not set +CONFIG_USB_GADGET_S3C_OTGD=y +# CONFIG_USB_GADGET_M66592 is not set +# CONFIG_USB_GADGET_AMD5536UDC is not set +# CONFIG_USB_GADGET_FSL_QE is not set +# CONFIG_USB_GADGET_NET2280 is not set +# CONFIG_USB_GADGET_GOKU is not set +# CONFIG_USB_GADGET_DUMMY_HCD is not set + +# +# NOTE: S3C OTG device role enables the controller driver below +# +CONFIG_USB_S3C_OTGD=y +CONFIG_USB_GADGET_S3C_OTGD_DMA_MODE=y +# CONFIG_USB_GADGET_S3C_OTGD_SLAVE_MODE is not set +CONFIG_USB_GADGET_DUALSPEED=y +# CONFIG_USB_ZERO is not set +CONFIG_USB_ETH=m +# CONFIG_USB_ETH_RNDIS is not set +# CONFIG_USB_GADGETFS is not set +CONFIG_USB_FILE_STORAGE=m +# CONFIG_USB_FILE_STORAGE_TEST is not set +CONFIG_USB_G_SERIAL=m +# CONFIG_USB_MIDI_GADGET is not set +# CONFIG_USB_G_PRINTER is not set +# CONFIG_USB_CDC_COMPOSITE is not set +CONFIG_MMC=y +# CONFIG_MMC_DEBUG is not set +# CONFIG_MMC_UNSAFE_RESUME is not set + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_BOUNCE=y +# CONFIG_SDIO_UART is not set +# CONFIG_MMC_TEST is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_S3C=y +# CONFIG_MMC_SDHCI_SCATTERGATHER is not set +# CONFIG_MMC_SPI is not set +# CONFIG_MEMSTICK is not set +# CONFIG_ACCESSIBILITY is not set +# CONFIG_NEW_LEDS is not set +CONFIG_RTC_LIB=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +# CONFIG_RTC_DEBUG is not set + +# +# RTC interfaces +# +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_DEV=y +# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set +# CONFIG_RTC_DRV_TEST is not set + +# +# I2C RTC drivers +# +# CONFIG_RTC_DRV_DS1307 is not set +# CONFIG_RTC_DRV_DS1374 is not set +# CONFIG_RTC_DRV_DS1672 is not set +# CONFIG_RTC_DRV_MAX6900 is not set +# CONFIG_RTC_DRV_RS5C372 is not set +# CONFIG_RTC_DRV_ISL1208 is not set +# CONFIG_RTC_DRV_X1205 is not set +# CONFIG_RTC_DRV_PCF8563 is not set +# CONFIG_RTC_DRV_PCF8583 is not set +# CONFIG_RTC_DRV_M41T80 is not set +# CONFIG_RTC_DRV_S35390A is not set +# CONFIG_RTC_DRV_FM3130 is not set +# CONFIG_RTC_DRV_RX8581 is not set + +# +# SPI RTC drivers +# +# CONFIG_RTC_DRV_M41T94 is not set +# CONFIG_RTC_DRV_DS1305 is not set +# CONFIG_RTC_DRV_DS1390 is not set +# CONFIG_RTC_DRV_MAX6902 is not set +# CONFIG_RTC_DRV_R9701 is not set +# CONFIG_RTC_DRV_RS5C348 is not set +# CONFIG_RTC_DRV_DS3234 is not set + +# +# Platform RTC drivers +# +# CONFIG_RTC_DRV_CMOS is not set +# CONFIG_RTC_DRV_DS1286 is not set +# CONFIG_RTC_DRV_DS1511 is not set +# CONFIG_RTC_DRV_DS1553 is not set +# CONFIG_RTC_DRV_DS1742 is not set +# CONFIG_RTC_DRV_STK17TA8 is not set +# CONFIG_RTC_DRV_M48T86 is not set +# CONFIG_RTC_DRV_M48T35 is not set +# CONFIG_RTC_DRV_M48T59 is not set +# CONFIG_RTC_DRV_BQ4802 is not set +# CONFIG_RTC_DRV_V3020 is not set + +# +# on-CPU RTC drivers +# +CONFIG_RTC_DRV_S3C=y +# CONFIG_DMADEVICES is not set +# CONFIG_REGULATOR is not set +# CONFIG_UIO is not set + +# +# File systems +# +CONFIG_EXT2_FS=y +# CONFIG_EXT2_FS_XATTR is not set +# CONFIG_EXT2_FS_XIP is not set +CONFIG_EXT3_FS=y +CONFIG_EXT3_FS_XATTR=y +CONFIG_EXT3_FS_POSIX_ACL=y +CONFIG_EXT3_FS_SECURITY=y +# CONFIG_EXT4_FS is not set +CONFIG_JBD=y +CONFIG_FS_MBCACHE=y +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +CONFIG_FS_POSIX_ACL=y +CONFIG_FILE_LOCKING=y +# CONFIG_XFS_FS is not set +# CONFIG_GFS2_FS is not set +# CONFIG_OCFS2_FS is not set +CONFIG_DNOTIFY=y +CONFIG_INOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_QUOTA is not set +# CONFIG_AUTOFS_FS is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_FUSE_FS is not set +CONFIG_GENERIC_ACL=y + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_SYSCTL=y +CONFIG_PROC_PAGE_MONITOR=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +# CONFIG_HUGETLB_PAGE is not set +# CONFIG_CONFIGFS_FS is not set + +# +# Miscellaneous filesystems +# +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +# CONFIG_YAFFS_FS is not set +CONFIG_JFFS2_FS=y +CONFIG_JFFS2_FS_DEBUG=0 +CONFIG_JFFS2_FS_WRITEBUFFER=y +# CONFIG_JFFS2_FS_WBUF_VERIFY is not set +# CONFIG_JFFS2_SUMMARY is not set +# CONFIG_JFFS2_FS_XATTR is not set +# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set +CONFIG_JFFS2_ZLIB=y +# CONFIG_JFFS2_LZO is not set +CONFIG_JFFS2_RTIME=y +# CONFIG_JFFS2_RUBIN is not set +CONFIG_CRAMFS=y +# CONFIG_VXFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +CONFIG_ROMFS_FS=y +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V3=y +CONFIG_NFS_V3_ACL=y +# CONFIG_NFS_V4 is not set +CONFIG_ROOT_NFS=y +# CONFIG_NFSD is not set +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_ACL_SUPPORT=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +# CONFIG_SUNRPC_REGISTER_V4 is not set +# CONFIG_RPCSEC_GSS_KRB5 is not set +# CONFIG_RPCSEC_GSS_SPKM3 is not set +# CONFIG_SMB_FS is not set +# CONFIG_CIFS is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set +CONFIG_MSDOS_PARTITION=y +CONFIG_BSD_DISKLABEL=y +# CONFIG_MINIX_SUBPARTITION is not set +CONFIG_SOLARIS_X86_PARTITION=y +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +# CONFIG_EFI_PARTITION is not set +# CONFIG_SYSV68_PARTITION is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +# CONFIG_NLS_CODEPAGE_737 is not set +# CONFIG_NLS_CODEPAGE_775 is not set +# CONFIG_NLS_CODEPAGE_850 is not set +# CONFIG_NLS_CODEPAGE_852 is not set +# CONFIG_NLS_CODEPAGE_855 is not set +# CONFIG_NLS_CODEPAGE_857 is not set +# CONFIG_NLS_CODEPAGE_860 is not set +# CONFIG_NLS_CODEPAGE_861 is not set +# CONFIG_NLS_CODEPAGE_862 is not set +# CONFIG_NLS_CODEPAGE_863 is not set +# CONFIG_NLS_CODEPAGE_864 is not set +# CONFIG_NLS_CODEPAGE_865 is not set +# CONFIG_NLS_CODEPAGE_866 is not set +# CONFIG_NLS_CODEPAGE_869 is not set +# CONFIG_NLS_CODEPAGE_936 is not set +# CONFIG_NLS_CODEPAGE_950 is not set +# CONFIG_NLS_CODEPAGE_932 is not set +# CONFIG_NLS_CODEPAGE_949 is not set +# CONFIG_NLS_CODEPAGE_874 is not set +# CONFIG_NLS_ISO8859_8 is not set +# CONFIG_NLS_CODEPAGE_1250 is not set +# CONFIG_NLS_CODEPAGE_1251 is not set +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +# CONFIG_NLS_ISO8859_2 is not set +# CONFIG_NLS_ISO8859_3 is not set +# CONFIG_NLS_ISO8859_4 is not set +# CONFIG_NLS_ISO8859_5 is not set +# CONFIG_NLS_ISO8859_6 is not set +# CONFIG_NLS_ISO8859_7 is not set +# CONFIG_NLS_ISO8859_9 is not set +# CONFIG_NLS_ISO8859_13 is not set +# CONFIG_NLS_ISO8859_14 is not set +# CONFIG_NLS_ISO8859_15 is not set +# CONFIG_NLS_KOI8_R is not set +# CONFIG_NLS_KOI8_U is not set +# CONFIG_NLS_UTF8 is not set +# CONFIG_DLM is not set + +# +# Kernel hacking +# +# CONFIG_PRINTK_TIME is not set +CONFIG_ENABLE_WARN_DEPRECATED=y +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=1024 +CONFIG_MAGIC_SYSRQ=y +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_DEBUG_FS is not set +# CONFIG_HEADERS_CHECK is not set +CONFIG_DEBUG_KERNEL=y +# CONFIG_DEBUG_SHIRQ is not set +CONFIG_DETECT_SOFTLOCKUP=y +# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 +CONFIG_SCHED_DEBUG=y +# CONFIG_SCHEDSTATS is not set +# CONFIG_TIMER_STATS is not set +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +CONFIG_DEBUG_RT_MUTEXES=y +CONFIG_DEBUG_PI_LIST=y +# CONFIG_RT_MUTEX_TESTER is not set +CONFIG_DEBUG_SPINLOCK=y +CONFIG_DEBUG_MUTEXES=y +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_PROVE_LOCKING is not set +# CONFIG_LOCK_STAT is not set +CONFIG_DEBUG_SPINLOCK_SLEEP=y +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_DEBUG_KOBJECT is not set +CONFIG_DEBUG_BUGVERBOSE=y +CONFIG_DEBUG_INFO=y +# CONFIG_DEBUG_VM is not set +# CONFIG_DEBUG_WRITECOUNT is not set +CONFIG_DEBUG_MEMORY_INIT=y +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_SG is not set +CONFIG_FRAME_POINTER=y +# CONFIG_BOOT_PRINTK_DELAY is not set +# CONFIG_RCU_TORTURE_TEST is not set +# CONFIG_RCU_CPU_STALL_DETECTOR is not set +# CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_FAULT_INJECTION is not set +# CONFIG_LATENCYTOP is not set +CONFIG_SYSCTL_SYSCALL_CHECK=y +CONFIG_HAVE_FUNCTION_TRACER=y + +# +# Tracers +# +# CONFIG_FUNCTION_TRACER is not set +# CONFIG_SCHED_TRACER is not set +# CONFIG_CONTEXT_SWITCH_TRACER is not set +# CONFIG_BOOT_TRACER is not set +# CONFIG_STACK_TRACER is not set +# CONFIG_DYNAMIC_PRINTK_DEBUG is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_KGDB is not set +CONFIG_DEBUG_USER=y +CONFIG_DEBUG_ERRORS=y +# CONFIG_DEBUG_STACK_USAGE is not set +CONFIG_DEBUG_LL=y +# CONFIG_DEBUG_ICEDCC is not set +# CONFIG_DEBUG_S3C_PORT is not set +CONFIG_DEBUG_S3C_UART=0 + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY is not set +# CONFIG_SECURITYFS is not set +# CONFIG_SECURITY_FILE_CAPABILITIES is not set +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +# CONFIG_CRYPTO_FIPS is not set +# CONFIG_CRYPTO_MANAGER is not set +# CONFIG_CRYPTO_MANAGER2 is not set +# CONFIG_CRYPTO_GF128MUL is not set +# CONFIG_CRYPTO_NULL is not set +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST is not set + +# +# Authenticated Encryption with Associated Data +# +# CONFIG_CRYPTO_CCM is not set +# CONFIG_CRYPTO_GCM is not set +# CONFIG_CRYPTO_SEQIV is not set + +# +# Block modes +# +# CONFIG_CRYPTO_CBC is not set +# CONFIG_CRYPTO_CTR is not set +# CONFIG_CRYPTO_CTS is not set +# CONFIG_CRYPTO_ECB is not set +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set + +# +# Hash modes +# +# CONFIG_CRYPTO_HMAC is not set +# CONFIG_CRYPTO_XCBC is not set + +# +# Digest +# +# CONFIG_CRYPTO_CRC32C is not set +# CONFIG_CRYPTO_MD4 is not set +# CONFIG_CRYPTO_MD5 is not set +# CONFIG_CRYPTO_MICHAEL_MIC is not set +# CONFIG_CRYPTO_RMD128 is not set +# CONFIG_CRYPTO_RMD160 is not set +# CONFIG_CRYPTO_RMD256 is not set +# CONFIG_CRYPTO_RMD320 is not set +# CONFIG_CRYPTO_SHA1 is not set +# CONFIG_CRYPTO_SHA256 is not set +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +# CONFIG_CRYPTO_AES is not set +# CONFIG_CRYPTO_ANUBIS is not set +# CONFIG_CRYPTO_ARC4 is not set +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +# CONFIG_CRYPTO_DES is not set +# CONFIG_CRYPTO_FCRYPT is not set +# CONFIG_CRYPTO_KHAZAD is not set +# CONFIG_CRYPTO_SALSA20 is not set +# CONFIG_CRYPTO_SEED is not set +# CONFIG_CRYPTO_SERPENT is not set +# CONFIG_CRYPTO_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set + +# +# Compression +# +# CONFIG_CRYPTO_DEFLATE is not set +# CONFIG_CRYPTO_LZO is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +CONFIG_CRYPTO_HW=y + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_CRC_CCITT=y +# CONFIG_CRC16 is not set +# CONFIG_CRC_T10DIF is not set +# CONFIG_CRC_ITU_T is not set +CONFIG_CRC32=y +# CONFIG_CRC7 is not set +# CONFIG_LIBCRC32C is not set +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_PLIST=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_DMA=y diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/configs/smdkc100onenand_defconfig linux-2.6.28.6/arch/arm/configs/smdkc100onenand_defconfig --- linux-2.6.28/arch/arm/configs/smdkc100onenand_defconfig 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/configs/smdkc100onenand_defconfig 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,1625 @@ +# +# Automatically generated make config: don't edit +# Linux kernel version: 2.6.28.6 +# Tue Mar 31 13:05:11 2009 +# +CONFIG_ARM=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_GENERIC_GPIO=y +# CONFIG_GENERIC_TIME is not set +# CONFIG_GENERIC_CLOCKEVENTS is not set +CONFIG_MMU=y +CONFIG_NO_IOPORT=y +CONFIG_GENERIC_HARDIRQS=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_RWSEM_GENERIC_SPINLOCK=y +# CONFIG_ARCH_HAS_ILOG2_U32 is not set +# CONFIG_ARCH_HAS_ILOG2_U64 is not set +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_ZONE_DMA=y +CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" + +# +# General setup +# +CONFIG_EXPERIMENTAL=y +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_LOCALVERSION="" +CONFIG_LOCALVERSION_AUTO=y +CONFIG_SWAP=y +# CONFIG_SYSVIPC is not set +# CONFIG_POSIX_MQUEUE is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set +# CONFIG_AUDIT is not set +# CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=17 +# CONFIG_CGROUPS is not set +# CONFIG_GROUP_SCHED is not set +CONFIG_SYSFS_DEPRECATED=y +CONFIG_SYSFS_DEPRECATED_V2=y +# CONFIG_RELAY is not set +CONFIG_NAMESPACES=y +# CONFIG_UTS_NS is not set +# CONFIG_USER_NS is not set +# CONFIG_PID_NS is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL=y +# CONFIG_EMBEDDED is not set +CONFIG_UID16=y +CONFIG_SYSCTL_SYSCALL=y +CONFIG_KALLSYMS=y +CONFIG_KALLSYMS_ALL=y +# CONFIG_KALLSYMS_EXTRA_PASS is not set +CONFIG_HOTPLUG=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_COMPAT_BRK=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_ANON_INODES=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_SLUB_DEBUG=y +# CONFIG_SLAB is not set +CONFIG_SLUB=y +# CONFIG_SLOB is not set +# CONFIG_PROFILING is not set +# CONFIG_MARKERS is not set +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +CONFIG_HAVE_KPROBES=y +CONFIG_HAVE_KRETPROBES=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +# CONFIG_TINY_SHMEM is not set +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODULE_FORCE_UNLOAD is not set +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +CONFIG_KMOD=y +CONFIG_BLOCK=y +CONFIG_LBD=y +# CONFIG_BLK_DEV_IO_TRACE is not set +CONFIG_LSF=y +# CONFIG_BLK_DEV_BSG is not set +# CONFIG_BLK_DEV_INTEGRITY is not set + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_AS=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +# CONFIG_DEFAULT_AS is not set +# CONFIG_DEFAULT_DEADLINE is not set +CONFIG_DEFAULT_CFQ=y +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="cfq" +CONFIG_CLASSIC_RCU=y +# CONFIG_FREEZER is not set + +# +# System Type +# +# CONFIG_ARCH_AAEC2000 is not set +# CONFIG_ARCH_INTEGRATOR is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_AT91 is not set +# CONFIG_ARCH_CLPS7500 is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_H720X is not set +# CONFIG_ARCH_IMX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP23XX is not set +# CONFIG_ARCH_IXP2000 is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_L7200 is not set +# CONFIG_ARCH_KIRKWOOD is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_NS9XXX is not set +# CONFIG_ARCH_LOKI is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_MXC is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_PNX4008 is not set +# CONFIG_ARCH_PXA is not set +# CONFIG_ARCH_RPC is not set +# CONFIG_ARCH_SA1100 is not set +# CONFIG_ARCH_S3C2410 is not set +# CONFIG_ARCH_S3C64XX is not set +# CONFIG_ARCH_S5P64XX is not set +CONFIG_ARCH_S5PC1XX=y +# CONFIG_ARCH_SHARK is not set +# CONFIG_ARCH_LH7A40X is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP is not set +# CONFIG_ARCH_MSM is not set +CONFIG_S3C64XX_SETUP_I2C1=y +CONFIG_PLAT_S5PC1XX=y +CONFIG_CPU_S5PC100_INIT=y +CONFIG_CPU_S5PC100_CLOCK=y +CONFIG_S5PC1XX_SETUP_I2C0=y +CONFIG_S5PC1XX_SETUP_I2C1=y +CONFIG_S5PC1XX_ADC=y +CONFIG_S5PC1XX_PWM=y +CONFIG_S5PC1XX_DEV_FIMC0=y +CONFIG_S5PC1XX_DEV_FIMC1=y +CONFIG_S5PC1XX_DEV_FIMC2=y +CONFIG_S5PC1XX_SETUP_FIMC0=y +CONFIG_S5PC1XX_SETUP_FIMC1=y +CONFIG_S5PC1XX_SETUP_FIMC2=y +CONFIG_PLAT_S3C=y + +# +# Boot options +# +# CONFIG_S3C_BOOT_WATCHDOG is not set +# CONFIG_S3C_BOOT_ERROR_RESET is not set + +# +# Power management +# +CONFIG_S3C_LOWLEVEL_UART_PORT=0 +CONFIG_SPLIT_ROOT_FILESYSTEM=y +CONFIG_S3C_GPIO_SPACE=0 +CONFIG_S3C_GPIO_TRACK=y +CONFIG_S3C_GPIO_PULL_UPDOWN=y +CONFIG_S3C_GPIO_CFG_S5PC1XX=y +CONFIG_S3C_DEV_HSMMC=y +CONFIG_S3C_DEV_HSMMC1=y +CONFIG_S3C_DEV_I2C1=y +CONFIG_S3C_DMA_PL330=y +CONFIG_CPU_S5PC100=y +CONFIG_S5PC1XX_SETUP_SDHCI=y +CONFIG_MACH_SMDKC100=y + +# +# Processor Type +# +CONFIG_CPU_32=y +CONFIG_CPU_32v6K=y +CONFIG_CPU_V7=y +CONFIG_CPU_32v7=y +CONFIG_CPU_ABRT_EV7=y +CONFIG_CPU_PABRT_IFAR=y +CONFIG_CPU_CACHE_V7=y +CONFIG_CPU_CACHE_VIPT=y +CONFIG_CPU_COPY_V6=y +CONFIG_CPU_TLB_V7=y +CONFIG_CPU_HAS_ASID=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y + +# +# Processor Features +# +CONFIG_ARM_THUMB=y +# CONFIG_ARM_THUMBEE is not set +# CONFIG_CPU_ICACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_DISABLE is not set +# CONFIG_CPU_BPREDICT_DISABLE is not set +CONFIG_HAS_TLS_REG=y +# CONFIG_OUTER_CACHE is not set +CONFIG_ARM_VIC=y +CONFIG_DMABOUNCE=y + +# +# Bus support +# +# CONFIG_PCI_SYSCALL is not set +# CONFIG_ARCH_SUPPORTS_MSI is not set +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_VMSPLIT_3G=y +# CONFIG_VMSPLIT_2G is not set +# CONFIG_VMSPLIT_1G is not set +CONFIG_PAGE_OFFSET=0xC0000000 +# CONFIG_PREEMPT is not set +CONFIG_HZ=200 +CONFIG_AEABI=y +CONFIG_OABI_COMPAT=y +CONFIG_ARCH_FLATMEM_HAS_HOLES=y +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_FLATMEM_MANUAL=y +# CONFIG_DISCONTIGMEM_MANUAL is not set +# CONFIG_SPARSEMEM_MANUAL is not set +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_PAGEFLAGS_EXTENDED=y +CONFIG_SPLIT_PTLOCK_CPUS=4 +# CONFIG_RESOURCES_64BIT is not set +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=1 +CONFIG_BOUNCE=y +CONFIG_VIRT_TO_BUS=y +CONFIG_UNEVICTABLE_LRU=y +# CONFIG_LEDS is not set +CONFIG_ALIGNMENT_TRAP=y + +# +# Boot options +# +CONFIG_ZBOOT_ROM_TEXT=0 +CONFIG_ZBOOT_ROM_BSS=0 +CONFIG_CMDLINE="root=/dev/mtdblock2 rootfstype=cramfs init=/linuxrc console=ttySAC0,115200 mem=128M" +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set + +# +# CPU Power Management +# +# CONFIG_CPU_FREQ is not set +# CONFIG_CPU_IDLE is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +# CONFIG_FPE_NWFPE is not set +# CONFIG_FPE_FASTFPE is not set +CONFIG_VFP=y +CONFIG_VFPv3=y +# CONFIG_NEON is not set + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_HAVE_AOUT=y +# CONFIG_BINFMT_AOUT is not set +# CONFIG_BINFMT_MISC is not set + +# +# Power management options +# +# CONFIG_PM is not set +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_NET=y + +# +# Networking options +# +# CONFIG_PACKET is not set +CONFIG_UNIX=y +CONFIG_XFRM=y +# CONFIG_XFRM_USER is not set +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_XFRM_STATISTICS is not set +# CONFIG_NET_KEY is not set +CONFIG_INET=y +# CONFIG_IP_MULTICAST is not set +# CONFIG_IP_ADVANCED_ROUTER is not set +CONFIG_IP_FIB_HASH=y +CONFIG_IP_PNP=y +# CONFIG_IP_PNP_DHCP is not set +CONFIG_IP_PNP_BOOTP=y +# CONFIG_IP_PNP_RARP is not set +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE is not set +# CONFIG_ARPD is not set +# CONFIG_SYN_COOKIES is not set +# CONFIG_INET_AH is not set +# CONFIG_INET_ESP is not set +# CONFIG_INET_IPCOMP is not set +# CONFIG_INET_XFRM_TUNNEL is not set +# CONFIG_INET_TUNNEL is not set +CONFIG_INET_XFRM_MODE_TRANSPORT=y +CONFIG_INET_XFRM_MODE_TUNNEL=y +CONFIG_INET_XFRM_MODE_BEET=y +# CONFIG_INET_LRO is not set +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +# CONFIG_IPV6 is not set +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NETFILTER is not set +# CONFIG_IP_DCCP is not set +# CONFIG_IP_SCTP is not set +# CONFIG_TIPC is not set +# CONFIG_ATM is not set +# CONFIG_BRIDGE is not set +# CONFIG_NET_DSA is not set +# CONFIG_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_ECONET is not set +# CONFIG_WAN_ROUTER is not set +# CONFIG_NET_SCHED is not set + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +# CONFIG_BT is not set +# CONFIG_AF_RXRPC is not set +# CONFIG_PHONET is not set +# CONFIG_WIRELESS is not set +# CONFIG_RFKILL is not set +# CONFIG_NET_9P is not set + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_CONNECTOR is not set +CONFIG_MTD=y +# CONFIG_MTD_DEBUG is not set +CONFIG_MTD_CONCAT=y +CONFIG_MTD_PARTITIONS=y +CONFIG_MTD_REDBOOT_PARTS=y +CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 +CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED=y +# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set +# CONFIG_MTD_AR7_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_CHAR=y +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_MTD_OOPS is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_DATAFLASH is not set +# CONFIG_MTD_M25P80 is not set +# CONFIG_MTD_SLRAM is not set +# CONFIG_MTD_PHRAM is not set +# CONFIG_MTD_MTDRAM is not set +# CONFIG_MTD_BLOCK2MTD is not set + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOC2000 is not set +# CONFIG_MTD_DOC2001 is not set +# CONFIG_MTD_DOC2001PLUS is not set +# CONFIG_MTD_NAND is not set +CONFIG_MTD_ONENAND=y +CONFIG_MTD_ONENAND_VERIFY_WRITE=y +CONFIG_MTD_ONENAND_GENERIC=y +# CONFIG_MTD_ONENAND_OTP is not set +# CONFIG_MTD_ONENAND_2X_PROGRAM is not set +# CONFIG_MTD_ONENAND_SIM is not set + +# +# UBI - Unsorted block images +# +# CONFIG_MTD_UBI is not set +# CONFIG_PARPORT is not set +CONFIG_BLK_DEV=y +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +# CONFIG_BLK_DEV_NBD is not set +# CONFIG_BLK_DEV_UB is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=8192 +# CONFIG_BLK_DEV_XIP is not set +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +CONFIG_MISC_DEVICES=y +# CONFIG_EEPROM_93CX6 is not set +# CONFIG_ICS932S401 is not set +# CONFIG_ENCLOSURE_SERVICES is not set +# CONFIG_C2PORT is not set +CONFIG_HAVE_IDE=y +# CONFIG_IDE is not set + +# +# SCSI device support +# +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_TGT is not set +# CONFIG_SCSI_NETLINK is not set +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +CONFIG_CHR_DEV_SG=y +# CONFIG_CHR_DEV_SCH is not set + +# +# Some SCSI devices (e.g. CD jukebox) support multiple LUNs +# +# CONFIG_SCSI_MULTI_LUN is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set +CONFIG_SCSI_WAIT_SCAN=m + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_DH is not set +# CONFIG_ATA is not set +# CONFIG_MD is not set +CONFIG_NETDEVICES=y +# CONFIG_DUMMY is not set +# CONFIG_BONDING is not set +# CONFIG_MACVLAN is not set +# CONFIG_EQUALIZER is not set +# CONFIG_TUN is not set +# CONFIG_VETH is not set +# CONFIG_NET_ETHERNET is not set +# CONFIG_NETDEV_1000 is not set +# CONFIG_NETDEV_10000 is not set + +# +# Wireless LAN +# +# CONFIG_WLAN_PRE80211 is not set +# CONFIG_WLAN_80211 is not set +# CONFIG_IWLWIFI_LEDS is not set + +# +# USB Network Adapters +# +# CONFIG_USB_CATC is not set +# CONFIG_USB_KAWETH is not set +# CONFIG_USB_PEGASUS is not set +# CONFIG_USB_RTL8150 is not set +# CONFIG_USB_USBNET is not set +# CONFIG_WAN is not set +CONFIG_PPP=y +CONFIG_PPP_MULTILINK=y +CONFIG_PPP_FILTER=y +CONFIG_PPP_ASYNC=y +CONFIG_PPP_SYNC_TTY=y +# CONFIG_PPP_DEFLATE is not set +# CONFIG_PPP_BSDCOMP is not set +# CONFIG_PPP_MPPE is not set +# CONFIG_PPPOE is not set +# CONFIG_PPPOL2TP is not set +# CONFIG_SLIP is not set +CONFIG_SLHC=y +# CONFIG_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER is not set +# CONFIG_ISDN is not set + +# +# Input device support +# +CONFIG_INPUT=y +# CONFIG_INPUT_FF_MEMLESS is not set +# CONFIG_INPUT_POLLDEV is not set + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +# CONFIG_INPUT_JOYDEV is not set +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_EVBUG is not set + +# +# Input Device Drivers +# +CONFIG_INPUT_KEYBOARD=y +CONFIG_KEYBOARD_ATKBD=y +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_LKKBD is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_STOWAWAY is not set +# CONFIG_KEYBOARD_GPIO is not set +CONFIG_KEYPAD_S3C=y +CONFIG_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=y +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_LIFEBOOK=y +CONFIG_MOUSE_PS2_TRACKPOINT=y +# CONFIG_MOUSE_PS2_ELANTECH is not set +# CONFIG_MOUSE_PS2_TOUCHKIT is not set +# CONFIG_MOUSE_SERIAL is not set +# CONFIG_MOUSE_APPLETOUCH is not set +# CONFIG_MOUSE_BCM5974 is not set +# CONFIG_MOUSE_VSXXXAA is not set +# CONFIG_MOUSE_GPIO is not set +# CONFIG_INPUT_JOYSTICK is not set +# CONFIG_INPUT_TABLET is not set +CONFIG_INPUT_TOUCHSCREEN=y +# CONFIG_TOUCHSCREEN_ADS7846 is not set +CONFIG_TOUCHSCREEN_S3C=y +CONFIG_TOUCHSCREEN_NEW=y +# CONFIG_TOUCHSCREEN_FUJITSU is not set +# CONFIG_TOUCHSCREEN_GUNZE is not set +# CONFIG_TOUCHSCREEN_ELO is not set +# CONFIG_TOUCHSCREEN_MTOUCH is not set +# CONFIG_TOUCHSCREEN_INEXIO is not set +# CONFIG_TOUCHSCREEN_MK712 is not set +# CONFIG_TOUCHSCREEN_PENMOUNT is not set +# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set +# CONFIG_TOUCHSCREEN_TOUCHWIN is not set +# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set +# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set +# CONFIG_INPUT_MISC is not set + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_SERPORT=y +CONFIG_SERIO_LIBPS2=y +# CONFIG_SERIO_RAW is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_VT_CONSOLE=y +CONFIG_HW_CONSOLE=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +CONFIG_DEVKMEM=y +# CONFIG_SERIAL_NONSTANDARD is not set + +# +# Serial drivers +# +CONFIG_SERIAL_8250=y +# CONFIG_SERIAL_8250_CONSOLE is not set +CONFIG_SERIAL_8250_NR_UARTS=4 +CONFIG_SERIAL_8250_RUNTIME_UARTS=4 +# CONFIG_SERIAL_8250_EXTENDED is not set + +# +# Non-8250 serial port support +# +CONFIG_SERIAL_SAMSUNG=y +CONFIG_SERIAL_SAMSUNG_UARTS=4 +# CONFIG_SERIAL_SAMSUNG_DEBUG is not set +CONFIG_SERIAL_SAMSUNG_CONSOLE=y +CONFIG_SERIAL_S5PC100=y +# CONFIG_SERIAL_S5PC1XX_HSUART is not set +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +CONFIG_UNIX98_PTYS=y +CONFIG_LEGACY_PTYS=y +CONFIG_LEGACY_PTY_COUNT=256 +# CONFIG_IPMI_HANDLER is not set +CONFIG_HW_RANDOM=y +# CONFIG_NVRAM is not set +# CONFIG_R3964 is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +CONFIG_S3C_MEM=y +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_CHARDEV=y +# CONFIG_I2C_HELPER_AUTO is not set + +# +# I2C Algorithms +# +# CONFIG_I2C_ALGOBIT is not set +# CONFIG_I2C_ALGOPCF is not set +# CONFIG_I2C_ALGOPCA is not set + +# +# I2C Hardware Bus support +# + +# +# I2C system bus drivers (mostly embedded / system-on-chip) +# +# CONFIG_I2C_GPIO is not set +# CONFIG_I2C_OCORES is not set +CONFIG_I2C_S3C2410=y +# CONFIG_I2C_SIMTEC is not set + +# +# External I2C/SMBus adapter drivers +# +# CONFIG_I2C_PARPORT_LIGHT is not set +# CONFIG_I2C_TAOS_EVM is not set +# CONFIG_I2C_TINY_USB is not set + +# +# Other I2C/SMBus bus drivers +# +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_STUB is not set + +# +# Miscellaneous I2C Chip support +# +# CONFIG_DS1682 is not set +# CONFIG_AT24 is not set +# CONFIG_SENSORS_EEPROM is not set +# CONFIG_SENSORS_PCF8574 is not set +# CONFIG_PCF8575 is not set +# CONFIG_SENSORS_PCA9539 is not set +# CONFIG_SENSORS_PCF8591 is not set +# CONFIG_TPS65010 is not set +# CONFIG_SENSORS_MAX6875 is not set +# CONFIG_SENSORS_TSL2550 is not set +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +# CONFIG_I2C_DEBUG_CHIP is not set +CONFIG_SPI=y +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +# CONFIG_SPI_BITBANG is not set +CONFIG_HS_SPI_S5PC100=y +CONFIG_HSPICLK_PCLK=y +# CONFIG_HSPICLK_SCLK_48M is not set +# CONFIG_WORD_TRANSIZE is not set + +# +# SPI Protocol Masters +# +# CONFIG_SPI_AT25 is not set +# CONFIG_SPI_SPIDEV is not set +# CONFIG_SPI_TLE62X0 is not set +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_GPIOLIB=y +# CONFIG_DEBUG_GPIO is not set +# CONFIG_GPIO_SYSFS is not set + +# +# Memory mapped GPIO expanders: +# + +# +# I2C GPIO expanders: +# +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set + +# +# PCI GPIO expanders: +# + +# +# SPI GPIO expanders: +# +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MCP23S08 is not set +# CONFIG_W1 is not set +# CONFIG_POWER_SUPPLY is not set +CONFIG_HWMON=y +# CONFIG_HWMON_VID is not set +# CONFIG_SENSORS_AD7414 is not set +# CONFIG_SENSORS_AD7418 is not set +# CONFIG_SENSORS_ADCXX is not set +# CONFIG_SENSORS_ADM1021 is not set +# CONFIG_SENSORS_ADM1025 is not set +# CONFIG_SENSORS_ADM1026 is not set +# CONFIG_SENSORS_ADM1029 is not set +# CONFIG_SENSORS_ADM1031 is not set +# CONFIG_SENSORS_ADM9240 is not set +# CONFIG_SENSORS_ADT7462 is not set +# CONFIG_SENSORS_ADT7470 is not set +# CONFIG_SENSORS_ADT7473 is not set +# CONFIG_SENSORS_ATXP1 is not set +# CONFIG_SENSORS_DS1621 is not set +# CONFIG_SENSORS_F71805F is not set +# CONFIG_SENSORS_F71882FG is not set +# CONFIG_SENSORS_F75375S is not set +# CONFIG_SENSORS_GL518SM is not set +# CONFIG_SENSORS_GL520SM is not set +# CONFIG_SENSORS_IT87 is not set +# CONFIG_SENSORS_LM63 is not set +# CONFIG_SENSORS_LM70 is not set +# CONFIG_SENSORS_LM75 is not set +# CONFIG_SENSORS_LM77 is not set +# CONFIG_SENSORS_LM78 is not set +# CONFIG_SENSORS_LM80 is not set +# CONFIG_SENSORS_LM83 is not set +# CONFIG_SENSORS_LM85 is not set +# CONFIG_SENSORS_LM87 is not set +# CONFIG_SENSORS_LM90 is not set +# CONFIG_SENSORS_LM92 is not set +# CONFIG_SENSORS_LM93 is not set +# CONFIG_SENSORS_MAX1111 is not set +# CONFIG_SENSORS_MAX1619 is not set +# CONFIG_SENSORS_MAX6650 is not set +# CONFIG_SENSORS_PC87360 is not set +# CONFIG_SENSORS_PC87427 is not set +# CONFIG_SENSORS_DME1737 is not set +# CONFIG_SENSORS_SMSC47M1 is not set +# CONFIG_SENSORS_SMSC47M192 is not set +# CONFIG_SENSORS_SMSC47B397 is not set +# CONFIG_SENSORS_ADS7828 is not set +# CONFIG_SENSORS_THMC50 is not set +# CONFIG_SENSORS_VT1211 is not set +# CONFIG_SENSORS_W83781D is not set +# CONFIG_SENSORS_W83791D is not set +# CONFIG_SENSORS_W83792D is not set +# CONFIG_SENSORS_W83793 is not set +# CONFIG_SENSORS_W83L785TS is not set +# CONFIG_SENSORS_W83L786NG is not set +# CONFIG_SENSORS_W83627HF is not set +# CONFIG_SENSORS_W83627EHF is not set +# CONFIG_HWMON_DEBUG_CHIP is not set +# CONFIG_THERMAL is not set +# CONFIG_THERMAL_HWMON is not set +CONFIG_WATCHDOG=y +# CONFIG_WATCHDOG_NOWAYOUT is not set + +# +# Watchdog Device Drivers +# +# CONFIG_SOFT_WATCHDOG is not set +CONFIG_S3C2410_WATCHDOG=y + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +# CONFIG_SSB is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_ASIC3 is not set +# CONFIG_HTC_EGPIO is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB is not set +# CONFIG_PMIC_DA903X is not set +# CONFIG_MFD_WM8400 is not set +# CONFIG_MFD_WM8350_I2C is not set + +# +# Multimedia devices +# + +# +# Multimedia core support +# +# CONFIG_VIDEO_DEV is not set +# CONFIG_DVB_CORE is not set +# CONFIG_VIDEO_MEDIA is not set + +# +# Multimedia drivers +# +# CONFIG_DAB is not set + +# +# Graphics support +# +# CONFIG_VGASTATE is not set +# CONFIG_VIDEO_OUTPUT_CONTROL is not set +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_IMAGEBLIT=y +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +# CONFIG_FB_SYS_FILLRECT is not set +# CONFIG_FB_SYS_COPYAREA is not set +# CONFIG_FB_SYS_IMAGEBLIT is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_SYS_FOPS is not set +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +CONFIG_FB_S3C=y +CONFIG_FB_S3C_LTE480WV=y +# CONFIG_FB_S3C_LTV350QV is not set +# CONFIG_FB_S3C_LTS222QV is not set +CONFIG_FB_S3C_BPP=y +# CONFIG_FB_S3C_BPP_8 is not set +CONFIG_FB_S3C_BPP_16=y +# CONFIG_FB_S3C_BPP_24 is not set +# CONFIG_FB_S3C_BPP_28 is not set +# CONFIG_FB_S3C_BPP_32 is not set +CONFIG_FB_S3C_NUM=1 +# CONFIG_FB_S3C_VIRTUAL_SCREEN is not set +# CONFIG_FB_S3C_DOUBLE_BUFFERING is not set +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_VIRTUAL is not set +# CONFIG_FB_METRONOME is not set +# CONFIG_FB_MB862XX is not set +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set + +# +# Display device support +# +# CONFIG_DISPLAY_SUPPORT is not set + +# +# Console display driver support +# +# CONFIG_VGA_CONSOLE is not set +CONFIG_DUMMY_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set +# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set +# CONFIG_FONTS is not set +CONFIG_FONT_8x8=y +CONFIG_FONT_8x16=y +CONFIG_LOGO=y +# CONFIG_LOGO_LINUX_MONO is not set +# CONFIG_LOGO_LINUX_VGA16 is not set +# CONFIG_LOGO_LINUX_CLUT224 is not set +CONFIG_LOGO_LINUX_LANDSCAPED_CLUT224=y +CONFIG_SOUND=y +# CONFIG_SOUND_OSS_CORE is not set +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +# CONFIG_SND_SEQUENCER is not set +# CONFIG_SND_MIXER_OSS is not set +# CONFIG_SND_PCM_OSS is not set +# CONFIG_SND_DYNAMIC_MINORS is not set +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_VERBOSE_PROCFS=y +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set +CONFIG_SND_DRIVERS=y +# CONFIG_SND_DUMMY is not set +# CONFIG_SND_MTPAV is not set +# CONFIG_SND_SERIAL_U16550 is not set +# CONFIG_SND_MPU401 is not set +CONFIG_SND_ARM=y +CONFIG_SND_SPI=y +CONFIG_SND_USB=y +# CONFIG_SND_USB_AUDIO is not set +# CONFIG_SND_USB_CAIAQ is not set +CONFIG_SND_SOC=y + +# +# SoC Audio for the Samsung S3C +# +CONFIG_SND_S5PC1XX_SOC=y +CONFIG_SND_SOC_I2S_V50=y +CONFIG_SND_SMDKC100_WM8580=y +CONFIG_SOUND_S5PC100_WM8580_INPUT_STREAM_LINE=y +# CONFIG_SOUND_S5PC100_WM8580_INPUT_STREAM_MIC is not set +# CONFIG_SND_SMDKC100_WM9713 is not set +# CONFIG_SND_SOC_ALL_CODECS is not set +CONFIG_SND_SOC_WM8580=y +# CONFIG_SOUND_PRIME is not set +CONFIG_HID_SUPPORT=y +CONFIG_HID=y +CONFIG_HID_DEBUG=y +# CONFIG_HIDRAW is not set + +# +# USB Input Devices +# +CONFIG_USB_HID=y +# CONFIG_HID_PID is not set +# CONFIG_USB_HIDDEV is not set + +# +# Special HID drivers +# +# CONFIG_HID_COMPAT is not set +CONFIG_HID_A4TECH=y +CONFIG_HID_APPLE=y +CONFIG_HID_BELKIN=y +CONFIG_HID_BRIGHT=y +CONFIG_HID_CHERRY=y +CONFIG_HID_CHICONY=y +CONFIG_HID_CYPRESS=y +CONFIG_HID_DELL=y +CONFIG_HID_EZKEY=y +CONFIG_HID_GYRATION=y +CONFIG_HID_LOGITECH=y +# CONFIG_LOGITECH_FF is not set +# CONFIG_LOGIRUMBLEPAD2_FF is not set +CONFIG_HID_MICROSOFT=y +CONFIG_HID_MONTEREY=y +CONFIG_HID_PANTHERLORD=y +# CONFIG_PANTHERLORD_FF is not set +CONFIG_HID_PETALYNX=y +CONFIG_HID_SAMSUNG=y +CONFIG_HID_SONY=y +CONFIG_HID_SUNPLUS=y +# CONFIG_THRUSTMASTER_FF is not set +# CONFIG_ZEROPLUS_FF is not set +CONFIG_USB_SUPPORT=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB_ARCH_HAS_OHCI=y +# CONFIG_USB_ARCH_HAS_EHCI is not set +CONFIG_USB=y +# CONFIG_USB_DEBUG is not set +# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set + +# +# Miscellaneous USB options +# +CONFIG_USB_DEVICEFS=y +CONFIG_USB_DEVICE_CLASS=y +# CONFIG_USB_DYNAMIC_MINORS is not set +# CONFIG_USB_OTG is not set +# CONFIG_USB_MON is not set +# CONFIG_USB_WUSB is not set +# CONFIG_USB_WUSB_CBAF is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +CONFIG_USB_OHCI_HCD=y +# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_HWA_HCD is not set +# CONFIG_USB_S3C_OTG_HOST is not set +# CONFIG_USB_MUSB_HDRC is not set +# CONFIG_USB_GADGET_MUSB_HDRC is not set + +# +# USB Device Class drivers +# +# CONFIG_USB_ACM is not set +# CONFIG_USB_PRINTER is not set +# CONFIG_USB_WDM is not set +# CONFIG_USB_TMC is not set + +# +# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; +# + +# +# see USB_STORAGE Help for more information +# +CONFIG_USB_STORAGE=y +# CONFIG_USB_STORAGE_DEBUG is not set +# CONFIG_USB_STORAGE_DATAFAB is not set +# CONFIG_USB_STORAGE_FREECOM is not set +# CONFIG_USB_STORAGE_ISD200 is not set +# CONFIG_USB_STORAGE_DPCM is not set +# CONFIG_USB_STORAGE_USBAT is not set +# CONFIG_USB_STORAGE_SDDR09 is not set +# CONFIG_USB_STORAGE_SDDR55 is not set +# CONFIG_USB_STORAGE_JUMPSHOT is not set +# CONFIG_USB_STORAGE_ALAUDA is not set +# CONFIG_USB_STORAGE_ONETOUCH is not set +# CONFIG_USB_STORAGE_KARMA is not set +# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set +# CONFIG_USB_LIBUSUAL is not set + +# +# USB Imaging devices +# +# CONFIG_USB_MDC800 is not set +# CONFIG_USB_MICROTEK is not set + +# +# USB port drivers +# +# CONFIG_USB_SERIAL is not set + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_ADUTUX is not set +# CONFIG_USB_SEVSEG is not set +# CONFIG_USB_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_BERRY_CHARGE is not set +# CONFIG_USB_LED is not set +# CONFIG_USB_CYPRESS_CY7C63 is not set +# CONFIG_USB_CYTHERM is not set +# CONFIG_USB_PHIDGET is not set +# CONFIG_USB_IDMOUSE is not set +# CONFIG_USB_FTDI_ELAN is not set +# CONFIG_USB_APPLEDISPLAY is not set +# CONFIG_USB_LD is not set +# CONFIG_USB_TRANCEVIBRATOR is not set +# CONFIG_USB_IOWARRIOR is not set +# CONFIG_USB_TEST is not set +# CONFIG_USB_ISIGHTFW is not set +# CONFIG_USB_VST is not set +# CONFIG_USB_GADGET is not set +# CONFIG_USB_GADGET_AT91 is not set +# CONFIG_USB_GADGET_ATMEL_USBA is not set +# CONFIG_USB_GADGET_FSL_USB2 is not set +# CONFIG_USB_GADGET_LH7A40X is not set +# CONFIG_USB_GADGET_OMAP is not set +# CONFIG_USB_GADGET_PXA25X is not set +# CONFIG_USB_GADGET_PXA27X is not set +# CONFIG_USB_GADGET_S3C2410 is not set +# CONFIG_USB_GADGET_S3C_OTGD is not set +# CONFIG_USB_GADGET_M66592 is not set +# CONFIG_USB_GADGET_AMD5536UDC is not set +# CONFIG_USB_GADGET_FSL_QE is not set +# CONFIG_USB_GADGET_NET2280 is not set +# CONFIG_USB_GADGET_GOKU is not set +# CONFIG_USB_GADGET_DUMMY_HCD is not set +# CONFIG_USB_GADGET_S3C_OTGD_DMA_MODE is not set +# CONFIG_USB_GADGET_S3C_OTGD_SLAVE_MODE is not set +# CONFIG_USB_ZERO is not set +# CONFIG_USB_ETH is not set +# CONFIG_USB_GADGETFS is not set +# CONFIG_USB_FILE_STORAGE is not set +# CONFIG_USB_G_SERIAL is not set +# CONFIG_USB_MIDI_GADGET is not set +# CONFIG_USB_G_PRINTER is not set +# CONFIG_USB_CDC_COMPOSITE is not set +CONFIG_MMC=y +# CONFIG_MMC_DEBUG is not set +# CONFIG_MMC_UNSAFE_RESUME is not set + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_BOUNCE=y +# CONFIG_SDIO_UART is not set +# CONFIG_MMC_TEST is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_S3C=y +# CONFIG_MMC_SDHCI_SCATTERGATHER is not set +# CONFIG_MMC_SPI is not set +# CONFIG_MEMSTICK is not set +# CONFIG_ACCESSIBILITY is not set +# CONFIG_NEW_LEDS is not set +CONFIG_RTC_LIB=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +# CONFIG_RTC_DEBUG is not set + +# +# RTC interfaces +# +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_DEV=y +# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set +# CONFIG_RTC_DRV_TEST is not set + +# +# I2C RTC drivers +# +# CONFIG_RTC_DRV_DS1307 is not set +# CONFIG_RTC_DRV_DS1374 is not set +# CONFIG_RTC_DRV_DS1672 is not set +# CONFIG_RTC_DRV_MAX6900 is not set +# CONFIG_RTC_DRV_RS5C372 is not set +# CONFIG_RTC_DRV_ISL1208 is not set +# CONFIG_RTC_DRV_X1205 is not set +# CONFIG_RTC_DRV_PCF8563 is not set +# CONFIG_RTC_DRV_PCF8583 is not set +# CONFIG_RTC_DRV_M41T80 is not set +# CONFIG_RTC_DRV_S35390A is not set +# CONFIG_RTC_DRV_FM3130 is not set +# CONFIG_RTC_DRV_RX8581 is not set + +# +# SPI RTC drivers +# +# CONFIG_RTC_DRV_M41T94 is not set +# CONFIG_RTC_DRV_DS1305 is not set +# CONFIG_RTC_DRV_DS1390 is not set +# CONFIG_RTC_DRV_MAX6902 is not set +# CONFIG_RTC_DRV_R9701 is not set +# CONFIG_RTC_DRV_RS5C348 is not set +# CONFIG_RTC_DRV_DS3234 is not set + +# +# Platform RTC drivers +# +# CONFIG_RTC_DRV_CMOS is not set +# CONFIG_RTC_DRV_DS1286 is not set +# CONFIG_RTC_DRV_DS1511 is not set +# CONFIG_RTC_DRV_DS1553 is not set +# CONFIG_RTC_DRV_DS1742 is not set +# CONFIG_RTC_DRV_STK17TA8 is not set +# CONFIG_RTC_DRV_M48T86 is not set +# CONFIG_RTC_DRV_M48T35 is not set +# CONFIG_RTC_DRV_M48T59 is not set +# CONFIG_RTC_DRV_BQ4802 is not set +# CONFIG_RTC_DRV_V3020 is not set + +# +# on-CPU RTC drivers +# +CONFIG_RTC_DRV_S3C=y +# CONFIG_DMADEVICES is not set +# CONFIG_REGULATOR is not set +# CONFIG_UIO is not set + +# +# File systems +# +CONFIG_EXT2_FS=y +# CONFIG_EXT2_FS_XATTR is not set +# CONFIG_EXT2_FS_XIP is not set +CONFIG_EXT3_FS=y +CONFIG_EXT3_FS_XATTR=y +CONFIG_EXT3_FS_POSIX_ACL=y +CONFIG_EXT3_FS_SECURITY=y +# CONFIG_EXT4_FS is not set +CONFIG_JBD=y +CONFIG_FS_MBCACHE=y +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +CONFIG_FS_POSIX_ACL=y +CONFIG_FILE_LOCKING=y +# CONFIG_XFS_FS is not set +# CONFIG_GFS2_FS is not set +# CONFIG_OCFS2_FS is not set +CONFIG_DNOTIFY=y +CONFIG_INOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_QUOTA is not set +# CONFIG_AUTOFS_FS is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_FUSE_FS is not set +CONFIG_GENERIC_ACL=y + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_SYSCTL=y +CONFIG_PROC_PAGE_MONITOR=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +# CONFIG_HUGETLB_PAGE is not set +# CONFIG_CONFIGFS_FS is not set + +# +# Miscellaneous filesystems +# +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +# CONFIG_YAFFS_FS is not set +CONFIG_JFFS2_FS=y +CONFIG_JFFS2_FS_DEBUG=0 +CONFIG_JFFS2_FS_WRITEBUFFER=y +# CONFIG_JFFS2_FS_WBUF_VERIFY is not set +# CONFIG_JFFS2_SUMMARY is not set +# CONFIG_JFFS2_FS_XATTR is not set +# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set +CONFIG_JFFS2_ZLIB=y +# CONFIG_JFFS2_LZO is not set +CONFIG_JFFS2_RTIME=y +# CONFIG_JFFS2_RUBIN is not set +CONFIG_CRAMFS=y +# CONFIG_VXFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +CONFIG_ROMFS_FS=y +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V3=y +CONFIG_NFS_V3_ACL=y +# CONFIG_NFS_V4 is not set +# CONFIG_ROOT_NFS is not set +# CONFIG_NFSD is not set +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_ACL_SUPPORT=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +# CONFIG_SUNRPC_REGISTER_V4 is not set +# CONFIG_RPCSEC_GSS_KRB5 is not set +# CONFIG_RPCSEC_GSS_SPKM3 is not set +# CONFIG_SMB_FS is not set +# CONFIG_CIFS is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set +CONFIG_MSDOS_PARTITION=y +CONFIG_BSD_DISKLABEL=y +# CONFIG_MINIX_SUBPARTITION is not set +CONFIG_SOLARIS_X86_PARTITION=y +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +# CONFIG_EFI_PARTITION is not set +# CONFIG_SYSV68_PARTITION is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +# CONFIG_NLS_CODEPAGE_737 is not set +# CONFIG_NLS_CODEPAGE_775 is not set +# CONFIG_NLS_CODEPAGE_850 is not set +# CONFIG_NLS_CODEPAGE_852 is not set +# CONFIG_NLS_CODEPAGE_855 is not set +# CONFIG_NLS_CODEPAGE_857 is not set +# CONFIG_NLS_CODEPAGE_860 is not set +# CONFIG_NLS_CODEPAGE_861 is not set +# CONFIG_NLS_CODEPAGE_862 is not set +# CONFIG_NLS_CODEPAGE_863 is not set +# CONFIG_NLS_CODEPAGE_864 is not set +# CONFIG_NLS_CODEPAGE_865 is not set +# CONFIG_NLS_CODEPAGE_866 is not set +# CONFIG_NLS_CODEPAGE_869 is not set +# CONFIG_NLS_CODEPAGE_936 is not set +# CONFIG_NLS_CODEPAGE_950 is not set +# CONFIG_NLS_CODEPAGE_932 is not set +# CONFIG_NLS_CODEPAGE_949 is not set +# CONFIG_NLS_CODEPAGE_874 is not set +# CONFIG_NLS_ISO8859_8 is not set +# CONFIG_NLS_CODEPAGE_1250 is not set +# CONFIG_NLS_CODEPAGE_1251 is not set +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +# CONFIG_NLS_ISO8859_2 is not set +# CONFIG_NLS_ISO8859_3 is not set +# CONFIG_NLS_ISO8859_4 is not set +# CONFIG_NLS_ISO8859_5 is not set +# CONFIG_NLS_ISO8859_6 is not set +# CONFIG_NLS_ISO8859_7 is not set +# CONFIG_NLS_ISO8859_9 is not set +# CONFIG_NLS_ISO8859_13 is not set +# CONFIG_NLS_ISO8859_14 is not set +# CONFIG_NLS_ISO8859_15 is not set +# CONFIG_NLS_KOI8_R is not set +# CONFIG_NLS_KOI8_U is not set +# CONFIG_NLS_UTF8 is not set +# CONFIG_DLM is not set + +# +# Kernel hacking +# +# CONFIG_PRINTK_TIME is not set +CONFIG_ENABLE_WARN_DEPRECATED=y +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=1024 +CONFIG_MAGIC_SYSRQ=y +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_DEBUG_FS is not set +# CONFIG_HEADERS_CHECK is not set +CONFIG_DEBUG_KERNEL=y +# CONFIG_DEBUG_SHIRQ is not set +CONFIG_DETECT_SOFTLOCKUP=y +# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 +CONFIG_SCHED_DEBUG=y +# CONFIG_SCHEDSTATS is not set +# CONFIG_TIMER_STATS is not set +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +CONFIG_DEBUG_RT_MUTEXES=y +CONFIG_DEBUG_PI_LIST=y +# CONFIG_RT_MUTEX_TESTER is not set +CONFIG_DEBUG_SPINLOCK=y +CONFIG_DEBUG_MUTEXES=y +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_PROVE_LOCKING is not set +# CONFIG_LOCK_STAT is not set +CONFIG_DEBUG_SPINLOCK_SLEEP=y +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_DEBUG_KOBJECT is not set +CONFIG_DEBUG_BUGVERBOSE=y +CONFIG_DEBUG_INFO=y +# CONFIG_DEBUG_VM is not set +# CONFIG_DEBUG_WRITECOUNT is not set +CONFIG_DEBUG_MEMORY_INIT=y +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_SG is not set +CONFIG_FRAME_POINTER=y +# CONFIG_BOOT_PRINTK_DELAY is not set +# CONFIG_RCU_TORTURE_TEST is not set +# CONFIG_RCU_CPU_STALL_DETECTOR is not set +# CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_FAULT_INJECTION is not set +# CONFIG_LATENCYTOP is not set +CONFIG_SYSCTL_SYSCALL_CHECK=y +CONFIG_HAVE_FUNCTION_TRACER=y + +# +# Tracers +# +# CONFIG_FUNCTION_TRACER is not set +# CONFIG_SCHED_TRACER is not set +# CONFIG_CONTEXT_SWITCH_TRACER is not set +# CONFIG_BOOT_TRACER is not set +# CONFIG_STACK_TRACER is not set +# CONFIG_DYNAMIC_PRINTK_DEBUG is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_KGDB is not set +CONFIG_DEBUG_USER=y +CONFIG_DEBUG_ERRORS=y +# CONFIG_DEBUG_STACK_USAGE is not set +CONFIG_DEBUG_LL=y +# CONFIG_DEBUG_ICEDCC is not set +# CONFIG_DEBUG_S3C_PORT is not set +CONFIG_DEBUG_S3C_UART=0 + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY is not set +# CONFIG_SECURITYFS is not set +# CONFIG_SECURITY_FILE_CAPABILITIES is not set +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +# CONFIG_CRYPTO_FIPS is not set +# CONFIG_CRYPTO_MANAGER is not set +# CONFIG_CRYPTO_MANAGER2 is not set +# CONFIG_CRYPTO_GF128MUL is not set +# CONFIG_CRYPTO_NULL is not set +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST is not set + +# +# Authenticated Encryption with Associated Data +# +# CONFIG_CRYPTO_CCM is not set +# CONFIG_CRYPTO_GCM is not set +# CONFIG_CRYPTO_SEQIV is not set + +# +# Block modes +# +# CONFIG_CRYPTO_CBC is not set +# CONFIG_CRYPTO_CTR is not set +# CONFIG_CRYPTO_CTS is not set +# CONFIG_CRYPTO_ECB is not set +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set + +# +# Hash modes +# +# CONFIG_CRYPTO_HMAC is not set +# CONFIG_CRYPTO_XCBC is not set + +# +# Digest +# +# CONFIG_CRYPTO_CRC32C is not set +# CONFIG_CRYPTO_MD4 is not set +# CONFIG_CRYPTO_MD5 is not set +# CONFIG_CRYPTO_MICHAEL_MIC is not set +# CONFIG_CRYPTO_RMD128 is not set +# CONFIG_CRYPTO_RMD160 is not set +# CONFIG_CRYPTO_RMD256 is not set +# CONFIG_CRYPTO_RMD320 is not set +# CONFIG_CRYPTO_SHA1 is not set +# CONFIG_CRYPTO_SHA256 is not set +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +# CONFIG_CRYPTO_AES is not set +# CONFIG_CRYPTO_ANUBIS is not set +# CONFIG_CRYPTO_ARC4 is not set +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +# CONFIG_CRYPTO_DES is not set +# CONFIG_CRYPTO_FCRYPT is not set +# CONFIG_CRYPTO_KHAZAD is not set +# CONFIG_CRYPTO_SALSA20 is not set +# CONFIG_CRYPTO_SEED is not set +# CONFIG_CRYPTO_SERPENT is not set +# CONFIG_CRYPTO_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set + +# +# Compression +# +# CONFIG_CRYPTO_DEFLATE is not set +# CONFIG_CRYPTO_LZO is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +CONFIG_CRYPTO_HW=y + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_CRC_CCITT=y +# CONFIG_CRC16 is not set +# CONFIG_CRC_T10DIF is not set +# CONFIG_CRC_ITU_T is not set +CONFIG_CRC32=y +# CONFIG_CRC7 is not set +# CONFIG_LIBCRC32C is not set +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_PLIST=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_DMA=y diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/configs/smdkc100pm_defconfig linux-2.6.28.6/arch/arm/configs/smdkc100pm_defconfig --- linux-2.6.28/arch/arm/configs/smdkc100pm_defconfig 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/configs/smdkc100pm_defconfig 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,1560 @@ +# +# Automatically generated make config: don't edit +# Linux kernel version: 2.6.28.6 +# Tue Apr 28 11:19:27 2009 +# +CONFIG_ARM=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_GENERIC_GPIO=y +# CONFIG_GENERIC_TIME is not set +# CONFIG_GENERIC_CLOCKEVENTS is not set +CONFIG_MMU=y +CONFIG_NO_IOPORT=y +CONFIG_GENERIC_HARDIRQS=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_RWSEM_GENERIC_SPINLOCK=y +# CONFIG_ARCH_HAS_ILOG2_U32 is not set +# CONFIG_ARCH_HAS_ILOG2_U64 is not set +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_ZONE_DMA=y +CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" + +# +# General setup +# +CONFIG_EXPERIMENTAL=y +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_LOCALVERSION="" +CONFIG_LOCALVERSION_AUTO=y +CONFIG_SWAP=y +# CONFIG_SYSVIPC is not set +# CONFIG_POSIX_MQUEUE is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set +# CONFIG_AUDIT is not set +# CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=17 +# CONFIG_CGROUPS is not set +# CONFIG_GROUP_SCHED is not set +CONFIG_SYSFS_DEPRECATED=y +CONFIG_SYSFS_DEPRECATED_V2=y +# CONFIG_RELAY is not set +CONFIG_NAMESPACES=y +# CONFIG_UTS_NS is not set +# CONFIG_USER_NS is not set +# CONFIG_PID_NS is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL=y +# CONFIG_EMBEDDED is not set +CONFIG_UID16=y +CONFIG_SYSCTL_SYSCALL=y +CONFIG_KALLSYMS=y +CONFIG_KALLSYMS_ALL=y +# CONFIG_KALLSYMS_EXTRA_PASS is not set +CONFIG_HOTPLUG=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_COMPAT_BRK=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_ANON_INODES=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_SLUB_DEBUG=y +# CONFIG_SLAB is not set +CONFIG_SLUB=y +# CONFIG_SLOB is not set +# CONFIG_PROFILING is not set +# CONFIG_MARKERS is not set +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +CONFIG_HAVE_KPROBES=y +CONFIG_HAVE_KRETPROBES=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +# CONFIG_TINY_SHMEM is not set +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODULE_FORCE_UNLOAD is not set +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +CONFIG_KMOD=y +CONFIG_BLOCK=y +CONFIG_LBD=y +# CONFIG_BLK_DEV_IO_TRACE is not set +CONFIG_LSF=y +# CONFIG_BLK_DEV_BSG is not set +# CONFIG_BLK_DEV_INTEGRITY is not set + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_AS=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +# CONFIG_DEFAULT_AS is not set +# CONFIG_DEFAULT_DEADLINE is not set +CONFIG_DEFAULT_CFQ=y +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="cfq" +CONFIG_CLASSIC_RCU=y +CONFIG_FREEZER=y + +# +# System Type +# +# CONFIG_ARCH_AAEC2000 is not set +# CONFIG_ARCH_INTEGRATOR is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_AT91 is not set +# CONFIG_ARCH_CLPS7500 is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_H720X is not set +# CONFIG_ARCH_IMX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP23XX is not set +# CONFIG_ARCH_IXP2000 is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_L7200 is not set +# CONFIG_ARCH_KIRKWOOD is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_NS9XXX is not set +# CONFIG_ARCH_LOKI is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_MXC is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_PNX4008 is not set +# CONFIG_ARCH_PXA is not set +# CONFIG_ARCH_RPC is not set +# CONFIG_ARCH_SA1100 is not set +# CONFIG_ARCH_S3C2410 is not set +# CONFIG_ARCH_S3C64XX is not set +# CONFIG_ARCH_S5P64XX is not set +CONFIG_ARCH_S5PC1XX=y +# CONFIG_ARCH_SHARK is not set +# CONFIG_ARCH_LH7A40X is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP is not set +# CONFIG_ARCH_MSM is not set +CONFIG_S3C64XX_SETUP_I2C1=y +CONFIG_PLAT_S5PC1XX=y +CONFIG_CPU_S5PC100_INIT=y +CONFIG_CPU_S5PC100_CLOCK=y +CONFIG_S5PC1XX_SETUP_I2C0=y +CONFIG_S5PC1XX_SETUP_I2C1=y +CONFIG_S5PC1XX_ADC=y +CONFIG_S5PC1XX_DEV_FIMC0=y +CONFIG_S5PC1XX_DEV_FIMC1=y +CONFIG_S5PC1XX_DEV_FIMC2=y +CONFIG_S5PC1XX_SETUP_FIMC0=y +CONFIG_S5PC1XX_SETUP_FIMC1=y +CONFIG_S5PC1XX_SETUP_FIMC2=y +CONFIG_S5PC1XX_DEV_CSIS=y +CONFIG_S5PC1XX_SETUP_CSIS=y +CONFIG_S5PC1XX_PWM=y +# CONFIG_TIMER_PWM is not set +# CONFIG_NO_PWM is not set +CONFIG_PLAT_S3C=y + +# +# Boot options +# +# CONFIG_S3C_BOOT_WATCHDOG is not set +# CONFIG_S3C_BOOT_ERROR_RESET is not set + +# +# Power management +# +# CONFIG_S3C2410_PM_DEBUG is not set +# CONFIG_S3C2410_PM_CHECK is not set +CONFIG_S3C_LOWLEVEL_UART_PORT=0 +CONFIG_SPLIT_ROOT_FILESYSTEM=y +CONFIG_S3C_GPIO_SPACE=0 +CONFIG_S3C_GPIO_TRACK=y +CONFIG_S3C_GPIO_PULL_UPDOWN=y +CONFIG_S3C_GPIO_CFG_S5PC1XX=y +CONFIG_S3C_DEV_HSMMC=y +CONFIG_S3C_DEV_HSMMC1=y +CONFIG_S3C_DEV_I2C1=y +CONFIG_S3C_DMA_PL330=y +CONFIG_CPU_S5PC100=y +CONFIG_S5PC1XX_SETUP_SDHCI=y +CONFIG_MACH_SMDKC100=y + +# +# Processor Type +# +CONFIG_CPU_32=y +CONFIG_CPU_32v6K=y +CONFIG_CPU_V7=y +CONFIG_CPU_32v7=y +CONFIG_CPU_ABRT_EV7=y +CONFIG_CPU_PABRT_IFAR=y +CONFIG_CPU_CACHE_V7=y +CONFIG_CPU_CACHE_VIPT=y +CONFIG_CPU_COPY_V6=y +CONFIG_CPU_TLB_V7=y +CONFIG_CPU_HAS_ASID=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y + +# +# Processor Features +# +CONFIG_ARM_THUMB=y +# CONFIG_ARM_THUMBEE is not set +# CONFIG_CPU_ICACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_DISABLE is not set +# CONFIG_CPU_BPREDICT_DISABLE is not set +CONFIG_HAS_TLS_REG=y +# CONFIG_OUTER_CACHE is not set +CONFIG_ARM_VIC=y +CONFIG_DMABOUNCE=y + +# +# Bus support +# +# CONFIG_PCI_SYSCALL is not set +# CONFIG_ARCH_SUPPORTS_MSI is not set +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_VMSPLIT_3G=y +# CONFIG_VMSPLIT_2G is not set +# CONFIG_VMSPLIT_1G is not set +CONFIG_PAGE_OFFSET=0xC0000000 +# CONFIG_PREEMPT is not set +CONFIG_HZ=200 +CONFIG_AEABI=y +CONFIG_OABI_COMPAT=y +CONFIG_ARCH_FLATMEM_HAS_HOLES=y +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_FLATMEM_MANUAL=y +# CONFIG_DISCONTIGMEM_MANUAL is not set +# CONFIG_SPARSEMEM_MANUAL is not set +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_PAGEFLAGS_EXTENDED=y +CONFIG_SPLIT_PTLOCK_CPUS=4 +# CONFIG_RESOURCES_64BIT is not set +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=1 +CONFIG_BOUNCE=y +CONFIG_VIRT_TO_BUS=y +CONFIG_UNEVICTABLE_LRU=y +# CONFIG_LEDS is not set +CONFIG_ALIGNMENT_TRAP=y + +# +# Boot options +# +CONFIG_ZBOOT_ROM_TEXT=0 +CONFIG_ZBOOT_ROM_BSS=0 +CONFIG_CMDLINE="root=/dev/mtdblock2 rootfstype=cramfs init=/linuxrc console=ttySAC0,115200 mem=128M" +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set + +# +# CPU Power Management +# +# CONFIG_CPU_FREQ is not set +# CONFIG_CPU_IDLE is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +# CONFIG_FPE_NWFPE is not set +# CONFIG_FPE_FASTFPE is not set +CONFIG_VFP=y +CONFIG_VFPv3=y +# CONFIG_NEON is not set + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_HAVE_AOUT=y +# CONFIG_BINFMT_AOUT is not set +# CONFIG_BINFMT_MISC is not set + +# +# Power management options +# +CONFIG_PM=y +# CONFIG_PM_DEBUG is not set +CONFIG_PM_SLEEP=y +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +CONFIG_APM_EMULATION=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_NET=y + +# +# Networking options +# +# CONFIG_PACKET is not set +CONFIG_UNIX=y +CONFIG_XFRM=y +# CONFIG_XFRM_USER is not set +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_XFRM_STATISTICS is not set +# CONFIG_NET_KEY is not set +CONFIG_INET=y +# CONFIG_IP_MULTICAST is not set +# CONFIG_IP_ADVANCED_ROUTER is not set +CONFIG_IP_FIB_HASH=y +CONFIG_IP_PNP=y +# CONFIG_IP_PNP_DHCP is not set +CONFIG_IP_PNP_BOOTP=y +# CONFIG_IP_PNP_RARP is not set +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE is not set +# CONFIG_ARPD is not set +# CONFIG_SYN_COOKIES is not set +# CONFIG_INET_AH is not set +# CONFIG_INET_ESP is not set +# CONFIG_INET_IPCOMP is not set +# CONFIG_INET_XFRM_TUNNEL is not set +# CONFIG_INET_TUNNEL is not set +CONFIG_INET_XFRM_MODE_TRANSPORT=y +CONFIG_INET_XFRM_MODE_TUNNEL=y +CONFIG_INET_XFRM_MODE_BEET=y +# CONFIG_INET_LRO is not set +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +# CONFIG_IPV6 is not set +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NETFILTER is not set +# CONFIG_IP_DCCP is not set +# CONFIG_IP_SCTP is not set +# CONFIG_TIPC is not set +# CONFIG_ATM is not set +# CONFIG_BRIDGE is not set +# CONFIG_NET_DSA is not set +# CONFIG_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_ECONET is not set +# CONFIG_WAN_ROUTER is not set +# CONFIG_NET_SCHED is not set + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +# CONFIG_BT is not set +# CONFIG_AF_RXRPC is not set +# CONFIG_PHONET is not set +# CONFIG_WIRELESS is not set +# CONFIG_RFKILL is not set +# CONFIG_NET_9P is not set + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_CONNECTOR is not set +CONFIG_MTD=y +# CONFIG_MTD_DEBUG is not set +CONFIG_MTD_CONCAT=y +CONFIG_MTD_PARTITIONS=y +CONFIG_MTD_REDBOOT_PARTS=y +CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 +CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED=y +# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set +# CONFIG_MTD_AR7_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_CHAR=y +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_MTD_OOPS is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_DATAFLASH is not set +# CONFIG_MTD_M25P80 is not set +# CONFIG_MTD_SLRAM is not set +# CONFIG_MTD_PHRAM is not set +# CONFIG_MTD_MTDRAM is not set +# CONFIG_MTD_BLOCK2MTD is not set + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOC2000 is not set +# CONFIG_MTD_DOC2001 is not set +# CONFIG_MTD_DOC2001PLUS is not set +CONFIG_MTD_NAND=y +# CONFIG_MTD_NAND_VERIFY_WRITE is not set +# CONFIG_MTD_NAND_ECC_SMC is not set +# CONFIG_MTD_NAND_MUSEUM_IDS is not set +# CONFIG_MTD_NAND_GPIO is not set +CONFIG_MTD_NAND_IDS=y +CONFIG_MTD_NAND_S3C=y +# CONFIG_MTD_NAND_S3C_DEBUG is not set +CONFIG_MTD_NAND_S3C_HWECC=y +# CONFIG_MTD_NAND_DISKONCHIP is not set +# CONFIG_MTD_NAND_NANDSIM is not set +# CONFIG_MTD_NAND_PLATFORM is not set +CONFIG_MTD_ONENAND=y +# CONFIG_MTD_ONENAND_VERIFY_WRITE is not set +CONFIG_MTD_ONENAND_GENERIC=y +# CONFIG_MTD_ONENAND_OTP is not set +# CONFIG_MTD_ONENAND_2X_PROGRAM is not set +# CONFIG_MTD_ONENAND_SIM is not set + +# +# UBI - Unsorted block images +# +# CONFIG_MTD_UBI is not set +# CONFIG_PARPORT is not set +CONFIG_BLK_DEV=y +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +# CONFIG_BLK_DEV_NBD is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=8192 +# CONFIG_BLK_DEV_XIP is not set +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +CONFIG_MISC_DEVICES=y +# CONFIG_EEPROM_93CX6 is not set +# CONFIG_ICS932S401 is not set +# CONFIG_ENCLOSURE_SERVICES is not set +# CONFIG_C2PORT is not set +CONFIG_HAVE_IDE=y +# CONFIG_IDE is not set + +# +# SCSI device support +# +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_TGT is not set +# CONFIG_SCSI_NETLINK is not set +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +CONFIG_CHR_DEV_SG=y +# CONFIG_CHR_DEV_SCH is not set + +# +# Some SCSI devices (e.g. CD jukebox) support multiple LUNs +# +# CONFIG_SCSI_MULTI_LUN is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set +CONFIG_SCSI_WAIT_SCAN=m + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_DH is not set +# CONFIG_ATA is not set +# CONFIG_MD is not set +CONFIG_NETDEVICES=y +# CONFIG_DUMMY is not set +# CONFIG_BONDING is not set +# CONFIG_MACVLAN is not set +# CONFIG_EQUALIZER is not set +# CONFIG_TUN is not set +# CONFIG_VETH is not set +# CONFIG_NET_ETHERNET is not set +CONFIG_NETDEV_1000=y +CONFIG_NETDEV_10000=y + +# +# Wireless LAN +# +# CONFIG_WLAN_PRE80211 is not set +# CONFIG_WLAN_80211 is not set +# CONFIG_IWLWIFI_LEDS is not set +# CONFIG_WAN is not set +CONFIG_PPP=y +CONFIG_PPP_MULTILINK=y +CONFIG_PPP_FILTER=y +CONFIG_PPP_ASYNC=y +CONFIG_PPP_SYNC_TTY=y +# CONFIG_PPP_DEFLATE is not set +# CONFIG_PPP_BSDCOMP is not set +# CONFIG_PPP_MPPE is not set +# CONFIG_PPPOE is not set +# CONFIG_PPPOL2TP is not set +# CONFIG_SLIP is not set +CONFIG_SLHC=y +# CONFIG_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER is not set +# CONFIG_ISDN is not set + +# +# Input device support +# +CONFIG_INPUT=y +# CONFIG_INPUT_FF_MEMLESS is not set +# CONFIG_INPUT_POLLDEV is not set + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +# CONFIG_INPUT_JOYDEV is not set +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_EVBUG is not set + +# +# Input Device Drivers +# +CONFIG_INPUT_KEYBOARD=y +CONFIG_KEYBOARD_ATKBD=y +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_LKKBD is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_STOWAWAY is not set +# CONFIG_KEYBOARD_GPIO is not set +# CONFIG_KEYPAD_S3C is not set +CONFIG_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=y +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_LIFEBOOK=y +CONFIG_MOUSE_PS2_TRACKPOINT=y +# CONFIG_MOUSE_PS2_ELANTECH is not set +# CONFIG_MOUSE_PS2_TOUCHKIT is not set +# CONFIG_MOUSE_SERIAL is not set +# CONFIG_MOUSE_APPLETOUCH is not set +# CONFIG_MOUSE_BCM5974 is not set +# CONFIG_MOUSE_VSXXXAA is not set +# CONFIG_MOUSE_GPIO is not set +# CONFIG_INPUT_JOYSTICK is not set +# CONFIG_INPUT_TABLET is not set +CONFIG_INPUT_TOUCHSCREEN=y +# CONFIG_TOUCHSCREEN_ADS7846 is not set +CONFIG_TOUCHSCREEN_S3C=y +CONFIG_TOUCHSCREEN_NEW=y +# CONFIG_TOUCHSCREEN_FUJITSU is not set +# CONFIG_TOUCHSCREEN_GUNZE is not set +# CONFIG_TOUCHSCREEN_ELO is not set +# CONFIG_TOUCHSCREEN_MTOUCH is not set +# CONFIG_TOUCHSCREEN_INEXIO is not set +# CONFIG_TOUCHSCREEN_MK712 is not set +# CONFIG_TOUCHSCREEN_PENMOUNT is not set +# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set +# CONFIG_TOUCHSCREEN_TOUCHWIN is not set +# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set +# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set +# CONFIG_INPUT_MISC is not set + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_SERPORT=y +CONFIG_SERIO_LIBPS2=y +# CONFIG_SERIO_RAW is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_VT_CONSOLE=y +CONFIG_HW_CONSOLE=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +CONFIG_DEVKMEM=y +# CONFIG_SERIAL_NONSTANDARD is not set + +# +# Serial drivers +# +CONFIG_SERIAL_8250=y +# CONFIG_SERIAL_8250_CONSOLE is not set +CONFIG_SERIAL_8250_NR_UARTS=4 +CONFIG_SERIAL_8250_RUNTIME_UARTS=4 +# CONFIG_SERIAL_8250_EXTENDED is not set + +# +# Non-8250 serial port support +# +CONFIG_SERIAL_SAMSUNG=y +CONFIG_SERIAL_SAMSUNG_UARTS=4 +# CONFIG_SERIAL_SAMSUNG_DEBUG is not set +CONFIG_SERIAL_SAMSUNG_CONSOLE=y +CONFIG_SERIAL_S5PC100=y +# CONFIG_SERIAL_S5PC1XX_HSUART is not set +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +CONFIG_UNIX98_PTYS=y +CONFIG_LEGACY_PTYS=y +CONFIG_LEGACY_PTY_COUNT=256 +# CONFIG_IPMI_HANDLER is not set +CONFIG_HW_RANDOM=y +# CONFIG_NVRAM is not set +# CONFIG_R3964 is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +CONFIG_S3C_MEM=y +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_CHARDEV=y +# CONFIG_I2C_HELPER_AUTO is not set + +# +# I2C Algorithms +# +# CONFIG_I2C_ALGOBIT is not set +# CONFIG_I2C_ALGOPCF is not set +# CONFIG_I2C_ALGOPCA is not set + +# +# I2C Hardware Bus support +# + +# +# I2C system bus drivers (mostly embedded / system-on-chip) +# +# CONFIG_I2C_GPIO is not set +# CONFIG_I2C_OCORES is not set +CONFIG_I2C_S3C2410=y +# CONFIG_I2C_SIMTEC is not set + +# +# External I2C/SMBus adapter drivers +# +# CONFIG_I2C_PARPORT_LIGHT is not set +# CONFIG_I2C_TAOS_EVM is not set + +# +# Other I2C/SMBus bus drivers +# +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_STUB is not set + +# +# Miscellaneous I2C Chip support +# +# CONFIG_DS1682 is not set +# CONFIG_AT24 is not set +# CONFIG_SENSORS_EEPROM is not set +# CONFIG_SENSORS_PCF8574 is not set +# CONFIG_PCF8575 is not set +# CONFIG_SENSORS_PCA9539 is not set +# CONFIG_SENSORS_PCF8591 is not set +# CONFIG_TPS65010 is not set +# CONFIG_SENSORS_MAX6875 is not set +# CONFIG_SENSORS_TSL2550 is not set +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +# CONFIG_I2C_DEBUG_CHIP is not set +CONFIG_SPI=y +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +# CONFIG_SPI_BITBANG is not set +CONFIG_HS_SPI_S5PC100=y +CONFIG_HSPICLK_PCLK=y +# CONFIG_HSPICLK_SCLK_48M is not set +# CONFIG_WORD_TRANSIZE is not set + +# +# SPI Protocol Masters +# +# CONFIG_SPI_AT25 is not set +# CONFIG_SPI_SPIDEV is not set +# CONFIG_SPI_TLE62X0 is not set +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_GPIOLIB=y +# CONFIG_DEBUG_GPIO is not set +# CONFIG_GPIO_SYSFS is not set + +# +# Memory mapped GPIO expanders: +# + +# +# I2C GPIO expanders: +# +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set + +# +# PCI GPIO expanders: +# + +# +# SPI GPIO expanders: +# +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MCP23S08 is not set +# CONFIG_W1 is not set +# CONFIG_POWER_SUPPLY is not set +CONFIG_HWMON=y +# CONFIG_HWMON_VID is not set +# CONFIG_SENSORS_AD7414 is not set +# CONFIG_SENSORS_AD7418 is not set +# CONFIG_SENSORS_ADCXX is not set +# CONFIG_SENSORS_ADM1021 is not set +# CONFIG_SENSORS_ADM1025 is not set +# CONFIG_SENSORS_ADM1026 is not set +# CONFIG_SENSORS_ADM1029 is not set +# CONFIG_SENSORS_ADM1031 is not set +# CONFIG_SENSORS_ADM9240 is not set +# CONFIG_SENSORS_ADT7462 is not set +# CONFIG_SENSORS_ADT7470 is not set +# CONFIG_SENSORS_ADT7473 is not set +# CONFIG_SENSORS_ATXP1 is not set +# CONFIG_SENSORS_DS1621 is not set +# CONFIG_SENSORS_F71805F is not set +# CONFIG_SENSORS_F71882FG is not set +# CONFIG_SENSORS_F75375S is not set +# CONFIG_SENSORS_GL518SM is not set +# CONFIG_SENSORS_GL520SM is not set +# CONFIG_SENSORS_IT87 is not set +# CONFIG_SENSORS_LM63 is not set +# CONFIG_SENSORS_LM70 is not set +# CONFIG_SENSORS_LM75 is not set +# CONFIG_SENSORS_LM77 is not set +# CONFIG_SENSORS_LM78 is not set +# CONFIG_SENSORS_LM80 is not set +# CONFIG_SENSORS_LM83 is not set +# CONFIG_SENSORS_LM85 is not set +# CONFIG_SENSORS_LM87 is not set +# CONFIG_SENSORS_LM90 is not set +# CONFIG_SENSORS_LM92 is not set +# CONFIG_SENSORS_LM93 is not set +# CONFIG_SENSORS_MAX1111 is not set +# CONFIG_SENSORS_MAX1619 is not set +# CONFIG_SENSORS_MAX6650 is not set +# CONFIG_SENSORS_PC87360 is not set +# CONFIG_SENSORS_PC87427 is not set +# CONFIG_SENSORS_DME1737 is not set +# CONFIG_SENSORS_SMSC47M1 is not set +# CONFIG_SENSORS_SMSC47M192 is not set +# CONFIG_SENSORS_SMSC47B397 is not set +# CONFIG_SENSORS_ADS7828 is not set +# CONFIG_SENSORS_THMC50 is not set +# CONFIG_SENSORS_VT1211 is not set +# CONFIG_SENSORS_W83781D is not set +# CONFIG_SENSORS_W83791D is not set +# CONFIG_SENSORS_W83792D is not set +# CONFIG_SENSORS_W83793 is not set +# CONFIG_SENSORS_W83L785TS is not set +# CONFIG_SENSORS_W83L786NG is not set +# CONFIG_SENSORS_W83627HF is not set +# CONFIG_SENSORS_W83627EHF is not set +# CONFIG_HWMON_DEBUG_CHIP is not set +# CONFIG_THERMAL is not set +# CONFIG_THERMAL_HWMON is not set +CONFIG_WATCHDOG=y +# CONFIG_WATCHDOG_NOWAYOUT is not set + +# +# Watchdog Device Drivers +# +# CONFIG_SOFT_WATCHDOG is not set +CONFIG_S3C2410_WATCHDOG=y +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +# CONFIG_SSB is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_ASIC3 is not set +# CONFIG_HTC_EGPIO is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB is not set +# CONFIG_PMIC_DA903X is not set +# CONFIG_MFD_WM8400 is not set +# CONFIG_MFD_WM8350_I2C is not set + +# +# Multimedia devices +# + +# +# Multimedia core support +# +CONFIG_VIDEO_DEV=y +CONFIG_VIDEO_V4L2_COMMON=y +CONFIG_VIDEO_ALLOW_V4L1=y +CONFIG_VIDEO_V4L1_COMPAT=y +# CONFIG_DVB_CORE is not set +CONFIG_VIDEO_MEDIA=y + +# +# Multimedia drivers +# +# CONFIG_MEDIA_ATTACH is not set +CONFIG_MEDIA_TUNER=y +# CONFIG_MEDIA_TUNER_CUSTOMIZE is not set +CONFIG_MEDIA_TUNER_SIMPLE=y +CONFIG_MEDIA_TUNER_TDA8290=y +CONFIG_MEDIA_TUNER_TDA9887=y +CONFIG_MEDIA_TUNER_TEA5761=y +CONFIG_MEDIA_TUNER_TEA5767=y +CONFIG_MEDIA_TUNER_MT20XX=y +CONFIG_MEDIA_TUNER_XC2028=y +CONFIG_MEDIA_TUNER_XC5000=y +CONFIG_VIDEO_V4L2=y +CONFIG_VIDEO_V4L1=y +CONFIG_VIDEO_CAPTURE_DRIVERS=y +# CONFIG_VIDEO_ADV_DEBUG is not set +CONFIG_VIDEO_FIXED_MINOR_RANGES=y +CONFIG_VIDEO_HELPER_CHIPS_AUTO=y +# CONFIG_VIDEO_VIVI is not set +# CONFIG_VIDEO_CPIA is not set +# CONFIG_VIDEO_SAA5246A is not set +# CONFIG_VIDEO_SAA5249 is not set +# CONFIG_SOC_CAMERA is not set +CONFIG_VIDEO_SAMSUNG=y + +# +# FIMC configurations +# +CONFIG_VIDEO_FIMC=y +# CONFIG_VIDEO_FIMC_DEBUG is not set +# CONFIG_VIDEO_FIMC_MIPI is not set +CONFIG_S5K4BA=y +# CONFIG_S5K3BA is not set +CONFIG_VIDEO_FIMC_CAM_CH=0 +CONFIG_VIDEO_FIMC_CAM_RESET=0 +CONFIG_VIDEO_MFC40=y +CONFIG_VIDEO_JPEG_V2=y +CONFIG_VIDEO_ROTATOR=y +CONFIG_VIDEO_G2D=y +CONFIG_VIDEO_G3D=y + +# +# Reserved memory configurations +# +CONFIG_VIDEO_SAMSUNG_MEMSIZE_FIMC=10240 +CONFIG_VIDEO_SAMSUNG_MEMSIZE_MFC=32768 +CONFIG_VIDEO_SAMSUNG_MEMSIZE_JPEG=32768 +CONFIG_VIDEO_MFC_MAX_INSTANCE=1 +# CONFIG_RADIO_ADAPTERS is not set +# CONFIG_DAB is not set + +# +# Graphics support +# +# CONFIG_VGASTATE is not set +# CONFIG_VIDEO_OUTPUT_CONTROL is not set +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_IMAGEBLIT=y +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +# CONFIG_FB_SYS_FILLRECT is not set +# CONFIG_FB_SYS_COPYAREA is not set +# CONFIG_FB_SYS_IMAGEBLIT is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_SYS_FOPS is not set +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +CONFIG_FB_S3C=y +CONFIG_FB_S3C_LTE480WV=y +# CONFIG_FB_S3C_LTV350QV is not set +# CONFIG_FB_S3C_LTS222QV is not set +CONFIG_FB_S3C_BPP=y +# CONFIG_FB_S3C_BPP_8 is not set +CONFIG_FB_S3C_BPP_16=y +# CONFIG_FB_S3C_BPP_24 is not set +# CONFIG_FB_S3C_BPP_28 is not set +# CONFIG_FB_S3C_BPP_32 is not set +CONFIG_FB_S3C_NUM=1 +# CONFIG_FB_S3C_VIRTUAL_SCREEN is not set +# CONFIG_FB_S3C_DOUBLE_BUFFERING is not set +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_VIRTUAL is not set +# CONFIG_FB_METRONOME is not set +# CONFIG_FB_MB862XX is not set +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set + +# +# Display device support +# +# CONFIG_DISPLAY_SUPPORT is not set + +# +# Console display driver support +# +# CONFIG_VGA_CONSOLE is not set +CONFIG_DUMMY_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set +# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set +# CONFIG_FONTS is not set +CONFIG_FONT_8x8=y +CONFIG_FONT_8x16=y +CONFIG_LOGO=y +# CONFIG_LOGO_LINUX_MONO is not set +# CONFIG_LOGO_LINUX_VGA16 is not set +# CONFIG_LOGO_LINUX_CLUT224 is not set +CONFIG_LOGO_LINUX_LANDSCAPED_CLUT224=y +CONFIG_SOUND=y +# CONFIG_SOUND_OSS_CORE is not set +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +# CONFIG_SND_SEQUENCER is not set +# CONFIG_SND_MIXER_OSS is not set +# CONFIG_SND_PCM_OSS is not set +# CONFIG_SND_DYNAMIC_MINORS is not set +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_VERBOSE_PROCFS=y +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set +CONFIG_SND_DRIVERS=y +# CONFIG_SND_DUMMY is not set +# CONFIG_SND_MTPAV is not set +# CONFIG_SND_SERIAL_U16550 is not set +# CONFIG_SND_MPU401 is not set +CONFIG_SND_ARM=y +CONFIG_SND_SPI=y +CONFIG_SND_SOC=y + +# +# SoC Audio for the Samsung S3C +# +CONFIG_SND_S5PC1XX_SOC=y +CONFIG_SND_SOC_I2S_V50=y +CONFIG_SND_SMDKC100_WM8580=y +CONFIG_SOUND_S5PC100_WM8580_INPUT_STREAM_LINE=y +# CONFIG_SOUND_S5PC100_WM8580_INPUT_STREAM_MIC is not set +# CONFIG_SND_SMDKC100_WM9713 is not set +# CONFIG_SND_SOC_ALL_CODECS is not set +CONFIG_SND_SOC_WM8580=y +# CONFIG_SOUND_PRIME is not set +CONFIG_HID_SUPPORT=y +CONFIG_HID=y +CONFIG_HID_DEBUG=y +# CONFIG_HIDRAW is not set +# CONFIG_HID_PID is not set + +# +# Special HID drivers +# +# CONFIG_HID_COMPAT is not set +CONFIG_USB_SUPPORT=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB_ARCH_HAS_OHCI=y +# CONFIG_USB_ARCH_HAS_EHCI is not set +# CONFIG_USB is not set +# CONFIG_USB_MUSB_HDRC is not set +# CONFIG_USB_GADGET_MUSB_HDRC is not set + +# +# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; +# +CONFIG_USB_GADGET=y +# CONFIG_USB_GADGET_DEBUG is not set +# CONFIG_USB_GADGET_DEBUG_FILES is not set +CONFIG_USB_GADGET_VBUS_DRAW=2 +CONFIG_USB_GADGET_SELECTED=y +# CONFIG_USB_GADGET_AT91 is not set +# CONFIG_USB_GADGET_ATMEL_USBA is not set +# CONFIG_USB_GADGET_FSL_USB2 is not set +# CONFIG_USB_GADGET_LH7A40X is not set +# CONFIG_USB_GADGET_OMAP is not set +# CONFIG_USB_GADGET_PXA25X is not set +# CONFIG_USB_GADGET_PXA27X is not set +# CONFIG_USB_GADGET_S3C2410 is not set +CONFIG_USB_GADGET_S3C_OTGD=y +# CONFIG_USB_GADGET_M66592 is not set +# CONFIG_USB_GADGET_AMD5536UDC is not set +# CONFIG_USB_GADGET_FSL_QE is not set +# CONFIG_USB_GADGET_NET2280 is not set +# CONFIG_USB_GADGET_GOKU is not set +# CONFIG_USB_GADGET_DUMMY_HCD is not set + +# +# NOTE: S3C OTG device role enables the controller driver below +# +CONFIG_USB_S3C_OTGD=y +CONFIG_USB_GADGET_S3C_OTGD_DMA_MODE=y +# CONFIG_USB_GADGET_S3C_OTGD_SLAVE_MODE is not set +CONFIG_USB_GADGET_DUALSPEED=y +# CONFIG_USB_ZERO is not set +CONFIG_USB_ETH=m +CONFIG_USB_ETH_RNDIS=y +# CONFIG_USB_GADGETFS is not set +CONFIG_USB_FILE_STORAGE=m +# CONFIG_USB_FILE_STORAGE_TEST is not set +CONFIG_USB_G_SERIAL=m +# CONFIG_USB_MIDI_GADGET is not set +# CONFIG_USB_G_PRINTER is not set +# CONFIG_USB_CDC_COMPOSITE is not set +CONFIG_MMC=y +# CONFIG_MMC_DEBUG is not set +# CONFIG_MMC_UNSAFE_RESUME is not set + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_BOUNCE=y +# CONFIG_SDIO_UART is not set +# CONFIG_MMC_TEST is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_S3C=y +# CONFIG_MMC_SPI is not set +# CONFIG_MEMSTICK is not set +# CONFIG_ACCESSIBILITY is not set +# CONFIG_NEW_LEDS is not set +CONFIG_RTC_LIB=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +# CONFIG_RTC_DEBUG is not set + +# +# RTC interfaces +# +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_DEV=y +# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set +# CONFIG_RTC_DRV_TEST is not set + +# +# I2C RTC drivers +# +# CONFIG_RTC_DRV_DS1307 is not set +# CONFIG_RTC_DRV_DS1374 is not set +# CONFIG_RTC_DRV_DS1672 is not set +# CONFIG_RTC_DRV_MAX6900 is not set +# CONFIG_RTC_DRV_RS5C372 is not set +# CONFIG_RTC_DRV_ISL1208 is not set +# CONFIG_RTC_DRV_X1205 is not set +# CONFIG_RTC_DRV_PCF8563 is not set +# CONFIG_RTC_DRV_PCF8583 is not set +# CONFIG_RTC_DRV_M41T80 is not set +# CONFIG_RTC_DRV_S35390A is not set +# CONFIG_RTC_DRV_FM3130 is not set +# CONFIG_RTC_DRV_RX8581 is not set + +# +# SPI RTC drivers +# +# CONFIG_RTC_DRV_M41T94 is not set +# CONFIG_RTC_DRV_DS1305 is not set +# CONFIG_RTC_DRV_DS1390 is not set +# CONFIG_RTC_DRV_MAX6902 is not set +# CONFIG_RTC_DRV_R9701 is not set +# CONFIG_RTC_DRV_RS5C348 is not set +# CONFIG_RTC_DRV_DS3234 is not set + +# +# Platform RTC drivers +# +# CONFIG_RTC_DRV_CMOS is not set +# CONFIG_RTC_DRV_DS1286 is not set +# CONFIG_RTC_DRV_DS1511 is not set +# CONFIG_RTC_DRV_DS1553 is not set +# CONFIG_RTC_DRV_DS1742 is not set +# CONFIG_RTC_DRV_STK17TA8 is not set +# CONFIG_RTC_DRV_M48T86 is not set +# CONFIG_RTC_DRV_M48T35 is not set +# CONFIG_RTC_DRV_M48T59 is not set +# CONFIG_RTC_DRV_BQ4802 is not set +# CONFIG_RTC_DRV_V3020 is not set + +# +# on-CPU RTC drivers +# +CONFIG_RTC_DRV_S3C=y +# CONFIG_DMADEVICES is not set +# CONFIG_REGULATOR is not set +# CONFIG_UIO is not set + +# +# File systems +# +CONFIG_EXT2_FS=y +# CONFIG_EXT2_FS_XATTR is not set +# CONFIG_EXT2_FS_XIP is not set +CONFIG_EXT3_FS=y +CONFIG_EXT3_FS_XATTR=y +CONFIG_EXT3_FS_POSIX_ACL=y +CONFIG_EXT3_FS_SECURITY=y +# CONFIG_EXT4_FS is not set +CONFIG_JBD=y +CONFIG_FS_MBCACHE=y +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +CONFIG_FS_POSIX_ACL=y +CONFIG_FILE_LOCKING=y +# CONFIG_XFS_FS is not set +# CONFIG_GFS2_FS is not set +# CONFIG_OCFS2_FS is not set +CONFIG_DNOTIFY=y +CONFIG_INOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_QUOTA is not set +# CONFIG_AUTOFS_FS is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_FUSE_FS is not set +CONFIG_GENERIC_ACL=y + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_SYSCTL=y +CONFIG_PROC_PAGE_MONITOR=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +# CONFIG_HUGETLB_PAGE is not set +# CONFIG_CONFIGFS_FS is not set + +# +# Miscellaneous filesystems +# +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +# CONFIG_YAFFS_FS is not set +# CONFIG_JFFS2_FS is not set +CONFIG_CRAMFS=y +# CONFIG_VXFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +CONFIG_ROMFS_FS=y +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V3=y +CONFIG_NFS_V3_ACL=y +# CONFIG_NFS_V4 is not set +# CONFIG_ROOT_NFS is not set +# CONFIG_NFSD is not set +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_ACL_SUPPORT=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +# CONFIG_SUNRPC_REGISTER_V4 is not set +# CONFIG_RPCSEC_GSS_KRB5 is not set +# CONFIG_RPCSEC_GSS_SPKM3 is not set +# CONFIG_SMB_FS is not set +# CONFIG_CIFS is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set +CONFIG_MSDOS_PARTITION=y +CONFIG_BSD_DISKLABEL=y +# CONFIG_MINIX_SUBPARTITION is not set +CONFIG_SOLARIS_X86_PARTITION=y +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +# CONFIG_EFI_PARTITION is not set +# CONFIG_SYSV68_PARTITION is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +# CONFIG_NLS_CODEPAGE_737 is not set +# CONFIG_NLS_CODEPAGE_775 is not set +# CONFIG_NLS_CODEPAGE_850 is not set +# CONFIG_NLS_CODEPAGE_852 is not set +# CONFIG_NLS_CODEPAGE_855 is not set +# CONFIG_NLS_CODEPAGE_857 is not set +# CONFIG_NLS_CODEPAGE_860 is not set +# CONFIG_NLS_CODEPAGE_861 is not set +# CONFIG_NLS_CODEPAGE_862 is not set +# CONFIG_NLS_CODEPAGE_863 is not set +# CONFIG_NLS_CODEPAGE_864 is not set +# CONFIG_NLS_CODEPAGE_865 is not set +# CONFIG_NLS_CODEPAGE_866 is not set +# CONFIG_NLS_CODEPAGE_869 is not set +# CONFIG_NLS_CODEPAGE_936 is not set +# CONFIG_NLS_CODEPAGE_950 is not set +# CONFIG_NLS_CODEPAGE_932 is not set +# CONFIG_NLS_CODEPAGE_949 is not set +# CONFIG_NLS_CODEPAGE_874 is not set +# CONFIG_NLS_ISO8859_8 is not set +# CONFIG_NLS_CODEPAGE_1250 is not set +# CONFIG_NLS_CODEPAGE_1251 is not set +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +# CONFIG_NLS_ISO8859_2 is not set +# CONFIG_NLS_ISO8859_3 is not set +# CONFIG_NLS_ISO8859_4 is not set +# CONFIG_NLS_ISO8859_5 is not set +# CONFIG_NLS_ISO8859_6 is not set +# CONFIG_NLS_ISO8859_7 is not set +# CONFIG_NLS_ISO8859_9 is not set +# CONFIG_NLS_ISO8859_13 is not set +# CONFIG_NLS_ISO8859_14 is not set +# CONFIG_NLS_ISO8859_15 is not set +# CONFIG_NLS_KOI8_R is not set +# CONFIG_NLS_KOI8_U is not set +# CONFIG_NLS_UTF8 is not set +# CONFIG_DLM is not set + +# +# Kernel hacking +# +# CONFIG_PRINTK_TIME is not set +CONFIG_ENABLE_WARN_DEPRECATED=y +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=1024 +CONFIG_MAGIC_SYSRQ=y +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_DEBUG_FS is not set +# CONFIG_HEADERS_CHECK is not set +CONFIG_DEBUG_KERNEL=y +# CONFIG_DEBUG_SHIRQ is not set +CONFIG_DETECT_SOFTLOCKUP=y +# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 +CONFIG_SCHED_DEBUG=y +# CONFIG_SCHEDSTATS is not set +# CONFIG_TIMER_STATS is not set +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +CONFIG_DEBUG_RT_MUTEXES=y +CONFIG_DEBUG_PI_LIST=y +# CONFIG_RT_MUTEX_TESTER is not set +CONFIG_DEBUG_SPINLOCK=y +CONFIG_DEBUG_MUTEXES=y +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_PROVE_LOCKING is not set +# CONFIG_LOCK_STAT is not set +CONFIG_DEBUG_SPINLOCK_SLEEP=y +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_DEBUG_KOBJECT is not set +CONFIG_DEBUG_BUGVERBOSE=y +CONFIG_DEBUG_INFO=y +# CONFIG_DEBUG_VM is not set +# CONFIG_DEBUG_WRITECOUNT is not set +CONFIG_DEBUG_MEMORY_INIT=y +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_SG is not set +CONFIG_FRAME_POINTER=y +# CONFIG_BOOT_PRINTK_DELAY is not set +# CONFIG_RCU_TORTURE_TEST is not set +# CONFIG_RCU_CPU_STALL_DETECTOR is not set +# CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_FAULT_INJECTION is not set +# CONFIG_LATENCYTOP is not set +CONFIG_SYSCTL_SYSCALL_CHECK=y +CONFIG_HAVE_FUNCTION_TRACER=y + +# +# Tracers +# +# CONFIG_FUNCTION_TRACER is not set +# CONFIG_SCHED_TRACER is not set +# CONFIG_CONTEXT_SWITCH_TRACER is not set +# CONFIG_BOOT_TRACER is not set +# CONFIG_STACK_TRACER is not set +# CONFIG_DYNAMIC_PRINTK_DEBUG is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_KGDB is not set +CONFIG_DEBUG_USER=y +CONFIG_DEBUG_ERRORS=y +# CONFIG_DEBUG_STACK_USAGE is not set +CONFIG_DEBUG_LL=y +# CONFIG_DEBUG_ICEDCC is not set +# CONFIG_DEBUG_S3C_PORT is not set +CONFIG_DEBUG_S3C_UART=0 + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY is not set +# CONFIG_SECURITYFS is not set +# CONFIG_SECURITY_FILE_CAPABILITIES is not set +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +# CONFIG_CRYPTO_FIPS is not set +# CONFIG_CRYPTO_MANAGER is not set +# CONFIG_CRYPTO_MANAGER2 is not set +# CONFIG_CRYPTO_GF128MUL is not set +# CONFIG_CRYPTO_NULL is not set +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST is not set + +# +# Authenticated Encryption with Associated Data +# +# CONFIG_CRYPTO_CCM is not set +# CONFIG_CRYPTO_GCM is not set +# CONFIG_CRYPTO_SEQIV is not set + +# +# Block modes +# +# CONFIG_CRYPTO_CBC is not set +# CONFIG_CRYPTO_CTR is not set +# CONFIG_CRYPTO_CTS is not set +# CONFIG_CRYPTO_ECB is not set +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set + +# +# Hash modes +# +# CONFIG_CRYPTO_HMAC is not set +# CONFIG_CRYPTO_XCBC is not set + +# +# Digest +# +# CONFIG_CRYPTO_CRC32C is not set +# CONFIG_CRYPTO_MD4 is not set +# CONFIG_CRYPTO_MD5 is not set +# CONFIG_CRYPTO_MICHAEL_MIC is not set +# CONFIG_CRYPTO_RMD128 is not set +# CONFIG_CRYPTO_RMD160 is not set +# CONFIG_CRYPTO_RMD256 is not set +# CONFIG_CRYPTO_RMD320 is not set +# CONFIG_CRYPTO_SHA1 is not set +# CONFIG_CRYPTO_SHA256 is not set +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +# CONFIG_CRYPTO_AES is not set +# CONFIG_CRYPTO_ANUBIS is not set +# CONFIG_CRYPTO_ARC4 is not set +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +# CONFIG_CRYPTO_DES is not set +# CONFIG_CRYPTO_FCRYPT is not set +# CONFIG_CRYPTO_KHAZAD is not set +# CONFIG_CRYPTO_SALSA20 is not set +# CONFIG_CRYPTO_SEED is not set +# CONFIG_CRYPTO_SERPENT is not set +# CONFIG_CRYPTO_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set + +# +# Compression +# +# CONFIG_CRYPTO_DEFLATE is not set +# CONFIG_CRYPTO_LZO is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +CONFIG_CRYPTO_HW=y + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_CRC_CCITT=y +# CONFIG_CRC16 is not set +# CONFIG_CRC_T10DIF is not set +# CONFIG_CRC_ITU_T is not set +CONFIG_CRC32=y +# CONFIG_CRC7 is not set +# CONFIG_LIBCRC32C is not set +CONFIG_ZLIB_INFLATE=y +CONFIG_PLIST=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_DMA=y diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/include/asm/hardware/vic.h linux-2.6.28.6/arch/arm/include/asm/hardware/vic.h --- linux-2.6.28/arch/arm/include/asm/hardware/vic.h 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/include/asm/hardware/vic.h 2009-04-30 09:36:37.000000000 +0200 @@ -29,15 +29,17 @@ #define VIC_INT_SOFT 0x18 #define VIC_INT_SOFT_CLEAR 0x1c #define VIC_PROTECT 0x20 -#define VIC_VECT_ADDR 0x30 -#define VIC_DEF_VECT_ADDR 0x34 +#define VIC_PL190_VECT_ADDR 0x30 /* PL190 only */ +#define VIC_PL190_DEF_VECT_ADDR 0x34 /* PL190 only */ -#define VIC_VECT_ADDR0 0x100 /* 0 to 15 */ -#define VIC_VECT_CNTL0 0x200 /* 0 to 15 */ +#define VIC_VECT_ADDR0 0x100 /* 0 to 15 (0..31 PL192) */ +#define VIC_VECT_CNTL0 0x200 /* 0 to 15 (0..31 PL192) */ #define VIC_ITCR 0x300 /* VIC test control register */ #define VIC_VECT_CNTL_ENABLE (1 << 5) +#define VIC_PL192_VECT_ADDR 0xF00 + #ifndef __ASSEMBLY__ void vic_init(void __iomem *base, unsigned int irq_start, u32 vic_sources); #endif diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/include/asm/memory.h linux-2.6.28.6/arch/arm/include/asm/memory.h --- linux-2.6.28/arch/arm/include/asm/memory.h 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/include/asm/memory.h 2009-10-21 09:48:29.000000000 +0200 @@ -104,7 +104,7 @@ * between 2MB and 14MB inclusive. */ #ifndef CONSISTENT_DMA_SIZE -#define CONSISTENT_DMA_SIZE SZ_2M +#define CONSISTENT_DMA_SIZE (SZ_8M + SZ_4M)//SZ_2M #endif /* diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c2410/Kconfig linux-2.6.28.6/arch/arm/mach-s3c2410/Kconfig --- linux-2.6.28/arch/arm/mach-s3c2410/Kconfig 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c2410/Kconfig 2009-04-30 09:36:37.000000000 +0200 @@ -32,11 +32,6 @@ help GPIO code for S3C2410 and similar processors -config S3C2410_CLOCK - bool - help - Clock code for the S3C2410, and similar processors - config SIMTEC_NOR bool help @@ -84,6 +79,7 @@ select PM_SIMTEC if PM select SIMTEC_NOR select MACH_BAST_IDE + select S3C24XX_DCLK select ISA help Say Y here if you are using the Simtec Electronics EB2410ITX @@ -121,6 +117,7 @@ config MACH_VR1000 bool "Thorcom VR1000" select PM_SIMTEC if PM + select S3C24XX_DCLK select SIMTEC_NOR select MACH_BAST_IDE select CPU_S3C2410 diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c2410/Makefile linux-2.6.28.6/arch/arm/mach-s3c2410/Makefile --- linux-2.6.28/arch/arm/mach-s3c2410/Makefile 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c2410/Makefile 2009-04-30 09:36:37.000000000 +0200 @@ -15,7 +15,6 @@ obj-$(CONFIG_CPU_S3C2410_DMA) += dma.o obj-$(CONFIG_S3C2410_PM) += pm.o sleep.o obj-$(CONFIG_S3C2410_GPIO) += gpio.o -obj-$(CONFIG_S3C2410_CLOCK) += clock.o # Machine support diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c2410/dma.c linux-2.6.28.6/arch/arm/mach-s3c2410/dma.c --- linux-2.6.28/arch/arm/mach-s3c2410/dma.c 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c2410/dma.c 2009-04-30 09:36:37.000000000 +0200 @@ -25,12 +25,12 @@ #include #include -#include +#include #include #include #include #include -#include +#include static struct s3c24xx_dma_map __initdata s3c2410_dma_mappings[] = { [DMACH_XD0] = { diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c2410/include/mach/bast-irq.h linux-2.6.28.6/arch/arm/mach-s3c2410/include/mach/bast-irq.h --- linux-2.6.28/arch/arm/mach-s3c2410/include/mach/bast-irq.h 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c2410/include/mach/bast-irq.h 2009-12-08 07:35:53.000000000 +0100 @@ -22,7 +22,7 @@ #define IRQ_PCSERIAL2 IRQ_EINT14 #define IRQ_PCPARALLEL IRQ_EINT13 #define IRQ_ASIX IRQ_EINT11 -#define IRQ_DM9000 IRQ_EINT10 +#define IRQ_DM9000 IRQ_EINT7//IRQ_EINT10 #define IRQ_ISA IRQ_EINT9 #define IRQ_SMALERT IRQ_EINT8 diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c2410/include/mach/gpio-core.h linux-2.6.28.6/arch/arm/mach-s3c2410/include/mach/gpio-core.h --- linux-2.6.28/arch/arm/mach-s3c2410/include/mach/gpio-core.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c2410/include/mach/gpio-core.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,34 @@ +/* arch/arm/mach-s3c24100/include/mach/gpio-core.h + * + * Copyright 2008 Openmoko, Inc. + * Copyright 2008 Simtec Electronics + * Ben Dooks + * http://armlinux.simtec.co.uk/ + * + * S3C2410 - GPIO core support + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#ifndef __ASM_ARCH_GPIO_CORE_H +#define __ASM_ARCH_GPIO_CORE_H __FILE__ + +#include +#include + +extern struct s3c_gpio_chip s3c24xx_gpios[]; + +static inline struct s3c_gpio_chip *s3c_gpiolib_getchip(unsigned int pin) +{ + struct s3c_gpio_chip *chip; + + if (pin > S3C2410_GPG10) + return NULL; + + chip = &s3c24xx_gpios[pin/32]; + return (S3C2410_GPIO_OFFSET(pin) > chip->chip.ngpio) ? chip : NULL; +} + +#endif /* __ASM_ARCH_GPIO_CORE_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c2410/include/mach/irqs.h linux-2.6.28.6/arch/arm/mach-s3c2410/include/mach/irqs.h --- linux-2.6.28/arch/arm/mach-s3c2410/include/mach/irqs.h 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c2410/include/mach/irqs.h 2009-04-30 09:36:37.000000000 +0200 @@ -134,6 +134,8 @@ #define IRQ_S3C2443_HSMMC S3C2410_IRQ(20) /* IRQ_SDI */ #define IRQ_S3C2443_NAND S3C2410_IRQ(24) /* reserved */ +#define IRQ_HSMMC0 IRQ_S3C2443_HSMMC + #define IRQ_S3C2443_LCD1 S3C2410_IRQSUB(14) #define IRQ_S3C2443_LCD2 S3C2410_IRQSUB(15) #define IRQ_S3C2443_LCD3 S3C2410_IRQSUB(16) @@ -160,6 +162,12 @@ #define NR_IRQS (IRQ_S3C2440_AC97+1) #endif +/* compatibility define. */ +#define IRQ_UART3 IRQ_S3C2443_UART3 +#define IRQ_S3CUART_RX3 IRQ_S3C2443_RX3 +#define IRQ_S3CUART_TX3 IRQ_S3C2443_TX3 +#define IRQ_S3CUART_ERR3 IRQ_S3C2443_ERR3 + /* Our FIQs are routable from IRQ_EINT0 to IRQ_ADCPARENT */ #define FIQ_START IRQ_EINT0 diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c2410/include/mach/map.h linux-2.6.28.6/arch/arm/mach-s3c2410/include/mach/map.h --- linux-2.6.28/arch/arm/mach-s3c2410/include/mach/map.h 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c2410/include/mach/map.h 2009-04-30 09:36:37.000000000 +0200 @@ -13,34 +13,20 @@ #ifndef __ASM_ARCH_MAP_H #define __ASM_ARCH_MAP_H +#include #include #define S3C2410_ADDR(x) S3C_ADDR(x) -/* interrupt controller is the first thing we put in, to make - * the assembly code for the irq detection easier - */ -#define S3C24XX_VA_IRQ S3C_VA_IRQ -#define S3C2410_PA_IRQ (0x4A000000) -#define S3C24XX_SZ_IRQ SZ_1M - -/* memory controller registers */ -#define S3C24XX_VA_MEMCTRL S3C_VA_MEM -#define S3C2410_PA_MEMCTRL (0x48000000) -#define S3C24XX_SZ_MEMCTRL SZ_1M - /* USB host controller */ #define S3C2410_PA_USBHOST (0x49000000) -#define S3C24XX_SZ_USBHOST SZ_1M /* DMA controller */ #define S3C2410_PA_DMA (0x4B000000) #define S3C24XX_SZ_DMA SZ_1M /* Clock and Power management */ -#define S3C24XX_VA_CLKPWR S3C_VA_SYS #define S3C2410_PA_CLKPWR (0x4C000000) -#define S3C24XX_SZ_CLKPWR SZ_1M /* LCD controller */ #define S3C2410_PA_LCD (0x4D000000) @@ -48,48 +34,12 @@ /* NAND flash controller */ #define S3C2410_PA_NAND (0x4E000000) -#define S3C24XX_SZ_NAND SZ_1M - -/* UARTs */ -#define S3C24XX_VA_UART S3C_VA_UART -#define S3C2410_PA_UART (0x50000000) -#define S3C24XX_SZ_UART SZ_1M - -/* Timers */ -#define S3C24XX_VA_TIMER S3C_VA_TIMER -#define S3C2410_PA_TIMER (0x51000000) -#define S3C24XX_SZ_TIMER SZ_1M - -/* USB Device port */ -#define S3C2410_PA_USBDEV (0x52000000) -#define S3C24XX_SZ_USBDEV SZ_1M - -/* Watchdog */ -#define S3C24XX_VA_WATCHDOG S3C_VA_WATCHDOG -#define S3C2410_PA_WATCHDOG (0x53000000) -#define S3C24XX_SZ_WATCHDOG SZ_1M /* IIC hardware controller */ #define S3C2410_PA_IIC (0x54000000) -#define S3C24XX_SZ_IIC SZ_1M /* IIS controller */ #define S3C2410_PA_IIS (0x55000000) -#define S3C24XX_SZ_IIS SZ_1M - -/* GPIO ports */ - -/* the calculation for the VA of this must ensure that - * it is the same distance apart from the UART in the - * phsyical address space, as the initial mapping for the IO - * is done as a 1:1 maping. This puts it (currently) at - * 0xFA800000, which is not in the way of any current mapping - * by the base system. -*/ - -#define S3C2410_PA_GPIO (0x56000000) -#define S3C24XX_VA_GPIO ((S3C2410_PA_GPIO - S3C24XX_PA_UART) + S3C24XX_VA_UART) -#define S3C24XX_SZ_GPIO SZ_1M /* RTC */ #define S3C2410_PA_RTC (0x57000000) @@ -97,15 +47,12 @@ /* ADC */ #define S3C2410_PA_ADC (0x58000000) -#define S3C24XX_SZ_ADC SZ_1M /* SPI */ #define S3C2410_PA_SPI (0x59000000) -#define S3C24XX_SZ_SPI SZ_1M /* SDI */ #define S3C2410_PA_SDI (0x5A000000) -#define S3C24XX_SZ_SDI SZ_1M /* CAMIF */ #define S3C2440_PA_CAMIF (0x4F000000) @@ -120,13 +67,6 @@ #define S3C2443_PA_HSMMC (0x4A800000) #define S3C2443_SZ_HSMMC (256) -/* ISA style IO, for each machine to sort out mappings for, if it - * implements it. We reserve two 16M regions for ISA. - */ - -#define S3C24XX_VA_ISA_WORD S3C2410_ADDR(0x02000000) -#define S3C24XX_VA_ISA_BYTE S3C2410_ADDR(0x03000000) - /* physical addresses of all the chip-select areas */ #define S3C2410_CS0 (0x00000000) @@ -152,27 +92,16 @@ #define S3C24XX_PA_TIMER S3C2410_PA_TIMER #define S3C24XX_PA_USBDEV S3C2410_PA_USBDEV #define S3C24XX_PA_WATCHDOG S3C2410_PA_WATCHDOG -#define S3C24XX_PA_IIC S3C2410_PA_IIC #define S3C24XX_PA_IIS S3C2410_PA_IIS #define S3C24XX_PA_GPIO S3C2410_PA_GPIO #define S3C24XX_PA_RTC S3C2410_PA_RTC #define S3C24XX_PA_ADC S3C2410_PA_ADC #define S3C24XX_PA_SPI S3C2410_PA_SPI +#define S3C24XX_PA_SDI S3C2410_PA_SDI +#define S3C24XX_PA_NAND S3C2410_PA_NAND -/* deal with the registers that move under the 2412/2413 */ - -#if defined(CONFIG_CPU_S3C2412) || defined(CONFIG_CPU_S3C2413) -#ifndef __ASSEMBLY__ -extern void __iomem *s3c24xx_va_gpio2; -#endif -#ifdef CONFIG_CPU_S3C2412_ONLY -#define S3C24XX_VA_GPIO2 (S3C24XX_VA_GPIO + 0x10) -#else -#define S3C24XX_VA_GPIO2 s3c24xx_va_gpio2 -#endif -#else -#define s3c24xx_va_gpio2 S3C24XX_VA_GPIO -#define S3C24XX_VA_GPIO2 S3C24XX_VA_GPIO -#endif +#define S3C_PA_IIC S3C2410_PA_IIC +#define S3C_PA_UART S3C24XX_PA_UART +#define S3C_PA_HSMMC0 S3C2443_PA_HSMMC #endif /* __ASM_ARCH_MAP_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c2410/include/mach/regs-clock.h linux-2.6.28.6/arch/arm/mach-s3c2410/include/mach/regs-clock.h --- linux-2.6.28/arch/arm/mach-s3c2410/include/mach/regs-clock.h 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c2410/include/mach/regs-clock.h 2009-04-30 09:36:37.000000000 +0200 @@ -42,13 +42,6 @@ #define S3C2410_CLKCON_IIS (1<<17) #define S3C2410_CLKCON_SPI (1<<18) -#define S3C2410_PLLCON_MDIVSHIFT 12 -#define S3C2410_PLLCON_PDIVSHIFT 4 -#define S3C2410_PLLCON_SDIVSHIFT 0 -#define S3C2410_PLLCON_MDIVMASK ((1<<(1+(19-12)))-1) -#define S3C2410_PLLCON_PDIVMASK ((1<<5)-1) -#define S3C2410_PLLCON_SDIVMASK 3 - /* DCLKCON register addresses in gpio.h */ #define S3C2410_DCLKCON_DCLK0EN (1<<0) @@ -76,32 +69,6 @@ #define S3C2410_CLKSLOW_SLOWVAL(x) (x) #define S3C2410_CLKSLOW_GET_SLOWVAL(x) ((x) & 7) -#ifndef __ASSEMBLY__ - -#include - -static inline unsigned int -s3c2410_get_pll(unsigned int pllval, unsigned int baseclk) -{ - unsigned int mdiv, pdiv, sdiv; - uint64_t fvco; - - mdiv = pllval >> S3C2410_PLLCON_MDIVSHIFT; - pdiv = pllval >> S3C2410_PLLCON_PDIVSHIFT; - sdiv = pllval >> S3C2410_PLLCON_SDIVSHIFT; - - mdiv &= S3C2410_PLLCON_MDIVMASK; - pdiv &= S3C2410_PLLCON_PDIVMASK; - sdiv &= S3C2410_PLLCON_SDIVMASK; - - fvco = (uint64_t)baseclk * (mdiv + 8); - do_div(fvco, (pdiv + 2) << sdiv); - - return (unsigned int)fvco; -} - -#endif /* __ASSEMBLY__ */ - #if defined(CONFIG_CPU_S3C2440) || defined(CONFIG_CPU_S3C2442) /* extra registers */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c2410/include/mach/regs-gpio.h linux-2.6.28.6/arch/arm/mach-s3c2410/include/mach/regs-gpio.h --- linux-2.6.28/arch/arm/mach-s3c2410/include/mach/regs-gpio.h 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c2410/include/mach/regs-gpio.h 2009-04-30 09:36:37.000000000 +0200 @@ -1053,13 +1053,6 @@ #define S3C24XX_EXTINT1 S3C24XX_GPIOREG2(0x8C) #define S3C24XX_EXTINT2 S3C24XX_GPIOREG2(0x90) -/* values for S3C2410_EXTINT0/1/2 */ -#define S3C2410_EXTINT_LOWLEV (0x00) -#define S3C2410_EXTINT_HILEV (0x01) -#define S3C2410_EXTINT_FALLEDGE (0x02) -#define S3C2410_EXTINT_RISEEDGE (0x04) -#define S3C2410_EXTINT_BOTHEDGE (0x06) - /* interrupt filtering conrrol for EINT16..EINT23 */ #define S3C2410_EINFLT0 S3C2410_GPIOREG(0x94) #define S3C2410_EINFLT1 S3C2410_GPIOREG(0x98) diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c2410/include/mach/spi.h linux-2.6.28.6/arch/arm/mach-s3c2410/include/mach/spi.h --- linux-2.6.28/arch/arm/mach-s3c2410/include/mach/spi.h 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c2410/include/mach/spi.h 2009-04-30 09:36:37.000000000 +0200 @@ -22,5 +22,12 @@ void (*set_cs)(struct s3c2410_spi_info *spi, int cs, int pol); }; +/* Standard setup / suspend routines for SPI GPIO pins. */ + +extern void s3c24xx_spi_gpiocfg_bus0_gpe11_12_13(struct s3c2410_spi_info *spi, + int enable); + +extern void s3c24xx_spi_gpiocfg_bus1_gpg5_6_7(struct s3c2410_spi_info *spi, + int enable); #endif /* __ASM_ARCH_SPI_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c2410/include/mach/system-reset.h linux-2.6.28.6/arch/arm/mach-s3c2410/include/mach/system-reset.h --- linux-2.6.28/arch/arm/mach-s3c2410/include/mach/system-reset.h 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c2410/include/mach/system-reset.h 2009-04-30 09:36:37.000000000 +0200 @@ -13,7 +13,7 @@ #include #include -#include +#include #include #include diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c2410/include/mach/tick.h linux-2.6.28.6/arch/arm/mach-s3c2410/include/mach/tick.h --- linux-2.6.28/arch/arm/mach-s3c2410/include/mach/tick.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c2410/include/mach/tick.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,15 @@ +/* linux/arch/arm/mach-s3c2410/include/mach/tick.h + * + * Copyright 2008 Simtec Electronics + * Ben Dooks + * http://armlinux.simtec.co.uk/ + * + * S3C2410 - timer tick support + */ + +#define SRCPND_TIMER4 (1<<(IRQ_TIMER4 - IRQ_EINT0)) + +static inline int s3c24xx_ostimer_pending(void) +{ + return __raw_readl(S3C2410_SRCPND) & SRCPND_TIMER4; +} diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c2410/mach-amlm5900.c linux-2.6.28.6/arch/arm/mach-s3c2410/mach-amlm5900.c --- linux-2.6.28/arch/arm/mach-s3c2410/mach-amlm5900.c 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c2410/mach-amlm5900.c 2009-04-30 09:36:37.000000000 +0200 @@ -52,6 +52,7 @@ #include #include +#include #include #include @@ -150,7 +151,7 @@ #endif &s3c_device_adc, &s3c_device_wdt, - &s3c_device_i2c, + &s3c_device_i2c0, &s3c_device_usb, &s3c_device_rtc, &s3c_device_usbgadget, @@ -233,6 +234,7 @@ #ifdef CONFIG_FB_S3C2410 s3c24xx_fb_set_platdata(&amlm5900_fb_info); #endif + s3c_i2c0_set_platdata(NULL); platform_add_devices(amlm5900_devices, ARRAY_SIZE(amlm5900_devices)); } diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c2410/mach-bast.c linux-2.6.28.6/arch/arm/mach-s3c2410/mach-bast.c --- linux-2.6.28/arch/arm/mach-s3c2410/mach-bast.c 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c2410/mach-bast.c 2009-04-30 09:36:37.000000000 +0200 @@ -44,8 +44,8 @@ #include #include -#include -#include +#include +#include #include #include @@ -406,7 +406,7 @@ * standard 100KHz i2c bus frequency */ -static struct s3c2410_platform_i2c bast_i2c_info = { +static struct s3c2410_platform_i2c __initdata bast_i2c_info = { .flags = 0, .slave_addr = 0x10, .bus_freq = 100*1000, @@ -553,7 +553,7 @@ &s3c_device_usb, &s3c_device_lcd, &s3c_device_wdt, - &s3c_device_i2c, + &s3c_device_i2c0, &s3c_device_rtc, &s3c_device_nand, &bast_device_dm9k, @@ -588,7 +588,8 @@ s3c24xx_register_clocks(bast_clocks, ARRAY_SIZE(bast_clocks)); s3c_device_nand.dev.platform_data = &bast_nand_info; - s3c_device_i2c.dev.platform_data = &bast_i2c_info; + + s3c_i2c0_set_platdata(&bast_i2c_info); s3c24xx_init_io(bast_iodesc, ARRAY_SIZE(bast_iodesc)); s3c24xx_init_clocks(0); diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c2410/mach-h1940.c linux-2.6.28.6/arch/arm/mach-s3c2410/mach-h1940.c --- linux-2.6.28/arch/arm/mach-s3c2410/mach-h1940.c 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c2410/mach-h1940.c 2009-04-30 09:36:37.000000000 +0200 @@ -38,11 +38,13 @@ #include #include #include -#include +#include +#include #include #include #include +#include #include static struct map_desc h1940_iodesc[] __initdata = { @@ -183,7 +185,7 @@ &s3c_device_usb, &s3c_device_lcd, &s3c_device_wdt, - &s3c_device_i2c, + &s3c_device_i2c0, &s3c_device_iis, &s3c_device_usbgadget, &s3c_device_leds, @@ -215,6 +217,7 @@ s3c24xx_fb_set_platdata(&h1940_fb_info); s3c24xx_udc_set_platdata(&h1940_udc_cfg); + s3c_i2c0_set_platdata(NULL); /* Turn off suspend on both USB ports, and switch the * selectable USB port to USB device mode. */ @@ -223,10 +226,9 @@ S3C2410_MISCCR_USBSUSPND0 | S3C2410_MISCCR_USBSUSPND1, 0x0); - tmp = ( - 0x78 << S3C2410_PLLCON_MDIVSHIFT) - | (0x02 << S3C2410_PLLCON_PDIVSHIFT) - | (0x03 << S3C2410_PLLCON_SDIVSHIFT); + tmp = (0x78 << S3C24XX_PLLCON_MDIVSHIFT) + | (0x02 << S3C24XX_PLLCON_PDIVSHIFT) + | (0x03 << S3C24XX_PLLCON_SDIVSHIFT); writel(tmp, S3C2410_UPLLCON); platform_add_devices(h1940_devices, ARRAY_SIZE(h1940_devices)); diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c2410/mach-n30.c linux-2.6.28.6/arch/arm/mach-s3c2410/mach-n30.c --- linux-2.6.28/arch/arm/mach-s3c2410/mach-n30.c 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c2410/mach-n30.c 2009-04-30 09:36:37.000000000 +0200 @@ -40,14 +40,14 @@ #include #include -#include +#include #include #include #include #include #include -#include +#include static struct map_desc n30_iodesc[] __initdata = { /* nothing here yet */ @@ -320,7 +320,7 @@ static struct platform_device *n30_devices[] __initdata = { &s3c_device_lcd, &s3c_device_wdt, - &s3c_device_i2c, + &s3c_device_i2c0, &s3c_device_iis, &s3c_device_usb, &s3c_device_usbgadget, @@ -332,7 +332,7 @@ static struct platform_device *n35_devices[] __initdata = { &s3c_device_lcd, &s3c_device_wdt, - &s3c_device_i2c, + &s3c_device_i2c0, &s3c_device_iis, &s3c_device_usbgadget, &n35_button_device, @@ -501,7 +501,7 @@ static void __init n30_init(void) { s3c24xx_fb_set_platdata(&n30_fb_info); - s3c_device_i2c.dev.platform_data = &n30_i2ccfg; + s3c_device_i2c0.dev.platform_data = &n30_i2ccfg; s3c24xx_udc_set_platdata(&n30_udc_cfg); /* Turn off suspend on both USB ports, and switch the diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c2410/mach-otom.c linux-2.6.28.6/arch/arm/mach-s3c2410/mach-otom.c --- linux-2.6.28/arch/arm/mach-s3c2410/mach-otom.c 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c2410/mach-otom.c 2009-04-30 09:36:37.000000000 +0200 @@ -35,6 +35,7 @@ #include #include #include +#include #include static struct map_desc otom11_iodesc[] __initdata = { @@ -94,7 +95,7 @@ &s3c_device_usb, &s3c_device_lcd, &s3c_device_wdt, - &s3c_device_i2c, + &s3c_device_i2c0, &s3c_device_iis, &s3c_device_rtc, &otom_device_nor, @@ -109,6 +110,7 @@ static void __init otom11_init(void) { + s3c_i2c0_set_platdata(NULL); platform_add_devices(otom11_devices, ARRAY_SIZE(otom11_devices)); } diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c2410/mach-qt2410.c linux-2.6.28.6/arch/arm/mach-s3c2410/mach-qt2410.c --- linux-2.6.28/arch/arm/mach-s3c2410/mach-qt2410.c 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c2410/mach-qt2410.c 2009-04-30 09:36:37.000000000 +0200 @@ -50,10 +50,11 @@ #include #include #include -#include -#include +#include +#include #include #include +#include #include #include @@ -247,7 +248,7 @@ &s3c_device_usb, &s3c_device_lcd, &s3c_device_wdt, - &s3c_device_i2c, + &s3c_device_i2c0, &s3c_device_iis, &s3c_device_sdi, &s3c_device_usbgadget, @@ -349,6 +350,7 @@ s3c2410_gpio_setpin(S3C2410_GPB0, 1); s3c24xx_udc_set_platdata(&qt2410_udc_cfg); + s3c_i2c0_set_platdata(NULL); s3c2410_gpio_cfgpin(S3C2410_GPB5, S3C2410_GPIO_OUTPUT); diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c2410/mach-smdk2410.c linux-2.6.28.6/arch/arm/mach-s3c2410/mach-smdk2410.c --- linux-2.6.28/arch/arm/mach-s3c2410/mach-smdk2410.c 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c2410/mach-smdk2410.c 2009-04-30 09:36:37.000000000 +0200 @@ -47,6 +47,7 @@ #include #include +#include #include #include @@ -89,7 +90,7 @@ &s3c_device_usb, &s3c_device_lcd, &s3c_device_wdt, - &s3c_device_i2c, + &s3c_device_i2c0, &s3c_device_iis, }; @@ -102,6 +103,7 @@ static void __init smdk2410_init(void) { + s3c_i2c0_set_platdata(NULL); platform_add_devices(smdk2410_devices, ARRAY_SIZE(smdk2410_devices)); smdk_machine_init(); } diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c2410/mach-tct_hammer.c linux-2.6.28.6/arch/arm/mach-s3c2410/mach-tct_hammer.c --- linux-2.6.28/arch/arm/mach-s3c2410/mach-tct_hammer.c 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c2410/mach-tct_hammer.c 2009-04-30 09:36:37.000000000 +0200 @@ -45,6 +45,7 @@ #include #include +#include #include #include @@ -127,7 +128,7 @@ static struct platform_device *tct_hammer_devices[] __initdata = { &s3c_device_adc, &s3c_device_wdt, - &s3c_device_i2c, + &s3c_device_i2c0, &s3c_device_usb, &s3c_device_rtc, &s3c_device_usbgadget, @@ -146,6 +147,7 @@ static void __init tct_hammer_init(void) { + s3c_i2c0_set_platdata(NULL); platform_add_devices(tct_hammer_devices, ARRAY_SIZE(tct_hammer_devices)); } diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c2410/mach-vr1000.c linux-2.6.28.6/arch/arm/mach-s3c2410/mach-vr1000.c --- linux-2.6.28/arch/arm/mach-s3c2410/mach-vr1000.c 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c2410/mach-vr1000.c 2009-04-30 09:36:37.000000000 +0200 @@ -47,6 +47,7 @@ #include #include #include +#include #include "usb-simtec.h" #include "nor-simtec.h" @@ -334,7 +335,7 @@ &s3c_device_usb, &s3c_device_lcd, &s3c_device_wdt, - &s3c_device_i2c, + &s3c_device_i2c0, &s3c_device_adc, &serial_device, &vr1000_dm9k0, @@ -384,6 +385,7 @@ static void __init vr1000_init(void) { + s3c_i2c0_set_platdata(NULL); platform_add_devices(vr1000_devices, ARRAY_SIZE(vr1000_devices)); i2c_register_board_info(0, vr1000_i2c_devs, diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c2410/s3c2410.c linux-2.6.28.6/arch/arm/mach-s3c2410/s3c2410.c --- linux-2.6.28/arch/arm/mach-s3c2410/s3c2410.c 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c2410/s3c2410.c 2009-04-30 09:36:37.000000000 +0200 @@ -16,6 +16,7 @@ #include #include #include +#include #include #include #include @@ -28,6 +29,8 @@ #include #include +#include + #include #include @@ -35,6 +38,7 @@ #include #include #include +#include /* Initial IO mappings */ @@ -59,25 +63,28 @@ * machine specific initialisation. */ -void __init s3c2410_map_io(struct map_desc *mach_desc, int mach_size) +void __init s3c2410_map_io(void) { - /* register our io-tables */ - iotable_init(s3c2410_iodesc, ARRAY_SIZE(s3c2410_iodesc)); - iotable_init(mach_desc, mach_size); } -void __init s3c2410_init_clocks(int xtal) +void __init_or_cpufreq s3c2410_setup_clocks(void) { + struct clk *xtal_clk; unsigned long tmp; + unsigned long xtal; unsigned long fclk; unsigned long hclk; unsigned long pclk; + xtal_clk = clk_get(NULL, "xtal"); + xtal = clk_get_rate(xtal_clk); + clk_put(xtal_clk); + /* now we've got our machine bits initialised, work out what * clocks we've got */ - fclk = s3c2410_get_pll(__raw_readl(S3C2410_MPLLCON), xtal); + fclk = s3c24xx_get_pll(__raw_readl(S3C2410_MPLLCON), xtal); tmp = __raw_readl(S3C2410_CLKDIVN); @@ -95,7 +102,13 @@ * console to use them */ - s3c24xx_setup_clocks(xtal, fclk, hclk, pclk); + s3c24xx_setup_clocks(fclk, hclk, pclk); +} + +void __init s3c2410_init_clocks(int xtal) +{ + s3c24xx_register_baseclocks(xtal); + s3c2410_setup_clocks(); s3c2410_baseclk_add(); } diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c2412/clock.c linux-2.6.28.6/arch/arm/mach-s3c2412/clock.c --- linux-2.6.28/arch/arm/mach-s3c2412/clock.c 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c2412/clock.c 2009-04-30 09:36:37.000000000 +0200 @@ -93,12 +93,6 @@ /* clock selections */ -/* CPU EXTCLK input */ -static struct clk clk_ext = { - .name = "extclk", - .id = -1, -}; - static struct clk clk_erefclk = { .name = "erefclk", .id = -1, diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c2412/dma.c linux-2.6.28.6/arch/arm/mach-s3c2412/dma.c --- linux-2.6.28/arch/arm/mach-s3c2412/dma.c 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c2412/dma.c 2009-04-30 09:36:37.000000000 +0200 @@ -26,13 +26,13 @@ #include #include -#include +#include #include #include #include #include #include -#include +#include #define MAP(x) { (x)| DMA_CH_VALID, (x)| DMA_CH_VALID, (x)| DMA_CH_VALID, (x)| DMA_CH_VALID } diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c2412/mach-jive.c linux-2.6.28.6/arch/arm/mach-s3c2412/mach-jive.c --- linux-2.6.28/arch/arm/mach-s3c2412/mach-jive.c 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c2412/mach-jive.c 2009-04-30 09:36:37.000000000 +0200 @@ -31,8 +31,8 @@ #include #include -#include -#include +#include +#include #include #include @@ -52,7 +52,8 @@ #include #include #include -#include +#include +#include static struct map_desc jive_iodesc[] __initdata = { }; @@ -450,14 +451,14 @@ /* I2C bus and device configuration. */ -static struct s3c2410_platform_i2c jive_i2c_cfg = { +static struct s3c2410_platform_i2c jive_i2c_cfg __initdata = { .max_freq = 80 * 1000, .bus_freq = 50 * 1000, .flags = S3C_IICFLG_FILTER, .sda_delay = 2, }; -static struct i2c_board_info jive_i2c_devs[] = { +static struct i2c_board_info jive_i2c_devs[] __initdata = { [0] = { I2C_BOARD_INFO("lis302dl", 0x1c), .irq = IRQ_EINT14, @@ -470,7 +471,7 @@ &s3c_device_usb, &s3c_device_rtc, &s3c_device_wdt, - &s3c_device_i2c, + &s3c_device_i2c0, &s3c_device_lcd, &jive_device_lcdspi, &jive_device_wm8750, @@ -663,7 +664,7 @@ spi_register_board_info(jive_spi_devs, ARRAY_SIZE(jive_spi_devs)); - s3c_device_i2c.dev.platform_data = &jive_i2c_cfg; + s3c_i2c0_set_platdata(&jive_i2c_cfg); i2c_register_board_info(0, jive_i2c_devs, ARRAY_SIZE(jive_i2c_devs)); pm_power_off = jive_power_off; diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c2412/mach-smdk2413.c linux-2.6.28.6/arch/arm/mach-s3c2412/mach-smdk2413.c --- linux-2.6.28/arch/arm/mach-s3c2412/mach-smdk2413.c 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c2412/mach-smdk2413.c 2009-04-30 09:36:37.000000000 +0200 @@ -37,7 +37,8 @@ #include #include -#include +#include +#include #include #include @@ -105,7 +106,7 @@ &s3c_device_usb, //&s3c_device_lcd, &s3c_device_wdt, - &s3c_device_i2c, + &s3c_device_i2c0, &s3c_device_iis, &s3c_device_usbgadget, }; @@ -142,6 +143,7 @@ s3c24xx_udc_set_platdata(&smdk2413_udc_cfg); + s3c_i2c0_set_platdata(NULL); platform_add_devices(smdk2413_devices, ARRAY_SIZE(smdk2413_devices)); smdk_machine_init(); diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c2412/mach-vstms.c linux-2.6.28.6/arch/arm/mach-s3c2412/mach-vstms.c --- linux-2.6.28/arch/arm/mach-s3c2412/mach-vstms.c 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c2412/mach-vstms.c 2009-04-30 09:36:37.000000000 +0200 @@ -39,7 +39,8 @@ #include #include -#include +#include +#include #include #include @@ -122,7 +123,7 @@ static struct platform_device *vstms_devices[] __initdata = { &s3c_device_usb, &s3c_device_wdt, - &s3c_device_i2c, + &s3c_device_i2c0, &s3c_device_iis, &s3c_device_rtc, &s3c_device_nand, @@ -151,6 +152,7 @@ static void __init vstms_init(void) { + s3c_i2c0_set_platdata(NULL); platform_add_devices(vstms_devices, ARRAY_SIZE(vstms_devices)); } diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c2412/s3c2412.c linux-2.6.28.6/arch/arm/mach-s3c2412/s3c2412.c --- linux-2.6.28/arch/arm/mach-s3c2412/s3c2412.c 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c2412/s3c2412.c 2009-04-30 09:36:37.000000000 +0200 @@ -16,6 +16,7 @@ #include #include #include +#include #include #include #include @@ -33,13 +34,15 @@ #include #include +#include + #include #include #include #include #include #include -#include +#include #include #include @@ -47,6 +50,7 @@ #include #include #include +#include #ifndef CONFIG_CPU_S3C2412_ONLY void __iomem *s3c24xx_va_gpio2 = S3C24XX_VA_GPIO; @@ -136,7 +140,7 @@ * machine specific initialisation. */ -void __init s3c2412_map_io(struct map_desc *mach_desc, int mach_size) +void __init s3c2412_map_io(void) { /* move base of IO */ @@ -153,20 +157,25 @@ /* register our io-tables */ iotable_init(s3c2412_iodesc, ARRAY_SIZE(s3c2412_iodesc)); - iotable_init(mach_desc, mach_size); } -void __init s3c2412_init_clocks(int xtal) +void __init_or_cpufreq s3c2412_setup_clocks(void) { + struct clk *xtal_clk; unsigned long tmp; + unsigned long xtal; unsigned long fclk; unsigned long hclk; unsigned long pclk; + xtal_clk = clk_get(NULL, "xtal"); + xtal = clk_get_rate(xtal_clk); + clk_put(xtal_clk); + /* now we've got our machine bits initialised, work out what * clocks we've got */ - fclk = s3c2410_get_pll(__raw_readl(S3C2410_MPLLCON), xtal*2); + fclk = s3c24xx_get_pll(__raw_readl(S3C2410_MPLLCON), xtal * 2); clk_mpll.rate = fclk; @@ -183,11 +192,17 @@ printk("S3C2412: core %ld.%03ld MHz, memory %ld.%03ld MHz, peripheral %ld.%03ld MHz\n", print_mhz(fclk), print_mhz(hclk), print_mhz(pclk)); + s3c24xx_setup_clocks(fclk, hclk, pclk); +} + +void __init s3c2412_init_clocks(int xtal) +{ /* initialise the clocks here, to allow other things like the * console to use them */ - s3c24xx_setup_clocks(xtal, fclk, hclk, pclk); + s3c24xx_register_baseclocks(xtal); + s3c2412_setup_clocks(); s3c2412_baseclk_add(); } diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c2440/Kconfig linux-2.6.28.6/arch/arm/mach-s3c2440/Kconfig --- linux-2.6.28/arch/arm/mach-s3c2440/Kconfig 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c2440/Kconfig 2009-04-30 09:36:37.000000000 +0200 @@ -28,6 +28,7 @@ config MACH_ANUBIS bool "Simtec Electronics ANUBIS" select CPU_S3C2440 + select S3C24XX_DCLK select PM_SIMTEC if PM select HAVE_PATA_PLATFORM help @@ -37,6 +38,7 @@ config MACH_OSIRIS bool "Simtec IM2440D20 (OSIRIS) module" select CPU_S3C2440 + select S3C24XX_DCLK select PM_SIMTEC if PM help Say Y here if you are using the Simtec IM2440D20 module, also diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c2440/dma.c linux-2.6.28.6/arch/arm/mach-s3c2440/dma.c --- linux-2.6.28/arch/arm/mach-s3c2440/dma.c 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c2440/dma.c 2009-04-30 09:36:37.000000000 +0200 @@ -25,12 +25,12 @@ #include #include -#include +#include #include #include #include #include -#include +#include static struct s3c24xx_dma_map __initdata s3c2440_dma_mappings[] = { [DMACH_XD0] = { diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c2440/mach-anubis.c linux-2.6.28.6/arch/arm/mach-s3c2440/mach-anubis.c --- linux-2.6.28/arch/arm/mach-s3c2440/mach-anubis.c 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c2440/mach-anubis.c 2009-04-30 09:36:37.000000000 +0200 @@ -39,7 +39,8 @@ #include #include #include -#include +#include +#include #include #include @@ -404,7 +405,7 @@ &s3c_device_usb, &s3c_device_wdt, &s3c_device_adc, - &s3c_device_i2c, + &s3c_device_i2c0, &s3c_device_rtc, &s3c_device_nand, &anubis_device_ide0, @@ -468,6 +469,7 @@ static void __init anubis_init(void) { + s3c_i2c0_set_platdata(NULL); platform_add_devices(anubis_devices, ARRAY_SIZE(anubis_devices)); i2c_register_board_info(0, anubis_i2c_devs, diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c2440/mach-at2440evb.c linux-2.6.28.6/arch/arm/mach-s3c2440/mach-at2440evb.c --- linux-2.6.28/arch/arm/mach-s3c2440/mach-at2440evb.c 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c2440/mach-at2440evb.c 2009-04-30 09:36:37.000000000 +0200 @@ -35,7 +35,8 @@ #include #include #include -#include +#include +#include #include #include @@ -166,7 +167,7 @@ &s3c_device_usb, &s3c_device_wdt, &s3c_device_adc, - &s3c_device_i2c, + &s3c_device_i2c0, &s3c_device_rtc, &s3c_device_nand, &at2440evb_device_eth, @@ -183,6 +184,7 @@ static void __init at2440evb_init(void) { + s3c_i2c0_set_platdata(NULL); platform_add_devices(at2440evb_devices, ARRAY_SIZE(at2440evb_devices)); } diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c2440/mach-nexcoder.c linux-2.6.28.6/arch/arm/mach-s3c2440/mach-nexcoder.c --- linux-2.6.28/arch/arm/mach-s3c2440/mach-nexcoder.c 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c2440/mach-nexcoder.c 2009-04-30 09:36:37.000000000 +0200 @@ -37,6 +37,7 @@ //#include #include #include +#include #include #include @@ -107,7 +108,7 @@ &s3c_device_usb, &s3c_device_lcd, &s3c_device_wdt, - &s3c_device_i2c, + &s3c_device_i2c0, &s3c_device_iis, &s3c_device_rtc, &s3c_device_camif, @@ -142,6 +143,7 @@ static void __init nexcoder_init(void) { + s3c_i2c0_set_platdata(NULL); platform_add_devices(nexcoder_devices, ARRAY_SIZE(nexcoder_devices)); }; diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c2440/mach-osiris.c linux-2.6.28.6/arch/arm/mach-s3c2440/mach-osiris.c --- linux-2.6.28/arch/arm/mach-s3c2440/mach-osiris.c 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c2440/mach-osiris.c 2009-04-30 09:36:37.000000000 +0200 @@ -37,7 +37,8 @@ #include #include #include -#include +#include +#include #include #include @@ -335,7 +336,7 @@ /* Standard Osiris devices */ static struct platform_device *osiris_devices[] __initdata = { - &s3c_device_i2c, + &s3c_device_i2c0, &s3c_device_wdt, &s3c_device_nand, &osiris_pcmcia, @@ -398,6 +399,8 @@ sysdev_class_register(&osiris_pm_sysclass); sysdev_register(&osiris_pm_sysdev); + s3c_i2c0_set_platdata(NULL); + i2c_register_board_info(0, osiris_i2c_devs, ARRAY_SIZE(osiris_i2c_devs)); diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c2440/mach-rx3715.c linux-2.6.28.6/arch/arm/mach-s3c2440/mach-rx3715.c --- linux-2.6.28/arch/arm/mach-s3c2440/mach-rx3715.c 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c2440/mach-rx3715.c 2009-04-30 09:36:37.000000000 +0200 @@ -42,7 +42,7 @@ #include #include -#include +#include #include #include @@ -179,7 +179,7 @@ &s3c_device_usb, &s3c_device_lcd, &s3c_device_wdt, - &s3c_device_i2c, + &s3c_device_i2c0, &s3c_device_iis, &s3c_device_nand, }; diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c2440/mach-smdk2440.c linux-2.6.28.6/arch/arm/mach-s3c2440/mach-smdk2440.c --- linux-2.6.28/arch/arm/mach-s3c2440/mach-smdk2440.c 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c2440/mach-smdk2440.c 2009-04-30 09:36:37.000000000 +0200 @@ -37,6 +37,7 @@ #include #include +#include #include #include @@ -152,7 +153,7 @@ &s3c_device_usb, &s3c_device_lcd, &s3c_device_wdt, - &s3c_device_i2c, + &s3c_device_i2c0, &s3c_device_iis, }; @@ -166,6 +167,7 @@ static void __init smdk2440_machine_init(void) { s3c24xx_fb_set_platdata(&smdk2440_fb_info); + s3c_i2c0_set_platdata(NULL); platform_add_devices(smdk2440_devices, ARRAY_SIZE(smdk2440_devices)); smdk_machine_init(); diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c2443/Kconfig linux-2.6.28.6/arch/arm/mach-s3c2443/Kconfig --- linux-2.6.28/arch/arm/mach-s3c2443/Kconfig 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c2443/Kconfig 2009-04-30 09:36:37.000000000 +0200 @@ -24,6 +24,7 @@ bool "SMDK2443" select CPU_S3C2443 select MACH_SMDK + select S3C_DEV_HSMMC help Say Y here if you are using an SMDK2443 diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c2443/clock.c linux-2.6.28.6/arch/arm/mach-s3c2443/clock.c --- linux-2.6.28/arch/arm/mach-s3c2443/clock.c 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c2443/clock.c 2009-04-30 09:36:37.000000000 +0200 @@ -39,6 +39,8 @@ #include +#include + #include #include #include @@ -145,12 +147,6 @@ /* clock selections */ -/* CPU EXTCLK input */ -static struct clk clk_ext = { - .name = "ext", - .id = -1, -}; - static struct clk clk_mpllref = { .name = "mpllref", .parent = &clk_xtal, @@ -165,14 +161,6 @@ }; #endif -static struct clk clk_epllref; - -static struct clk clk_epll = { - .name = "epll", - .parent = &clk_epllref, - .id = -1, -}; - static struct clk clk_i2s_ext = { .name = "i2s-ext", .id = -1, @@ -1011,22 +999,20 @@ &clk_prediv, }; -void __init s3c2443_init_clocks(int xtal) +void __init_or_cpufreq s3c2443_setup_clocks(void) { - unsigned long epllcon = __raw_readl(S3C2443_EPLLCON); unsigned long mpllcon = __raw_readl(S3C2443_MPLLCON); unsigned long clkdiv0 = __raw_readl(S3C2443_CLKDIV0); + struct clk *xtal_clk; + unsigned long xtal; unsigned long pll; unsigned long fclk; unsigned long hclk; unsigned long pclk; - struct clk *clkp; - int ret; - int ptr; - /* s3c2443 parents h and p clocks from prediv */ - clk_h.parent = &clk_prediv; - clk_p.parent = &clk_prediv; + xtal_clk = clk_get(NULL, "xtal"); + xtal = clk_get_rate(xtal_clk); + clk_put(xtal_clk); pll = s3c2443_get_mpll(mpllcon, xtal); clk_msysclk.rate = pll; @@ -1036,13 +1022,29 @@ hclk /= s3c2443_get_hdiv(clkdiv0); pclk = hclk / ((clkdiv0 & S3C2443_CLKDIV0_HALF_PCLK) ? 2 : 1); - s3c24xx_setup_clocks(xtal, fclk, hclk, pclk); + s3c24xx_setup_clocks(fclk, hclk, pclk); printk("S3C2443: mpll %s %ld.%03ld MHz, cpu %ld.%03ld MHz, mem %ld.%03ld MHz, pclk %ld.%03ld MHz\n", (mpllcon & S3C2443_PLLCON_OFF) ? "off":"on", print_mhz(pll), print_mhz(fclk), print_mhz(hclk), print_mhz(pclk)); + s3c24xx_setup_clocks(fclk, hclk, pclk); +} + +void __init s3c2443_init_clocks(int xtal) +{ + struct clk *clkp; + unsigned long epllcon = __raw_readl(S3C2443_EPLLCON); + int ret; + int ptr; + + /* s3c2443 parents h and p clocks from prediv */ + clk_h.parent = &clk_prediv; + clk_p.parent = &clk_prediv; + + s3c24xx_register_baseclocks(xtal); + s3c2443_setup_clocks(); s3c2443_clk_initparents(); for (ptr = 0; ptr < ARRAY_SIZE(clks); ptr++) { @@ -1056,7 +1058,7 @@ } clk_epll.rate = s3c2443_get_epll(epllcon, xtal); - + clk_epll.parent = &clk_epllref; clk_usb_bus.parent = &clk_usb_bus_host; /* ensure usb bus clock is within correct rate of 48MHz */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c2443/dma.c linux-2.6.28.6/arch/arm/mach-s3c2443/dma.c --- linux-2.6.28/arch/arm/mach-s3c2443/dma.c 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c2443/dma.c 2009-04-30 09:36:37.000000000 +0200 @@ -26,12 +26,12 @@ #include #include -#include +#include #include #include #include #include -#include +#include #define MAP(x) { \ [0] = (x) | DMA_CH_VALID, \ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c2443/mach-smdk2443.c linux-2.6.28.6/arch/arm/mach-s3c2443/mach-smdk2443.c --- linux-2.6.28/arch/arm/mach-s3c2443/mach-smdk2443.c 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c2443/mach-smdk2443.c 2009-04-30 09:36:37.000000000 +0200 @@ -37,6 +37,7 @@ #include #include +#include #include #include @@ -103,8 +104,8 @@ static struct platform_device *smdk2443_devices[] __initdata = { &s3c_device_wdt, - &s3c_device_i2c, - &s3c_device_hsmmc, + &s3c_device_i2c0, + &s3c_device_hsmmc0, }; static void __init smdk2443_map_io(void) @@ -116,6 +117,7 @@ static void __init smdk2443_machine_init(void) { + s3c_i2c0_set_platdata(NULL); platform_add_devices(smdk2443_devices, ARRAY_SIZE(smdk2443_devices)); smdk_machine_init(); } diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c2443/s3c2443.c linux-2.6.28.6/arch/arm/mach-s3c2443/s3c2443.c --- linux-2.6.28/arch/arm/mach-s3c2443/s3c2443.c 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c2443/s3c2443.c 2009-04-30 09:36:37.000000000 +0200 @@ -81,10 +81,9 @@ * machine specific initialisation. */ -void __init s3c2443_map_io(struct map_desc *mach_desc, int mach_size) +void __init s3c2443_map_io(void) { iotable_init(s3c2443_iodesc, ARRAY_SIZE(s3c2443_iodesc)); - iotable_init(mach_desc, mach_size); } /* need to register class before we actually register the device, and diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c24a0/include/mach/debug-macro.S linux-2.6.28.6/arch/arm/mach-s3c24a0/include/mach/debug-macro.S --- linux-2.6.28/arch/arm/mach-s3c24a0/include/mach/debug-macro.S 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c24a0/include/mach/debug-macro.S 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,28 @@ +/* arch/arm/mach-s3c2410/include/mach/debug-macro.S + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +/* pull in the relevant register and map files. */ + +#include +#include + + .macro addruart, rx + mrc p15, 0, \rx, c1, c0 + tst \rx, #1 + ldreq \rx, = S3C24XX_PA_UART + ldrne \rx, = S3C24XX_VA_UART +#if CONFIG_DEBUG_S3C_UART != 0 + add \rx, \rx, #(S3C2410_UART1_OFF * CONFIG_DEBUG_S3C_UART) +#endif + .endm + +/* include the reset of the code which will do the work, we're only + * compiling for a single cpu processor type so the default of s3c2440 + * will be fine with us. + */ + +#include diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c24a0/include/mach/io.h linux-2.6.28.6/arch/arm/mach-s3c24a0/include/mach/io.h --- linux-2.6.28/arch/arm/mach-s3c24a0/include/mach/io.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c24a0/include/mach/io.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,16 @@ +/* arch/arm/mach-s3c24a0/include/mach/io.h + * + * Copyright 2008 Simtec Electronics + * Ben Dooks + * + * IO access and mapping routines for the S3C24A0 + */ + +#ifndef __ASM_ARM_ARCH_IO_H +#define __ASM_ARM_ARCH_IO_H + +/* No current ISA/PCI bus support. */ +#define __io(a) ((void __iomem *)(a)) +#define __mem_pci(a) (a) + +#endif diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c24a0/include/mach/irqs.h linux-2.6.28.6/arch/arm/mach-s3c24a0/include/mach/irqs.h --- linux-2.6.28/arch/arm/mach-s3c24a0/include/mach/irqs.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c24a0/include/mach/irqs.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,115 @@ +/* linux/arch/arm/mach-s3c24a0/include/mach/irqs.h + * + * Copyright (c) 2003-2005 Simtec Electronics + * Ben Dooks + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + + +#ifndef __ASM_ARCH_24A0_IRQS_H +#define __ASM_ARCH_24A0_IRQS_H __FILE__ + +#define IRQ_EINT0t2 S3C2410_IRQ(0) /* 16 */ +/* for generic entry-macro.S */ +#define IRQ_EINT0 IRQ_EINT0t2 + +#define IRQ_EINT3t6 S3C2410_IRQ(1) +#define IRQ_EINT7t10 S3C2410_IRQ(2) +#define IRQ_EINT11t14 S3C2410_IRQ(3) +#define IRQ_EINT15t18 S3C2410_IRQ(4) /* 20 */ +#define IRQ_TICK S3C2410_IRQ(5) +#define IRQ_DCTQ S3C2410_IRQ(6) +#define IRQ_MC S3C2410_IRQ(7) +#define IRQ_ME S3C2410_IRQ(8) /* 24 */ +#define IRQ_KEYPAD S3C2410_IRQ(9) +#define IRQ_TIMER0 S3C2410_IRQ(10) +#define IRQ_TIMER1 S3C2410_IRQ(11) +#define IRQ_TIMER2 S3C2410_IRQ(12) +#define IRQ_TIMER3_4 S3C2410_IRQ(13) +#define IRQ_OS_TIMER IRQ_TIMER3_4 +#define IRQ_LCD S3C2410_IRQ(14) +#define IRQ_CAM_C S3C2410_IRQ(15) +#define IRQ_WDT_BATFLT S3C2410_IRQ(16) /* 32 */ +#define IRQ_UART0 S3C2410_IRQ(17) +#define IRQ_CAM_P S3C2410_IRQ(18) +#define IRQ_MODEM S3C2410_IRQ(19) +#define IRQ_DMA S3C2410_IRQ(20) +#define IRQ_SDI S3C2410_IRQ(21) +#define IRQ_SPI0 S3C2410_IRQ(22) +#define IRQ_UART1 S3C2410_IRQ(23) +#define IRQ_AC97_NFLASH S3C2410_IRQ(24) /* 40 */ +#define IRQ_USBD S3C2410_IRQ(25) +#define IRQ_USBH S3C2410_IRQ(26) +#define IRQ_IIC S3C2410_IRQ(27) +#define IRQ_IRDA_MSTICK S3C2410_IRQ(28) /* 44 */ +#define IRQ_VLX_SPI1 S3C2410_IRQ(29) +#define IRQ_RTC S3C2410_IRQ(30) /* 46 */ +#define IRQ_ADC_PEN S3C2410_IRQ(31) + +/* interrupts generated from the external interrupts sources */ +#define IRQ_EINT00 S3C2410_IRQ(32) /* 48 */ +#define IRQ_EINT1 S3C2410_IRQ(33) +#define IRQ_EINT2 S3C2410_IRQ(34) +#define IRQ_EINT3 S3C2410_IRQ(35) +#define IRQ_EINT4 S3C2410_IRQ(36) +#define IRQ_EINT5 S3C2410_IRQ(37) +#define IRQ_EINT6 S3C2410_IRQ(38) +#define IRQ_EINT7 S3C2410_IRQ(39) +#define IRQ_EINT8 S3C2410_IRQ(40) +#define IRQ_EINT9 S3C2410_IRQ(41) +#define IRQ_EINT10 S3C2410_IRQ(42) +#define IRQ_EINT11 S3C2410_IRQ(43) +#define IRQ_EINT12 S3C2410_IRQ(44) +#define IRQ_EINT13 S3C2410_IRQ(45) +#define IRQ_EINT14 S3C2410_IRQ(46) +#define IRQ_EINT15 S3C2410_IRQ(47) +#define IRQ_EINT16 S3C2410_IRQ(48) +#define IRQ_EINT17 S3C2410_IRQ(49) +#define IRQ_EINT18 S3C2410_IRQ(50) + +/* SUB IRQS */ +#define IRQ_S3CUART_RX0 S3C2410_IRQ(51) /* 67 */ +#define IRQ_S3CUART_TX0 S3C2410_IRQ(52) +#define IRQ_S3CUART_ERR0 S3C2410_IRQ(53) + +#define IRQ_S3CUART_RX1 S3C2410_IRQ(54) +#define IRQ_S3CUART_TX1 S3C2410_IRQ(55) +#define IRQ_S3CUART_ERR1 S3C2410_IRQ(56) + +#define IRQ_S3CUART_RX2 (0x0) +#define IRQ_S3CUART_TX2 (0x0) +#define IRQ_S3CUART_ERR2 (0x0) + + +#define IRQ_IRDA S3C2410_IRQ(57) +#define IRQ_MSTICK S3C2410_IRQ(58) +#define IRQ_RESERVED0 S3C2410_IRQ(59) +#define IRQ_RESERVED1 S3C2410_IRQ(60) +#define IRQ_RESERVED2 S3C2410_IRQ(61) +#define IRQ_TIMER3 S3C2410_IRQ(62) +#define IRQ_TIMER4 S3C2410_IRQ(63) +#define IRQ_WDT S3C2410_IRQ(64) +#define IRQ_BATFLT S3C2410_IRQ(65) +#define IRQ_POST S3C2410_IRQ(66) +#define IRQ_DISP_FIFO S3C2410_IRQ(67) +#define IRQ_PENUP S3C2410_IRQ(68) +#define IRQ_PENDN S3C2410_IRQ(69) +#define IRQ_ADC S3C2410_IRQ(70) +#define IRQ_DISP_FRAME S3C2410_IRQ(71) +#define IRQ_NFLASH S3C2410_IRQ(72) +#define IRQ_AC97 S3C2410_IRQ(73) +#define IRQ_SPI1 S3C2410_IRQ(74) +#define IRQ_VLX S3C2410_IRQ(75) +#define IRQ_DMA0 S3C2410_IRQ(76) +#define IRQ_DMA1 S3C2410_IRQ(77) +#define IRQ_DMA2 S3C2410_IRQ(78) +#define IRQ_DMA3 S3C2410_IRQ(79) + +#define IRQ_TC (0x0) + +#define NR_IRQS (IRQ_DMA3+1) + +#endif /* __ASM_ARCH_24A0_IRQS_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c24a0/include/mach/map.h linux-2.6.28.6/arch/arm/mach-s3c24a0/include/mach/map.h --- linux-2.6.28/arch/arm/mach-s3c24a0/include/mach/map.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c24a0/include/mach/map.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,85 @@ +/* linux/arch/arm/mach-s3c24a0/include/mach/map.h + * + * Copyright 2003,2007 Simtec Electronics + * http://armlinux.simtec.co.uk/ + * Ben Dooks + * + * S3C24A0 - Memory map definitions + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#ifndef __ASM_ARCH_24A0_MAP_H +#define __ASM_ARCH_24A0_MAP_H __FILE__ + +#include +#include + +#define S3C24A0_PA_IO_BASE (0x40000000) +#define S3C24A0_PA_CLKPWR (0x40000000) +#define S3C24A0_PA_IRQ (0x40200000) +#define S3C24A0_PA_DMA (0x40400000) +#define S3C24A0_PA_MEMCTRL (0x40C00000) +#define S3C24A0_PA_NAND (0x40C00000) +#define S3C24A0_PA_SROM (0x40C20000) +#define S3C24A0_PA_SDRAM (0x40C40000) +#define S3C24A0_PA_BUSM (0x40CE0000) +#define S3C24A0_PA_USBHOST (0x41000000) +#define S3C24A0_PA_MODEMIF (0x41180000) +#define S3C24A0_PA_IRDA (0x41800000) +#define S3C24A0_PA_TIMER (0x44000000) +#define S3C24A0_PA_WATCHDOG (0x44100000) +#define S3C24A0_PA_RTC (0x44200000) +#define S3C24A0_PA_UART (0x44400000) +#define S3C24A0_PA_UART0 (S3C24A0_PA_UART) +#define S3C24A0_PA_UART1 (S3C24A0_PA_UART + 0x4000) +#define S3C24A0_PA_SPI (0x44500000) +#define S3C24A0_PA_IIC (0x44600000) +#define S3C24A0_PA_IIS (0x44700000) +#define S3C24A0_PA_GPIO (0x44800000) +#define S3C24A0_PA_KEYIF (0x44900000) +#define S3C24A0_PA_USBDEV (0x44A00000) +#define S3C24A0_PA_AC97 (0x45000000) +#define S3C24A0_PA_ADC (0x45800000) +#define S3C24A0_PA_SDI (0x46000000) +#define S3C24A0_PA_MS (0x46100000) +#define S3C24A0_PA_LCD (0x4A000000) +#define S3C24A0_PA_VPOST (0x4A100000) + +/* physical addresses of all the chip-select areas */ + +#define S3C24A0_CS0 (0x00000000) +#define S3C24A0_CS1 (0x04000000) +#define S3C24A0_CS2 (0x08000000) +#define S3C24A0_CS3 (0x0C000000) +#define S3C24A0_CS4 (0x10000000) +#define S3C24A0_CS5 (0x40000000) + +#define S3C24A0_SDRAM_PA (S3C24A0_CS4) + +/* Use a single interface for common resources between S3C24XX cpus */ + +#define S3C24XX_PA_IRQ S3C24A0_PA_IRQ +#define S3C24XX_PA_MEMCTRL S3C24A0_PA_MEMCTRL +#define S3C24XX_PA_USBHOST S3C24A0_PA_USBHOST +#define S3C24XX_PA_DMA S3C24A0_PA_DMA +#define S3C24XX_PA_CLKPWR S3C24A0_PA_CLKPWR +#define S3C24XX_PA_LCD S3C24A0_PA_LCD +#define S3C24XX_PA_UART S3C24A0_PA_UART +#define S3C24XX_PA_TIMER S3C24A0_PA_TIMER +#define S3C24XX_PA_USBDEV S3C24A0_PA_USBDEV +#define S3C24XX_PA_WATCHDOG S3C24A0_PA_WATCHDOG +#define S3C24XX_PA_IIS S3C24A0_PA_IIS +#define S3C24XX_PA_GPIO S3C24A0_PA_GPIO +#define S3C24XX_PA_RTC S3C24A0_PA_RTC +#define S3C24XX_PA_ADC S3C24A0_PA_ADC +#define S3C24XX_PA_SPI S3C24A0_PA_SPI +#define S3C24XX_PA_SDI S3C24A0_PA_SDI +#define S3C24XX_PA_NAND S3C24A0_PA_NAND + +#define S3C_PA_UART S3C24A0_PA_UART +#define S3C_PA_IIC S3C24A0_PA_IIC + +#endif /* __ASM_ARCH_24A0_MAP_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c24a0/include/mach/memory.h linux-2.6.28.6/arch/arm/mach-s3c24a0/include/mach/memory.h --- linux-2.6.28/arch/arm/mach-s3c24a0/include/mach/memory.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c24a0/include/mach/memory.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,19 @@ +/* linux/arch/arm/mach-s3c24a0/include/mach/memory.h + * from linux/include/asm-arm/arch-rpc/memory.h + * + * Copyright (C) 1996,1997,1998 Russell King. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#ifndef __ASM_ARCH_24A0_MEMORY_H +#define __ASM_ARCH_24A0_MEMORY_H __FILE__ + +#define PHYS_OFFSET UL(0x10000000) + +#define __virt_to_bus(x) __virt_to_phys(x) +#define __bus_to_virt(x) __phys_to_virt(x) + +#endif diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c24a0/include/mach/regs-clock.h linux-2.6.28.6/arch/arm/mach-s3c24a0/include/mach/regs-clock.h --- linux-2.6.28/arch/arm/mach-s3c24a0/include/mach/regs-clock.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c24a0/include/mach/regs-clock.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,88 @@ +/* linux/arch/arm/mach-s3c24a0/include/mach/regs-clock.h + * + * Copyright (c) 2003,2004,2005,2006 Simtec Electronics + * http://armlinux.simtec.co.uk/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * S3C24A0 clock register definitions +*/ + +#ifndef __ASM_ARCH_24A0_REGS_CLOCK_H +#define __ASM_ARCH_24A0_REGS_CLOCK_H __FILE__ + +#define S3C24A0_MPLLCON S3C2410_CLKREG(0x10) +#define S3C24A0_UPLLCON S3C2410_CLKREG(0x14) +#define S3C24A0_CLKCON S3C2410_CLKREG(0x20) +#define S3C24A0_CLKSRC S3C2410_CLKREG(0x24) +#define S3C24A0_CLKDIVN S3C2410_CLKREG(0x28) + +/* CLKCON register bits */ + +#define S3C24A0_CLKCON_VLX (1<<29) +#define S3C24A0_CLKCON_VPOST (1<<28) +#define S3C24A0_CLKCON_WDT (1<<27) /* reserved */ +#define S3C24A0_CLKCON_MPEGDCTQ (1<<26) +#define S3C24A0_CLKCON_VPOSTIF (1<<25) +#define S3C24A0_CLKCON_MPEG4IF (1<<24) +#define S3C24A0_CLKCON_CAM_UPLL (1<<23) +#define S3C24A0_CLKCON_LCDC (1<<22) +#define S3C24A0_CLKCON_CAM_HCLK (1<<21) +#define S3C24A0_CLKCON_MPEG4 (1<<20) +#define S3C24A0_CLKCON_KEYPAD (1<<19) +#define S3C24A0_CLKCON_ADC (1<<18) +#define S3C24A0_CLKCON_SDI (1<<17) +#define S3C24A0_CLKCON_MS (1<<16) /* memory stick */ +#define S3C24A0_CLKCON_USBD (1<<15) +#define S3C24A0_CLKCON_GPIO (1<<14) +#define S3C24A0_CLKCON_IIS (1<<13) +#define S3C24A0_CLKCON_IIC (1<<12) +#define S3C24A0_CLKCON_SPI (1<<11) +#define S3C24A0_CLKCON_UART1 (1<<10) +#define S3C24A0_CLKCON_UART0 (1<<9) +#define S3C24A0_CLKCON_PWMT (1<<8) +#define S3C24A0_CLKCON_USBH (1<<7) +#define S3C24A0_CLKCON_AC97 (1<<6) +#define S3C24A0_CLKCON_IrDA (1<<4) +#define S3C24A0_CLKCON_IDLE (1<<2) +#define S3C24A0_CLKCON_MON (1<<1) +#define S3C24A0_CLKCON_STOP (1<<0) + +/* CLKSRC register bits */ + +#define S3C24A0_CLKSRC_OSC (1<<8) /* CLKSRC */ +#define S3C24A0_CLKSRC_UPLL (1<<7) +#define S3C24A0_CLKSRC_MPLL (1<<5) +#define S3C24A0_CLKSRC_EXT (1<<4) + +/* Use a single interface with the common code, for s3c24xx */ + +#define S3C2410_MPLLCON S3C24A0_MPLLCON +#define S3C2410_UPLLCON S3C24A0_UPLLCON +#define S3C2410_CLKCON S3C24A0_CLKCON +#define S3C2410_CLKSLOW S3C24A0_CLKSRC +#define S3C2410_CLKDIVN S3C24A0_CLKDIVN + +#define S3C2410_CLKCON_IDLE S3C24A0_CLKCON_IDLE +#define S3C2410_CLKCON_POWER S3C24A0_CLKCON_STOP +#define S3C2410_CLKCON_LCDC S3C24A0_CLKCON_LCDC +#define S3C2410_CLKCON_USBH S3C24A0_CLKCON_USBH +#define S3C2410_CLKCON_USBD S3C24A0_CLKCON_USBD +#define S3C2410_CLKCON_PWMT S3C24A0_CLKCON_PWMT +#define S3C2410_CLKCON_SDI S3C24A0_CLKCON_SDI +#define S3C2410_CLKCON_UART0 S3C24A0_CLKCON_UART0 +#define S3C2410_CLKCON_UART1 S3C24A0_CLKCON_UART1 +#define S3C2410_CLKCON_GPIO S3C24A0_CLKCON_GPIO +#define S3C2410_CLKCON_ADC S3C24A0_CLKCON_ADC +#define S3C2410_CLKCON_IIC S3C24A0_CLKCON_IIC +#define S3C2410_CLKCON_IIS S3C24A0_CLKCON_IIS +#define S3C2410_CLKCON_SPI S3C24A0_CLKCON_SPI + +#define S3C2410_CLKSLOW_UCLK_OFF S3C24A0_CLKSRC_UPLL +#define S3C2410_CLKSLOW_MPLL_OFF S3C24A0_CLKSRC_MPLL +#define S3C2410_CLKSLOW_SLOW (0xFF) +#define S3C2410_CLKSLOW_GET_SLOWVAL(x) (0x1) + +#endif /* __ASM_ARCH_24A0_REGS_CLOCK_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c24a0/include/mach/regs-irq.h linux-2.6.28.6/arch/arm/mach-s3c24a0/include/mach/regs-irq.h --- linux-2.6.28/arch/arm/mach-s3c24a0/include/mach/regs-irq.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c24a0/include/mach/regs-irq.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,25 @@ +/* linux/arch/arm/mach-s3c24a0/include/mach/regs-irq.h + * + * Copyright (c) 2003 Simtec Electronics + * http://www.simtec.co.uk/products/SWLINUX/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + + +#ifndef ___ASM_ARCH_24A0_REGS_IRQ_H +#define ___ASM_ARCH_24A0_REGS_IRQ_H __FILE__ + + +#define S3C2410_EINTMASK S3C2410_EINTREG(0x034) +#define S3C2410_EINTPEND S3C2410_EINTREG(0X038) + +#define S3C24XX_EINTMASK S3C24XX_EINTREG(0x034) +#define S3C24XX_EINTPEND S3C24XX_EINTREG(0X038) + +#endif /* __ASM_ARCH_24A0_REGS_IRQ_H */ + + + diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c24a0/include/mach/system.h linux-2.6.28.6/arch/arm/mach-s3c24a0/include/mach/system.h --- linux-2.6.28/arch/arm/mach-s3c24a0/include/mach/system.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c24a0/include/mach/system.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,25 @@ +/* linux/arch/arm/mach-s3c24a0/include/mach/system.h + * + * Copyright 2008 Simtec Electronics + * Ben Dooks + * + * S3C24A0 - System function defines and includes + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#include +#include + +#include + +static void arch_idle(void) +{ + /* currently no specific idle support. */ +} + +void (*s3c24xx_reset_hook)(void); + +#include diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c24a0/include/mach/tick.h linux-2.6.28.6/arch/arm/mach-s3c24a0/include/mach/tick.h --- linux-2.6.28/arch/arm/mach-s3c24a0/include/mach/tick.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c24a0/include/mach/tick.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,15 @@ +/* linux/arch/arm/mach-s3c24a0/include/mach/tick.h + * + * Copyright 2008 Simtec Electronics + * Ben Dooks + * http://armlinux.simtec.co.uk/ + * + * S3C24A0 - timer tick support + */ + +#define SUBSRC_TIMER4 (1 << (IRQ_TIMER4 - IRQ_S3CUART_RX0)) + +static inline int s3c24xx_ostimer_pending(void) +{ + return __raw_readl(S3C2410_SUBSRCPND) & SUBSRC_TIMER4; +} diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c24a0/include/mach/timex.h linux-2.6.28.6/arch/arm/mach-s3c24a0/include/mach/timex.h --- linux-2.6.28/arch/arm/mach-s3c24a0/include/mach/timex.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c24a0/include/mach/timex.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,18 @@ +/* linux/arch/arm/mach-s3c24a0/include/mach/timex.h + * + * Copyright (c) 2008 Simtec Electronics + * Ben Dooks + * + * S3C2410 - time parameters + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#ifndef __ASM_ARCH_TIMEX_H +#define __ASM_ARCH_TIMEX_H + +#define CLOCK_TICK_RATE 12000000 + +#endif /* __ASM_ARCH_TIMEX_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c24a0/include/mach/vmalloc.h linux-2.6.28.6/arch/arm/mach-s3c24a0/include/mach/vmalloc.h --- linux-2.6.28/arch/arm/mach-s3c24a0/include/mach/vmalloc.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c24a0/include/mach/vmalloc.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,17 @@ +/* linux/include/asm-arm/arch-s3c24ao/vmalloc.h + * + * Copyright 2008 Simtec Electronics + + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * S3C24A0 vmalloc definition +*/ + +#ifndef __ASM_ARCH_VMALLOC_H +#define __ASM_ARCH_VMALLOC_H + +#define VMALLOC_END (0xE0000000) + +#endif /* __ASM_ARCH_VMALLOC_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c6400/Kconfig linux-2.6.28.6/arch/arm/mach-s3c6400/Kconfig --- linux-2.6.28/arch/arm/mach-s3c6400/Kconfig 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c6400/Kconfig 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,8 @@ +# arch/arm/mach-s3c6400/Kconfig +# +# Copyright 2008 Openmoko, Inc. +# Simtec Electronics, Ben Dooks +# +# Licensed under GPLv2 + +# Currently nothing here, this will be added later diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c6400/Makefile linux-2.6.28.6/arch/arm/mach-s3c6400/Makefile --- linux-2.6.28/arch/arm/mach-s3c6400/Makefile 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c6400/Makefile 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,15 @@ +# arch/arm/mach-s3c6400/Makefile +# +# Copyright 2008 Openmoko, Inc. +# Copyright 2008 Simtec Electronics +# +# Licensed under GPLv2 + +obj-y := +obj-m := +obj-n := +obj- := + +# Core support for S3C6400 system + +obj-n += blank.o diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c6400/Makefile.boot linux-2.6.28.6/arch/arm/mach-s3c6400/Makefile.boot --- linux-2.6.28/arch/arm/mach-s3c6400/Makefile.boot 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c6400/Makefile.boot 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,2 @@ + zreladdr-y := 0x50008000 +params_phys-y := 0x50000100 diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c6400/include/mach/debug-macro.S linux-2.6.28.6/arch/arm/mach-s3c6400/include/mach/debug-macro.S --- linux-2.6.28/arch/arm/mach-s3c6400/include/mach/debug-macro.S 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c6400/include/mach/debug-macro.S 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,39 @@ +/* linux/arch/arm/mach-s3c6400/include/mach/debug-macro.S + * + * Copyright 2008 Openmoko, Inc. + * Copyright 2008 Simtec Electronics + * http://armlinux.simtec.co.uk/ + * Ben Dooks + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +/* pull in the relevant register and map files. */ + +#include +#include + + /* note, for the boot process to work we have to keep the UART + * virtual address aligned to an 1MiB boundary for the L1 + * mapping the head code makes. We keep the UART virtual address + * aligned and add in the offset when we load the value here. + */ + + .macro addruart, rx + mrc p15, 0, \rx, c1, c0 + tst \rx, #1 + ldreq \rx, = S3C_PA_UART + ldrne \rx, = (S3C_VA_UART + S3C_PA_UART & 0xfffff) +#if CONFIG_DEBUG_S3C_UART != 0 + add \rx, \rx, #(0x400 * CONFIG_DEBUG_S3C_UART) +#endif + .endm + +/* include the reset of the code which will do the work, we're only + * compiling for a single cpu processor type so the default of s3c2440 + * will be fine with us. + */ + +#include diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c6400/include/mach/dma.h linux-2.6.28.6/arch/arm/mach-s3c6400/include/mach/dma.h --- linux-2.6.28/arch/arm/mach-s3c6400/include/mach/dma.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c6400/include/mach/dma.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,16 @@ +/* linux/arch/arm/mach-s3c6400/include/mach/dma.h + * + * Copyright 2008 Openmoko, Inc. + * Copyright 2008 Simtec Electronics + * Ben Dooks + * http://armlinux.simtec.co.uk/ + * + * S3C6400 - DMA support + */ + +#ifndef __ASM_ARCH_DMA_H +#define __ASM_ARCH_DMA_H __FILE__ + +#include + +#endif /* __ASM_ARCH_IRQ_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c6400/include/mach/entry-macro.S linux-2.6.28.6/arch/arm/mach-s3c6400/include/mach/entry-macro.S --- linux-2.6.28/arch/arm/mach-s3c6400/include/mach/entry-macro.S 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c6400/include/mach/entry-macro.S 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,44 @@ +/* linux/arch/arm/mach-s3c6400/include/mach/entry-macro.S + * + * Copyright 2008 Openmoko, Inc. + * Copyright 2008 Simtec Electronics + * http://armlinux.simtec.co.uk/ + * Ben Dooks + * + * Low-level IRQ helper macros for the Samsung S3C64XX series + * + * This file is licensed under the terms of the GNU General Public + * License version 2. This program is licensed "as is" without any + * warranty of any kind, whether express or implied. +*/ + +#include +#include +#include + + .macro disable_fiq + .endm + + .macro get_irqnr_preamble, base, tmp + ldr \base, =S3C_VA_VIC0 + .endm + + .macro arch_ret_to_user, tmp1, tmp2 + .endm + + .macro get_irqnr_and_base, irqnr, irqstat, base, tmp + + @ check the vic0 + mov \irqnr, # S3C_IRQ_OFFSET + 31 + ldr \irqstat, [ \base, # VIC_IRQ_STATUS ] + teq \irqstat, #0 + + @ otherwise try vic1 + addeq \tmp, \base, #(S3C_VA_VIC1 - S3C_VA_VIC0) + addeq \irqnr, \irqnr, #32 + ldreq \irqstat, [ \tmp, # VIC_IRQ_STATUS ] + teqeq \irqstat, #0 + + clzne \irqstat, \irqstat + subne \irqnr, \irqnr, \irqstat + .endm diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c6400/include/mach/gpio-core.h linux-2.6.28.6/arch/arm/mach-s3c6400/include/mach/gpio-core.h --- linux-2.6.28/arch/arm/mach-s3c6400/include/mach/gpio-core.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c6400/include/mach/gpio-core.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,21 @@ +/* linux/arch/arm/mach-s3c6400/include/mach/gpio-core.h + * + * Copyright 2008 Openmoko, Inc. + * Copyright 2008 Simtec Electronics + * Ben Dooks + * http://armlinux.simtec.co.uk/ + * + * S3C64XX - GPIO core support + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#ifndef __ASM_ARCH_GPIO_CORE_H +#define __ASM_ARCH_GPIO_CORE_H __FILE__ + +/* currently we just include the platform support */ +#include + +#endif /* __ASM_ARCH_GPIO_CORE_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c6400/include/mach/gpio.h linux-2.6.28.6/arch/arm/mach-s3c6400/include/mach/gpio.h --- linux-2.6.28/arch/arm/mach-s3c6400/include/mach/gpio.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c6400/include/mach/gpio.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,96 @@ +/* linux/arch/arm/mach-s3c6400/include/mach/gpio.h + * + * Copyright 2008 Openmoko, Inc. + * Copyright 2008 Simtec Electronics + * http://armlinux.simtec.co.uk/ + * Ben Dooks + * + * S3C6400 - GPIO lib support + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#define gpio_get_value __gpio_get_value +#define gpio_set_value __gpio_set_value +#define gpio_cansleep __gpio_cansleep +#define gpio_to_irq __gpio_to_irq + +/* GPIO bank sizes */ +#define S3C64XX_GPIO_A_NR (8) +#define S3C64XX_GPIO_B_NR (7) +#define S3C64XX_GPIO_C_NR (8) +#define S3C64XX_GPIO_D_NR (5) +#define S3C64XX_GPIO_E_NR (5) +#define S3C64XX_GPIO_F_NR (16) +#define S3C64XX_GPIO_G_NR (7) +#define S3C64XX_GPIO_H_NR (10) +#define S3C64XX_GPIO_I_NR (16) +#define S3C64XX_GPIO_J_NR (12) +#define S3C64XX_GPIO_K_NR (16) +#define S3C64XX_GPIO_L_NR (15) +#define S3C64XX_GPIO_M_NR (6) +#define S3C64XX_GPIO_N_NR (16) +#define S3C64XX_GPIO_O_NR (16) +#define S3C64XX_GPIO_P_NR (15) +#define S3C64XX_GPIO_Q_NR (9) + +/* GPIO bank numbes */ + +/* CONFIG_S3C_GPIO_SPACE allows the user to select extra + * space for debugging purposes so that any accidental + * change from one gpio bank to another can be caught. +*/ + +#define S3C64XX_GPIO_NEXT(__gpio) \ + ((__gpio##_START) + (__gpio##_NR) + CONFIG_S3C_GPIO_SPACE + 1) + +enum s3c_gpio_number { + S3C64XX_GPIO_A_START = 0, + S3C64XX_GPIO_B_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_A), + S3C64XX_GPIO_C_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_B), + S3C64XX_GPIO_D_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_C), + S3C64XX_GPIO_E_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_D), + S3C64XX_GPIO_F_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_E), + S3C64XX_GPIO_G_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_F), + S3C64XX_GPIO_H_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_G), + S3C64XX_GPIO_I_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_H), + S3C64XX_GPIO_J_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_I), + S3C64XX_GPIO_K_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_J), + S3C64XX_GPIO_L_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_K), + S3C64XX_GPIO_M_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_L), + S3C64XX_GPIO_N_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_M), + S3C64XX_GPIO_O_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_N), + S3C64XX_GPIO_P_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_O), + S3C64XX_GPIO_Q_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_P), +}; + +/* S3C64XX GPIO number definitions. */ + +#define S3C64XX_GPA(_nr) (S3C64XX_GPIO_A_START + (_nr)) +#define S3C64XX_GPB(_nr) (S3C64XX_GPIO_B_START + (_nr)) +#define S3C64XX_GPC(_nr) (S3C64XX_GPIO_C_START + (_nr)) +#define S3C64XX_GPD(_nr) (S3C64XX_GPIO_D_START + (_nr)) +#define S3C64XX_GPE(_nr) (S3C64XX_GPIO_E_START + (_nr)) +#define S3C64XX_GPF(_nr) (S3C64XX_GPIO_F_START + (_nr)) +#define S3C64XX_GPG(_nr) (S3C64XX_GPIO_G_START + (_nr)) +#define S3C64XX_GPH(_nr) (S3C64XX_GPIO_H_START + (_nr)) +#define S3C64XX_GPI(_nr) (S3C64XX_GPIO_I_START + (_nr)) +#define S3C64XX_GPJ(_nr) (S3C64XX_GPIO_J_START + (_nr)) +#define S3C64XX_GPK(_nr) (S3C64XX_GPIO_K_START + (_nr)) +#define S3C64XX_GPL(_nr) (S3C64XX_GPIO_L_START + (_nr)) +#define S3C64XX_GPM(_nr) (S3C64XX_GPIO_M_START + (_nr)) +#define S3C64XX_GPN(_nr) (S3C64XX_GPIO_N_START + (_nr)) +#define S3C64XX_GPO(_nr) (S3C64XX_GPIO_O_START + (_nr)) +#define S3C64XX_GPP(_nr) (S3C64XX_GPIO_P_START + (_nr)) +#define S3C64XX_GPQ(_nr) (S3C64XX_GPIO_Q_START + (_nr)) + +/* the end of the S3C64XX specific gpios */ +#define S3C64XX_GPIO_END (S3C64XX_GPQ(S3C64XX_GPIO_Q_NR) + 1) +#define S3C_GPIO_END S3C64XX_GPIO_END + +/* define the number of gpios we need to the one after the GPQ() range */ +#define ARCH_NR_GPIOS (S3C64XX_GPQ(S3C64XX_GPIO_Q_NR) + 1) + +#include diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c6400/include/mach/hardware.h linux-2.6.28.6/arch/arm/mach-s3c6400/include/mach/hardware.h --- linux-2.6.28/arch/arm/mach-s3c6400/include/mach/hardware.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c6400/include/mach/hardware.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,16 @@ +/* linux/arch/arm/mach-s3c6400/include/mach/hardware.h + * + * Copyright 2008 Openmoko, Inc. + * Copyright 2008 Simtec Electronics + * Ben Dooks + * http://armlinux.simtec.co.uk/ + * + * S3C6400 - Hardware support + */ + +#ifndef __ASM_ARCH_HARDWARE_H +#define __ASM_ARCH_HARDWARE_H __FILE__ + +/* currently nothing here, placeholder */ + +#endif /* __ASM_ARCH_IRQ_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c6400/include/mach/idle.h linux-2.6.28.6/arch/arm/mach-s3c6400/include/mach/idle.h --- linux-2.6.28/arch/arm/mach-s3c6400/include/mach/idle.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c6400/include/mach/idle.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,24 @@ +/* linux/arch/arm/mach-s3c6400/include/mach/idle.h + * + * Copyright (c) 2004 Simtec Electronics + * http://www.simtec.co.uk/products/SWLINUX/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * S3C6400 CPU Idle controls +*/ + +#ifndef __ASM_ARCH_IDLE_H +#define __ASM_ARCH_IDLE_H __FILE__ + +/* This allows the over-ride of the default idle code, in case there + * is any other things to be done over idle (like DVS) +*/ + +extern void (*s3c64xx_idle)(void); + +extern void s3c64xx_default_idle(void); + +#endif /* __ASM_ARCH_IDLE_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c6400/include/mach/irqs.h linux-2.6.28.6/arch/arm/mach-s3c6400/include/mach/irqs.h --- linux-2.6.28/arch/arm/mach-s3c6400/include/mach/irqs.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c6400/include/mach/irqs.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,20 @@ +/* linux/arch/arm/mach-s3c6400/include/mach/irqs.h + * + * Copyright 2008 Openmoko, Inc. + * Copyright 2008 Simtec Electronics + * Ben Dooks + * http://armlinux.simtec.co.uk/ + * + * S3C6400 - IRQ definitions + */ + +#ifndef __ASM_ARCH_IRQS_H +#define __ASM_ARCH_IRQS_H __FILE__ + +#ifndef __ASM_ARM_IRQ_H +#error "Do not include this directly, instead #include " +#endif + +#include + +#endif /* __ASM_ARCH_IRQ_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c6400/include/mach/map.h linux-2.6.28.6/arch/arm/mach-s3c6400/include/mach/map.h --- linux-2.6.28/arch/arm/mach-s3c6400/include/mach/map.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c6400/include/mach/map.h 2010-04-21 06:39:24.000000000 +0200 @@ -0,0 +1,199 @@ +/* linux/arch/arm/mach-s3c6400/include/mach/map.h + * + * Copyright 2008 Openmoko, Inc. + * Copyright 2008 Simtec Electronics + * http://armlinux.simtec.co.uk/ + * Ben Dooks a + * + * S3C64XX - Memory map definitions + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#ifndef __ASM_ARCH_MAP_H +#define __ASM_ARCH_MAP_H __FILE__ + +#include + +/* HSMMC units */ +#define S3C64XX_PA_HSMMC(x) (0x7C200000 + ((x) * 0x100000)) +#define S3C64XX_PA_HSMMC0 S3C64XX_PA_HSMMC(0) +#define S3C64XX_PA_HSMMC1 S3C64XX_PA_HSMMC(1) +#define S3C64XX_PA_HSMMC2 S3C64XX_PA_HSMMC(2) +#define S3C_SZ_HSMMC SZ_1M + +#define S3C_PA_UART (0x7F005000) +#define S3C_PA_UART0 (S3C_PA_UART + 0x00) +#define S3C_PA_UART1 (S3C_PA_UART + 0x400) +#define S3C_PA_UART2 (S3C_PA_UART + 0x800) +#define S3C_PA_UART3 (S3C_PA_UART + 0xC00) +#define S3C_UART_OFFSET (0x400) + +/* See notes on UART VA mapping in debug-macro.S */ +#define S3C_VA_UARTx(x) (S3C_VA_UART + (S3C_PA_UART & 0xfffff) + ((x) * S3C_UART_OFFSET)) + +#define S3C_VA_UART0 S3C_VA_UARTx(0) +#define S3C_VA_UART1 S3C_VA_UARTx(1) +#define S3C_VA_UART2 S3C_VA_UARTx(2) +#define S3C_VA_UART3 S3C_VA_UARTx(3) +#define S3C_SZ_UART SZ_256 + +#define S3C64XX_PA_SYSCON (0x7E00F000) +#define S3C64XX_PA_TIMER (0x7F006000) +#define S3C64XX_PA_IIC0 (0x7F004000) +#define S3C64XX_PA_IIC1 (0x7F00F000) + +#define S3C64XX_PA_GPIO (0x7F008000) +#define S3C64XX_VA_GPIO S3C_ADDR(0x00500000) +#define S3C64XX_SZ_GPIO SZ_4K + +#define S3C64XX_PA_SDRAM (0x50000000) +#define S3C64XX_PA_VIC0 (0x71200000) +#define S3C64XX_PA_VIC1 (0x71300000) + +#define S3C64XX_VA_SROMC S3C_VA_SROMC +#define S3C64XX_PA_SROMC (0x70000000) +#define S3C64XX_SZ_SROMC SZ_1M + +#define S3C64XX_VA_LCD S3C_VA_LCD +#define S3C64XX_PA_LCD (0x77100000) +#define S3C64XX_SZ_LCD SZ_1M + +#define S3C64XX_PA_G2D (0x76100000) +#define S3C64XX_SZ_G2D SZ_1M + +#define S3C64XX_PA_G3D (0x72000000) +#define S3C64XX_SZ_G3D SZ_16M + +#define S3C64XX_PA_FIMC (0x78000000) +#define S3C64XX_SZ_FIMC SZ_1M + +#define S3C64XX_PA_ADC (0x7E00B000) +//#define S3C64XX_PA_SMC9115 (0x18000000) +//#define S3C64XX_SZ_SMC9115 SZ_512M +#define S3C64XX_PA_DM9000 (0x18000000) +#define S3C64XX_SZ_DM9000 SZ_1M +#define S3C64XX_VA_DM9000 S3C_ADDR(0x03b00300) + +#define S3C6400_PA_AC97 (0x7F001000) + +#define S3C64XX_PA_IIS (0x7F002000) +#define S3C64XX_PA_RTC (0x7E005000) +#define S3C64XX_PA_IIS_V40 (0x7F00D000) +#define S3C_SZ_IIS SZ_8K + +/* DMA controller */ +#define S3C64XX_PA_DMA (0x75000000) + +/* place VICs close together */ +#define S3C_VA_VIC0 (S3C_VA_IRQ + 0x00) +#define S3C_VA_VIC1 (S3C_VA_IRQ + 0x10000) + +/* Host I/F Indirect & Direct */ +#define S3C64XX_VA_HOSTIFA S3C_ADDR(0x00B00000) +#define S3C64XX_PA_HOSTIFA (0x74000000) +#define S3C64XX_SZ_HOSTIFA SZ_1M + +#define S3C64XX_VA_HOSTIFB S3C_ADDR(0x00C00000) +#define S3C64XX_PA_HOSTIFB (0x74100000) +#define S3C64XX_SZ_HOSTIFB SZ_1M + +/* TV-ENCODER */ +#define S3C6400_PA_TVENC (0x76200000) +#define S5PC100_PA_TVENC (0xF0000000) +#define S3C_SZ_TVENC SZ_1M + +/* TV-SCALER*/ +#define S3C6400_PA_TVSCALER (0x76300000) +#define S3C_SZ_TVSCALER SZ_1M + +/* Rotator */ +#define S3C6400_PA_ROTATOR (0x77200000) +#define S3C_SZ_ROTATOR SZ_1M + +/* JPEG */ +#define S3C6400_PA_JPEG (0x78800000) +#define S3C_SZ_JPEG SZ_4M + +/* VPP */ +#define S3C6400_PA_VPP (0x77000000) +#define S5PC100_PA_VPP (0xF0100000) +#define S3C_SZ_VPP SZ_1M + +/* MFC */ +#define S3C6400_PA_MFC (0x7E002000) +#define S5PC100_PA_MFC (0xF1000000) +#define S3C_SZ_MFC SZ_4K + +/* NAND flash controller */ +#define S3C64XX_PA_NAND (0x70200000) +#define S3C64XX_SZ_NAND SZ_1M + +/* OneNAND */ +#define S3C64XX_PA_ONENAND (0x70100000) +#define S3C_SZ_ONENAND SZ_1M + +/* USB Host */ +#define S3C64XX_PA_USBHOST (0x74300000) +#define S3C64XX_SZ_USBHOST SZ_1M + +/* USB OTG */ +#define S3C64XX_VA_OTG S3C_ADDR(0x03900000) +#define S3C64XX_PA_OTG (0x7C000000) +#define S3C64XX_SZ_OTG SZ_1M + +/* USB OTG SFR */ +#define S3C64XX_VA_OTGSFR S3C_ADDR(0x03a00000) +#define S3C64XX_PA_OTGSFR (0x7C100000) +#define S3C64XX_SZ_OTGSFR SZ_1M + +#define S3C64XX_PA_KEYPAD (0x7E00A000) +#define S3C64XX_SZ_KEYPAD SZ_4K + +/* SPI */ +#define S3C64XX_PA_SPI (0x7F00B000) +#define S3C64XX_PA_SPI0 (0x7F00B000) +#define S3C64XX_PA_SPI1 (0x7F00C000) +#define S3C64XX_SZ_SPI SZ_8K +#define S3C64XX_SZ_SPI0 SZ_4K +#define S3C64XX_SZ_SPI1 SZ_4K + +/* Watchdog */ +#define S3C64XX_PA_WATCHDOG (0x7E004000) +#define S3C64XX_SZ_WATCHDOG SZ_4K + +/* compatibiltiy defines. */ +#define S3C_PA_TIMER S3C64XX_PA_TIMER +#define S3C_PA_HSMMC0 S3C64XX_PA_HSMMC0 +#define S3C_PA_HSMMC1 S3C64XX_PA_HSMMC1 +#define S3C_PA_HSMMC2 S3C64XX_PA_HSMMC2 +#define S3C_PA_IIC S3C64XX_PA_IIC0 +#define S3C_PA_IIC1 S3C64XX_PA_IIC1 + +#define S3C_PA_RTC S3C64XX_PA_RTC + +#define S3C_PA_SPI S3C64XX_PA_SPI +#define S3C_PA_SPI0 S3C64XX_PA_SPI0 +#define S3C_PA_SPI1 S3C64XX_PA_SPI1 +#define S3C_SZ_SPI S3C64XX_SZ_SPI +#define S3C_SZ_SPI0 S3C64XX_SZ_SPI0 +#define S3C_SZ_SPI1 S3C64XX_SZ_SPI1 + +#define S3C_PA_IIS S3C64XX_PA_IIS +#define S3C_PA_ADC S3C64XX_PA_ADC +#define S3C_PA_DMA S3C64XX_PA_DMA + +#define S3C_VA_OTG S3C64XX_VA_OTG +#define S3C_PA_OTG S3C64XX_PA_OTG +#define S3C_SZ_OTG S3C64XX_SZ_OTG + +#define S3C_VA_OTGSFR S3C64XX_VA_OTGSFR +#define S3C_PA_OTGSFR S3C64XX_PA_OTGSFR +#define S3C_SZ_OTGSFR S3C64XX_SZ_OTGSFR + +#define S3C_PA_KEYPAD S3C64XX_PA_KEYPAD +#define S3C_SZ_KEYPAD S3C64XX_SZ_KEYPAD + +#endif /* __ASM_ARCH_6400_MAP_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c6400/include/mach/memory.h linux-2.6.28.6/arch/arm/mach-s3c6400/include/mach/memory.h --- linux-2.6.28/arch/arm/mach-s3c6400/include/mach/memory.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c6400/include/mach/memory.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,22 @@ +/* linux/arch/arm/mach-s3c6400/include/mach/memory.h + * + * Copyright 2008 Openmoko, Inc. + * Copyright 2008 Simtec Electronics + * Ben Dooks + * http://armlinux.simtec.co.uk/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#ifndef __ASM_ARCH_MEMORY_H +#define __ASM_ARCH_MEMORY_H + +#define PHYS_OFFSET UL(0x50000000) +#define CONSISTENT_DMA_SIZE (SZ_8M + SZ_4M + SZ_2M) + +#define __virt_to_bus(x) __virt_to_phys(x) +#define __bus_to_virt(x) __phys_to_virt(x) + +#endif diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c6400/include/mach/regs-irq.h linux-2.6.28.6/arch/arm/mach-s3c6400/include/mach/regs-irq.h --- linux-2.6.28/arch/arm/mach-s3c6400/include/mach/regs-irq.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c6400/include/mach/regs-irq.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,69 @@ +/* linux/arch/arm/mach-s3c6400/include/mach/regs-irq.h + * + * Copyright 2008 Openmoko, Inc. + * Copyright 2008 Simtec Electronics + * http://armlinux.simtec.co.uk/ + * Ben Dooks + * + * S3C64XX - IRQ register definitions + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#ifndef __ASM_ARCH_REGS_IRQ_H +#define __ASM_ARCH_REGS_IRQ_H __FILE__ + +#include +#include +/* interrupt controller */ +#define S3C_VIC0REG(x) ((x) + S3C_VA_VIC0) +#define S3C_VIC1REG(x) ((x) + S3C_VA_VIC1) + +#define S3C64XX_VIC0IRQSTATUS S3C_VIC0REG(0x000) +#define S3C64XX_VIC1IRQSTATUS S3C_VIC1REG(0x000) + +#define S3C64XX_VIC0FIQSTATUS S3C_VIC0REG(0x004) +#define S3C64XX_VIC1FIQSTATUS S3C_VIC1REG(0x004) + +#define S3C64XX_VIC0RAWINTR S3C_VIC0REG(0x008) +#define S3C64XX_VIC1RAWINTR S3C_VIC1REG(0x008) + +#define S3C64XX_VIC0INTSELECT S3C_VIC0REG(0x00C) +#define S3C64XX_VIC1INTSELECT S3C_VIC1REG(0x00C) + +#define S3C64XX_VIC0INTENABLE S3C_VIC0REG(0x010) +#define S3C64XX_VIC1INTENABLE S3C_VIC1REG(0x010) + +#define S3C64XX_VIC0INTENCLEAR S3C_VIC0REG(0x014) +#define S3C64XX_VIC1INTENCLEAR S3C_VIC1REG(0x014) + +#define S3C64XX_VIC0SOFTINT S3C_VIC0REG(0x018) +#define S3C64XX_VIC1SOFTINT S3C_VIC1REG(0x018) + +#define S3C64XX_VIC0SOFTINTCLEAR S3C_VIC0REG(0x01C) +#define S3C64XX_VIC1SOFTINTCLEAR S3C_VIC1REG(0x01C) + +#define S3C64XX_VIC0PROTECTION S3C_VIC0REG(0x020) +#define S3C64XX_VIC1PROTECTION S3C_VIC1REG(0x020) + +#define S3C64XX_VIC0SWPRIORITYMASK S3C_VIC0REG(0x024) +#define S3C64XX_VIC1SWPRIORITYMASK S3C_VIC1REG(0x024) + +#define S3C64XX_VIC0PRIORITYDAISY S3C_VIC0REG(0x028) +#define S3C64XX_VIC1PRIORITYDAISY S3C_VIC1REG(0x028) + +#define S3C64XX_VIC0VECTADDR0 S3C_VIC0REG(0x100) +#define S3C64XX_VIC1VECTADDR0 S3C_VIC1REG(0x100) + +#define S3C64XX_VIC0VECTADDR1 S3C_VIC0REG(0x104) +#define S3C64XX_VIC1VECTADDR1 S3C_VIC1REG(0x104) + +#define S3C64XX_VIC0VECTADDR2 S3C_VIC0REG(0x108) +#define S3C64XX_VIC1VECTADDR2 S3C_VIC1REG(0x108) + +#define S3C64XX_VIC0ADDRESS S3C_VIC0REG(0xF00) +#define S3C64XX_VIC1ADDRESS S3C_VIC1REG(0xF00) + +#endif /* __ASM_ARCH_6400_REGS_IRQ_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c6400/include/mach/regs-mem.h linux-2.6.28.6/arch/arm/mach-s3c6400/include/mach/regs-mem.h --- linux-2.6.28/arch/arm/mach-s3c6400/include/mach/regs-mem.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c6400/include/mach/regs-mem.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,70 @@ +/* linux/arch/arm/mach-s3c6400/include/mach/regs-mem.h + * + * Copyright (c) 2004 Simtec Electronics + * http://www.simtec.co.uk/products/SWLINUX/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * S3C2410 Memory Control register definitions +*/ + +#ifndef __ASM_ARM_MEMREGS_H +#define __ASM_ARM_MEMREGS_H + +#ifndef S3C64XX_MEMREG +#define S3C64XX_MEMREG(x) (S3C64XX_VA_SROMC + (x)) +#endif + + +/* Bank Idle Cycle Control Registers 0-5 */ +#define S3C64XX_SROM_BW S3C64XX_MEMREG(0x00) + +#define S3C64XX_SROM_BC0 S3C64XX_MEMREG(0x04) +#define S3C64XX_SROM_BC1 S3C64XX_MEMREG(0x08) +#define S3C64XX_SROM_BC2 S3C64XX_MEMREG(0x0C) +#define S3C64XX_SROM_BC3 S3C64XX_MEMREG(0x10) +#define S3C64XX_SROM_BC4 S3C64XX_MEMREG(0x14) +#define S3C64XX_SROM_BC5 S3C64XX_MEMREG(0x18) + +/* SROM BW */ +#define S3C64XX_SROM_BW_DATA_WIDTH0_8BIT (0 << 0) +#define S3C64XX_SROM_BW_DATA_WIDTH0_16BIT (1 << 0) +#define S3C64XX_SROM_BW_DATA_WIDTH0_MASK (1 << 0) + +#define S3C64XX_SROM_BW_WAIT_ENABLE0_DISABLE (0 << 2) +#define S3C64XX_SROM_BW_WAIT_ENABLE0_ENABLE (1 << 2) +#define S3C64XX_SROM_BW_WAIT_ENABLE0_MASK (1 << 2) + +#define S3C64XX_SROM_BW_BYTE_ENABLE0_DISABLE (0 << 3) +#define S3C64XX_SROM_BW_BYTE_ENABLE0_ENABLE (1 << 3) +#define S3C64XX_SROM_BW_BYTE_ENABLE0_MASK (1 << 3) + +#define S3C64XX_SROM_BW_DATA_WIDTH1_8BIT (0 << 4) +#define S3C64XX_SROM_BW_DATA_WIDTH1_16BIT (1 << 4) +#define S3C64XX_SROM_BW_DATA_WIDTH1_MASK (1 << 4) + +#define S3C64XX_SROM_BW_WAIT_ENABLE1_DISABLE (0 << 6) +#define S3C64XX_SROM_BW_WAIT_ENABLE1_ENABLE (1 << 6) +#define S3C64XX_SROM_BW_WAIT_ENABLE1_MASK (1 << 6) + +#define S3C64XX_SROM_BW_BYTE_ENABLE1_DISABLE (0 << 7) +#define S3C64XX_SROM_BW_BYTE_ENABLE1_ENABLE (1 << 7) +#define S3C64XX_SROM_BW_BYTE_ENABLE1_MASK (1 << 7) + +#define S3C64XX_SROM_BW_DATA_WIDTH2_8BIT (0 << 8) +#define S3C64XX_SROM_BW_DATA_WIDTH2_16BIT (1 << 8) +#define S3C64XX_SROM_BW_DATA_WIDTH2_MASK (1 << 8) + +/* SROM BCn */ +#define S3C64XX_SROM_BCn_TACS(x) (x << 28) +#define S3C64XX_SROM_BCn_TCOS(x) (x << 24) +#define S3C64XX_SROM_BCn_TACC(x) (x << 16) +#define S3C64XX_SROM_BCn_TCOH(x) (x << 12) +#define S3C64XX_SROM_BCn_TCAH(x) (x << 8) +#define S3C64XX_SROM_BCn_TACP(x) (x << 4) +#define S3C64XX_SROM_BCn_PMC_NORMAL (0 << 0) +#define S3C64XX_SROM_BCn_PMC_4 (1 << 0) + +#endif /* __ASM_ARM_MEMREGS_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c6400/include/mach/system.h linux-2.6.28.6/arch/arm/mach-s3c6400/include/mach/system.h --- linux-2.6.28/arch/arm/mach-s3c6400/include/mach/system.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c6400/include/mach/system.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,48 @@ +/* linux/arch/arm/mach-s3c6400/include/mach/system.h + * + * Copyright 2008 Openmoko, Inc. + * Copyright 2008 Simtec Electronics + * Ben Dooks + * http://armlinux.simtec.co.uk/ + * + * S3C6400 - system implementation + */ + +#ifndef __ASM_ARCH_SYSTEM_H +#define __ASM_ARCH_SYSTEM_H __FILE__ + +#include +#include +#include + +void (*s3c64xx_idle)(void); +void (*s3c64xx_reset_hook)(void); + +void s3c64xx_default_idle(void) +{ + /* nothing here yet */ +} + +static void arch_idle(void) +{ + if (s3c64xx_idle != NULL) + (s3c64xx_idle)(); + else + s3c64xx_default_idle(); +} + +static void arch_reset(char mode) +{ + void __iomem *wdt_reg; + + wdt_reg = ioremap(S3C64XX_PA_WATCHDOG,S3C64XX_SZ_WATCHDOG); + + /* nothing here yet */ + + writel(S3C2410_WTCNT_CNT, wdt_reg + S3C2410_WTCNT_OFFSET); /* Watchdog Count Register*/ + writel(S3C2410_WTCNT_CON, wdt_reg + S3C2410_WTCON_OFFSET); /* Watchdog Controller Register*/ + writel(S3C2410_WTCNT_DAT, wdt_reg + S3C2410_WTDAT_OFFSET); /* Watchdog Data Register*/ + +} + +#endif /* __ASM_ARCH_IRQ_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c6400/include/mach/tick.h linux-2.6.28.6/arch/arm/mach-s3c6400/include/mach/tick.h --- linux-2.6.28/arch/arm/mach-s3c6400/include/mach/tick.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c6400/include/mach/tick.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,29 @@ +/* linux/arch/arm/mach-s3c6400/include/mach/tick.h + * + * Copyright 2008 Openmoko, Inc. + * Copyright 2008 Simtec Electronics + * http://armlinux.simtec.co.uk/ + * Ben Dooks + * + * S3C64XX - Timer tick support definitions + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#ifndef __ASM_ARCH_TICK_H +#define __ASM_ARCH_TICK_H __FILE__ + +/* note, the timer interrutps turn up in 2 places, the vic and then + * the timer block. We take the VIC as the base at the moment. + */ +static inline u32 s3c24xx_ostimer_pending(void) +{ + u32 pend = __raw_readl(S3C_VA_VIC0 + VIC_RAW_STATUS); + return pend & 1 << (IRQ_TIMER4_VIC - S3C64XX_IRQ_VIC0(0)); +} + +#define TICK_MAX (0xffffffff) + +#endif /* __ASM_ARCH_6400_TICK_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c6400/include/mach/uncompress.h linux-2.6.28.6/arch/arm/mach-s3c6400/include/mach/uncompress.h --- linux-2.6.28/arch/arm/mach-s3c6400/include/mach/uncompress.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c6400/include/mach/uncompress.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,26 @@ +/* linux/arch/arm/mach-s3c6400/include/mach/uncompress.h + * + * Copyright 2008 Openmoko, Inc. + * Copyright 2008 Simtec Electronics + * http://armlinux.simtec.co.uk/ + * Ben Dooks + * + * S3C6400 - uncompress code + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#ifndef __ASM_ARCH_UNCOMPRESS_H +#define __ASM_ARCH_UNCOMPRESS_H + +#include +#include + +static void arch_detect_cpu(void) +{ + /* we do not need to do any cpu detection here at the moment. */ +} + +#endif /* __ASM_ARCH_UNCOMPRESS_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c6400/include/mach/usb-control.h linux-2.6.28.6/arch/arm/mach-s3c6400/include/mach/usb-control.h --- linux-2.6.28/arch/arm/mach-s3c6400/include/mach/usb-control.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c6400/include/mach/usb-control.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,41 @@ +/* arch/arm/mach-s3c2410/include/mach/usb-control.h + * + * Copyright (c) 2004 Simtec Electronics + * Ben Dooks + * + * S3C2410 - usb port information + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#ifndef __ASM_ARCH_USBCONTROL_H +#define __ASM_ARCH_USBCONTROL_H "arch/arm/mach-s3c6400/include/mach/usb-control.h" + +#define S3C_HCDFLG_USED (1) + +struct s3c2410_hcd_port { + unsigned char flags; + unsigned char power; + unsigned char oc_status; + unsigned char oc_changed; +}; + +struct s3c2410_hcd_info { + struct usb_hcd *hcd; + struct s3c2410_hcd_port port[2]; + + void (*power_control)(int port, int to); + void (*enable_oc)(struct s3c2410_hcd_info *, int on); + void (*report_oc)(struct s3c2410_hcd_info *, int ports); +}; + +static void inline s3c2410_usb_report_oc(struct s3c2410_hcd_info *info, int ports) +{ + if (info->report_oc != NULL) { + (info->report_oc)(info, ports); + } +} + +#endif /*__ASM_ARCH_USBCONTROL_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c6410/Kconfig linux-2.6.28.6/arch/arm/mach-s3c6410/Kconfig --- linux-2.6.28/arch/arm/mach-s3c6410/Kconfig 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c6410/Kconfig 2009-11-01 09:58:26.000000000 +0100 @@ -0,0 +1,70 @@ +# arch/arm/mach-s3c6410/Kconfig +# +# Copyright 2008 Openmoko, Inc. +# Copyright 2008 Simtec Electronics +# +# Licensed under GPLv2 + +# Configuration options for the S3C6410 CPU + +config CPU_S3C6410 + bool + select CPU_S3C6400_INIT + select CPU_S3C6400_CLOCK + help + Enable S3C6410 CPU support + +config S3C6410_SETUP_SDHCI + bool + help + Internal helper functions for S3C6410 based SDHCI systems + +config MACH_SMDK6410 + bool "SMDK6410" + select CPU_S3C6410 + select S3C_DEV_HSMMC + select S3C_DEV_HSMMC1 + select S3C_DEV_HSMMC2 +# select S3C_DEV_I2C1 + select S3C6410_SETUP_SDHCI +# select S3C64XX_SETUP_I2C1 + select S3C_DMA_PL080 + help + Machine support for the Samsung SMDK6410 + +# At least some of the SMDK6410s were shipped with the card detect +# for the MMC/SD slots connected to the same input. This means that +# either the boards need to be altered to have channel0 to an alternate +# configuration or that only one slot can be used. + +menu "SMDK6410 MMC/SD slot setup" + depends on MACH_SMDK6410 + +config SMDK6410_SD_CH0 + bool "Use channel 0" + depends on MACH_SMDK6410 + help + Select CON7 (channel 0) as the MMC/SD slot, as + at least some SMDK6410 boards come with the + resistors fitted so that the card detects for + channels 0 and 1 are the same. + +config SMDK6410_SD_CH1 + bool "Use channel 1" + depends on MACH_SMDK6410 + help + Select CON6 (channel 1) as the MMC/SD slot, as + at least some SMDK6410 boards come with the + resistors fitted so that the card detects for + channels 0 and 1 are the same. + +config SMDK6410_SD_CH2 + bool "Use channel 2" + depends on MACH_SMDK6410 + help + Select CON6 (channel 1) as the MMC/SD slot, as + at least some SMDK6410 boards come with the + resistors fitted so that the card detects for + channels 0 and 1 are the same. + +endmenu diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c6410/Makefile linux-2.6.28.6/arch/arm/mach-s3c6410/Makefile --- linux-2.6.28/arch/arm/mach-s3c6410/Makefile 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c6410/Makefile 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,28 @@ +# arch/arm/plat-s3c6410/Makefile +# +# Copyright 2008 Openmoko, Inc. +# Copyright 2008 Simtec Electronics +# +# Licensed under GPLv2 + +obj-y := +obj-m := +obj-n := +obj- := + +# Core support for S3C6410 system + +obj-$(CONFIG_CPU_S3C6410) += cpu.o +obj-$(CONFIG_CPU_S3C6410) += dma.o +obj-$(CONFIG_CPU_S3C6410) += irq.o + + +# Helper and device support + +obj-$(CONFIG_S3C6410_SETUP_SDHCI) += setup-sdhci.o + +obj-$(CONFIG_PM) += pm.o + +# machine support + +obj-$(CONFIG_MACH_SMDK6410) += mach-smdk6410.o diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c6410/cpu.c linux-2.6.28.6/arch/arm/mach-s3c6410/cpu.c --- linux-2.6.28/arch/arm/mach-s3c6410/cpu.c 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c6410/cpu.c 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,133 @@ +/* linux/arch/arm/mach-s3c6410/cpu.c + * + * Copyright 2008 Simtec Electronics + * Copyright 2008 Simtec Electronics + * Ben Dooks + * http://armlinux.simtec.co.uk/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include +#include + +#include +#include + +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +/* Initial IO mappings */ + +static struct map_desc s3c6410_iodesc[] __initdata = { + IODESC_ENT(LCD), + IODESC_ENT(SROMC), + IODESC_ENT(HOSTIFB), + IODESC_ENT(OTG), + IODESC_ENT(OTGSFR), +}; + +static void s3c6410_idle(void) +{ + unsigned long tmp; + + /* Ensure our idle mode is to go to idle */ + /* Set WFI instruction to SLEEP mode */ + + tmp = __raw_readl(S3C_PWR_CFG); + tmp &= ~(0x3<<5); + tmp |= (0x1<<5); + __raw_writel(tmp, S3C_PWR_CFG); + + cpu_do_idle(); +} + +/* s3c6410_map_io + * + * register the standard cpu IO areas +*/ + +void __init s3c6410_map_io(void) +{ + iotable_init(s3c6410_iodesc, ARRAY_SIZE(s3c6410_iodesc)); + + /* initialise device information early */ + s3c6410_default_sdhci0(); + s3c6410_default_sdhci1(); + s3c6410_default_sdhci2(); + + /* the i2c devices are directly compatible with s3c2440 */ + s3c_i2c0_setname("s3c2440-i2c"); + s3c_i2c1_setname("s3c2440-i2c"); + + /* set our idle function */ + s3c64xx_idle = s3c6410_idle; +} + +void __init s3c6410_init_clocks(int xtal) +{ + printk(KERN_DEBUG "%s: initialising clocks\n", __func__); + s3c24xx_register_baseclocks(xtal); + s3c64xx_register_clocks(); + s3c6400_register_clocks(); + s3c6400_setup_clocks(); +#ifdef CONFIG_HAVE_PWM + s3c24xx_pwmclk_init(); +#endif +} + +void __init s3c6410_init_irq(void) +{ + /* VIC0 is missing IRQ7, VIC1 is fully populated. */ + s3c64xx_init_irq(~0 & ~(1 << 7), ~0); +} + +struct sysdev_class s3c6410_sysclass = { + .name = "s3c6410-core", +}; + +static struct sys_device s3c6410_sysdev = { + .cls = &s3c6410_sysclass, +}; + +static int __init s3c6410_core_init(void) +{ + return sysdev_class_register(&s3c6410_sysclass); +} + +core_initcall(s3c6410_core_init); + +int __init s3c6410_init(void) +{ + printk("S3C6410: Initialising architecture\n"); + + return sysdev_register(&s3c6410_sysdev); +} diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c6410/dma.c linux-2.6.28.6/arch/arm/mach-s3c6410/dma.c --- linux-2.6.28/arch/arm/mach-s3c6410/dma.c 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c6410/dma.c 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,364 @@ +/* linux/arch/arm/mach-s3c6410/dma.c + * + * Copyright (c) 2003-2005,2006 Samsung Electronics + * + * S3C6410 DMA selection + * + * http://www.samsung.com/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#include +#include +#include +#include + +#include +#include +#include + +#include +#include + + +/* DMAC-0 */ +#define MAP0(x) { \ + [0] = (x) | DMA_CH_VALID, \ + [1] = (x) | DMA_CH_VALID, \ + [2] = (x) | DMA_CH_VALID, \ + [3] = (x) | DMA_CH_VALID, \ + [4] = (x) | DMA_CH_VALID, \ + [5] = (x) | DMA_CH_VALID, \ + [6] = (x) | DMA_CH_VALID, \ + [7] = (x) | DMA_CH_VALID, \ + [8] = (x), \ + [9] = (x), \ + [10] = (x), \ + [11] = (x), \ + [12] = (x), \ + [13] = (x), \ + [14] = (x), \ + [15] = (x), \ + [16] = (x), \ + [17] = (x), \ + [18] = (x), \ + [19] = (x), \ + [20] = (x), \ + [21] = (x), \ + [22] = (x), \ + [23] = (x), \ + [24] = (x), \ + [25] = (x), \ + [26] = (x), \ + [27] = (x), \ + [28] = (x), \ + [29] = (x), \ + [30] = (x), \ + [31] = (x), \ + } + +/* DMAC-1 */ +#define MAP1(x) { \ + [0] = (x), \ + [1] = (x), \ + [2] = (x), \ + [3] = (x), \ + [4] = (x), \ + [5] = (x), \ + [6] = (x), \ + [7] = (x), \ + [8] = (x) | DMA_CH_VALID, \ + [9] = (x) | DMA_CH_VALID, \ + [10] = (x) | DMA_CH_VALID, \ + [11] = (x) | DMA_CH_VALID, \ + [12] = (x) | DMA_CH_VALID, \ + [13] = (x) | DMA_CH_VALID, \ + [14] = (x) | DMA_CH_VALID, \ + [15] = (x) | DMA_CH_VALID, \ + [16] = (x), \ + [17] = (x), \ + [18] = (x), \ + [19] = (x), \ + [20] = (x), \ + [21] = (x), \ + [22] = (x), \ + [23] = (x), \ + [24] = (x), \ + [25] = (x), \ + [26] = (x), \ + [27] = (x), \ + [28] = (x), \ + [29] = (x), \ + [30] = (x), \ + [31] = (x), \ + } + +/* SDMAC-0 */ +#define MAP2(x) { \ + [0] = (x), \ + [1] = (x), \ + [2] = (x), \ + [3] = (x), \ + [4] = (x), \ + [5] = (x), \ + [6] = (x), \ + [7] = (x), \ + [8] = (x), \ + [9] = (x), \ + [10] = (x), \ + [11] = (x), \ + [12] = (x), \ + [13] = (x), \ + [14] = (x), \ + [15] = (x), \ + [16] = (x) | DMA_CH_VALID, \ + [17] = (x) | DMA_CH_VALID, \ + [18] = (x) | DMA_CH_VALID, \ + [19] = (x) | DMA_CH_VALID, \ + [20] = (x) | DMA_CH_VALID, \ + [21] = (x) | DMA_CH_VALID, \ + [22] = (x) | DMA_CH_VALID, \ + [23] = (x) | DMA_CH_VALID, \ + [24] = (x), \ + [25] = (x), \ + [26] = (x), \ + [27] = (x), \ + [28] = (x), \ + [29] = (x), \ + [30] = (x), \ + [31] = (x), \ + } + +/* SDMAC-1 */ +#define MAP3(x) { \ + [0] = (x), \ + [1] = (x), \ + [2] = (x), \ + [3] = (x), \ + [4] = (x), \ + [5] = (x), \ + [6] = (x), \ + [7] = (x), \ + [8] = (x), \ + [9] = (x), \ + [10] = (x), \ + [11] = (x), \ + [12] = (x), \ + [13] = (x), \ + [14] = (x), \ + [15] = (x), \ + [16] = (x), \ + [17] = (x), \ + [18] = (x), \ + [19] = (x), \ + [20] = (x), \ + [21] = (x), \ + [22] = (x), \ + [23] = (x), \ + [24] = (x) | DMA_CH_VALID, \ + [25] = (x) | DMA_CH_VALID, \ + [26] = (x) | DMA_CH_VALID, \ + [27] = (x) | DMA_CH_VALID, \ + [28] = (x) | DMA_CH_VALID, \ + [29] = (x) | DMA_CH_VALID, \ + [30] = (x) | DMA_CH_VALID, \ + [31] = (x) | DMA_CH_VALID, \ + } + +/* SDMAC-0 */ +#define MAP2_ONENAND(x) { \ + [0] = (x), \ + [1] = (x), \ + [2] = (x), \ + [3] = (x) , \ + [4] = (x), \ + [5] = (x), \ + [6] = (x), \ + [7] = (x), \ + [8] = (x), \ + [9] = (x), \ + [10] = (x), \ + [11] = (x), \ + [12] = (x), \ + [13] = (x), \ + [14] = (x), \ + [15] = (x), \ + [16] = (x), \ + [17] = (x), \ + [18] = (x) , \ + [19] = (x) | DMA_CH_VALID, \ + [20] = (x), \ + [21] = (x), \ + [22] = (x), \ + [23] = (x), \ + [24] = (x), \ + [25] = (x), \ + [26] = (x), \ + [27] = (x), \ + [28] = (x), \ + [29] = (x), \ + [30] = (x), \ + [31] = (x), \ + } + + +/* DMAC0 DMA request sources */ +#define S3C_DMA0_UART0CH0 0 +#define S3C_DMA0_UART0CH1 1 +#define S3C_DMA0_UART1CH0 2 +#define S3C_DMA0_UART1CH1 3 +#define S3C_DMA0_ONENAND_RX 3 /* Memory to Memory DMA */ +#define S3C_DMA0_UART2CH0 4 +#define S3C_DMA0_UART2CH1 5 +#define S3C_DMA0_UART3CH0 6 +#define S3C_DMA0_UART3CH1 7 +#define S3C_DMA0_PCM0_TX 8 +#define S3C_DMA0_PCM0_RX 9 +#define S3C_DMA0_I2S0_TX 10 +#define S3C_DMA0_I2S0_RX 11 +#define S3C_DMA0_SPI0_TX 12 +#define S3C_DMA0_SPI0_RX 13 +#define S3C_DMA0_HSI_TX 14 +#define S3C_DMA0_HSI_RX 15 + +/* DMAC1 DMA request sources */ +#define S3C_DMA1_PCM1_TX 0 +#define S3C_DMA1_PCM1_RX 1 +#define S3C_DMA1_I2S1_TX 2 +#define S3C_DMA1_I2S1_RX 3 +#define S3C_DMA1_SPI1_TX 4 +#define S3C_DMA1_SPI1_RX 5 +#define S3C_DMA1_AC97_PCMOUT 6 +#define S3C_DMA1_AC97_PCMIN 7 +#define S3C_DMA1_AC97_MICIN 8 +#define S3C_DMA1_PWM 9 +#define S3C_DMA1_IRDA 10 +#define S3C_DMA1_EXT 11 + + +static struct s3c_dma_map __initdata s3c6410_dma_mappings[] = { + + [DMACH_I2S_IN] = { + .name = "i2s0-in", + .channels = MAP0(S3C_DMA0_I2S0_RX), + .hw_addr.from = S3C_DMA0_I2S0_RX, + .sdma_sel = 1 << S3C_DMA0_I2S0_RX, + }, + [DMACH_I2S_OUT] = { + .name = "i2s0-out", + .channels = MAP0(S3C_DMA0_I2S0_TX), + .hw_addr.to = S3C_DMA0_I2S0_TX, + .sdma_sel = 1 << S3C_DMA0_I2S0_TX, + }, + [DMACH_I2S1_IN] = { + .name = "i2s1-in", + .channels = MAP1(S3C_DMA1_I2S1_RX), + .hw_addr.from = S3C_DMA1_I2S1_RX, + .sdma_sel = 1 << (S3C_DMA1_I2S1_RX+S3C_DMA1), + }, + [DMACH_I2S1_OUT] = { + .name = "i2s1-out", + .channels = MAP1(S3C_DMA1_I2S1_TX), + .hw_addr.to = S3C_DMA1_I2S1_TX, + .sdma_sel = 1 << (S3C_DMA1_I2S1_TX+S3C_DMA1), + }, + [DMACH_SPI0_IN] = { + .name = "spi0-in", + .channels = MAP0(S3C_DMA0_SPI0_RX), + .hw_addr.from = S3C_DMA0_SPI0_RX, + .sdma_sel = 1 << S3C_DMA0_SPI0_RX, + }, + [DMACH_SPI0_OUT] = { + .name = "spi0-out", + .channels = MAP0(S3C_DMA0_SPI0_TX), + .hw_addr.to = S3C_DMA0_SPI0_TX, + .sdma_sel = 1 << S3C_DMA0_SPI0_TX, + }, + [DMACH_SPI1_IN] = { + .name = "spi1-in", + .channels = MAP1(S3C_DMA1_SPI1_RX), + .hw_addr.from = S3C_DMA1_SPI1_RX, + .sdma_sel = 1 << (S3C_DMA1_SPI1_RX+S3C_DMA1), + }, + [DMACH_SPI1_OUT] = { + .name = "spi1-out", + .channels = MAP1(S3C_DMA1_SPI1_TX), + .hw_addr.to = S3C_DMA1_SPI1_TX, + .sdma_sel = 1 << (S3C_DMA1_SPI1_TX+S3C_DMA1), + }, + [DMACH_AC97_PCM_OUT] = { + .name = "ac97-pcm-out", + .channels = MAP1(S3C_DMA1_AC97_PCMOUT), + .hw_addr.to = S3C_DMA1_AC97_PCMOUT, + .sdma_sel = 1 << (S3C_DMA1_AC97_PCMOUT+S3C_DMA1), + }, + [DMACH_AC97_PCM_IN] = { + .name = "ac97-pcm-in", + .channels = MAP1(S3C_DMA1_AC97_PCMIN), + .hw_addr.from = S3C_DMA1_AC97_PCMIN, + .sdma_sel = 1 << (S3C_DMA1_AC97_PCMIN+S3C_DMA1), + }, + [DMACH_AC97_MIC_IN] = { + .name = "ac97-mic-in", + .channels = MAP1(S3C_DMA1_AC97_MICIN), + .hw_addr.from = S3C_DMA1_AC97_MICIN, + .sdma_sel = 1 << (S3C_DMA1_AC97_MICIN+S3C_DMA1), + }, + [DMACH_ONENAND_IN] = { + .name = "onenand-in", + .channels = MAP2_ONENAND(S3C_DMA0_ONENAND_RX), + .hw_addr.from = S3C_DMA0_ONENAND_RX, + }, + [DMACH_3D_M2M] = { + .name = "3D-M2M", + .channels = MAP1(S3C_DMA1_EXT), + .hw_addr.from = S3C_DMA1_EXT, + }, + [DMACH_I2S_V40_IN] = { + .name = "i2s-v40-in", + .channels = MAP0(S3C_DMA0_HSI_RX), + .hw_addr.from = S3C_DMA0_HSI_RX, + .sdma_sel = 1 << S3C_DMA0_HSI_RX, + }, + [DMACH_I2S_V40_OUT] = { + .name = "i2s-v40-out", + .channels = MAP0(S3C_DMA0_HSI_TX), + .hw_addr.to = S3C_DMA0_HSI_TX, + .sdma_sel = 1 << S3C_DMA0_HSI_TX, + }, +}; + +static void s3c6410_dma_select(struct s3c2410_dma_chan *chan, + struct s3c_dma_map *map) +{ + chan->map = map; +} + +static struct s3c_dma_selection __initdata s3c6410_dma_sel = { + .select = s3c6410_dma_select, + .dcon_mask = 0, + .map = s3c6410_dma_mappings, + .map_size = ARRAY_SIZE(s3c6410_dma_mappings), +}; + +static int __init s3c6410_dma_add(struct sys_device *sysdev) +{ + s3c_dma_init(S3C_DMA_CHANNELS, IRQ_DMA0, 0x20); + return s3c_dma_init_map(&s3c6410_dma_sel); +} + +static struct sysdev_driver s3c6410_dma_driver = { + .add = s3c6410_dma_add, +}; + +static int __init s3c6410_dma_init(void) +{ + return sysdev_driver_register(&s3c6410_sysclass, &s3c6410_dma_driver); +} + +arch_initcall(s3c6410_dma_init); + + diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c6410/irq.c linux-2.6.28.6/arch/arm/mach-s3c6410/irq.c --- linux-2.6.28/arch/arm/mach-s3c6410/irq.c 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c6410/irq.c 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,47 @@ +/* linux/arch/arm/mach-s3c6410/irq.c + * + * Copyright (c) 2006 Simtec Electronics + * Ben Dooks + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * +*/ + +#include +#include +#include +#include +#include + +#include +#include + +static int s3c6410_irq_add(struct sys_device *sysdev) +{ + return 0; +} + +static struct sysdev_driver s3c6410_irq_driver = { + .add = s3c6410_irq_add, + .suspend = s3c64xx_irq_suspend, + .resume = s3c64xx_irq_resume, +}; + +static int s3c6410_irq_init(void) +{ + return sysdev_driver_register(&s3c6410_sysclass, &s3c6410_irq_driver); +} + +arch_initcall(s3c6410_irq_init); diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c6410/mach-smdk6410.c linux-2.6.28.6/arch/arm/mach-s3c6410/mach-smdk6410.c --- linux-2.6.28/arch/arm/mach-s3c6410/mach-smdk6410.c 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c6410/mach-smdk6410.c 2010-07-20 05:04:29.000000000 +0200 @@ -0,0 +1,524 @@ +/* linux/arch/arm/mach-s3c6410/mach-smdk6410.c + * + * Copyright 2008 Openmoko, Inc. + * Copyright 2008 Simtec Electronics + * Ben Dooks + * http://armlinux.simtec.co.uk/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * +*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include +#include +#include + +#include +#include +#include + +#include +#include +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + + + + + + +#ifdef CONFIG_USB_SUPPORT +#include +#include + +/* S3C_USB_CLKSRC 0: EPLL 1: CLK_48M */ +#define S3C_USB_CLKSRC 1 + +#ifdef USB_HOST_PORT2_EN +#define OTGH_PHY_CLK_VALUE (0x60) /* Serial Interface, otg_phy input clk 48Mhz Oscillator */ +#else +//#define OTGH_PHY_CLK_VALUE (0x20) /* UTMI Interface, otg_phy input clk 48Mhz Oscillator */ +#define OTGH_PHY_CLK_VALUE (0x0) + +#endif +#endif + +#define UCON S3C2410_UCON_DEFAULT | S3C2410_UCON_UCLK +#define ULCON S3C2410_LCON_CS8 | S3C2410_LCON_PNONE | S3C2410_LCON_STOPB +#define UFCON S3C2410_UFCON_RXTRIG8 | S3C2410_UFCON_FIFOMODE + +extern struct sys_timer s3c_timer; +extern void s3c64xx_reserve_bootmem(void); + +//static struct samspi_device spidev_b0_cs0; +#if 0 +static struct samspi_device ProtocolADriver_b1_cs0; +static struct samspi_device spidev_b0_cs1; +static struct samspi_device ProtocolBDriver_b1_cs1; +static struct samspi_device spidev_b1_cs2; +#endif + +static struct spi_board_info __initdata sam_spi_devs[] = { + [0] = { + .modalias = "spidev", /* Test Interface */ + .mode = SPI_MODE_2, /* CPOL=1, CPHA=0 */ + .max_speed_hz = 2468013, + /* Connected to SPI-0 as 1st Slave */ + .bus_num = 0, + .irq = IRQ_SPI0, + .chip_select = 0, +// .controller_data = (void *)&spidev_b0_cs0, +#if 0 + }, { + .modalias = "ProtocolADriver", + .mode = SPI_MODE_2, + .max_speed_hz = 1357923, + /* Connected to SPI-1 as 1st Slave */ + .bus_num = 1, + .irq = IRQ_SPI1, + .chip_select = 0, + .controller_data = (void *)&ProtocolADriver_b1_cs0, + }, { + .modalias = "spidev", + .mode = SPI_MODE_2, + .max_speed_hz = 2357923, + /* Connected to SPI-0 as 2nd Slave */ + .bus_num = 0, + .irq = IRQ_SPI0, + .chip_select = 1, + .controller_data = (void *)&spidev_b0_cs1, + }, { + .modalias = "ProtocolBDriver", + .mode = SPI_MODE_2, + .max_speed_hz = 3357923, + /* Connected to SPI-1 as 2ndst Slave */ + .bus_num = 1, + .irq = IRQ_SPI1, + .chip_select = 1, + .controller_data = (void *)&ProtocolBDriver_b1_cs1, + }, { + .modalias = "spidev", + .mode = SPI_MODE_2, + .max_speed_hz = 4357923, + /* Connected to SPI-1 as 3rd Slave */ + .bus_num = 1, + .irq = IRQ_SPI1, + .chip_select = 2, + .controller_data = (void *)&spidev_b1_cs2, +#endif + }, +}; + +static struct s3c2410_uartcfg smdk6410_uartcfgs[] __initdata = { + [0] = { + .hwport = 0, + .flags = 0, + .ucon = S3C64XX_UCON_DEFAULT, + .ulcon = S3C64XX_ULCON_DEFAULT, + .ufcon = S3C64XX_UFCON_DEFAULT, + }, + [1] = { + .hwport = 1, + .flags = 0, + .ucon = S3C64XX_UCON_DEFAULT, + .ulcon = S3C64XX_ULCON_DEFAULT, + .ufcon = S3C64XX_UFCON_DEFAULT, + }, + [2] = { + .hwport = 2, + .flags = 0, + .ucon = S3C64XX_UCON_DEFAULT, + .ulcon = S3C64XX_ULCON_DEFAULT, + .ufcon = S3C64XX_UFCON_DEFAULT, + }, + [3] = { + .hwport = 3, + .flags = 0, + .ucon = S3C64XX_UCON_DEFAULT, + .ulcon = S3C64XX_ULCON_DEFAULT, + .ufcon = S3C64XX_UFCON_DEFAULT, + }, +}; + +struct map_desc smdk6410_iodesc[] = { + { + .virtual = (u32)S3C64XX_VA_DM9000, + .pfn = __phys_to_pfn(S3C64XX_PA_DM9000), + .length = S3C64XX_SZ_DM9000, + .type = MT_DEVICE, + }, +}; + +static struct platform_device *smdk6410_devices[] __initdata = { +#ifdef CONFIG_SMDK6410_SD_CH0 + &s3c_device_hsmmc0, +#endif +#ifdef CONFIG_SMDK6410_SD_CH1 + &s3c_device_hsmmc1, +#endif +#ifdef CONFIG_SMDK6410_SD_CH2 + &s3c_device_hsmmc2, +#endif + &s3c_device_wdt, + &s3c_device_rtc, + &s3c_device_i2c0, + //&s3c_device_i2c1, + &s3c_device_spi0, + &s3c_device_spi1, + &s3c_device_keypad, +#if defined(CONFIG_TOUCHSCREEN_S3C) + &s3c_device_ts, +#endif + &s3c_device_dm9000, + &s3c_device_lcd, + &s3c_device_vpp, + &s3c_device_mfc, + &s3c_device_tvenc, + &s3c_device_tvscaler, + &s3c_device_rotator, + &s3c_device_jpeg, + &s3c_device_nand, + &s3c_device_onenand, + &s3c_device_usb, + &s3c_device_usbgadget, + &s3c_device_usb_otghcd, + &s3c_device_fimc0, + &s3c_device_fimc1, + &s3c_device_g2d, + &s3c_device_g3d, + +#ifdef CONFIG_S3C64XX_ADC + &s3c_device_adc, +#endif + +#ifdef CONFIG_HAVE_PWM + &s3c_device_timer[0], + &s3c_device_timer[1], +#endif +}; + +static struct i2c_board_info i2c_devs0[] __initdata = { + { I2C_BOARD_INFO("24c08", 0x50), }, +/* { I2C_BOARD_INFO("WM8580", 0x1b), }, */ +}; + +static struct i2c_board_info i2c_devs1[] __initdata = { + { I2C_BOARD_INFO("24c128", 0x57), }, /* Samsung S524AD0XD1 */ + { I2C_BOARD_INFO("WM8580", 0x1b), }, +}; + +static struct s3c_ts_mach_info s3c_ts_platform __initdata = { + .delay = 0xFFFF, + .presc = 0xFF, + .oversampling_shift = 2, + .resol_bit = 12, + .s3c_adc_con = ADC_TYPE_2, +}; + +static struct s3c_adc_mach_info s3c_adc_platform = { + /* s3c6410 support 12-bit resolution */ + .delay = 10000, + .presc = 49, + .resolution = 12, +}; + +#if defined(CONFIG_HAVE_PWM) +static struct platform_pwm_backlight_data smdk_backlight_data = { + .pwm_id = 1, + .max_brightness = 255, + .dft_brightness = 255, + .pwm_period_ns = 78770, +}; + +static struct platform_device smdk_backlight_device = { + .name = "pwm-backlight", + .dev = { + .parent = &s3c_device_timer[1].dev, + .platform_data = &smdk_backlight_data, + }, +}; + +static void __init smdk_backlight_register(void) +{ + int ret = platform_device_register(&smdk_backlight_device); + if (ret) + printk(KERN_ERR "smdk: failed to register backlight device: %d\n", ret); +} +#else +#define smdk_backlight_register() do { } while (0) +#endif + +static void __init smdk6410_map_io(void) +{ + s3c_device_nand.name = "s3c6410-nand"; + + s3c64xx_init_io(smdk6410_iodesc, ARRAY_SIZE(smdk6410_iodesc)); + s3c24xx_init_clocks(12000000); + s3c24xx_init_uarts(smdk6410_uartcfgs, ARRAY_SIZE(smdk6410_uartcfgs)); + s3c64xx_reserve_bootmem(); +} + +static void __init smdk6410_smc911x_set(void) +{ + unsigned int tmp; + + tmp = __raw_readl(S3C64XX_SROM_BW); + tmp &= ~(S3C64XX_SROM_BW_WAIT_ENABLE1_MASK | S3C64XX_SROM_BW_WAIT_ENABLE1_MASK | + S3C64XX_SROM_BW_DATA_WIDTH1_MASK); + tmp |= S3C64XX_SROM_BW_BYTE_ENABLE1_ENABLE | S3C64XX_SROM_BW_WAIT_ENABLE1_ENABLE | + S3C64XX_SROM_BW_DATA_WIDTH1_16BIT; + + __raw_writel(tmp, S3C64XX_SROM_BW); + + __raw_writel(S3C64XX_SROM_BCn_TACS(0) | S3C64XX_SROM_BCn_TCOS(4) | + S3C64XX_SROM_BCn_TACC(13) | S3C64XX_SROM_BCn_TCOH(1) | + S3C64XX_SROM_BCn_TCAH(4) | S3C64XX_SROM_BCn_TACP(6) | + S3C64XX_SROM_BCn_PMC_NORMAL, S3C64XX_SROM_BC1); +} + + + + + + + + + +static void __init smdk6410_machine_init(void) +{ + unsigned int tmp; + + s3c_device_nand.dev.platform_data = &s3c_nand_mtd_part_info; + s3c_device_onenand.dev.platform_data = &s3c_onenand_data; + + + s3c_i2c0_set_platdata(NULL); + +#if defined(CONFIG_TOUCHSCREEN_S3C) + s3c_ts_set_platdata(&s3c_ts_platform); +#endif + s3c_adc_set_platdata(&s3c_adc_platform); + + i2c_register_board_info(0, i2c_devs0, ARRAY_SIZE(i2c_devs0)); + i2c_register_board_info(1, i2c_devs1, ARRAY_SIZE(i2c_devs1)); + + spi_register_board_info(sam_spi_devs, ARRAY_SIZE(sam_spi_devs)); + + s3c_fimc0_set_platdata(NULL); + s3c_fimc1_set_platdata(NULL); + +#ifdef CONFIG_VIDEO_FIMC + //s3c_fimc_reset_camera(); +#endif + + platform_add_devices(smdk6410_devices, ARRAY_SIZE(smdk6410_devices)); + s3c6410_pm_init(); + + smdk_backlight_register(); + +} + +MACHINE_START(SMDK6410, "SMDK6410") + /* Maintainer: Ben Dooks */ + .phys_io = S3C_PA_UART & 0xfff00000, + .io_pg_offst = (((u32)S3C_VA_UART) >> 18) & 0xfffc, + .boot_params = S3C64XX_PA_SDRAM + 0x100, + + .init_irq = s3c6410_init_irq, + .map_io = smdk6410_map_io, + .init_machine = smdk6410_machine_init, + .timer = &s3c64xx_timer, +MACHINE_END + +#ifdef CONFIG_USB_SUPPORT +/* Initializes OTG Phy. */ +void otg_phy_init(void) { + + writel(readl(S3C_OTHERS)|S3C_OTHERS_USB_SIG_MASK, S3C_OTHERS); + writel(0x0, S3C_USBOTG_PHYPWR); /* Power up */ + writel(OTGH_PHY_CLK_VALUE, S3C_USBOTG_PHYCLK); + writel(0x1, S3C_USBOTG_RSTCON); + + udelay(50); + writel(0x0, S3C_USBOTG_RSTCON); + udelay(50); +} +EXPORT_SYMBOL(otg_phy_init); + +/* USB Control request data struct must be located here for DMA transfer */ +struct usb_ctrlrequest usb_ctrl __attribute__((aligned(8))); +EXPORT_SYMBOL(usb_ctrl); + +/* OTG PHY Power Off */ +void otg_phy_off(void) { + writel(readl(S3C_USBOTG_PHYPWR)|(0x1F<<1), S3C_USBOTG_PHYPWR); + writel(readl(S3C_OTHERS)&~S3C_OTHERS_USB_SIG_MASK, S3C_OTHERS); +} +EXPORT_SYMBOL(otg_phy_off); + +void usb_host_clk_en(void) { + struct clk *otg_clk; + + switch (S3C_USB_CLKSRC) { + case 0: /* epll clk */ + writel((readl(S3C_CLK_SRC)& ~S3C6400_CLKSRC_UHOST_MASK) + |S3C_CLKSRC_EPLL_CLKSEL|S3C_CLKSRC_UHOST_EPLL, + S3C_CLK_SRC); + + /* USB host colock divider ratio is 2 */ + writel((readl(S3C_CLK_DIV1)& ~S3C6400_CLKDIV1_UHOST_MASK) + |(1<<20), S3C_CLK_DIV1); + break; + case 1: /* oscillator 48M clk */ + otg_clk = clk_get(NULL, "otg"); + clk_enable(otg_clk); + writel(readl(S3C_CLK_SRC)& ~S3C6400_CLKSRC_UHOST_MASK, S3C_CLK_SRC); + otg_phy_init(); + + /* USB host colock divider ratio is 1 */ + writel(readl(S3C_CLK_DIV1)& ~S3C6400_CLKDIV1_UHOST_MASK, S3C_CLK_DIV1); + break; + default: + printk(KERN_INFO "Unknown USB Host Clock Source\n"); + BUG(); + break; + } + + writel(readl(S3C_HCLK_GATE)|S3C_CLKCON_HCLK_UHOST|S3C_CLKCON_HCLK_SECUR, + S3C_HCLK_GATE); + writel(readl(S3C_SCLK_GATE)|S3C_CLKCON_SCLK_UHOST, S3C_SCLK_GATE); + +} + +EXPORT_SYMBOL(usb_host_clk_en); +#endif + +#if defined(CONFIG_RTC_DRV_S3C) +/* RTC common Function for samsung APs*/ +unsigned int s3c_rtc_set_bit_byte(void __iomem *base, uint offset, uint val) +{ + writeb(val, base + offset); + + return 0; +} + +unsigned int s3c_rtc_read_alarm_status(void __iomem *base) +{ + return 1; +} + +void s3c_rtc_set_pie(void __iomem *base, uint to) +{ + unsigned int tmp; + + tmp = readw(base + S3C2410_RTCCON) & ~S3C_RTCCON_TICEN; + + if (to) + tmp |= S3C_RTCCON_TICEN; + + writew(tmp, base + S3C2410_RTCCON); +} + +void s3c_rtc_set_freq_regs(void __iomem *base, uint freq, uint s3c_freq) +{ + unsigned int tmp; + + tmp = readw(base + S3C2410_RTCCON) & (S3C_RTCCON_TICEN | S3C2410_RTCCON_RTCEN ); + writew(tmp, base + S3C2410_RTCCON); + s3c_freq = freq; + tmp = (32768 / freq)-1; + writel(tmp, base + S3C2410_TICNT); +} + +void s3c_rtc_enable_set(struct platform_device *pdev,void __iomem *base, int en) +{ + unsigned int tmp; + + if (!en) { + tmp = readw(base + S3C2410_RTCCON); + writew(tmp & ~ (S3C2410_RTCCON_RTCEN | S3C_RTCCON_TICEN), base + S3C2410_RTCCON); + } else { + /* re-enable the device, and check it is ok */ + if ((readw(base+S3C2410_RTCCON) & S3C2410_RTCCON_RTCEN) == 0){ + dev_info(&pdev->dev, "rtc disabled, re-enabling\n"); + + tmp = readw(base + S3C2410_RTCCON); + writew(tmp|S3C2410_RTCCON_RTCEN, base+S3C2410_RTCCON); + } + + if ((readw(base + S3C2410_RTCCON) & S3C2410_RTCCON_CNTSEL)){ + dev_info(&pdev->dev, "removing RTCCON_CNTSEL\n"); + + tmp = readw(base + S3C2410_RTCCON); + writew(tmp& ~S3C2410_RTCCON_CNTSEL, base+S3C2410_RTCCON); + } + + if ((readw(base + S3C2410_RTCCON) & S3C2410_RTCCON_CLKRST)){ + dev_info(&pdev->dev, "removing RTCCON_CLKRST\n"); + + tmp = readw(base + S3C2410_RTCCON); + writew(tmp & ~S3C2410_RTCCON_CLKRST, base+S3C2410_RTCCON); + } + } +} +#endif + +#if defined(CONFIG_KEYPAD_S3C) || defined (CONFIG_KEYPAD_S3C_MODULE) +void s3c_setup_keypad_cfg_gpio(int rows, int columns) +{ + unsigned int gpio; + unsigned int end; +} + +EXPORT_SYMBOL(s3c_setup_keypad_cfg_gpio); +#endif + +#ifdef CONFIG_MMC_SDHCI_S3C +void s3c_setup_hsmmc_clock(void) +{ + struct clk *clk; + + clk = clk_get(NULL, "mmc_bus"); +} +EXPORT_SYMBOL(s3c_setup_hsmmc_clock); +#endif + diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c6410/pm.c linux-2.6.28.6/arch/arm/mach-s3c6410/pm.c --- linux-2.6.28/arch/arm/mach-s3c6410/pm.c 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c6410/pm.c 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,103 @@ +/* linux/arch/arm/mach-s3c6410/pm.c + * + * Copyright (c) 2006 Samsung Electronics + * + * + * S3C6410 (and compatible) Power Manager (Suspend-To-RAM) support + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +#include +#include +#include +#include +#include +#include + +#include + +#include + +#include +#include +//#include +#include +#include + +#ifdef CONFIG_S3C2410_PM_DEBUG +extern void pm_dbg(const char *fmt, ...); +#define DBG(fmt...) pm_dbg(fmt) +#else +#define DBG(fmt...) printk(KERN_DEBUG fmt) +#endif + +//static void s3c6410_cpu_suspend(void) +void s3c6410_cpu_suspend(void) +{ + unsigned long tmp; + + /* issue the standby signal into the pm unit. Note, we + * issue a write-buffer drain just in case */ + + tmp = 0; + + asm("b 1f\n\t" + ".align 5\n\t" + "1:\n\t" + "mcr p15, 0, %0, c7, c10, 5\n\t" + "mcr p15, 0, %0, c7, c10, 4\n\t" + "mcr p15, 0, %0, c7, c0, 4" :: "r" (tmp)); + + /* we should never get past here */ + + panic("sleep resumed to originator?"); +} + +static void s3c6410_pm_prepare(void) +{ + +} + +static int s3c6410_pm_add(struct sys_device *sysdev) +{ + pm_cpu_prep = s3c6410_pm_prepare; + pm_cpu_sleep = s3c6410_cpu_suspend; + + return 0; +} + +static struct sleep_save s3c6410_sleep[] = { + +}; + +static int s3c6410_pm_resume(struct sys_device *dev) +{ + s3c6410_pm_do_restore(s3c6410_sleep, ARRAY_SIZE(s3c6410_sleep)); + return 0; +} + +static struct sysdev_driver s3c6410_pm_driver = { + .add = s3c6410_pm_add, + .resume = s3c6410_pm_resume, +}; + +static __init int s3c6410_pm_drvinit(void) +{ + return sysdev_driver_register(&s3c6410_sysclass, &s3c6410_pm_driver); +} + +arch_initcall(s3c6410_pm_drvinit); + diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s3c6410/setup-sdhci.c linux-2.6.28.6/arch/arm/mach-s3c6410/setup-sdhci.c --- linux-2.6.28/arch/arm/mach-s3c6410/setup-sdhci.c 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s3c6410/setup-sdhci.c 2010-04-21 06:34:54.000000000 +0200 @@ -0,0 +1,119 @@ +/* linux/arch/arm/mach-s3c6410/setup-sdhci.c + * + * Copyright 2008 Simtec Electronics + * Copyright 2008 Simtec Electronics + * Ben Dooks + * http://armlinux.simtec.co.uk/ + * + * S3C6410 - Helper functions for settign up SDHCI device(s) (HSMMC) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#include +#include +#include +#include +#include + +#include +#include + +#include +#include +#include +#include + +/* clock sources for the mmc bus clock, order as for the ctrl2[5..4] */ + +char *s3c6410_hsmmc_clksrcs[4] = { + [0] = "hsmmc", + [1] = "hsmmc", + [2] = "mmc_bus", + /* [3] = "48m", - note not succesfully used yet */ +}; + +void s3c6410_setup_sdhci0_cfg_gpio(struct platform_device *dev, int width) +{ + unsigned int gpio; + unsigned int end; + + end = S3C64XX_GPG(2 + width); + + /* Set all the necessary GPG pins to special-function 0 */ + for (gpio = S3C64XX_GPG(0); gpio < end; gpio++) { + s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(2)); + s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE); + } + s3c_gpio_setpull(S3C64XX_GPG(6), S3C_GPIO_PULL_UP); + s3c_gpio_cfgpin(S3C64XX_GPG(6), S3C_GPIO_SFN(2)); +} + +void s3c6410_setup_sdhci0_cfg_card(struct platform_device *dev, + void __iomem *r, + struct mmc_ios *ios, + struct mmc_card *card) +{ + u32 ctrl2, ctrl3 = 0; + + /* don't need to alter anything acording to card-type */ + + writel(S3C64XX_SDHCI_CONTROL4_DRIVE_9mA, r + S3C64XX_SDHCI_CONTROL4); + + /* finally, we don't need to add delay values in HS-MMC interface. + * all delay values are removed. by scsuh. + */ + ctrl2 = readl(r + S3C_SDHCI_CONTROL2); + ctrl2 &= S3C_SDHCI_CTRL2_SELBASECLK_MASK; + ctrl2 |= (S3C64XX_SDHCI_CTRL2_ENSTAASYNCCLR | + S3C64XX_SDHCI_CTRL2_ENCMDCNFMSK | + S3C_SDHCI_CTRL2_DFCNT_NONE | + S3C_SDHCI_CTRL2_ENCLKOUTHOLD); + + writel(ctrl2, r + S3C_SDHCI_CONTROL2); + writel(ctrl3, r + S3C_SDHCI_CONTROL3); +} + +void s3c6410_setup_sdhci1_cfg_gpio(struct platform_device *dev, int width) +{ + unsigned int gpio; + unsigned int end; + + end = S3C64XX_GPH(2 + width); + + /* Set all the necessary GPG pins to special-function 0 */ + for (gpio = S3C64XX_GPH(0); gpio < end; gpio++) { + s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(2)); + s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE); + } + + s3c_gpio_setpull(S3C64XX_GPN(6), S3C_GPIO_PULL_UP); + s3c_gpio_cfgpin(S3C64XX_GPN(6), S3C_GPIO_SFN(3)); + + +} + +void s3c6410_setup_sdhci2_cfg_gpio(struct platform_device *dev, int width) +{ + unsigned int gpio; + unsigned int end; + + /* CMD */ + s3c_gpio_cfgpin(S3C64XX_GPC(4), S3C_GPIO_SFN(3)); + s3c_gpio_setpull(S3C64XX_GPC(4), S3C_GPIO_PULL_NONE); + + /* CLK */ + s3c_gpio_cfgpin(S3C64XX_GPC(5), S3C_GPIO_SFN(3)); + s3c_gpio_setpull(S3C64XX_GPC(5), S3C_GPIO_PULL_NONE); + + end = S3C64XX_GPH(6+width); + + /* Set all the necessary GPG pins to special-function 0 */ + for (gpio = S3C64XX_GPH(6); gpio < end; gpio++) { + s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(3)); + s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE); + } +} + diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5p6440/Kconfig linux-2.6.28.6/arch/arm/mach-s5p6440/Kconfig --- linux-2.6.28/arch/arm/mach-s5p6440/Kconfig 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5p6440/Kconfig 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,70 @@ +# arch/arm/mach-s5p6440/Kconfig +# +# Copyright 2008 Openmoko, Inc. +# Copyright 2008 Simtec Electronics +# +# Licensed under GPLv2 + +# Configuration options for the S5P6440 CPU + +config CPU_S5P6440 + bool + select CPU_S5P6440_INIT + select CPU_S5P6440_CLOCK + help + Enable S5P6440 CPU support + +config S5P6440_SETUP_SDHCI + bool + help + Internal helper functions for S5P6440 based SDHCI systems + +config MACH_SMDK6440 + bool "SMDK6440" + select CPU_S5P6440 + select S3C_DEV_HSMMC + select S3C_DEV_HSMMC1 + select S3C_DEV_HSMMC2 + select S3C_DEV_I2C1 + select S5P6440_SETUP_SDHCI + select S5P64XX_SETUP_I2C1 + select S3C_DMA_PL330 + help + Machine support for the Samsung SMDK6440 + +# At least some of the SMDK6440s were shipped with the card detect +# for the MMC/SD slots connected to the same input. This means that +# either the boards need to be altered to have channel0 to an alternate +# configuration or that only one slot can be used. + +menu "SMDK6440 MMC/SD slot setup" + depends on MACH_SMDK6440 + +config SMDK6440_SD_CH0 + bool "Use channel 0" + depends on MACH_SMDK6440 + help + Select CON7 (channel 0) as the MMC/SD slot, as + at least some SMDK6440 boards come with the + resistors fitted so that the card detects for + channels 0 and 1 are the same. + +config SMDK6440_SD_CH1 + bool "Use channel 1" + depends on MACH_SMDK6440 + help + Select CON6 (channel 1) as the MMC/SD slot, as + at least some SMDK6440 boards come with the + resistors fitted so that the card detects for + channels 0 and 1 are the same. + +config SMDK6440_SD_CH2 + bool "Use channel 2" + depends on MACH_SMDK6440 + help + Select CON6 (channel 1) as the MMC/SD slot, as + at least some SMDK6410 boards come with the + resistors fitted so that the card detects for + channels 0 and 1 are the same. + +endmenu diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5p6440/Makefile linux-2.6.28.6/arch/arm/mach-s5p6440/Makefile --- linux-2.6.28/arch/arm/mach-s5p6440/Makefile 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5p6440/Makefile 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,26 @@ +# arch/arm/mach-s5p6440/Makefile +# +# Copyright 2008 Openmoko, Inc. +# Copyright 2008 Simtec Electronics +# +# Licensed under GPLv2 + +obj-y := +obj-m := +obj-n := +obj- := + +# Core support for S5P6440 system + +obj-$(CONFIG_CPU_S5P6440) += cpu.o +obj-$(CONFIG_CPU_S5P6440) += dma.o + +# Helper and device support + +obj-$(CONFIG_S5P6440_SETUP_SDHCI) += setup-sdhci.o + +obj-$(CONFIG_PM) += pm.o + +# machine support + +obj-$(CONFIG_MACH_SMDK6440) += mach-smdk6440.o diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5p6440/Makefile.boot linux-2.6.28.6/arch/arm/mach-s5p6440/Makefile.boot --- linux-2.6.28/arch/arm/mach-s5p6440/Makefile.boot 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5p6440/Makefile.boot 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,2 @@ + zreladdr-y := 0x20008000 +params_phys-y := 0x20000100 diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5p6440/cpu.c linux-2.6.28.6/arch/arm/mach-s5p6440/cpu.c --- linux-2.6.28/arch/arm/mach-s5p6440/cpu.c 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5p6440/cpu.c 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,132 @@ +/* linux/arch/arm/mach-s5p6440/cpu.c + * + * Copyright 2008 Simtec Electronics + * Copyright 2008 Simtec Electronics + * Ben Dooks + * http://armlinux.simtec.co.uk/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include +#include + +#include +#include + +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +/* Initial IO mappings */ + +static struct map_desc s5p6440_iodesc[] __initdata = { + IODESC_ENT(LCD), + IODESC_ENT(SROMC), + IODESC_ENT(HOSTIFB), + IODESC_ENT(OTG), + IODESC_ENT(OTGSFR), +}; + +static void s5p6440_idle(void) +{ + unsigned long tmp; + + /* Ensure our idle mode is to go to idle */ + /* Set WFI instruction to SLEEP mode */ + + tmp = __raw_readl(S3C_PWR_CFG); + tmp &= ~(0x3<<5); + tmp |= (0x1<<5); + __raw_writel(tmp, S3C_PWR_CFG); + + cpu_do_idle(); +} + +/* s5p6440_map_io + * + * register the standard cpu IO areas +*/ + +void __init s5p6440_map_io(void) +{ + iotable_init(s5p6440_iodesc, ARRAY_SIZE(s5p6440_iodesc)); + + /* initialise device information early */ + s3c6410_default_sdhci0(); + s3c6410_default_sdhci1(); + s3c6410_default_sdhci2(); + + /* the i2c devices are directly compatible with s3c2440 */ + s3c_i2c0_setname("s3c2440-i2c"); + s3c_i2c1_setname("s3c2440-i2c"); + + /* set our idle function */ + s5p64xx_idle = s5p6440_idle; +} + +void __init s5p6440_init_clocks(int xtal) +{ + printk(KERN_DEBUG "%s: initialising clocks\n", __func__); + s3c24xx_register_baseclocks(xtal); + s5p64xx_register_clocks(); + s5p6440_register_clocks(); + s5p6440_setup_clocks(); +#ifdef CONFIG_HAVE_PWM + s3c24xx_pwmclk_init(); +#endif +} + +void __init s5p6440_init_irq(void) +{ + /* VIC0 is missing IRQ7, VIC1 is fully populated. */ + s5p64xx_init_irq(~0 & ~(1 << 7), ~0); +} + +struct sysdev_class s5p6440_sysclass = { + .name = "s5p6440-core", +}; + +static struct sys_device s5p6440_sysdev = { + .cls = &s5p6440_sysclass, +}; + +static int __init s5p6440_core_init(void) +{ + return sysdev_class_register(&s5p6440_sysclass); +} + +core_initcall(s5p6440_core_init); + +int __init s5p6440_init(void) +{ + printk("S5P6440: Initialising architecture\n"); + + return sysdev_register(&s5p6440_sysdev); +} diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5p6440/dma.c linux-2.6.28.6/arch/arm/mach-s5p6440/dma.c --- linux-2.6.28/arch/arm/mach-s5p6440/dma.c 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5p6440/dma.c 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,155 @@ +/* linux/arch/arm/mach-s5p6440/dma.c + * + * Copyright (c) 2003-2005,2006 Samsung Electronics + * + * S5P6440 DMA selection + * + * http://www.samsung.com/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#include +#include +#include +#include + +#include +#include +#include + +#include +#include + + +/* DMAC */ +#define MAP0(x) { \ + [0] = (x) | DMA_CH_VALID, \ + [1] = (x) | DMA_CH_VALID, \ + [2] = (x) | DMA_CH_VALID, \ + [3] = (x) | DMA_CH_VALID, \ + [4] = (x) | DMA_CH_VALID, \ + [5] = (x) | DMA_CH_VALID, \ + [6] = (x) | DMA_CH_VALID, \ + [7] = (x) | DMA_CH_VALID, \ + } + + +/* DMA request sources */ +#define S3C_DMA0_UART0CH0 0 +#define S3C_DMA0_UART0CH1 1 +#define S3C_DMA0_UART1CH0 2 +#define S3C_DMA0_UART1CH1 3 +#define S3C_DMA0_UART2CH0 4 +#define S3C_DMA0_UART2CH1 5 +#define S3C_DMA0_UART3CH0 6 +#define S3C_DMA0_UART3CH1 7 +#define S3C_DMA0_PCM0_TX 10 +#define S3C_DMA0_PCM0_RX 11 +#define S3C_DMA0_I2S0_TX 12 +#define S3C_DMA0_I2S0_RX 13 +#define S3C_DMA0_SPI0_TX 14 +#define S3C_DMA0_SPI0_RX 15 +#define S3C_DMA0_SPI1_TX 20 +#define S3C_DMA0_SPI1_RX 21 +#define S3C_DMA0_GPS 24 +#define S3C_DMA0_PWM 29 +#define S3C_DMA0_EXTERNAL 31 + +#define S3C_DMA_M2M 0 + + +static struct s3c_dma_map __initdata s5p6440_dma_mappings[] = { + + [DMACH_I2S_IN] = { + .name = "i2s0-in", + .channels = MAP0(S3C_DMA0_I2S0_RX), + .hw_addr.from = S3C_DMA0_I2S0_RX, + }, + [DMACH_I2S_OUT] = { + .name = "i2s0-out", + .channels = MAP0(S3C_DMA0_I2S0_TX), + .hw_addr.to = S3C_DMA0_I2S0_TX, + }, + [DMACH_SPI0_IN] = { + .name = "spi0-in", + .channels = MAP0(S3C_DMA0_SPI0_RX), + .hw_addr.from = S3C_DMA0_SPI0_RX, + }, + [DMACH_SPI0_OUT] = { + .name = "spi0-out", + .channels = MAP0(S3C_DMA0_SPI0_TX), + .hw_addr.to = S3C_DMA0_SPI0_TX, + }, + [DMACH_SPI1_IN] = { + .name = "spi1-in", + .channels = MAP0(S3C_DMA0_SPI1_RX), + .hw_addr.from = S3C_DMA0_SPI1_RX, + }, + [DMACH_SPI1_OUT] = { + .name = "spi1-out", + .channels = MAP0(S3C_DMA0_SPI1_TX), + .hw_addr.to = S3C_DMA0_SPI1_TX, + }, + [DMACH_AC97_PCM_OUT] = { + .name = "ac97-pcm-out", + .channels = MAP0(S3C_DMA0_PCM0_TX), + .hw_addr.to = S3C_DMA0_PCM0_TX, + }, + [DMACH_AC97_PCM_IN] = { + .name = "ac97-pcm-in", + .channels = MAP0(S3C_DMA0_PCM0_RX), + .hw_addr.from = S3C_DMA0_PCM0_RX, + }, + [DMACH_3D_M2M] = { + .name = "3D-M2M", + .channels = MAP0(S3C_DMA_M2M), + .hw_addr.from = 0, + }, + [DMACH_I2S_V40_IN] = { + .name = "i2s-v40-in", + .channels = MAP0(S3C_DMA0_I2S0_RX), + .hw_addr.from = S3C_DMA0_I2S0_RX, + .sdma_sel = 1 << S3C_DMA0_I2S0_RX, + }, + [DMACH_I2S_V40_OUT] = { + .name = "i2s-v40-out", + .channels = MAP0(S3C_DMA0_I2S0_TX), + .hw_addr.to = S3C_DMA0_I2S0_TX, + .sdma_sel = 1 << S3C_DMA0_I2S0_TX, + }, +}; + +static void s5p6440_dma_select(struct s3c2410_dma_chan *chan, + struct s3c_dma_map *map) +{ + chan->map = map; +} + +static struct s3c_dma_selection __initdata s5p6440_dma_sel = { + .select = s5p6440_dma_select, + .dcon_mask = 0, + .map = s5p6440_dma_mappings, + .map_size = ARRAY_SIZE(s5p6440_dma_mappings), +}; + +static int __init s5p6440_dma_add(struct sys_device *sysdev) +{ + s3c_dma_init(S3C_DMA_CHANNELS, IRQ_DMA0, 0x1000); + return s3c_dma_init_map(&s5p6440_dma_sel); +} + +static struct sysdev_driver s5p6440_dma_driver = { + .add = s5p6440_dma_add, +}; + +static int __init s5p6440_dma_init(void) +{ + return sysdev_driver_register(&s5p6440_sysclass, &s5p6440_dma_driver); +} + +arch_initcall(s5p6440_dma_init); + + diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5p6440/include/mach/debug-macro.S linux-2.6.28.6/arch/arm/mach-s5p6440/include/mach/debug-macro.S --- linux-2.6.28/arch/arm/mach-s5p6440/include/mach/debug-macro.S 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5p6440/include/mach/debug-macro.S 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,39 @@ +/* linux/arch/arm/mach-s5p6440/include/mach/debug-macro.S + * + * Copyright 2008 Openmoko, Inc. + * Copyright 2008 Simtec Electronics + * http://armlinux.simtec.co.uk/ + * Ben Dooks + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +/* pull in the relevant register and map files. */ + +#include +#include + + /* note, for the boot process to work we have to keep the UART + * virtual address aligned to an 1MiB boundary for the L1 + * mapping the head code makes. We keep the UART virtual address + * aligned and add in the offset when we load the value here. + */ + + .macro addruart, rx + mrc p15, 0, \rx, c1, c0 + tst \rx, #1 + ldreq \rx, = S3C_PA_UART + ldrne \rx, = (S3C_VA_UART + S3C_PA_UART & 0xfffff) +#if CONFIG_DEBUG_S3C_UART != 0 + add \rx, \rx, #(0x400 * CONFIG_DEBUG_S3C_UART) +#endif + .endm + +/* include the reset of the code which will do the work, we're only + * compiling for a single cpu processor type so the default of s3c2440 + * will be fine with us. + */ + +#include diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5p6440/include/mach/dma.h linux-2.6.28.6/arch/arm/mach-s5p6440/include/mach/dma.h --- linux-2.6.28/arch/arm/mach-s5p6440/include/mach/dma.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5p6440/include/mach/dma.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,21 @@ +/* linux/arch/arm/mach-s5p6440/include/mach/dma.h + * + * Copyright 2008 Openmoko, Inc. + * Copyright 2008 Simtec Electronics + * Ben Dooks + * http://armlinux.simtec.co.uk/ + * + * S5P6440 - DMA support + */ + +#ifndef __ASM_ARCH_DMA_H +#define __ASM_ARCH_DMA_H __FILE__ + +#include + +#define S3C_DMA_CONTROLLERS (1) +#define S3C_CHANNELS_PER_DMA (8) +#define S3C_CANDIDATE_CHANNELS_PER_DMA (32) +#define S3C_DMA_CHANNELS (S3C_DMA_CONTROLLERS*S3C_CHANNELS_PER_DMA) + +#endif /* __ASM_ARCH_IRQ_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5p6440/include/mach/entry-macro.S linux-2.6.28.6/arch/arm/mach-s5p6440/include/mach/entry-macro.S --- linux-2.6.28/arch/arm/mach-s5p6440/include/mach/entry-macro.S 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5p6440/include/mach/entry-macro.S 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,44 @@ +/* linux/arch/arm/mach-s5p6440/include/mach/entry-macro.S + * + * Copyright 2008 Openmoko, Inc. + * Copyright 2008 Simtec Electronics + * http://armlinux.simtec.co.uk/ + * Ben Dooks + * + * Low-level IRQ helper macros for the Samsung S5P64XX series + * + * This file is licensed under the terms of the GNU General Public + * License version 2. This program is licensed "as is" without any + * warranty of any kind, whether express or implied. +*/ + +#include +#include +#include + + .macro disable_fiq + .endm + + .macro get_irqnr_preamble, base, tmp + ldr \base, =S3C_VA_VIC0 + .endm + + .macro arch_ret_to_user, tmp1, tmp2 + .endm + + .macro get_irqnr_and_base, irqnr, irqstat, base, tmp + + @ check the vic0 + mov \irqnr, # S3C_IRQ_OFFSET + 31 + ldr \irqstat, [ \base, # VIC_IRQ_STATUS ] + teq \irqstat, #0 + + @ otherwise try vic1 + addeq \tmp, \base, #(S3C_VA_VIC1 - S3C_VA_VIC0) + addeq \irqnr, \irqnr, #32 + ldreq \irqstat, [ \tmp, # VIC_IRQ_STATUS ] + teqeq \irqstat, #0 + + clzne \irqstat, \irqstat + subne \irqnr, \irqnr, \irqstat + .endm diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5p6440/include/mach/gpio-core.h linux-2.6.28.6/arch/arm/mach-s5p6440/include/mach/gpio-core.h --- linux-2.6.28/arch/arm/mach-s5p6440/include/mach/gpio-core.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5p6440/include/mach/gpio-core.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,21 @@ +/* linux/arch/arm/mach-s5p6440/include/mach/gpio-core.h + * + * Copyright 2008 Openmoko, Inc. + * Copyright 2008 Simtec Electronics + * Ben Dooks + * http://armlinux.simtec.co.uk/ + * + * S5P64XX - GPIO core support + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#ifndef __ASM_ARCH_GPIO_CORE_H +#define __ASM_ARCH_GPIO_CORE_H __FILE__ + +/* currently we just include the platform support */ +#include + +#endif /* __ASM_ARCH_GPIO_CORE_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5p6440/include/mach/gpio.h linux-2.6.28.6/arch/arm/mach-s5p6440/include/mach/gpio.h --- linux-2.6.28/arch/arm/mach-s5p6440/include/mach/gpio.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5p6440/include/mach/gpio.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,78 @@ +/* linux/arch/arm/mach-s5p6440/include/mach/gpio.h + * + * Copyright 2008 Openmoko, Inc. + * Copyright 2008 Simtec Electronics + * http://armlinux.simtec.co.uk/ + * Ben Dooks + * + * S3C6400 - GPIO lib support + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#define gpio_get_value __gpio_get_value +#define gpio_set_value __gpio_set_value +#define gpio_cansleep __gpio_cansleep +#define gpio_to_irq __gpio_to_irq + +/* GPIO bank sizes */ +#define S5P64XX_GPIO_A_NR (6) +#define S5P64XX_GPIO_B_NR (7) +#define S5P64XX_GPIO_C_NR (8) +#define S5P64XX_GPIO_F_NR (16) +#define S5P64XX_GPIO_G_NR (7) +#define S5P64XX_GPIO_H_NR (10) +#define S5P64XX_GPIO_I_NR (16) +#define S5P64XX_GPIO_J_NR (12) +#define S5P64XX_GPIO_N_NR (16) +#define S5P64XX_GPIO_P_NR (11) +#define S5P64XX_GPIO_R_NR (15) + +/* GPIO bank numbes */ + +/* CONFIG_S3C_GPIO_SPACE allows the user to select extra + * space for debugging purposes so that any accidental + * change from one gpio bank to another can be caught. +*/ + +#define S5P64XX_GPIO_NEXT(__gpio) \ + ((__gpio##_START) + (__gpio##_NR) + CONFIG_S3C_GPIO_SPACE + 1) + +enum s3c_gpio_number { + S5P64XX_GPIO_A_START = 0, + S5P64XX_GPIO_B_START = S5P64XX_GPIO_NEXT(S5P64XX_GPIO_A), + S5P64XX_GPIO_C_START = S5P64XX_GPIO_NEXT(S5P64XX_GPIO_B), + S5P64XX_GPIO_F_START = S5P64XX_GPIO_NEXT(S5P64XX_GPIO_C), + S5P64XX_GPIO_G_START = S5P64XX_GPIO_NEXT(S5P64XX_GPIO_F), + S5P64XX_GPIO_H_START = S5P64XX_GPIO_NEXT(S5P64XX_GPIO_G), + S5P64XX_GPIO_I_START = S5P64XX_GPIO_NEXT(S5P64XX_GPIO_H), + S5P64XX_GPIO_J_START = S5P64XX_GPIO_NEXT(S5P64XX_GPIO_I), + S5P64XX_GPIO_N_START = S5P64XX_GPIO_NEXT(S5P64XX_GPIO_J), + S5P64XX_GPIO_P_START = S5P64XX_GPIO_NEXT(S5P64XX_GPIO_N), + S5P64XX_GPIO_R_START = S5P64XX_GPIO_NEXT(S5P64XX_GPIO_P), +}; + +/* S5P64XX GPIO number definitions. */ + +#define S5P64XX_GPA(_nr) (S5P64XX_GPIO_A_START + (_nr)) +#define S5P64XX_GPB(_nr) (S5P64XX_GPIO_B_START + (_nr)) +#define S5P64XX_GPC(_nr) (S5P64XX_GPIO_C_START + (_nr)) +#define S5P64XX_GPF(_nr) (S5P64XX_GPIO_F_START + (_nr)) +#define S5P64XX_GPG(_nr) (S5P64XX_GPIO_G_START + (_nr)) +#define S5P64XX_GPH(_nr) (S5P64XX_GPIO_H_START + (_nr)) +#define S5P64XX_GPI(_nr) (S5P64XX_GPIO_I_START + (_nr)) +#define S5P64XX_GPJ(_nr) (S5P64XX_GPIO_J_START + (_nr)) +#define S5P64XX_GPN(_nr) (S5P64XX_GPIO_N_START + (_nr)) +#define S5P64XX_GPP(_nr) (S5P64XX_GPIO_P_START + (_nr)) +#define S5P64XX_GPR(_nr) (S5P64XX_GPIO_R_START + (_nr)) + +/* the end of the S5P64XX specific gpios */ +#define S5P64XX_GPIO_END (S5P64XX_GPR(S5P64XX_GPIO_R_NR) + 1) +#define S3C_GPIO_END S5P64XX_GPIO_END + +/* define the number of gpios we need to the one after the GPR() range */ +#define ARCH_NR_GPIOS (S5P64XX_GPR(S5P64XX_GPIO_R_NR) + 1) + +#include diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5p6440/include/mach/hardware.h linux-2.6.28.6/arch/arm/mach-s5p6440/include/mach/hardware.h --- linux-2.6.28/arch/arm/mach-s5p6440/include/mach/hardware.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5p6440/include/mach/hardware.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,16 @@ +/* linux/arch/arm/mach-s5p6440/include/mach/hardware.h + * + * Copyright 2008 Openmoko, Inc. + * Copyright 2008 Simtec Electronics + * Ben Dooks + * http://armlinux.simtec.co.uk/ + * + * S3C6400 - Hardware support + */ + +#ifndef __ASM_ARCH_HARDWARE_H +#define __ASM_ARCH_HARDWARE_H __FILE__ + +/* currently nothing here, placeholder */ + +#endif /* __ASM_ARCH_IRQ_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5p6440/include/mach/idle.h linux-2.6.28.6/arch/arm/mach-s5p6440/include/mach/idle.h --- linux-2.6.28/arch/arm/mach-s5p6440/include/mach/idle.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5p6440/include/mach/idle.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,24 @@ +/* linux/arch/arm/mach-s5p6440/include/mach/idle.h + * + * Copyright (c) 2004 Simtec Electronics + * http://www.simtec.co.uk/products/SWLINUX/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * S3C6400 CPU Idle controls +*/ + +#ifndef __ASM_ARCH_IDLE_H +#define __ASM_ARCH_IDLE_H __FILE__ + +/* This allows the over-ride of the default idle code, in case there + * is any other things to be done over idle (like DVS) +*/ + +extern void (*s5p64xx_idle)(void); + +extern void s5p64xx_default_idle(void); + +#endif /* __ASM_ARCH_IDLE_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5p6440/include/mach/irqs.h linux-2.6.28.6/arch/arm/mach-s5p6440/include/mach/irqs.h --- linux-2.6.28/arch/arm/mach-s5p6440/include/mach/irqs.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5p6440/include/mach/irqs.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,20 @@ +/* linux/arch/arm/mach-s5p6440/include/mach/irqs.h + * + * Copyright 2008 Openmoko, Inc. + * Copyright 2008 Simtec Electronics + * Ben Dooks + * http://armlinux.simtec.co.uk/ + * + * S3C6400 - IRQ definitions + */ + +#ifndef __ASM_ARCH_IRQS_H +#define __ASM_ARCH_IRQS_H __FILE__ + +#ifndef __ASM_ARM_IRQ_H +#error "Do not include this directly, instead #include " +#endif + +#include + +#endif /* __ASM_ARCH_IRQ_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5p6440/include/mach/map.h linux-2.6.28.6/arch/arm/mach-s5p6440/include/mach/map.h --- linux-2.6.28/arch/arm/mach-s5p6440/include/mach/map.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5p6440/include/mach/map.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,151 @@ +/* linux/arch/arm/mach-s5p6440/include/mach/map.h + * + * Copyright 2008 Openmoko, Inc. + * Copyright 2008 Simtec Electronics + * http://armlinux.simtec.co.uk/ + * Ben Dooks + * + * S5P64XX - Memory map definitions + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#ifndef __ASM_ARCH_MAP_H +#define __ASM_ARCH_MAP_H __FILE__ + +#include + +/* HSMMC units */ +#define S5P64XX_PA_HSMMC(x) (0xED800000 + ((x) * 0x100000)) +#define S5P64XX_PA_HSMMC0 S5P64XX_PA_HSMMC(0) +#define S5P64XX_PA_HSMMC1 S5P64XX_PA_HSMMC(1) +#define S5P64XX_PA_HSMMC2 S5P64XX_PA_HSMMC(2) + +#define S3C_PA_UART (0xEC005000) +#define S3C_PA_UART0 (S3C_PA_UART + 0x00) +#define S3C_PA_UART1 (S3C_PA_UART + 0x400) +#define S3C_PA_UART2 (S3C_PA_UART + 0x800) +#define S3C_PA_UART3 (S3C_PA_UART + 0xC00) +#define S3C_UART_OFFSET (0x400) + +/* See notes on UART VA mapping in debug-macro.S */ +#define S3C_VA_UARTx(x) (S3C_VA_UART + (S3C_PA_UART & 0xfffff) + ((x) * S3C_UART_OFFSET)) + +#define S3C_VA_UART0 S3C_VA_UARTx(0) +#define S3C_VA_UART1 S3C_VA_UARTx(1) +#define S3C_VA_UART2 S3C_VA_UARTx(2) +#define S3C_VA_UART3 S3C_VA_UARTx(3) +#define S3C_SZ_UART SZ_256 + +#define S5P64XX_PA_SYSCON (0xE0100000) +#define S5P64XX_PA_TIMER (0xEA000000) +#define S5P64XX_PA_IIC0 (0xEC104000) +#define S5P64XX_PA_IIC1 (0xEC20F000) + +#define S5P64XX_PA_SPI0 (0xEC400000) +#define S5P64XX_PA_SPI1 (0xEC500000) +#define S5P64XX_SZ_SPI0 SZ_4K +#define S5P64XX_SZ_SPI1 SZ_4K + +#define S5P64XX_PA_GPIO (0xE0308000) +#define S5P64XX_VA_GPIO S3C_ADDR(0x00500000) +#define S5P64XX_SZ_GPIO SZ_4K + +#define S5P64XX_PA_SDRAM (0x20000000) +#define S5P64XX_PA_VIC0 (0xE4000000) +#define S5P64XX_PA_VIC1 (0xE4100000) + +#define S5P64XX_VA_SROMC S3C_VA_SROMC +#define S5P64XX_PA_SROMC (0xE7000000) +#define S5P64XX_SZ_SROMC SZ_1M + +#define S5P64XX_VA_LCD S3C_VA_LCD +#define S5P64XX_PA_LCD (0xEE000000) +#define S5P64XX_SZ_LCD SZ_1M + +#define S5P64XX_PA_ADC (0xF3000000) + +#define S5P64XX_PA_IIS_V40 (0xF2000000) +#define S3C_SZ_IIS SZ_8K + +#define S5P64XX_PA_RTC (0xEA100000) + +/* place VICs close together */ +#define S3C_VA_VIC0 (S3C_VA_IRQ + 0x00) +#define S3C_VA_VIC1 (S3C_VA_IRQ + 0x10000) + +//////////////////////////////////////////////////// +//These are not changed to support for s5p6440 + +/* DMA controller */ +#define S5P64XX_PA_DMA (0xE9000000) + +#define S5P64XX_PA_SMC9115 (0x18000000) +#define S5P64XX_SZ_SMC9115 SZ_512M + +#define S5P64XX_PA_IIS (0xF2000000) +/* Host I/F Indirect & Direct */ +#define S5P64XX_VA_HOSTIFA S3C_ADDR(0x00B00000) +#define S5P64XX_PA_HOSTIFA (0x74000000) +#define S5P64XX_SZ_HOSTIFA SZ_1M + +#define S5P64XX_VA_HOSTIFB S3C_ADDR(0x00C00000) +#define S5P64XX_PA_HOSTIFB (0x74100000) +#define S5P64XX_SZ_HOSTIFB SZ_1M + +/////////////////////////////////////////////////// + +/* Watchdog */ +#define S5P64XX_PA_WATCHDOG (0xEA200000) +#define S5P64XX_SZ_WATCHDOG SZ_4K + +/* NAND flash controller */ +#define S5P64XX_PA_NAND (0xE7100000) +#define S5P64XX_SZ_NAND SZ_1M + +/* USB OTG */ +#define S5P64XX_VA_OTG S3C_ADDR(0x03900000) +#define S5P64XX_PA_OTG (0xED100000) +#define S5P64XX_SZ_OTG SZ_1M + +/* USB OTG SFR */ +#define S5P64XX_VA_OTGSFR S3C_ADDR(0x03a00000) +#define S5P64XX_PA_OTGSFR (0xED200000) +#define S5P64XX_SZ_OTGSFR SZ_1M + +/* Post Processor */ +#define S5P64XX_PA_POST (0xEE100000) +#define S5P64XX_SZ_POST SZ_1M + +/* compatibiltiy defines. */ +#define S3C_PA_TIMER S5P64XX_PA_TIMER +#define S3C_PA_HSMMC0 S5P64XX_PA_HSMMC0 +#define S3C_PA_HSMMC1 S5P64XX_PA_HSMMC1 +#define S3C_PA_HSMMC2 S5P64XX_PA_HSMMC2 +#define S3C_SZ_HSMMC SZ_4K + +#define S3C_PA_SPI0 S5P64XX_PA_SPI0 +#define S3C_PA_SPI1 S5P64XX_PA_SPI1 +#define S3C_SZ_SPI0 S5P64XX_SZ_SPI0 +#define S3C_SZ_SPI1 S5P64XX_SZ_SPI1 + +#define S3C_PA_IIC S5P64XX_PA_IIC0 +#define S3C_PA_IIC1 S5P64XX_PA_IIC1 + +#define S3C_PA_RTC S5P64XX_PA_RTC + +#define S3C_PA_IIS S5P64XX_PA_IIS +#define S3C_PA_ADC S5P64XX_PA_ADC +#define S3C_PA_DMA S5P64XX_PA_DMA + +#define S3C_VA_OTG S5P64XX_VA_OTG +#define S3C_PA_OTG S5P64XX_PA_OTG +#define S3C_SZ_OTG S5P64XX_SZ_OTG + +#define S3C_VA_OTGSFR S5P64XX_VA_OTGSFR +#define S3C_PA_OTGSFR S5P64XX_PA_OTGSFR +#define S3C_SZ_OTGSFR S5P64XX_SZ_OTGSFR + +#endif /* __ASM_ARCH_6440_MAP_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5p6440/include/mach/memory.h linux-2.6.28.6/arch/arm/mach-s5p6440/include/mach/memory.h --- linux-2.6.28/arch/arm/mach-s5p6440/include/mach/memory.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5p6440/include/mach/memory.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,23 @@ +/* linux/arch/arm/mach-s5p6440/include/mach/memory.h + * + * Copyright 2008 Openmoko, Inc. + * Copyright 2008 Simtec Electronics + * Ben Dooks + * http://armlinux.simtec.co.uk/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#ifndef __ASM_ARCH_MEMORY_H +#define __ASM_ARCH_MEMORY_H + + +#define PHYS_OFFSET UL(0x20000000) +#define CONSISTENT_DMA_SIZE SZ_8M + +#define __virt_to_bus(x) __virt_to_phys(x) +#define __bus_to_virt(x) __phys_to_virt(x) + +#endif diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5p6440/include/mach/regs-irq.h linux-2.6.28.6/arch/arm/mach-s5p6440/include/mach/regs-irq.h --- linux-2.6.28/arch/arm/mach-s5p6440/include/mach/regs-irq.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5p6440/include/mach/regs-irq.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,69 @@ +/* linux/arch/arm/mach-s5p6440/include/mach/regs-irq.h + * + * Copyright 2008 Openmoko, Inc. + * Copyright 2008 Simtec Electronics + * http://armlinux.simtec.co.uk/ + * Ben Dooks + * + * S5P64XX - IRQ register definitions + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#ifndef __ASM_ARCH_REGS_IRQ_H +#define __ASM_ARCH_REGS_IRQ_H __FILE__ + +#include +#include +/* interrupt controller */ +#define S3C_VIC0REG(x) ((x) + S3C_VA_VIC0) +#define S3C_VIC1REG(x) ((x) + S3C_VA_VIC1) + +#define S5P64XX_VIC0IRQSTATUS S3C_VIC0REG(0x000) +#define S5P64XX_VIC1IRQSTATUS S3C_VIC1REG(0x000) + +#define S5P64XX_VIC0FIQSTATUS S3C_VIC0REG(0x004) +#define S5P64XX_VIC1FIQSTATUS S3C_VIC1REG(0x004) + +#define S5P64XX_VIC0RAWINTR S3C_VIC0REG(0x008) +#define S5P64XX_VIC1RAWINTR S3C_VIC1REG(0x008) + +#define S5P64XX_VIC0INTSELECT S3C_VIC0REG(0x00C) +#define S5P64XX_VIC1INTSELECT S3C_VIC1REG(0x00C) + +#define S5P64XX_VIC0INTENABLE S3C_VIC0REG(0x010) +#define S5P64XX_VIC1INTENABLE S3C_VIC1REG(0x010) + +#define S5P64XX_VIC0INTENCLEAR S3C_VIC0REG(0x014) +#define S5P64XX_VIC1INTENCLEAR S3C_VIC1REG(0x014) + +#define S5P64XX_VIC0SOFTINT S3C_VIC0REG(0x018) +#define S5P64XX_VIC1SOFTINT S3C_VIC1REG(0x018) + +#define S5P64XX_VIC0SOFTINTCLEAR S3C_VIC0REG(0x01C) +#define S5P64XX_VIC1SOFTINTCLEAR S3C_VIC1REG(0x01C) + +#define S5P64XX_VIC0PROTECTION S3C_VIC0REG(0x020) +#define S5P64XX_VIC1PROTECTION S3C_VIC1REG(0x020) + +#define S5P64XX_VIC0SWPRIORITYMASK S3C_VIC0REG(0x024) +#define S5P64XX_VIC1SWPRIORITYMASK S3C_VIC1REG(0x024) + +#define S5P64XX_VIC0PRIORITYDAISY S3C_VIC0REG(0x028) +#define S5P64XX_VIC1PRIORITYDAISY S3C_VIC1REG(0x028) + +#define S5P64XX_VIC0VECTADDR0 S3C_VIC0REG(0x100) +#define S5P64XX_VIC1VECTADDR0 S3C_VIC1REG(0x100) + +#define S5P64XX_VIC0VECTADDR1 S3C_VIC0REG(0x104) +#define S5P64XX_VIC1VECTADDR1 S3C_VIC1REG(0x104) + +#define S5P64XX_VIC0VECTADDR2 S3C_VIC0REG(0x108) +#define S5P64XX_VIC1VECTADDR2 S3C_VIC1REG(0x108) + +#define S5P64XX_VIC0ADDRESS S3C_VIC0REG(0xF00) +#define S5P64XX_VIC1ADDRESS S3C_VIC1REG(0xF00) + +#endif /* __ASM_ARCH_6400_REGS_IRQ_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5p6440/include/mach/regs-mem.h linux-2.6.28.6/arch/arm/mach-s5p6440/include/mach/regs-mem.h --- linux-2.6.28/arch/arm/mach-s5p6440/include/mach/regs-mem.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5p6440/include/mach/regs-mem.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,70 @@ +/* linux/arch/arm/mach-s5p6440/include/mach/regs-mem.h + * + * Copyright (c) 2004 Simtec Electronics + * http://www.simtec.co.uk/products/SWLINUX/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * S3C2410 Memory Control register definitions +*/ + +#ifndef __ASM_ARM_MEMREGS_H +#define __ASM_ARM_MEMREGS_H + +#ifndef S5P64XX_MEMREG +#define S5P64XX_MEMREG(x) (S5P64XX_VA_SROMC + (x)) +#endif + + +/* Bank Idle Cycle Control Registers 0-5 */ +#define S5P64XX_SROM_BW S5P64XX_MEMREG(0x00) + +#define S5P64XX_SROM_BC0 S5P64XX_MEMREG(0x04) +#define S5P64XX_SROM_BC1 S5P64XX_MEMREG(0x08) +#define S5P64XX_SROM_BC2 S5P64XX_MEMREG(0x0C) +#define S5P64XX_SROM_BC3 S5P64XX_MEMREG(0x10) +#define S5P64XX_SROM_BC4 S5P64XX_MEMREG(0x14) +#define S5P64XX_SROM_BC5 S5P64XX_MEMREG(0x18) + +/* SROM BW */ +#define S5P64XX_SROM_BW_DATA_WIDTH0_8BIT (0 << 0) +#define S5P64XX_SROM_BW_DATA_WIDTH0_16BIT (1 << 0) +#define S5P64XX_SROM_BW_DATA_WIDTH0_MASK (1 << 0) + +#define S5P64XX_SROM_BW_WAIT_ENABLE0_DISABLE (0 << 2) +#define S5P64XX_SROM_BW_WAIT_ENABLE0_ENABLE (1 << 2) +#define S5P64XX_SROM_BW_WAIT_ENABLE0_MASK (1 << 2) + +#define S5P64XX_SROM_BW_BYTE_ENABLE0_DISABLE (0 << 3) +#define S5P64XX_SROM_BW_BYTE_ENABLE0_ENABLE (1 << 3) +#define S5P64XX_SROM_BW_BYTE_ENABLE0_MASK (1 << 3) + +#define S5P64XX_SROM_BW_DATA_WIDTH1_8BIT (0 << 4) +#define S5P64XX_SROM_BW_DATA_WIDTH1_16BIT (1 << 4) +#define S5P64XX_SROM_BW_DATA_WIDTH1_MASK (1 << 4) + +#define S5P64XX_SROM_BW_WAIT_ENABLE1_DISABLE (0 << 6) +#define S5P64XX_SROM_BW_WAIT_ENABLE1_ENABLE (1 << 6) +#define S5P64XX_SROM_BW_WAIT_ENABLE1_MASK (1 << 6) + +#define S5P64XX_SROM_BW_BYTE_ENABLE1_DISABLE (0 << 7) +#define S5P64XX_SROM_BW_BYTE_ENABLE1_ENABLE (1 << 7) +#define S5P64XX_SROM_BW_BYTE_ENABLE1_MASK (1 << 7) + +#define S5P64XX_SROM_BW_DATA_WIDTH2_8BIT (0 << 8) +#define S5P64XX_SROM_BW_DATA_WIDTH2_16BIT (1 << 8) +#define S5P64XX_SROM_BW_DATA_WIDTH2_MASK (1 << 8) + +/* SROM BCn */ +#define S5P64XX_SROM_BCn_TACS(x) (x << 28) +#define S5P64XX_SROM_BCn_TCOS(x) (x << 24) +#define S5P64XX_SROM_BCn_TACC(x) (x << 16) +#define S5P64XX_SROM_BCn_TCOH(x) (x << 12) +#define S5P64XX_SROM_BCn_TCAH(x) (x << 8) +#define S5P64XX_SROM_BCn_TACP(x) (x << 4) +#define S5P64XX_SROM_BCn_PMC_NORMAL (0 << 0) +#define S5P64XX_SROM_BCn_PMC_4 (1 << 0) + +#endif /* __ASM_ARM_MEMREGS_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5p6440/include/mach/system.h linux-2.6.28.6/arch/arm/mach-s5p6440/include/mach/system.h --- linux-2.6.28/arch/arm/mach-s5p6440/include/mach/system.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5p6440/include/mach/system.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,47 @@ +/* linux/arch/arm/mach-s5p6440/include/mach/system.h + * + * Copyright 2008 Openmoko, Inc. + * Copyright 2008 Simtec Electronics + * Ben Dooks + * http://armlinux.simtec.co.uk/ + * + * S3C6400 - system implementation + */ + +#ifndef __ASM_ARCH_SYSTEM_H +#define __ASM_ARCH_SYSTEM_H __FILE__ + +#include +#include +#include + +void (*s5p64xx_idle)(void); +void (*s5p64xx_reset_hook)(void); + +void s5p64xx_default_idle(void) +{ + /* nothing here yet */ +} + +static void arch_idle(void) +{ + if (s5p64xx_idle != NULL) + (s5p64xx_idle)(); + else + s5p64xx_default_idle(); +} + +static void arch_reset(char mode) +{ + void __iomem *wdt_reg; + + wdt_reg = ioremap(S5P64XX_PA_WATCHDOG,S5P64XX_SZ_WATCHDOG); + + /* nothing here yet */ + + writel(S3C2410_WTCNT_CNT, wdt_reg + S3C2410_WTCNT_OFFSET); /* Watchdog Count Register*/ + writel(S3C2410_WTCNT_CON, wdt_reg + S3C2410_WTCON_OFFSET); /* Watchdog Controller Register*/ + writel(S3C2410_WTCNT_DAT, wdt_reg + S3C2410_WTDAT_OFFSET); /* Watchdog Data Register*/ +} + +#endif /* __ASM_ARCH_IRQ_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5p6440/include/mach/tick.h linux-2.6.28.6/arch/arm/mach-s5p6440/include/mach/tick.h --- linux-2.6.28/arch/arm/mach-s5p6440/include/mach/tick.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5p6440/include/mach/tick.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,29 @@ +/* linux/arch/arm/mach-s5p6440/include/mach/tick.h + * + * Copyright 2008 Openmoko, Inc. + * Copyright 2008 Simtec Electronics + * http://armlinux.simtec.co.uk/ + * Ben Dooks + * + * S5P64XX - Timer tick support definitions + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#ifndef __ASM_ARCH_TICK_H +#define __ASM_ARCH_TICK_H __FILE__ + +/* note, the timer interrutps turn up in 2 places, the vic and then + * the timer block. We take the VIC as the base at the moment. + */ +static inline u32 s3c24xx_ostimer_pending(void) +{ + u32 pend = __raw_readl(S3C_VA_VIC0 + VIC_RAW_STATUS); + return pend & 1 << (IRQ_TIMER4_VIC - S5P64XX_IRQ_VIC0(0)); +} + +#define TICK_MAX (0xffffffff) + +#endif /* __ASM_ARCH_6400_TICK_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5p6440/include/mach/uncompress.h linux-2.6.28.6/arch/arm/mach-s5p6440/include/mach/uncompress.h --- linux-2.6.28/arch/arm/mach-s5p6440/include/mach/uncompress.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5p6440/include/mach/uncompress.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,26 @@ +/* linux/arch/arm/mach-s5p6440/include/mach/uncompress.h + * + * Copyright 2008 Openmoko, Inc. + * Copyright 2008 Simtec Electronics + * http://armlinux.simtec.co.uk/ + * Ben Dooks + * + * S3C6400 - uncompress code + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#ifndef __ASM_ARCH_UNCOMPRESS_H +#define __ASM_ARCH_UNCOMPRESS_H + +#include +#include + +static void arch_detect_cpu(void) +{ + /* we do not need to do any cpu detection here at the moment. */ +} + +#endif /* __ASM_ARCH_UNCOMPRESS_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5p6440/mach-smdk6440.c linux-2.6.28.6/arch/arm/mach-s5p6440/mach-smdk6440.c --- linux-2.6.28/arch/arm/mach-s5p6440/mach-smdk6440.c 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5p6440/mach-smdk6440.c 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,432 @@ +/* linux/arch/arm/mach-s5p6440/mach-smdk6440.c + * + * Copyright 2008 Openmoko, Inc. + * Copyright 2008 Simtec Electronics + * Ben Dooks + * http://armlinux.simtec.co.uk/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * +*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include +#include +#include + +#include +#include + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include +#include + +#ifdef CONFIG_USB_SUPPORT +#include +#include + +/* S3C_USB_CLKSRC 0: EPLL 1: CLK_48M */ +#define S3C_USB_CLKSRC 1 +#define OTGH_PHY_CLK_VALUE (0x02) /* UTMI Interface, Cristal, 12Mhz clk for PLL */ +#endif + +#define UCON S3C2410_UCON_DEFAULT | S3C2410_UCON_UCLK +#define ULCON S3C2410_LCON_CS8 | S3C2410_LCON_PNONE | S3C2410_LCON_STOPB +#define UFCON S3C2410_UFCON_RXTRIG8 | S3C2410_UFCON_FIFOMODE + +//static struct samspi_device spidev_b0_cs0; +#if 0 +static struct samspi_device ProtocolADriver_b1_cs0; +static struct samspi_device spidev_b0_cs1; +static struct samspi_device ProtocolBDriver_b1_cs1; +static struct samspi_device spidev_b1_cs2; +#endif + +static struct spi_board_info __initdata sam_spi_devs[] = { + [0] = { + .modalias = "spidev", /* Test Interface */ + .mode = SPI_MODE_2, /* CPOL=1, CPHA=0 */ + .max_speed_hz = 2468013, + /* Connected to SPI-0 as 1st Slave */ + .bus_num = 0, + .irq = IRQ_SPI0, + .chip_select = 0, +// .controller_data = (void *)&spidev_b0_cs0, +#if 0 + }, { + .modalias = "ProtocolADriver", + .mode = SPI_MODE_2, + .max_speed_hz = 1357923, + /* Connected to SPI-1 as 1st Slave */ + .bus_num = 1, + .irq = IRQ_SPI1, + .chip_select = 0, + .controller_data = (void *)&ProtocolADriver_b1_cs0, + }, { + .modalias = "spidev", + .mode = SPI_MODE_2, + .max_speed_hz = 2357923, + /* Connected to SPI-0 as 2nd Slave */ + .bus_num = 0, + .irq = IRQ_SPI0, + .chip_select = 1, + .controller_data = (void *)&spidev_b0_cs1, + }, { + .modalias = "ProtocolBDriver", + .mode = SPI_MODE_2, + .max_speed_hz = 3357923, + /* Connected to SPI-1 as 2ndst Slave */ + .bus_num = 1, + .irq = IRQ_SPI1, + .chip_select = 1, + .controller_data = (void *)&ProtocolBDriver_b1_cs1, + }, { + .modalias = "spidev", + .mode = SPI_MODE_2, + .max_speed_hz = 4357923, + /* Connected to SPI-1 as 3rd Slave */ + .bus_num = 1, + .irq = IRQ_SPI1, + .chip_select = 2, + .controller_data = (void *)&spidev_b1_cs2, +#endif + }, +}; + +static struct s3c2410_uartcfg smdk6440_uartcfgs[] __initdata = { + [0] = { + .hwport = 0, + .flags = 0, + .ucon = S3C64XX_UCON_DEFAULT, + .ulcon = S3C64XX_ULCON_DEFAULT, + .ufcon = S3C64XX_UFCON_DEFAULT, + }, + [1] = { + .hwport = 1, + .flags = 0, + .ucon = S3C64XX_UCON_DEFAULT, + .ulcon = S3C64XX_ULCON_DEFAULT, + .ufcon = S3C64XX_UFCON_DEFAULT, + }, + [2] = { + .hwport = 2, + .flags = 0, + .ucon = S3C64XX_UCON_DEFAULT, + .ulcon = S3C64XX_ULCON_DEFAULT, + .ufcon = S3C64XX_UFCON_DEFAULT, + }, + [3] = { + .hwport = 3, + .flags = 0, + .ucon = S3C64XX_UCON_DEFAULT, + .ulcon = S3C64XX_ULCON_DEFAULT, + .ufcon = S3C64XX_UFCON_DEFAULT, + }, +}; + +struct map_desc smdk6440_iodesc[] = {}; + +static struct platform_device *smdk6440_devices[] __initdata = { +#ifdef CONFIG_SMDK6440_SD_CH0 + &s3c_device_hsmmc0, +#endif +#ifdef CONFIG_SMDK6440_SD_CH1 + &s3c_device_hsmmc1, +#endif +#ifdef CONFIG_SMDK6440_SD_CH2 + &s3c_device_hsmmc2, +#endif + &s3c_device_wdt, + &s3c_device_rtc, + &s3c_device_i2c0, + &s3c_device_i2c1, + &s3c_device_spi0, + &s3c_device_spi1, + &s3c_device_ts, + &s3c_device_smc911x, + &s3c_device_lcd, + &s3c_device_nand, + &s3c_device_usbgadget, + &s3c_device_usb_otghcd, + +#ifdef CONFIG_S5P64XX_ADC + &s3c_device_adc, +#endif + +#ifdef CONFIG_HAVE_PWM + &s3c_device_timer[0], + &s3c_device_timer[1], +#endif +}; + +static struct i2c_board_info i2c_devs0[] __initdata = { + { I2C_BOARD_INFO("24c08", 0x50), }, + //{ I2C_BOARD_INFO("WM8580", 0x10), }, +}; + +static struct i2c_board_info i2c_devs1[] __initdata = { + { I2C_BOARD_INFO("24c128", 0x57), }, /* Samsung S524AD0XD1 */ + { I2C_BOARD_INFO("WM8580", 0x1a), }, + //{ I2C_BOARD_INFO("WM8580", 0x1b), }, +}; + + +static struct s3c_ts_mach_info s3c_ts_platform __initdata = { + .delay = 10000, + .presc = 49, + .oversampling_shift = 2, + .resol_bit = 12, + .s3c_adc_con = ADC_TYPE_2, +}; + +static struct s3c_adc_mach_info s3c_adc_platform = { + /* s3c6410 support 12-bit resolution */ + .delay = 10000, + .presc = 49, + .resolution = 12, +}; + +#if defined(CONFIG_HAVE_PWM) +static struct platform_pwm_backlight_data smdk_backlight_data = { + .pwm_id = 1, + .max_brightness = 255, + .dft_brightness = 255, + .pwm_period_ns = 78770, +}; + +static struct platform_device smdk_backlight_device = { + .name = "pwm-backlight", + .dev = { + .parent = &s3c_device_timer[1].dev, + .platform_data = &smdk_backlight_data, + }, +}; + +static void __init smdk_backlight_register(void) +{ + int ret = platform_device_register(&smdk_backlight_device); + if (ret) + printk(KERN_ERR "smdk: failed to register backlight device: %d\n", ret); +} +#else +#define smdk_backlight_register() do { } while (0) +#endif + +void smdk6440_setup_sdhci0 (void); + +static void __init smdk6440_map_io(void) +{ + s3c_device_nand.name = "s5p6440-nand"; + + s5p64xx_init_io(smdk6440_iodesc, ARRAY_SIZE(smdk6440_iodesc)); + s3c24xx_init_clocks(12000000); + s3c24xx_init_uarts(smdk6440_uartcfgs, ARRAY_SIZE(smdk6440_uartcfgs)); + + smdk6440_setup_sdhci0(); +} + +static void __init smdk6440_smc911x_set(void) +{ + unsigned int tmp; + + tmp = __raw_readl(S5P64XX_SROM_BW); + tmp &= ~(S5P64XX_SROM_BW_WAIT_ENABLE1_MASK | S5P64XX_SROM_BW_WAIT_ENABLE1_MASK | + S5P64XX_SROM_BW_DATA_WIDTH1_MASK); + tmp |= S5P64XX_SROM_BW_BYTE_ENABLE1_ENABLE | S5P64XX_SROM_BW_WAIT_ENABLE1_ENABLE | + S5P64XX_SROM_BW_DATA_WIDTH1_16BIT; + + __raw_writel(tmp, S5P64XX_SROM_BW); + + __raw_writel(S5P64XX_SROM_BCn_TACS(0) | S5P64XX_SROM_BCn_TCOS(4) | + S5P64XX_SROM_BCn_TACC(13) | S5P64XX_SROM_BCn_TCOH(1) | + S5P64XX_SROM_BCn_TCAH(4) | S5P64XX_SROM_BCn_TACP(6) | + S5P64XX_SROM_BCn_PMC_NORMAL, S5P64XX_SROM_BC1); +} + +static void __init smdk6440_machine_init(void) +{ + s3c_device_nand.dev.platform_data = &s3c_nand_mtd_part_info; + + smdk6440_smc911x_set(); + + s3c_i2c0_set_platdata(NULL); + s3c_i2c1_set_platdata(NULL); + + s3c_ts_set_platdata(&s3c_ts_platform); + s3c_adc_set_platdata(&s3c_adc_platform); + + i2c_register_board_info(0, i2c_devs0, ARRAY_SIZE(i2c_devs0)); + i2c_register_board_info(1, i2c_devs1, ARRAY_SIZE(i2c_devs1)); + + spi_register_board_info(sam_spi_devs, ARRAY_SIZE(sam_spi_devs)); + + platform_add_devices(smdk6440_devices, ARRAY_SIZE(smdk6440_devices)); + + s5p6440_pm_init(); + + smdk_backlight_register(); + +} + +MACHINE_START(SMDK6440, "SMDK6440") + /* Maintainer: Ben Dooks */ + .phys_io = S3C_PA_UART & 0xfff00000, + .io_pg_offst = (((u32)S3C_VA_UART) >> 18) & 0xfffc, + .boot_params = S5P64XX_PA_SDRAM + 0x100, + + .init_irq = s5p6440_init_irq, + .map_io = smdk6440_map_io, + .init_machine = smdk6440_machine_init, + .timer = &s3c64xx_timer, +MACHINE_END + +#ifdef CONFIG_USB_SUPPORT +/* Initializes OTG Phy. */ +void otg_phy_init(void) { + + int err; + + if (gpio_is_valid(S5P64XX_GPN(1))) { + err = gpio_request(S5P64XX_GPN(1), "GPN"); + + if(err) + printk(KERN_ERR "failed to request GPN1\n"); + + gpio_direction_output(S5P64XX_GPN(1), 1); + } + + writel(readl(S3C_OTHERS)&~S3C_OTHERS_USB_SIG_MASK, S3C_OTHERS); + writel(0x0, S3C_USBOTG_PHYPWR); /* Power up */ + writel(OTGH_PHY_CLK_VALUE, S3C_USBOTG_PHYCLK); + writel(0x1, S3C_USBOTG_RSTCON); + + udelay(50); + writel(0x0, S3C_USBOTG_RSTCON); + udelay(50); +} +EXPORT_SYMBOL(otg_phy_init); + +/* USB Control request data struct must be located here for DMA transfer */ +struct usb_ctrlrequest usb_ctrl __attribute__((aligned(8))); +EXPORT_SYMBOL(usb_ctrl); + +/* OTG PHY Power Off */ +void otg_phy_off(void) { + writel(readl(S3C_USBOTG_PHYPWR)|(0x1F<<1), S3C_USBOTG_PHYPWR); + writel(readl(S3C_OTHERS)&~S3C_OTHERS_USB_SIG_MASK, S3C_OTHERS); + + gpio_free(S5P64XX_GPN(1)); +} +EXPORT_SYMBOL(otg_phy_off); + +#endif + +#if defined(CONFIG_RTC_DRV_S3C) +/* RTC common Function for samsung APs*/ +unsigned int s3c_rtc_set_bit_byte(void __iomem *base, uint offset, uint val) +{ + writeb(val, base + offset); + + return 0; +} + +unsigned int s3c_rtc_read_alarm_status(void __iomem *base) +{ + return 1; +} + +void s3c_rtc_set_pie(void __iomem *base, uint to) +{ + unsigned int tmp; + + tmp = readw(base + S3C2410_RTCCON) & ~S3C_RTCCON_TICEN; + + if (to) + tmp |= S3C_RTCCON_TICEN; + + writew(tmp, base + S3C2410_RTCCON); +} + +void s3c_rtc_set_freq_regs(void __iomem *base, uint freq, uint s3c_freq) +{ + unsigned int tmp; + + tmp = readw(base + S3C2410_RTCCON) & (S3C_RTCCON_TICEN | S3C2410_RTCCON_RTCEN ); + writew(tmp, base + S3C2410_RTCCON); + s3c_freq = freq; + tmp = (32768 / freq)-1; + writel(tmp, base + S3C2410_TICNT); +} + +void s3c_rtc_enable_set(struct platform_device *pdev,void __iomem *base, int en) +{ + unsigned int tmp; + + if (!en) { + tmp = readw(base + S3C2410_RTCCON); + writew(tmp & ~ (S3C2410_RTCCON_RTCEN | S3C_RTCCON_TICEN), base + S3C2410_RTCCON); + } else { + /* re-enable the device, and check it is ok */ + if ((readw(base+S3C2410_RTCCON) & S3C2410_RTCCON_RTCEN) == 0){ + dev_info(&pdev->dev, "rtc disabled, re-enabling\n"); + + tmp = readw(base + S3C2410_RTCCON); + writew(tmp|S3C2410_RTCCON_RTCEN, base+S3C2410_RTCCON); + } + + if ((readw(base + S3C2410_RTCCON) & S3C2410_RTCCON_CNTSEL)){ + dev_info(&pdev->dev, "removing RTCCON_CNTSEL\n"); + + tmp = readw(base + S3C2410_RTCCON); + writew(tmp& ~S3C2410_RTCCON_CNTSEL, base+S3C2410_RTCCON); + } + + if ((readw(base + S3C2410_RTCCON) & S3C2410_RTCCON_CLKRST)){ + dev_info(&pdev->dev, "removing RTCCON_CLKRST\n"); + + tmp = readw(base + S3C2410_RTCCON); + writew(tmp & ~S3C2410_RTCCON_CLKRST, base+S3C2410_RTCCON); + } + } +} +#endif + diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5p6440/pm.c linux-2.6.28.6/arch/arm/mach-s5p6440/pm.c --- linux-2.6.28/arch/arm/mach-s5p6440/pm.c 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5p6440/pm.c 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,103 @@ +/* linux/arch/arm/mach-s5p6440/pm.c + * + * Copyright (c) 2006 Samsung Electronics + * + * + * S3C6410 (and compatible) Power Manager (Suspend-To-RAM) support + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +#include +#include +#include +#include +#include +#include + +#include + +#include + +#include +#include +//#include +#include +#include + +#ifdef CONFIG_S3C2410_PM_DEBUG +extern void pm_dbg(const char *fmt, ...); +#define DBG(fmt...) pm_dbg(fmt) +#else +#define DBG(fmt...) printk(KERN_DEBUG fmt) +#endif + +//static void s5p6440_cpu_suspend(void) +void s5p6440_cpu_suspend(void) +{ + unsigned long tmp; + + /* issue the standby signal into the pm unit. Note, we + * issue a write-buffer drain just in case */ + + tmp = 0; + + asm("b 1f\n\t" + ".align 5\n\t" + "1:\n\t" + "mcr p15, 0, %0, c7, c10, 5\n\t" + "mcr p15, 0, %0, c7, c10, 4\n\t" + "mcr p15, 0, %0, c7, c0, 4" :: "r" (tmp)); + + /* we should never get past here */ + + panic("sleep resumed to originator?"); +} + +static void s5p6440_pm_prepare(void) +{ + +} + +static int s5p6440_pm_add(struct sys_device *sysdev) +{ + pm_cpu_prep = s5p6440_pm_prepare; + pm_cpu_sleep = s5p6440_cpu_suspend; + + return 0; +} + +static struct sleep_save s5p6440_sleep[] = { + +}; + +static int s5p6440_pm_resume(struct sys_device *dev) +{ + s5p6440_pm_do_restore(s5p6440_sleep, ARRAY_SIZE(s5p6440_sleep)); + return 0; +} + +static struct sysdev_driver s5p6440_pm_driver = { + .add = s5p6440_pm_add, + .resume = s5p6440_pm_resume, +}; + +static __init int s5p6440_pm_drvinit(void) +{ + return sysdev_driver_register(&s5p6440_sysclass, &s5p6440_pm_driver); +} + +arch_initcall(s5p6440_pm_drvinit); + diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5p6440/setup-sdhci.c linux-2.6.28.6/arch/arm/mach-s5p6440/setup-sdhci.c --- linux-2.6.28/arch/arm/mach-s5p6440/setup-sdhci.c 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5p6440/setup-sdhci.c 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,160 @@ +/* linux/arch/arm/mach-s3c6410/setup-sdhci.c + * + * Copyright 2008 Simtec Electronics + * Copyright 2008 Simtec Electronics + * Ben Dooks + * http://armlinux.simtec.co.uk/ + * + * S3C6410 - Helper functions for settign up SDHCI device(s) (HSMMC) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include +#include +#include +#include + +/* clock sources for the mmc bus clock, order as for the ctrl2[5..4] */ + +char *s3c6410_hsmmc_clksrcs[4] = { + [0] = "hsmmc", + [1] = "hsmmc", + [2] = "mmc_bus", + /* [3] = "48m", - note not succesfully used yet */ +}; + +void s3c6410_setup_sdhci0_cfg_gpio(struct platform_device *dev, int width) +{ + unsigned int gpio; + unsigned int end; + + /* GPIO should be set on 4bit though 1-bit setting is comming. */ + if (width == 1) + width = 4; + end = S5P64XX_GPG(2 + width); + + /* Set all the necessary GPG pins to special-function 0 */ + for (gpio = S5P64XX_GPG(0); gpio < end; gpio++) { + s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(2)); + s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE); + } + +#if 0 + s3c_gpio_setpull(S5P64XX_GPG(6), S3C_GPIO_PULL_UP); + s3c_gpio_cfgpin(S5P64XX_GPG(6), S3C_GPIO_SFN(2)); +#endif +} + +void s3c6410_setup_sdhci0_cfg_card(struct platform_device *dev, + void __iomem *r, + struct mmc_ios *ios, + struct mmc_card *card) +{ + u32 ctrl2, ctrl3 = 0; + + /* don't need to alter anything acording to card-type */ + + writel(S3C64XX_SDHCI_CONTROL4_DRIVE_9mA, r + S3C64XX_SDHCI_CONTROL4); + + ctrl2 = readl(r + S3C_SDHCI_CONTROL2); + ctrl2 &= S3C_SDHCI_CTRL2_SELBASECLK_MASK; + ctrl2 |= (S3C64XX_SDHCI_CTRL2_ENSTAASYNCCLR | + S3C64XX_SDHCI_CTRL2_ENCMDCNFMSK | + S3C_SDHCI_CTRL2_ENFBCLKRX | + S3C_SDHCI_CTRL2_DFCNT_NONE | + S3C_SDHCI_CTRL2_ENCLKOUTHOLD); + + writel(ctrl2, r + S3C_SDHCI_CONTROL2); + writel(ctrl3, r + S3C_SDHCI_CONTROL3); +} + +void s3c6410_setup_sdhci1_cfg_gpio(struct platform_device *dev, int width) +{ + unsigned int gpio; + unsigned int end; + + /* GPIO should be set on 4bit though 1-bit setting is comming. */ + if (width == 1) + width = 4; + end = S5P64XX_GPH(2 + width); + + /* Set all the necessary GPG pins to special-function 0 */ + for (gpio = S5P64XX_GPH(0); gpio < end; gpio++) { + s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(2)); + s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE); + } + + s3c_gpio_setpull(S5P64XX_GPG(6), S3C_GPIO_PULL_UP); + s3c_gpio_cfgpin(S5P64XX_GPG(6), S3C_GPIO_SFN(3)); +} + +void s3c6410_setup_sdhci2_cfg_gpio(struct platform_device *dev, int width) +{ + /* XXX: should be done later. */ +#if 0 + unsigned int gpio; + unsigned int end; + + /* GPIO should be set on 4bit though 1-bit setting is comming. */ + if (width == 1) + width = 4; + end = S5P64XX_GPH(2 + width); + + /* Set all the necessary GPG pins to special-function 0 */ + for (gpio = S5P64XX_GPH(0); gpio < end; gpio++) { + s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(2)); + s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE); + } + + s3c_gpio_setpull(S5P64XX_GPG(6), S3C_GPIO_PULL_UP); + s3c_gpio_cfgpin(S5P64XX_GPG(6), S3C_GPIO_SFN(3)); +#endif +} + +static void setup_sdhci0_irq_cd (void) +{ + /* init GPIO as a ext irq */ + s3c_gpio_cfgpin(S5P64XX_GPN(13), S3C_GPIO_SFN(2)); + s3c_gpio_setpull(S5P64XX_GPN(13), S3C_GPIO_PULL_NONE); + + set_irq_type(S3C_EINT(13), IRQ_TYPE_EDGE_BOTH); +} + +static uint detect_sdhci0_irq_cd (void) +{ + uint detect; + + detect = readl(S5P64XX_GPNDAT); + detect &= 0x2000; /* GPN13 */ + + return (!detect); +} + +static struct s3c_sdhci_platdata s3c_hsmmc0_platdata = { + .max_width = 4, + .host_caps = (MMC_CAP_4_BIT_DATA | MMC_CAP_MMC_HIGHSPEED | + MMC_CAP_SD_HIGHSPEED | MMC_CAP_BOOT_ONTHEFLY), + .cfg_ext_cd = setup_sdhci0_irq_cd, + .detect_ext_cd = detect_sdhci0_irq_cd, + .ext_cd = S3C_EINT(13), +}; + +void smdk6440_setup_sdhci0 (void) +{ + s3c_sdhci0_set_platdata(&s3c_hsmmc0_platdata); +} + diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5pc100/Kconfig linux-2.6.28.6/arch/arm/mach-s5pc100/Kconfig --- linux-2.6.28/arch/arm/mach-s5pc100/Kconfig 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5pc100/Kconfig 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,33 @@ +# arch/arm/mach-s5pc100/Kconfig +# +# Copyright 2008 Openmoko, Inc. +# Copyright 2008 Simtec Electronics +# +# Licensed under GPLv2 + +# Configuration options for the S5PC100 CPU + +config CPU_S5PC100 + bool + select CPU_S5PC100_INIT + select CPU_S5PC100_CLOCK + help + Enable S5PC100 CPU support + +config S5PC1XX_SETUP_SDHCI + bool + help + Internal helper functions for S5PC1XX based SDHCI systems + +config MACH_SMDKC100 + bool "SMDKC100" + select CPU_S5PC100 + select S3C_DMA_PL330 + select S3C_DEV_I2C1 + select S3C_DEV_HSMMC + select S3C_DEV_HSMMC1 + select S5PC1XX_SETUP_SDHCI + select S3C64XX_SETUP_I2C1 + help + Machine support for the Samsung SMDKC100 + diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5pc100/Makefile linux-2.6.28.6/arch/arm/mach-s5pc100/Makefile --- linux-2.6.28/arch/arm/mach-s5pc100/Makefile 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5pc100/Makefile 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,29 @@ +# arch/arm/mach-s5pc100/Makefile +# +# Copyright 2008 Openmoko, Inc. +# Copyright 2008 Simtec Electronics +# +# Licensed under GPLv2 + +obj-y := +led-y := leds.o +obj-m := +obj-n := +obj- := + +# Core support for S5PC100 system + +obj-$(CONFIG_CPU_S5PC100) += cpu.o +obj-$(CONFIG_CPU_S5PC100) += dma.o + +# Helper and device support +obj-$(CONFIG_PM) += pm.o +obj-$(CONFIG_S5PC1XX_SETUP_SDHCI) += setup-sdhci.o + +# machine support + +obj-$(CONFIG_MACH_SMDKC100) += mach-smdkc100.o + +# LEDs support +led-$(CONFIG_MACH_SMDKC100) += leds-s5pc100.o +obj-$(CONFIG_LEDS) += $(led-y) diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5pc100/Makefile.boot linux-2.6.28.6/arch/arm/mach-s5pc100/Makefile.boot --- linux-2.6.28/arch/arm/mach-s5pc100/Makefile.boot 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5pc100/Makefile.boot 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,2 @@ + zreladdr-y := 0x20008000 +params_phys-y := 0x20000100 diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5pc100/cpu.c linux-2.6.28.6/arch/arm/mach-s5pc100/cpu.c --- linux-2.6.28/arch/arm/mach-s5pc100/cpu.c 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5pc100/cpu.c 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,166 @@ +/* linux/arch/arm/mach-s5pc100/cpu.c + * + * Copyright 2008 Samsung Electronics + * Copyright 2008 Simtec Electronics + * Ben Dooks + * http://armlinux.simtec.co.uk/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include +#include +#include + +#include +#include + +#include +#include +#include +#include +#include +#include + +#include +#include + +#undef T32_PROBE_DEBUGGING + +#if defined(T32_PROBE_DEBUGGING) +#include +#include +#include +#endif + +/* Initial IO mappings */ + +static struct map_desc s5pc100_iodesc[] __initdata = { + IODESC_ENT(LCD), + IODESC_ENT(SROMC), + IODESC_ENT(SYSTIMER), + IODESC_ENT(OTG), + IODESC_ENT(OTGSFR), + IODESC_ENT(SYSCON), + IODESC_ENT(GPIO), + IODESC_ENT(NAND), + //IODESC_ENT(HOSTIFB), +}; + +/* s5pc100_map_io + * + * register the standard cpu IO areas +*/ + +static void s5pc100_idle(void) +{ +#if !defined(CONFIG_MMC_SDHCI_S3C) && !defined(CONFIG_MMC_SDHCI_MODULE) + unsigned int tmp; + +#if defined(T32_PROBE_DEBUGGING) +/* debugging with T32 GPIO port GPD1 which is connected with 2 pin of J1 connector */ + gpio_direction_output(S5PC1XX_GPD(1), 0); +#endif +/* + * 1. Set CFG_STANDBYWFI field of PWR_CFG to 2¡¯b01. + * 2. Set PMU_INT_DISABLE bit of OTHERS register to 1¡¯b1 to prevent interrupts from + * occurring while entering IDLE mode. + * 3. Execute Wait For Interrupt instruction (WFI). +*/ + tmp = __raw_readl(S5P_PWR_CFG); + tmp &= S5P_CFG_WFI_CLEAN; + tmp |= S5P_CFG_WFI_IDLE; + __raw_writel(tmp, S5P_PWR_CFG); + + cpu_do_idle(); + +#if defined(T32_PROBE_DEBUGGING) + gpio_direction_output(S5PC1XX_GPD(1), 1); +#endif +#endif +} + +void __init s5pc100_map_io(void) +{ + iotable_init(s5pc100_iodesc, ARRAY_SIZE(s5pc100_iodesc)); + + /* HS-MMC Platform data */ + + s3c6410_default_sdhci0(); + s3c6410_default_sdhci1(); + + /* set s5pc100 idle function */ + + s5pc1xx_idle = s5pc100_idle; + + +#if 0 + /* the i2c devices are directly compatible with s3c2440 */ + s3c_i2c0_setname("s3c2440-i2c"); + s3c_i2c1_setname("s3c2440-i2c"); +#endif +} + +void __init s5pc100_init_clocks(int xtal) +{ + printk(KERN_DEBUG "%s: initialising clocks\n", __func__); + s3c24xx_register_baseclocks(xtal); + s5pc1xx_register_clocks(); + s5pc100_register_clocks(); + s5pc100_setup_clocks(); +#if defined(CONFIG_TIMER_PWM) + s3c24xx_pwmclk_init(); +#endif +} + +void __init s5pc100_init_irq(void) +{ + /* VIC0, VIC1, and VIC2 are fully populated. */ + s5pc1xx_init_irq(~0, ~0, ~0); +} + +struct sysdev_class s5pc100_sysclass = { + .name = "s5pc100-core", +}; + +static struct sys_device s5pc100_sysdev = { + .cls = &s5pc100_sysclass, +}; + +static int __init s5pc100_core_init(void) +{ + return sysdev_class_register(&s5pc100_sysclass); +} + +core_initcall(s5pc100_core_init); + +int __init s5pc100_init(void) +{ + printk("S5PC100: Initialising architecture\n"); + +#if defined (CONFIG_S3C_SIR) + s3c24xx_uart_src[3]->name = "s3c-irda"; +#endif + + return sysdev_register(&s5pc100_sysdev); +} diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5pc100/dma.c linux-2.6.28.6/arch/arm/mach-s5pc100/dma.c --- linux-2.6.28/arch/arm/mach-s5pc100/dma.c 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5pc100/dma.c 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,306 @@ +/* linux/arch/arm/mach-s5pc100/dma.c + * + * Copyright (c) 2003-2008,2009 Samsung Electronics + * + * S5PC100 DMA selection + * + * http://www.samsung.com/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#include +#include +#include +#include + +#include +#include +#include + +#include +#include + +/* M2M DMAC */ +#define MAP0(x) { \ + [0] = (x) | DMA_CH_VALID, \ + [1] = (x) | DMA_CH_VALID, \ + [2] = (x) | DMA_CH_VALID, \ + [3] = (x) | DMA_CH_VALID, \ + [4] = (x) | DMA_CH_VALID, \ + [5] = (x) | DMA_CH_VALID, \ + [6] = (x) | DMA_CH_VALID, \ + [7] = (x) | DMA_CH_VALID, \ + [8] = (x), \ + [9] = (x), \ + [10] = (x), \ + [11] = (x), \ + [12] = (x), \ + [13] = (x), \ + [14] = (x), \ + [15] = (x), \ + [16] = (x), \ + [17] = (x), \ + [18] = (x), \ + [19] = (x), \ + [20] = (x), \ + [21] = (x), \ + [22] = (x), \ + [23] = (x), \ + } + +/* Peri-DMAC 0 */ +#define MAP1(x) { \ + [0] = (x), \ + [1] = (x), \ + [2] = (x), \ + [3] = (x), \ + [4] = (x), \ + [5] = (x), \ + [6] = (x), \ + [7] = (x), \ + [8] = (x) | DMA_CH_VALID, \ + [9] = (x) | DMA_CH_VALID, \ + [10] = (x) | DMA_CH_VALID, \ + [11] = (x) | DMA_CH_VALID, \ + [12] = (x) | DMA_CH_VALID, \ + [13] = (x) | DMA_CH_VALID, \ + [14] = (x) | DMA_CH_VALID, \ + [15] = (x) | DMA_CH_VALID, \ + [16] = (x), \ + [17] = (x), \ + [18] = (x), \ + [19] = (x), \ + [20] = (x), \ + [21] = (x), \ + [22] = (x), \ + [23] = (x), \ + } + +/* Peri-DMAC 1 */ +#define MAP2(x) { \ + [0] = (x), \ + [1] = (x), \ + [2] = (x), \ + [3] = (x), \ + [4] = (x), \ + [5] = (x), \ + [6] = (x), \ + [7] = (x), \ + [8] = (x), \ + [9] = (x), \ + [10] = (x), \ + [11] = (x), \ + [12] = (x), \ + [13] = (x), \ + [14] = (x), \ + [15] = (x), \ + [16] = (x) | DMA_CH_VALID, \ + [17] = (x) | DMA_CH_VALID, \ + [18] = (x) | DMA_CH_VALID, \ + [19] = (x) | DMA_CH_VALID, \ + [20] = (x) | DMA_CH_VALID, \ + [21] = (x) | DMA_CH_VALID, \ + [22] = (x) | DMA_CH_VALID, \ + [23] = (x) | DMA_CH_VALID, \ + } + + +/* DMA request sources of Peri-DMAC 1 */ +#define S3C_PDMA1_UART0CH0 0 +#define S3C_PDMA1_UART0CH1 1 +#define S3C_PDMA1_UART1CH0 2 +#define S3C_PDMA1_UART1CH1 3 +#define S3C_PDMA1_UART2CH0 4 +#define S3C_PDMA1_UART2CH1 5 +#define S3C_PDMA1_UART3CH0 6 +#define S3C_PDMA1_UART3CH1 7 +#define S3C_PDMA1_IRDA 8 +#define S3C_PDMA1_I2S0_RX 9 +#define S3C_PDMA1_I2S0_TX 10 +#define S3C_PDMA1_I2S0S_TX 11 +#define S3C_PDMA1_I2S1_RX 12 +#define S3C_PDMA1_I2S1_TX 13 +#define S3C_PDMA1_I2S2_RX 14 +#define S3C_PDMA1_I2S2_TX 15 +#define S3C_PDMA1_SPI0_RX 16 +#define S3C_PDMA1_SPI0_TX 17 +#define S3C_PDMA1_SPI1_RX 18 +#define S3C_PDMA1_SPI1_TX 19 +#define S3C_PDMA1_SPI2_RX 20 +#define S3C_PDMA1_SPI2_TX 21 +#define S3C_PDMA1_PCM0_RX 22 +#define S3C_PDMA1_PCM0_TX 23 +#define S3C_PDMA1_PCM1_RX 24 +#define S3C_PDMA1_PCM1_TX 25 +#define S3C_PDMA1_MSM_REQ0 26 +#define S3C_PDMA1_MSM_REQ1 27 +#define S3C_PDMA1_MSM_REQ2 28 +#define S3C_PDMA1_MSM_REQ3 29 +#define S3C_PDMA1_CG 30 +#define S3C_PDMA1_Reserved 31 + + +/* DMA request sources of Peri-DMAC 0 */ +#define S3C_PDMA0_UART0CH0 0 +#define S3C_PDMA0_UART0CH1 1 +#define S3C_PDMA0_UART1CH0 2 +#define S3C_PDMA0_UART1CH1 3 +#define S3C_PDMA0_UART2CH0 4 +#define S3C_PDMA0_UART2CH1 5 +#define S3C_PDMA0_UART3CH0 6 +#define S3C_PDMA0_UART3CH1 7 +#define S3C_PDMA0_IRDA 8 +#define S3C_PDMA0_I2S0_RX 9 +#define S3C_PDMA0_I2S0_TX 10 +#define S3C_PDMA0_I2S0S_TX 11 +#define S3C_PDMA0_I2S1_RX 12 +#define S3C_PDMA0_I2S1_TX 13 +#define S3C_PDMA0_I2S2_RX 14 +#define S3C_PDMA0_I2S2_TX 15 +#define S3C_PDMA0_SPI0_RX 16 +#define S3C_PDMA0_SPI0_TX 17 +#define S3C_PDMA0_SPI1_RX 18 +#define S3C_PDMA0_SPI1_TX 19 +#define S3C_PDMA0_SPI2_RX 20 +#define S3C_PDMA0_SPI2_TX 21 +#define S3C_PDMA0_AC_MICIN 22 +#define S3C_PDMA0_AC_PCMIN 23 +#define S3C_PDMA0_AC_PCMOUT 24 +#define S3C_PDMA0_EXTERNAL 25 +#define S3C_PDMA0_PWM 26 +#define S3C_PDMA0_SPDIF 27 +#define S3C_PDMA0_HSI_TX 28 +#define S3C_PDMA0_HSI_RX 29 +#define S3C_PDMA0_Reserved_1 30 +#define S3C_PDMA0_Reserved 31 + + +/* DMA request sources of M2M-DMAC */ +#define S3C_DMA_SEC_TX 0 +#define S3C_DMA_SEC_RX 1 +#define S3C_DMA_M2M 2 + + +static struct s3c_dma_map __initdata s5pc100_dma_mappings[] = { + + [DMACH_I2S_IN] = { + .name = "i2s0-in", + .channels = MAP1(S3C_PDMA0_I2S0_RX), + .hw_addr.from = S3C_PDMA0_I2S0_RX, + }, + [DMACH_I2S_OUT] = { + .name = "i2s0-out", + .channels = MAP1(S3C_PDMA0_I2S0_TX), + .hw_addr.to = S3C_PDMA0_I2S0_TX, + }, + [DMACH_I2S1_IN] = { + .name = "i2s1-in", + .channels = MAP2(S3C_PDMA1_I2S1_RX), + .hw_addr.from = S3C_PDMA1_I2S1_RX, + }, + [DMACH_I2S1_OUT] = { + .name = "i2s1-out", + .channels = MAP2(S3C_PDMA1_I2S1_TX), + .hw_addr.to = S3C_PDMA1_I2S1_TX, + }, + [DMACH_SPI0_IN] = { + .name = "spi0-in", + .channels = MAP1(S3C_PDMA0_SPI0_RX), + .hw_addr.from = S3C_PDMA0_SPI0_RX, + }, + [DMACH_SPI0_OUT] = { + .name = "spi0-out", + .channels = MAP1(S3C_PDMA0_SPI0_TX), + .hw_addr.to = S3C_PDMA0_SPI0_TX, + }, + [DMACH_SPI1_IN] = { + .name = "spi1-in", + .channels = MAP2(S3C_PDMA1_SPI1_RX), + .hw_addr.from = S3C_PDMA1_SPI1_RX, + }, + [DMACH_SPI1_OUT] = { + .name = "spi1-out", + .channels = MAP2(S3C_PDMA1_SPI1_TX), + .hw_addr.to = S3C_PDMA1_SPI1_TX, + }, + [DMACH_AC97_PCM_OUT] = { + .name = "ac97-pcm-out", + .channels = MAP1(S3C_PDMA0_AC_PCMOUT), + .hw_addr.to = S3C_PDMA0_AC_PCMOUT, + }, + [DMACH_AC97_PCM_IN] = { + .name = "ac97-pcm-in", + .channels = MAP1(S3C_PDMA0_AC_PCMIN), + .hw_addr.from = S3C_PDMA0_AC_PCMIN, + }, + [DMACH_AC97_MIC_IN] = { + .name = "ac97-mic-in", + .channels = MAP1(S3C_PDMA0_AC_MICIN), + .hw_addr.from = S3C_PDMA0_AC_MICIN, + }, + [DMACH_I2S_V40_IN] = { + .name = "i2s-v40-in", + .channels = MAP1(S3C_PDMA0_HSI_RX), + .hw_addr.from = S3C_PDMA0_HSI_RX, + }, + [DMACH_I2S_V40_OUT] = { + .name = "i2s-v40-out", + .channels = MAP1(S3C_PDMA0_HSI_TX), + .hw_addr.to = S3C_PDMA0_HSI_TX, + }, + [DMACH_I2S_V50_OUT] = { + .name = "i2s-v50-out", + .channels = MAP1(S3C_PDMA1_I2S0_TX), + .hw_addr.to = S3C_PDMA1_I2S0_TX, + }, + [DMACH_I2S_V50_IN] = { + .name = "i2s-v50-in", + .channels = MAP1(S3C_PDMA1_I2S0_RX), + .hw_addr.from = S3C_PDMA1_I2S0_RX, + }, + [DMACH_ONENAND_IN] = { + .name = "onenand-in", + .channels = MAP0(S3C_DMA_M2M), + .hw_addr.from = 0, + }, + [DMACH_3D_M2M] = { + .name = "3D-M2M", + .channels = MAP0(S3C_DMA_M2M), + .hw_addr.from = 0, + }, +}; + +static void s5pc100_dma_select(struct s3c2410_dma_chan *chan, + struct s3c_dma_map *map) +{ + chan->map = map; +} + +static struct s3c_dma_selection __initdata s5pc100_dma_sel = { + .select = s5pc100_dma_select, + .dcon_mask = 0, + .map = s5pc100_dma_mappings, + .map_size = ARRAY_SIZE(s5pc100_dma_mappings), +}; + +static int __init s5pc100_dma_add(struct sys_device *sysdev) +{ + s3c_dma_init(S3C_DMA_CHANNELS, IRQ_MDMA, 0x20); + return s3c_dma_init_map(&s5pc100_dma_sel); +} + +static struct sysdev_driver s5pc100_dma_driver = { + .add = s5pc100_dma_add, +}; + +static int __init s5pc100_dma_init(void) +{ + return sysdev_driver_register(&s5pc100_sysclass, &s5pc100_dma_driver); +} + +arch_initcall(s5pc100_dma_init); + + diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5pc100/include/mach/debug-macro.S linux-2.6.28.6/arch/arm/mach-s5pc100/include/mach/debug-macro.S --- linux-2.6.28/arch/arm/mach-s5pc100/include/mach/debug-macro.S 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5pc100/include/mach/debug-macro.S 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,39 @@ +/* arch/arm/mach-s5pc100/include/mach/debug-macro.S + * + * Copyright 2008 Openmoko, Inc. + * Copyright 2008 Simtec Electronics + * http://armlinux.simtec.co.uk/ + * Ben Dooks + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +/* pull in the relevant register and map files. */ + +#include +#include + + /* note, for the boot process to work we have to keep the UART + * virtual address aligned to an 1MiB boundary for the L1 + * mapping the head code makes. We keep the UART virtual address + * aligned and add in the offset when we load the value here. + */ + + .macro addruart, rx + mrc p15, 0, \rx, c1, c0 + tst \rx, #1 + ldreq \rx, = S3C_PA_UART + ldrne \rx, = (S3C_VA_UART + S3C_PA_UART & 0xfffff) +#if CONFIG_DEBUG_S3C_UART != 0 + add \rx, \rx, #(0x400 * CONFIG_DEBUG_S3C_UART) +#endif + .endm + +/* include the reset of the code which will do the work, we're only + * compiling for a single cpu processor type so the default of s3c2440 + * will be fine with us. + */ + +#include diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5pc100/include/mach/dma.h linux-2.6.28.6/arch/arm/mach-s5pc100/include/mach/dma.h --- linux-2.6.28/arch/arm/mach-s5pc100/include/mach/dma.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5pc100/include/mach/dma.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,22 @@ +/* linux/arch/arm/mach-s5pc100/include/mach/dma.h + * + * Copyright 2008 Openmoko, Inc. + * Copyright 2008 Simtec Electronics + * Ben Dooks + * http://armlinux.simtec.co.uk/ + * + * S5PC100 - DMA support + */ + +#ifndef __ASM_ARCH_DMA_H +#define __ASM_ARCH_DMA_H __FILE__ + +#include + +#define S3C_DMA_CONTROLLERS (3) +#define S3C_CHANNELS_PER_DMA (8) +#define S3C_CANDIDATE_CHANNELS_PER_DMA (32) +#define S3C_DMA_CHANNELS (S3C_DMA_CONTROLLERS*S3C_CHANNELS_PER_DMA) + +#endif /* __ASM_ARCH_DMA_H */ + diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5pc100/include/mach/entry-macro.S linux-2.6.28.6/arch/arm/mach-s5pc100/include/mach/entry-macro.S --- linux-2.6.28/arch/arm/mach-s5pc100/include/mach/entry-macro.S 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5pc100/include/mach/entry-macro.S 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,50 @@ +/* arch/arm/mach-s5pc100/include/mach/entry-macro.S + * + * Copyright 2008 Openmoko, Inc. + * Copyright 2008 Simtec Electronics + * http://armlinux.simtec.co.uk/ + * Ben Dooks + * + * Low-level IRQ helper macros for the Samsung S5PC1XX series + * + * This file is licensed under the terms of the GNU General Public + * License version 2. This program is licensed "as is" without any + * warranty of any kind, whether express or implied. +*/ + +#include +#include +#include + + .macro disable_fiq + .endm + + .macro get_irqnr_preamble, base, tmp + ldr \base, =S3C_VA_VIC0 + .endm + + .macro arch_ret_to_user, tmp1, tmp2 + .endm + + .macro get_irqnr_and_base, irqnr, irqstat, base, tmp + + @ check the vic0 + mov \irqnr, # S3C_IRQ_OFFSET + 31 + ldr \irqstat, [ \base, # VIC_IRQ_STATUS ] + teq \irqstat, #0 + + @ otherwise try vic1 + addeq \tmp, \base, #(S3C_VA_VIC1 - S3C_VA_VIC0) + addeq \irqnr, \irqnr, #32 + ldreq \irqstat, [ \tmp, # VIC_IRQ_STATUS ] + teqeq \irqstat, #0 + + @ otherwise try vic2 + addeq \tmp, \base, #(S3C_VA_VIC2 - S3C_VA_VIC0) + addeq \irqnr, \irqnr, #32 + ldreq \irqstat, [ \tmp, # VIC_IRQ_STATUS ] + teqeq \irqstat, #0 + + clzne \irqstat, \irqstat + subne \irqnr, \irqnr, \irqstat + .endm diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5pc100/include/mach/gpio-core.h linux-2.6.28.6/arch/arm/mach-s5pc100/include/mach/gpio-core.h --- linux-2.6.28/arch/arm/mach-s5pc100/include/mach/gpio-core.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5pc100/include/mach/gpio-core.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,21 @@ +/* arch/arm/mach-s5pc100/include/mach/gpio-core.h + * + * Copyright 2008 Openmoko, Inc. + * Copyright 2008 Simtec Electronics + * Ben Dooks + * http://armlinux.simtec.co.uk/ + * + * S5PC1XX - GPIO core support + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#ifndef __ASM_ARCH_GPIO_CORE_H +#define __ASM_ARCH_GPIO_CORE_H __FILE__ + +/* currently we just include the platform support */ +#include + +#endif /* __ASM_ARCH_GPIO_CORE_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5pc100/include/mach/gpio.h linux-2.6.28.6/arch/arm/mach-s5pc100/include/mach/gpio.h --- linux-2.6.28/arch/arm/mach-s5pc100/include/mach/gpio.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5pc100/include/mach/gpio.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,146 @@ +/* arch/arm/mach-s5pc100/include/mach/gpio.h + * + * Copyright 2008 Openmoko, Inc. + * Copyright 2008 Simtec Electronics + * http://armlinux.simtec.co.uk/ + * Ben Dooks + * + * S5PC100 - GPIO lib support + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#define gpio_get_value __gpio_get_value +#define gpio_set_value __gpio_set_value +#define gpio_cansleep __gpio_cansleep +#define gpio_to_irq __gpio_to_irq + +/* GPIO bank sizes */ +#define S5PC1XX_GPIO_A0_NR (8) +#define S5PC1XX_GPIO_A1_NR (5) +#define S5PC1XX_GPIO_B_NR (8) +#define S5PC1XX_GPIO_C_NR (5) +#define S5PC1XX_GPIO_D_NR (7) +#define S5PC1XX_GPIO_E0_NR (8) +#define S5PC1XX_GPIO_E1_NR (6) +#define S5PC1XX_GPIO_F0_NR (8) +#define S5PC1XX_GPIO_F1_NR (8) +#define S5PC1XX_GPIO_F2_NR (8) +#define S5PC1XX_GPIO_F3_NR (4) +#define S5PC1XX_GPIO_G0_NR (8) +#define S5PC1XX_GPIO_G1_NR (3) +#define S5PC1XX_GPIO_G2_NR (7) +#define S5PC1XX_GPIO_G3_NR (7) +#define S5PC1XX_GPIO_H0_NR (8) +#define S5PC1XX_GPIO_H1_NR (8) +#define S5PC1XX_GPIO_H2_NR (8) +#define S5PC1XX_GPIO_H3_NR (8) +#define S5PC1XX_GPIO_I_NR (8) +#define S5PC1XX_GPIO_J0_NR (8) +#define S5PC1XX_GPIO_J1_NR (5) +#define S5PC1XX_GPIO_J2_NR (8) +#define S5PC1XX_GPIO_J3_NR (8) +#define S5PC1XX_GPIO_J4_NR (4) +#define S5PC1XX_GPIO_K0_NR (8) +#define S5PC1XX_GPIO_K1_NR (6) +#define S5PC1XX_GPIO_K2_NR (8) +#define S5PC1XX_GPIO_K3_NR (8) +#define S5PC1XX_GPIO_MP00_NR (8) +#define S5PC1XX_GPIO_MP01_NR (8) +#define S5PC1XX_GPIO_MP02_NR (8) +#define S5PC1XX_GPIO_MP03_NR (8) +#define S5PC1XX_GPIO_MP04_NR (5) + +/* GPIO bank numbes */ + +/* CONFIG_S3C_GPIO_SPACE allows the user to select extra + * space for debugging purposes so that any accidental + * change from one gpio bank to another can be caught. +*/ + +#define S5PC1XX_GPIO_NEXT(__gpio) \ + ((__gpio##_START) + (__gpio##_NR) + CONFIG_S3C_GPIO_SPACE + 1) + +enum s3c_gpio_number { + S5PC1XX_GPIO_A0_START = 0, + S5PC1XX_GPIO_A1_START = S5PC1XX_GPIO_NEXT(S5PC1XX_GPIO_A0), + S5PC1XX_GPIO_B_START = S5PC1XX_GPIO_NEXT(S5PC1XX_GPIO_A1), + S5PC1XX_GPIO_C_START = S5PC1XX_GPIO_NEXT(S5PC1XX_GPIO_B), + S5PC1XX_GPIO_D_START = S5PC1XX_GPIO_NEXT(S5PC1XX_GPIO_C), + S5PC1XX_GPIO_E0_START = S5PC1XX_GPIO_NEXT(S5PC1XX_GPIO_D), + S5PC1XX_GPIO_E1_START = S5PC1XX_GPIO_NEXT(S5PC1XX_GPIO_E0), + S5PC1XX_GPIO_F0_START = S5PC1XX_GPIO_NEXT(S5PC1XX_GPIO_E1), + S5PC1XX_GPIO_F1_START = S5PC1XX_GPIO_NEXT(S5PC1XX_GPIO_F0), + S5PC1XX_GPIO_F2_START = S5PC1XX_GPIO_NEXT(S5PC1XX_GPIO_F1), + S5PC1XX_GPIO_F3_START = S5PC1XX_GPIO_NEXT(S5PC1XX_GPIO_F2), + S5PC1XX_GPIO_G0_START = S5PC1XX_GPIO_NEXT(S5PC1XX_GPIO_F3), + S5PC1XX_GPIO_G1_START = S5PC1XX_GPIO_NEXT(S5PC1XX_GPIO_G0), + S5PC1XX_GPIO_G2_START = S5PC1XX_GPIO_NEXT(S5PC1XX_GPIO_G1), + S5PC1XX_GPIO_G3_START = S5PC1XX_GPIO_NEXT(S5PC1XX_GPIO_G2), + S5PC1XX_GPIO_H0_START = S5PC1XX_GPIO_NEXT(S5PC1XX_GPIO_G3), + S5PC1XX_GPIO_H1_START = S5PC1XX_GPIO_NEXT(S5PC1XX_GPIO_H0), + S5PC1XX_GPIO_H2_START = S5PC1XX_GPIO_NEXT(S5PC1XX_GPIO_H1), + S5PC1XX_GPIO_H3_START = S5PC1XX_GPIO_NEXT(S5PC1XX_GPIO_H2), + S5PC1XX_GPIO_I_START = S5PC1XX_GPIO_NEXT(S5PC1XX_GPIO_H3), + S5PC1XX_GPIO_J0_START = S5PC1XX_GPIO_NEXT(S5PC1XX_GPIO_I), + S5PC1XX_GPIO_J1_START = S5PC1XX_GPIO_NEXT(S5PC1XX_GPIO_J0), + S5PC1XX_GPIO_J2_START = S5PC1XX_GPIO_NEXT(S5PC1XX_GPIO_J1), + S5PC1XX_GPIO_J3_START = S5PC1XX_GPIO_NEXT(S5PC1XX_GPIO_J2), + S5PC1XX_GPIO_J4_START = S5PC1XX_GPIO_NEXT(S5PC1XX_GPIO_J3), + S5PC1XX_GPIO_K0_START = S5PC1XX_GPIO_NEXT(S5PC1XX_GPIO_J4), + S5PC1XX_GPIO_K1_START = S5PC1XX_GPIO_NEXT(S5PC1XX_GPIO_K0), + S5PC1XX_GPIO_K2_START = S5PC1XX_GPIO_NEXT(S5PC1XX_GPIO_K1), + S5PC1XX_GPIO_K3_START = S5PC1XX_GPIO_NEXT(S5PC1XX_GPIO_K2), + S5PC1XX_GPIO_MP00_START = S5PC1XX_GPIO_NEXT(S5PC1XX_GPIO_K3), + S5PC1XX_GPIO_MP01_START = S5PC1XX_GPIO_NEXT(S5PC1XX_GPIO_MP00), + S5PC1XX_GPIO_MP02_START = S5PC1XX_GPIO_NEXT(S5PC1XX_GPIO_MP01), + S5PC1XX_GPIO_MP03_START = S5PC1XX_GPIO_NEXT(S5PC1XX_GPIO_MP02), + S5PC1XX_GPIO_MP04_START = S5PC1XX_GPIO_NEXT(S5PC1XX_GPIO_MP03), +}; + +/* S5PC1XX GPIO number definitions. */ +#define S5PC1XX_GPA0(_nr) (S5PC1XX_GPIO_A0_START + (_nr)) +#define S5PC1XX_GPA1(_nr) (S5PC1XX_GPIO_A1_START + (_nr)) +#define S5PC1XX_GPB(_nr) (S5PC1XX_GPIO_B_START + (_nr)) +#define S5PC1XX_GPC(_nr) (S5PC1XX_GPIO_C_START + (_nr)) +#define S5PC1XX_GPD(_nr) (S5PC1XX_GPIO_D_START + (_nr)) +#define S5PC1XX_GPE0(_nr) (S5PC1XX_GPIO_E0_START + (_nr)) +#define S5PC1XX_GPE1(_nr) (S5PC1XX_GPIO_E1_START + (_nr)) +#define S5PC1XX_GPF0(_nr) (S5PC1XX_GPIO_F0_START + (_nr)) +#define S5PC1XX_GPF1(_nr) (S5PC1XX_GPIO_F1_START + (_nr)) +#define S5PC1XX_GPF2(_nr) (S5PC1XX_GPIO_F2_START + (_nr)) +#define S5PC1XX_GPF3(_nr) (S5PC1XX_GPIO_F3_START + (_nr)) +#define S5PC1XX_GPG0(_nr) (S5PC1XX_GPIO_G0_START + (_nr)) +#define S5PC1XX_GPG1(_nr) (S5PC1XX_GPIO_G1_START + (_nr)) +#define S5PC1XX_GPG2(_nr) (S5PC1XX_GPIO_G2_START + (_nr)) +#define S5PC1XX_GPG3(_nr) (S5PC1XX_GPIO_G3_START + (_nr)) +#define S5PC1XX_GPH0(_nr) (S5PC1XX_GPIO_H0_START + (_nr)) +#define S5PC1XX_GPH1(_nr) (S5PC1XX_GPIO_H1_START + (_nr)) +#define S5PC1XX_GPH2(_nr) (S5PC1XX_GPIO_H2_START + (_nr)) +#define S5PC1XX_GPH3(_nr) (S5PC1XX_GPIO_H3_START + (_nr)) +#define S5PC1XX_GPI(_nr) (S5PC1XX_GPIO_I_START + (_nr)) +#define S5PC1XX_GPJ0(_nr) (S5PC1XX_GPIO_J0_START + (_nr)) +#define S5PC1XX_GPJ1(_nr) (S5PC1XX_GPIO_J1_START + (_nr)) +#define S5PC1XX_GPJ2(_nr) (S5PC1XX_GPIO_J2_START + (_nr)) +#define S5PC1XX_GPJ3(_nr) (S5PC1XX_GPIO_J3_START + (_nr)) +#define S5PC1XX_GPJ4(_nr) (S5PC1XX_GPIO_J4_START + (_nr)) +#define S5PC1XX_GPK0(_nr) (S5PC1XX_GPIO_K0_START + (_nr)) +#define S5PC1XX_GPK1(_nr) (S5PC1XX_GPIO_K1_START + (_nr)) +#define S5PC1XX_GPK2(_nr) (S5PC1XX_GPIO_K2_START + (_nr)) +#define S5PC1XX_GPK3(_nr) (S5PC1XX_GPIO_K3_START + (_nr)) +#define S5PC1XX_MP00(_nr) (S5PC1XX_GPIO_MP00_START + (_nr)) +#define S5PC1XX_MP01(_nr) (S5PC1XX_GPIO_MP01_START + (_nr)) +#define S5PC1XX_MP02(_nr) (S5PC1XX_GPIO_MP02_START + (_nr)) +#define S5PC1XX_MP03(_nr) (S5PC1XX_GPIO_MP03_START + (_nr)) +#define S5PC1XX_MP04(_nr) (S5PC1XX_GPIO_MP04_START + (_nr)) + +/* the end of the S5PC1XX specific gpios */ +#define S5PC1XX_GPIO_END (S5PC1XX_MP04(S5PC1XX_GPIO_MP04_NR) + 1) +#define S3C_GPIO_END S5PC1XX_GPIO_END + +/* define the number of gpios we need to the one after the MP04() range */ +#define ARCH_NR_GPIOS (S5PC1XX_MP04(S5PC1XX_GPIO_MP04_NR) + 1) + +#include diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5pc100/include/mach/hardware.h linux-2.6.28.6/arch/arm/mach-s5pc100/include/mach/hardware.h --- linux-2.6.28/arch/arm/mach-s5pc100/include/mach/hardware.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5pc100/include/mach/hardware.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,16 @@ +/* linux/arch/arm/mach-s5pc100/include/mach/hardware.h + * + * Copyright 2008 Openmoko, Inc. + * Copyright 2008 Simtec Electronics + * Ben Dooks + * http://armlinux.simtec.co.uk/ + * + * S3C6400 - Hardware support + */ + +#ifndef __ASM_ARCH_HARDWARE_H +#define __ASM_ARCH_HARDWARE_H __FILE__ + +/* currently nothing here, placeholder */ + +#endif /* __ASM_ARCH_HARDWARE_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5pc100/include/mach/idle.h linux-2.6.28.6/arch/arm/mach-s5pc100/include/mach/idle.h --- linux-2.6.28/arch/arm/mach-s5pc100/include/mach/idle.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5pc100/include/mach/idle.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,24 @@ +/* arch/arm/mach-s5pc100/include/mach/idle.h + * + * Copyright (c) 2004 Simtec Electronics + * http://www.simtec.co.uk/products/SWLINUX/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * S5PC100 CPU Idle controls +*/ + +#ifndef __ASM_ARCH_IDLE_H +#define __ASM_ARCH_IDLE_H __FILE__ + +/* This allows the over-ride of the default idle code, in case there + * is any other things to be done over idle (like DVS) +*/ + +extern void (*s5pc1xx_idle)(void); + +extern void s5pc1xx_default_idle(void); + +#endif /* __ASM_ARCH_IDLE_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5pc100/include/mach/irqs.h linux-2.6.28.6/arch/arm/mach-s5pc100/include/mach/irqs.h --- linux-2.6.28/arch/arm/mach-s5pc100/include/mach/irqs.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5pc100/include/mach/irqs.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,20 @@ +/* linux/arch/arm/mach-s5pc100/include/mach/irqs.h + * + * Copyright 2008 Openmoko, Inc. + * Copyright 2008 Simtec Electronics + * Ben Dooks + * http://armlinux.simtec.co.uk/ + * + * S5PC100 - IRQ definitions + */ + +#ifndef __ASM_ARCH_IRQS_H +#define __ASM_ARCH_IRQS_H __FILE__ + +#ifndef __ASM_ARM_IRQ_H +#error "Do not include this directly, instead #include " +#endif + +#include + +#endif /* __ASM_ARCH_IRQ_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5pc100/include/mach/map.h linux-2.6.28.6/arch/arm/mach-s5pc100/include/mach/map.h --- linux-2.6.28/arch/arm/mach-s5pc100/include/mach/map.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5pc100/include/mach/map.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,182 @@ +/* linux/arch/arm/mach-s5pc100/include/mach/map.h + * + * Copyright 2008 Samsung Electronics Co. + * Copyright 2008 Simtec Electronics + * http://armlinux.simtec.co.uk/ + * Ben Dooks + * + * S5PC1XX - Memory map definitions + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#ifndef __ASM_ARCH_MAP_H +#define __ASM_ARCH_MAP_H __FILE__ + +#include + +#define S3C_PA_UART (0xEC000000) +#define S3C_PA_UART0 (S3C_PA_UART + 0x00) +#define S3C_PA_UART1 (S3C_PA_UART + 0x400) +#define S3C_PA_UART2 (S3C_PA_UART + 0x800) +#define S3C_PA_UART3 (S3C_PA_UART + 0xC00) +#define S3C_UART_OFFSET (0x400) + +/* See notes on UART VA mapping in debug-macro.S */ +#define S3C_VA_UARTx(x) (S3C_VA_UART + (S3C_PA_UART & 0xfffff) + ((x) * S3C_UART_OFFSET)) + +#define S3C_VA_UART0 S3C_VA_UARTx(0) +#define S3C_VA_UART1 S3C_VA_UARTx(1) +#define S3C_VA_UART2 S3C_VA_UARTx(2) +#define S3C_VA_UART3 S3C_VA_UARTx(3) + +#define S5PC1XX_PA_SYSCON (0xE0100000) +#define S5PC1XX_VA_SYSCON S3C_VA_SYS +#define S5PC1XX_SZ_SYSCON SZ_2M + +#define S5PC1XX_PA_TIMER (0xEA000000) +#define S5PC1XX_PA_IIC0 (0xEC100000) +#define S5PC1XX_PA_IIC1 (0xEC200000) + +#define S5PC1XX_PA_GPIO (0xE0300000) +#define S5PC1XX_VA_GPIO S3C_ADDR(0x00500000) +#define S5PC1XX_SZ_GPIO SZ_4K + +#define S5PC1XX_PA_SDRAM (0x20000000) +#define S5PC1XX_PA_VIC0 (0xE4000000) +#define S5PC1XX_PA_VIC1 (0xE4100000) +#define S5PC1XX_PA_VIC2 (0xE4200000) + +#define S5PC1XX_VA_SROMC S3C_VA_SROMC +#define S5PC1XX_PA_SROMC (0xE7000000) +#define S5PC1XX_SZ_SROMC SZ_4K + +#define S5PC1XX_VA_LCD S3C_VA_LCD +#define S5PC1XX_PA_LCD (0xEE000000) +#define S5PC1XX_SZ_LCD SZ_1M + +#define S5PC1XX_PA_G2D (0xEE800000) +#define S5PC1XX_SZ_G2D SZ_1M + +#define S5PC1XX_VA_SYSTIMER S3C_VA_SYSTIMER +#define S5PC1XX_PA_SYSTIMER (0xEA100000) +#define S5PC1XX_SZ_SYSTIMER SZ_1M + +#define S5PC1XX_PA_ADC (0xF3000000) +#define S5PC1XX_PA_SMC9115 (0x98000000) +#define S5PC1XX_PA_RTC (0xEA300000) + +#define S5PC1XX_PA_IIS (0xF2000000) +#define S3C_SZ_IIS SZ_4K + +#define S5PC1XX_PA_CHIPID (0xE0000000) +#define S5PC1XX_VA_CHIPID S3C_ADDR(0x00700000) + +/* NAND flash controller */ +#define S5PC1XX_VA_NAND S3C_VA_NAND +#define S5PC1XX_PA_NAND (0xE7200000) +#define S5PC1XX_SZ_NAND SZ_1M + +/* DMA controller */ +#define S5PC1XX_PA_DMA (0xE8100000) + +/* place VICs close together */ +#define S3C_VA_VIC0 (S3C_VA_IRQ + 0x0) +#define S3C_VA_VIC1 (S3C_VA_IRQ + 0x10000) +#define S3C_VA_VIC2 (S3C_VA_IRQ + 0x20000) + +/* USB Host */ +#define S5PC1XX_PA_USBHOST (0xED400000) +#define S5PC1XX_SZ_USBHOST SZ_1M + +/* USB OTG */ +#define S5PC1XX_VA_OTG S3C_ADDR(0x00E00000) +#define S5PC1XX_PA_OTG (0xED200000) +#define S5PC1XX_SZ_OTG SZ_1M + +/* USB OTG SFR */ +#define S5PC1XX_VA_OTGSFR S3C_ADDR(0x00F00000) +#define S5PC1XX_PA_OTGSFR (0xED300000) +#define S5PC1XX_SZ_OTGSFR SZ_1M + +/* FIMC */ +#define S5PC1XX_PA_FIMC0 (0xEE200000) +#define S5PC1XX_PA_FIMC1 (0xEE300000) +#define S5PC1XX_PA_FIMC2 (0xEE400000) + +/* HSMMC units */ +#define S5PC1XX_PA_HSMMC(x) (0xED800000 + ((x) * 0x100000)) +#define S5PC1XX_PA_HSMMC0 S5PC1XX_PA_HSMMC(0) +#define S5PC1XX_PA_HSMMC1 S5PC1XX_PA_HSMMC(1) +#define S5PC1XX_PA_HSMMC2 S5PC1XX_PA_HSMMC(2) +#define S5PC1XX_SZ_HSMMC SZ_1M + +#define S3C_PA_HSMMC0 S5PC1XX_PA_HSMMC0 +#define S3C_PA_HSMMC1 S5PC1XX_PA_HSMMC1 +#define S3C_PA_HSMMC2 S5PC1XX_PA_HSMMC2 + +#define S5PC1XX_PA_SPI(x) (0xEC300000 + ((x) * 0x100000)) +#define S5PC1XX_SZ_SPI SZ_1M +#define S5PC1XX_PA_SPI0 S5PC1XX_PA_SPI(0) +#define S5PC1XX_PA_SPI1 S5PC1XX_PA_SPI(1) +#define S5PC1XX_PA_SPI2 S5PC1XX_PA_SPI(2) + +#define S5PC1XX_PA_ONENAND (0xE7100000) +#define S5PC1XX_SZ_ONENAND SZ_1M + +#define S5PC1XX_PA_KEYPAD (0xF3100000) +#define S5PC1XX_SZ_KEYPAD SZ_4K + +#define S3C_PA_IIS S5PC1XX_PA_IIS +#define S3C_PA_ADC S5PC1XX_PA_ADC +#define S3C_PA_DMA S5PC1XX_PA_DMA +#define S3C_PA_RTC S5PC1XX_PA_RTC +#define S3C_PA_KEYPAD S5PC1XX_PA_KEYPAD +#define S3C_SZ_KEYPAD S5PC1XX_SZ_KEYPAD + +/* WATCHDOG TIMER*/ +#define S5PC1XX_PA_WDT (0xEA200000) +#define S3C_PA_WDT S5PC1XX_PA_WDT + +/* MFC V4.0 */ +#define S5PC1XX_PA_MFC (0xF1000000) +#define S5PC1XX_SZ_MFC SZ_4K + +/* JPEG */ +#define S5PC1XX_PA_JPEG (0xEE500000) +#define S5PC1XX_SZ_JPEG SZ_1M + +/* AC97 */ +#define S5PC1XX_PA_AC97 (0xF2300000) +#define S5PC1XX_SZ_AC97 SZ_1M + +/* G3D */ +#define S5PC1XX_PA_G3D (0xEF000000) +#define S5PC1XX_SZ_G3D SZ_16M + +/* Rotator */ +#define S5PC1XX_PA_ROTATOR (0xEE100000) +#define S5PC1XX_SZ_ROTATOR SZ_1M + +/* MIPI CSIS */ +#define S5PC1XX_PA_CSIS (0xECC00000) +#define S5PC1XX_SZ_CSIS SZ_1M + +/* compatibiltiy defines. */ +#define S3C_SZ_HSMMC S5PC1XX_SZ_HSMMC + +#define S3C_PA_TIMER S5PC1XX_PA_TIMER +#define S3C_PA_IIC S5PC1XX_PA_IIC0 +#define S3C_PA_IIC1 S5PC1XX_PA_IIC1 + +#define S3C_VA_OTG S5PC1XX_VA_OTG +#define S3C_PA_OTG S5PC1XX_PA_OTG +#define S3C_SZ_OTG S5PC1XX_SZ_OTG + +#define S3C_VA_OTGSFR S5PC1XX_VA_OTGSFR +#define S3C_PA_OTGSFR S5PC1XX_PA_OTGSFR +#define S3C_SZ_OTGSFR S5PC1XX_SZ_OTGSFR + +#endif /* __ASM_ARCH_6400_MAP_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5pc100/include/mach/memory.h linux-2.6.28.6/arch/arm/mach-s5pc100/include/mach/memory.h --- linux-2.6.28/arch/arm/mach-s5pc100/include/mach/memory.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5pc100/include/mach/memory.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,22 @@ +/* arch/arm/mach-s5pc100/include/mach/memory.h + * + * Copyright 2008 Openmoko, Inc. + * Copyright 2008 Simtec Electronics + * Ben Dooks + * http://armlinux.simtec.co.uk/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#ifndef __ASM_ARCH_MEMORY_H +#define __ASM_ARCH_MEMORY_H + +#define PHYS_OFFSET UL(0x20000000) +#define CONSISTENT_DMA_SIZE (SZ_8M + SZ_4M + SZ_2M) + +#define __virt_to_bus(x) __virt_to_phys(x) +#define __bus_to_virt(x) __phys_to_virt(x) + +#endif diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5pc100/include/mach/regs-irq.h linux-2.6.28.6/arch/arm/mach-s5pc100/include/mach/regs-irq.h --- linux-2.6.28/arch/arm/mach-s5pc100/include/mach/regs-irq.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5pc100/include/mach/regs-irq.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,277 @@ +/* linux/arch/arm/mach-s5pc100/include/mach/regs-irq.h + * + * Copyright 2008 Openmoko, Inc. + * Copyright 2008 Simtec Electronics + * http://armlinux.simtec.co.uk/ + * Ben Dooks + * + * S5PC1XX - IRQ register definitions + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#ifndef __ASM_ARCH_REGS_IRQ_H +#define __ASM_ARCH_REGS_IRQ_H __FILE__ + +#include +#include +/* interrupt controller */ +#define S5PC100_VIC0REG(x) ((x) + S3C_VA_VIC0) +#define S5PC100_VIC1REG(x) ((x) + S3C_VA_VIC1) +#define S5PC100_VIC2REG(x) ((x) + S3C_VA_VIC2) + +#define S5PC100_VIC0IRQSTATUS S5PC100_VIC0REG(0x000) +#define S5PC100_VIC0FIQSTATUS S5PC100_VIC0REG(0x004) +#define S5PC100_VIC0RAWINTR S5PC100_VIC0REG(0x008) +#define S5PC100_VIC0INTSELECT S5PC100_VIC0REG(0x00C) +#define S5PC100_VIC0INTENABLE S5PC100_VIC0REG(0x010) +#define S5PC100_VIC0INTENCLEAR S5PC100_VIC0REG(0x014) +#define S5PC100_VIC0SOFTINT S5PC100_VIC0REG(0x018) +#define S5PC100_VIC0SOFTINTCLEAR S5PC100_VIC0REG(0x01C) +#define S5PC100_VIC0PROTECTION S5PC100_VIC0REG(0x020) +#define S5PC100_VIC0SWPRIORITYMASK S5PC100_VIC0REG(0x024) +#define S5PC100_VIC0PRIORITYDAISY S5PC100_VIC0REG(0x028) +#define S5PC100_VIC0VECTADDR0 S5PC100_VIC0REG(0x100) +#define S5PC100_VIC0VECTADDR1 S5PC100_VIC0REG(0x104) +#define S5PC100_VIC0VECTADDR2 S5PC100_VIC0REG(0x108) +#define S5PC100_VIC0VECTADDR3 S5PC100_VIC0REG(0x10C) +#define S5PC100_VIC0VECTADDR4 S5PC100_VIC0REG(0x110) +#define S5PC100_VIC0VECTADDR5 S5PC100_VIC0REG(0x114) +#define S5PC100_VIC0VECTADDR6 S5PC100_VIC0REG(0x118) +#define S5PC100_VIC0VECTADDR7 S5PC100_VIC0REG(0x11C) +#define S5PC100_VIC0VECTADDR8 S5PC100_VIC0REG(0x120) +#define S5PC100_VIC0VECTADDR9 S5PC100_VIC0REG(0x124) +#define S5PC100_VIC0VECTADDR10 S5PC100_VIC0REG(0x128) +#define S5PC100_VIC0VECTADDR11 S5PC100_VIC0REG(0x12C) +#define S5PC100_VIC0VECTADDR12 S5PC100_VIC0REG(0x130) +#define S5PC100_VIC0VECTADDR13 S5PC100_VIC0REG(0x134) +#define S5PC100_VIC0VECTADDR14 S5PC100_VIC0REG(0x138) +#define S5PC100_VIC0VECTADDR15 S5PC100_VIC0REG(0x13C) +#define S5PC100_VIC0VECTADDR16 S5PC100_VIC0REG(0x140) +#define S5PC100_VIC0VECTADDR17 S5PC100_VIC0REG(0x144) +#define S5PC100_VIC0VECTADDR18 S5PC100_VIC0REG(0x148) +#define S5PC100_VIC0VECTADDR19 S5PC100_VIC0REG(0x14C) +#define S5PC100_VIC0VECTADDR20 S5PC100_VIC0REG(0x150) +#define S5PC100_VIC0VECTADDR21 S5PC100_VIC0REG(0x154) +#define S5PC100_VIC0VECTADDR22 S5PC100_VIC0REG(0x158) +#define S5PC100_VIC0VECTADDR23 S5PC100_VIC0REG(0x15C) +#define S5PC100_VIC0VECTADDR24 S5PC100_VIC0REG(0x160) +#define S5PC100_VIC0VECTADDR25 S5PC100_VIC0REG(0x164) +#define S5PC100_VIC0VECTADDR26 S5PC100_VIC0REG(0x168) +#define S5PC100_VIC0VECTADDR27 S5PC100_VIC0REG(0x16C) +#define S5PC100_VIC0VECTADDR28 S5PC100_VIC0REG(0x170) +#define S5PC100_VIC0VECTADDR29 S5PC100_VIC0REG(0x174) +#define S5PC100_VIC0VECTADDR30 S5PC100_VIC0REG(0x178) +#define S5PC100_VIC0VECTADDR31 S5PC100_VIC0REG(0x17C) +#define S5PC100_VIC0VECPRIORITY0 S5PC100_VIC0REG(0x200) +#define S5PC100_VIC0VECTPRIORITY1 S5PC100_VIC0REG(0x204) +#define S5PC100_VIC0VECTPRIORITY2 S5PC100_VIC0REG(0x208) +#define S5PC100_VIC0VECTPRIORITY3 S5PC100_VIC0REG(0x20C) +#define S5PC100_VIC0VECTPRIORITY4 S5PC100_VIC0REG(0x210) +#define S5PC100_VIC0VECTPRIORITY5 S5PC100_VIC0REG(0x214) +#define S5PC100_VIC0VECTPRIORITY6 S5PC100_VIC0REG(0x218) +#define S5PC100_VIC0VECTPRIORITY7 S5PC100_VIC0REG(0x21C) +#define S5PC100_VIC0VECTPRIORITY8 S5PC100_VIC0REG(0x220) +#define S5PC100_VIC0VECTPRIORITY9 S5PC100_VIC0REG(0x224) +#define S5PC100_VIC0VECTPRIORITY10 S5PC100_VIC0REG(0x228) +#define S5PC100_VIC0VECTPRIORITY11 S5PC100_VIC0REG(0x22C) +#define S5PC100_VIC0VECTPRIORITY12 S5PC100_VIC0REG(0x230) +#define S5PC100_VIC0VECTPRIORITY13 S5PC100_VIC0REG(0x234) +#define S5PC100_VIC0VECTPRIORITY14 S5PC100_VIC0REG(0x238) +#define S5PC100_VIC0VECTPRIORITY15 S5PC100_VIC0REG(0x23C) +#define S5PC100_VIC0VECTPRIORITY16 S5PC100_VIC0REG(0x240) +#define S5PC100_VIC0VECTPRIORITY17 S5PC100_VIC0REG(0x244) +#define S5PC100_VIC0VECTPRIORITY18 S5PC100_VIC0REG(0x248) +#define S5PC100_VIC0VECTPRIORITY19 S5PC100_VIC0REG(0x24C) +#define S5PC100_VIC0VECTPRIORITY20 S5PC100_VIC0REG(0x250) +#define S5PC100_VIC0VECTPRIORITY21 S5PC100_VIC0REG(0x254) +#define S5PC100_VIC0VECTPRIORITY22 S5PC100_VIC0REG(0x258) +#define S5PC100_VIC0VECTPRIORITY23 S5PC100_VIC0REG(0x25C) +#define S5PC100_VIC0VECTPRIORITY24 S5PC100_VIC0REG(0x260) +#define S5PC100_VIC0VECTPRIORITY25 S5PC100_VIC0REG(0x264) +#define S5PC100_VIC0VECTPRIORITY26 S5PC100_VIC0REG(0x268) +#define S5PC100_VIC0VECTPRIORITY27 S5PC100_VIC0REG(0x26C) +#define S5PC100_VIC0VECTPRIORITY28 S5PC100_VIC0REG(0x270) +#define S5PC100_VIC0VECTPRIORITY29 S5PC100_VIC0REG(0x274) +#define S5PC100_VIC0VECTPRIORITY30 S5PC100_VIC0REG(0x278) +#define S5PC100_VIC0VECTPRIORITY31 S5PC100_VIC0REG(0x27C) +#define S5PC100_VIC0ADDRESS S5PC100_VIC0REG(0xF00) +#define S5PC100_VIC0PERIPHID0 S5PC100_VIC0REG(0xFE0) +#define S5PC100_VIC0PERIPHID1 S5PC100_VIC0REG(0xFE4) +#define S5PC100_VIC0PERIPHID2 S5PC100_VIC0REG(0xFE8) +#define S5PC100_VIC0PERIPHID3 S5PC100_VIC0REG(0xFEC) +#define S5PC100_VIC0PCELLID0 S5PC100_VIC0REG(0xFF0) +#define S5PC100_VIC0PCELLID1 S5PC100_VIC0REG(0xFF4) +#define S5PC100_VIC0PCELLID2 S5PC100_VIC0REG(0xFF8) +#define S5PC100_VIC0PCELLID3 S5PC100_VIC0REG(0xFFC) +#define S5PC100_VIC1IRQSTATUS S5PC100_VIC1REG(0x000) +#define S5PC100_VIC1FIQSTATUS S5PC100_VIC1REG(0x004) +#define S5PC100_VIC1RAWINTR S5PC100_VIC1REG(0x008) +#define S5PC100_VIC1INTSELECT S5PC100_VIC1REG(0x00C) +#define S5PC100_VIC1INTENABLE S5PC100_VIC1REG(0x010) +#define S5PC100_VIC1INTENCLEAR S5PC100_VIC1REG(0x014) +#define S5PC100_VIC1SOFTINT S5PC100_VIC1REG(0x018) +#define S5PC100_VIC1SOFTINTCLEAR S5PC100_VIC1REG(0x01C) +#define S5PC100_VIC1PROTECTION S5PC100_VIC1REG(0x020) +#define S5PC100_VIC1SWPRIORITYMASK S5PC100_VIC1REG(0x024) +#define S5PC100_VIC1PRIORITYDAISY S5PC100_VIC1REG(0x028) +#define S5PC100_VIC1VECTADDR0 S5PC100_VIC1REG(0x100) +#define S5PC100_VIC1VECTADDR1 S5PC100_VIC1REG(0x104) +#define S5PC100_VIC1VECTADDR2 S5PC100_VIC1REG(0x108) +#define S5PC100_VIC1VECTADDR3 S5PC100_VIC1REG(0x10C) +#define S5PC100_VIC1VECTADDR4 S5PC100_VIC1REG(0x110) +#define S5PC100_VIC1VECTADDR5 S5PC100_VIC1REG(0x114) +#define S5PC100_VIC1VECTADDR6 S5PC100_VIC1REG(0x118) +#define S5PC100_VIC1VECTADDR7 S5PC100_VIC1REG(0x11C) +#define S5PC100_VIC1VECTADDR8 S5PC100_VIC1REG(0x120) +#define S5PC100_VIC1VECTADDR9 S5PC100_VIC1REG(0x124) +#define S5PC100_VIC1VECTADDR10 S5PC100_VIC1REG(0x128) +#define S5PC100_VIC1VECTADDR11 S5PC100_VIC1REG(0x12C) +#define S5PC100_VIC1VECTADDR12 S5PC100_VIC1REG(0x130) +#define S5PC100_VIC1VECTADDR13 S5PC100_VIC1REG(0x134) +#define S5PC100_VIC1VECTADDR14 S5PC100_VIC1REG(0x138) +#define S5PC100_VIC1VECTADDR15 S5PC100_VIC1REG(0x13C) +#define S5PC100_VIC1VECTADDR16 S5PC100_VIC1REG(0x140) +#define S5PC100_VIC1VECTADDR17 S5PC100_VIC1REG(0x144) +#define S5PC100_VIC1VECTADDR18 S5PC100_VIC1REG(0x148) +#define S5PC100_VIC1VECTADDR19 S5PC100_VIC1REG(0x14C) +#define S5PC100_VIC1VECTADDR20 S5PC100_VIC1REG(0x150) +#define S5PC100_VIC1VECTADDR21 S5PC100_VIC1REG(0x154) +#define S5PC100_VIC1VECTADDR22 S5PC100_VIC1REG(0x158) +#define S5PC100_VIC1VECTADDR23 S5PC100_VIC1REG(0x15C) +#define S5PC100_VIC1VECTADDR24 S5PC100_VIC1REG(0x160) +#define S5PC100_VIC1VECTADDR25 S5PC100_VIC1REG(0x164) +#define S5PC100_VIC1VECTADDR26 S5PC100_VIC1REG(0x168) +#define S5PC100_VIC1VECTADDR27 S5PC100_VIC1REG(0x16C) +#define S5PC100_VIC1VECTADDR28 S5PC100_VIC1REG(0x170) +#define S5PC100_VIC1VECTADDR29 S5PC100_VIC1REG(0x174) +#define S5PC100_VIC1VECTADDR30 S5PC100_VIC1REG(0x178) +#define S5PC100_VIC1VECTADDR31 S5PC100_VIC1REG(0x17C) +#define S5PC100_VIC1VECPRIORITY0 S5PC100_VIC1REG(0x200) +#define S5PC100_VIC1VECTPRIORITY1 S5PC100_VIC1REG(0x204) +#define S5PC100_VIC1VECTPRIORITY2 S5PC100_VIC1REG(0x208) +#define S5PC100_VIC1VECTPRIORITY3 S5PC100_VIC1REG(0x20C) +#define S5PC100_VIC1VECTPRIORITY4 S5PC100_VIC1REG(0x210) +#define S5PC100_VIC1VECTPRIORITY5 S5PC100_VIC1REG(0x214) +#define S5PC100_VIC1VECTPRIORITY6 S5PC100_VIC1REG(0x218) +#define S5PC100_VIC1VECTPRIORITY7 S5PC100_VIC1REG(0x21C) +#define S5PC100_VIC1VECTPRIORITY8 S5PC100_VIC1REG(0x220) +#define S5PC100_VIC1VECTPRIORITY9 S5PC100_VIC1REG(0x224) +#define S5PC100_VIC1VECTPRIORITY10 S5PC100_VIC1REG(0x228) +#define S5PC100_VIC1VECTPRIORITY11 S5PC100_VIC1REG(0x22C) +#define S5PC100_VIC1VECTPRIORITY12 S5PC100_VIC1REG(0x230) +#define S5PC100_VIC1VECTPRIORITY13 S5PC100_VIC1REG(0x234) +#define S5PC100_VIC1VECTPRIORITY14 S5PC100_VIC1REG(0x238) +#define S5PC100_VIC1VECTPRIORITY15 S5PC100_VIC1REG(0x23C) +#define S5PC100_VIC1VECTPRIORITY16 S5PC100_VIC1REG(0x240) +#define S5PC100_VIC1VECTPRIORITY17 S5PC100_VIC1REG(0x244) +#define S5PC100_VIC1VECTPRIORITY18 S5PC100_VIC1REG(0x248) +#define S5PC100_VIC1VECTPRIORITY19 S5PC100_VIC1REG(0x24C) +#define S5PC100_VIC1VECTPRIORITY20 S5PC100_VIC1REG(0x250) +#define S5PC100_VIC1VECTPRIORITY21 S5PC100_VIC1REG(0x254) +#define S5PC100_VIC1VECTPRIORITY22 S5PC100_VIC1REG(0x258) +#define S5PC100_VIC1VECTPRIORITY23 S5PC100_VIC1REG(0x25C) +#define S5PC100_VIC1VECTPRIORITY24 S5PC100_VIC1REG(0x260) +#define S5PC100_VIC1VECTPRIORITY25 S5PC100_VIC1REG(0x264) +#define S5PC100_VIC1VECTPRIORITY26 S5PC100_VIC1REG(0x268) +#define S5PC100_VIC1VECTPRIORITY27 S5PC100_VIC1REG(0x26C) +#define S5PC100_VIC1VECTPRIORITY28 S5PC100_VIC1REG(0x270) +#define S5PC100_VIC1VECTPRIORITY29 S5PC100_VIC1REG(0x274) +#define S5PC100_VIC1VECTPRIORITY30 S5PC100_VIC1REG(0x278) +#define S5PC100_VIC1VECTPRIORITY31 S5PC100_VIC1REG(0x27C) +#define S5PC100_VIC1ADDRESS S5PC100_VIC1REG(0xF00) +#define S5PC100_VIC1PERIPHID0 S5PC100_VIC1REG(0xFE0) +#define S5PC100_VIC1PERIPHID1 S5PC100_VIC1REG(0xFE4) +#define S5PC100_VIC1PERIPHID2 S5PC100_VIC1REG(0xFE8) +#define S5PC100_VIC1PCELLID0 S5PC100_VIC1REG(0xFF0) +#define S5PC100_VIC1PCELLID1 S5PC100_VIC1REG(0xFF4) +#define S5PC100_VIC1PCELLID2 S5PC100_VIC1REG(0xFF8) +#define S5PC100_VIC1PCELLID3 S5PC100_VIC1REG(0xFFC) +#define S5PC100_VIC2IRQSTATUS S5PC100_VIC2REG(0x000) +#define S5PC100_VIC2FIQSTATUS S5PC100_VIC2REG(0x004) +#define S5PC100_VIC2RAWINTR S5PC100_VIC2REG(0x008) +#define S5PC100_VIC2INTSELECT S5PC100_VIC2REG(0x00C) +#define S5PC100_VIC2INTENABLE S5PC100_VIC2REG(0x010) +#define S5PC100_VIC2INTENCLEAR S5PC100_VIC2REG(0x014) +#define S5PC100_VIC2SOFTINT S5PC100_VIC2REG(0x018) +#define S5PC100_VIC2SOFTINTCLEAR S5PC100_VIC2REG(0x01C) +#define S5PC100_VIC2PROTECTION S5PC100_VIC2REG(0x020) +#define S5PC100_VIC2SWPRIORITYMASK S5PC100_VIC2REG(0x024) +#define S5PC100_VIC2PRIORITYDAISY S5PC100_VIC2REG(0x028) +#define S5PC100_VIC2VECTADDR0 S5PC100_VIC2REG(0x100) +#define S5PC100_VIC2VECTADDR1 S5PC100_VIC2REG(0x104) +#define S5PC100_VIC2VECTADDR2 S5PC100_VIC2REG(0x108) +#define S5PC100_VIC2VECTADDR3 S5PC100_VIC2REG(0x10C) +#define S5PC100_VIC2VECTADDR4 S5PC100_VIC2REG(0x110) +#define S5PC100_VIC2VECTADDR5 S5PC100_VIC2REG(0x114) +#define S5PC100_VIC2VECTADDR6 S5PC100_VIC2REG(0x118) +#define S5PC100_VIC2VECTADDR7 S5PC100_VIC2REG(0x11C) +#define S5PC100_VIC2VECTADDR8 S5PC100_VIC2REG(0x120) +#define S5PC100_VIC2VECTADDR9 S5PC100_VIC2REG(0x124) +#define S5PC100_VIC2VECTADDR10 S5PC100_VIC2REG(0x128) +#define S5PC100_VIC2VECTADDR11 S5PC100_VIC2REG(0x12C) +#define S5PC100_VIC2VECTADDR12 S5PC100_VIC2REG(0x130) +#define S5PC100_VIC2VECTADDR13 S5PC100_VIC2REG(0x134) +#define S5PC100_VIC2VECTADDR14 S5PC100_VIC2REG(0x138) +#define S5PC100_VIC2VECTADDR15 S5PC100_VIC2REG(0x13C) +#define S5PC100_VIC2VECTADDR16 S5PC100_VIC2REG(0x140) +#define S5PC100_VIC2VECTADDR17 S5PC100_VIC2REG(0x144) +#define S5PC100_VIC2VECTADDR18 S5PC100_VIC2REG(0x148) +#define S5PC100_VIC2VECTADDR19 S5PC100_VIC2REG(0x14C) +#define S5PC100_VIC2VECTADDR20 S5PC100_VIC2REG(0x150) +#define S5PC100_VIC2VECTADDR21 S5PC100_VIC2REG(0x154) +#define S5PC100_VIC2VECTADDR22 S5PC100_VIC2REG(0x158) +#define S5PC100_VIC2VECTADDR23 S5PC100_VIC2REG(0x15C) +#define S5PC100_VIC2VECTADDR24 S5PC100_VIC2REG(0x160) +#define S5PC100_VIC2VECTADDR25 S5PC100_VIC2REG(0x164) +#define S5PC100_VIC2VECTADDR26 S5PC100_VIC2REG(0x168) +#define S5PC100_VIC2VECTADDR27 S5PC100_VIC2REG(0x16C) +#define S5PC100_VIC2VECTADDR28 S5PC100_VIC2REG(0x170) +#define S5PC100_VIC2VECTADDR29 S5PC100_VIC2REG(0x174) +#define S5PC100_VIC2VECTADDR30 S5PC100_VIC2REG(0x178) +#define S5PC100_VIC2VECTADDR31 S5PC100_VIC2REG(0x17C) +#define S5PC100_VIC2VECPRIORITY0 S5PC100_VIC2REG(0x200) +#define S5PC100_VIC2VECTPRIORITY1 S5PC100_VIC2REG(0x204) +#define S5PC100_VIC2VECTPRIORITY2 S5PC100_VIC2REG(0x208) +#define S5PC100_VIC2VECTPRIORITY3 S5PC100_VIC2REG(0x20C) +#define S5PC100_VIC2VECTPRIORITY4 S5PC100_VIC2REG(0x210) +#define S5PC100_VIC2VECTPRIORITY5 S5PC100_VIC2REG(0x214) +#define S5PC100_VIC2VECTPRIORITY6 S5PC100_VIC2REG(0x218) +#define S5PC100_VIC2VECTPRIORITY7 S5PC100_VIC2REG(0x21C) +#define S5PC100_VIC2VECTPRIORITY8 S5PC100_VIC2REG(0x220) +#define S5PC100_VIC2VECTPRIORITY9 S5PC100_VIC2REG(0x224) +#define S5PC100_VIC2VECTPRIORITY10 S5PC100_VIC2REG(0x228) +#define S5PC100_VIC2VECTPRIORITY11 S5PC100_VIC2REG(0x22C) +#define S5PC100_VIC2VECTPRIORITY12 S5PC100_VIC2REG(0x230) +#define S5PC100_VIC2VECTPRIORITY13 S5PC100_VIC2REG(0x234) +#define S5PC100_VIC2VECTPRIORITY14 S5PC100_VIC2REG(0x238) +#define S5PC100_VIC2VECTPRIORITY15 S5PC100_VIC2REG(0x23C) +#define S5PC100_VIC2VECTPRIORITY16 S5PC100_VIC2REG(0x240) +#define S5PC100_VIC2VECTPRIORITY17 S5PC100_VIC2REG(0x244) +#define S5PC100_VIC2VECTPRIORITY18 S5PC100_VIC2REG(0x248) +#define S5PC100_VIC2VECTPRIORITY19 S5PC100_VIC2REG(0x24C) +#define S5PC100_VIC2VECTPRIORITY20 S5PC100_VIC2REG(0x250) +#define S5PC100_VIC2VECTPRIORITY21 S5PC100_VIC2REG(0x254) +#define S5PC100_VIC2VECTPRIORITY22 S5PC100_VIC2REG(0x258) +#define S5PC100_VIC2VECTPRIORITY23 S5PC100_VIC2REG(0x25C) +#define S5PC100_VIC2VECTPRIORITY24 S5PC100_VIC2REG(0x260) +#define S5PC100_VIC2VECTPRIORITY25 S5PC100_VIC2REG(0x264) +#define S5PC100_VIC2VECTPRIORITY26 S5PC100_VIC2REG(0x268) +#define S5PC100_VIC2VECTPRIORITY27 S5PC100_VIC2REG(0x26C) +#define S5PC100_VIC2VECTPRIORITY28 S5PC100_VIC2REG(0x270) +#define S5PC100_VIC2VECTPRIORITY29 S5PC100_VIC2REG(0x274) +#define S5PC100_VIC2VECTPRIORITY30 S5PC100_VIC2REG(0x278) +#define S5PC100_VIC2VECTPRIORITY31 S5PC100_VIC2REG(0x27C) +#define S5PC100_VIC2ADDRESS S5PC100_VIC2REG(0xF00) +#define S5PC100_VIC2PERIPHID0 S5PC100_VIC2REG(0xFE0) +#define S5PC100_VIC2PERIPHID1 S5PC100_VIC2REG(0xFE4) +#define S5PC100_VIC2PERIPHID2 S5PC100_VIC2REG(0xFE8) +#define S5PC100_VIC2PERIPHID3 S5PC100_VIC2REG(0xFEC) +#define S5PC100_VIC2PCELLID0 S5PC100_VIC2REG(0xFF0) +#define S5PC100_VIC2PCELLID1 S5PC100_VIC2REG(0xFF4) +#define S5PC100_VIC2PCELLID2 S5PC100_VIC2REG(0xFF8) +#define S5PC100_VIC2PCELLID3 S5PC100_VIC2REG(0xFFC) + +#endif /* __ASM_ARCH_REGS_IRQ_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5pc100/include/mach/regs-mem.h linux-2.6.28.6/arch/arm/mach-s5pc100/include/mach/regs-mem.h --- linux-2.6.28/arch/arm/mach-s5pc100/include/mach/regs-mem.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5pc100/include/mach/regs-mem.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,86 @@ +/* arch/arm/mach-s5pc100/include/mach/regs-mem.h + * + * Copyright (c) 2004 Simtec Electronics + * http://www.simtec.co.uk/products/SWLINUX/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * S5PC100 Memory Control register definitions +*/ + +#ifndef __ASM_ARM_MEMREGS_H +#define __ASM_ARM_MEMREGS_H + +#ifndef S5PC1XX_MEMREG +#define S5PC1XX_MEMREG(x) (S5PC1XX_VA_SROMC + (x)) +#endif + + +/* Bank Idle Cycle Control Registers 0-5 */ +#define S5PC1XX_SROM_BW S5PC1XX_MEMREG(0x00) + +#define S5PC1XX_SROM_BC0 S5PC1XX_MEMREG(0x04) +#define S5PC1XX_SROM_BC1 S5PC1XX_MEMREG(0x08) +#define S5PC1XX_SROM_BC2 S5PC1XX_MEMREG(0x0C) +#define S5PC1XX_SROM_BC3 S5PC1XX_MEMREG(0x10) +#define S5PC1XX_SROM_BC4 S5PC1XX_MEMREG(0x14) +#define S5PC1XX_SROM_BC5 S5PC1XX_MEMREG(0x18) + +/* SROM BW */ +#define S5PC1XX_SROM_BW_DATA_WIDTH0_8BIT (0 << 0) +#define S5PC1XX_SROM_BW_DATA_WIDTH0_16BIT (1 << 0) +#define S5PC1XX_SROM_BW_DATA_WIDTH0_MASK (1 << 0) + +#define S5PC1XX_SROM_BW_WAIT_ENABLE0_DISABLE (0 << 2) +#define S5PC1XX_SROM_BW_WAIT_ENABLE0_ENABLE (1 << 2) +#define S5PC1XX_SROM_BW_WAIT_ENABLE0_MASK (1 << 2) + +#define S5PC1XX_SROM_BW_BYTE_ENABLE0_DISABLE (0 << 3) +#define S5PC1XX_SROM_BW_BYTE_ENABLE0_ENABLE (1 << 3) +#define S5PC1XX_SROM_BW_BYTE_ENABLE0_MASK (1 << 3) + +#define S5PC1XX_SROM_BW_DATA_WIDTH1_8BIT (0 << 4) +#define S5PC1XX_SROM_BW_DATA_WIDTH1_16BIT (1 << 4) +#define S5PC1XX_SROM_BW_DATA_WIDTH1_MASK (1 << 4) + +#define S5PC1XX_SROM_BW_WAIT_ENABLE1_DISABLE (0 << 6) +#define S5PC1XX_SROM_BW_WAIT_ENABLE1_ENABLE (1 << 6) +#define S5PC1XX_SROM_BW_WAIT_ENABLE1_MASK (1 << 6) + +#define S5PC1XX_SROM_BW_BYTE_ENABLE1_DISABLE (0 << 7) +#define S5PC1XX_SROM_BW_BYTE_ENABLE1_ENABLE (1 << 7) +#define S5PC1XX_SROM_BW_BYTE_ENABLE1_MASK (1 << 7) + +#define S5PC1XX_SROM_BW_DATA_WIDTH2_8BIT (0 << 8) +#define S5PC1XX_SROM_BW_DATA_WIDTH2_16BIT (1 << 8) +#define S5PC1XX_SROM_BW_DATA_WIDTH2_MASK (1 << 8) + +#define S5PC1XX_SROM_BW_DATA_WIDTH3_8BIT (0 << 12) +#define S5PC1XX_SROM_BW_DATA_WIDTH3_16BIT (1 << 12) +#define S5PC1XX_SROM_BW_DATA_WIDTH3_MASK (1 << 12) + +#define S5PC1XX_SROM_BW_ADDR_MODE3_HWORD_ADDR (0 << 13) +#define S5PC1XX_SROM_BW_ADDR_MODE3_BYTE_ADDR (1 << 13) +#define S5PC1XX_SROM_BW_ADDR_MODE3_MASK (1 << 13) + +#define S5PC1XX_SROM_BW_WAIT_ENABLE3_DISABLE (0 << 14) +#define S5PC1XX_SROM_BW_WAIT_ENABLE3_ENABLE (1 << 14) +#define S5PC1XX_SROM_BW_WAIT_ENABLE3_MASK (1 << 14) + +#define S5PC1XX_SROM_BW_BYTE_ENABLE3_DISABLE (0 << 15) +#define S5PC1XX_SROM_BW_BYTE_ENABLE3_ENABLE (1 << 15) +#define S5PC1XX_SROM_BW_BYTE_ENABLE3_MASK (1 << 15) + +/* SROM BCn */ +#define S5PC1XX_SROM_BCn_TACS(x) (x << 28) +#define S5PC1XX_SROM_BCn_TCOS(x) (x << 24) +#define S5PC1XX_SROM_BCn_TACC(x) (x << 16) +#define S5PC1XX_SROM_BCn_TCOH(x) (x << 12) +#define S5PC1XX_SROM_BCn_TCAH(x) (x << 8) +#define S5PC1XX_SROM_BCn_TACP(x) (x << 4) +#define S5PC1XX_SROM_BCn_PMC_NORMAL (0 << 0) +#define S5PC1XX_SROM_BCn_PMC_4 (1 << 0) + +#endif /* __ASM_ARM_MEMREGS_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5pc100/include/mach/system.h linux-2.6.28.6/arch/arm/mach-s5pc100/include/mach/system.h --- linux-2.6.28/arch/arm/mach-s5pc100/include/mach/system.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5pc100/include/mach/system.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,36 @@ +/* linux/arch/arm/mach-s5pc100/include/mach/system.h + * + * Copyright 2008 Openmoko, Inc. + * Copyright 2008 Simtec Electronics + * Ben Dooks + * http://armlinux.simtec.co.uk/ + * + * S5PC100 - system implementation + */ + + #include + +#ifndef __ASM_ARCH_SYSTEM_H +#define __ASM_ARCH_SYSTEM_H __FILE__ + +void (*s5pc1xx_idle)(void); + +void s5pc1xx_default_idle(void) +{ + printk("default idle function\n"); +} + +static void arch_idle(void) +{ + if(s5pc1xx_idle != NULL) + (s5pc1xx_idle)(); + else + s5pc1xx_default_idle(); +} + +static void arch_reset(char mode) +{ + /* nothing here yet */ +} + +#endif /* __ASM_ARCH_IRQ_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5pc100/include/mach/tick.h linux-2.6.28.6/arch/arm/mach-s5pc100/include/mach/tick.h --- linux-2.6.28/arch/arm/mach-s5pc100/include/mach/tick.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5pc100/include/mach/tick.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,29 @@ +/* linux/arch/arm/mach-s5pc100/include/mach/tick.h + * + * Copyright 2008 Openmoko, Inc. + * Copyright 2008 Simtec Electronics + * http://armlinux.simtec.co.uk/ + * Ben Dooks + * + * S5PC1XX - Timer tick support definitions + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#ifndef __ASM_ARCH_TICK_H +#define __ASM_ARCH_TICK_H __FILE__ + +/* note, the timer interrutps turn up in 2 places, the vic and then + * the timer block. We take the VIC as the base at the moment. + */ +static inline u32 s5pc1xx_ostimer_pending(void) +{ + u32 pend = __raw_readl(S3C_VA_VIC0 + VIC_RAW_STATUS); + return pend & 1 << (IRQ_SYSTIMER - S5PC1XX_IRQ_VIC0(0)); +} + +#define TICK_MAX (0xffffffff) + +#endif /* __ASM_ARCH_6400_TICK_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5pc100/include/mach/uncompress.h linux-2.6.28.6/arch/arm/mach-s5pc100/include/mach/uncompress.h --- linux-2.6.28/arch/arm/mach-s5pc100/include/mach/uncompress.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5pc100/include/mach/uncompress.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,26 @@ +/* arch/arm/mach-s5pc100/include/mach/uncompress.h + * + * Copyright 2008 Openmoko, Inc. + * Copyright 2008 Simtec Electronics + * http://armlinux.simtec.co.uk/ + * Ben Dooks + * + * S5PC100 - uncompress code + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#ifndef __ASM_ARCH_UNCOMPRESS_H +#define __ASM_ARCH_UNCOMPRESS_H + +#include +#include + +static void arch_detect_cpu(void) +{ + /* we do not need to do any cpu detection here at the moment. */ +} + +#endif /* __ASM_ARCH_UNCOMPRESS_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5pc100/include/mach/usb-control.h linux-2.6.28.6/arch/arm/mach-s5pc100/include/mach/usb-control.h --- linux-2.6.28/arch/arm/mach-s5pc100/include/mach/usb-control.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5pc100/include/mach/usb-control.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,41 @@ +/* arch/arm/mach-s3c2410/include/mach/usb-control.h + * + * Copyright (c) 2004 Simtec Electronics + * Ben Dooks + * + * S3C2410 - usb port information + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#ifndef __ASM_ARCH_USBCONTROL_H +#define __ASM_ARCH_USBCONTROL_H "arch/arm/mach-s5pc100/include/mach/usb-control.h" + +#define S3C_HCDFLG_USED (1) + +struct s3c2410_hcd_port { + unsigned char flags; + unsigned char power; + unsigned char oc_status; + unsigned char oc_changed; +}; + +struct s3c2410_hcd_info { + struct usb_hcd *hcd; + struct s3c2410_hcd_port port[2]; + + void (*power_control)(int port, int to); + void (*enable_oc)(struct s3c2410_hcd_info *, int on); + void (*report_oc)(struct s3c2410_hcd_info *, int ports); +}; + +static void inline s3c2410_usb_report_oc(struct s3c2410_hcd_info *info, int ports) +{ + if (info->report_oc != NULL) { + (info->report_oc)(info, ports); + } +} + +#endif /*__ASM_ARCH_USBCONTROL_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5pc100/leds-s5pc100.c linux-2.6.28.6/arch/arm/mach-s5pc100/leds-s5pc100.c --- linux-2.6.28/arch/arm/mach-s5pc100/leds-s5pc100.c 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5pc100/leds-s5pc100.c 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,120 @@ +/* + * linux/arch/arm/mach-s5pc100/leds-s5pc100.c + * + * Copyright 2008 by Samsung Electronics Incorporated + * + * There are 16 LEDs on the debug board (all green); four may be used + * for logical 'green', 'amber', 'red', and 'blue' (after "claiming"). + * + * The "surfer" expansion board and H2 sample board also have two-color + * green+red LEDs (in parallel), used here for timer and idle indicators. + */ +#include +#include +#include +#include + +#include +#include +#include +#include + +#include +#include +#include +#include + +#include "leds.h" + +#define LED0 S5PC1XX_GPH1(4) +#define LED1 S5PC1XX_GPH1(5) +#define LED2 S5PC1XX_GPH1(6) +#define LED3 S5PC1XX_GPH1(7) + +#define LED_STATE_ENABLED 1<<0 +#define LED_STATE_CLAIMED 1<<1 +#define LED_TIMER_ON 1<<2 +#define LED_IDLE 1<<3 + + +void s5pc100_leds_event(led_event_t evt) +{ + unsigned long flags; + + static u16 led_state, hw_led_state; + + local_irq_save(flags); + + if (!(led_state & LED_STATE_ENABLED) && evt != led_start) + goto done; + + switch (evt) { + case led_start: + led_state |= LED_STATE_ENABLED; + break; + + case led_stop: + case led_halted: + /* all leds off during suspend or shutdown */ + led_state &= ~LED_STATE_ENABLED; + break; + + case led_claim: + led_state |= LED_STATE_CLAIMED; + hw_led_state = 0; + break; + + case led_release: + led_state &= ~LED_STATE_CLAIMED; + break; + +#ifdef CONFIG_LEDS_TIMER + case led_timer: + led_state ^= LED_TIMER_ON; + + if (led_state & LED_TIMER_ON) + gpio_set_value(LED0, 1); + else { + gpio_set_value(LED0, 0); + } + + break; +#endif + +#ifdef CONFIG_LEDS_CPU + case led_idle_start: + gpio_set_value(LED1, 1); + break; + + case led_idle_end: + gpio_set_value(LED1, 0); + break; +#endif + + case led_green_on: + break; + case led_green_off: + break; + + case led_amber_on: + break; + case led_amber_off: + break; + + case led_red_on: + break; + case led_red_off: + break; + + case led_blue_on: + break; + case led_blue_off: + break; + + default: + break; + } + +done: + local_irq_restore(flags); +} diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5pc100/leds.c linux-2.6.28.6/arch/arm/mach-s5pc100/leds.c --- linux-2.6.28/arch/arm/mach-s5pc100/leds.c 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5pc100/leds.c 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,91 @@ +/* + * linux/arch/arm/mach-s5pc100/leds.c + * + * S5PC100 LEDs dispatcher + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include +#include +#include + +#include +#include +#include "leds.h" + +static irqreturn_t eint11_switch(int irq, void *dev_id) +{ + + printk("EINT11 interrupt occures!!!\n"); + return IRQ_HANDLED; +} + + +static int __init +s5pc100_leds_init(void) +{ + if (machine_is_smdkc100()) + leds_event = s5pc100_leds_event; + else + return -1; + + if (machine_is_smdkc100()) + { + gpio_request(S5PC1XX_GPH1(4), "GPH1"); + gpio_direction_output(S5PC1XX_GPH1(4), 1); + if(gpio_get_value(S5PC1XX_GPH1(4)) == 0) + { + printk(KERN_WARNING "LED: can't set GPH1(4) to output mode\n"); + } + + gpio_request(S5PC1XX_GPH1(5), "GPH1"); + gpio_direction_output(S5PC1XX_GPH1(5), 1); + if(gpio_get_value(S5PC1XX_GPH1(5)) == 0) + { + printk(KERN_WARNING "LED: can't set GPH1(5) to output mode\n"); + } + + gpio_request(S5PC1XX_GPH1(6), "GPH1"); + gpio_direction_output(S5PC1XX_GPH1(6), 1); + if(gpio_get_value(S5PC1XX_GPH1(6)) == 0) + { + printk(KERN_WARNING "LED: can't set GPH1(6) to output mode\n"); + } + + gpio_request(S5PC1XX_GPH1(7), "GPH1"); + gpio_direction_output(S5PC1XX_GPH1(7), 1); + if(gpio_get_value(S5PC1XX_GPH1(7)) == 0) + { + printk(KERN_WARNING "LED: can't set GPH1(7) to output mode\n"); + } + } + + /* Get irqs */ + set_irq_type(IRQ_EINT11, IRQ_TYPE_EDGE_FALLING); + s3c_gpio_setpull(S5PC1XX_GPH1(3), S3C_GPIO_PULL_NONE); + if (request_irq(IRQ_EINT11, eint11_switch, IRQF_DISABLED, "EINT11", NULL)) { + return -EIO; + } + + leds_event(led_start); + return 0; +} + +__initcall(s5pc100_leds_init); diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5pc100/leds.h linux-2.6.28.6/arch/arm/mach-s5pc100/leds.h --- linux-2.6.28/arch/arm/mach-s5pc100/leds.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5pc100/leds.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1 @@ +extern void s5pc100_leds_event(led_event_t evt); diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5pc100/mach-smdkc100.c linux-2.6.28.6/arch/arm/mach-s5pc100/mach-smdkc100.c --- linux-2.6.28/arch/arm/mach-s5pc100/mach-smdkc100.c 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5pc100/mach-smdkc100.c 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,473 @@ +/* linux/arch/arm/mach-s5pc100/mach-smdkc100.c + * + * Copyright 2008 Openmoko, Inc. + * Copyright 2008 Simtec Electronics + * Ben Dooks + * http://armlinux.simtec.co.uk/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * +*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include +#include +#include +#include + +#include +#include + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef CONFIG_USB_SUPPORT +#include +#include +#include + +/* S3C_USB_CLKSRC 0: EPLL 1: CLK_48M */ +#define S3C_USB_CLKSRC 1 +#define OTGH_PHY_CLK_VALUE (0x22) /* UTMI Interface, otg_phy input clk 12Mhz Oscillator */ +#endif + +#if defined(CONFIG_PM) +#include +#endif + +#define UCON S3C2410_UCON_DEFAULT | S3C2410_UCON_UCLK +#define ULCON S3C2410_LCON_CS8 | S3C2410_LCON_PNONE | S3C2410_LCON_STOPB +#define UFCON S3C2410_UFCON_RXTRIG8 | S3C2410_UFCON_FIFOMODE + +extern struct sys_timer s5pc1xx_timer; +extern void s5pc1xx_reserve_bootmem(void); + +static struct s3c24xx_uart_clksrc smdkc100_serial_clocks[] = { +#if defined(CONFIG_SERIAL_S5PC1XX_HSUART) +/* HS-UART Clock using SCLK */ + [0] = { + .name = "uclk1", + .divisor = 1, + .min_baud = 0, + .max_baud = 0, + }, +#else + [0] = { + .name = "pclk", + .divisor = 1, + .min_baud = 0, + .max_baud = 0, + }, +#endif +}; + +static struct s3c2410_uartcfg smdkc100_uartcfgs[] __initdata = { + [0] = { + .hwport = 0, + .flags = 0, + .ucon = S3C64XX_UCON_DEFAULT, + .ulcon = S3C64XX_ULCON_DEFAULT, + .ufcon = S3C64XX_UFCON_DEFAULT, + .clocks = smdkc100_serial_clocks, + .clocks_size = ARRAY_SIZE(smdkc100_serial_clocks), + }, + [1] = { + .hwport = 1, + .flags = 0, + .ucon = S3C64XX_UCON_DEFAULT, + .ulcon = S3C64XX_ULCON_DEFAULT, + .ufcon = S3C64XX_UFCON_DEFAULT, + .clocks = smdkc100_serial_clocks, + .clocks_size = ARRAY_SIZE(smdkc100_serial_clocks), + }, + [2] = { + .hwport = 2, + .flags = 0, + .ucon = S3C64XX_UCON_DEFAULT, + .ulcon = S3C64XX_ULCON_DEFAULT, + .ufcon = S3C64XX_UFCON_DEFAULT, + .clocks = smdkc100_serial_clocks, + .clocks_size = ARRAY_SIZE(smdkc100_serial_clocks), + }, + [3] = { + .hwport = 3, + .flags = 0, + .ucon = S3C64XX_UCON_DEFAULT, + .ulcon = S3C64XX_ULCON_DEFAULT, + .ufcon = S3C64XX_UFCON_DEFAULT, + .clocks = smdkc100_serial_clocks, + .clocks_size = ARRAY_SIZE(smdkc100_serial_clocks), + }, +}; + +struct map_desc smdkc100_iodesc[] = {}; + +static struct platform_device *smdkc100_devices[] __initdata = { + &s3c_device_lcd, + &s3c_device_nand, + &s3c_device_onenand, + &s3c_device_keypad, + &s3c_device_ts, + &s3c_device_adc, + &s3c_device_rtc, + &s3c_device_smc911x, + &s3c_device_i2c0, + &s3c_device_i2c1, + &s3c_device_usb, + &s3c_device_usbgadget, + &s3c_device_usb_otghcd, + &s3c_device_hsmmc0, + &s3c_device_hsmmc1, + &s3c_device_spi0, + &s3c_device_spi1, + &s3c_device_mfc, + &s3c_device_jpeg, + &s3c_device_fimc0, + &s3c_device_fimc1, + &s3c_device_fimc2, + &s3c_device_ac97, + &s3c_device_wdt, + &s3c_device_g3d, + &s3c_device_g2d, + &s3c_device_rotator, + &s3c_device_csis, +#if defined(CONFIG_TIMER_PWM) + &s3c_device_timer[0], + &s3c_device_timer[1], +#endif +}; + + +static struct s3c_ts_mach_info s3c_ts_platform __initdata = { + .delay = 10000, + .presc = 49, + .oversampling_shift = 2, + .resol_bit = 12, + .s3c_adc_con = ADC_TYPE_2, +}; + +static struct s3c_adc_mach_info s3c_adc_platform __initdata = { + /* s5pc100 supports 12-bit resolution */ + .delay = 10000, + .presc = 49, + .resolution = 12, +}; + +static struct i2c_board_info i2c_devs0[] __initdata = { + { I2C_BOARD_INFO("24c08", 0x50), }, +}; + +static struct i2c_board_info i2c_devs1[] __initdata = { + { I2C_BOARD_INFO("24c128", 0x57), }, +}; + +#if defined(CONFIG_TIMER_PWM) +static struct platform_pwm_backlight_data smdk_backlight_data = { + .pwm_id = 0, + .max_brightness = 255, + .dft_brightness = 255, + .pwm_period_ns = 78770, +}; + +static struct platform_device smdk_backlight_device = { + .name = "pwm-backlight", + .dev = { + .parent = &s3c_device_timer[0].dev, + .platform_data = &smdk_backlight_data, + }, +}; + +static void __init smdk_backlight_register(void) +{ + int ret = platform_device_register(&smdk_backlight_device); + if (ret) + printk(KERN_ERR "smdk: failed to register backlight device: %d\n", ret); +} +#else +#define smdk_backlight_register() do { } while (0) +#endif + +static void __init smdkc100_map_io(void) +{ + s3c_device_nand.name = "s5pc100-nand"; + s5pc1xx_init_io(smdkc100_iodesc, ARRAY_SIZE(smdkc100_iodesc)); + s3c24xx_init_clocks(0); + s3c24xx_init_uarts(smdkc100_uartcfgs, ARRAY_SIZE(smdkc100_uartcfgs)); + s5pc1xx_reserve_bootmem(); +} + +static void __init smdkc100_smc911x_set(void) +{ + unsigned int tmp; + + tmp = __raw_readl(S5PC1XX_GPK0CON); + tmp &=~S5PC1XX_GPK0_3_MASK; + tmp |=(S5PC1XX_GPK0_3_SROM_CSn3); + __raw_writel(tmp, S5PC1XX_GPK0CON); + + tmp = __raw_readl(S5PC1XX_SROM_BW); + tmp &= ~(S5PC1XX_SROM_BW_BYTE_ENABLE3_MASK | S5PC1XX_SROM_BW_WAIT_ENABLE3_MASK | + S5PC1XX_SROM_BW_ADDR_MODE3_MASK | S5PC1XX_SROM_BW_DATA_WIDTH3_MASK); + tmp |= S5PC1XX_SROM_BW_DATA_WIDTH3_16BIT; + + __raw_writel(tmp, S5PC1XX_SROM_BW); + + __raw_writel((0x0<<28)|(0x4<<24)|(0xd<<16)|(0x1<<12)|(0x4<<8)|(0x6<<4)|(0x0<<0), S5PC1XX_SROM_BC3); + + __raw_writel(S5PC1XX_SROM_BCn_TACS(1) | S5PC1XX_SROM_BCn_TCOS(0) | + S5PC1XX_SROM_BCn_TACC(27) | S5PC1XX_SROM_BCn_TCOH(0) | + S5PC1XX_SROM_BCn_TCAH(2) | S5PC1XX_SROM_BCn_TACP(0) | + S5PC1XX_SROM_BCn_PMC_NORMAL, S5PC1XX_SROM_BC3); +} + +static void __init smdkc100_machine_init(void) +{ + s3c_device_nand.dev.platform_data = &s3c_nand_mtd_part_info; + s3c_device_onenand.dev.platform_data = &s3c_onenand_data; + + smdkc100_smc911x_set(); + + s3c_ts_set_platdata(&s3c_ts_platform); + s3c_adc_set_platdata(&s3c_adc_platform); + + /* i2c */ + s3c_i2c0_set_platdata(NULL); + s3c_i2c1_set_platdata(NULL); + i2c_register_board_info(0, i2c_devs0, ARRAY_SIZE(i2c_devs0)); + i2c_register_board_info(1, i2c_devs1, ARRAY_SIZE(i2c_devs1)); + + /* fimc */ + s3c_fimc0_set_platdata(NULL); + s3c_fimc1_set_platdata(NULL); + s3c_fimc2_set_platdata(NULL); + + /* mipi-csi2 */ + s3c_csis_set_platdata(NULL); + +#ifdef CONFIG_VIDEO_FIMC + s3c_fimc_reset_camera(); +#endif + + /* Setting up the HS-MMC clock for 133MHz using doutMpll */ + writel((readl(S5P_CLK_DIV3) & ~(0xfff << 0)), S5P_CLK_DIV3); + + platform_add_devices(smdkc100_devices, ARRAY_SIZE(smdkc100_devices)); + +#if defined(CONFIG_PM) + s5pc1xx_pm_init(); +#endif + smdk_backlight_register(); +} + +MACHINE_START(SMDKC100, "SMDKC100") + /* Maintainer: Ben Dooks */ + .phys_io = S3C_PA_UART & 0xfff00000, + .io_pg_offst = (((u32)S3C_VA_UART) >> 18) & 0xfffc, + .boot_params = S5PC1XX_PA_SDRAM + 0x100, + + .init_irq = s5pc100_init_irq, + .map_io = smdkc100_map_io, + .init_machine = smdkc100_machine_init, + .timer = &s5pc1xx_timer, +MACHINE_END + + +#ifdef CONFIG_USB_SUPPORT +/* Initializes OTG Phy. */ +void otg_phy_init(void) { + writel(readl(S5P_OTHERS)|S5P_OTHERS_USB_SIG_MASK, S5P_OTHERS); + writel(0x0, S3C_USBOTG_PHYPWR); /* Power up */ + writel(OTGH_PHY_CLK_VALUE, S3C_USBOTG_PHYCLK); + writel(0x7, S3C_USBOTG_RSTCON); + + udelay(50); + writel(0x0, S3C_USBOTG_RSTCON); + udelay(50); +} +EXPORT_SYMBOL(otg_phy_init); + +/* USB Control request data struct must be located here for DMA transfer */ +struct usb_ctrlrequest usb_ctrl __attribute__((aligned(8))); +EXPORT_SYMBOL(usb_ctrl); + +/* OTG PHY Power Off */ +void otg_phy_off(void) { + writel(readl(S3C_USBOTG_PHYCLK) | (0X1 << 4), S3C_USBOTG_PHYCLK); + writel(readl(S5P_OTHERS)&~S5P_OTHERS_USB_SIG_MASK, S5P_OTHERS); +} +EXPORT_SYMBOL(otg_phy_off); + +void usb_host_clk_en(void) { + struct clk *otg_clk; + + switch (S3C_USB_CLKSRC) { + case 0: /* epll clk */ + /* Setting the epll clk to 48 MHz, P=3, M=96, S=3 */ + writel((readl(S5P_EPLL_CON) & ~(S5P_EPLL_MASK)) | (S5P_EPLL_EN \ + | S5P_EPLLVAL(96,3,3)), S5P_EPLL_CON); + writel((readl(S5P_CLK_SRC0) | S5P_CLKSRC0_EPLL_MASK), S5P_CLK_SRC0); + writel((readl(S5P_CLK_SRC1)& ~S5P_CLKSRC1_UHOST_MASK), S5P_CLK_SRC1); + + /* USB host clock divider ratio is 1 */ + writel((readl(S5P_CLK_DIV2)& ~S5P_CLKDIV2_UHOST_MASK), S5P_CLK_DIV2); + break; + + case 1: /* oscillator 12M clk */ + otg_clk = clk_get(NULL, "otg"); + clk_enable(otg_clk); + otg_phy_init(); + writel((readl(S5P_CLK_SRC1) | S5P_CLKSRC1_CLK48M_MASK) \ + | S5P_CLKSRC1_UHOST_MASK, S5P_CLK_SRC1); + + //USB host colock divider ratio is 1 + writel(readl(S5P_CLK_DIV2)& ~S5P_CLKDIV2_UHOST_MASK, S5P_CLK_DIV2); + break; + /* Add other clock sources here */ + + default: + printk(KERN_INFO "Unknown USB Host Clock Source\n"); + BUG(); + break; + } + + writel(readl(S5P_CLKGATE_D10)|S5P_CLKGATE_D10_USBHOST, S5P_CLKGATE_D10); + writel(readl(S5P_SCLKGATE0)|S5P_CLKGATE_SCLK0_USBHOST, S5P_SCLKGATE0); + +} + +EXPORT_SYMBOL(usb_host_clk_en); +#endif + +#if defined(CONFIG_RTC_DRV_S3C) +/* RTC common Function for samsung APs*/ +unsigned int s3c_rtc_set_bit_byte(void __iomem *base, uint offset, uint val) +{ + writeb(val, base + offset); + + return 0; +} + +unsigned int s3c_rtc_read_alarm_status(void __iomem *base) +{ + return 1; +} + +void s3c_rtc_set_pie(void __iomem *base, uint to) +{ + unsigned int tmp; + + tmp = readw(base + S3C2410_RTCCON) & ~S3C_RTCCON_TICEN; + + if (to) + tmp |= S3C_RTCCON_TICEN; + + writew(tmp, base + S3C2410_RTCCON); +} + +void s3c_rtc_set_freq_regs(void __iomem *base, uint freq, uint s3c_freq) +{ + unsigned int tmp; + + tmp = readw(base + S3C2410_RTCCON) & (S3C_RTCCON_TICEN | S3C2410_RTCCON_RTCEN ); + writew(tmp, base + S3C2410_RTCCON); + s3c_freq = freq; + tmp = (32768 / freq)-1; + writel(tmp, base + S3C2410_TICNT); +} + +void s3c_rtc_enable_set(struct platform_device *pdev,void __iomem *base, int en) +{ + unsigned int tmp; + + if (!en) { + tmp = readw(base + S3C2410_RTCCON); + writew(tmp & ~ (S3C2410_RTCCON_RTCEN | S3C_RTCCON_TICEN), base + S3C2410_RTCCON); + } else { + /* re-enable the device, and check it is ok */ + if ((readw(base+S3C2410_RTCCON) & S3C2410_RTCCON_RTCEN) == 0){ + dev_info(&pdev->dev, "rtc disabled, re-enabling\n"); + + tmp = readw(base + S3C2410_RTCCON); + writew(tmp|S3C2410_RTCCON_RTCEN, base+S3C2410_RTCCON); + } + + if ((readw(base + S3C2410_RTCCON) & S3C2410_RTCCON_CNTSEL)){ + dev_info(&pdev->dev, "removing RTCCON_CNTSEL\n"); + + tmp = readw(base + S3C2410_RTCCON); + writew(tmp& ~S3C2410_RTCCON_CNTSEL, base+S3C2410_RTCCON); + } + + if ((readw(base + S3C2410_RTCCON) & S3C2410_RTCCON_CLKRST)){ + dev_info(&pdev->dev, "removing RTCCON_CLKRST\n"); + + tmp = readw(base + S3C2410_RTCCON); + writew(tmp & ~S3C2410_RTCCON_CLKRST, base+S3C2410_RTCCON); + } + } +} +#endif + +#if defined(CONFIG_KEYPAD_S3C) || defined (CONFIG_KEYPAD_S3C_MODULE) +void s3c_setup_keypad_cfg_gpio(int rows, int columns) +{ + unsigned int gpio; + unsigned int end; + + end = S5PC1XX_GPH3(rows); + + /* Set all the necessary GPH2 pins to special-function 0 */ + for (gpio = S5PC1XX_GPH3(0); gpio < end; gpio++) { + s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(3)); + s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE); + } + + end = S5PC1XX_GPH2(columns); + + /* Set all the necessary GPK pins to special-function 0 */ + for (gpio = S5PC1XX_GPH2(0); gpio < end; gpio++) { + s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(3)); + s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE); + } +} + +EXPORT_SYMBOL(s3c_setup_keypad_cfg_gpio); +#endif diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5pc100/pm.c linux-2.6.28.6/arch/arm/mach-s5pc100/pm.c --- linux-2.6.28/arch/arm/mach-s5pc100/pm.c 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5pc100/pm.c 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,107 @@ +/* linux/arch/arm/mach-s5pc100/pm.c + * + * Copyright (c) 2006 Samsung Electronics + * + * + * S3C6410 (and compatible) Power Manager (Suspend-To-RAM) support + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +#include +#include +#include +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include + +#define DBG(fmt...) printk(KERN_DEBUG fmt) + +void s5pc100_cpu_suspend(void) +{ + unsigned long tmp; + + /* issue the standby signal into the pm unit. Note, we + * issue a write-buffer drain just in case */ + + tmp = 0; +/* + * MCR p15,0,,c7,c10,5 ; Data Memory Barrier Operation. + * MCR p15,0,,c7,c10,4 ; Data Synchronization Barrier operation. + * MCR p15,0,,c7,c0,4 ; Wait For Interrupt. + */ + + asm("b 1f\n\t" + ".align 5\n\t" + "1:\n\t" + "mcr p15, 0, %0, c7, c10, 5\n\t" + "mcr p15, 0, %0, c7, c10, 4\n\t" + ".word 0xe320f003" :: "r" (tmp)); + + /* we should never get past here */ + + panic("sleep resumed to originator?"); +} + +static void s5pc100_pm_prepare(void) +{ + +} + +static int s5pc100_pm_add(struct sys_device *sysdev) +{ + pm_cpu_prep = s5pc100_pm_prepare; + pm_cpu_sleep = s5pc100_cpu_suspend; + + return 0; +} + +static struct sleep_save s5pc100_sleep[] = { + +}; + +static int s5pc100_pm_suspend(struct sys_device *dev, pm_message_t state) +{ + s5pc1xx_pm_do_save(s5pc100_sleep, ARRAY_SIZE(s5pc100_sleep)); + return 0; +} + +static int s5pc100_pm_resume(struct sys_device *dev) +{ + s5pc1xx_pm_do_restore(s5pc100_sleep, ARRAY_SIZE(s5pc100_sleep)); + return 0; +} + +static struct sysdev_driver s5pc100_pm_driver = { + .add = s5pc100_pm_add, + .resume = s5pc100_pm_resume, +}; + +static __init int s5pc100_pm_drvinit(void) +{ + return sysdev_driver_register(&s5pc100_sysclass, &s5pc100_pm_driver); +} + +arch_initcall(s5pc100_pm_drvinit); + diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mach-s5pc100/setup-sdhci.c linux-2.6.28.6/arch/arm/mach-s5pc100/setup-sdhci.c --- linux-2.6.28/arch/arm/mach-s5pc100/setup-sdhci.c 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mach-s5pc100/setup-sdhci.c 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,118 @@ +/* linux/arch/arm/mach-s3c6410/setup-sdhci.c + * + * Copyright 2008 Simtec Electronics + * Copyright 2008 Simtec Electronics + * Ben Dooks + * http://armlinux.simtec.co.uk/ + * + * S3C6410 - Helper functions for settign up SDHCI device(s) (HSMMC) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#include +#include +#include +#include +#include + +#include +#include + +#include +#include +#include +#include +#include +#include +#include + + +/* clock sources for the mmc bus clock, order as for the ctrl2[5..4] */ +char *s3c6410_hsmmc_clksrcs[4] = { + [0] = "mmc_bus", + [1] = "mmc_bus", + [2] = "hsmmc", +}; + +void s3c6410_setup_sdhci0_cfg_gpio(struct platform_device *dev, int width) +{ + unsigned int gpio; + unsigned int end; + + /* Channel 0 supports 1,4 and 8-bit bus width */ + end = S5PC1XX_GPG0(2 + width); + + /* Set all the necessary GPG0 ins to special-function 2 */ + for (gpio = S5PC1XX_GPG0(0); gpio < end; gpio++) { + s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(2)); + s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE); + } + + /* GPG1 chip Detect */ + s3c_gpio_setpull(S5PC1XX_GPG1(2), S3C_GPIO_PULL_UP); + s3c_gpio_cfgpin(S5PC1XX_GPG1(2), S3C_GPIO_SFN(2)); +} + +void s3c6410_setup_sdhci0_cfg_card(struct platform_device *dev, + void __iomem *r, + struct mmc_ios *ios, + struct mmc_card *card) +{ + u32 ctrl2, ctrl3 = 0; + + /* don't need to alter anything acording to card-type */ + + writel(S3C64XX_SDHCI_CONTROL4_DRIVE_9mA, r + S3C64XX_SDHCI_CONTROL4); + + /* No need for any delay values in the HS-MMC interface */ + ctrl2 = readl(r + S3C_SDHCI_CONTROL2); + ctrl2 &= S3C_SDHCI_CTRL2_SELBASECLK_MASK; + ctrl2 |= (S3C64XX_SDHCI_CTRL2_ENSTAASYNCCLR | + S3C64XX_SDHCI_CTRL2_ENCMDCNFMSK | + S3C_SDHCI_CTRL2_DFCNT_NONE | + S3C_SDHCI_CTRL2_ENCLKOUTHOLD); + + writel(ctrl2, r + S3C_SDHCI_CONTROL2); + writel(ctrl3, r + S3C_SDHCI_CONTROL3); +} + +void s3c6410_setup_sdhci1_cfg_gpio(struct platform_device *dev, int width) +{ + unsigned int gpio; + unsigned int end; + + /* Channel 1 supports 1 and 4-bit bus width */ + end = S5PC1XX_GPG2(2 + width); + + /* Set all the necessary GPG2 pins to special-function 2 */ + for (gpio = S5PC1XX_GPG2(0); gpio < end; gpio++) { + s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(2)); + s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE); + } + + /* GPG2 chip Detect */ + s3c_gpio_setpull(S5PC1XX_GPG2(6), S3C_GPIO_PULL_UP); + s3c_gpio_cfgpin(S5PC1XX_GPG2(6), S3C_GPIO_SFN(2)); +} + +void s3c6410_setup_sdhci2_cfg_gpio(struct platform_device *dev, int width) +{ + unsigned int gpio; + unsigned int end; + + /* Channel 1 supports 1 and 4-bit bus width */ + end = S5PC1XX_GPG3(2 + width); + + /* Set all the necessary GPG3 pins to special-function 2 */ + for (gpio = S5PC1XX_GPG3(0); gpio < end; gpio++) { + s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(2)); + s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE); + } + + /* GPG3 chip Detect */ + s3c_gpio_setpull(S5PC1XX_GPG3(6), S3C_GPIO_PULL_UP); + s3c_gpio_cfgpin(S5PC1XX_GPG3(6), S3C_GPIO_SFN(2)); +} diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/mm/Kconfig linux-2.6.28.6/arch/arm/mm/Kconfig --- linux-2.6.28/arch/arm/mm/Kconfig 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/mm/Kconfig 2009-04-30 09:36:37.000000000 +0200 @@ -183,14 +183,14 @@ depends on ARCH_INTEGRATOR || ARCH_VERSATILE_PB || \ MACH_VERSATILE_AB || ARCH_OMAP730 || \ ARCH_OMAP16XX || MACH_REALVIEW_EB || \ - ARCH_PNX4008 || ARCH_NETX || CPU_S3C2412 || \ + ARCH_PNX4008 || ARCH_NETX || CPU_S3C2412 || ARCH_S3C24A0 || \ ARCH_AT91SAM9260 || ARCH_AT91SAM9261 || \ ARCH_AT91SAM9263 || ARCH_AT91SAM9RL || \ ARCH_AT91SAM9G20 || ARCH_AT91CAP9 || \ ARCH_NS9XXX || ARCH_DAVINCI || ARCH_MX2 default y if ARCH_VERSATILE_PB || MACH_VERSATILE_AB || \ ARCH_OMAP730 || ARCH_OMAP16XX || \ - ARCH_PNX4008 || ARCH_NETX || CPU_S3C2412 || \ + ARCH_PNX4008 || ARCH_NETX || CPU_S3C2412 || ARCH_S3C24A0 || \ ARCH_AT91SAM9260 || ARCH_AT91SAM9261 || \ ARCH_AT91SAM9263 || ARCH_AT91SAM9RL || \ ARCH_AT91SAM9G20 || ARCH_AT91CAP9 || \ @@ -400,9 +400,10 @@ # ARMv6 config CPU_V6 bool "Support ARM V6 processor" - depends on ARCH_INTEGRATOR || MACH_REALVIEW_EB || ARCH_OMAP2 || ARCH_MX3 || ARCH_MSM || MACH_REALVIEW_PB11MP || MACH_REALVIEW_PB1176 + depends on ARCH_INTEGRATOR || MACH_REALVIEW_EB || ARCH_OMAP2 || ARCH_MX3 || ARCH_MSM || MACH_REALVIEW_PB11MP || MACH_REALVIEW_PB1176 || ARCH_S3C64XX || ARCH_S5P64XX default y if ARCH_MX3 default y if ARCH_MSM + default y if (ARCH_S3C64XX || ARCH_S5P64XX) select CPU_32v6 select CPU_ABRT_EV6 select CPU_PABRT_NOIFAR @@ -428,7 +429,8 @@ # ARMv7 config CPU_V7 bool "Support ARM V7 processor" - depends on ARCH_INTEGRATOR || MACH_REALVIEW_EB || ARCH_OMAP3 + depends on ARCH_INTEGRATOR || MACH_REALVIEW_EB || ARCH_OMAP3 || ARCH_S5PC1XX + default y if ARCH_S5PC1XX select CPU_32v6K select CPU_32v7 select CPU_ABRT_EV7 diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/plat-omap/cpu-omap.c linux-2.6.28.6/arch/arm/plat-omap/cpu-omap.c --- linux-2.6.28/arch/arm/plat-omap/cpu-omap.c 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/plat-omap/cpu-omap.c 2009-04-30 09:36:37.000000000 +0200 @@ -22,7 +22,7 @@ #include #include -#include +//#include #include #define VERY_HI_RATE 900000000 diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/plat-s3c/Kconfig linux-2.6.28.6/arch/arm/plat-s3c/Kconfig --- linux-2.6.28/arch/arm/plat-s3c/Kconfig 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/plat-s3c/Kconfig 2009-04-30 09:36:37.000000000 +0200 @@ -6,8 +6,8 @@ config PLAT_S3C bool - depends on ARCH_S3C2410 - default y if ARCH_S3C2410 + depends on ARCH_S3C2410 || ARCH_S3C24A0 || ARCH_S3C64XX || ARCH_S5P64XX || ARCH_S5PC1XX + default y select NO_IOPORT help Base platform code for any Samsung S3C device @@ -16,24 +16,24 @@ config CPU_LLSERIAL_S3C2410_ONLY bool - depends on ARCH_S3C2410 + depends on PLAT_S3C default y if CPU_LLSERIAL_S3C2410 && !CPU_LLSERIAL_S3C2440 config CPU_LLSERIAL_S3C2440_ONLY bool - depends on ARCH_S3C2410 + depends on PLAT_S3C default y if CPU_LLSERIAL_S3C2440 && !CPU_LLSERIAL_S3C2410 config CPU_LLSERIAL_S3C2410 bool - depends on ARCH_S3C2410 + depends on PLAT_S3C help Selected if there is an S3C2410 (or register compatible) serial low-level implementation needed config CPU_LLSERIAL_S3C2440 bool - depends on ARCH_S3C2410 + depends on PLAT_S3C help Selected if there is an S3C2440 (or register compatible) serial low-level implementation needed @@ -102,3 +102,97 @@ such as the `Uncompressing...` at start time. The value of this configuration should be between zero and two. The port must have been initialised by the boot-loader before use. + +config SPLIT_ROOT_FILESYSTEM + bool "S3C MTD has 4 partitions" + depends on (ARCH_S3C64XX || ARCH_S5PC1XX || ARCH_S5P64XX) && MTD + help + Choose this if you want to use 4 mtd partitions + +# options for gpiolib support + +config S3C_GPIO_SPACE + int "Space between gpio banks" + default 0 + help + Add a number of spare GPIO entries between each bank for debugging + purposes. This allows any problems where an counter overflows from + one bank to another to be caught, at the expense of using a little + more memory. + +config S3C_GPIO_TRACK + bool + help + Internal configuration option to enable the s3c specific gpio + chip tracking if the platform requires it. + +config S3C_GPIO_PULL_UPDOWN + bool + help + Internal configuration to enable the correct GPIO pull helper + +config S3C_GPIO_PULL_DOWN + bool + help + Internal configuration to enable the correct GPIO pull helper + +config S3C_GPIO_PULL_UP + bool + help + Internal configuration to enable the correct GPIO pull helper + +config S3C_GPIO_CFG_S3C24XX + bool + help + Internal configuration to enable S3C24XX style GPIO configuration + functions. + +config S3C_GPIO_CFG_S3C64XX + bool + help + Internal configuration to enable S3C64XX style GPIO configuration + functions. + +config S3C_GPIO_CFG_S5PC1XX + bool + help + Internal configuration to enable S5PC1XX style GPIO configuration + functions. +# device definitions to compile in + +config S3C_DEV_HSMMC + bool + depends on PLAT_S3C + help + Compile in platform device definitions for HSMMC code + +config S3C_DEV_HSMMC1 + bool + depends on PLAT_S3C + help + Compile in platform device definitions for HSMMC channel 1 + +config S3C_DEV_HSMMC2 + bool + depends on PLAT_S3C + help + Compile in platform device definitions for HSMMC channel 2 + +config S3C_DEV_I2C1 + bool + depends on PLAT_S3C + help + Compile in platform device definitions for I2C channel 1 + +config S3C_DMA_PL080 + bool + depends on PLAT_S3C + help + PL080 DMA supported + +config S3C_DMA_PL330 + bool + depends on PLAT_S3C + help + PL330 DMA supported + diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/plat-s3c/Makefile linux-2.6.28.6/arch/arm/plat-s3c/Makefile --- linux-2.6.28/arch/arm/plat-s3c/Makefile 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/plat-s3c/Makefile 2009-04-30 09:36:37.000000000 +0200 @@ -1,3 +1,32 @@ -# dummy makefile, currently just including asm/arm/plat-s3c/include/plat +# arch/arm/plat-s3c/Makefile +# +# Copyright 2008 Simtec Electronics +# +# Licensed under GPLv2 -obj-n := dummy.o +obj-y := +obj-m := +obj-n := +obj- := + +# Core support for all Samsung SoCs + +obj-y += init.o +ifndef CONFIG_ARCH_S5PC1XX +obj-y += time.o +endif +obj-y += clock.o +obj-y += pwm-clock.o +obj-y += gpio.o +obj-y += gpio-config.o +obj-$(CONFIG_S3C_DMA_PL080) += dma-pl080.o +obj-$(CONFIG_S3C_DMA_PL330) += dma-pl330.o + +# devices +obj-$(CONFIG_S3C_DEV_HSMMC) += dev-hsmmc.o +obj-$(CONFIG_S3C_DEV_HSMMC1) += dev-hsmmc1.o +obj-$(CONFIG_S3C_DEV_HSMMC2) += dev-hsmmc2.o +obj-y += dev-i2c0.o +obj-$(CONFIG_S3C_DEV_I2C1) += dev-i2c1.o +obj-$(CONFIG_TOUCHSCREEN_S3C) += dev-ts.o +obj-$(CONFIG_SND_S3C6410_SOC_I2S) += dev-i2s.o diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/plat-s3c/clock.c linux-2.6.28.6/arch/arm/plat-s3c/clock.c --- linux-2.6.28/arch/arm/plat-s3c/clock.c 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/plat-s3c/clock.c 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,446 @@ +/* linux/arch/arm/plat-s3c/clock.c + * + * Copyright (c) 2004-2005 Simtec Electronics + * Ben Dooks + * + * S3C24XX Core clock control support + * + * Based on, and code from linux/arch/arm/mach-versatile/clock.c + ** + ** Copyright (C) 2004 ARM Limited. + ** Written by Deep Blue Solutions Limited. + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include +#include +#include +#include + +static LIST_HEAD(clocks); + +/* We originally used an mutex here, but some contexts (see resume) + * are calling functions such as clk_set_parent() with IRQs disabled + * causing an BUG to be triggered. + */ +DEFINE_SPINLOCK(clocks_lock); + +/* enable and disable calls for use with the clk struct */ + +static int clk_null_enable(struct clk *clk, int enable) +{ + return 0; +} + +/* Clock API calls */ + +struct clk *clk_get(struct device *dev, const char *id) +{ + struct clk *p; + struct clk *clk = ERR_PTR(-ENOENT); + int idno; + + if (dev == NULL || dev->bus != &platform_bus_type) + idno = -1; + else + idno = to_platform_device(dev)->id; + + spin_lock(&clocks_lock); + + list_for_each_entry(p, &clocks, list) { + if (p->id == idno && + strcmp(id, p->name) == 0 && + try_module_get(p->owner)) { + clk = p; + break; + } + } + + /* check for the case where a device was supplied, but the + * clock that was being searched for is not device specific */ + + if (IS_ERR(clk)) { + list_for_each_entry(p, &clocks, list) { + if (p->id == -1 && strcmp(id, p->name) == 0 && + try_module_get(p->owner)) { + clk = p; + break; + } + } + } + + spin_unlock(&clocks_lock); + return clk; +} + +void clk_put(struct clk *clk) +{ + module_put(clk->owner); +} + +int clk_enable(struct clk *clk) +{ + if (IS_ERR(clk) || clk == NULL) + return -EINVAL; + + clk_enable(clk->parent); + + spin_lock(&clocks_lock); + + if ((clk->usage++) == 0) + (clk->enable)(clk, 1); + + spin_unlock(&clocks_lock); + return 0; +} + +void clk_disable(struct clk *clk) +{ + if (IS_ERR(clk) || clk == NULL) + return; + + spin_lock(&clocks_lock); + + if ((--clk->usage) == 0) + (clk->enable)(clk, 0); + + spin_unlock(&clocks_lock); + clk_disable(clk->parent); +} + + +unsigned long clk_get_rate(struct clk *clk) +{ + if (IS_ERR(clk)) + return 0; + + if (clk->rate != 0) + return clk->rate; + + if (clk->get_rate != NULL) + return (clk->get_rate)(clk); + + if (clk->parent != NULL) + return clk_get_rate(clk->parent); + + return clk->rate; +} + +long clk_round_rate(struct clk *clk, unsigned long rate) +{ + if (!IS_ERR(clk) && clk->round_rate) + return (clk->round_rate)(clk, rate); + + return rate; +} + +int clk_set_rate(struct clk *clk, unsigned long rate) +{ + int ret; + + if (IS_ERR(clk)) + return -EINVAL; + + /* We do not default just do a clk->rate = rate as + * the clock may have been made this way by choice. + */ + + WARN_ON(clk->set_rate == NULL); + + if (clk->set_rate == NULL) + return -EINVAL; + spin_lock(&clocks_lock); + ret = (clk->set_rate)(clk, rate); + spin_unlock(&clocks_lock); + + return ret; +} + +struct clk *clk_get_parent(struct clk *clk) +{ + return clk->parent; +} + +int clk_set_parent(struct clk *clk, struct clk *parent) +{ + int ret = 0; + + if (IS_ERR(clk)) + return -EINVAL; + + spin_lock(&clocks_lock); + + if (clk->set_parent) + ret = (clk->set_parent)(clk, parent); + + spin_unlock(&clocks_lock); + + return ret; +} + +EXPORT_SYMBOL(clk_get); +EXPORT_SYMBOL(clk_put); +EXPORT_SYMBOL(clk_enable); +EXPORT_SYMBOL(clk_disable); +EXPORT_SYMBOL(clk_get_rate); +EXPORT_SYMBOL(clk_round_rate); +EXPORT_SYMBOL(clk_set_rate); +EXPORT_SYMBOL(clk_get_parent); +EXPORT_SYMBOL(clk_set_parent); + +/* base clocks */ + +static int clk_default_setrate(struct clk *clk, unsigned long rate) +{ + clk->rate = rate; + return 0; +} + +struct clk clk_xtal = { + .name = "xtal", + .id = -1, + .rate = 0, + .parent = NULL, + .ctrlbit = 0, +}; + +struct clk clk_ext = { + .name = "ext", + .id = -1, +}; + +struct clk clk_epll = { + .name = "epll", + .id = -1, +}; + +struct clk clk_mpll = { + .name = "mpll", + .id = -1, + .set_rate = clk_default_setrate, +}; + +struct clk clk_upll = { + .name = "upll", + .id = -1, + .parent = NULL, + .ctrlbit = 0, +}; + +struct clk clk_f = { + .name = "fclk", + .id = -1, + .rate = 0, + .parent = &clk_mpll, + .ctrlbit = 0, +#if defined(CONFIG_CPU_FREQ) && defined(CONFIG_CPU_S3C6410) + .set_rate = s3c_fclk_set_rate, + .round_rate = s3c_fclk_round_rate, +#endif +}; + +struct clk clk_h = { + .name = "hclk", + .id = -1, + .rate = 0, + .parent = NULL, + .ctrlbit = 0, + .set_rate = clk_default_setrate, +}; + +#ifdef CONFIG_CPU_S3C6410 +struct clk clk_hx2 = { + .name = "hclkx2", + .id = -1, + .rate = 0, + .parent = NULL, + .ctrlbit = 0, + .set_rate = clk_default_setrate, +}; +#endif + +struct clk clk_p = { + .name = "pclk", + .id = -1, + .rate = 0, + .parent = NULL, + .ctrlbit = 0, + .set_rate = clk_default_setrate, +}; + +struct clk clk_usb_bus = { + .name = "usb-bus", + .id = -1, + .rate = 0, + .parent = &clk_upll, +}; + +struct clk s3c24xx_uclk = { + .name = "uclk", + .id = -1, +}; + +#ifdef CONFIG_CPU_S5P6440 +struct clk clk_h_low = { + .name = "hclk_low", + .id = -1, + .rate = 0, + .parent = NULL, + .ctrlbit = 0, + .set_rate = clk_default_setrate, +}; + +struct clk clk_p_low = { + .name = "pclk_low", + .id = -1, + .rate = 0, + .parent = NULL, + .ctrlbit = 0, + .set_rate = clk_default_setrate, +}; +#endif + +#ifdef CONFIG_CPU_S5PC100 +struct clk clk_hpll = { + .name = "hpll", + .id = -1, +}; + +struct clk clk_hd0 = { + .name = "hclkd0", + .id = -1, + .rate = 0, + .parent = NULL, + .ctrlbit = 0, + .set_rate = clk_default_setrate, +}; + +struct clk clk_pd0 = { + .name = "pclkd0", + .id = -1, + .rate = 0, + .parent = NULL, + .ctrlbit = 0, + .set_rate = clk_default_setrate, +}; +#endif + + +/* initialise the clock system */ + +int s3c24xx_register_clock(struct clk *clk) +{ + clk->owner = THIS_MODULE; + + if (clk->enable == NULL) + clk->enable = clk_null_enable; + + /* add to the list of available clocks */ + + /* Quick check to see if this clock has already been registered. */ + BUG_ON(clk->list.prev != clk->list.next); + + spin_lock(&clocks_lock); + list_add(&clk->list, &clocks); + spin_unlock(&clocks_lock); + + return 0; +} + +int s3c24xx_register_clocks(struct clk **clks, int nr_clks) +{ + int fails = 0; + + for (; nr_clks > 0; nr_clks--, clks++) { + if (s3c24xx_register_clock(*clks) < 0) + fails++; + } + + return fails; +} + +/* initalise all the clocks */ + +int __init s3c24xx_register_baseclocks(unsigned long xtal) +{ + printk(KERN_INFO "S3C24XX Clocks, (c) 2004 Simtec Electronics\n"); + + clk_xtal.rate = xtal; + + /* register our clocks */ + + if (s3c24xx_register_clock(&clk_xtal) < 0) + printk(KERN_ERR "failed to register master xtal\n"); + + if (s3c24xx_register_clock(&clk_mpll) < 0) + printk(KERN_ERR "failed to register mpll clock\n"); + + if (s3c24xx_register_clock(&clk_upll) < 0) + printk(KERN_ERR "failed to register upll clock\n"); + + if (s3c24xx_register_clock(&clk_f) < 0) + printk(KERN_ERR "failed to register cpu fclk\n"); + +#ifdef CONFIG_CPU_S5P6440 + if (s3c24xx_register_clock(&clk_h_low) < 0) + printk(KERN_ERR "failed to register cpu hclk_low\n"); + + if (s3c24xx_register_clock(&clk_p_low) < 0) + printk(KERN_ERR "failed to register cpu pclk_low\n"); +#endif + +#ifdef CONFIG_CPU_S5PC100 + if (s3c24xx_register_clock(&clk_hd0) < 0) + printk(KERN_ERR "failed to register cpu hclkd0\n"); + + if (s3c24xx_register_clock(&clk_pd0) < 0) + printk(KERN_ERR "failed to register cpu pclkd0\n"); +#endif + + if (s3c24xx_register_clock(&clk_h) < 0) + printk(KERN_ERR "failed to register cpu hclk\n"); + +#ifdef CONFIG_CPU_S3C6410 + if (s3c24xx_register_clock(&clk_hx2) < 0) + printk(KERN_ERR "failed to register cpu hclkx2\n"); +#endif + + if (s3c24xx_register_clock(&clk_p) < 0) + printk(KERN_ERR "failed to register cpu pclk\n"); + + return 0; +} + diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/plat-s3c/dev-hsmmc.c linux-2.6.28.6/arch/arm/plat-s3c/dev-hsmmc.c --- linux-2.6.28/arch/arm/plat-s3c/dev-hsmmc.c 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/plat-s3c/dev-hsmmc.c 2010-04-21 06:36:09.000000000 +0200 @@ -0,0 +1,105 @@ +/* linux/arch/arm/plat-s3c/dev-hsmmc.c + * + * Copyright (c) 2008 Simtec Electronics + * Ben Dooks + * http://armlinux.simtec.co.uk/ + * + * S3C series device definition for hsmmc devices + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include +#include +#include + +static void setup_sdhci0_irq_cd (void) +{ + /* init GPIO as a ext irq */ + + s3c_gpio_cfgpin(S3C64XX_GPN(13), S3C_GPIO_SFN(2)); + s3c_gpio_setpull(S3C64XX_GPN(13), S3C_GPIO_PULL_NONE); + + set_irq_type(S3C_EINT(13), IRQ_TYPE_EDGE_BOTH); + +} + +static uint detect_sdhci0_irq_cd (void) +{ + uint detect; + + detect = readl(S3C64XX_GPNDAT); + detect &= 0x2000; /* GPN13 */ + return (!detect); +} + +static struct resource s3c_hsmmc_resource[] = { + [0] = { + .start = S3C_PA_HSMMC0, + .end = S3C_PA_HSMMC0 + S3C_SZ_HSMMC - 1, + .flags = IORESOURCE_MEM, + }, + [1] = { + .start = IRQ_HSMMC0, + .end = IRQ_HSMMC0, + .flags = IORESOURCE_IRQ, + } +}; + +static u64 s3c_device_hsmmc_dmamask = 0xffffffffUL; + +struct s3c_sdhci_platdata s3c_hsmmc0_def_platdata = { + .max_width = 4, + .host_caps = (MMC_CAP_4_BIT_DATA | MMC_CAP_MMC_HIGHSPEED | + MMC_CAP_SD_HIGHSPEED), + .cfg_ext_cd = setup_sdhci0_irq_cd, + .detect_ext_cd = detect_sdhci0_irq_cd, + .ext_cd = S3C_EINT(13), +}; + +struct platform_device s3c_device_hsmmc0 = { + .name = "s3c-sdhci", + .id = 0, + .num_resources = ARRAY_SIZE(s3c_hsmmc_resource), + .resource = s3c_hsmmc_resource, + .dev = { + .dma_mask = &s3c_device_hsmmc_dmamask, + .coherent_dma_mask = 0xffffffffUL, + .platform_data = &s3c_hsmmc0_def_platdata, + }, +}; + +void s3c_sdhci0_set_platdata(struct s3c_sdhci_platdata *pd) +{ + struct s3c_sdhci_platdata *set = &s3c_hsmmc0_def_platdata; + + set->max_width = pd->max_width; + + if (pd->host_caps) + set->host_caps = pd->host_caps; + if (pd->cfg_gpio) + set->cfg_gpio = pd->cfg_gpio; + if (pd->cfg_card) + set->cfg_card = pd->cfg_card; + if (pd->cfg_ext_cd) + set->cfg_ext_cd = pd->cfg_ext_cd; + if (pd->detect_ext_cd) + set->detect_ext_cd = pd->detect_ext_cd; + if (pd->ext_cd) + set->ext_cd = pd->ext_cd; +} + diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/plat-s3c/dev-hsmmc1.c linux-2.6.28.6/arch/arm/plat-s3c/dev-hsmmc1.c --- linux-2.6.28/arch/arm/plat-s3c/dev-hsmmc1.c 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/plat-s3c/dev-hsmmc1.c 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,75 @@ +/* linux/arch/arm/plat-s3c/dev-hsmmc1.c + * + * Copyright (c) 2008 Simtec Electronics + * Ben Dooks + * http://armlinux.simtec.co.uk/ + * + * S3C series device definition for hsmmc device 1 + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#include +#include +#include + +#include +#include +#include +#include + +static struct resource s3c_hsmmc1_resource[] = { + [0] = { + .start = S3C_PA_HSMMC1, + .end = S3C_PA_HSMMC1 + S3C_SZ_HSMMC - 1, + .flags = IORESOURCE_MEM, + }, + [1] = { + .start = IRQ_HSMMC1, + .end = IRQ_HSMMC1, + .flags = IORESOURCE_IRQ, + } +}; + +static u64 s3c_device_hsmmc1_dmamask = 0xffffffffUL; + +struct s3c_sdhci_platdata s3c_hsmmc1_def_platdata = { + .max_width = 4, + .host_caps = (MMC_CAP_4_BIT_DATA | MMC_CAP_MMC_HIGHSPEED | + MMC_CAP_SD_HIGHSPEED), +}; + +struct platform_device s3c_device_hsmmc1 = { + .name = "s3c-sdhci", + .id = 1, + .num_resources = ARRAY_SIZE(s3c_hsmmc1_resource), + .resource = s3c_hsmmc1_resource, + .dev = { + .dma_mask = &s3c_device_hsmmc1_dmamask, + .coherent_dma_mask = 0xffffffffUL, + .platform_data = &s3c_hsmmc1_def_platdata, + }, +}; + +void s3c_sdhci1_set_platdata(struct s3c_sdhci_platdata *pd) +{ + struct s3c_sdhci_platdata *set = &s3c_hsmmc1_def_platdata; + + set->max_width = pd->max_width; + + if (pd->host_caps) + set->host_caps = pd->host_caps; + if (pd->cfg_gpio) + set->cfg_gpio = pd->cfg_gpio; + if (pd->cfg_card) + set->cfg_card = pd->cfg_card; + if (pd->cfg_ext_cd) + set->cfg_ext_cd = pd->cfg_ext_cd; + if (pd->detect_ext_cd) + set->detect_ext_cd = pd->detect_ext_cd; + if (pd->ext_cd) + set->ext_cd = pd->ext_cd; +} + diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/plat-s3c/dev-hsmmc2.c linux-2.6.28.6/arch/arm/plat-s3c/dev-hsmmc2.c --- linux-2.6.28/arch/arm/plat-s3c/dev-hsmmc2.c 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/plat-s3c/dev-hsmmc2.c 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,75 @@ +/* linux/arch/arm/plat-s3c/dev-hsmmc1.c + * + * Copyright (c) 2008 Simtec Electronics + * Ben Dooks + * http://armlinux.simtec.co.uk/ + * + * S3C series device definition for hsmmc device 1 + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#include +#include +#include + +#include +#include +#include +#include + +static struct resource s3c_hsmmc2_resource[] = { + [0] = { + .start = S3C_PA_HSMMC2, + .end = S3C_PA_HSMMC2 + S3C_SZ_HSMMC - 1, + .flags = IORESOURCE_MEM, + }, + [1] = { + .start = IRQ_HSMMC2, + .end = IRQ_HSMMC2, + .flags = IORESOURCE_IRQ, + } +}; + +static u64 s3c_device_hsmmc2_dmamask = 0xffffffffUL; + +struct s3c_sdhci_platdata s3c_hsmmc2_def_platdata = { + .max_width = 4, + .host_caps = (MMC_CAP_4_BIT_DATA | MMC_CAP_MMC_HIGHSPEED | + MMC_CAP_SD_HIGHSPEED | MMC_CAP_ON_BOARD), +}; + +struct platform_device s3c_device_hsmmc2 = { + .name = "s3c-sdhci", + .id = 2, + .num_resources = ARRAY_SIZE(s3c_hsmmc2_resource), + .resource = s3c_hsmmc2_resource, + .dev = { + .dma_mask = &s3c_device_hsmmc2_dmamask, + .coherent_dma_mask = 0xffffffffUL, + .platform_data = &s3c_hsmmc2_def_platdata, + }, +}; + +void s3c_sdhci2_set_platdata(struct s3c_sdhci_platdata *pd) +{ + struct s3c_sdhci_platdata *set = &s3c_hsmmc2_def_platdata; + + set->max_width = pd->max_width; + + if (pd->host_caps) + set->host_caps = pd->host_caps; + if (pd->cfg_gpio) + set->cfg_gpio = pd->cfg_gpio; + if (pd->cfg_card) + set->cfg_card = pd->cfg_card; + if (pd->cfg_ext_cd) + set->cfg_ext_cd = pd->cfg_ext_cd; + if (pd->detect_ext_cd) + set->detect_ext_cd = pd->detect_ext_cd; + if (pd->ext_cd) + set->ext_cd = pd->ext_cd; +} + diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/plat-s3c/dev-i2c0.c linux-2.6.28.6/arch/arm/plat-s3c/dev-i2c0.c --- linux-2.6.28/arch/arm/plat-s3c/dev-i2c0.c 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/plat-s3c/dev-i2c0.c 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,71 @@ +/* linux/arch/arm/plat-s3c/dev-i2c0.c + * + * Copyright 2008 Simtec Electronics + * Ben Dooks + * http://armlinux.simtec.co.uk/ + * + * S3C series device definition for i2c device 0 + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#include +#include +#include + +#include + +#include +#include +#include +#include + +static struct resource s3c_i2c_resource[] = { + [0] = { + .start = S3C_PA_IIC, + .end = S3C_PA_IIC + SZ_4K - 1, + .flags = IORESOURCE_MEM, + }, + [1] = { + .start = IRQ_IIC, + .end = IRQ_IIC, + .flags = IORESOURCE_IRQ, + }, +}; + +struct platform_device s3c_device_i2c0 = { + .name = "s3c2410-i2c", +#ifdef CONFIG_S3C_DEV_I2C1 + .id = 0, +#else + .id = -1, +#endif + .num_resources = ARRAY_SIZE(s3c_i2c_resource), + .resource = s3c_i2c_resource, +}; + +static struct s3c2410_platform_i2c default_i2c_data0 __initdata = { + .flags = 0, + .slave_addr = 0x10, + .bus_freq = 100*1000, + .max_freq = 400*1000, + .sda_delay = S3C2410_IICLC_SDA_DELAY5 | S3C2410_IICLC_FILTER_ON, +}; + +void __init s3c_i2c0_set_platdata(struct s3c2410_platform_i2c *pd) +{ + struct s3c2410_platform_i2c *npd; + + if (!pd) + pd = &default_i2c_data0; + + npd = kmemdup(pd, sizeof(struct s3c2410_platform_i2c), GFP_KERNEL); + if (!npd) + printk(KERN_ERR "%s: no memory for platform data\n", __func__); + else if (!npd->cfg_gpio) + npd->cfg_gpio = s3c_i2c0_cfg_gpio; + + s3c_device_i2c0.dev.platform_data = npd; +} diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/plat-s3c/dev-i2c1.c linux-2.6.28.6/arch/arm/plat-s3c/dev-i2c1.c --- linux-2.6.28/arch/arm/plat-s3c/dev-i2c1.c 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/plat-s3c/dev-i2c1.c 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,68 @@ +/* linux/arch/arm/plat-s3c/dev-i2c1.c + * + * Copyright 2008 Simtec Electronics + * Ben Dooks + * http://armlinux.simtec.co.uk/ + * + * S3C series device definition for i2c device 1 + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#include +#include +#include + +#include + +#include +#include +#include +#include + +static struct resource s3c_i2c_resource[] = { + [0] = { + .start = S3C_PA_IIC1, + .end = S3C_PA_IIC1 + SZ_4K - 1, + .flags = IORESOURCE_MEM, + }, + [1] = { + .start = IRQ_IIC1, + .end = IRQ_IIC1, + .flags = IORESOURCE_IRQ, + }, +}; + +struct platform_device s3c_device_i2c1 = { + .name = "s3c2410-i2c", + .id = 1, + .num_resources = ARRAY_SIZE(s3c_i2c_resource), + .resource = s3c_i2c_resource, +}; + +static struct s3c2410_platform_i2c default_i2c_data1 __initdata = { + .flags = 0, + .bus_num = 1, + .slave_addr = 0x10, + .bus_freq = 100*1000, + .max_freq = 400*1000, + .sda_delay = S3C2410_IICLC_SDA_DELAY5 | S3C2410_IICLC_FILTER_ON, +}; + +void __init s3c_i2c1_set_platdata(struct s3c2410_platform_i2c *pd) +{ + struct s3c2410_platform_i2c *npd; + + if (!pd) + pd = &default_i2c_data1; + + npd = kmemdup(pd, sizeof(struct s3c2410_platform_i2c), GFP_KERNEL); + if (!npd) + printk(KERN_ERR "%s: no memory for platform data\n", __func__); + else if (!npd->cfg_gpio) + npd->cfg_gpio = s3c_i2c1_cfg_gpio; + + s3c_device_i2c1.dev.platform_data = npd; +} diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/plat-s3c/dev-i2s.c linux-2.6.28.6/arch/arm/plat-s3c/dev-i2s.c --- linux-2.6.28/arch/arm/plat-s3c/dev-i2s.c 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/plat-s3c/dev-i2s.c 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,49 @@ +/* linux/arch/arm/plat-s3c/dev-i2s.c + * + * Copyright (c) 2008 Simtec Electronics + * Ben Dooks + * http://armlinux.simtec.co.uk/ + * + * S3C series device definition for hsmmc devices + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#include +#include + +#include +#include +#include +#include + + +/* IIS */ +static struct resource s3c_iis_resource[] = { + [0] = { + .start = S3C_PA_IIS, + .end = S3C_PA_IIS + S3C_SZ_IIS -1, + .flags = IORESOURCE_MEM, + }, + [1] = { + .start = IRQ_S3C6410_IIS, + .end = IRQ_S3C6410_IIS, + .flags = IORESOURCE_IRQ, + } +}; + +static u64 s3c_device_iis_dmamask = 0xffffffffUL; + +struct platform_device s3c_device_iis = { + .name = "s3c-iis", + .id = -1, + .num_resources = ARRAY_SIZE(s3c_iis_resource), + .resource = s3c_iis_resource, + .dev = { + .dma_mask = &s3c_device_iis_dmamask, + .coherent_dma_mask = 0xffffffffUL + } +}; + diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/plat-s3c/dev-ts.c linux-2.6.28.6/arch/arm/plat-s3c/dev-ts.c --- linux-2.6.28/arch/arm/plat-s3c/dev-ts.c 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/plat-s3c/dev-ts.c 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,62 @@ +/* linux/arch/arm/plat-s3c/dev-ts.c + * + * Copyright (c) 2008 Simtec Electronics + * Ben Dooks + * http://armlinux.simtec.co.uk/ + * + * S3C series device definition for hsmmc devices + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#include +#include + +#include +#include +#include +#include + +/* Touch srcreen */ +static struct resource s3c_ts_resource[] = { + [0] = { + .start = S3C_PA_ADC, + .end = S3C_PA_ADC + SZ_4K - 1, + .flags = IORESOURCE_MEM, + }, + [1] = { + .start = IRQ_PENDN, + .end = IRQ_PENDN, + .flags = IORESOURCE_IRQ, + }, + [2] = { + .start = IRQ_ADC, + .end = IRQ_ADC, + .flags = IORESOURCE_IRQ, + } + +}; + +struct platform_device s3c_device_ts = { + .name = "s3c-ts", + .id = -1, + .num_resources = ARRAY_SIZE(s3c_ts_resource), + .resource = s3c_ts_resource, +}; + +void __init s3c_ts_set_platdata(struct s3c_ts_mach_info *pd) +{ + struct s3c_ts_mach_info *npd; + + npd = kmalloc(sizeof(*npd), GFP_KERNEL); + if (npd) { + memcpy(npd, pd, sizeof(*npd)); + s3c_device_ts.dev.platform_data = npd; + } else { + printk(KERN_ERR "no memory for Touchscreen platform data\n"); + } +} + + diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/plat-s3c/dma-pl080.c linux-2.6.28.6/arch/arm/plat-s3c/dma-pl080.c --- linux-2.6.28/arch/arm/plat-s3c/dma-pl080.c 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/plat-s3c/dma-pl080.c 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,1600 @@ +/* linux/arch/arm/plat-s3c/dma-pl080.c + * + * Copyright (c) 2003-2005,2006 Samsung Electronics + * + * S3C6400/S3C6410 DMA core + * + * http://www.samsung.com/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#ifdef CONFIG_S3C_DMA_DEBUG +#define DEBUG +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include +#include +#include +#include + + +/* io map for dma */ +static void __iomem *dma_base; +static struct kmem_cache *dma_kmem; + +static int dma_channels; +struct s3c_dma_selection dma_sel; +static struct s3c2410_dma_chan *dma_chan_map[DMACH_MAX]; + +/* dma channel state information */ +struct s3c2410_dma_chan s3c_dma_chans[S3C_DMA_CHANNELS]; +s3c_dma_controller_t s3c_dma_cntlrs[S3C_DMA_CONTROLLERS]; + +#undef pr_debug +//#define dma_dbg + +#ifdef dma_dbg +#define sh_printk(fmt...) printk( fmt) +#define pr_debug(fmt...) printk( fmt) +#else +#define sh_printk(fmt...) +#define pr_debug(fmt...) +#endif + +/* debugging functions */ + +#define BUF_MAGIC (0xcafebabe) + +#define dmawarn(fmt...) printk(KERN_DEBUG fmt) + +#define dma_regaddr(chan, reg) ((chan)->regs + (reg)) +#define dma_wrreg(chan, reg, val) writel((val), (chan)->regs + (reg)) +#define dma_rdreg(chan, reg) readl((chan)->regs + (reg)) + +#define dbg_showregs(chan) do { } while(0) +#define dbg_showchan(chan) do { } while(0) + +void s3c_dma_dump(int dcon_num, int channel) +{ + unsigned long tmp; + s3c_dma_controller_t *dma_controller = &s3c_dma_cntlrs[dcon_num]; + + tmp = dma_rdreg(dma_controller, S3C_DMAC_INT_STATUS); + printk("%d dcon_num %d subchnnel INT_STATUS %lx\n", dcon_num, channel, tmp); + tmp = dma_rdreg(dma_controller, S3C_DMAC_INT_TCSTATUS); + printk("%d dcon_num %d subchnnel INT_TCSTATUS %lx\n", dcon_num, channel, tmp); + + tmp = dma_rdreg(dma_controller, S3C_DMAC_ENBLD_CHANNELS); + printk("%d dcon_num %d subchnnel ENBLD_CHANNELS %lx\n", dcon_num, channel, tmp); + + tmp = dma_rdreg(dma_controller, S3C_DMAC_CONFIGURATION); + printk("%d dcon_num %d subchnnel DMAC_CONFIGUARATION %lx\n", dcon_num, channel, tmp); + + tmp = dma_rdreg(dma_controller, S3C_DMAC_CSRCADDR(channel)); + printk("%d dcon_num %d subchnnel SRCADDRESS %lx\n", dcon_num, channel, tmp); + + tmp = dma_rdreg(dma_controller, S3C_DMAC_CDESTADDR(channel)); + printk("%d dcon_num %d subchnnel DESTADDRESS %lx\n", dcon_num, channel, tmp); + + tmp = dma_rdreg(dma_controller, S3C_DMAC_CLLI(channel)); + printk("%d dcon_num %d subchnnel LLI %lx\n", dcon_num, channel, tmp); + + tmp = dma_rdreg(dma_controller, S3C_DMAC_CCONTROL0(channel)); + printk("%d dcon_num %d subchnnel CCONTROL0 %lx\n", dcon_num, channel, tmp); + + tmp = dma_rdreg(dma_controller, S3C_DMAC_CCONTROL1(channel)); + printk("%d dcon_num %d subchnnel CCONTROL1 %lx\n", dcon_num, channel, tmp); + tmp = dma_rdreg(dma_controller, S3C_DMAC_CCONFIGURATION(channel)); + + printk("%d dcon_num %d subchnnel CH CONFIGUARATION %lx\n", dcon_num, channel, tmp); +} + + +/* lookup_dma_channel + * + * change the dma channel number given into a real dma channel id +*/ + +static struct s3c2410_dma_chan *lookup_dma_channel(unsigned int channel) +{ + if (channel & DMACH_LOW_LEVEL) + return &s3c_dma_chans[channel & ~DMACH_LOW_LEVEL]; + else + return dma_chan_map[channel]; +} + +/* s3c_dma_stats_timeout + * + * Update DMA stats from timeout info + */ +static void s3c_dma_stats_timeout(struct s3c_dma_stats * stats, int val) +{ + if (stats == NULL) + return; + + if (val > stats->timeout_longest) + stats->timeout_longest = val; + if (val < stats->timeout_shortest) + stats->timeout_shortest = val; + + stats->timeout_avg += val; +} + +void s3c_enable_dmac(unsigned int dcon_num) +{ + s3c_dma_controller_t *dma_controller = &s3c_dma_cntlrs[dcon_num]; + dma_wrreg(dma_controller, S3C_DMAC_CONFIGURATION, S3C_DMA_CONTROLLER_ENABLE); +} + +void s3c_disable_dmac(unsigned int dcon_num) +{ + unsigned long tmp; + s3c_dma_controller_t *dma_controller = &s3c_dma_cntlrs[dcon_num]; + tmp = dma_rdreg(dma_controller, S3C_DMAC_CONFIGURATION); + tmp &= ~S3C_DMA_CONTROLLER_ENABLE; + dma_wrreg(dma_controller, S3C_DMAC_CONFIGURATION, tmp); +} + +void s3c_clear_interrupts (int dcon_num, int channel) +{ + unsigned long tmp; + s3c_dma_controller_t *dma_controller = &s3c_dma_cntlrs[dcon_num]; + + tmp = dma_rdreg(dma_controller, S3C_DMAC_INT_TCCLEAR); + tmp |= (1 << channel); + dma_wrreg(dma_controller, S3C_DMAC_INT_TCCLEAR, tmp); + + tmp = dma_rdreg(dma_controller, S3C_DMAC_INT_ERRORCLEAR); + tmp |= (1 << channel); + dma_wrreg(dma_controller, S3C_DMAC_INT_ERRORCLEAR, tmp); +} + +/* s3c_dma_waitforload + * + * wait for the DMA engine to load a buffer, and update the state accordingly + */ +static int s3c_dma_waitforload(struct s3c2410_dma_chan *chan, int line) +{ + int timeout = chan->load_timeout; + int took; + + pr_debug("%s channel number : %d\n", __FUNCTION__, chan->number); + + if (chan->load_state != S3C_DMALOAD_1LOADED) { + printk(KERN_ERR + "dma%d: s3c_dma_waitforload() called in loadstate %d from line %d\n", + chan->number, chan->load_state, line); + return 0; + } + + if (chan->stats != NULL) + chan->stats->loads++; + + while (--timeout > 0) { + if ((dma_rdreg(chan->dma_con, S3C_DMAC_ENBLD_CHANNELS)) & (0x1 << chan->number)) { + took = chan->load_timeout - timeout; + s3c_dma_stats_timeout(chan->stats, took); + + switch (chan->load_state) { + case S3C_DMALOAD_1LOADED: + chan->load_state = S3C_DMALOAD_1RUNNING; + break; + + default: + printk(KERN_ERR + "dma%d: unknown load_state in s3c_dma_waitforload() %d\n", + chan->number, chan->load_state); + } + + return 1; + } + } + + if (chan->stats != NULL) { + chan->stats->timeout_failed++; + } + + return 0; +} + + +/* s3c_dma_loadbuffer + * + * load a buffer, and update the channel state + */ +static inline int s3c_dma_loadbuffer(struct s3c2410_dma_chan *chan, + struct s3c_dma_buf *buf) +{ + unsigned long reload; + + pr_debug("s3c_chan_loadbuffer: loading buffer %p (0x%08lx,0x%06x)\n", + buf, (unsigned long) buf->data, buf->size); + + if (buf == NULL) { + dmawarn("buffer is NULL\n"); + return -EINVAL; + } + + /* check the state of the channel before we do anything */ + + if (chan->load_state == S3C_DMALOAD_1LOADED) { + dmawarn("load_state is S3C2410_DMALOAD_1LOADED\n"); + reload = (buf->next == NULL) ? S3C2410_DCON_NORELOAD : 0; + } + + if (chan->load_state == S3C_DMALOAD_1LOADED_1RUNNING) { + dmawarn("state is S3C2410_DMALOAD_1LOADED_1RUNNING\n"); + reload = S3C2410_DCON_AUTORELOAD; + } + + writel(buf->data, chan->addr_reg); + + pr_debug("%s: DMA control0 - %08x\n", __FUNCTION__, chan->dcon); + pr_debug("%s: DMA control1 - %08x\n", __FUNCTION__, (buf->size / chan->xfer_unit)); + + dma_wrreg(chan, S3C_DMAC_CxCONTROL0, chan->dcon); + dma_wrreg(chan, S3C_DMAC_CxCONTROL1, (buf->size / chan->xfer_unit)); + + chan->next = buf->next; + + /* update the state of the channel */ + + switch (chan->load_state) { + case S3C_DMALOAD_NONE: + chan->load_state = S3C_DMALOAD_1LOADED; + break; + + case S3C_DMALOAD_1RUNNING: + chan->load_state = S3C_DMALOAD_1LOADED_1RUNNING; + break; + + default: + dmawarn("dmaload: unknown state %d in loadbuffer\n", chan->load_state); + break; + } + + return 0; +} + + +/* s3c_dma_call_op + * + * small routine to call the o routine with the given op if it has been + * registered + */ +static void s3c_dma_call_op(struct s3c2410_dma_chan * chan, enum s3c_chan_op op) +{ + if (chan->op_fn != NULL) { + (chan->op_fn) (chan, op); + } +} + +/* s3c_dma_buffdone + * + * small wrapper to check if callback routine needs to be called, and + * if so, call it + */ +static inline void s3c_dma_buffdone(struct s3c2410_dma_chan * chan, + struct s3c_dma_buf * buf, + enum s3c2410_dma_buffresult result) +{ + pr_debug("callback_fn will be called=%p, buf=%p, id=%p, size=%d, result=%d\n", + chan->callback_fn, buf, buf->id, buf->size, result); + + if (chan->callback_fn != NULL) { + (chan->callback_fn) (chan, buf->id, buf->size, result); + } +} + +/* s3c_dma_start + * + * start a dma channel going + */ +static int s3c_dma_start(struct s3c2410_dma_chan *chan) +{ + unsigned long flags; + + pr_debug("s3c_start_dma: channel number=%d, index=%d\n", chan->number, chan->index); + + local_irq_save(flags); + + if (chan->state == S3C_DMA_RUNNING) { + pr_debug("s3c_start_dma: already running (%d)\n", chan->state); + local_irq_restore(flags); + return 0; + } + + chan->state = S3C_DMA_RUNNING; + + /* check wether there is anything to load, and if not, see + * if we can find anything to load + */ + + if (chan->load_state == S3C_DMALOAD_NONE) { + if (chan->next == NULL) { + printk(KERN_ERR "dma%d: dcon_num has nothing loaded\n", chan->number); + chan->state = S3C_DMA_IDLE; + local_irq_restore(flags); + return -EINVAL; + } + + s3c_dma_loadbuffer(chan, chan->next); + } + + dbg_showchan(chan); + + /* enable the channel */ + + if (!chan->irq_enabled) { + enable_irq(chan->irq); + chan->irq_enabled = 1; + } + + /* Get the DMA channel started ...*/ + dma_wrreg(chan, S3C_DMAC_CxCONFIGURATION, chan->config_flags); + + pr_debug("%s:wrote %08lx to S3C_DMAC_CxCONFIGURATION.\n",__FUNCTION__, chan->config_flags); + + /* Start the DMA operation on Peripheral */ + s3c_dma_call_op(chan, S3C2410_DMAOP_START); + + dbg_showchan(chan); + + local_irq_restore(flags); + return 0; +} + + +/* s3c2410_dma_enqueue + * + * queue an given buffer for dma transfer. + * + * id the device driver's id information for this buffer + * data the physical address of the buffer data + * size the size of the buffer in bytes + * + * If the channel is not running, then the flag S3C2410_DMAF_AUTOSTART + * is checked, and if set, the channel is started. If this flag isn't set, + * then an error will be returned. + * + * It is possible to queue more than one DMA buffer onto a channel at + * once, and the code will deal with the re-loading of the next buffer + * when necessary. + */ +int s3c2410_dma_enqueue(unsigned int channel, void *id, + dma_addr_t data, int size) +{ + struct s3c2410_dma_chan *chan = lookup_dma_channel(channel); + struct s3c_dma_buf *buf; + unsigned long flags; + + pr_debug("%s: id=%p, data=%08x, size=%d\n", __FUNCTION__, id, (unsigned int) data, size); + + buf = kmem_cache_alloc(dma_kmem, GFP_ATOMIC); + if (buf == NULL) { + printk(KERN_ERR "dma<%d> no memory for buffer\n", channel); + return -ENOMEM; + } + + pr_debug("%s: new buffer %p\n", __FUNCTION__, buf); + + //dbg_showchan(chan); + + buf->next = NULL; + buf->data = buf->ptr = data; + buf->size = size; + buf->id = id; + buf->magic = BUF_MAGIC; + + local_irq_save(flags); + + if (chan->curr == NULL) { + /* we've got nothing loaded... */ + pr_debug("%s: buffer %p queued onto empty channel\n", __FUNCTION__, buf); + + chan->curr = buf; + chan->end = buf; + chan->next = NULL; + } else { + pr_debug("dma%d: %s: buffer %p queued onto non-empty channel\n", + chan->number, __FUNCTION__, buf); + + if (chan->end == NULL) /* In case of flushing */ + pr_debug("dma%d: %s: %p not empty, and chan->end==NULL?\n", + chan->number, __FUNCTION__, chan); + else { + chan->end->next = buf; + chan->end = buf; + } + } + + /* if necessary, update the next buffer field */ + if (chan->next == NULL) + chan->next = buf; + + /* check to see if we can load a buffer */ + if (chan->state == S3C_DMA_RUNNING) { + if (chan->load_state == S3C_DMALOAD_1LOADED && 1) { + if (s3c_dma_waitforload(chan, __LINE__) == 0) { + printk(KERN_ERR "dma%d: loadbuffer:" + "timeout loading buffer\n", chan->number); + dbg_showchan(chan); + local_irq_restore(flags); + return -EINVAL; + } + } + } else if (chan->state == S3C_DMA_IDLE) { + if (chan->flags & S3C2410_DMAF_AUTOSTART) { + s3c2410_dma_ctrl(channel, S3C2410_DMAOP_START); + } else { + pr_debug("loading onto stopped channel\n"); + } + } + + local_irq_restore(flags); + return 0; +} +EXPORT_SYMBOL(s3c2410_dma_enqueue); + +/* s3c2410_dma_enqueue_sg + * + * queue an given buffer for dma transfer. + * + * id the device driver's id information for this buffer + * data the physical address of the buffer data + * size the size of the buffer in bytes + * sg_reg the scatter&gather list + * + * If the channel is not running, then the flag S3C2410_DMAF_AUTOSTART + * is checked, and if set, the channel is started. If this flag isn't set, + * then an error will be returned. + * + * It is possible to queue more than one DMA buffer onto a channel at + * once, and the code will deal with the re-loading of the next buffer + * when necessary. + */ +int s3c2410_dma_enqueue_sg(unsigned int channel, void *id, + dma_addr_t data, int size, struct s3c_sg_list *sg_list) +{ + struct s3c2410_dma_chan *chan = lookup_dma_channel(channel); + struct s3c_dma_buf *buf; + unsigned long flags; + + pr_debug("%s: id=%p, data=%08x, size=%d\n", __FUNCTION__, id, (unsigned int) data, size); + + buf = kmem_cache_alloc(dma_kmem, GFP_ATOMIC); + if (buf == NULL) { + printk(KERN_ERR "dma<%d> no memory for buffer\n", channel); + return -ENOMEM; + } + + pr_debug("%s: new buffer %p\n", __FUNCTION__, buf); + + //dbg_showchan(chan); + + buf->next = NULL; + buf->data = buf->ptr = data; + buf->size = size; + buf->id = id; + buf->magic = BUF_MAGIC; + + local_irq_save(flags); + + if (chan->curr == NULL) { + /* we've got nothing loaded... */ + pr_debug("%s: buffer %p queued onto empty channel\n", __FUNCTION__, buf); + + chan->curr = buf; + chan->end = buf; + chan->next = NULL; + } else { + pr_debug("dma%d: %s: buffer %p queued onto non-empty channel\n", + chan->number, __FUNCTION__, buf); + + if (chan->end == NULL) /* In case of flushing */ + pr_debug("dma%d: %s: %p not empty, and chan->end==NULL?\n", + chan->number, __FUNCTION__, chan); + else { + chan->end->next = buf; + chan->end = buf; + } + } + + /* if necessary, update the next buffer field */ + if (chan->next == NULL) + chan->next = buf; + + /* check to see if we can load a buffer */ + if (chan->state == S3C_DMA_RUNNING) { + if (chan->load_state == S3C_DMALOAD_1LOADED && 1) { + if (s3c_dma_waitforload(chan, __LINE__) == 0) { + printk(KERN_ERR "dma%d: loadbuffer:" + "timeout loading buffer\n", chan->number); + dbg_showchan(chan); + local_irq_restore(flags); + return -EINVAL; + } + } + } else if (chan->state == S3C_DMA_IDLE) { + dma_wrreg(chan, S3C_DMAC_CxLLI, virt_to_phys(&sg_list)); + + if (chan->flags & S3C2410_DMAF_AUTOSTART) { + s3c2410_dma_ctrl(channel, S3C2410_DMAOP_START); + } else { + pr_debug("loading onto stopped channel\n"); + } + } + + local_irq_restore(flags); + return 0; +} +EXPORT_SYMBOL(s3c2410_dma_enqueue_sg); + + +static inline void s3c_dma_freebuf(struct s3c_dma_buf * buf) +{ + int magicok = (buf->magic == BUF_MAGIC); + + buf->magic = -1; + + if (magicok) { + kmem_cache_free(dma_kmem, buf); + } else { + printk("s3c_dma_freebuf: buff %p with bad magic\n", buf); + } +} + +/* s3c_dma_lastxfer + * + * called when the system is out of buffers, to ensure that the channel + * is prepared for shutdown. + */ +static inline void s3c_dma_lastxfer(struct s3c2410_dma_chan *chan) +{ + pr_debug("DMA CH %d: s3c_dma_lastxfer: load_state %d\n", chan->number, chan->load_state); + + switch (chan->load_state) { + case S3C_DMALOAD_NONE: + pr_debug("DMA CH %d: s3c_dma_lastxfer: load_state : S3C2_DMALOAD_NONE%d\n", chan->number); + break; + + case S3C_DMALOAD_1LOADED: + if (s3c_dma_waitforload(chan, __LINE__) == 0) { + /* flag error? */ + printk(KERN_ERR "dma%d: timeout waiting for load\n", chan->number); + return; + } + break; + + default: + pr_debug("dma%d: lastxfer: unhandled load_state %d with no next", + chan->number, chan->load_state); + return; + + } + +} + + +#define dmadbg2(x...) + +static irqreturn_t s3c_dma_irq(int irq, void *devpw) +{ + unsigned int channel = 0, dcon_num, i; + unsigned long tmp; + s3c_dma_controller_t *dma_controller = (s3c_dma_controller_t *) devpw; + + struct s3c2410_dma_chan *chan=NULL; + struct s3c_dma_buf *buf; + + dcon_num = dma_controller->number; + tmp = dma_rdreg(dma_controller, S3C_DMAC_INT_TCSTATUS); + pr_debug("# s3c_dma_irq: TC status : 0x%x\n", tmp); + + if(tmp==0) { + return IRQ_HANDLED; + } + + for (i = 0; i < S3C_CHANNELS_PER_DMA; i++) { + if (tmp & 0x01) { + + pr_debug("# DMA Controller %d: requestor %d\n", dcon_num, i); + + channel = i; + chan = &s3c_dma_chans[channel + dcon_num * S3C_CHANNELS_PER_DMA]; + pr_debug("# DMA channel number : %d, index : %d\n", chan->number, chan->index); + + buf = chan->curr; + + dbg_showchan(chan); + + /* modify the channel state */ + switch (chan->load_state) { + case S3C_DMALOAD_1RUNNING: + /* TODO - if we are running only one buffer, we probably + * want to reload here, and then worry about the buffer + * callback */ + + chan->load_state = S3C_DMALOAD_NONE; + break; + + case S3C_DMALOAD_1LOADED: + /* iirc, we should go back to NONE loaded here, we + * had a buffer, and it was never verified as being + * loaded. + */ + + chan->load_state = S3C_DMALOAD_NONE; + break; + + case S3C_DMALOAD_1LOADED_1RUNNING: + /* we'll worry about checking to see if another buffer is + * ready after we've called back the owner. This should + * ensure we do not wait around too long for the DMA + * engine to start the next transfer + */ + + chan->load_state = S3C_DMALOAD_1LOADED; + break; + + case S3C_DMALOAD_NONE: + printk(KERN_ERR "dma%d: IRQ with no loaded buffer?\n", + chan->number); + break; + + default: + printk(KERN_ERR "dma%d: IRQ in invalid load_state %d\n", + chan->number, chan->load_state); + break; + } + + if (buf != NULL) { + /* update the chain to make sure that if we load any more + * buffers when we call the callback function, things should + * work properly */ + + chan->curr = buf->next; + buf->next = NULL; + + if (buf->magic != BUF_MAGIC) { + printk(KERN_ERR "dma%d: %s: buf %p incorrect magic\n", + chan->number, __FUNCTION__, buf); + goto next_channel; + } + + s3c_dma_buffdone(chan, buf, S3C2410_RES_OK); + + /* free resouces */ + s3c_dma_freebuf(buf); + } else { + + } + + if (chan->next != NULL) { + unsigned long flags; + + switch (chan->load_state) { + case S3C_DMALOAD_1RUNNING: + /* don't need to do anything for this state */ + break; + + case S3C_DMALOAD_NONE: + /* can load buffer immediately */ + break; + + case S3C_DMALOAD_1LOADED: + if (s3c_dma_waitforload(chan, __LINE__) == 0) { + /* flag error? */ + printk(KERN_ERR "dma%d: timeout waiting for load\n", + chan->number); + goto next_channel; + } + + break; + + case S3C_DMALOAD_1LOADED_1RUNNING: + goto next_channel; + + default: + printk(KERN_ERR "dma%d: unknown load_state in irq, %d\n", + chan->number, chan->load_state); + goto next_channel; + } + + local_irq_save(flags); + s3c_dma_loadbuffer(chan, chan->next); + + //shaju added for dbg + dma_wrreg(chan, S3C_DMAC_CxCONFIGURATION, chan->config_flags); + + local_irq_restore(flags); + + } else { + s3c_dma_lastxfer(chan); + + /* see if we can stop this channel.. */ + if (chan->load_state == S3C_DMALOAD_NONE) { + pr_debug("# DMA CH %d(index:%d): end of transfer, stopping channel (%ld)\n", + chan->number, chan->index, jiffies); + s3c2410_dma_ctrl(chan->index | DMACH_LOW_LEVEL, S3C2410_DMAOP_STOP); + } + } + } + +next_channel: + tmp >>= 1; + + } + + s3c_clear_interrupts(chan->dma_con->number, chan->number); + + return IRQ_HANDLED; +} + +static struct s3c2410_dma_chan *s3c_dma_map_channel(int channel); + +/* s3c_request_dma + * + * get control of an dma channel +*/ + +int s3c2410_dma_request(unsigned int channel, + struct s3c2410_dma_client *client, + void *dev) +{ + struct s3c2410_dma_chan *chan; + unsigned long flags; + int err; + + pr_debug("DMA CH %d: s3c2410_request_dma: client=%s, dev=%p\n", + channel, client->name, dev); + + local_irq_save(flags); + + chan = s3c_dma_map_channel(channel); + if (chan == NULL) { + local_irq_restore(flags); + return -EBUSY; + } + + dbg_showchan(chan); + + chan->client = client; + chan->in_use = 1; + + chan->dma_con->in_use++; + + if (!chan->irq_claimed) { + pr_debug("DMA CH %d: %s : requesting irq %d\n", + channel, __FUNCTION__, chan->irq); + + chan->irq_claimed = 1; + local_irq_restore(flags); + + err = request_irq(chan->irq, s3c_dma_irq, IRQF_DISABLED|IRQF_SHARED, + client->name, (void *) chan->dma_con); + + local_irq_save(flags); + + if (err) { + chan->in_use = 0; + chan->irq_claimed = 0; + chan->dma_con->in_use--; + local_irq_restore(flags); + + printk(KERN_ERR "%s: cannot get IRQ %d for DMA %d\n", + client->name, chan->irq, chan->number); + return err; + } + + chan->irq_enabled = 1; + + /* enable the main dma.. this can be disabled + * when main channel use count is 0 */ + s3c_enable_dmac(chan->dma_con->number); + } + + s3c_clear_interrupts(chan->dma_con->number, chan->number); + local_irq_restore(flags); + + /* need to setup */ + + pr_debug("%s: channel initialised, %p, number:%d, index:%d\n", __FUNCTION__, chan, chan->number, chan->index); + + return 0; +} +EXPORT_SYMBOL(s3c2410_dma_request); + +/* s3c_dma_free + * + * release the given channel back to the system, will stop and flush + * any outstanding transfers, and ensure the channel is ready for the + * next claimant. + * + * Note, although a warning is currently printed if the freeing client + * info is not the same as the registrant's client info, the free is still + * allowed to go through. + */ +int s3c2410_dma_free(dmach_t channel, struct s3c2410_dma_client *client) +{ + unsigned long flags; + struct s3c2410_dma_chan *chan = lookup_dma_channel(channel); + pr_debug("%s: DMA channel %d will be stopped\n", __FUNCTION__, chan->number); + + if (chan == NULL) + return -EINVAL; + + local_irq_save(flags); + + if (chan->client != client) { + printk(KERN_WARNING + "DMA CH %d: possible free from different client (channel %p, passed %p)\n", + channel, chan->client, client); + } + + /* sort out stopping and freeing the channel */ + + if (chan->state != S3C_DMA_IDLE) { + pr_debug("%s: need to stop dma channel %p\n", __FUNCTION__, chan); + + /* possibly flush the channel */ + s3c2410_dma_ctrl(channel, S3C2410_DMAOP_STOP); + } + + chan->client = NULL; + chan->in_use = 0; + + chan->dma_con->in_use--; + + if (chan->irq_claimed) + free_irq(chan->irq, (void *)chan->dma_con); + + chan->irq_claimed = 0; + + if (!(channel & DMACH_LOW_LEVEL)) + dma_chan_map[channel] = NULL; + + local_irq_restore(flags); + + return 0; +} +EXPORT_SYMBOL(s3c2410_dma_free); + +/*actively polling for the A bit can block the cpu*/ +void s3c_dma_flush_fifo(struct s3c2410_dma_chan *chan) +{ + unsigned long tmp; + + tmp = dma_rdreg(chan, S3C_DMAC_CxCONFIGURATION); + tmp |= S3C_DMACONFIG_HALT; + dma_wrreg(chan, S3C_DMAC_CxCONFIGURATION, tmp); + + tmp = dma_rdreg(chan, S3C_DMAC_CxCONFIGURATION); + + /*this while loop can be very dangerous..may be put the process to sleep rather than waiting till fifo is drained */ + while (tmp & S3C_DMACONFIG_ACTIVE) { + tmp = dma_rdreg(chan, S3C_DMAC_CxCONFIGURATION); + } +} + +static int s3c_dma_dostop(struct s3c2410_dma_chan *chan) +{ + unsigned long tmp; + unsigned long flags; + + pr_debug("%s: DMA Channel No : %d\n", __FUNCTION__, chan->number); + + dbg_showchan(chan); + + local_irq_save(flags); + + s3c_dma_flush_fifo(chan); + + s3c_dma_call_op(chan, S3C2410_DMAOP_STOP); + + tmp = dma_rdreg(chan, S3C_DMAC_CxCONFIGURATION); + + tmp &= ~S3C_DMACONFIG_CHANNEL_ENABLE; + dma_wrreg(chan, S3C_DMAC_CxCONFIGURATION, tmp); + + pr_debug("%s: S3C_DMAC_CxCONFIGURATION : %08x\n", __FUNCTION__, tmp); + + chan->state = S3C_DMA_IDLE; + chan->load_state = S3C_DMALOAD_NONE; + + local_irq_restore(flags); + + return 0; +} + +static void s3c_dma_showchan(struct s3c2410_dma_chan * chan) +{ + +} + +/* s3c_dma_flush + * + * stop the channel, and remove all current and pending transfers + */ + +void s3c_waitforstop(struct s3c2410_dma_chan *chan) +{ + +} + +static int s3c_dma_flush(struct s3c2410_dma_chan *chan) +{ + struct s3c_dma_buf *buf, *next; + unsigned long flags; + + pr_debug("%s:\n", __FUNCTION__); + + local_irq_save(flags); + + s3c_dma_showchan(chan); + + if (chan->state != S3C_DMA_IDLE) { + pr_debug("%s: stopping channel...\n", __FUNCTION__); + s3c2410_dma_ctrl(chan->number, S3C2410_DMAOP_STOP); + } + + buf = chan->curr; + if (buf == NULL) + buf = chan->next; + + chan->curr = chan->next = chan->end = NULL; + chan->load_state = S3C_DMALOAD_NONE; + + if (buf != NULL) { + for (; buf != NULL; buf = next) { + next = buf->next; + + pr_debug("%s: free buffer %p, next %p\n", __FUNCTION__, buf, buf->next); + + s3c_dma_buffdone(chan, buf, S3C2410_RES_ABORT); + s3c_dma_freebuf(buf); + } + } + //s3c_dma_waitforstop(chan); + + s3c_dma_showchan(chan); + local_irq_restore(flags); + + return 0; +} + +int s3c_dma_started(struct s3c2410_dma_chan *chan) +{ + unsigned long flags; + + local_irq_save(flags); + + dbg_showchan(chan); + + /* if we've only loaded one buffer onto the channel, then chec + * to see if we have another, and if so, try and load it so when + * the first buffer is finished, the new one will be loaded onto + * the channel */ + + if (chan->next != NULL) { + if (chan->load_state == S3C_DMALOAD_1LOADED) { + + if (s3c_dma_waitforload(chan, __LINE__) == 0) { + pr_debug("%s: buff not yet loaded, no more todo\n", + __FUNCTION__); + } else { + chan->load_state = S3C_DMALOAD_1RUNNING; + s3c_dma_loadbuffer(chan, chan->next); + } + + } else if (chan->load_state == S3C_DMALOAD_1RUNNING) { + s3c_dma_loadbuffer(chan, chan->next); + } + } + + local_irq_restore(flags); + + return 0; + +} + +int s3c2410_dma_ctrl(dmach_t channel, enum s3c_chan_op op) +{ + struct s3c2410_dma_chan *chan = lookup_dma_channel(channel); + + if (chan == NULL) + return -EINVAL; + + switch (op) { + case S3C2410_DMAOP_START: + return s3c_dma_start(chan); + + case S3C2410_DMAOP_STOP: + return s3c_dma_dostop(chan); + + case S3C2410_DMAOP_PAUSE: + case S3C2410_DMAOP_RESUME: + return -ENOENT; + + case S3C2410_DMAOP_FLUSH: + return s3c_dma_flush(chan); + + case S3C2410_DMAOP_STARTED: + return s3c_dma_started(chan); + + case S3C2410_DMAOP_TIMEOUT: + return 0; + + } + + return -ENOENT; /* unknown, don't bother */ +} +EXPORT_SYMBOL(s3c2410_dma_ctrl); + + +/* s3c_dma_config + * + * xfersize: size of unit in bytes (1,2,4) + * dcon: base value of the DCONx register + */ +int s3c2410_dma_config(dmach_t channel, + int xferunit, + int dcon) +{ + struct s3c2410_dma_chan *chan = lookup_dma_channel(channel); + + pr_debug("%s: chan=%d, xfer_unit=%d, dcon=%08x\n", + __FUNCTION__, channel, xferunit, dcon); + + if (chan == NULL) + return -EINVAL; + + pr_debug("%s: Initial dcon is %08x\n", __FUNCTION__, dcon); + + dcon |= chan->dcon & dma_sel.dcon_mask; + + pr_debug("%s: New dcon is %08x\n", __FUNCTION__, dcon); + + switch (xferunit) { + case 1: + dcon |= S3C_DMACONTROL_SRC_WIDTH_BYTE; + dcon |= S3C_DMACONTROL_DEST_WIDTH_BYTE; + break; + + case 2: + dcon |= S3C_DMACONTROL_SRC_WIDTH_HWORD; + dcon |= S3C_DMACONTROL_DEST_WIDTH_HWORD; + break; + + case 4: + dcon |= S3C_DMACONTROL_SRC_WIDTH_WORD; + dcon |= S3C_DMACONTROL_DEST_WIDTH_WORD; + break; + + default: + pr_debug("%s: Bad transfer size %d\n", __FUNCTION__, xferunit); + return -EINVAL; + } + + pr_debug("%s: DMA Channel control : %08x\n", __FUNCTION__, dcon); + + dcon |= S3C_DMACONTROL_TC_INT_ENABLE; + dcon |= chan->control_flags; + pr_debug("%s: dcon now %08x\n", __FUNCTION__, dcon); + + /* For DMCCxControl 0 */ + chan->dcon = dcon; + + /* For DMACCxControl 1 : xferunit means transfer width.*/ + chan->xfer_unit = xferunit; + + return 0; +} +EXPORT_SYMBOL(s3c2410_dma_config); + + +int s3c2410_dma_setflags(dmach_t channel, unsigned int flags) +{ + struct s3c2410_dma_chan *chan = lookup_dma_channel(channel); + + if (chan == NULL) + return -EINVAL; + + pr_debug("%s: chan=%p, flags=%08x\n", __FUNCTION__, chan, flags); + + chan->flags = flags; + + return 0; +} +EXPORT_SYMBOL(s3c2410_dma_setflags); + + +/* do we need to protect the settings of the fields from + * irq? + */ + +int s3c2410_dma_set_opfn(dmach_t channel, s3c2410_dma_opfn_t rtn) +{ + struct s3c2410_dma_chan *chan = lookup_dma_channel(channel); + + if (chan == NULL) + return -EINVAL; + + pr_debug("%s: chan=%p, op rtn=%p\n", __FUNCTION__, chan, rtn); + + chan->op_fn = rtn; + + return 0; +} +EXPORT_SYMBOL(s3c2410_dma_set_opfn); + + +int s3c2410_dma_set_buffdone_fn(dmach_t channel, s3c2410_dma_cbfn_t rtn) +{ + struct s3c2410_dma_chan *chan = lookup_dma_channel(channel); + + if (chan == NULL) + return -EINVAL; + + pr_debug("%s: chan=%p, callback rtn=%p\n", __FUNCTION__, chan, rtn); + + chan->callback_fn = rtn; + + return 0; +} +EXPORT_SYMBOL(s3c2410_dma_set_buffdone_fn); + + +/* s3c2410_dma_devconfig + * + * configure the dma source/destination hardware type and address + * + * flowctrl: direction of dma flow + * + * src_per dst_per: dma channel number of src and dst periphreal, + * + * devaddr: physical address of the source + */ + +int s3c2410_dma_devconfig(int channel, + enum s3c2410_dmasrc source, + int hwcfg, + unsigned long devaddr) +{ + unsigned long tmp; + + struct s3c2410_dma_chan *chan = lookup_dma_channel(channel); + + if (chan == NULL) + return -EINVAL; + + pr_debug("%s: source=%d, hwcfg=%08x, devaddr=%08lx\n", + __FUNCTION__, (int)source, hwcfg, devaddr); + + chan->source = source; + chan->dev_addr = devaddr; + + switch (source) { + case S3C2410_DMASRC_MEM: + /* source is Memory : Mem-to-Peri ( Write into FIFO) */ + tmp = S3C_DMACONFIG_TCMASK | S3C_DMACONFIG_FLOWCTRL_MEM2PER | (chan->map->hw_addr.to) << + S3C_DEST_SHIFT | S3C_DMACONFIG_CHANNEL_ENABLE; + + chan->config_flags = tmp; + + /* TODO : Now, Scatter&Gather DMA NOT supported */ + dma_wrreg(chan, S3C_DMAC_CxLLI, 0); + + /* devaddr : Periperal address (destination) */ + dma_wrreg(chan, S3C_DMAC_CxDESTADDR, devaddr); + + /* source address : memory(buffer) address */ + chan->addr_reg = dma_regaddr(chan, S3C_DMAC_CxSRCADDR); + + chan->control_flags = S3C_DMACONTROL_SRC_INC | S3C_DMACONTROL_DEST_AXI_PERI ; + //chan->control_flags = hwcfg; + return 0; + + case S3C2410_DMASRC_HW: + /* source is peripheral : Peri-to-Mem ( Read from FIFO) */ + tmp = S3C_DMACONFIG_TCMASK | S3C_DMACONFIG_FLOWCTRL_PER2MEM | (chan->map->hw_addr.from) << + S3C_SRC_SHIFT | S3C_DMACONFIG_CHANNEL_ENABLE; + + chan->config_flags = tmp; + + /* TODO : Now, Scatter&Gather DMA NOT supported */ + dma_wrreg(chan, S3C_DMAC_CxLLI, 0); + + /* devaddr : Periperal address (source) */ + dma_wrreg(chan, S3C_DMAC_CxSRCADDR, devaddr); + + /* destination address : memory(buffer) address */ + chan->addr_reg = dma_regaddr(chan, S3C_DMAC_CxDESTADDR); + + chan->control_flags = S3C_DMACONTROL_DEST_INC | S3C_DMACONTROL_SRC_AXI_PERI; + //chan->control_flags = hwcfg; + + return 0; + + case S3C_DMA_MEM2MEM: + /* this is temporary for G3D */ + tmp = S3C_DMACONFIG_TCMASK | S3C_DMACONFIG_FLOWCTRL_MEM2MEM | S3C_DMACONFIG_CHANNEL_ENABLE; + + chan->config_flags = tmp; + + /* TODO : Now, Scatter&Gather DMA NOT YET supported */ + dma_wrreg(chan, S3C_DMAC_CxLLI, 0); + + /* devaddr : memory/onenand address (source) */ + dma_wrreg(chan, S3C_DMAC_CxSRCADDR, devaddr); + + /* destination address : memory(buffer) address */ + chan->addr_reg = dma_regaddr(chan, S3C_DMAC_CxDESTADDR); + + chan->control_flags |= (S3C_DMACONTROL_SRC_INC | S3C_DMACONTROL_DEST_AXI_PERI + | S3C_DMACONTROL_SBSIZE_4 | S3C_DMACONTROL_DBSIZE_4); + //chan->control_flags = hwcfg; + + return 0; + + case S3C_DMA_MEM2MEM_P: + /* source is memory : Memory-to-Mem ( Read/Write) */ + tmp = S3C_DMACONFIG_TCMASK | S3C_DMACONFIG_FLOWCTRL_MEM2MEM | S3C_DMACONFIG_CHANNEL_ENABLE; + + //if(chan->map->hw_addr.from == S3C_DMA0_ONENAND_RX) { + //tmp |= S3C_DMACONFIG_ONENANDMODESRC; + //} + + chan->config_flags = tmp; + + /* TODO : Now, Scatter&Gather DMA NOT YET supported */ + dma_wrreg(chan, S3C_DMAC_CxLLI, 0); + + /* devaddr : memory/onenand address (source) */ + dma_wrreg(chan, S3C_DMAC_CxSRCADDR, devaddr); + + /* destination address : memory(buffer) address */ + chan->addr_reg = dma_regaddr(chan, S3C_DMAC_CxDESTADDR); + + chan->control_flags |= (S3C_DMACONTROL_SRC_INC | S3C_DMACONTROL_DEST_INC + | S3C_DMACONTROL_SBSIZE_4 | S3C_DMACONTROL_DBSIZE_4); + //chan->control_flags = hwcfg; + + return 0; + + case S3C_DMA_PER2PER: + printk("Peripheral-to-Peripheral DMA NOT YET implemented !! \n"); + return -EINVAL; + + default: + printk(KERN_ERR "DMA CH :%d - invalid source type ()\n", channel); + printk("Unsupported DMA configuration from the device driver using DMA driver \n"); + return -EINVAL; + } + +} + +EXPORT_SYMBOL(s3c2410_dma_devconfig); + + +/* + * s3c_dma_getposition + * returns the current transfer points for the dma source and destination + */ +int s3c2410_dma_getposition(dmach_t channel, dma_addr_t *src, dma_addr_t *dst) +{ + struct s3c2410_dma_chan *chan = lookup_dma_channel(channel); + + if (chan == NULL) + return -EINVAL; + + if (src != NULL) + *src = dma_rdreg(chan, S3C_DMAC_CxSRCADDR); + + if (dst != NULL) + *dst = dma_rdreg(chan, S3C_DMAC_CxDESTADDR); + + return 0; +} + +EXPORT_SYMBOL(s3c2410_dma_getposition); + + +/* system device class */ +#ifdef CONFIG_PM +static int s3c_dma_suspend (struct sys_device *dev, pm_message_t state) +{ + return 0; +} + +static int s3c_dma_resume (struct sys_device *dev) +{ + return 0; +} +#else +#define s3c_dma_suspend NULL +#define s3c_dma_resume NULL +#endif /* CONFIG_PM */ + +struct sysdev_class dma_sysclass = { + .name = "s3c64xx-dma", + .suspend = s3c_dma_suspend, + .resume = s3c_dma_resume, +}; + +/* kmem cache implementation */ + +static void s3c_dma_cache_ctor(void *p) +{ + memset(p, 0, sizeof(struct s3c_dma_buf)); +} + + +void dma_test (int dcon_num, int channel) +{ + int tmp; + + s3c_dma_controller_t *dma_controller = &s3c_dma_cntlrs[dcon_num]; + + dma_wrreg(dma_controller, S3C_DMAC_CONFIGURATION, S3C_DMA_CONTROLLER_ENABLE); + tmp = dma_rdreg(dma_controller, S3C_DMAC_CONFIGURATION); + printk("reg val %d\n", tmp); + dma_wrreg(dma_controller, S3C_DMAC_CCONFIGURATION(channel), 0x01); + tmp = dma_rdreg(dma_controller, S3C_DMAC_CCONFIGURATION(channel)); + + printk("reg conf %x\n", tmp); + dma_wrreg(dma_controller, S3C_DMAC_CCONTROL0(channel), 0x8ff02064); + + tmp = dma_rdreg(dma_controller, S3C_DMAC_CCONTROL0(channel)); + printk("reg ctrl %x\n", tmp); +} + + +/* initialisation code */ + +int __init s3c_dma_init(unsigned int channels, unsigned int irq, + unsigned int stride) +{ + struct s3c2410_dma_chan *cp; + s3c_dma_controller_t *dconp; + int channel, controller; + int ret; + + printk("S3C DMA-pl080 Controller Driver, (c) 2006-2007 Samsung Electronics\n"); + + dma_channels = channels; + printk("Total %d DMA channels will be initialized.\n", channels); + + ret = sysdev_class_register(&dma_sysclass); + if (ret != 0) { + printk(KERN_ERR "dma sysclass registration failed.\n"); + goto err; + } + + dma_kmem = kmem_cache_create("dma_desc", sizeof(struct s3c_dma_buf), 0, + SLAB_HWCACHE_ALIGN, (void *)s3c_dma_cache_ctor); + + if (dma_kmem == NULL) { + printk(KERN_ERR "DMA failed to make kmem cache\n"); + ret = -ENOMEM; + goto err; + } + + for (controller = 0; controller < S3C_DMA_CONTROLLERS; controller++) { + dconp = &s3c_dma_cntlrs[controller]; + + memset(dconp, 0, sizeof(s3c_dma_controller_t)); + + if(controller < 2) { + dma_base = ioremap((S3C_PA_DMA + (controller * 0x100000)), 0x200); + if (dma_base == NULL) { + printk(KERN_ERR "DMA failed to ioremap register block\n"); + return -ENOMEM; + } + + /* dma controller's irqs are in order.. */ + dconp->irq = controller + IRQ_DMA0; + } + else { + dma_base = ioremap(((S3C_PA_DMA + 0x8B00000) + ((controller%2) * 0x100000)), 0x200); + if (dma_base == NULL) { + printk(KERN_ERR "SDMA failed to ioremap register block\n"); + return -ENOMEM; + } + + /* dma controller's irqs are in order.. */ + dconp->irq = (controller%2) + IRQ_SDMA0; + } + + dconp->number = controller; + dconp->regs = dma_base; + sh_printk("DMA controller : %d irq %d regs_base %x\n", dconp->number, dconp->irq, + dconp->regs); + } + + for (channel = 0; channel < channels; channel++) { + controller = channel / S3C_CHANNELS_PER_DMA; + cp = &s3c_dma_chans[channel]; + + memset(cp, 0, sizeof(struct s3c2410_dma_chan)); + + cp->dma_con = &s3c_dma_cntlrs[controller]; + + /* dma channel irqs are in order.. */ + cp->index = channel; + cp->number = channel%S3C_CHANNELS_PER_DMA; + + cp->irq = s3c_dma_cntlrs[controller].irq; + + cp->regs = s3c_dma_cntlrs[controller].regs + ((channel%S3C_CHANNELS_PER_DMA)*stride) + 0x100; + + /* point current stats somewhere */ + cp->stats = &cp->stats_store; + cp->stats_store.timeout_shortest = LONG_MAX; + + /* basic channel configuration */ + cp->load_timeout = 1 << 18; + + /* register system device */ + cp->dev.cls = &dma_sysclass; + cp->dev.id = channel; + //ret = sysdev_register(&cp->dev); + + sh_printk("DMA channel %d at %p, irq %d\n", cp->number, cp->regs, cp->irq); + } + + return 0; + +err: + kmem_cache_destroy(dma_kmem); + iounmap(dma_base); + dma_base = NULL; + return ret; +} + + + +static inline int is_channel_valid(unsigned int channel) +{ + return (channel & DMA_CH_VALID); +} + +static struct s3c_dma_order *dma_order; + + +/* s3c_dma_map_channel() + * + * turn the virtual channel number into a real, and un-used hardware + * channel. + * + * first, try the dma ordering given to us by either the relevant + * dma code, or the board. Then just find the first usable free + * channel +*/ + +struct s3c2410_dma_chan *s3c_dma_map_channel(int channel) +{ + struct s3c_dma_order_ch *ord = NULL; + struct s3c_dma_map *ch_map; + struct s3c2410_dma_chan *dmach; + int ch; + + if (dma_sel.map == NULL || channel > dma_sel.map_size) + return NULL; + + ch_map = dma_sel.map + channel; + + /* first, try the board mapping */ + + if (dma_order) { + ord = &dma_order->channels[channel]; + + for (ch = 0; ch < dma_channels; ch++) { + if (!is_channel_valid(ord->list[ch])) + continue; + + if (s3c_dma_chans[ord->list[ch]].in_use == 0) { + ch = ord->list[ch] & ~DMA_CH_VALID; + goto found; + } + } + + if (ord->flags & DMA_CH_NEVER) + return NULL; + } + + /* second, search the channel map for first free */ + + for (ch = 0; ch < dma_channels; ch++) { + if (!is_channel_valid(ch_map->channels[ch])) + continue; + + if (s3c_dma_chans[ch].in_use == 0) { + pr_debug("mapped channel %d to %d\n", channel, ch); + break; + } + } + + if (ch >= dma_channels) + return NULL; + + /* update our channel mapping */ + + found: + dmach = &s3c_dma_chans[ch]; + dma_chan_map[channel] = dmach; + + /* select the channel */ + (dma_sel.select)(dmach, ch_map); + + return dmach; +} + +static int s3c_dma_check_entry(struct s3c_dma_map *map, int ch) +{ + unsigned long tmp = __raw_readl(S3C_SDMA_SEL); + + tmp |= map->sdma_sel; + __raw_writel(tmp, S3C_SDMA_SEL); + + return 0; +} + +int __init s3c_dma_init_map(struct s3c_dma_selection *sel) +{ + struct s3c_dma_map *nmap; + size_t map_sz = sizeof(*nmap) * sel->map_size; + int ptr; + + nmap = kmalloc(map_sz, GFP_KERNEL); + if (nmap == NULL) + return -ENOMEM; + + memcpy(nmap, sel->map, map_sz); + memcpy(&dma_sel, sel, sizeof(*sel)); + + dma_sel.map = nmap; + + for (ptr = 0; ptr < sel->map_size; ptr++) + s3c_dma_check_entry(nmap+ptr, ptr); + + return 0; +} + +int __init s3c_dma_order_set(struct s3c_dma_order *ord) +{ + struct s3c_dma_order *nord = dma_order; + + if (nord == NULL) + nord = kmalloc(sizeof(struct s3c_dma_order), GFP_KERNEL); + + if (nord == NULL) { + printk(KERN_ERR "no memory to store dma channel order\n"); + return -ENOMEM; + } + + dma_order = nord; + memcpy(nord, ord, sizeof(struct s3c_dma_order)); + return 0; +} + + diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/plat-s3c/dma-pl330-mcode.h linux-2.6.28.6/arch/arm/plat-s3c/dma-pl330-mcode.h --- linux-2.6.28/arch/arm/plat-s3c/dma-pl330-mcode.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/plat-s3c/dma-pl330-mcode.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,1145 @@ +/* linux/arch/arm/plat-s3c/dma-pl330-mcode.h + * + * DMA PL330 microcode + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +/*------------------------------------------------------*/ +/* Version : v1.1 */ +/* Date last updated : Dec. 10, 2008 */ +/*------------------------------------------------------*/ + + +#define PL330_DMA_DEBUG +#undef PL330_DMA_DEBUG + +#ifdef PL330_DMA_DEBUG +#define dma_debug(fmt...) printk( fmt) +#else +#define dma_debug(fmt...) +#endif + +#define print_warning(fmt...) printk( fmt) + +#define PL330_P2M_DMA 0 +#define PL330_M2P_DMA 1 +#define PL330_M2M_DMA 2 +#define PL330_P2P_DMA 3 + +#define PL330_MAX_ITERATION_NUM 256 +#define PL330_MAX_JUMPBACK_NUM 256 +#define PL330_MAX_EVENT_NUM 32 +#define PL330_MAX_PERIPHERAL_NUM 32 +#define PL330_MAX_CHANNEL_NUM 8 + +#define DMA_DBGSTATUS 0x0 +#define DMA_DBGCMD 0x1 +#define DMA_DBGINST0 0x2 +#define DMA_DBGINST1 0x3 + +#define memOutp8(addr, data) (*(volatile u8 *)(addr) = (data)) +#define Outp32(addr, data) (*(volatile u32 *)(addr) = (data)) +#define Inp32(addr) (*(volatile u32 *)(addr)) + + +/* Parameter set for Channel Control Register */ +typedef struct DMA_control +{ + unsigned uSI :1 ; /* [0] Transfer size not count */ + unsigned uSBSize :3 ; /* [3:1] Source 1 transfer size */ + unsigned uSBLength :4 ; /* [7:4] Sourse burst len */ + unsigned uSProt :3 ; /* [10:8] Source Protection set 101b=5 */ + unsigned uSCache :3 ; /* [13:11] Source Cache control */ + unsigned uDI :1 ; /* [14] Destination increment */ + unsigned uDBSize :3 ; /* [17:15] Destination 1 transfer size */ + unsigned uDBLength :4 ; /* [21:18] Destination burst len */ + unsigned uDProt :3 ; /* [24:22] Source Protection set 101b=5 */ + unsigned uDCache :3 ; /* [27:25] Source Cache control */ + unsigned uESSize :4 ; /* [31:28] endian_swap_size */ +} pl330_DMA_control_t; + + +/* Parameter list for a DMA operation */ +typedef struct DMA_parameters +{ + unsigned long mDirection; /* DMA direction */ + unsigned long mPeriNum; /* DMA Peripheral number */ + unsigned long mSrcAddr; /* DMA source address */ + unsigned long mDstAddr; /* DMA destination address */ + unsigned long mTrSize; /* DMA Transfer size */ + pl330_DMA_control_t mControl; /* DMA control */ + unsigned long mIrqEnable; /* DMA Send IRQ */ + unsigned long mLoop; /* DMA Infinite Loop - 0(off) */ + unsigned long mBwJump; /* DMA backward relative offset */ + unsigned long mLastReq; /* The last DMA Req. */ +} pl330_DMA_parameters_t; + + +static void print_dma_param_info(pl330_DMA_parameters_t dma_param) +{ + /* Parameter list for a DMA operation */ + dma_debug(" mDirection = %lu\n", dma_param.mDirection); + dma_debug(" mPeriNum = %lu\n", dma_param.mPeriNum); + dma_debug(" mSrcAddr = 0x%x\n", dma_param.mSrcAddr); + dma_debug(" mDstAddr = 0x%x\n", dma_param.mDstAddr); + dma_debug(" mTrSize = %lu\n", dma_param.mTrSize); + dma_debug(" mControl = 0x%x\n", dma_param.mControl); + dma_debug(" mIrqEnable = %lu\n", dma_param.mIrqEnable); + dma_debug(" mLoop = %lu\n", dma_param.mLoop); + dma_debug(" mBwJump = %lu\n", dma_param.mBwJump); + dma_debug(" mLastReq = %lu\n", dma_param.mLastReq); +} + +/*---------------------- Primitive functions -------------*/ +/* When the DMAC is operating in real-time then you can only issue a limited subset of instructions as follows: + * DMAGO starts a DMA transaction using a DMA channel that you specify. + * DMASEV signals the occurrence of an event, or interrupt, using an event number that you specify. + * DMAKILL terminates a thread. + + * Prior to issuing DMAGO, you must ensure that the system memory contains a suitable + * program for the DMAC to execute, starting at the address that the DMAGO specifies. + */ + +/* DMAMOV CCR, ... */ +static int encodeDmaMoveChCtrl(u8 * mcode_ptr, u32 dmacon) +{ + u8 uInsBytes[6]; + u32 i; + + uInsBytes[0] = (u8)(0xbc); + uInsBytes[1] = (u8)(0x1); + uInsBytes[2] = (u8)((dmacon>>0)&0xff); + uInsBytes[3] = (u8)((dmacon>>8)&0xff); + uInsBytes[4] = (u8)((dmacon>>16)&0xff); + uInsBytes[5] = (u8)((dmacon>>24)&0xff); + + for(i=0; i<6; i++) + { + memOutp8(mcode_ptr+i, uInsBytes[i]); + } + + return 6; +} + +/* DMAMOV SAR, uStAddr + * DMAMOV DAR, uStAddr */ +static int encodeDmaMove(u8 * mcode_ptr, u8 uDir, u32 uStAddr) +{ + u8 uInsBytes[6]; + u32 i; + + uInsBytes[0] = (u8)(0xbc); + uInsBytes[1] = (u8)(0x0|uDir); + uInsBytes[2] = (u8)((uStAddr>>0)&0xff); + uInsBytes[3] = (u8)((uStAddr>>8)&0xff); + uInsBytes[4] = (u8)((uStAddr>>16)&0xff); + uInsBytes[5] = (u8)((uStAddr>>24)&0xff); + + for(i=0; i<6; i++) + { + memOutp8(mcode_ptr+i, uInsBytes[i]); + } + + return 6; +} + + +/* DMALD, DMALDS, DMALDB */ +static int encodeDmaLoad(u8 * mcode_ptr) +{ + u8 bs=0; + u8 x=0; + u8 uInsBytes[1]; + u32 i; + + uInsBytes[0] = (u8)(0x04|(bs<<1)|(x<<0)); + + for(i=0; i<1; i++) + { + memOutp8(mcode_ptr+i, uInsBytes[i]); + } + + return 1; +} + +/* DMALDPS, DMALDPB (Load Peripheral) */ +static int encodeDmaLoadPeri(u8 * mcode_ptr, u8 mPeriNum) +{ + u8 bs; + u8 uInsBytes[2]; + u32 i; + u8 m_uBurstSz=1; + + if(mPeriNum > PL330_MAX_PERIPHERAL_NUM) { + print_warning("[%s] The peripheral number is too big ! : %d\n", __FUNCTION__, mPeriNum); + return 0; + } + + bs = (m_uBurstSz == 1) ? 0 : 1; // single -> 0, burst -> 1 + + uInsBytes[0] = (u8)(0x25|(bs<<1)); + uInsBytes[1] = (u8)(0x00|((mPeriNum&0x1f)<<3)); + + for(i=0; i<2; i++) + { + memOutp8(mcode_ptr+i, uInsBytes[i]); + } + + return 2; +} + +/* DMAST, DMASTS, DMASTB */ +static int encodeDmaStore(u8 * mcode_ptr) +{ + u8 bs=0; + u8 x=0; + u8 uInsBytes[1]; + u32 i; + + uInsBytes[0] = (u8)(0x08|(bs<<1)|(x<<0)); + + for(i=0; i<1; i++) + { + memOutp8(mcode_ptr+i, uInsBytes[i]); + } + + return 1; +} + +/* DMASTPS, DMASTPB (Store and notify Peripheral) */ +static int encodeDmaStorePeri(u8 * mcode_ptr, u8 mPeriNum) +{ + u8 bs; + u8 uInsBytes[2]; + u32 i; + u8 m_uBurstSz=1; + + if(mPeriNum > PL330_MAX_PERIPHERAL_NUM) { + print_warning("[%s] The peripheral number is too big ! : %d\n", __FUNCTION__, mPeriNum); + return 0; + } + + bs = (m_uBurstSz == 1) ? 0 : 1; /* single:0, burst:1 */ + + uInsBytes[0] = (u8)(0x29|(bs<<1)); + uInsBytes[1] = (u8)(0x00|((mPeriNum&0x1f)<<3)); + + for(i=0; i<2; i++) + { + memOutp8(mcode_ptr+i, uInsBytes[i]); + } + + return 2; +} + +/* DMASTZ */ +static int encodeDmaStoreZero(u8 * mcode_ptr) +{ + u8 uInsBytes[1]; + u32 i; + + uInsBytes[0] = (u8)(0x0c); + + for(i=0; i<1; i++) + { + memOutp8(mcode_ptr+i, uInsBytes[i]); + } + + return 1; +} + +/* DMALP */ +static int encodeDmaLoop(u8 * mcode_ptr, u8 uLoopCnt, u8 uIteration) +{ + u8 uInsBytes[2]; + u32 i; + + uInsBytes[0] = (u8)(0x20|(uLoopCnt<<1)); + uInsBytes[1] = (u8)(uIteration); + + for(i=0; i<2; i++) + { + memOutp8(mcode_ptr+i, uInsBytes[i]); + } + + return 2; + +} + +/* DMALPFE */ +static int encodeDmaLoopForever(u8 * mcode_ptr, u8 uBwJump) +{ + u8 bs=0; + u8 x=0; + u8 uInsBytes[2]; + u32 i; + + uInsBytes[0] = (u8)(0x28|(0<<4)|(0<<2)|(bs<<1)|x); + uInsBytes[1] = (u8)(uBwJump); + + for(i=0; i<2; i++) + { + memOutp8(mcode_ptr + i, uInsBytes[i]); + } + + return 2; +} + + +/* DMALPEND, DMALPENDS, DMALPENDB */ +static int encodeDmaLoopEnd(u8 * mcode_ptr, u8 uLoopCnt, u8 uBwJump) +{ + u8 bs=0; + u8 x=0; + u8 uInsBytes[2]; + u32 i; + + uInsBytes[0] = (u8)(0x38|(1<<4)|(uLoopCnt<<2)|(bs<<1)|x); + uInsBytes[1] = (u8)(uBwJump); + + for(i=0; i<2; i++) + { + memOutp8(mcode_ptr + i, uInsBytes[i]); + } + + return 2; +} + +/* DMAWFP, DMAWFPS, DMAWFPB (Wait For Peripheral) */ +static int encodeDmaWaitForPeri(u8 * mcode_ptr, u8 mPeriNum) +{ + u8 bs=0; + u8 p=0; + u8 uInsBytes[2]; + u32 i; + + if(mPeriNum > PL330_MAX_PERIPHERAL_NUM) { + print_warning("[%s] The peripheral number is too big ! : %d\n", __FUNCTION__, mPeriNum); + return 0; + } + + uInsBytes[0] = (u8)(0x30|(bs<<1)|p); + uInsBytes[1] = (u8)(0x00|((mPeriNum&0x1f)<<3)); + + for(i=0; i<2; i++) + { + memOutp8(mcode_ptr+i, uInsBytes[i]); + } + + return 2; +} + +/* DMAWFE (Wait For Event) : 0 ~ 31 */ +static int encodeDmaWaitForEvent(u8 * mcode_ptr, u8 uEventNum) +{ + u8 uInsBytes[2]; + u32 i; + + if(uEventNum > PL330_MAX_EVENT_NUM) { + print_warning("[%s] The uEventNum number is too big ! : %d\n", __FUNCTION__, uEventNum); + return 0; + } + + uInsBytes[0] = (u8)(0x36); + uInsBytes[1] = (u8)((uEventNum<<3)|0x2); /* for cache coherency, invalid is issued. */ + + for(i=0; i<2; i++) + { + memOutp8(mcode_ptr+i, uInsBytes[i]); + } + + return 2; +} + +/* DMAFLUSHP (Flush and notify Peripheral) */ +static int encodeDmaFlushPeri(u8 * mcode_ptr, u8 mPeriNum) +{ + u8 uInsBytes[2]; + u32 i; + + if(mPeriNum > PL330_MAX_PERIPHERAL_NUM) { + print_warning("[%s] The peripheral number is too big ! : %d\n", __FUNCTION__, mPeriNum); + return 0; + } + + uInsBytes[0] = (u8)(0x35); + uInsBytes[1] = (u8)(0x00|((mPeriNum&0x1f)<<3)); + + for(i=0; i<2; i++) + { + memOutp8(mcode_ptr+i, uInsBytes[i]); + } + + return 2; +} + +/* DMAEND */ +static int encodeDmaEnd(u8 * mcode_ptr) +{ + memOutp8(mcode_ptr, 0x00); + + return 1; +} + +/* DMAADDH (Add Halfword) */ +static int encodeDmaAddHalfword(u8 * mcode_ptr, bool bSrcDir, u16 uStAddr) +{ + u8 uDir = (bSrcDir) ? 0 : 1; /* src addr=0, dst addr=1 */ + u8 uInsBytes[3]; + u32 i; + + uInsBytes[0] = (u8)(0x54|(uDir<<1)); + uInsBytes[1] = (u8)((uStAddr>>0)&0xff); + uInsBytes[2] = (u8)((uStAddr>>8)&0xff); + + for(i=0; i<3; i++) + { + memOutp8(mcode_ptr+i, uInsBytes[i]); + } + + return 3; +} + +/* DMAKILL (Kill) */ +static int encodeDmaKill(u8 * mcode_ptr) +{ + u8 uInsBytes[1]; + u32 i; + uInsBytes[0] = (u8)(0x01); + + for(i=0; i<1; i++) + { + memOutp8(mcode_ptr+i, uInsBytes[i]); + } + + return 1; +} + +/* DMANOP (No operation) */ +static int encodeDmaNop(u8 * mcode_ptr) +{ + u8 uInsBytes[1]; + u32 i; + uInsBytes[0] = (u8)(0x18); + + for(i=0; i<1; i++) + { + memOutp8(mcode_ptr+i, uInsBytes[i]); + } + + return 1; +} + + +/* DMARMB (Read Memory Barrier) */ +static int encodeDmaReadMemBarrier(u8 * mcode_ptr) +{ + u8 uInsBytes[1]; + u32 i; + uInsBytes[0] = (u8)(0x12); + + for(i=0; i<1; i++) + { + memOutp8(mcode_ptr+i, uInsBytes[i]); + } + + return 1; +} + +/* DMASEV (Send Event) : 0 ~ 31 */ +static int encodeDmaSendEvent(u8 * mcode_ptr, u8 uEventNum) +{ + u8 uInsBytes[2]; + u32 i; + uInsBytes[0] = (u8)(0x34); + uInsBytes[1] = (u8)((uEventNum<<3)|0x0); + + if(uEventNum > PL330_MAX_EVENT_NUM) { + print_warning("[%s] Event number is too big ! : %d\n", __FUNCTION__, uEventNum); + return 0; + } + + for(i=0; i<2; i++) + { + memOutp8(mcode_ptr + i, uInsBytes[i]); + } + + return 2; +} + + +/* DMAWMB (Write Memory Barrier) */ +static int encodeDmaWriteMemBarrier(u8 * mcode_ptr) +{ + u8 uInsBytes[1]; + u32 i; + uInsBytes[0] = (u8)(0x13); + + for(i=0; i<1; i++) + { + memOutp8(mcode_ptr + i, uInsBytes[i]); + } + + return 1; +} + +/* DMAGO over DBGINST[0:1] registers */ +static void encodeDmaGoOverDBGINST(u32 * mcode_ptr, u8 chanNum, u32 mbufAddr, u8 m_secureBit) +{ + u32 x; + u8 uDmaGo; /* DMAGO instruction */ + + if(chanNum > PL330_MAX_CHANNEL_NUM) { + print_warning("[%s] Channel number is too big ! : %d\n", __FUNCTION__, chanNum); + return; + } + + do + { + x = Inp32(mcode_ptr+DMA_DBGSTATUS); + } while ((x&0x1)==0x1); + + uDmaGo = (m_secureBit==0) ? + (0xa0|(0<<1)) : /* secure mode : M2M DMA only */ + (0xa0|(1<<1)); /* non-secure mode : M2P/P2M DMA only */ + + Outp32(mcode_ptr+DMA_DBGINST0, (chanNum<<24)|(uDmaGo<<16)|(chanNum<<8)|(0<<0)); + Outp32(mcode_ptr+DMA_DBGINST1, mbufAddr); + Outp32(mcode_ptr+DMA_DBGCMD, 0); /* 0 : execute the instruction that the DBGINST0,1 registers contain */ + +} + +/* DMAKILL over DBGINST[0:1] registers - Stop a DMA channel */ +static void encodeDmaKillChannelOverDBGINST(u32 * mcode_ptr, u8 chanNum) +{ + u32 x; + + if(chanNum > PL330_MAX_CHANNEL_NUM) { + print_warning("[%s] Channel number is too big ! : %d\n", __FUNCTION__, chanNum); + return; + } + + do + { + x = Inp32(mcode_ptr+DMA_DBGSTATUS); + } while ((x&0x1)==0x1); + + Outp32(mcode_ptr+DMA_DBGINST0, (0<<24)|(1<<16)|(chanNum<<8)|(1<<0)); /* issue instruction by channel thread */ + Outp32(mcode_ptr+DMA_DBGINST1, 0); + Outp32(mcode_ptr+DMA_DBGCMD, 0); /* 0 : execute the instruction that the DBGINST0,1 registers contain */ + + do + { + x = Inp32(mcode_ptr+DMA_DBGSTATUS); + } while ((x&0x1)==0x1); +} + +/* DMAKILL over DBGINST[0:1] registers - Stop a DMA controller (stop all of the channels) */ +static void encodeDmaKillDMACOverDBGINST(u32 * mcode_ptr) +{ + u32 x; + + do + { + x = Inp32(mcode_ptr+DMA_DBGSTATUS); + } while ((x&0x1)==0x1); + + Outp32(mcode_ptr+DMA_DBGINST0, (0<<24)|(1<<16)|(0<<8)|(0<<0)); /* issue instruction by manager thread */ + Outp32(mcode_ptr+DMA_DBGINST1, 0); + Outp32(mcode_ptr+DMA_DBGCMD, 0); /* 0 : execute the instruction that the DBGINST0,1 registers contain */ + + do + { + x = Inp32(mcode_ptr+DMA_DBGSTATUS); + } while ((x&0x1)==0x1); +} + +/*----------------------------------------------------------*/ +/* Wrapper functions */ +/*----------------------------------------------------------*/ + +/* config_DMA_Go_command + * - make DMA GO command into the Debug Instruction register 0/1 + * + * mcode_ptr the buffer for PL330 DMAGO micro code to be stored into + * chanNum the DMA channel number to be started + * mbufAddr the start address of the buffer containing PL330 DMA micro codes + */ +static void config_DMA_GO_command(u32 * mcode_ptr, int chanNum, u32 mbufAddr, int secureMode) +{ + dma_debug("%s entered - channel Num=%d\n", __FUNCTION__, chanNum); + dma_debug("mcode_ptr=0x%p, mbufAddr=0x%x, secureMode=%d\n\n", mcode_ptr, mbufAddr, secureMode); + encodeDmaGoOverDBGINST(mcode_ptr, (u8)chanNum, mbufAddr, (u8)secureMode); +} + +/* config_DMA_stop_channel + * - stop the DMA channel working on + * mcode_ptr the buffer for PL330 DMAKILL micro code to be stored into + * chanNum the DMA channel number to be stopped + */ +static void config_DMA_stop_channel(u32 * mcode_ptr, int chanNum) +{ + dma_debug("%s entered - channel Num=%d\n", __FUNCTION__, chanNum); + encodeDmaKillChannelOverDBGINST(mcode_ptr, (u8)chanNum); +} + +/* config_DMA_stop_controller + * - stop the DMA controller + * mcode_ptr the buffer for PL330 DMAKILL micro code to be stored into + */ +static void config_DMA_stop_controller(u32 * mcode_ptr) +{ + dma_debug("%s entered - mcode_ptr=0x%p\n", __FUNCTION__, mcode_ptr); + encodeDmaKillDMACOverDBGINST(mcode_ptr); +} + + +/* config_DMA_start_address + * - set the DMA start address + * + * mcode_ptr the pointer to the buffer for PL330 DMAMOVE micro code to be stored into + * uStAddr the DMA start address + */ +static int config_DMA_start_address(u8 * mcode_ptr, int uStAddr) +{ + dma_debug("%s entered - start addr=0x%x\n", __FUNCTION__, uStAddr); + return encodeDmaMove(mcode_ptr, 0, (u32)uStAddr); +} + + +/* config_DMA_destination_address + * - set the DMA destination address + * + * mcode_ptr the pointer to the buffer for PL330 DMAMOVE micro code to be stored into + * uStAddr the DMA destination address + */ +static int config_DMA_destination_address(u8 * mcode_ptr, int uStAddr) +{ + dma_debug("%s entered - destination addr=0x%x\n", __FUNCTION__, uStAddr); + return encodeDmaMove(mcode_ptr, 2, (u32)uStAddr); +} + + +/* config_DMA_control + * - set the burst length, burst size, source and destination increment/fixed field + * + * mcode_ptr the pointer to the buffer for PL330 DMAMOVE micro code to be stored into + * dmacon the value for the DMA channel control register + */ +static int config_DMA_control(u8 * mcode_ptr, pl330_DMA_control_t dmacon) +{ + dma_debug("%s entered - dmacon : 0x%p\n", __FUNCTION__, &dmacon); + return encodeDmaMoveChCtrl(mcode_ptr, *(u32 *)&dmacon); +} + + +/* config_DMA_transfer_remainder + * - set the transfer size of the remainder + * + * mcode_ptr the pointer to the buffer for PL330 DMA micro code to be stored into + * lcRemainder the remainder except for the LC-aligned transfers + * dma_param the parameter set for a DMA operation + */ +static int config_DMA_transfer_remainder(u8 * mcode_ptr, int lcRemainder, pl330_DMA_parameters_t dma_param) +{ + int mcode_size = 0, msize = 0; + int lc0 = 0, lcSize = 0, mLoopStart0 = 0, dmaSent = 0; + + dma_debug("%s entered - lcRemainder=%d\n", __FUNCTION__, lcRemainder); + + dmaSent = dma_param.mTrSize - lcRemainder; + + msize = config_DMA_start_address(mcode_ptr+mcode_size, dma_param.mSrcAddr+dmaSent); + mcode_size+= msize; + + msize = config_DMA_destination_address(mcode_ptr+mcode_size, dma_param.mDstAddr+dmaSent); + mcode_size+= msize; + + dma_param.mControl.uSBSize = 0x2; /* 4 bytes */ + dma_param.mControl.uSBLength = 0x0; /* 1 transfer */ + dma_param.mControl.uDBSize = 0x2; /* 4 bytes */ + dma_param.mControl.uDBLength = 0x0; /* 1 transfer */ + + msize = config_DMA_control(mcode_ptr+mcode_size, dma_param.mControl); + mcode_size+= msize; + + lcSize = (dma_param.mControl.uSBLength+1)*(1< (8*1024*1024)) { + print_warning("[%s] The chunk size is too big !: %lu\n", __FUNCTION__, dma_param.mTrSize); + return 0; + } + break; + + case PL330_M2P_DMA: + case PL330_P2M_DMA: + if(dma_param.mTrSize > (2*1024*1024)) { + print_warning("[%s] The chunk size is too big !: %lu\n", __FUNCTION__, dma_param.mTrSize); + return 0; + } + break; + + case PL330_P2P_DMA: + print_warning("[%s] P2P DMA selected !\n", __FUNCTION__); + break; + + default: + print_warning("[%s] Invaild DMA direction entered !\n", __FUNCTION__); + break; + } + + lcSize = (dma_param.mControl.uSBLength+1)*(1< PL330_MAX_ITERATION_NUM) { + lc1 = lc0/PL330_MAX_ITERATION_NUM; + dma_debug(" Inner loop : lc1=%d\n", lc1); + + if(lc1 <= PL330_MAX_ITERATION_NUM) { + msize = encodeDmaLoop(mcode_ptr+mcode_size, 1, lc1-1); + mcode_size+= msize; + mLoopStart1 = mcode_size; + + msize = encodeDmaLoop(mcode_ptr+mcode_size, 0, PL330_MAX_ITERATION_NUM-1); + mcode_size+= msize; + mLoopStart0 = mcode_size; + + switch(dma_param.mDirection) { + case PL330_M2M_DMA: + msize = encodeDmaLoad(mcode_ptr+mcode_size); + mcode_size+= msize; + msize = encodeDmaReadMemBarrier(mcode_ptr+mcode_size); + mcode_size+= msize; + msize = encodeDmaStore(mcode_ptr+mcode_size); + mcode_size+= msize; + break; + + case PL330_M2P_DMA: + msize = encodeDmaWaitForPeri(mcode_ptr+mcode_size, (u8)dma_param.mPeriNum); + mcode_size+= msize; + msize = encodeDmaLoad(mcode_ptr+mcode_size); + mcode_size+= msize; + msize = encodeDmaStorePeri(mcode_ptr+mcode_size, (u8)dma_param.mPeriNum); + mcode_size+= msize; + msize = encodeDmaFlushPeri(mcode_ptr+mcode_size, (u8)dma_param.mPeriNum); + mcode_size+= msize; + break; + + case PL330_P2M_DMA: + msize = encodeDmaWaitForPeri(mcode_ptr+mcode_size, (u8)dma_param.mPeriNum); + mcode_size+= msize; + msize = encodeDmaLoadPeri(mcode_ptr+mcode_size, (u8)dma_param.mPeriNum); + mcode_size+= msize; + msize = encodeDmaStore(mcode_ptr+mcode_size); + mcode_size+= msize; + msize = encodeDmaFlushPeri(mcode_ptr+mcode_size, (u8)dma_param.mPeriNum); + mcode_size+= msize; + break; + + case PL330_P2P_DMA: + print_warning("[%s] P2P DMA selected !\n", __FUNCTION__); + break; + + default: + print_warning("[%s] Invaild DMA direction selected !\n", __FUNCTION__); + break; + } + + msize = encodeDmaLoopEnd(mcode_ptr+mcode_size, 0, (u8)(mcode_size-mLoopStart0)); + mcode_size+= msize; + + msize = encodeDmaLoopEnd(mcode_ptr+mcode_size, 1, (u8)(mcode_size-mLoopStart1)); + mcode_size+= msize; + + lc0 = lc0 - (lc1*PL330_MAX_ITERATION_NUM); + } + else { + print_warning("[%s] The transfer size is over the limit (lc1=%d)\n", __FUNCTION__, lc1); + } + } + + if(lc0 > 0) { + dma_debug("Single loop : lc0=%d\n", lc0); + msize = encodeDmaLoop(mcode_ptr+mcode_size, 0, lc0-1); + mcode_size+= msize; + mLoopStart0 = mcode_size; + + switch(dma_param.mDirection) { + case PL330_M2M_DMA: + msize = encodeDmaLoad(mcode_ptr+mcode_size); + mcode_size+= msize; + msize = encodeDmaStore(mcode_ptr+mcode_size); + mcode_size+= msize; + break; + + case PL330_M2P_DMA: + msize = encodeDmaWaitForPeri(mcode_ptr+mcode_size, (u8)dma_param.mPeriNum); + mcode_size+= msize; + msize = encodeDmaLoad(mcode_ptr+mcode_size); + mcode_size+= msize; + msize = encodeDmaStorePeri(mcode_ptr+mcode_size, (u8)dma_param.mPeriNum); + mcode_size+= msize; + msize = encodeDmaFlushPeri(mcode_ptr+mcode_size, (u8)dma_param.mPeriNum); + mcode_size+= msize; + break; + + case PL330_P2M_DMA: + msize = encodeDmaWaitForPeri(mcode_ptr+mcode_size, (u8)dma_param.mPeriNum); + mcode_size+= msize; + msize = encodeDmaLoadPeri(mcode_ptr+mcode_size, (u8)dma_param.mPeriNum); + mcode_size+= msize; + msize = encodeDmaStore(mcode_ptr+mcode_size); + mcode_size+= msize; + msize = encodeDmaFlushPeri(mcode_ptr+mcode_size, (u8)dma_param.mPeriNum); + mcode_size+= msize; + break; + + case PL330_P2P_DMA: + print_warning("[%s] P2P DMA selected !\n", __FUNCTION__); + break; + + default: + break; + } + + msize = encodeDmaLoopEnd(mcode_ptr+mcode_size, 0, (u8)(mcode_size-mLoopStart0)); + mcode_size+= msize; + } + + if(lcRemainder !=0) { + msize = config_DMA_transfer_remainder(mcode_ptr+mcode_size, lcRemainder, dma_param); + mcode_size += msize; + } + + return mcode_size; +} + + +/* config_DMA_transfer_size_for_oneNAND + * - set the transfer size + * + * mcode_ptr the pointer to the buffer for PL330 DMA micro code to be stored into + * dma_param the parameter set for a DMA operation + */ +#define ONENAND_PAGE_SIZE 2048 +#define ONENAND_OOB_SIZE 64 +#define ONENAND_PAGE_WITH_OOB (ONENAND_PAGE_SIZE+ONENAND_OOB_SIZE) +#define MAX_ONENAND_PAGE_CNT 64 + +static int config_DMA_transfer_size_for_oneNAND(u8 * mcode_ptr, pl330_DMA_parameters_t dma_param) +{ + int i = 0, pageCnt =0; + int mcode_size = 0, msize = 0; + int lc0 = 0, lcSize = 0; + int mLoopStart = 0; + + dma_debug("%s entered\n", __FUNCTION__); + + if(dma_param.mTrSize > (MAX_ONENAND_PAGE_CNT*ONENAND_PAGE_WITH_OOB)) { + print_warning("[%s] The chunk size is too big !: %lu\n", __FUNCTION__, dma_param.mTrSize); + return 0; + } + + /* Buffer address on SDRAM */ + switch(dma_param.mDirection) { + case PL330_M2P_DMA: /* Write into oneNAND */ + msize = config_DMA_start_address(mcode_ptr+mcode_size, dma_param.mSrcAddr); + mcode_size+= msize; + break; + + case PL330_P2M_DMA: /* Read from oneNAND */ + msize = config_DMA_destination_address(mcode_ptr+mcode_size, dma_param.mDstAddr); + mcode_size+= msize; + break; + + case PL330_P2P_DMA: + case PL330_M2M_DMA: + default: + print_warning("[%s] Invaild DMA direction selected !\n", __FUNCTION__); + break; + } + + lcSize = (dma_param.mControl.uSBLength+1)*(1< +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include + +#include +#include +#include +#include + +#include "dma-pl330-mcode.h" + +#undef pr_debug +//#define dma_dbg + +#ifdef dma_dbg +#define pr_debug(fmt...) printk( fmt) +#else +#define pr_debug(fmt...) +#endif + +/* io map for dma */ +static void __iomem *dma_base; +static struct kmem_cache *dma_kmem; + +static int dma_channels; +struct s3c_dma_selection dma_sel; +static struct s3c2410_dma_chan *dma_chan_map[DMACH_MAX]; + +/* dma channel state information */ +struct s3c2410_dma_chan s3c_dma_chans[S3C_DMA_CHANNELS]; +s3c_dma_controller_t s3c_dma_cntlrs[S3C_DMA_CONTROLLERS]; + +#define SIZE_OF_MICRO_CODES 512 +#define PL330_NON_SECURE_DMA 1 +#define PL330_SECURE_DMA 0 + +#define BUF_MAGIC (0xcafebabe) + +#define dmawarn(fmt...) printk(KERN_DEBUG fmt) + +#define dma_regaddr(dcon, reg) ((dcon)->regs + (reg)) +#define dma_wrreg(dcon, reg, val) writel((val), (dcon)->regs + (reg)) +#define dma_rdreg(dcon, reg) readl((dcon)->regs + (reg)) + +#define dbg_showregs(chan) do { } while(0) +#define dbg_showchan(chan) do { } while(0) + +void s3c_dma_dump(int dcon_num, int channel) +{ + unsigned long tmp; + s3c_dma_controller_t *dma_controller = &s3c_dma_cntlrs[dcon_num]; + + tmp = dma_rdreg(dma_controller, S3C_DMAC_DS); + printk("%d dcon_num %d chnnel : DMA status %lx\n", dcon_num, channel, tmp); + + tmp = dma_rdreg(dma_controller, S3C_DMAC_DPC); + printk("%d dcon_num %d chnnel : DMA program counter %lx\n", dcon_num, channel, tmp); + + tmp = dma_rdreg(dma_controller, S3C_DMAC_INTEN); + printk("%d dcon_num %d chnnel : INT enable %lx\n", dcon_num, channel, tmp); + + tmp = dma_rdreg(dma_controller, S3C_DMAC_ES); + printk("%d dcon_num %d chnnel : Event status %lx\n", dcon_num, channel, tmp); + + tmp = dma_rdreg(dma_controller, S3C_DMAC_INTSTATUS); + printk("%d dcon_num %d chnnel : INT status %lx\n", dcon_num, channel, tmp); + + tmp = dma_rdreg(dma_controller, S3C_DMAC_FSC); + printk("%d dcon_num %d chnnel : Fault status %lx\n", dcon_num, channel, tmp); + + tmp = dma_rdreg(dma_controller, S3C_DMAC_FTC(channel)); + printk("%d dcon_num %d chnnel : Fault type %lx\n", dcon_num, channel, tmp); + + tmp = dma_rdreg(dma_controller, S3C_DMAC_CS(channel)); + printk("%d dcon_num %d chnnel : Channel status %lx\n", dcon_num, channel, tmp); + + tmp = dma_rdreg(dma_controller, S3C_DMAC_CPC(channel)); + printk("%d dcon_num %d chnnel : Channel program counter %lx\n", dcon_num, channel, tmp); + + tmp = dma_rdreg(dma_controller, S3C_DMAC_SA(channel)); + printk("%d dcon_num %d chnnel : Source address %lx\n", dcon_num, channel, tmp); + + tmp = dma_rdreg(dma_controller, S3C_DMAC_DA(channel)); + printk("%d dcon_num %d chnnel : Destination address %lx\n", dcon_num, channel, tmp); +} + + +/* lookup_dma_channel + * + * change the dma channel number given into a real dma channel id + */ + +static struct s3c2410_dma_chan *lookup_dma_channel(unsigned int channel) +{ + if (channel & DMACH_LOW_LEVEL) + return &s3c_dma_chans[channel & ~DMACH_LOW_LEVEL]; + else + return dma_chan_map[channel]; +} + +/* s3c_dma_stats_timeout + * + * Update DMA stats from timeout info + */ +static void s3c_dma_stats_timeout(struct s3c_dma_stats * stats, int val) +{ + if (stats == NULL) + return; + + if (val > stats->timeout_longest) + stats->timeout_longest = val; + if (val < stats->timeout_shortest) + stats->timeout_shortest = val; + + stats->timeout_avg += val; +} + +void s3c_enable_dmac(unsigned int dcon_num) +{ + s3c_dma_controller_t *dma_controller = &s3c_dma_cntlrs[dcon_num]; + + start_DMA_controller(dma_regaddr(dma_controller, S3C_DMAC_DBGSTATUS)); +} + +void s3c_disable_dmac(unsigned int dcon_num) +{ + s3c_dma_controller_t *dma_controller = &s3c_dma_cntlrs[dcon_num]; + + stop_DMA_controller(dma_regaddr(dma_controller, S3C_DMAC_DBGSTATUS)); +} + +void s3c_clear_interrupts (int dcon_num, int channel) +{ + unsigned long tmp; + s3c_dma_controller_t *dma_controller = &s3c_dma_cntlrs[dcon_num]; + + tmp = dma_rdreg(dma_controller, S3C_DMAC_INTCLR); + tmp |= (1 << channel); + dma_wrreg(dma_controller, S3C_DMAC_INTCLR, tmp); +} + +/* s3c_dma_waitforload + * + * wait for the DMA engine to load a buffer, and update the state accordingly + */ +static int s3c_dma_waitforload(struct s3c2410_dma_chan *chan, int line) +{ + int timeout = chan->load_timeout; + int took; + + pr_debug("%s channel number : %d\n", __FUNCTION__, chan->number); + + if (chan->load_state != S3C_DMALOAD_1LOADED) { + printk(KERN_ERR + "dma CH %d: s3c_dma_waitforload() called in loadstate %d from line %d\n", + chan->number, chan->load_state, line); + return 0; + } + + if (chan->stats != NULL) + chan->stats->loads++; + + while (--timeout > 0) { + //if ((dma_rdreg(chan->dma_con, S3C_DMAC_CS(chan->number))) & S3C_DMAC_CS_EXECUTING) { + took = chan->load_timeout - timeout; + s3c_dma_stats_timeout(chan->stats, took); + + switch (chan->load_state) { + case S3C_DMALOAD_1LOADED: + chan->load_state = S3C_DMALOAD_1RUNNING; + break; + + default: + printk(KERN_ERR + "dma CH %d: unknown load_state in s3c_dma_waitforload() %d\n", + chan->number, chan->load_state); + } + return 1; + //} + } + + if (chan->stats != NULL) { + chan->stats->timeout_failed++; + } + + return 0; +} + + +/* s3c_dma_loadbuffer + * + * load a buffer, and update the channel state + */ +static inline int s3c_dma_loadbuffer(struct s3c2410_dma_chan *chan, + struct s3c_dma_buf *buf) +{ + unsigned long tmp; + pl330_DMA_parameters_t dma_param; + struct s3c_dma_buf *firstbuf; + int bwJump = 0; + + memset(&dma_param, 0, sizeof(pl330_DMA_parameters_t)); + pr_debug("s3c_chan_loadbuffer: loading buffer %p (0x%08lx,0x%06x)\n", + buf, (unsigned long) buf->data, buf->size); + + if (buf == NULL) { + dmawarn("buffer is NULL\n"); + return -EINVAL; + } + + pr_debug("%s: DMA CCR - %08x\n", __FUNCTION__, chan->dcon); + pr_debug("%s: DMA Loop count - %08x\n", __FUNCTION__, (buf->size / chan->xfer_unit)); + + firstbuf = buf; + + do { + dma_param.mPeriNum = chan->config_flags; + dma_param.mDirection = chan->source; + + switch (dma_param.mDirection) { + case S3C2410_DMASRC_MEM: /* source is Memory : Mem-to-Peri (Write into FIFO) */ + dma_param.mSrcAddr = buf->data; + dma_param.mDstAddr = chan->dev_addr; + break; + + case S3C2410_DMASRC_HW: /* source is peripheral : Peri-to-Mem (Read from FIFO) */ + dma_param.mSrcAddr = chan->dev_addr; + dma_param.mDstAddr = buf->data; + break; + + case S3C_DMA_MEM2MEM: /* source & Destination : Mem-to-Mem */ + dma_param.mSrcAddr = chan->dev_addr; + dma_param.mDstAddr = buf->data; + break; + + case S3C_DMA_MEM2MEM_SET: /* source & Destination : Mem-to-Mem */ + dma_param.mDirection = S3C_DMA_MEM2MEM; + dma_param.mSrcAddr = chan->dev_addr; + dma_param.mDstAddr = buf->data; + break; + + case S3C_DMA_PER2PER: + default: + printk("Peripheral-to-Peripheral DMA NOT YET implemented !! \n"); + return -EINVAL; + } + + dma_param.mTrSize = buf->size; + + dma_param.mLoop = 0; + dma_param.mControl = *(pl330_DMA_control_t *) &chan->dcon; + + chan->next = buf->next; + buf = chan->next; + + if(buf==NULL) { + firstbuf->next = NULL; + dma_param.mLastReq = 1; + dma_param.mIrqEnable = 1; + } + else { + dma_param.mLastReq = 0; + dma_param.mIrqEnable = 0; + } + + bwJump += setup_DMA_channel(((u8 *)firstbuf->mcptr_cpu)+bwJump, dma_param, chan->number); + pr_debug("%s: DMA bwJump - %d\n", __FUNCTION__, bwJump); + + }while(buf != NULL); + + if(dma_param.mIrqEnable) { + tmp = dma_rdreg(chan->dma_con, S3C_DMAC_INTEN); + tmp |= (1 << chan->number); + dma_wrreg(chan->dma_con, S3C_DMAC_INTEN, tmp); + } + + /* update the state of the channel */ + + switch (chan->load_state) { + case S3C_DMALOAD_NONE: + chan->load_state = S3C_DMALOAD_1LOADED; + break; + + case S3C_DMALOAD_1RUNNING: + chan->load_state = S3C_DMALOAD_1LOADED_1RUNNING; + break; + + default: + dmawarn("dmaload: unknown state %d in loadbuffer\n", chan->load_state); + break; + } + + return 0; +} + + +/* s3c_dma_call_op + * + * small routine to call the o routine with the given op if it has been + * registered + */ +static void s3c_dma_call_op(struct s3c2410_dma_chan * chan, enum s3c_chan_op op) +{ + if (chan->op_fn != NULL) { + (chan->op_fn) (chan, op); + } +} + +/* s3c_dma_buffdone + * + * small wrapper to check if callback routine needs to be called, and + * if so, call it + */ +static inline void s3c_dma_buffdone(struct s3c2410_dma_chan * chan, + struct s3c_dma_buf * buf, + enum s3c2410_dma_buffresult result) +{ + pr_debug("callback_fn will be called=%p, buf=%p, id=%p, size=%d, result=%d\n", + chan->callback_fn, buf, buf->id, buf->size, result); + + if (chan->callback_fn != NULL) { + (chan->callback_fn) (chan, buf->id, buf->size, result); + } +} + +/* s3c_dma_start + * + * start a dma channel going + */ +static int s3c_dma_start(struct s3c2410_dma_chan *chan) +{ + unsigned long flags; + + pr_debug("s3c_start_dma: channel number=%d, index=%d\n", chan->number, chan->index); + + local_irq_save(flags); + + if (chan->state == S3C_DMA_RUNNING) { + pr_debug("s3c_start_dma: already running (%d)\n", chan->state); + local_irq_restore(flags); + return 0; + } + + chan->state = S3C_DMA_RUNNING; + + /* check wether there is anything to load, and if not, see + * if we can find anything to load + */ + + if (chan->load_state == S3C_DMALOAD_NONE) { + if (chan->next == NULL) { + printk(KERN_ERR "dma CH %d: dcon_num has nothing loaded\n", chan->number); + chan->state = S3C_DMA_IDLE; + local_irq_restore(flags); + return -EINVAL; + } + s3c_dma_loadbuffer(chan, chan->next); + } + + dbg_showchan(chan); + + /* enable the channel */ + + if (!chan->irq_enabled) { + enable_irq(chan->irq); + chan->irq_enabled = 1; + } + + start_DMA_channel(dma_regaddr(chan->dma_con, S3C_DMAC_DBGSTATUS), chan->number, + chan->curr->mcptr, PL330_NON_SECURE_DMA); + + /* Start the DMA operation on Peripheral */ + s3c_dma_call_op(chan, S3C2410_DMAOP_START); + + dbg_showchan(chan); + + local_irq_restore(flags); + return 0; +} + + +/* s3c_dma_canload + * + * work out if we can queue another buffer into the DMA engine + */ + + +static int s3c_dma_canload(struct s3c2410_dma_chan * chan) +{ + if (chan->load_state == S3C_DMALOAD_NONE || chan->load_state == S3C_DMALOAD_1RUNNING) + return 1; + + return 0; +} + + + +/* s3c2410_dma_enqueue + * + * queue an given buffer for dma transfer. + * + * id the device driver's id information for this buffer + * data the physical address of the buffer data + * size the size of the buffer in bytes + * + * If the channel is not running, then the flag S3C2410_DMAF_AUTOSTART + * is checked, and if set, the channel is started. If this flag isn't set, + * then an error will be returned. + * + * It is possible to queue more than one DMA buffer onto a channel at + * once, and the code will deal with the re-loading of the next buffer + * when necessary. + */ +int s3c2410_dma_enqueue(unsigned int channel, void *id, + dma_addr_t data, int size) +{ + struct s3c2410_dma_chan *chan = lookup_dma_channel(channel); + struct s3c_dma_buf *buf; + unsigned long flags; + + pr_debug("%s: id=%p, data=%08x, size=%d\n", __FUNCTION__, id, (unsigned int) data, size); + + buf = kmem_cache_alloc(dma_kmem, GFP_ATOMIC); + if (buf == NULL) { + printk(KERN_ERR "dma <%d> no memory for buffer\n", channel); + return -ENOMEM; + } + + pr_debug("%s: new buffer %p\n", __FUNCTION__, buf); + + buf->next = NULL; + buf->data = buf->ptr = data; + buf->size = size; + buf->id = id; + buf->magic = BUF_MAGIC; + + local_irq_save(flags); + + buf->mcptr_cpu = dma_alloc_coherent(NULL, SIZE_OF_MICRO_CODES, &buf->mcptr, GFP_ATOMIC); + + if (buf->mcptr_cpu == NULL) { + printk(KERN_ERR "%s: failed to allocate memory for micro codes\n", __FUNCTION__); + return -ENOMEM; + } + + if (chan->curr == NULL) { + /* we've got nothing loaded... */ + pr_debug("%s: buffer %p queued onto empty channel\n", __FUNCTION__, buf); + + chan->curr = buf; + chan->end = buf; + chan->next = NULL; + } else { + pr_debug("dma CH %d: %s: buffer %p queued onto non-empty channel\n", + chan->number, __FUNCTION__, buf); + + if (chan->end == NULL) /* In case of flushing */ + pr_debug("dma CH %d: %s: %p not empty, and chan->end==NULL?\n", + chan->number, __FUNCTION__, chan); + else { + chan->end->next = buf; + chan->end = buf; + } + } + + /* if necessary, update the next buffer field */ + if (chan->next == NULL) + chan->next = buf; + + /* check to see if we can load a buffer */ + if (chan->state == S3C_DMA_RUNNING) { + if (chan->load_state == S3C_DMALOAD_1LOADED && 1) { + if (s3c_dma_waitforload(chan, __LINE__) == 0) { + printk(KERN_ERR "dma CH %d: loadbuffer:" + "timeout loading buffer\n", chan->number); + dbg_showchan(chan); + local_irq_restore(flags); + return -EINVAL; + } + } + + } else if (chan->state == S3C_DMA_IDLE) { + if (chan->flags & S3C2410_DMAF_AUTOSTART) { + s3c2410_dma_ctrl(channel, S3C2410_DMAOP_START); + } else { + pr_debug("loading onto stopped channel\n"); + } + } + + local_irq_restore(flags); + return 0; +} +EXPORT_SYMBOL(s3c2410_dma_enqueue); + +static inline void s3c_dma_freebuf(struct s3c_dma_buf * buf) +{ + int magicok = (buf->magic == BUF_MAGIC); + + buf->magic = -1; + + if (magicok) { + local_irq_enable(); + dma_free_coherent(NULL, SIZE_OF_MICRO_CODES, buf->mcptr_cpu, buf->mcptr); + local_irq_disable(); + + kmem_cache_free(dma_kmem, buf); + } else { + printk("s3c_dma_freebuf: buff %p with bad magic\n", buf); + } +} + +/* s3c_dma_lastxfer + * + * called when the system is out of buffers, to ensure that the channel + * is prepared for shutdown. + */ +static inline void s3c_dma_lastxfer(struct s3c2410_dma_chan *chan) +{ + pr_debug("DMA CH %d: s3c_dma_lastxfer: load_state %d\n", chan->number, chan->load_state); + + switch (chan->load_state) { + case S3C_DMALOAD_NONE: + pr_debug("DMA CH %d: s3c_dma_lastxfer: load_state : S3C2410_DMALOAD_NONE %d\n", chan->number); + break; + + case S3C_DMALOAD_1LOADED: + if (s3c_dma_waitforload(chan, __LINE__) == 0) { + /* flag error? */ + printk(KERN_ERR "dma CH %d: timeout waiting for load\n", chan->number); + return; + } + break; + + default: + pr_debug("dma CH %d: lastxfer: unhandled load_state %d with no next", + chan->number, chan->load_state); + return; + + } + +} + + +#define dmadbg2(x...) + +static irqreturn_t s3c_dma_irq(int irq, void *devpw) +{ + unsigned int channel = 0, dcon_num, i; + unsigned long tmp; + s3c_dma_controller_t *dma_controller = (s3c_dma_controller_t *) devpw; + + struct s3c2410_dma_chan *chan=NULL; + struct s3c_dma_buf *buf; + + dcon_num = dma_controller->number; + tmp = dma_rdreg(dma_controller, S3C_DMAC_INTSTATUS); + pr_debug("# s3c_dma_irq: IRQ status : 0x%x\n", tmp); + + for (i = 0; i < S3C_CHANNELS_PER_DMA; i++) { + if (tmp & 0x01) { + + pr_debug("# DMAC %d: requestor %d\n", dcon_num, i); + + channel = i; + chan = &s3c_dma_chans[channel + dcon_num * S3C_CHANNELS_PER_DMA]; + pr_debug("# DMA CH:%d, index:%d load_state:%d\n", chan->number, chan->index, chan->load_state); + + buf = chan->curr; + + dbg_showchan(chan); + + /* modify the channel state */ + switch (chan->load_state) { + case S3C_DMALOAD_1RUNNING: + /* TODO - if we are running only one buffer, we probably + * want to reload here, and then worry about the buffer + * callback */ + + chan->load_state = S3C_DMALOAD_NONE; + break; + + case S3C_DMALOAD_1LOADED: + /* iirc, we should go back to NONE loaded here, we + * had a buffer, and it was never verified as being + * loaded. + */ + + chan->load_state = S3C_DMALOAD_NONE; + break; + + case S3C_DMALOAD_1LOADED_1RUNNING: + /* we'll worry about checking to see if another buffer is + * ready after we've called back the owner. This should + * ensure we do not wait around too long for the DMA + * engine to start the next transfer + */ + + chan->load_state = S3C_DMALOAD_1LOADED; + break; + + case S3C_DMALOAD_NONE: + printk(KERN_ERR "dma%d: IRQ with no loaded buffer?\n", + chan->number); + break; + + default: + printk(KERN_ERR "dma%d: IRQ in invalid load_state %d\n", + chan->number, chan->load_state); + break; + } + + if (buf != NULL) { + /* update the chain to make sure that if we load any more + * buffers when we call the callback function, things should + * work properly */ + + chan->curr = buf->next; + buf->next = NULL; + + if (buf->magic != BUF_MAGIC) { + printk(KERN_ERR "dma CH %d: %s: buf %p incorrect magic\n", + chan->number, __FUNCTION__, buf); + goto next_channel; + } + + s3c_dma_buffdone(chan, buf, S3C2410_RES_OK); + + /* free resouces */ + s3c_dma_freebuf(buf); + } else { + } + + /* only reload if the channel is still running... our buffer done + * routine may have altered the state by requesting the dma channel + * to stop or shutdown... */ + + if (chan->next != NULL && chan->state != S3C_DMA_IDLE) { + unsigned long flags; + + switch (chan->load_state) { + case S3C_DMALOAD_1RUNNING: + /* don't need to do anything for this state */ + break; + + case S3C_DMALOAD_NONE: + /* can load buffer immediately */ + break; + + case S3C_DMALOAD_1LOADED: + if (s3c_dma_waitforload(chan, __LINE__) == 0) { + /* flag error? */ + printk(KERN_ERR "dma CH %d: timeout waiting for load\n", + chan->number); + goto next_channel; + } + + break; + + case S3C_DMALOAD_1LOADED_1RUNNING: + goto next_channel; + + default: + printk(KERN_ERR "dma CH %d: unknown load_state in irq, %d\n", + chan->number, chan->load_state); + goto next_channel; + } + + local_irq_save(flags); + s3c_dma_loadbuffer(chan, chan->next); + start_DMA_channel(dma_regaddr(chan->dma_con, S3C_DMAC_DBGSTATUS), chan->number, + chan->curr->mcptr, PL330_NON_SECURE_DMA); + + local_irq_restore(flags); + + } else { + s3c_dma_lastxfer(chan); + + /* see if we can stop this channel.. */ + if (chan->load_state == S3C_DMALOAD_NONE) { + pr_debug("# DMA CH %d - (index:%d): end of transfer, stopping channel (%ld)\n", + chan->number, chan->index, jiffies); + s3c2410_dma_ctrl(chan->index | DMACH_LOW_LEVEL, S3C2410_DMAOP_STOP); + } + } + } + +next_channel: + tmp >>= 1; + + } + + s3c_clear_interrupts(chan->dma_con->number, chan->number); + + return IRQ_HANDLED; +} + +static struct s3c2410_dma_chan *s3c_dma_map_channel(int channel); + +/* s3c2410_dma_request + * + * get control of an dma channel +*/ + +int s3c2410_dma_request(unsigned int channel, + struct s3c2410_dma_client *client, + void *dev) +{ + struct s3c2410_dma_chan *chan; + unsigned long flags; + int err; + + pr_debug("DMA CH %d: s3c2410_request_dma: client=%s, dev=%p\n", + channel, client->name, dev); + + local_irq_save(flags); + + chan = s3c_dma_map_channel(channel); + if (chan == NULL) { + local_irq_restore(flags); + return -EBUSY; + } + + dbg_showchan(chan); + + chan->client = client; + chan->in_use = 1; + + chan->dma_con->in_use++; + + if (!chan->irq_claimed) { + pr_debug("DMA CH %d: %s : requesting irq %d\n", + channel, __FUNCTION__, chan->irq); + + chan->irq_claimed = 1; + local_irq_restore(flags); + + err = request_irq(chan->irq, s3c_dma_irq, IRQF_DISABLED, + client->name, (void *) chan->dma_con); + + local_irq_save(flags); + + if (err) { + chan->in_use = 0; + chan->irq_claimed = 0; + chan->dma_con->in_use--; + local_irq_restore(flags); + + printk(KERN_ERR "%s: cannot get IRQ %d for DMA %d\n", + client->name, chan->irq, chan->number); + return err; + } + + chan->irq_enabled = 1; + + /* enable the main dma.. this can be disabled + * when main channel use count is 0 */ + s3c_enable_dmac(chan->dma_con->number); + } + + s3c_clear_interrupts(chan->dma_con->number, chan->number); + local_irq_restore(flags); + + /* need to setup */ + + pr_debug("%s: channel initialised, %p, number:%d, index:%d\n", __FUNCTION__, chan, chan->number, chan->index); + + return 0; +} +EXPORT_SYMBOL(s3c2410_dma_request); + +/* s3c2410_dma_free + * + * release the given channel back to the system, will stop and flush + * any outstanding transfers, and ensure the channel is ready for the + * next claimant. + * + * Note, although a warning is currently printed if the freeing client + * info is not the same as the registrant's client info, the free is still + * allowed to go through. + */ +int s3c2410_dma_free(dmach_t channel, struct s3c2410_dma_client *client) +{ + unsigned long flags; + struct s3c2410_dma_chan *chan = lookup_dma_channel(channel); + pr_debug("%s: DMA channel %d will be stopped\n", __FUNCTION__, chan->number); + + if (chan == NULL) + return -EINVAL; + + local_irq_save(flags); + + if (chan->client != client) { + printk(KERN_WARNING + "DMA CH %d: possible free from different client (channel %p, passed %p)\n", + channel, chan->client, client); + } + + /* sort out stopping and freeing the channel */ + + if (chan->state != S3C_DMA_IDLE) { + pr_debug("%s: need to stop dma channel %p\n", __FUNCTION__, chan); + + /* possibly flush the channel */ + s3c2410_dma_ctrl(channel, S3C2410_DMAOP_STOP); + } + + chan->client = NULL; + chan->in_use = 0; + + chan->dma_con->in_use--; + + if (chan->irq_claimed) + free_irq(chan->irq, (void *)chan->dma_con); + + chan->irq_claimed = 0; + + if (!(channel & DMACH_LOW_LEVEL)) + dma_chan_map[channel] = NULL; + + local_irq_restore(flags); + + return 0; +} +EXPORT_SYMBOL(s3c2410_dma_free); + + +static int s3c_dma_dostop(struct s3c2410_dma_chan *chan) +{ + unsigned long flags; + + pr_debug("%s: DMA Channel No : %d\n", __FUNCTION__, chan->number); + + dbg_showchan(chan); + + local_irq_save(flags); + + s3c_dma_call_op(chan, S3C2410_DMAOP_STOP); + + stop_DMA_channel(dma_regaddr(chan->dma_con, S3C_DMAC_DBGSTATUS), chan->number); + + chan->state = S3C_DMA_IDLE; + chan->load_state = S3C_DMALOAD_NONE; + + local_irq_restore(flags); + + return 0; +} + +static void s3c_dma_showchan(struct s3c2410_dma_chan * chan) +{ + +} + +/* s3c_dma_flush + * + * stop the channel, and remove all current and pending transfers + */ + +void s3c_waitforstop(struct s3c2410_dma_chan *chan) +{ + +} + +static int s3c_dma_flush(struct s3c2410_dma_chan *chan) +{ + struct s3c_dma_buf *buf, *next; + unsigned long flags; + + pr_debug("%s:\n", __FUNCTION__); + + local_irq_save(flags); + + s3c_dma_showchan(chan); + + if (chan->state != S3C_DMA_IDLE) { + pr_debug("%s: stopping channel...\n", __FUNCTION__); + s3c2410_dma_ctrl(chan->number, S3C2410_DMAOP_STOP); + } + + buf = chan->curr; + if (buf == NULL) + buf = chan->next; + + chan->curr = chan->next = chan->end = NULL; + chan->load_state = S3C_DMALOAD_NONE; + + if (buf != NULL) { + for (; buf != NULL; buf = next) { + next = buf->next; + + pr_debug("%s: free buffer %p, next %p\n", __FUNCTION__, buf, buf->next); + + s3c_dma_buffdone(chan, buf, S3C2410_RES_ABORT); + s3c_dma_freebuf(buf); + } + } + //s3c_dma_waitforstop(chan); + + s3c_dma_showchan(chan); + local_irq_restore(flags); + + return 0; +} + +int s3c_dma_started(struct s3c2410_dma_chan *chan) +{ + unsigned long flags; + + local_irq_save(flags); + + dbg_showchan(chan); + + /* if we've only loaded one buffer onto the channel, then chec + * to see if we have another, and if so, try and load it so when + * the first buffer is finished, the new one will be loaded onto + * the channel */ + + if (chan->next != NULL) { + if (chan->load_state == S3C_DMALOAD_1LOADED) { + + if (s3c_dma_waitforload(chan, __LINE__) == 0) { + pr_debug("%s: buff not yet loaded, no more todo\n", + __FUNCTION__); + } else { + chan->load_state = S3C_DMALOAD_1RUNNING; + s3c_dma_loadbuffer(chan, chan->next); + } + + } else if (chan->load_state == S3C_DMALOAD_1RUNNING) { + s3c_dma_loadbuffer(chan, chan->next); + } + } + + local_irq_restore(flags); + + return 0; + +} + +int s3c2410_dma_ctrl(dmach_t channel, enum s3c_chan_op op) +{ + struct s3c2410_dma_chan *chan = lookup_dma_channel(channel); + + if (chan == NULL) + return -EINVAL; + + switch (op) { + case S3C2410_DMAOP_START: + return s3c_dma_start(chan); + + case S3C2410_DMAOP_STOP: + return s3c_dma_dostop(chan); + + case S3C2410_DMAOP_PAUSE: + case S3C2410_DMAOP_RESUME: + return -ENOENT; + + case S3C2410_DMAOP_FLUSH: + return s3c_dma_flush(chan); + + case S3C2410_DMAOP_STARTED: + return s3c_dma_started(chan); + + case S3C2410_DMAOP_TIMEOUT: + return 0; + + } + + printk("Invalid operation entered \n"); + return -ENOENT; /* unknown, don't bother */ +} +EXPORT_SYMBOL(s3c2410_dma_ctrl); + + +/* s3c2410_dma_config + * + * xfersize: size of unit in bytes (1,2,4) + * dcon: base value of the DCONx register + */ +int s3c2410_dma_config(dmach_t channel, + int xferunit, + int dcon) +{ + struct s3c2410_dma_chan *chan = lookup_dma_channel(channel); + + pr_debug("%s: chan=%d, xfer_unit=%d, dcon=%08x\n", + __FUNCTION__, channel, xferunit, dcon); + + if (chan == NULL) + return -EINVAL; + + pr_debug("%s: Initial dcon is %08x\n", __FUNCTION__, dcon); + + dcon |= chan->dcon & dma_sel.dcon_mask; + + pr_debug("%s: New dcon is %08x\n", __FUNCTION__, dcon); + + switch (xferunit) { + case 1: + dcon |= S3C_DMACONTROL_SRC_WIDTH_BYTE; + dcon |= S3C_DMACONTROL_DEST_WIDTH_BYTE; + break; + + case 2: + dcon |= S3C_DMACONTROL_SRC_WIDTH_HWORD; + dcon |= S3C_DMACONTROL_DEST_WIDTH_HWORD; + break; + + case 4: + dcon |= S3C_DMACONTROL_SRC_WIDTH_WORD; + dcon |= S3C_DMACONTROL_DEST_WIDTH_WORD; + break; + + case 8: + dcon |= S3C_DMACONTROL_SRC_WIDTH_DWORD; + dcon |= S3C_DMACONTROL_DEST_WIDTH_DWORD; + break; + + default: + printk("%s: Bad transfer size %d\n", __FUNCTION__, xferunit); + return -EINVAL; + } + + pr_debug("%s: DMA Channel control : %08x\n", __FUNCTION__, dcon); + + dcon |= chan->control_flags; + pr_debug("%s: dcon now %08x\n", __FUNCTION__, dcon); + + /* For DMCCxControl 0 */ + chan->dcon = dcon; + + /* For DMACCxControl 1 : xferunit means transfer width.*/ + chan->xfer_unit = xferunit; + + return 0; +} +EXPORT_SYMBOL(s3c2410_dma_config); + +int s3c2410_dma_setflags(dmach_t channel, unsigned int flags) +{ + struct s3c2410_dma_chan *chan = lookup_dma_channel(channel); + + if (chan == NULL) + return -EINVAL; + + pr_debug("%s: chan=%p, flags=%08x\n", __FUNCTION__, chan, flags); + + chan->flags = flags; + + return 0; +} +EXPORT_SYMBOL(s3c2410_dma_setflags); + + +/* do we need to protect the settings of the fields from + * irq? + */ + +int s3c2410_dma_set_opfn(dmach_t channel, s3c2410_dma_opfn_t rtn) +{ + struct s3c2410_dma_chan *chan = lookup_dma_channel(channel); + + if (chan == NULL) + return -EINVAL; + + pr_debug("%s: chan=%p, op rtn=%p\n", __FUNCTION__, chan, rtn); + + chan->op_fn = rtn; + + return 0; +} +EXPORT_SYMBOL(s3c2410_dma_set_opfn); + + +int s3c2410_dma_set_buffdone_fn(dmach_t channel, s3c2410_dma_cbfn_t rtn) +{ + struct s3c2410_dma_chan *chan = lookup_dma_channel(channel); + + if (chan == NULL) + return -EINVAL; + + pr_debug("%s: chan=%p, callback rtn=%p\n", __FUNCTION__, chan, rtn); + + chan->callback_fn = rtn; + + return 0; +} +EXPORT_SYMBOL(s3c2410_dma_set_buffdone_fn); + + +/* s3c2410_dma_devconfig + * + * configure the dma source/destination hardware type and address + * + * flowctrl: direction of dma flow + * + * src_per dst_per: dma channel number of src and dst periphreal, + * + * devaddr: physical address of the source + */ + +int s3c2410_dma_devconfig(int channel, + enum s3c2410_dmasrc source, + int hwcfg, + unsigned long devaddr) +{ + + struct s3c2410_dma_chan *chan = lookup_dma_channel(channel); + + if (chan == NULL) + return -EINVAL; + + pr_debug("%s: source=%d, hwcfg=%08x, devaddr=%08lx\n", + __FUNCTION__, (int)source, hwcfg, devaddr); + + chan->source = source; + chan->dev_addr = devaddr; + + switch (source) { + case S3C2410_DMASRC_MEM: + /* source is Memory : Mem-to-Peri ( Write into FIFO) */ + chan->config_flags = chan->map->hw_addr.to; + + hwcfg = S3C_DMACONTROL_DBSIZE(1)|S3C_DMACONTROL_SBSIZE(1); + chan->control_flags = S3C_DMACONTROL_DP_NON_SECURE|S3C_DMACONTROL_DEST_FIXED| + S3C_DMACONTROL_SP_NON_SECURE|S3C_DMACONTROL_SRC_INC| + hwcfg; + //chan->control_flags = hwcfg; + return 0; + + case S3C2410_DMASRC_HW: + /* source is peripheral : Peri-to-Mem ( Read from FIFO) */ + chan->config_flags = chan->map->hw_addr.from; + + hwcfg = S3C_DMACONTROL_DBSIZE(1)|S3C_DMACONTROL_SBSIZE(1); + chan->control_flags = S3C_DMACONTROL_DP_NON_SECURE|S3C_DMACONTROL_DEST_INC| + S3C_DMACONTROL_SP_NON_SECURE|S3C_DMACONTROL_SRC_FIXED| + hwcfg; + //chan->control_flags = hwcfg; + return 0; + + case S3C_DMA_MEM2MEM: + + chan->config_flags = 0; + + hwcfg = S3C_DMACONTROL_DBSIZE(16)|S3C_DMACONTROL_SBSIZE(16); + chan->control_flags = S3C_DMACONTROL_DP_NON_SECURE|S3C_DMACONTROL_DEST_INC| + S3C_DMACONTROL_SP_NON_SECURE|S3C_DMACONTROL_SRC_INC| + hwcfg; + //chan->control_flags = hwcfg; + return 0; + + case S3C_DMA_MEM2MEM_SET: + + chan->config_flags = 0; + + hwcfg = S3C_DMACONTROL_DBSIZE(16)|S3C_DMACONTROL_SBSIZE(16); + chan->control_flags = S3C_DMACONTROL_DP_NON_SECURE|S3C_DMACONTROL_DEST_INC| + S3C_DMACONTROL_SP_NON_SECURE|S3C_DMACONTROL_SRC_FIXED| + hwcfg; + //chan->control_flags = hwcfg; + return 0; + + + case S3C_DMA_PER2PER: + printk("Peripheral-to-Peripheral DMA NOT YET implemented !! \n"); + return -EINVAL; + + default: + printk(KERN_ERR "DMA CH :%d - invalid source type ()\n", channel); + printk("Unsupported DMA configuration from the device driver using DMA driver \n"); + return -EINVAL; + } + +} + +EXPORT_SYMBOL(s3c2410_dma_devconfig); + + +/* + * s3c2410_dma_getposition + * returns the current transfer points for the dma source and destination + */ +int s3c2410_dma_getposition(dmach_t channel, dma_addr_t *src, dma_addr_t *dst) +{ + struct s3c2410_dma_chan *chan = lookup_dma_channel(channel); + + if (chan == NULL) + return -EINVAL; + + if (src != NULL) + *src = dma_rdreg(chan->dma_con, S3C_DMAC_SA(chan->number)); + + if (dst != NULL) + *dst = dma_rdreg(chan->dma_con, S3C_DMAC_DA(chan->number)); + + return 0; +} + +EXPORT_SYMBOL(s3c2410_dma_getposition); + + +/* system device class */ +#ifdef CONFIG_PM +static int s3c_dma_suspend (struct sys_device *dev, pm_message_t state) +{ + return 0; +} + +static int s3c_dma_resume (struct sys_device *dev) +{ + return 0; +} +#else +#define s3c_dma_suspend NULL +#define s3c_dma_resume NULL +#endif /* CONFIG_PM */ + +struct sysdev_class dma_sysclass = { + .name = "pl330-dma", + .suspend = s3c_dma_suspend, + .resume = s3c_dma_resume, +}; + +/* kmem cache implementation */ + +static void s3c_dma_cache_ctor(void *p) +{ + memset(p, 0, sizeof(struct s3c_dma_buf)); +} + + +/* initialisation code */ + +int __init s3c_dma_init(unsigned int channels, unsigned int irq, + unsigned int stride) +{ + struct s3c2410_dma_chan *cp; + s3c_dma_controller_t *dconp; + int channel, controller; + int ret; + + printk("S3C PL330-DMA Controller Driver, (c) 2008-2009 Samsung Electronics\n"); + + dma_channels = channels; + printk("Total %d DMA channels will be initialized.\n", channels); + + ret = sysdev_class_register(&dma_sysclass); + if (ret != 0) { + printk(KERN_ERR "dma sysclass registration failed.\n"); + goto err; + } + + dma_kmem = kmem_cache_create("dma_desc", + sizeof(struct s3c_dma_buf), 0, + SLAB_HWCACHE_ALIGN, + s3c_dma_cache_ctor); + + if (dma_kmem == NULL) { + printk(KERN_ERR "DMA failed to make kmem cache for DMA channel descriptor\n"); + ret = -ENOMEM; + goto err; + } + + for (controller = 0; controller < S3C_DMA_CONTROLLERS; controller++) { + dconp = &s3c_dma_cntlrs[controller]; + + memset(dconp, 0, sizeof(s3c_dma_controller_t)); + + if(controller == 0) { + dma_base = ioremap(S3C_PA_DMA, stride); + if (dma_base == NULL) { + printk(KERN_ERR "M2M-DMA failed to ioremap register block\n"); + return -ENOMEM; + } + + /* dma controller's irqs are in order.. */ + dconp->irq = controller + irq; + } + else { + dma_base = ioremap(((S3C_PA_DMA + 0xF00000) + ((controller-1) * 0x200000)), stride); + if (dma_base == NULL) { + printk(KERN_ERR "Peri-DMA failed to ioremap register block\n"); + return -ENOMEM; + } + + /* dma controller's irqs are in order.. */ + dconp->irq = controller + irq; + } + + dconp->number = controller; + dconp->regs = dma_base; + pr_debug("PL330 DMA controller : %d irq %d regs_base %x\n", dconp->number, dconp->irq, + dconp->regs); + } + + for (channel = 0; channel < channels; channel++) { + controller = channel / S3C_CHANNELS_PER_DMA; + cp = &s3c_dma_chans[channel]; + + memset(cp, 0, sizeof(struct s3c2410_dma_chan)); + + cp->dma_con = &s3c_dma_cntlrs[controller]; + + /* dma channel irqs are in order.. */ + cp->index = channel; + cp->number = channel%S3C_CHANNELS_PER_DMA; + + cp->irq = s3c_dma_cntlrs[controller].irq; + + cp->regs = s3c_dma_cntlrs[controller].regs; + + /* point current stats somewhere */ + cp->stats = &cp->stats_store; + cp->stats_store.timeout_shortest = LONG_MAX; + + /* basic channel configuration */ + cp->load_timeout = 1 << 18; + + /* register system device */ + cp->dev.cls = &dma_sysclass; + cp->dev.id = channel; + + pr_debug("DMA channel %d at %p, irq %d\n", cp->number, cp->regs, cp->irq); + } + + return 0; +err: + kmem_cache_destroy(dma_kmem); + iounmap(dma_base); + dma_base = NULL; + return ret; +} + + + +static inline int is_channel_valid(unsigned int channel) +{ + return (channel & DMA_CH_VALID); +} + +static struct s3c_dma_order *dma_order; + + +/* s3c_dma_map_channel() + * + * turn the virtual channel number into a real, and un-used hardware + * channel. + * + * first, try the dma ordering given to us by either the relevant + * dma code, or the board. Then just find the first usable free + * channel +*/ + +struct s3c2410_dma_chan *s3c_dma_map_channel(int channel) +{ + struct s3c_dma_order_ch *ord = NULL; + struct s3c_dma_map *ch_map; + struct s3c2410_dma_chan *dmach; + int ch; + + if (dma_sel.map == NULL || channel > dma_sel.map_size) + return NULL; + + ch_map = dma_sel.map + channel; + + /* first, try the board mapping */ + + if (dma_order) { + ord = &dma_order->channels[channel]; + + for (ch = 0; ch < dma_channels; ch++) { + if (!is_channel_valid(ord->list[ch])) + continue; + + if (s3c_dma_chans[ord->list[ch]].in_use == 0) { + ch = ord->list[ch] & ~DMA_CH_VALID; + goto found; + } + } + + if (ord->flags & DMA_CH_NEVER) + return NULL; + } + + /* second, search the channel map for first free */ + + for (ch = 0; ch < dma_channels; ch++) { + if (!is_channel_valid(ch_map->channels[ch])) + continue; + + if (s3c_dma_chans[ch].in_use == 0) { + pr_debug("mapped channel %d to %d\n", channel, ch); + break; + } + } + + if (ch >= dma_channels) + return NULL; + + /* update our channel mapping */ + + found: + dmach = &s3c_dma_chans[ch]; + dma_chan_map[channel] = dmach; + + /* select the channel */ + (dma_sel.select)(dmach, ch_map); + + return dmach; +} + +static int s3c_dma_check_entry(struct s3c_dma_map *map, int ch) +{ + return 0; +} + +int __init s3c_dma_init_map(struct s3c_dma_selection *sel) +{ + struct s3c_dma_map *nmap; + size_t map_sz = sizeof(*nmap) * sel->map_size; + int ptr; + + nmap = kmalloc(map_sz, GFP_KERNEL); + if (nmap == NULL) + return -ENOMEM; + + memcpy(nmap, sel->map, map_sz); + memcpy(&dma_sel, sel, sizeof(*sel)); + + dma_sel.map = nmap; + + for (ptr = 0; ptr < sel->map_size; ptr++) + s3c_dma_check_entry(nmap+ptr, ptr); + + return 0; +} + +int __init s3c_dma_order_set(struct s3c_dma_order *ord) +{ + struct s3c_dma_order *nord = dma_order; + + if (nord == NULL) + nord = kmalloc(sizeof(struct s3c_dma_order), GFP_KERNEL); + + if (nord == NULL) { + printk(KERN_ERR "no memory to store dma channel order\n"); + return -ENOMEM; + } + + dma_order = nord; + memcpy(nord, ord, sizeof(struct s3c_dma_order)); + return 0; +} + + diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/plat-s3c/gpio-config.c linux-2.6.28.6/arch/arm/plat-s3c/gpio-config.c --- linux-2.6.28/arch/arm/plat-s3c/gpio-config.c 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/plat-s3c/gpio-config.c 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,189 @@ +/* linux/arch/arm/plat-s3c/gpio-config.c + * + * Copyright 2008 Openmoko, Inc. + * Copyright 2008 Simtec Electronics + * Ben Dooks + * http://armlinux.simtec.co.uk/ + * + * S3C series GPIO configuration core + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#include +#include +#include +#include + +#include +#include +#include + +int s3c_gpio_cfgpin(unsigned int pin, unsigned int config) +{ + struct s3c_gpio_chip *chip = s3c_gpiolib_getchip(pin); + unsigned long flags; + int offset; + int ret; + + if (!chip) + return -EINVAL; + + offset = pin - chip->chip.base; + + local_irq_save(flags); + ret = s3c_gpio_do_setcfg(chip, offset, config); + local_irq_restore(flags); + + return ret; +} + +int s3c_gpio_setpull(unsigned int pin, s3c_gpio_pull_t pull) +{ + struct s3c_gpio_chip *chip = s3c_gpiolib_getchip(pin); + unsigned long flags; + int offset, ret; + + if (!chip) + return -EINVAL; + + offset = pin - chip->chip.base; + + local_irq_save(flags); + ret = s3c_gpio_do_setpull(chip, offset, pull); + local_irq_restore(flags); + + return ret; +} + +EXPORT_SYMBOL(s3c_gpio_cfgpin); +EXPORT_SYMBOL(s3c_gpio_setpull); + +#ifdef CONFIG_S3C_GPIO_CFG_S3C24XX +int s3c_gpio_setcfg_s3c24xx_banka(struct s3c_gpio_chip *chip, + unsigned int off, unsigned int cfg) +{ + void __iomem *reg = chip->base; + unsigned int shift = off; + u32 con; + + if (s3c_gpio_is_cfg_special(cfg)) { + cfg &= 0xf; + + /* Map output to 0, and SFN2 to 1 */ + cfg -= 1; + if (cfg > 1) + return -EINVAL; + + cfg <<= shift; + } + + con = __raw_readl(reg); + con &= ~(0x1 << shift); + con |= cfg; + __raw_writel(con, reg); + + return 0; +} + +int s3c_gpio_setcfg_s3c24xx(struct s3c_gpio_chip *chip, + unsigned int off, unsigned int cfg) +{ + void __iomem *reg = chip->base; + unsigned int shift = off * 2; + u32 con; + + if (s3c_gpio_is_cfg_special(cfg)) { + cfg &= 0xf; + if (cfg > 3) + return -EINVAL; + + cfg <<= shift; + } + + con = __raw_readl(reg); + con &= ~(0x3 << shift); + con |= cfg; + __raw_writel(con, reg); + + return 0; +} +#endif + +#ifdef CONFIG_S3C_GPIO_CFG_S3C64XX +int s3c_gpio_setcfg_s3c64xx_4bit(struct s3c_gpio_chip *chip, + unsigned int off, unsigned int cfg) +{ + void __iomem *reg = chip->base; + unsigned int shift = (off & 7) * 4; + u32 con; + + if (off < 8 && chip->chip.ngpio > 8) + reg -= 4; + + if (s3c_gpio_is_cfg_special(cfg)) { + cfg &= 0xf; + cfg <<= shift; + } + + con = __raw_readl(reg); + con &= ~(0xf << shift); + con |= cfg; + __raw_writel(con, reg); + + return 0; +} +#endif /* CONFIG_S3C_GPIO_CFG_S3C64XX */ + +#ifdef CONFIG_S3C_GPIO_CFG_S5PC1XX +int s3c_gpio_setcfg_s5pc1xx(struct s3c_gpio_chip *chip, + unsigned int off, unsigned int cfg) +{ + void __iomem *reg = chip->base; + unsigned int shift = (off & 7) * 4; + u32 con; + + if (s3c_gpio_is_cfg_special(cfg)) { + cfg &= 0xf; + cfg <<= shift; + } + + con = __raw_readl(reg); + con &= ~(0xf << shift); + con |= cfg; + __raw_writel(con, reg); + + return 0; +} +#endif /* CONFIG_S3C_GPIO_CFG_S5PC1XX */ + +#ifdef CONFIG_S3C_GPIO_PULL_UPDOWN +int s3c_gpio_setpull_updown(struct s3c_gpio_chip *chip, + unsigned int off, s3c_gpio_pull_t pull) +{ + void __iomem *reg = chip->base + 0x08; + int shift = off * 2; + u32 pup; + + pup = __raw_readl(reg); + pup &= ~(3 << shift); + pup |= pull << shift; + __raw_writel(pup, reg); + + return 0; +} + +s3c_gpio_pull_t s3c_gpio_getpull_updown(struct s3c_gpio_chip *chip, + unsigned int off) +{ + void __iomem *reg = chip->base + 0x08; + int shift = off * 2; + u32 pup = __raw_readl(reg); + + pup >>= shift; + pup &= 0x3; + return (__force s3c_gpio_pull_t)pup; +} +#endif diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/plat-s3c/gpio.c linux-2.6.28.6/arch/arm/plat-s3c/gpio.c --- linux-2.6.28/arch/arm/plat-s3c/gpio.c 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/plat-s3c/gpio.c 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,147 @@ +/* linux/arch/arm/plat-s3c/gpio.c + * + * Copyright 2008 Simtec Electronics + * Ben Dooks + * http://armlinux.simtec.co.uk/ + * + * S3C series GPIO core + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#include +#include +#include +#include + +#include + +#ifdef CONFIG_S3C_GPIO_TRACK +struct s3c_gpio_chip *s3c_gpios[S3C_GPIO_END]; + +static __init void s3c_gpiolib_track(struct s3c_gpio_chip *chip) +{ + unsigned int gpn; + int i; + + gpn = chip->chip.base; + for (i = 0; i < chip->chip.ngpio; i++, gpn++) { + BUG_ON(gpn >= ARRAY_SIZE(s3c_gpios)); + s3c_gpios[gpn] = chip; + } +} +#endif /* CONFIG_S3C_GPIO_TRACK */ + +/* Default routines for controlling GPIO, based on the original S3C24XX + * GPIO functions which deal with the case where each gpio bank of the + * chip is as following: + * + * base + 0x00: Control register, 2 bits per gpio + * gpio n: 2 bits starting at (2*n) + * 00 = input, 01 = output, others mean special-function + * base + 0x04: Data register, 1 bit per gpio + * bit n: data bit n +*/ + +static int s3c_gpiolib_input(struct gpio_chip *chip, unsigned offset) +{ + struct s3c_gpio_chip *ourchip = to_s3c_gpio(chip); + void __iomem *base = ourchip->base; + unsigned long flags; + unsigned long con; + + local_irq_save(flags); + + con = __raw_readl(base + 0x00); + con &= ~(3 << (offset * 2)); + + __raw_writel(con, base + 0x00); + + local_irq_restore(flags); + return 0; +} + +static int s3c_gpiolib_output(struct gpio_chip *chip, + unsigned offset, int value) +{ + struct s3c_gpio_chip *ourchip = to_s3c_gpio(chip); + void __iomem *base = ourchip->base; + unsigned long flags; + unsigned long dat; + unsigned long con; + + local_irq_save(flags); + + dat = __raw_readl(base + 0x04); + dat &= ~(1 << offset); + if (value) + dat |= 1 << offset; + __raw_writel(dat, base + 0x04); + + con = __raw_readl(base + 0x00); + con &= ~(3 << (offset * 2)); + con |= 1 << (offset * 2); + + __raw_writel(con, base + 0x00); + __raw_writel(dat, base + 0x04); + + local_irq_restore(flags); + return 0; +} + +static void s3c_gpiolib_set(struct gpio_chip *chip, + unsigned offset, int value) +{ + struct s3c_gpio_chip *ourchip = to_s3c_gpio(chip); + void __iomem *base = ourchip->base; + unsigned long flags; + unsigned long dat; + + local_irq_save(flags); + + dat = __raw_readl(base + 0x04); + dat &= ~(1 << offset); + if (value) + dat |= 1 << offset; + __raw_writel(dat, base + 0x04); + + local_irq_restore(flags); +} + +static int s3c_gpiolib_get(struct gpio_chip *chip, unsigned offset) +{ + struct s3c_gpio_chip *ourchip = to_s3c_gpio(chip); + unsigned long val; + + val = __raw_readl(ourchip->base + 0x04); + val >>= offset; + val &= 1; + + return val; +} + +__init void s3c_gpiolib_add(struct s3c_gpio_chip *chip) +{ + struct gpio_chip *gc = &chip->chip; + int ret; + + BUG_ON(!chip->base); + BUG_ON(!gc->label); + BUG_ON(!gc->ngpio); + + if (!gc->direction_input) + gc->direction_input = s3c_gpiolib_input; + if (!gc->direction_output) + gc->direction_output = s3c_gpiolib_output; + if (!gc->set) + gc->set = s3c_gpiolib_set; + if (!gc->get) + gc->get = s3c_gpiolib_get; + + /* gpiochip_add() prints own failure message on error. */ + ret = gpiochip_add(gc); + if (ret >= 0) + s3c_gpiolib_track(chip); +} diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/plat-s3c/include/mach/audio.h linux-2.6.28.6/arch/arm/plat-s3c/include/mach/audio.h --- linux-2.6.28/arch/arm/plat-s3c/include/mach/audio.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/plat-s3c/include/mach/audio.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,45 @@ +/* linux/arch/arm/plat-s3c/include/mach/audio.h + * + * Copyright (c) 2004-2005 Simtec Electronics + * http://www.simtec.co.uk/products/SWLINUX/ + * Ben Dooks + * + * S3C24XX - Audio platfrom_device info + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#ifndef __ASM_ARCH_AUDIO_H +#define __ASM_ARCH_AUDIO_H __FILE__ + +/* struct s3c24xx_iis_ops + * + * called from the s3c24xx audio core to deal with the architecture + * or the codec's setup and control. + * + * the pointer to itself is passed through in case the caller wants to + * embed this in an larger structure for easy reference to it's context. +*/ + +struct s3c24xx_iis_ops { + struct module *owner; + + int (*startup)(struct s3c24xx_iis_ops *me); + void (*shutdown)(struct s3c24xx_iis_ops *me); + int (*suspend)(struct s3c24xx_iis_ops *me); + int (*resume)(struct s3c24xx_iis_ops *me); + + int (*open)(struct s3c24xx_iis_ops *me, struct snd_pcm_substream *strm); + int (*close)(struct s3c24xx_iis_ops *me, struct snd_pcm_substream *strm); + int (*prepare)(struct s3c24xx_iis_ops *me, struct snd_pcm_substream *strm, struct snd_pcm_runtime *rt); +}; + +struct s3c24xx_platdata_iis { + const char *codec_clk; + struct s3c24xx_iis_ops *ops; + int (*match_dev)(struct device *dev); +}; + +#endif /* __ASM_ARCH_AUDIO_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/plat-s3c/include/mach/dma-pl080.h linux-2.6.28.6/arch/arm/plat-s3c/include/mach/dma-pl080.h --- linux-2.6.28/arch/arm/plat-s3c/include/mach/dma-pl080.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/plat-s3c/include/mach/dma-pl080.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,183 @@ +/* linux/arch/arm/plat-s3c/include/mach/dma-pl080.h + * + */ + +#ifndef __ARM_MACH_DMA_PL080_H +#define __ARM_MACH_DMA_PL080_H + +/* + * This is the maximum DMA address(physical address) that can be DMAd to. + * + */ +#define MAX_DMA_ADDRESS 0x40000000 +#define MAX_DMA_TRANSFER_SIZE 0x100000 /* Data Unit is half word */ + +#define DMACH_LOW_LEVEL (1<<28) /* use this to specifiy hardware ch no */ + +/* We have 4 dma controllers - DMA0, DMA1, SDMA0, SDMA1 */ +#define S3C_DMA_CONTROLLERS (4) +#define S3C_CHANNELS_PER_DMA (8) +#define S3C_CANDIDATE_CHANNELS_PER_DMA (16) +#define S3C_DMA_CHANNELS (S3C_DMA_CONTROLLERS*S3C_CHANNELS_PER_DMA) + +/* flags */ +#define S3C2410_DMAF_SLOW (1<<0) /* slow, so don't worry about */ +#define S3C2410_DMAF_AUTOSTART (1<<1) /* auto-start if buffer queued */ + +/* DMA Register definitions */ +#define S3C2410_DCON_AUTORELOAD (0<<22) +#define S3C2410_DCON_NORELOAD (1<<22) + +/*=================================================*/ +/* DMA Register Definitions for S3C6400 */ + +#define S3C_DMAC_INT_STATUS (0x00) +#define S3C_DMAC_INT_TCSTATUS (0x04) +#define S3C_DMAC_INT_TCCLEAR (0x08) +#define S3C_DMAC_INT_ERRORSTATUS (0x0c) +#define S3C_DMAC_INT_ERRORCLEAR (0x10) +#define S3C_DMAC_RAW_INTTCSTATUS (0x14) +#define S3C_DMAC_RAW_INTERRORSTATUS (0x18) +#define S3C_DMAC_ENBLD_CHANNELS (0x1c) +#define S3C_DMAC_SOFTBREQ (0x20) +#define S3C_DMAC_SOFTSREQ (0x24) +#define S3C_DMAC_SOFTLBREQ (0x28) +#define S3C_DMAC_SOFTLSREQ (0x2c) +#define S3C_DMAC_CONFIGURATION (0x30) +#define S3C_DMAC_SYNC (0x34) + +#define S3C_DMAC_CxSRCADDR (0x00) +#define S3C_DMAC_CxDESTADDR (0x04) +#define S3C_DMAC_CxLLI (0x08) +#define S3C_DMAC_CxCONTROL0 (0x0C) +#define S3C_DMAC_CxCONTROL1 (0x10) +#define S3C_DMAC_CxCONFIGURATION (0x14) + +#define S3C_DMAC_C0SRCADDR (0x100) +#define S3C_DMAC_C0DESTADDR (0x104) +#define S3C_DMAC_C0LLI (0x108) +#define S3C_DMAC_C0CONTROL0 (0x10C) +#define S3C_DMAC_C0CONTROL1 (0x110) +#define S3C_DMAC_C0CONFIGURATION (0x114) + +#define S3C_DMAC_C1SRCADDR (0x120) +#define S3C_DMAC_C1DESTADDR (0x124) +#define S3C_DMAC_C1LLI (0x128) +#define S3C_DMAC_C1CONTROL0 (0x12C) +#define S3C_DMAC_C1CONTROL1 (0x130) +#define S3C_DMAC_C1CONFIGURATION (0x134) + +#define S3C_DMAC_C2SRCADDR (0x140) +#define S3C_DMAC_C2DESTADDR (0x144) +#define S3C_DMAC_C2LLI (0x148) +#define S3C_DMAC_C2CONTROL0 (0x14C) +#define S3C_DMAC_C2CONTROL1 (0x150) +#define S3C_DMAC_C2CONFIGURATION (0x154) + +#define S3C_DMAC_C3SRCADDR (0x160) +#define S3C_DMAC_C3DESTADDR (0x164) +#define S3C_DMAC_C3LLI (0x168) +#define S3C_DMAC_C3CONTROL0 (0x16C) +#define S3C_DMAC_C3CONTROL1 (0x170) +#define S3C_DMAC_C3CONFIGURATION (0x174) + +#define S3C_DMAC_C4SRCADDR (0x180) +#define S3C_DMAC_C4DESTADDR (0x184) +#define S3C_DMAC_C4LLI (0x188) +#define S3C_DMAC_C4CONTROL0 (0x18C) +#define S3C_DMAC_C4CONTROL1 (0x190) +#define S3C_DMAC_C4CONFIGURATION (0x194) + +#define S3C_DMAC_C5SRCADDR (0x1A0) +#define S3C_DMAC_C5DESTADDR (0x1A4) +#define S3C_DMAC_C5LLI (0x1A8) +#define S3C_DMAC_C5CONTROL0 (0x1AC) +#define S3C_DMAC_C5CONTROL1 (0x1B0) +#define S3C_DMAC_C5CONFIGURATION (0x1B4) + +#define S3C_DMAC_C6SRCADDR (0x1C0) +#define S3C_DMAC_C6DESTADDR (0x1C4) +#define S3C_DMAC_C6LLI (0x1C8) +#define S3C_DMAC_C6CONTROL0 (0x1CC) +#define S3C_DMAC_C6CONTROL1 (0x1D0) +#define S3C_DMAC_C6CONFIGURATION (0x1D4) + +#define S3C_DMAC_C7SRCADDR (0x1E0) +#define S3C_DMAC_C7DESTADDR (0x1E4) +#define S3C_DMAC_C7LLI (0x1E8) +#define S3C_DMAC_C7CONTROL0 (0x1EC) +#define S3C_DMAC_C7CONTROL1 (0x1F0) +#define S3C_DMAC_C7CONFIGURATION (0x1F4) + +/* DMACConfiguration(0x30) */ +#define S3C_DMA_CONTROLLER_ENABLE (1<<0) + +/* DMACCxControl0 : Channel control register 0 */ +#define S3C_DMACONTROL_TC_INT_ENABLE (1<<31) +#define S3C_DMACONTROL_DEST_NO_INC (0<<27) +#define S3C_DMACONTROL_DEST_INC (1<<27) +#define S3C_DMACONTROL_SRC_NO_INC (0<<26) +#define S3C_DMACONTROL_SRC_INC (1<<26) +#define S3C_DMACONTROL_DEST_AXI_SPINE (0<<25) +#define S3C_DMACONTROL_DEST_AXI_PERI (1<<25) +#define S3C_DMACONTROL_SRC_AXI_SPINE (0<<24) +#define S3C_DMACONTROL_SRC_AXI_PERI (1<<24) +#define S3C_DMACONTROL_DEST_WIDTH_BYTE (0<<21) +#define S3C_DMACONTROL_DEST_WIDTH_HWORD (1<<21) +#define S3C_DMACONTROL_DEST_WIDTH_WORD (2<<21) +#define S3C_DMACONTROL_SRC_WIDTH_BYTE (0<<18) +#define S3C_DMACONTROL_SRC_WIDTH_HWORD (1<<18) +#define S3C_DMACONTROL_SRC_WIDTH_WORD (2<<18) + +#define S3C_DMACONTROL_DBSIZE_1 (0<<15) +#define S3C_DMACONTROL_DBSIZE_4 (1<<15) +#define S3C_DMACONTROL_DBSIZE_8 (2<<15) +#define S3C_DMACONTROL_DBSIZE_16 (3<<15) +#define S3C_DMACONTROL_DBSIZE_32 (4<<15) +#define S3C_DMACONTROL_DBSIZE_64 (5<<15) +#define S3C_DMACONTROL_DBSIZE_128 (6<<15) +#define S3C_DMACONTROL_DBSIZE_256 (7<<15) + +#define S3C_DMACONTROL_SBSIZE_1 (0<<12) +#define S3C_DMACONTROL_SBSIZE_4 (1<<12) +#define S3C_DMACONTROL_SBSIZE_8 (2<<12) +#define S3C_DMACONTROL_SBSIZE_16 (3<<12) +#define S3C_DMACONTROL_SBSIZE_32 (4<<12) +#define S3C_DMACONTROL_SBSIZE_64 (5<<12) +#define S3C_DMACONTROL_SBSIZE_128 (6<<12) +#define S3C_DMACONTROL_SBSIZE_256 (7<<12) + + +/* Channel configuration register, DMACCxConfiguration */ +#define S3C_DMACONFIG_HALT (1<<18) /*The contents of the channels FIFO are drained*/ +#define S3C_DMACONFIG_ACTIVE (1<<17) /*Check channel fifo has data or not*/ +#define S3C_DMACONFIG_LOCK (1<<16) +#define S3C_DMACONFIG_TCMASK (1<<15) /*Terminal count interrupt mask*/ +#define S3C_DMACONFIG_ERRORMASK (1<<14) /*Interrup error mask*/ +#define S3C_DMACONFIG_FLOWCTRL_MEM2MEM (0<<11) +#define S3C_DMACONFIG_FLOWCTRL_MEM2PER (1<<11) +#define S3C_DMACONFIG_FLOWCTRL_PER2MEM (2<<11) +#define S3C_DMACONFIG_FLOWCTRL_PER2PER (3<<11) +#define S3C_DMACONFIG_ONENANDMODEDST (1<<10) /* Reserved: OneNandModeDst */ +#define S3C_DMACONFIG_DESTPERIPHERAL(x) ((x)<<6) +#define S3C_DMACONFIG_ONENANDMODESRC (1<<5) /* Reserved: OneNandModeSrc */ +#define S3C_DMACONFIG_SRCPERIPHERAL(x) ((x)<<1) +#define S3C_DMACONFIG_CHANNEL_ENABLE (1<<0) + +#define S3C_DMA1 16 + +#define S3C_DEST_SHIFT 6 +#define S3C_SRC_SHIFT 1 + + +/* #define S3C_DMAC_CSRCADDR(ch) S3C_DMAC_C##ch##SRCADDR */ +#define S3C_DMAC_CSRCADDR(ch) (S3C_DMAC_C0SRCADDR+ch*0x20) +#define S3C_DMAC_CDESTADDR(ch) (S3C_DMAC_C0DESTADDR+ch*0x20) +#define S3C_DMAC_CLLI(ch) (S3C_DMAC_C0LLI+ch*0x20) +#define S3C_DMAC_CCONTROL0(ch) (S3C_DMAC_C0CONTROL0+ch*0x20) +#define S3C_DMAC_CCONTROL1(ch) (S3C_DMAC_C0CONTROL1+ch*0x20) +#define S3C_DMAC_CCONFIGURATION(ch) (S3C_DMAC_C0CONFIGURATION+ch*0x20) + + + +#endif //__ARM_MACH_DMA_PL080_H diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/plat-s3c/include/mach/dma-pl330.h linux-2.6.28.6/arch/arm/plat-s3c/include/mach/dma-pl330.h --- linux-2.6.28/arch/arm/plat-s3c/include/mach/dma-pl330.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/plat-s3c/include/mach/dma-pl330.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,114 @@ +/* linux/arch/arm/plat-s3c/include/mach/dma-pl330.h + * + */ + +#ifndef __ARM_MACH_DMA_PL330_H +#define __ARM_MACH_DMA_PL330_H __FILE__ + +#define DMACH_LOW_LEVEL (1<<28) /* use this to specifiy hardware ch no */ + + +/* flags */ +#define S3C2410_DMAF_SLOW (1<<0) /* slow, so don't worry about */ +#define S3C2410_DMAF_AUTOSTART (1<<1) /* auto-start if buffer queued */ + +/*=================================================*/ +/* DMA Register Definitions for PL330 DMAC */ + +#define S3C_DMAC_DS (0x00) +#define S3C_DMAC_DPC (0x04) +#define S3C_DMAC_INTEN (0x20) /* R/W */ +#define S3C_DMAC_ES (0x24) +#define S3C_DMAC_INTSTATUS (0x28) +#define S3C_DMAC_INTCLR (0x2C) /* W/O */ +#define S3C_DMAC_FSM (0x30) +#define S3C_DMAC_FSC (0x34) +#define S3C_DMAC_FTM (0x38) + +#define S3C_DMAC_FTC0 (0x40) +#define S3C_DMAC_CS0 (0x100) +#define S3C_DMAC_CPC0 (0x104) +#define S3C_DMAC_SA_0 (0x400) +#define S3C_DMAC_DA_0 (0x404) +#define S3C_DMAC_CC_0 (0x408) +#define S3C_DMAC_LC0_0 (0x40C) +#define S3C_DMAC_LC1_0 (0x410) + +#define S3C_DMAC_FTC(ch) (S3C_DMAC_FTC0+ch*0x4) +#define S3C_DMAC_CS(ch) (S3C_DMAC_CS0+ch*0x8) +#define S3C_DMAC_CPC(ch) (S3C_DMAC_CPC0+ch*0x8) +#define S3C_DMAC_SA(ch) (S3C_DMAC_SA_0+ch*0x20) +#define S3C_DMAC_DA(ch) (S3C_DMAC_DA_0+ch*0x20) +#define S3C_DMAC_CC(ch) (S3C_DMAC_CC_0+ch*0x20) +#define S3C_DMAC_LC0(ch) (S3C_DMAC_LC0_0+ch*0x20) +#define S3C_DMAC_LC10(ch) (S3C_DMAC_LC1_0+ch*0x20) + +#define S3C_DMAC_DBGSTATUS (0xD00) +#define S3C_DMAC_DBGCMD (0xD04) /* W/O */ +#define S3C_DMAC_DBGINST0 (0xD08) /* W/O */ +#define S3C_DMAC_DBGINST1 (0xD0C) /* W/O */ +#define S3C_DMAC_CR0 (0xE00) +#define S3C_DMAC_CR1 (0xE04) +#define S3C_DMAC_CR2 (0xE08) +#define S3C_DMAC_CR3 (0xE0C) +#define S3C_DMAC_CR4 (0xE10) +#define S3C_DMAC_CRDn (0xE14) + +#define S3C_DMAC_PERI_ID (0xFE0) +#define S3C_DMAC_PCELL_ID (0xFF0) + +/* S3C_DMAC_CS[3:0] - Channel status */ +#define S3C_DMAC_CS_STOPPED 0x0 +#define S3C_DMAC_CS_EXECUTING 0x1 +#define S3C_DMAC_CS_CACHE_MISS 0x2 +#define S3C_DMAC_CS_UPDATING_PC 0x3 +#define S3C_DMAC_CS_WAITING_FOR_EVENT 0x4 +#define S3C_DMAC_CS_AT_BARRIER 0x5 +#define S3C_DMAC_CS_QUEUE_BUSY 0x6 +#define S3C_DMAC_CS_WAITING_FOR_PERI 0x7 +#define S3C_DMAC_CS_KILLING 0x8 +#define S3C_DMAC_CS_COMPLETING 0x9 +#define S3C_DMAC_CS_FAULT_COMPLETING 0xE +#define S3C_DMAC_CS_FAULTING 0xF + + + +/* S3C_DMAC_INTEN : Interrupt Enable Register */ +#define S3C_DMAC_INTEN_EVENT(x) ((x)<<0) +#define S3C_DMAC_INTEN_IRQ(x) ((x)<<1) + +/* S3C_DMAC_INTCLR : Interrupt Clear Register */ +#define S3C_DMAC_INTCLR_IRQ(x) ((x)<<1) + +/* S3C DMA Channel control */ +/* Source control */ +#define S3C_DMACONTROL_SRC_INC (1<<0) +#define S3C_DMACONTROL_SRC_FIXED (0<<0) +#define S3C_DMACONTROL_SRC_WIDTH_BYTE (0<<1) +#define S3C_DMACONTROL_SRC_WIDTH_HWORD (1<<1) +#define S3C_DMACONTROL_SRC_WIDTH_WORD (2<<1) +#define S3C_DMACONTROL_SRC_WIDTH_DWORD (3<<1) +#define S3C_DMACONTROL_SBSIZE(x) (((x-1)&0xF)<<4) +#define S3C_DMACONTROL_SP_SECURE (0<<8) +#define S3C_DMACONTROL_SP_NON_SECURE (2<<8) +#define S3C_DMACONTROL_SCACHE (0<<11) + +/* Destination control */ +#define S3C_DMACONTROL_DEST_INC (1<<14) +#define S3C_DMACONTROL_DEST_FIXED (0<<14) +#define S3C_DMACONTROL_DEST_WIDTH_BYTE (0<<15) +#define S3C_DMACONTROL_DEST_WIDTH_HWORD (1<<15) +#define S3C_DMACONTROL_DEST_WIDTH_WORD (2<<15) +#define S3C_DMACONTROL_DEST_WIDTH_DWORD (3<<15) +#define S3C_DMACONTROL_DBSIZE(x) (((x-1)&0xF)<<18) +#define S3C_DMACONTROL_DP_SECURE (0<<22) +#define S3C_DMACONTROL_DP_NON_SECURE (2<<22) +#define S3C_DMACONTROL_DCACHE (0<<25) + +#define S3C_DMACONTROL_ES_SIZE_8 (0<<28) +#define S3C_DMACONTROL_ES_SIZE_16 (1<<28) +#define S3C_DMACONTROL_ES_SIZE_32 (2<<28) +#define S3C_DMACONTROL_ES_SIZE_64 (3<<28) + +#endif /* __ARM_MACH_DMA_PL330_H */ + diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/plat-s3c/include/mach/io.h linux-2.6.28.6/arch/arm/plat-s3c/include/mach/io.h --- linux-2.6.28/arch/arm/plat-s3c/include/mach/io.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/plat-s3c/include/mach/io.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,18 @@ +/* linux/arch/arm/plat-s3c/include/mach/io.h + * + * Copyright 2008 Simtec Electronics + * Ben Dooks + * + * Default IO routines for plat-s3c based systems, such as S3C24A0 + */ + +#ifndef __ASM_ARM_ARCH_IO_H +#define __ASM_ARM_ARCH_IO_H + +/* No current ISA/PCI bus support. */ +#define __io(a) ((void __iomem *)(a)) +#define __mem_pci(a) (a) + +#define IO_SPACE_LIMIT (0xFFFFFFFF) + +#endif diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/plat-s3c/include/mach/s3c-dma.h linux-2.6.28.6/arch/arm/plat-s3c/include/mach/s3c-dma.h --- linux-2.6.28/arch/arm/plat-s3c/include/mach/s3c-dma.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/plat-s3c/include/mach/s3c-dma.h 2009-10-20 04:30:42.000000000 +0200 @@ -0,0 +1,372 @@ +/* linux/arch/arm/plat-s3c/include/mach/s3c-dma.h + * + */ + +#ifndef __ARM_MACH_S3C_DMA_H +#define __ARM_MACH_S3C_DMA_H + +#include +#include +#include + +#if defined(CONFIG_CPU_S3C6400) || defined(CONFIG_CPU_S3C6410) +#include +#elif defined(CONFIG_CPU_S5PC100) || defined(CONFIG_CPU_S5P6440) +#include +#endif + +/* We use `virtual` dma channels to hide the fact we have only a limited + * number of DMA channels, and not of all of them (dependant on the device) + * can be attached to any DMA source. We therefore let the DMA core handle + * the allocation of hardware channels to clients. +*/ + +enum dma_ch { + DMACH_XD0, + DMACH_XD1, + DMACH_SDI, + DMACH_SPI0, + DMACH_SPI_TX, + DMACH_SPI_RX, + DMACH_SPI1, + DMACH_UART0, + DMACH_UART1, + DMACH_UART2, + DMACH_TIMER, + DMACH_I2S_IN, + DMACH_I2S_OUT, + DMACH_I2S_IN_1, /* s3c2450 iis_1 rx */ + DMACH_I2S_OUT_1, /* s3c2450 iis_1 tx */ + DMACH_I2S_V40_IN, + DMACH_I2S_V40_OUT, + DMACH_I2S_V50_OUT, + DMACH_I2S_V50_IN, + DMACH_PCM_IN, + DMACH_PCM_OUT, + DMACH_MIC_IN, + DMACH_USB_EP1, + DMACH_USB_EP2, + DMACH_USB_EP3, + DMACH_USB_EP4, + DMACH_UART0_SRC2, /* s3c2412 second uart sources */ + DMACH_UART1_SRC2, + DMACH_UART2_SRC2, + DMACH_UART3, /* s3c2443 has extra uart */ + DMACH_UART3_SRC2, + DMACH_I2S1_IN, /* S3C6400 */ + DMACH_I2S1_OUT, + DMACH_SPI0_IN, + DMACH_SPI0_OUT, + DMACH_SPI1_IN, + DMACH_SPI1_OUT, + DMACH_AC97_PCM_OUT, + DMACH_AC97_PCM_IN, + DMACH_AC97_MIC_IN, + DMACH_ONENAND_IN, + DMACH_3D_M2M, + DMACH_MAX, /* the end entry */ +}; + +/* types */ + +enum s3c_dma_state { + S3C_DMA_IDLE, + S3C_DMA_RUNNING, + S3C_DMA_PAUSED +}; + + +/* enum s3c_dma_loadst + * + * This represents the state of the DMA engine, wrt to the loaded / running + * transfers. Since we don't have any way of knowing exactly the state of + * the DMA transfers, we need to know the state to make decisions on wether + * we can + * + * S3C_DMA_NONE + * + * There are no buffers loaded (the channel should be inactive) + * + * S3C_DMA_1LOADED + * + * There is one buffer loaded, however it has not been confirmed to be + * loaded by the DMA engine. This may be because the channel is not + * yet running, or the DMA driver decided that it was too costly to + * sit and wait for it to happen. + * + * S3C_DMA_1RUNNING + * + * The buffer has been confirmed running, and not finisged + * + * S3C_DMA_1LOADED_1RUNNING + * + * There is a buffer waiting to be loaded by the DMA engine, and one + * currently running. +*/ + +enum s3c_dma_loadst { + S3C_DMALOAD_NONE, + S3C_DMALOAD_1LOADED, + S3C_DMALOAD_1RUNNING, + S3C_DMALOAD_1LOADED_1RUNNING, +}; + +enum s3c2410_dma_buffresult { + S3C2410_RES_OK, + S3C2410_RES_ERR, + S3C2410_RES_ABORT +}; + +enum s3c2410_dmasrc { + S3C2410_DMASRC_HW, /* source is memory */ + S3C2410_DMASRC_MEM, /* source is hardware */ + S3C_DMA_MEM2MEM, /* source is memory - READ/WRITE */ + S3C_DMA_MEM2MEM_SET, /* source is memory - READ/WRITE for MEMSET*/ + S3C_DMA_MEM2MEM_P, /* source is hardware - READ/WRITE */ + S3C_DMA_PER2PER /* source is hardware - READ/WRITE */ +}; + +/* enum s3c_chan_op + * + * operation codes passed to the DMA code by the user, and also used + * to inform the current channel owner of any changes to the system state +*/ + +enum s3c_chan_op { + S3C2410_DMAOP_START, + S3C2410_DMAOP_STOP, + S3C2410_DMAOP_PAUSE, + S3C2410_DMAOP_RESUME, + S3C2410_DMAOP_FLUSH, + S3C2410_DMAOP_TIMEOUT, /* internal signal to handler */ + S3C2410_DMAOP_STARTED, /* indicate channel started */ +}; + +/* dma buffer */ + +struct s3c2410_dma_client { + char *name; +}; + +/* s3c2410_dma_buf_s + * + * internally used buffer structure to describe a queued or running + * buffer. +*/ + +struct s3c_dma_buf; +struct s3c_dma_buf { + struct s3c_dma_buf *next; + int magic; /* magic */ + int size; /* buffer size in bytes */ + dma_addr_t data; /* start of DMA data */ + dma_addr_t ptr; /* where the DMA got to [1] */ + void *id; /* client's id */ + dma_addr_t mcptr; /* physical pointer to a set of micro codes */ + unsigned long *mcptr_cpu; /* virtual pointer to a set of micro codes */ +}; + +/* [1] is this updated for both recv/send modes? */ + +struct s3c2410_dma_chan; + +/* s3c2410_dma_cbfn_t + * + * buffer callback routine type +*/ + +typedef void (*s3c2410_dma_cbfn_t)(struct s3c2410_dma_chan *, + void *buf, int size, + enum s3c2410_dma_buffresult result); + +typedef int (*s3c2410_dma_opfn_t)(struct s3c2410_dma_chan *, + enum s3c_chan_op ); + +struct s3c_dma_stats { + unsigned long loads; + unsigned long timeout_longest; + unsigned long timeout_shortest; + unsigned long timeout_avg; + unsigned long timeout_failed; +}; + +struct s3c2410_dma_map; + +/* struct s3c2410_dma_chan + * + * full state information for each DMA channel +*/ + +/*========================== S3C DMA ===========================================*/ +typedef struct s3c_dma_controller s3c_dma_controller_t; +struct s3c_dma_controller { + /* channel state flags and information */ + unsigned char number; /* number of this dma channel */ + unsigned char in_use; /* channel allocated and how many channel are used */ + unsigned char irq_claimed; /* irq claimed for channel */ + unsigned char irq_enabled; /* irq enabled for channel */ + unsigned char xfer_unit; /* size of an transfer */ + + /* channel state */ + + enum s3c_dma_state state; + enum s3c_dma_loadst load_state; + struct s3c2410_dma_client *client; + + /* channel configuration */ + unsigned long dev_addr; + unsigned long load_timeout; + unsigned int flags; /* channel flags */ + + /* channel's hardware position and configuration */ + void __iomem *regs; /* channels registers */ + void __iomem *addr_reg; /* data address register */ + unsigned int irq; /* channel irq */ + unsigned long dcon; /* default value of DCON */ + +}; + +struct s3c2410_dma_chan { + /* channel state flags and information */ + unsigned char number; /* number of this dma channel */ + unsigned char in_use; /* channel allocated */ + unsigned char irq_claimed; /* irq claimed for channel */ + unsigned char irq_enabled; /* irq enabled for channel */ + unsigned char xfer_unit; /* size of an transfer */ + + /* channel state */ + + enum s3c_dma_state state; + enum s3c_dma_loadst load_state; + struct s3c2410_dma_client *client; + + /* channel configuration */ + enum s3c2410_dmasrc source; + unsigned long dev_addr; + unsigned long load_timeout; + unsigned int flags; /* channel flags */ + + struct s3c_dma_map *map; /* channel hw maps */ + + /* channel's hardware position and configuration */ + void __iomem *regs; /* channels registers */ + void __iomem *addr_reg; /* data address register */ + unsigned int irq; /* channel irq */ + unsigned long dcon; /* default value of DCON */ + + /* driver handles */ + s3c2410_dma_cbfn_t callback_fn; /* buffer done callback */ + s3c2410_dma_opfn_t op_fn; /* channel op callback */ + + /* stats gathering */ + struct s3c_dma_stats *stats; + struct s3c_dma_stats stats_store; + + /* buffer list and information */ + struct s3c_dma_buf *curr; /* current dma buffer */ + struct s3c_dma_buf *next; /* next buffer to load */ + struct s3c_dma_buf *end; /* end of queue */ + + /* system device */ + struct sys_device dev; + + unsigned int index; /* channel index */ + unsigned int config_flags; /* channel flags */ + unsigned int control_flags; /* channel flags */ + s3c_dma_controller_t *dma_con; +}; + +/* the currently allocated channel information */ +extern struct s3c2410_dma_chan s3c2410_chans[]; + +/* note, we don't really use dma_device_t at the moment */ +typedef unsigned long dma_device_t; + +struct s3c_sg_list { + unsigned long uSrcAddr; + unsigned long uDstAddr; + unsigned long uNextLLI; + unsigned long uCxControl0; + unsigned long uCxControl1; +}; + +/* functions --------------------------------------------------------------- */ + +/* s3c2410_dma_request + * + * request a dma channel exclusivley +*/ + +extern int s3c2410_dma_request(dmach_t channel, + struct s3c2410_dma_client *, void *dev); + + +/* s3c2410_dma_ctrl + * + * change the state of the dma channel +*/ + +extern int s3c2410_dma_ctrl(dmach_t channel, enum s3c_chan_op op); + + +/* s3c2410_dma_setflags + * + * set the channel's flags to a given state +*/ + +extern int s3c2410_dma_setflags(dmach_t channel, + unsigned int flags); + + +/* s3c2410_dma_free + * + * free the dma channel (will also abort any outstanding operations) +*/ + +extern int s3c2410_dma_free(dmach_t channel, struct s3c2410_dma_client *); + + +/* s3c2410_dma_enqueue + * + * place the given buffer onto the queue of operations for the channel. + * The buffer must be allocated from dma coherent memory, or the Dcache/WB + * drained before the buffer is given to the DMA system. +*/ + +extern int s3c2410_dma_enqueue(dmach_t channel, void *id, + dma_addr_t data, int size); + +extern int s3c2410_dma_enqueue_sg(dmach_t channel, void *id, + dma_addr_t data, int size, struct s3c_sg_list *sg_list); + +/* s3c2410_dma_config + * + * configure the dma channel +*/ + +extern int s3c2410_dma_config(dmach_t channel, int xferunit, int dcon); + +/* s3c2410_dma_devconfig + * + * configure the device we're talking to +*/ + +extern int s3c2410_dma_devconfig(int channel, enum s3c2410_dmasrc source, + int hwcfg, unsigned long devaddr); + +/* s3c2410_dma_getposition + * + * get the position that the dma transfer is currently at +*/ + +extern int s3c2410_dma_getposition(dmach_t channel, + dma_addr_t *src, dma_addr_t *dest); + + +extern int s3c2410_dma_set_opfn(dmach_t, s3c2410_dma_opfn_t rtn); +extern int s3c2410_dma_set_buffdone_fn(dmach_t, s3c2410_dma_cbfn_t rtn); + + + + +#endif //__ARM_MACH_S3C_DMA_H diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/plat-s3c/include/mach/timex.h linux-2.6.28.6/arch/arm/plat-s3c/include/mach/timex.h --- linux-2.6.28/arch/arm/plat-s3c/include/mach/timex.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/plat-s3c/include/mach/timex.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,26 @@ +/* linux/arch/arm/plat-s3c/include/mach/timex.h + * + * Copyright (c) 2003-2005 Simtec Electronics + * Ben Dooks + * + * S3C2410 - time parameters + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#ifndef __ASM_ARCH_TIMEX_H +#define __ASM_ARCH_TIMEX_H + +/* CLOCK_TICK_RATE needs to be evaluatable by the cpp, so making it + * a variable is useless. It seems as long as we make our timers an + * exact multiple of HZ, any value that makes a 1->1 correspondence + * for the time conversion functions to/from jiffies is acceptable. +*/ + + +#define CLOCK_TICK_RATE 12000000 + + +#endif /* __ASM_ARCH_TIMEX_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/plat-s3c/include/mach/vmalloc.h linux-2.6.28.6/arch/arm/plat-s3c/include/mach/vmalloc.h --- linux-2.6.28/arch/arm/plat-s3c/include/mach/vmalloc.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/plat-s3c/include/mach/vmalloc.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,20 @@ +/* linux/arch/arm/plat-s3c/include/mach/vmalloc.h + * + * from arch/arm/mach-iop3xx/include/mach/vmalloc.h + * + * Copyright (c) 2003 Simtec Electronics + * http://www.simtec.co.uk/products/SWLINUX/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * S3C2410 vmalloc definition +*/ + +#ifndef __ASM_ARCH_VMALLOC_H +#define __ASM_ARCH_VMALLOC_H + +#define VMALLOC_END (0xE0000000) + +#endif /* __ASM_ARCH_VMALLOC_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/plat-s3c/include/plat/adc.h linux-2.6.28.6/arch/arm/plat-s3c/include/plat/adc.h --- linux-2.6.28/arch/arm/plat-s3c/include/plat/adc.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/plat-s3c/include/plat/adc.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,37 @@ +/* arch/arm/plat-s3c/include/plat/adc.h + * + * Copyright (c) 2004 Simtec Electronics + * Ben Dooks + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#ifndef __ASM_ARCH_ADC_H +#define __ASM_ARCH_ADC_H __FILE__ + + +struct s3c_adc_request +{ + /* for linked list */ + struct list_head *list; + /* after finish ADC sampling, s3c_adc_request function call this function with three parameter */ + void (*callback)( int channel, unsigned long int param, unsigned short sample); + /* for private data */ + unsigned long int param; + /* selected channel for ADC sampling */ + int channel; +}; + +struct s3c_adc_mach_info +{ + /* if you need to use some platform data, add in here*/ + int delay; + int presc; + int resolution; +}; + +void __init s3c_adc_set_platdata(struct s3c_adc_mach_info *pd); + +#endif /* __ASM_ARCH_ADC_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/plat-s3c/include/plat/clock.h linux-2.6.28.6/arch/arm/plat-s3c/include/plat/clock.h --- linux-2.6.28/arch/arm/plat-s3c/include/plat/clock.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/plat-s3c/include/plat/clock.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,112 @@ +/* linux/arch/arm/plat-s3c/include/plat/clock.h + * + * Copyright (c) 2004-2005 Simtec Electronics + * http://www.simtec.co.uk/products/SWLINUX/ + * Written by Ben Dooks, + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#include + +struct clk { + struct list_head list; + struct module *owner; + struct clk *parent; + const char *name; + int id; + int usage; + unsigned long rate; + unsigned long ctrlbit; + + int (*enable)(struct clk *, int enable); + int (*set_rate)(struct clk *c, unsigned long rate); + unsigned long (*get_rate)(struct clk *c); + unsigned long (*round_rate)(struct clk *c, unsigned long rate); + int (*set_parent)(struct clk *c, struct clk *parent); +}; + +/* other clocks which may be registered by board support */ + +extern struct clk s3c24xx_dclk0; +extern struct clk s3c24xx_dclk1; +extern struct clk s3c24xx_clkout0; +extern struct clk s3c24xx_clkout1; +extern struct clk s3c24xx_uclk; + +extern struct clk clk_usb_bus; + +/* core clock support */ + +extern struct clk clk_f; +extern struct clk clk_h; +extern struct clk clk_p; +extern struct clk clk_mpll; +extern struct clk clk_upll; +extern struct clk clk_epll; +extern struct clk clk_xtal; +extern struct clk clk_ext; + +#ifdef CONFIG_CPU_S3C6410 +extern struct clk clk_hx2; +#endif + +#ifdef CONFIG_CPU_S5P6440 +extern struct clk clk_h_low; +extern struct clk clk_p_low; +#endif + +#ifdef CONFIG_CPU_S5PC100 +extern struct clk clk_hpll; +extern struct clk clk_hd0; +extern struct clk clk_pd0; +extern struct clk clk_54m; +extern struct clk clk_dout_mpll2; +#endif + +/* S3C64XX specific clocks */ +extern struct clk clk_27m; +extern struct clk clk_48m; + +/* exports for arch/arm/mach-s3c2410 + * + * Please DO NOT use these outside of arch/arm/mach-s3c2410 +*/ + +extern spinlock_t clocks_lock; + +extern int s3c2410_clkcon_enable(struct clk *clk, int enable); + +extern int s3c24xx_register_clock(struct clk *clk); +extern int s3c24xx_register_clocks(struct clk **clk, int nr_clks); + +extern int s3c24xx_register_baseclocks(unsigned long xtal); + +extern void s3c64xx_register_clocks(void); +extern void s5p64xx_register_clocks(void); + +extern void s3c24xx_setup_clocks(unsigned long fclk, + unsigned long hclk, + unsigned long pclk); + +extern void s3c2410_setup_clocks(void); +extern void s3c2412_setup_clocks(void); +extern void s3c244x_setup_clocks(void); +extern void s3c2443_setup_clocks(void); + +/* S3C64XX specific functions and clocks */ + +extern int s3c64xx_sclk_ctrl(struct clk *clk, int enable); +extern int s5p64xx_sclk_ctrl(struct clk *clk, int enable); + +#ifdef CONFIG_CPU_S5PC100 +extern void s5pc1xx_register_clocks(void); +extern int s5pc1xx_sclk0_ctrl(struct clk *clk, int enable); +extern int s5pc1xx_sclk1_ctrl(struct clk *clk, int enable); +#endif + +#if defined(CONFIG_HAVE_PWM) || defined(CONFIG_TIMER_PWM) +extern int s3c24xx_pwmclk_init(void); +#endif diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/plat-s3c/include/plat/cpu-freq.h linux-2.6.28.6/arch/arm/plat-s3c/include/plat/cpu-freq.h --- linux-2.6.28/arch/arm/plat-s3c/include/plat/cpu-freq.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/plat-s3c/include/plat/cpu-freq.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,94 @@ +/* arch/arm/plat-s3c/include/plat/cpu-freq.h + * + * Copyright (c) 2006,2007 Simtec Electronics + * http://armlinux.simtec.co.uk/ + * Ben Dooks + * + * S3C CPU frequency scaling support - driver and board + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#include + +struct s3c_cpufreq_info; +struct s3c_cpufreq_board; +struct s3c_iotimings; + +struct s3c_freq { + unsigned long fclk; + unsigned long armclk; + unsigned long hclk_tns; /* in 10ths of ns */ + unsigned long hclk; + unsigned long pclk; +}; + +/* wrapper 'struct cpufreq_freqs' so that any drivers receiving the + * notification can use this information that is not provided by just + * having the core frequency alone. + */ + +struct s3c_cpufreq_freqs { + struct cpufreq_freqs freqs; + struct s3c_freq old; + struct s3c_freq new; +}; + +#define to_s3c_cpufreq(_cf) container_of(_cf, struct s3c_cpufreq_freqs, freqs) + +struct s3c_clkdivs { + int p_divisor; /* fclk / pclk */ + int h_divisor; /* fclk / hclk */ + int arm_divisor; /* not all cpus have this. */ + unsigned char dvs; /* using dvs mode to arm. */ +}; + +#define PLLVAL(_m, _p, _s) (((_m) << 12) | ((_p) << 4) | (_s)) + +struct s3c_pllval { + unsigned long freq; + unsigned long pll_reg; +}; + +struct s3c_cpufreq_config { + struct s3c_freq freq; + struct s3c_pllval pll; + struct s3c_clkdivs divs; + struct s3c_cpufreq_info *info; /* for core, not drivers */ + struct s3c_cpufreq_board *board; +}; + +/* s3c_cpufreq_board + * + * per-board configuraton information, such as memory refresh and + * how to initialise IO timings. + */ +struct s3c_cpufreq_board { + unsigned int refresh; /* refresh period in ns */ + unsigned int auto_io:1; /* automatically init io timings. */ + unsigned int need_io:1; /* set if needs io timing support. */ + + /* any non-zero field in here is taken as an upper limit. */ + struct s3c_freq max; /* frequency limits */ +}; + +/* Things depending on frequency scaling. */ +#ifdef CONFIG_CPU_FREQ_S3C +#define __init_or_cpufreq +#else +#define __init_or_cpufreq __init +#endif + +/* Board functions */ + +#ifdef CONFIG_CPU_FREQ_S3C +extern int s3c_cpufreq_setboard(struct s3c_cpufreq_board *board); +#else + +static inline int s3c_cpufreq_setboard(struct s3c_cpufreq_board *board) +{ + return 0; +} +#endif /* CONFIG_CPU_FREQ_S3C */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/plat-s3c/include/plat/cpu.h linux-2.6.28.6/arch/arm/plat-s3c/include/plat/cpu.h --- linux-2.6.28/arch/arm/plat-s3c/include/plat/cpu.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/plat-s3c/include/plat/cpu.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,89 @@ +/* linux/arch/arm/plat-s3c/include/plat/cpu.h + * + * Copyright (c) 2004-2005 Simtec Electronics + * Ben Dooks + * + * Header file for S3C24XX CPU support + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +/* todo - fix when rmk changes iodescs to use `void __iomem *` */ + +#if defined (CONFIG_ARCH_S3C2410) +#define IODESC_ENT(x) { (unsigned long)S3C24XX_VA_##x, __phys_to_pfn(S3C24XX_PA_##x), S3C24XX_SZ_##x, MT_DEVICE } +#elif defined(CONFIG_ARCH_S3C64XX) +#define IODESC_ENT(x) { (unsigned long)S3C64XX_VA_##x, __phys_to_pfn(S3C64XX_PA_##x), S3C64XX_SZ_##x, MT_DEVICE } +#elif defined(CONFIG_ARCH_S5P64XX) +#define IODESC_ENT(x) { (unsigned long)S5P64XX_VA_##x, __phys_to_pfn(S5P64XX_PA_##x), S5P64XX_SZ_##x, MT_DEVICE } +#elif defined(CONFIG_ARCH_S5PC1XX) +#define IODESC_ENT(x) { (unsigned long)S5PC1XX_VA_##x, __phys_to_pfn(S5PC1XX_PA_##x), S5PC1XX_SZ_##x, MT_DEVICE } +#else +#error IODESC_ENT(x) macro should be defined! +#endif + +#ifndef MHZ +#define MHZ (1000*1000) +#endif + +#define print_mhz(m) ((m) / MHZ), (((m) / 1000) % 1000) + +/* forward declaration */ +struct s3c24xx_uart_resources; +struct platform_device; +struct s3c2410_uartcfg; +struct map_desc; + +/* per-cpu initialisation function table. */ + +struct cpu_table { + unsigned long idcode; + unsigned long idmask; + void (*map_io)(void); + void (*init_uarts)(struct s3c2410_uartcfg *cfg, int no); + void (*init_clocks)(int xtal); + int (*init)(void); + const char *name; +}; + +extern void s3c_init_cpu(unsigned long idcode, + struct cpu_table *cpus, unsigned int cputab_size); + +/* core initialisation functions */ + +extern void s3c24xx_init_irq(void); +extern void s3c64xx_init_irq(u32 vic0, u32 vic1); +extern void s5p64xx_init_irq(u32 vic0, u32 vic1); +extern void s5pc1xx_init_irq(u32 vic0, u32 vic1, u32 vic2); + +extern void s3c24xx_init_io(struct map_desc *mach_desc, int size); +extern void s3c64xx_init_io(struct map_desc *mach_desc, int size); +extern void s5p64xx_init_io(struct map_desc *mach_desc, int size); +extern void s5pc1xx_init_io(struct map_desc *mach_desc, int size); + +extern void s3c24xx_init_uarts(struct s3c2410_uartcfg *cfg, int no); + +extern void s3c24xx_init_clocks(int xtal); + +extern void s3c24xx_init_uartdevs(char *name, + struct s3c24xx_uart_resources *res, + struct s3c2410_uartcfg *cfg, int no); + +/* timer for 2410/2440 */ + +struct sys_timer; +extern struct sys_timer s3c24xx_timer; +extern struct sys_timer s3c64xx_timer; +/* system device classes */ + +extern struct sysdev_class s3c2410_sysclass; +extern struct sysdev_class s3c2412_sysclass; +extern struct sysdev_class s3c2440_sysclass; +extern struct sysdev_class s3c2442_sysclass; +extern struct sysdev_class s3c2443_sysclass; + +extern struct sysdev_class s3c6410_sysclass; +extern struct sysdev_class s5p6440_sysclass; +extern struct sysdev_class s5pc100_sysclass; diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/plat-s3c/include/plat/debug-macro.S linux-2.6.28.6/arch/arm/plat-s3c/include/plat/debug-macro.S --- linux-2.6.28/arch/arm/plat-s3c/include/plat/debug-macro.S 2008-12-25 00:26:37.000000000 +0100 +++ linux-2.6.28.6/arch/arm/plat-s3c/include/plat/debug-macro.S 2009-04-30 09:36:37.000000000 +0200 @@ -1,4 +1,4 @@ -/* linux/include/asm-arm/plat-s3c/debug-macro.S +/* linux/arch/arm/plat-s3c/include/plat/debug-macro.S * * Copyright 2005, 2007 Simtec Electronics * http://armlinux.simtec.co.uk/ @@ -20,7 +20,7 @@ .endm #ifndef fifo_level -#define fifo_level fifo_level_s3c2410 +#define fifo_level fifo_level_s3c2440 #endif .macro fifo_full_s3c2440 rd, rx diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/plat-s3c/include/plat/devs.h linux-2.6.28.6/arch/arm/plat-s3c/include/plat/devs.h --- linux-2.6.28/arch/arm/plat-s3c/include/plat/devs.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/plat-s3c/include/plat/devs.h 2010-04-07 07:46:30.000000000 +0200 @@ -0,0 +1,81 @@ +/* linux/arch/arm/plat-s3c/include/plat/devs.h + * + * Copyright (c) 2004 Simtec Electronics + * Ben Dooks + * + * Header file for s3c2410 standard platform devices + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ +#include + +struct s3c24xx_uart_resources { + struct resource *resources; + unsigned long nr_resources; +}; + +extern struct s3c24xx_uart_resources s3c2410_uart_resources[]; +extern struct s3c24xx_uart_resources s3c64xx_uart_resources[]; +extern struct s3c24xx_uart_resources s5p64xx_uart_resources[]; +extern struct s3c24xx_uart_resources s5pc1xx_uart_resources[]; + +extern struct platform_device *s3c24xx_uart_devs[]; +extern struct platform_device *s3c24xx_uart_src[]; + +extern struct platform_device s3c_device_timer[]; + +extern struct platform_device s3c_device_usb; +extern struct platform_device s3c_device_lcd; +extern struct platform_device s3c_device_g2d; +extern struct platform_device s3c_device_g3d; +extern struct platform_device s3c_device_vpp; +extern struct platform_device s3c_device_tvenc; +extern struct platform_device s3c_device_tvscaler; +extern struct platform_device s3c_device_rotator; +extern struct platform_device s3c_device_jpeg; +extern struct platform_device s3c_device_wdt; +extern struct platform_device s3c_device_i2c0; +extern struct platform_device s3c_device_i2c1; +extern struct platform_device s3c_device_iis; +extern struct platform_device s3c_device_rtc; +extern struct platform_device s3c_device_adc; +extern struct platform_device s3c_device_sdi; +extern struct platform_device s3c_device_hsmmc0; +extern struct platform_device s3c_device_hsmmc1; +extern struct platform_device s3c_device_hsmmc2; + +extern struct platform_device s3c_device_spi0; +extern struct platform_device s3c_device_spi1; + +extern struct platform_device s3c_device_nand; +extern struct platform_device s3c_device_onenand; + +extern struct platform_device s3c_device_usbgadget; +extern struct platform_device s3c_device_usb_otghcd; +extern struct platform_device s3c_device_keypad; +extern struct platform_device s3c_device_ts; +extern struct platform_device s3c_device_g3d; + +extern struct platform_device s3c_device_dm9000; + +extern struct platform_device s3c_device_fimc0; +extern struct platform_device s3c_device_fimc1; + +extern struct platform_device s3c_device_mfc; +extern struct platform_device s3c_device_ac97; + +extern struct platform_device s3c_device_fimc0; +extern struct platform_device s3c_device_fimc1; +extern struct platform_device s3c_device_fimc2; + +extern struct platform_device s3c_device_csis; + +/* s3c2440 specific devices */ + +#ifdef CONFIG_CPU_S3C2440 + +extern struct platform_device s3c_device_camif; + +#endif diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/plat-s3c/include/plat/gpio-cfg-helpers.h linux-2.6.28.6/arch/arm/plat-s3c/include/plat/gpio-cfg-helpers.h --- linux-2.6.28/arch/arm/plat-s3c/include/plat/gpio-cfg-helpers.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/plat-s3c/include/plat/gpio-cfg-helpers.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,194 @@ +/* linux/arch/arm/plat-s3c/include/plat/gpio-cfg-helper.h + * + * Copyright 2008 Openmoko, Inc. + * Copyright 2008 Simtec Electronics + * http://armlinux.simtec.co.uk/ + * Ben Dooks + * + * S3C Platform - GPIO pin configuration helper definitions + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +/* This is meant for core cpu support, machine or other driver files + * should not be including this header. + */ + +#ifndef __PLAT_GPIO_CFG_HELPERS_H +#define __PLAT_GPIO_CFG_HELPERS_H __FILE__ + +/* As a note, all gpio configuration functions are entered exclusively, either + * with the relevant lock held or the system prevented from doing anything else + * by disabling interrupts. +*/ + +static inline int s3c_gpio_do_setcfg(struct s3c_gpio_chip *chip, + unsigned int off, unsigned int config) +{ + return (chip->config->set_config)(chip, off, config); +} + +static inline int s3c_gpio_do_setpull(struct s3c_gpio_chip *chip, + unsigned int off, s3c_gpio_pull_t pull) +{ + return (chip->config->set_pull)(chip, off, pull); +} + +/** + * s3c_gpio_setcfg_s3c24xx - S3C24XX style GPIO configuration. + * @chip: The gpio chip that is being configured. + * @off: The offset for the GPIO being configured. + * @cfg: The configuration value to set. + * + * This helper deal with the GPIO cases where the control register + * has two bits of configuration per gpio, which have the following + * functions: + * 00 = input + * 01 = output + * 1x = special function +*/ +extern int s3c_gpio_setcfg_s3c24xx(struct s3c_gpio_chip *chip, + unsigned int off, unsigned int cfg); + +/** + * s3c_gpio_setcfg_s3c24xx_a - S3C24XX style GPIO configuration (Bank A) + * @chip: The gpio chip that is being configured. + * @off: The offset for the GPIO being configured. + * @cfg: The configuration value to set. + * + * This helper deal with the GPIO cases where the control register + * has one bit of configuration for the gpio, where setting the bit + * means the pin is in special function mode and unset means output. +*/ +extern int s3c_gpio_setcfg_s3c24xx_a(struct s3c_gpio_chip *chip, + unsigned int off, unsigned int cfg); + +/** + * s3c_gpio_setcfg_s3c64xx_4bit - S3C64XX 4bit single register GPIO config. + * @chip: The gpio chip that is being configured. + * @off: The offset for the GPIO being configured. + * @cfg: The configuration value to set. + * + * This helper deal with the GPIO cases where the control register has 4 bits + * of control per GPIO, generally in the form of: + * 0000 = Input + * 0001 = Output + * others = Special functions (dependant on bank) + * + * Note, since the code to deal with the case where there are two control + * registers instead of one, we do not have a seperate set of functions for + * each case. +*/ +extern int s3c_gpio_setcfg_s3c64xx_4bit(struct s3c_gpio_chip *chip, + unsigned int off, unsigned int cfg); + +/** + * s3c_gpio_setcfg_s5pc1xx - S5PC1XX 4bit single register GPIO config. + * @chip: The gpio chip that is being configured. + * @off: The offset for the GPIO being configured. + * @cfg: The configuration value to set. + * + * This helper deal with the GPIO cases where the control register has 4 bits + * of control per GPIO, generally in the form of: + * 0000 = Input + * 0001 = Output + * others = Special functions (dependant on bank) + * + * Note, since the code to deal with the case where there are two control + * registers instead of one, we do not have a seperate set of functions for + * each case. +*/ +extern int s3c_gpio_setcfg_s5pc1xx(struct s3c_gpio_chip *chip, + unsigned int off, unsigned int cfg); + +/* Pull-{up,down} resistor controls. + * + * S3C2410,S3C2440,S3C24A0 = Pull-UP, + * S3C2412,S3C2413 = Pull-Down + * S3C6400,S3C6410 = Pull-Both [None,Down,Up,Undef] + * S3C2443 = Pull-Both [not same as S3C6400] + */ + +/** + * s3c_gpio_setpull_1up() - Pull configuration for choice of up or none. + * @chip: The gpio chip that is being configured. + * @off: The offset for the GPIO being configured. + * @param: pull: The pull mode being requested. + * + * This is a helper function for the case where we have GPIOs with one + * bit configuring the presence of a pull-up resistor. + */ +extern int s3c_gpio_setpull_1up(struct s3c_gpio_chip *chip, + unsigned int off, s3c_gpio_pull_t pull); + +/** + * s3c_gpio_setpull_1down() - Pull configuration for choice of down or none + * @chip: The gpio chip that is being configured + * @off: The offset for the GPIO being configured + * @param: pull: The pull mode being requested + * + * This is a helper function for the case where we have GPIOs with one + * bit configuring the presence of a pull-down resistor. + */ +extern int s3c_gpio_setpull_1down(struct s3c_gpio_chip *chip, + unsigned int off, s3c_gpio_pull_t pull); + +/** + * s3c_gpio_setpull_upown() - Pull configuration for choice of up, down or none + * @chip: The gpio chip that is being configured. + * @off: The offset for the GPIO being configured. + * @param: pull: The pull mode being requested. + * + * This is a helper function for the case where we have GPIOs with two + * bits configuring the presence of a pull resistor, in the following + * order: + * 00 = No pull resistor connected + * 01 = Pull-up resistor connected + * 10 = Pull-down resistor connected + */ +extern int s3c_gpio_setpull_updown(struct s3c_gpio_chip *chip, + unsigned int off, s3c_gpio_pull_t pull); + + +/** + * s3c_gpio_getpull_updown() - Get configuration for choice of up, down or none + * @chip: The gpio chip that the GPIO pin belongs to + * @off: The offset to the pin to get the configuration of. + * + * This helper function reads the state of the pull-{up,down} resistor for the + * given GPIO in the same case as s3c_gpio_setpull_upown. +*/ +extern s3c_gpio_pull_t s3c_gpio_getpull_updown(struct s3c_gpio_chip *chip, + unsigned int off); + +/** + * s3c_gpio_setpull_s3c2443() - Pull configuration for s3c2443. + * @chip: The gpio chip that is being configured. + * @off: The offset for the GPIO being configured. + * @param: pull: The pull mode being requested. + * + * This is a helper function for the case where we have GPIOs with two + * bits configuring the presence of a pull resistor, in the following + * order: + * 00 = Pull-up resistor connected + * 10 = Pull-down resistor connected + * x1 = No pull up resistor + */ +extern int s3c_gpio_setpull_s3c2443(struct s3c_gpio_chip *chip, + unsigned int off, s3c_gpio_pull_t pull); + +/** + * s3c_gpio_getpull_s3c2443() - Get configuration for s3c2443 pull resistors + * @chip: The gpio chip that the GPIO pin belongs to. + * @off: The offset to the pin to get the configuration of. + * + * This helper function reads the state of the pull-{up,down} resistor for the + * given GPIO in the same case as s3c_gpio_setpull_upown. +*/ +extern s3c_gpio_pull_t s3c_gpio_getpull_s3c24xx(struct s3c_gpio_chip *chip, + unsigned int off); + +#endif /* __PLAT_GPIO_CFG_HELPERS_H */ + diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/plat-s3c/include/plat/gpio-cfg.h linux-2.6.28.6/arch/arm/plat-s3c/include/plat/gpio-cfg.h --- linux-2.6.28/arch/arm/plat-s3c/include/plat/gpio-cfg.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/plat-s3c/include/plat/gpio-cfg.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,110 @@ +/* linux/arch/arm/plat-s3c/include/plat/gpio-cfg.h + * + * Copyright 2008 Openmoko, Inc. + * Copyright 2008 Simtec Electronics + * http://armlinux.simtec.co.uk/ + * Ben Dooks + * + * S3C Platform - GPIO pin configuration + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +/* This file contains the necessary definitions to get the basic gpio + * pin configuration done such as setting a pin to input or output or + * changing the pull-{up,down} configurations. + */ + +/* Note, this interface is being added to the s3c64xx arch first and will + * be added to the s3c24xx systems later. + */ + +#ifndef __PLAT_GPIO_CFG_H +#define __PLAT_GPIO_CFG_H __FILE__ + +typedef unsigned int __bitwise__ s3c_gpio_pull_t; + +/* forward declaration if gpio-core.h hasn't been included */ +struct s3c_gpio_chip; + +/** + * struct s3c_gpio_cfg GPIO configuration + * @cfg_eint: Configuration setting when used for external interrupt source + * @get_pull: Read the current pull configuration for the GPIO + * @set_pull: Set the current pull configuraiton for the GPIO + * @set_config: Set the current configuration for the GPIO + * @get_config: Read the current configuration for the GPIO + * + * Each chip can have more than one type of GPIO bank available and some + * have different capabilites even when they have the same control register + * layouts. Provide an point to vector control routine and provide any + * per-bank configuration information that other systems such as the + * external interrupt code will need. + */ +struct s3c_gpio_cfg { + unsigned int cfg_eint; + + s3c_gpio_pull_t (*get_pull)(struct s3c_gpio_chip *chip, unsigned offs); + int (*set_pull)(struct s3c_gpio_chip *chip, unsigned offs, + s3c_gpio_pull_t pull); + + unsigned (*get_config)(struct s3c_gpio_chip *chip, unsigned offs); + int (*set_config)(struct s3c_gpio_chip *chip, unsigned offs, + unsigned config); +}; + +#define S3C_GPIO_SPECIAL_MARK (0xfffffff0) +#define S3C_GPIO_SPECIAL(x) (S3C_GPIO_SPECIAL_MARK | (x)) + +/* Defines for generic pin configurations */ +#define S3C_GPIO_INPUT (S3C_GPIO_SPECIAL(0)) +#define S3C_GPIO_OUTPUT (S3C_GPIO_SPECIAL(1)) +#define S3C_GPIO_SFN(x) (S3C_GPIO_SPECIAL(x)) + +#define s3c_gpio_is_cfg_special(_cfg) \ + (((_cfg) & S3C_GPIO_SPECIAL_MARK) == S3C_GPIO_SPECIAL_MARK) + +/** + * s3c_gpio_cfgpin() - Change the GPIO function of a pin. + * @pin pin The pin number to configure. + * @pin to The configuration for the pin's function. + * + * Configure which function is actually connected to the external + * pin, such as an gpio input, output or some form of special function + * connected to an internal peripheral block. + */ +extern int s3c_gpio_cfgpin(unsigned int pin, unsigned int to); + +/* Define values for the pull-{up,down} available for each gpio pin. + * + * These values control the state of the weak pull-{up,down} resistors + * available on most pins on the S3C series. Not all chips support both + * up or down settings, and it may be dependant on the chip that is being + * used to whether the particular mode is available. + */ +#define S3C_GPIO_PULL_NONE ((__force s3c_gpio_pull_t)0x00) +#define S3C_GPIO_PULL_DOWN ((__force s3c_gpio_pull_t)0x01) +#define S3C_GPIO_PULL_UP ((__force s3c_gpio_pull_t)0x02) + +/** + * s3c_gpio_setpull() - set the state of a gpio pin pull resistor + * @pin: The pin number to configure the pull resistor. + * @pull: The configuration for the pull resistor. + * + * This function sets the state of the pull-{up,down} resistor for the + * specified pin. It will return 0 if successfull, or a negative error + * code if the pin cannot support the requested pull setting. +*/ +extern int s3c_gpio_setpull(unsigned int pin, s3c_gpio_pull_t pull); + +/** + * s3c_gpio_getpull() - get the pull resistor state of a gpio pin + * @pin: The pin number to get the settings for + * + * Read the pull resistor value for the specified pin. +*/ +extern s3c_gpio_pull_t s3c_gpio_getpull(unsigned int pin); + +#endif /* __PLAT_GPIO_CFG_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/plat-s3c/include/plat/gpio-core.h linux-2.6.28.6/arch/arm/plat-s3c/include/plat/gpio-core.h --- linux-2.6.28/arch/arm/plat-s3c/include/plat/gpio-core.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/plat-s3c/include/plat/gpio-core.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,77 @@ +/* linux/arch/arm/plat-s3c/include/plat/gpio-core.h + * + * Copyright 2008 Simtec Electronics + * http://armlinux.simtec.co.uk/ + * Ben Dooks + * + * S3C Platform - GPIO core + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +/* Define the core gpiolib support functions that the s3c platforms may + * need to extend or change depending on the hardware and the s3c chip + * selected at build or found at run time. + * + * These definitions are not intended for driver inclusion, there is + * nothing here that should not live outside the platform and core + * specific code. +*/ + +struct s3c_gpio_cfg; + +/** + * struct s3c_gpio_chip - wrapper for specific implementation of gpio + * @chip: The chip structure to be exported via gpiolib. + * @base: The base pointer to the gpio configuration registers. + * @config: special function and pull-resistor control information. + * + * This wrapper provides the necessary information for the Samsung + * specific gpios being registered with gpiolib. + */ +struct s3c_gpio_chip { + struct gpio_chip chip; + struct s3c_gpio_cfg *config; + void __iomem *base; +}; + +static inline struct s3c_gpio_chip *to_s3c_gpio(struct gpio_chip *gpc) +{ + return container_of(gpc, struct s3c_gpio_chip, chip); +} + +/** s3c_gpiolib_add() - add the s3c specific version of a gpio_chip. + * @chip: The chip to register + * + * This is a wrapper to gpiochip_add() that takes our specific gpio chip + * information and makes the necessary alterations for the platform and + * notes the information for use with the configuration systems and any + * other parts of the system. + */ +extern void s3c_gpiolib_add(struct s3c_gpio_chip *chip); + +/* CONFIG_S3C_GPIO_TRACK enables the tracking of the s3c specific gpios + * for use with the configuration calls, and other parts of the s3c gpiolib + * support code. + * + * Not all s3c support code will need this, as some configurations of cpu + * may only support one or two different configuration options and have an + * easy gpio to s3c_gpio_chip mapping function. If this is the case, then + * the machine support file should provide its own s3c_gpiolib_getchip() + * and any other necessary functions. + */ + +#ifdef CONFIG_S3C_GPIO_TRACK +extern struct s3c_gpio_chip *s3c_gpios[S3C_GPIO_END]; + +static inline struct s3c_gpio_chip *s3c_gpiolib_getchip(unsigned int chip) +{ + return (chip < S3C_GPIO_END) ? s3c_gpios[chip] : NULL; +} +#else +/* machine specific code should provide s3c_gpiolib_getchip */ + +static inline void s3c_gpiolib_track(struct s3c_gpio_chip *chip) { } +#endif diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/plat-s3c/include/plat/hsmmc.h linux-2.6.28.6/arch/arm/plat-s3c/include/plat/hsmmc.h --- linux-2.6.28/arch/arm/plat-s3c/include/plat/hsmmc.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/plat-s3c/include/plat/hsmmc.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,47 @@ +#ifndef __ASM_S3C_HSMMC_H +#define __ASM_S3C_HSMMC_H + +#ifndef __ASSEMBLY__ + +#include +#include + +#define NUM_OF_HSMMC_CLKSOURCES 1 + +#define SPEED_NORMAL 0 +#define SPEED_HIGH 1 + +struct s3c_hsmmc_fd_cfg { + ulong ctrl2; + ulong ctrl3[2]; /* 0: low speed, 1: high speed */ + ulong ctrl4; +}; + +struct s3c_hsmmc_clk_cfg { + char *name; + u32 src; +}; + +struct s3c_hsmmc_cfg { + u32 hwport; /* hardware port number */ + u32 enabled; /* if port is used, set 1 */ + u32 host_caps; /* host capabilities */ + u32 bus_width; /* bus width */ + + void *base; /* base address of host */ + + u8 highspeed; /* ENHIGHSPD bit configuration */ + + /* feedback delay control configuration (0: mmc, 1: sd) */ + struct s3c_hsmmc_fd_cfg fd_ctrl[2]; + + /* clock source control */ + struct s3c_hsmmc_clk_cfg clocks[NUM_OF_HSMMC_CLKSOURCES]; +}; + +extern void hsmmc_set_gpio(uint channel, uint width); + +#endif /* __ASSEMBLY__ */ + +#endif /* __ASM_S3C_HSMMC_H */ + diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/plat-s3c/include/plat/iic-core.h linux-2.6.28.6/arch/arm/plat-s3c/include/plat/iic-core.h --- linux-2.6.28/arch/arm/plat-s3c/include/plat/iic-core.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/plat-s3c/include/plat/iic-core.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,35 @@ +/* linux/arch/arm/plat-s3c/include/plat/iic-core.h + * + * Copyright 2008 Openmoko, Inc. + * Copyright 2008 Simtec Electronics + * Ben Dooks + * + * S3C - I2C Controller core functions + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#ifndef __ASM_ARCH_IIC_CORE_H +#define __ASM_ARCH_IIC_CORE_H __FILE__ + +/* These functions are only for use with the core support code, such as + * the cpu specific initialisation code + */ + +/* re-define device name depending on support. */ +static inline void s3c_i2c0_setname(char *name) +{ + /* currently this device is always compiled in */ + s3c_device_i2c0.name = name; +} + +static inline void s3c_i2c1_setname(char *name) +{ +#ifdef CONFIG_S3C_DEV_I2C1 + s3c_device_i2c1.name = name; +#endif +} + +#endif /* __ASM_ARCH_IIC_H */ diff -NurbB --exclude linux-2.6.28.6/Documentation/dontdiff linux-2.6.28/arch/arm/plat-s3c/include/plat/iic.h linux-2.6.28.6/arch/arm/plat-s3c/include/plat/iic.h --- linux-2.6.28/arch/arm/plat-s3c/include/plat/iic.h 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.28.6/arch/arm/plat-s3c/include/plat/iic.h 2009-04-30 09:36:37.000000000 +0200 @@ -0,0 +1,57 @@ +/* linux/arch/arm/plat-s3c/include/plat/iic.h + * + * Copyright (c) 2004 Simtec Electronics + * Ben Dooks + * + * S3C2410 - I2C Controller platfrom_device info + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#ifndef __ASM_ARCH_IIC_H +#define __ASM_ARCH_IIC_H __FILE__ + +#define S3C_IICFLG_FILTER (1<<0) /* enable s3c2440 filter */ + +/* Notes: + * 1) All frequencies are expressed in Hz + * 2) A value of zero is `do not care` +*/ + +struct s3c2410_platform_i2c { + int bus_num; /* bus number to use */ + unsigned int flags; + unsigned int slave_addr; /* slave address for controller */ + unsigned long bus_freq; /* standard bus frequency */ + unsigned long max_freq; /* max frequency for the bus */ + unsigned long min_freq; /* min frequency for the bus */ + unsigned int sda_delay; /* pclks (s3c2440 only) */ + + void (*cfg_gpio)(struct platform_device *dev); +}; + +/** + * s3c_i2c0_set_platdata - set platform data for i2c0 device + * @i2c: The platform data to set, or NULL for default data. + * + * Register the given platform data for use with the i2c0 device. This + * call copies the platform data, so the caller can use __initdata for + * their copy. + * + * This call will set cfg_gpio if is null to the default platform + * implementation. + * + * Any user of s3c_device_i2c0 should call this, even if it is with + * NULL to ensure that the device is given the default platform data + * as the driver will no longer carry defaults. + */ +extern void s3c_i2c0_set_platdata(struct s3c2410_platform_i2c *i2c); +extern void s3c_i2c1_set_platdata(struct s3c2410_platform_i2c *i2