]> nv-tegra.nvidia Code Review - linux-2.6.git/commitdiff
Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 16 Sep 2009 14:46:34 +0000 (07:46 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 16 Sep 2009 14:46:34 +0000 (07:46 -0700)
* 'for-linus' of git://git.kernel.dk/linux-2.6-block:
  block: fix linkage problem with blk_iopoll and !CONFIG_BLOCK

618 files changed:
CREDITS
Documentation/arm/SA1100/ADSBitsy
Documentation/arm/SA1100/Assabet
Documentation/arm/SA1100/Brutus
Documentation/arm/SA1100/GraphicsClient
Documentation/arm/SA1100/GraphicsMaster
Documentation/arm/SA1100/Victor
Documentation/intel_txt.txt [new file with mode: 0644]
Documentation/kernel-parameters.txt
Documentation/video4linux/CARDLIST.cx23885
Documentation/video4linux/CARDLIST.cx88
Documentation/video4linux/CARDLIST.em28xx
Documentation/video4linux/CARDLIST.saa7134
Documentation/video4linux/CARDLIST.tuner
Documentation/video4linux/CQcam.txt
Documentation/video4linux/gspca.txt
Documentation/video4linux/si4713.txt [new file with mode: 0644]
Documentation/x86/zero-page.txt
MAINTAINERS
Makefile
arch/alpha/include/asm/agp.h
arch/alpha/include/asm/percpu.h
arch/alpha/include/asm/tlbflush.h
arch/alpha/kernel/vmlinux.lds.S
arch/arm/boot/compressed/head-sa1100.S
arch/arm/kernel/vmlinux.lds.S
arch/arm/lib/lib1funcs.S
arch/arm/lib/sha1.S
arch/arm/mach-sa1100/include/mach/assabet.h
arch/arm/mach-sa1100/include/mach/hardware.h
arch/arm/mach-sa1100/include/mach/memory.h
arch/arm/mach-sa1100/include/mach/neponset.h
arch/arm/mach-sa1100/include/mach/system.h
arch/arm/mach-sa1100/include/mach/uncompress.h
arch/arm/mach-sa1100/pm.c
arch/arm/mach-sa1100/time.c
arch/arm/mm/proc-xscale.S
arch/arm/plat-iop/setup.c
arch/arm/plat-omap/include/mach/system.h
arch/avr32/kernel/vmlinux.lds.S
arch/blackfin/kernel/vmlinux.lds.S
arch/blackfin/mm/sram-alloc.c
arch/cris/include/asm/mmu_context.h
arch/cris/kernel/vmlinux.lds.S
arch/cris/mm/fault.c
arch/frv/kernel/vmlinux.lds.S
arch/h8300/kernel/vmlinux.lds.S
arch/ia64/Kconfig
arch/ia64/include/asm/agp.h
arch/ia64/kernel/setup.c
arch/ia64/kernel/smp.c
arch/ia64/kernel/vmlinux.lds.S
arch/ia64/sn/kernel/setup.c
arch/m32r/kernel/vmlinux.lds.S
arch/m68k/kernel/vmlinux-std.lds
arch/m68k/kernel/vmlinux-sun3.lds
arch/m68knommu/kernel/vmlinux.lds.S
arch/microblaze/kernel/vmlinux.lds.S
arch/mips/kernel/vmlinux.lds.S
arch/mn10300/kernel/vmlinux.lds.S
arch/parisc/include/asm/agp.h
arch/parisc/kernel/vmlinux.lds.S
arch/powerpc/Kconfig
arch/powerpc/Makefile
arch/powerpc/boot/4xx.c
arch/powerpc/boot/4xx.h
arch/powerpc/boot/Makefile
arch/powerpc/boot/cuboot-hotfoot.c [new file with mode: 0644]
arch/powerpc/boot/cuboot-kilauea.c [new file with mode: 0644]
arch/powerpc/boot/dcr.h
arch/powerpc/boot/dts/arches.dts
arch/powerpc/boot/dts/canyonlands.dts
arch/powerpc/boot/dts/eiger.dts [new file with mode: 0644]
arch/powerpc/boot/dts/gef_sbc310.dts
arch/powerpc/boot/dts/hotfoot.dts [new file with mode: 0644]
arch/powerpc/boot/dts/kilauea.dts
arch/powerpc/boot/dts/mgcoge.dts
arch/powerpc/boot/dts/mpc8272ads.dts
arch/powerpc/boot/dts/mpc8377_rdb.dts
arch/powerpc/boot/dts/mpc8377_wlan.dts [new file with mode: 0644]
arch/powerpc/boot/dts/mpc8378_rdb.dts
arch/powerpc/boot/dts/mpc8379_rdb.dts
arch/powerpc/boot/dts/mpc8536ds.dts
arch/powerpc/boot/dts/mpc8536ds_36b.dts [new file with mode: 0644]
arch/powerpc/boot/dts/mpc8548cds.dts
arch/powerpc/boot/dts/mpc8569mds.dts
arch/powerpc/boot/dts/p2020rdb.dts [new file with mode: 0644]
arch/powerpc/boot/dts/sbc8349.dts
arch/powerpc/boot/dts/sbc8560.dts
arch/powerpc/boot/mktree.c
arch/powerpc/boot/ppcboot-hotfoot.h [new file with mode: 0644]
arch/powerpc/boot/wrapper
arch/powerpc/configs/40x/kilauea_defconfig
arch/powerpc/configs/44x/arches_defconfig
arch/powerpc/configs/44x/canyonlands_defconfig
arch/powerpc/configs/44x/eiger_defconfig [new file with mode: 0644]
arch/powerpc/configs/83xx/sbc834x_defconfig
arch/powerpc/configs/mgcoge_defconfig
arch/powerpc/configs/mpc85xx_defconfig
arch/powerpc/include/asm/agp.h
arch/powerpc/include/asm/bitops.h
arch/powerpc/include/asm/cell-regs.h
arch/powerpc/include/asm/cputhreads.h
arch/powerpc/include/asm/device.h
arch/powerpc/include/asm/dma-mapping.h
arch/powerpc/include/asm/exception-64e.h [new file with mode: 0644]
arch/powerpc/include/asm/exception-64s.h [moved from arch/powerpc/include/asm/exception.h with 94% similarity]
arch/powerpc/include/asm/hardirq.h
arch/powerpc/include/asm/hw_irq.h
arch/powerpc/include/asm/iommu.h
arch/powerpc/include/asm/irq.h
arch/powerpc/include/asm/machdep.h
arch/powerpc/include/asm/mmu-40x.h
arch/powerpc/include/asm/mmu-44x.h
arch/powerpc/include/asm/mmu-8xx.h
arch/powerpc/include/asm/mmu-book3e.h
arch/powerpc/include/asm/mmu-hash32.h
arch/powerpc/include/asm/mmu-hash64.h
arch/powerpc/include/asm/mmu.h
arch/powerpc/include/asm/mmu_context.h
arch/powerpc/include/asm/nvram.h
arch/powerpc/include/asm/paca.h
arch/powerpc/include/asm/page.h
arch/powerpc/include/asm/page_64.h
arch/powerpc/include/asm/pci-bridge.h
arch/powerpc/include/asm/pci.h
arch/powerpc/include/asm/pgalloc.h
arch/powerpc/include/asm/pgtable-ppc32.h
arch/powerpc/include/asm/pgtable-ppc64-64k.h
arch/powerpc/include/asm/pgtable-ppc64.h
arch/powerpc/include/asm/pmc.h
arch/powerpc/include/asm/ppc-opcode.h
arch/powerpc/include/asm/ppc-pci.h
arch/powerpc/include/asm/ppc_asm.h
arch/powerpc/include/asm/pte-40x.h
arch/powerpc/include/asm/pte-44x.h
arch/powerpc/include/asm/pte-8xx.h
arch/powerpc/include/asm/pte-book3e.h [new file with mode: 0644]
arch/powerpc/include/asm/pte-common.h
arch/powerpc/include/asm/pte-fsl-booke.h
arch/powerpc/include/asm/pte-hash32.h
arch/powerpc/include/asm/reg.h
arch/powerpc/include/asm/reg_booke.h
arch/powerpc/include/asm/setup.h
arch/powerpc/include/asm/smp.h
arch/powerpc/include/asm/swiotlb.h
arch/powerpc/include/asm/systbl.h
arch/powerpc/include/asm/tlb.h
arch/powerpc/include/asm/tlbflush.h
arch/powerpc/include/asm/vdso.h
arch/powerpc/kernel/Makefile
arch/powerpc/kernel/asm-offsets.c
arch/powerpc/kernel/cpu_setup_6xx.S
arch/powerpc/kernel/cputable.c
arch/powerpc/kernel/dma-iommu.c
arch/powerpc/kernel/dma-swiotlb.c
arch/powerpc/kernel/dma.c
arch/powerpc/kernel/entry_32.S
arch/powerpc/kernel/entry_64.S
arch/powerpc/kernel/exceptions-64e.S [new file with mode: 0644]
arch/powerpc/kernel/exceptions-64s.S
arch/powerpc/kernel/fpu.S
arch/powerpc/kernel/head_32.S
arch/powerpc/kernel/head_40x.S
arch/powerpc/kernel/head_44x.S
arch/powerpc/kernel/head_64.S
arch/powerpc/kernel/head_8xx.S
arch/powerpc/kernel/head_booke.h
arch/powerpc/kernel/head_fsl_booke.S
arch/powerpc/kernel/ibmebus.c
arch/powerpc/kernel/lparcfg.c
arch/powerpc/kernel/misc_32.S
arch/powerpc/kernel/of_platform.c
arch/powerpc/kernel/paca.c
arch/powerpc/kernel/pci-common.c
arch/powerpc/kernel/pci_32.c
arch/powerpc/kernel/pci_64.c
arch/powerpc/kernel/pci_of_scan.c [new file with mode: 0644]
arch/powerpc/kernel/perf_counter.c
arch/powerpc/kernel/process.c
arch/powerpc/kernel/prom_init.c
arch/powerpc/kernel/rtas.c
arch/powerpc/kernel/setup_32.c
arch/powerpc/kernel/setup_64.c
arch/powerpc/kernel/smp.c
arch/powerpc/kernel/sys_ppc32.c
arch/powerpc/kernel/sysfs.c
arch/powerpc/kernel/time.c
arch/powerpc/kernel/vdso.c
arch/powerpc/kernel/vdso32/Makefile
arch/powerpc/kernel/vdso64/Makefile
arch/powerpc/kernel/vector.S
arch/powerpc/kernel/vio.c
arch/powerpc/kernel/vmlinux.lds.S
arch/powerpc/kvm/booke_interrupts.S
arch/powerpc/mm/40x_mmu.c
arch/powerpc/mm/Makefile
arch/powerpc/mm/fsl_booke_mmu.c
arch/powerpc/mm/hash_low_32.S
arch/powerpc/mm/hugetlbpage.c
arch/powerpc/mm/init_32.c
arch/powerpc/mm/init_64.c
arch/powerpc/mm/mmu_context_nohash.c
arch/powerpc/mm/mmu_decl.h
arch/powerpc/mm/pgtable.c
arch/powerpc/mm/pgtable_32.c
arch/powerpc/mm/pgtable_64.c
arch/powerpc/mm/slb.c
arch/powerpc/mm/stab.c
arch/powerpc/mm/tlb_hash32.c
arch/powerpc/mm/tlb_hash64.c
arch/powerpc/mm/tlb_low_64e.S [new file with mode: 0644]
arch/powerpc/mm/tlb_nohash.c
arch/powerpc/mm/tlb_nohash_low.S
arch/powerpc/platforms/40x/Kconfig
arch/powerpc/platforms/40x/ppc40x_simple.c
arch/powerpc/platforms/44x/Kconfig
arch/powerpc/platforms/44x/ppc44x_simple.c
arch/powerpc/platforms/82xx/mgcoge.c
arch/powerpc/platforms/82xx/mpc8272_ads.c
arch/powerpc/platforms/83xx/Kconfig
arch/powerpc/platforms/83xx/mpc837x_rdb.c
arch/powerpc/platforms/83xx/mpc83xx.h
arch/powerpc/platforms/85xx/Kconfig
arch/powerpc/platforms/85xx/Makefile
arch/powerpc/platforms/85xx/mpc8536_ds.c
arch/powerpc/platforms/85xx/mpc85xx_ds.c
arch/powerpc/platforms/85xx/mpc85xx_mds.c
arch/powerpc/platforms/85xx/mpc85xx_rdb.c [new file with mode: 0644]
arch/powerpc/platforms/85xx/sbc8560.c
arch/powerpc/platforms/85xx/smp.c
arch/powerpc/platforms/86xx/gef_ppc9a.c
arch/powerpc/platforms/86xx/mpc86xx_hpcn.c
arch/powerpc/platforms/86xx/mpc86xx_smp.c
arch/powerpc/platforms/Kconfig.cputype
arch/powerpc/platforms/amigaone/setup.c
arch/powerpc/platforms/cell/Kconfig
arch/powerpc/platforms/cell/celleb_setup.c
arch/powerpc/platforms/cell/iommu.c
arch/powerpc/platforms/cell/smp.c
arch/powerpc/platforms/cell/spufs/Makefile
arch/powerpc/platforms/cell/spufs/context.c
arch/powerpc/platforms/cell/spufs/file.c
arch/powerpc/platforms/cell/spufs/sched.c
arch/powerpc/platforms/cell/spufs/spufs.h
arch/powerpc/platforms/cell/spufs/sputrace.c [deleted file]
arch/powerpc/platforms/cell/spufs/sputrace.h [new file with mode: 0644]
arch/powerpc/platforms/iseries/exception.S
arch/powerpc/platforms/iseries/exception.h
arch/powerpc/platforms/iseries/mf.c
arch/powerpc/platforms/pasemi/idle.c
arch/powerpc/platforms/powermac/cpufreq_32.c
arch/powerpc/platforms/powermac/feature.c
arch/powerpc/platforms/powermac/pci.c
arch/powerpc/platforms/powermac/smp.c
arch/powerpc/platforms/ps3/mm.c
arch/powerpc/platforms/ps3/smp.c
arch/powerpc/platforms/ps3/system-bus.c
arch/powerpc/platforms/pseries/pci_dlpar.c
arch/powerpc/platforms/pseries/reconfig.c
arch/powerpc/platforms/pseries/setup.c
arch/powerpc/platforms/pseries/smp.c
arch/powerpc/sysdev/fsl_rio.c
arch/powerpc/sysdev/fsl_soc.c
arch/powerpc/sysdev/ipic.c
arch/powerpc/sysdev/mmio_nvram.c
arch/powerpc/sysdev/mpic.c
arch/powerpc/sysdev/qe_lib/gpio.c
arch/powerpc/sysdev/qe_lib/qe_ic.c
arch/powerpc/xmon/Makefile
arch/powerpc/xmon/xmon.c
arch/s390/include/asm/percpu.h
arch/s390/kernel/vmlinux.lds.S
arch/sh/kernel/vmlinux.lds.S
arch/sparc/Kconfig
arch/sparc/include/asm/agp.h
arch/sparc/kernel/smp_64.c
arch/sparc/kernel/vmlinux.lds.S
arch/um/include/asm/common.lds.S
arch/um/kernel/dyn.lds.S
arch/um/kernel/uml.lds.S
arch/x86/Kconfig
arch/x86/include/asm/agp.h
arch/x86/include/asm/bootparam.h
arch/x86/include/asm/cacheflush.h
arch/x86/include/asm/fixmap.h
arch/x86/include/asm/iomap.h
arch/x86/include/asm/mtrr.h
arch/x86/include/asm/pat.h
arch/x86/include/asm/percpu.h
arch/x86/kernel/Makefile
arch/x86/kernel/cpu/cpu_debug.c
arch/x86/kernel/cpu/mcheck/mce.c
arch/x86/kernel/cpu/mcheck/mce_amd.c
arch/x86/kernel/cpu/mtrr/main.c
arch/x86/kernel/cpu/perf_counter.c
arch/x86/kernel/reboot.c
arch/x86/kernel/setup.c
arch/x86/kernel/setup_percpu.c
arch/x86/kernel/smpboot.c
arch/x86/kernel/tboot.c [new file with mode: 0644]
arch/x86/kernel/vmlinux.lds.S
arch/x86/mm/iomap_32.c
arch/x86/mm/ioremap.c
arch/x86/mm/pageattr.c
arch/x86/mm/pat.c
arch/x86/power/cpu.c
arch/xtensa/kernel/vmlinux.lds.S
block/as-iosched.c
block/cfq-iosched.c
drivers/acpi/acpica/hwsleep.c
drivers/block/ps3vram.c
drivers/char/agp/agp.h
drivers/char/agp/ali-agp.c
drivers/char/agp/amd-k7-agp.c
drivers/char/agp/amd64-agp.c
drivers/char/agp/ati-agp.c
drivers/char/agp/backend.c
drivers/char/agp/efficeon-agp.c
drivers/char/agp/generic.c
drivers/char/agp/hp-agp.c
drivers/char/agp/i460-agp.c
drivers/char/agp/intel-agp.c
drivers/char/agp/nvidia-agp.c
drivers/char/agp/parisc-agp.c
drivers/char/agp/sgi-agp.c
drivers/char/agp/sworks-agp.c
drivers/char/agp/uninorth-agp.c
drivers/char/generic_nvram.c
drivers/char/hvc_console.c
drivers/char/hvc_vio.c
drivers/char/hvsi.c
drivers/cpufreq/cpufreq_conservative.c
drivers/cpufreq/cpufreq_ondemand.c
drivers/ide/at91_ide.c
drivers/ide/ide-cd.c
drivers/ide/ide-disk_proc.c
drivers/ide/ide-floppy_proc.c
drivers/ide/ide-ioctls.c
drivers/ide/ide-iops.c
drivers/ide/ide-probe.c
drivers/ide/ide-proc.c
drivers/ide/ide-tape.c
drivers/ide/ide-taskfile.c
drivers/ide/palm_bk3710.c
drivers/input/keyboard/pxa27x_keypad.c
drivers/macintosh/macio_asic.c
drivers/macintosh/therm_windtunnel.c
drivers/media/common/ir-functions.c
drivers/media/common/ir-keymaps.c
drivers/media/common/tuners/tda18271-fe.c
drivers/media/common/tuners/tda18271-priv.h
drivers/media/common/tuners/tda18271.h
drivers/media/common/tuners/tuner-simple.c
drivers/media/common/tuners/tuner-types.c
drivers/media/dvb/Kconfig
drivers/media/dvb/b2c2/flexcop-fe-tuner.c
drivers/media/dvb/bt8xx/dst.c
drivers/media/dvb/dm1105/dm1105.c
drivers/media/dvb/dvb-core/dmxdev.c
drivers/media/dvb/dvb-core/dmxdev.h
drivers/media/dvb/dvb-core/dvb_demux.c
drivers/media/dvb/dvb-core/dvb_frontend.c
drivers/media/dvb/dvb-core/dvbdev.h
drivers/media/dvb/dvb-usb/Kconfig
drivers/media/dvb/dvb-usb/a800.c
drivers/media/dvb/dvb-usb/af9005-remote.c
drivers/media/dvb/dvb-usb/af9015.c
drivers/media/dvb/dvb-usb/af9015.h
drivers/media/dvb/dvb-usb/anysee.c
drivers/media/dvb/dvb-usb/cinergyT2-core.c
drivers/media/dvb/dvb-usb/cinergyT2-fe.c
drivers/media/dvb/dvb-usb/cxusb.c
drivers/media/dvb/dvb-usb/dib0700_devices.c
drivers/media/dvb/dvb-usb/dibusb-common.c
drivers/media/dvb/dvb-usb/dibusb-mc.c
drivers/media/dvb/dvb-usb/digitv.c
drivers/media/dvb/dvb-usb/dtt200u.c
drivers/media/dvb/dvb-usb/dvb-usb-i2c.c
drivers/media/dvb/dvb-usb/dvb-usb-ids.h
drivers/media/dvb/dvb-usb/dvb-usb-remote.c
drivers/media/dvb/dvb-usb/dvb-usb.h
drivers/media/dvb/dvb-usb/dw2102.c
drivers/media/dvb/dvb-usb/m920x.c
drivers/media/dvb/dvb-usb/nova-t-usb2.c
drivers/media/dvb/dvb-usb/opera1.c
drivers/media/dvb/dvb-usb/vp702x.c
drivers/media/dvb/dvb-usb/vp7045.c
drivers/media/dvb/firewire/firedtv-avc.c
drivers/media/dvb/frontends/Kconfig
drivers/media/dvb/frontends/Makefile
drivers/media/dvb/frontends/cx22700.c
drivers/media/dvb/frontends/cx24113.c
drivers/media/dvb/frontends/cx24123.c
drivers/media/dvb/frontends/dib0070.c
drivers/media/dvb/frontends/dib7000p.c
drivers/media/dvb/frontends/dvb-pll.c
drivers/media/dvb/frontends/dvb-pll.h
drivers/media/dvb/frontends/lgs8gxx.c
drivers/media/dvb/frontends/lgs8gxx.h
drivers/media/dvb/frontends/lgs8gxx_priv.h
drivers/media/dvb/frontends/mt312.c
drivers/media/dvb/frontends/stb6100.c
drivers/media/dvb/frontends/stv0900_core.c
drivers/media/dvb/frontends/stv0900_sw.c
drivers/media/dvb/frontends/stv6110.c
drivers/media/dvb/frontends/stv6110.h
drivers/media/dvb/frontends/tda10021.c
drivers/media/dvb/frontends/tda8261.c
drivers/media/dvb/frontends/ves1820.c
drivers/media/dvb/frontends/zl10036.c
drivers/media/dvb/frontends/zl10039.c [new file with mode: 0644]
drivers/media/dvb/frontends/zl10039.h [new file with mode: 0644]
drivers/media/dvb/frontends/zl10353.c
drivers/media/dvb/pluto2/pluto2.c
drivers/media/dvb/ttpci/av7110_v4l.c
drivers/media/dvb/ttpci/budget-ci.c
drivers/media/radio/Kconfig
drivers/media/radio/Makefile
drivers/media/radio/radio-cadet.c
drivers/media/radio/radio-si470x.c [deleted file]
drivers/media/radio/radio-si4713.c [new file with mode: 0644]
drivers/media/radio/si470x/Kconfig [new file with mode: 0644]
drivers/media/radio/si470x/Makefile [new file with mode: 0644]
drivers/media/radio/si470x/radio-si470x-common.c [new file with mode: 0644]
drivers/media/radio/si470x/radio-si470x-i2c.c [new file with mode: 0644]
drivers/media/radio/si470x/radio-si470x-usb.c [new file with mode: 0644]
drivers/media/radio/si470x/radio-si470x.h [new file with mode: 0644]
drivers/media/radio/si4713-i2c.c [new file with mode: 0644]
drivers/media/radio/si4713-i2c.h [new file with mode: 0644]
drivers/media/video/Kconfig
drivers/media/video/au0828/au0828-dvb.c
drivers/media/video/au0828/au0828-i2c.c
drivers/media/video/bt8xx/bttv-cards.c
drivers/media/video/bt8xx/bttv-driver.c
drivers/media/video/bt8xx/bttv-i2c.c
drivers/media/video/bt8xx/bttv-input.c
drivers/media/video/cafe_ccic.c
drivers/media/video/cx18/cx18-cards.c
drivers/media/video/cx18/cx18-cards.h
drivers/media/video/cx18/cx18-driver.c
drivers/media/video/cx18/cx18-fileops.c
drivers/media/video/cx18/cx18-i2c.c
drivers/media/video/cx18/cx18-ioctl.c
drivers/media/video/cx231xx/cx231xx-conf-reg.h
drivers/media/video/cx231xx/cx231xx-i2c.c
drivers/media/video/cx231xx/cx231xx-video.c
drivers/media/video/cx231xx/cx231xx.h
drivers/media/video/cx23885/cimax2.c
drivers/media/video/cx23885/cx23885-417.c
drivers/media/video/cx23885/cx23885-cards.c
drivers/media/video/cx23885/cx23885-core.c
drivers/media/video/cx23885/cx23885-dvb.c
drivers/media/video/cx23885/cx23885-i2c.c
drivers/media/video/cx23885/cx23885.h
drivers/media/video/cx25840/cx25840-core.c
drivers/media/video/cx25840/cx25840-firmware.c
drivers/media/video/cx88/cx88-cards.c
drivers/media/video/cx88/cx88-dvb.c
drivers/media/video/cx88/cx88-input.c
drivers/media/video/cx88/cx88.h
drivers/media/video/em28xx/em28xx-cards.c
drivers/media/video/em28xx/em28xx-i2c.c
drivers/media/video/em28xx/em28xx-video.c
drivers/media/video/em28xx/em28xx.h
drivers/media/video/gspca/Kconfig
drivers/media/video/gspca/Makefile
drivers/media/video/gspca/conex.c
drivers/media/video/gspca/etoms.c
drivers/media/video/gspca/gspca.c
drivers/media/video/gspca/gspca.h
drivers/media/video/gspca/jeilinj.c [new file with mode: 0644]
drivers/media/video/gspca/m5602/m5602_s5k83a.c
drivers/media/video/gspca/mr97310a.c
drivers/media/video/gspca/pac207.c
drivers/media/video/gspca/pac7311.c
drivers/media/video/gspca/sn9c20x.c
drivers/media/video/gspca/sonixj.c
drivers/media/video/gspca/spca501.c
drivers/media/video/gspca/spca506.c
drivers/media/video/gspca/spca508.c
drivers/media/video/gspca/stv06xx/stv06xx.c
drivers/media/video/gspca/sunplus.c
drivers/media/video/gspca/t613.c
drivers/media/video/gspca/tv8532.c
drivers/media/video/gspca/vc032x.c
drivers/media/video/gspca/zc3xx.c
drivers/media/video/hdpvr/hdpvr-control.c
drivers/media/video/hdpvr/hdpvr-core.c
drivers/media/video/hdpvr/hdpvr-i2c.c
drivers/media/video/hdpvr/hdpvr-video.c
drivers/media/video/ir-kbd-i2c.c
drivers/media/video/ivtv/ivtv-cards.c
drivers/media/video/ivtv/ivtv-cards.h
drivers/media/video/ivtv/ivtv-driver.c
drivers/media/video/ivtv/ivtv-gpio.c
drivers/media/video/ivtv/ivtv-i2c.c
drivers/media/video/meye.c
drivers/media/video/pvrusb2/pvrusb2-audio.c
drivers/media/video/pvrusb2/pvrusb2-i2c-core.c
drivers/media/video/pwc/pwc-if.c
drivers/media/video/pwc/pwc-v4l.c
drivers/media/video/pwc/pwc.h
drivers/media/video/saa6588.c
drivers/media/video/saa7134/Kconfig
drivers/media/video/saa7134/saa6752hs.c
drivers/media/video/saa7134/saa7134-alsa.c
drivers/media/video/saa7134/saa7134-cards.c
drivers/media/video/saa7134/saa7134-core.c
drivers/media/video/saa7134/saa7134-dvb.c
drivers/media/video/saa7134/saa7134-input.c
drivers/media/video/saa7134/saa7134-video.c
drivers/media/video/saa7134/saa7134.h
drivers/media/video/sn9c102/sn9c102_devtable.h
drivers/media/video/stk-webcam.c
drivers/media/video/stv680.c
drivers/media/video/tuner-core.c
drivers/media/video/tveeprom.c
drivers/media/video/uvc/uvc_ctrl.c
drivers/media/video/uvc/uvc_driver.c
drivers/media/video/uvc/uvc_isight.c
drivers/media/video/uvc/uvc_v4l2.c
drivers/media/video/uvc/uvc_video.c
drivers/media/video/uvc/uvcvideo.h
drivers/media/video/v4l1-compat.c
drivers/media/video/v4l2-common.c
drivers/media/video/v4l2-compat-ioctl32.c
drivers/media/video/v4l2-ioctl.c
drivers/media/video/vino.c
drivers/media/video/w9968cf.c
drivers/media/video/zoran/zoran_card.c
drivers/media/video/zr364xx.c
drivers/mtd/chips/cfi_cmdset_0001.c
drivers/mtd/chips/cfi_cmdset_0020.c
drivers/mtd/maps/bfin-async-flash.c
drivers/mtd/maps/ceiva.c
drivers/mtd/maps/dc21285.c
drivers/mtd/maps/ipaq-flash.c
drivers/mtd/maps/pxa2xx-flash.c
drivers/mtd/maps/sa1100-flash.c
drivers/mtd/mtdblock.c
drivers/mtd/mtdpart.c
drivers/net/smc91x.c
drivers/net/smc91x.h
drivers/pci/dmar.c
drivers/pci/intel-iommu.c
drivers/ps3/ps3stor_lib.c
drivers/rtc/rtc-sa1100.c
drivers/video/ps3fb.c
drivers/video/sa1100fb.c
drivers/xen/events.c
fs/afs/write.c
fs/block_dev.c
fs/btrfs/disk-io.c
fs/btrfs/ordered-data.c
fs/fs-writeback.c
fs/fuse/inode.c
fs/inode.c
fs/jbd2/commit.c
fs/nfs/super.c
fs/nfs/write.c
fs/nilfs2/the_nilfs.c
fs/super.c
fs/sync.c
fs/ubifs/budget.c
fs/ubifs/super.c
include/asm-generic/vmlinux.lds.h
include/linux/agp_backend.h
include/linux/backing-dev.h
include/linux/dma-mapping.h
include/linux/dvb/dmx.h
include/linux/fs.h
include/linux/ide.h
include/linux/io-mapping.h
include/linux/mtd/partitions.h
include/linux/page-flags.h
include/linux/pci_ids.h
include/linux/percpu-defs.h
include/linux/percpu.h
include/linux/tboot.h [new file with mode: 0644]
include/linux/usb/video.h [new file with mode: 0644]
include/linux/videodev2.h
include/linux/vmalloc.h
include/linux/writeback.h
include/media/ir-common.h
include/media/ir-kbd-i2c.h
include/media/radio-si4713.h [new file with mode: 0644]
include/media/si4713.h [new file with mode: 0644]
include/media/tuner.h
include/media/v4l2-subdev.h
include/trace/events/ext4.h
init/main.c
kernel/cpu.c
kernel/gcov/Kconfig
kernel/module.c
kernel/perf_counter.c
kernel/sched.c
kernel/smp.c
kernel/trace/trace_events.c
lib/Kconfig.debug
lib/inflate.c
mm/Kconfig
mm/Makefile
mm/allocpercpu.c
mm/backing-dev.c
mm/kmemleak-test.c
mm/page-writeback.c
mm/percpu.c
mm/quicklist.c
mm/slub.c
mm/vmalloc.c
net/ipv4/syncookies.c
net/ipv6/syncookies.c
net/rds/ib_stats.c
net/rds/iw_stats.c
net/rds/page.c
scripts/module-common.lds [new file with mode: 0644]
security/Kconfig

diff --git a/CREDITS b/CREDITS
index 1a41bf4addd0689c9bd7243c80712ee409da9310..72b487869788c14cd40e9535b700f4be166aa12b 100644 (file)
--- a/CREDITS
+++ b/CREDITS
@@ -2800,7 +2800,7 @@ D: Starter of Linux1394 effort
 S: ask per mail for current address
 
 N: Nicolas Pitre
-E: nico@cam.org
+E: nico@fluxnic.net
 D: StrongARM SA1100 support integrator & hacker
 D: Xscale PXA architecture
 D: unified SMC 91C9x/91C11x ethernet driver (smc91x)
index ab47c3833908c67ff71d8c65569707859099fcf1..7197a9e958ee259a77428ca27a3cd5f143ec4dfd 100644 (file)
@@ -40,4 +40,4 @@ Notes:
   mode, the timing is off so the image is corrupted.  This will be
   fixed soon.
 
-Any contribution can be sent to nico@cam.org and will be greatly welcome!
+Any contribution can be sent to nico@fluxnic.net and will be greatly welcome!
index 78bc1c1b04e58596d118d0f601914ad0cba9a3ce..91f7ce7ba426b39dc319b54cbc83fda7ec97554e 100644 (file)
@@ -240,7 +240,7 @@ Then, rebooting the Assabet is just a matter of waiting for the login prompt.
 
 
 Nicolas Pitre
-nico@cam.org
+nico@fluxnic.net
 June 12, 2001
 
 
index 2254c8f0b326958e713d4e47397b322699fafeb8..b1cfd405dccc599378139c1b7093919f696f258c 100644 (file)
@@ -60,7 +60,7 @@ little modifications.
 
 Any contribution is welcome.
 
-Please send patches to nico@cam.org
+Please send patches to nico@fluxnic.net
 
 Have Fun !
 
index 8fa7e8027ff13ec2230ab6117ea8821b1a08f4ab..6c9c4f5a36e17fe6c5e3700483aa71811f261952 100644 (file)
@@ -4,7 +4,7 @@ For more details, contact Applied Data Systems or see
 http://www.applieddata.net/products.html
 
 The original Linux support for this product has been provided by 
-Nicolas Pitre <nico@cam.org>. Continued development work by
+Nicolas Pitre <nico@fluxnic.net>. Continued development work by
 Woojung Huh <whuh@applieddata.net>
 
 It's currently possible to mount a root filesystem via NFS providing a
@@ -94,5 +94,5 @@ Notes:
   mode, the timing is off so the image is corrupted.  This will be
   fixed soon.
 
-Any contribution can be sent to nico@cam.org and will be greatly welcome!
+Any contribution can be sent to nico@fluxnic.net and will be greatly welcome!
 
index dd28745ac52169a176e1a2f9d91f9629000f53f1..ee7c6595f23fbbc48bd6526701bcdbacbd646249 100644 (file)
@@ -4,7 +4,7 @@ For more details, contact Applied Data Systems or see
 http://www.applieddata.net/products.html
 
 The original Linux support for this product has been provided by
-Nicolas Pitre <nico@cam.org>. Continued development work by
+Nicolas Pitre <nico@fluxnic.net>. Continued development work by
 Woojung Huh <whuh@applieddata.net>
 
 Use 'make graphicsmaster_config' before any 'make config'.
@@ -50,4 +50,4 @@ Notes:
   mode, the timing is off so the image is corrupted.  This will be
   fixed soon.
 
-Any contribution can be sent to nico@cam.org and will be greatly welcome!
+Any contribution can be sent to nico@fluxnic.net and will be greatly welcome!
index 01e81fc49461dab8ba1979973b40371e46cdfb67..f938a29fdc20f8c7a9ddbcbfc6036f69923b2e75 100644 (file)
@@ -9,7 +9,7 @@ Of course Victor is using Linux as its main operating system.
 The Victor implementation for Linux is maintained by Nicolas Pitre:
 
        nico@visuaide.com
-       nico@cam.org
+       nico@fluxnic.net
 
 For any comments, please feel free to contact me through the above
 addresses.
diff --git a/Documentation/intel_txt.txt b/Documentation/intel_txt.txt
new file mode 100644 (file)
index 0000000..f40a1f0
--- /dev/null
@@ -0,0 +1,210 @@
+Intel(R) TXT Overview:
+=====================
+
+Intel's technology for safer computing, Intel(R) Trusted Execution
+Technology (Intel(R) TXT), defines platform-level enhancements that
+provide the building blocks for creating trusted platforms.
+
+Intel TXT was formerly known by the code name LaGrande Technology (LT).
+
+Intel TXT in Brief:
+o  Provides dynamic root of trust for measurement (DRTM)
+o  Data protection in case of improper shutdown
+o  Measurement and verification of launched environment
+
+Intel TXT is part of the vPro(TM) brand and is also available some
+non-vPro systems.  It is currently available on desktop systems
+based on the Q35, X38, Q45, and Q43 Express chipsets (e.g. Dell
+Optiplex 755, HP dc7800, etc.) and mobile systems based on the GM45,
+PM45, and GS45 Express chipsets.
+
+For more information, see http://www.intel.com/technology/security/.
+This site also has a link to the Intel TXT MLE Developers Manual,
+which has been updated for the new released platforms.
+
+Intel TXT has been presented at various events over the past few
+years, some of which are:
+      LinuxTAG 2008:
+          http://www.linuxtag.org/2008/en/conf/events/vp-donnerstag/
+          details.html?talkid=110
+      TRUST2008:
+          http://www.trust2008.eu/downloads/Keynote-Speakers/
+          3_David-Grawrock_The-Front-Door-of-Trusted-Computing.pdf
+      IDF 2008, Shanghai:
+          http://inteldeveloperforum.com.edgesuite.net/shanghai_2008/
+          aep/PROS003/index.html
+      IDFs 2006, 2007 (I'm not sure if/where they are online)
+
+Trusted Boot Project Overview:
+=============================
+
+Trusted Boot (tboot) is an open source, pre- kernel/VMM module that
+uses Intel TXT to perform a measured and verified launch of an OS
+kernel/VMM.
+
+It is hosted on SourceForge at http://sourceforge.net/projects/tboot.
+The mercurial source repo is available at http://www.bughost.org/
+repos.hg/tboot.hg.
+
+Tboot currently supports launching Xen (open source VMM/hypervisor
+w/ TXT support since v3.2), and now Linux kernels.
+
+
+Value Proposition for Linux or "Why should you care?"
+=====================================================
+
+While there are many products and technologies that attempt to
+measure or protect the integrity of a running kernel, they all
+assume the kernel is "good" to begin with.  The Integrity
+Measurement Architecture (IMA) and Linux Integrity Module interface
+are examples of such solutions.
+
+To get trust in the initial kernel without using Intel TXT, a
+static root of trust must be used.  This bases trust in BIOS
+starting at system reset and requires measurement of all code
+executed between system reset through the completion of the kernel
+boot as well as data objects used by that code.  In the case of a
+Linux kernel, this means all of BIOS, any option ROMs, the
+bootloader and the boot config.  In practice, this is a lot of
+code/data, much of which is subject to change from boot to boot
+(e.g. changing NICs may change option ROMs).  Without reference
+hashes, these measurement changes are difficult to assess or
+confirm as benign.  This process also does not provide DMA
+protection, memory configuration/alias checks and locks, crash
+protection, or policy support.
+
+By using the hardware-based root of trust that Intel TXT provides,
+many of these issues can be mitigated.  Specifically: many
+pre-launch components can be removed from the trust chain, DMA
+protection is provided to all launched components, a large number
+of platform configuration checks are performed and values locked,
+protection is provided for any data in the event of an improper
+shutdown, and there is support for policy-based execution/verification.
+This provides a more stable measurement and a higher assurance of
+system configuration and initial state than would be otherwise
+possible.  Since the tboot project is open source, source code for
+almost all parts of the trust chain is available (excepting SMM and
+Intel-provided firmware).
+
+How Does it Work?
+=================
+
+o  Tboot is an executable that is launched by the bootloader as
+   the "kernel" (the binary the bootloader executes).
+o  It performs all of the work necessary to determine if the
+   platform supports Intel TXT and, if so, executes the GETSEC[SENTER]
+   processor instruction that initiates the dynamic root of trust.
+   -  If tboot determines that the system does not support Intel TXT
+      or is not configured correctly (e.g. the SINIT AC Module was
+      incorrect), it will directly launch the kernel with no changes
+      to any state.
+   -  Tboot will output various information about its progress to the
+      terminal, serial port, and/or an in-memory log; the output
+      locations can be configured with a command line switch.
+o  The GETSEC[SENTER] instruction will return control to tboot and
+   tboot then verifies certain aspects of the environment (e.g. TPM NV
+   lock, e820 table does not have invalid entries, etc.).
+o  It will wake the APs from the special sleep state the GETSEC[SENTER]
+   instruction had put them in and place them into a wait-for-SIPI
+   state.
+   -  Because the processors will not respond to an INIT or SIPI when
+      in the TXT environment, it is necessary to create a small VT-x
+      guest for the APs.  When they run in this guest, they will
+      simply wait for the INIT-SIPI-SIPI sequence, which will cause
+      VMEXITs, and then disable VT and jump to the SIPI vector.  This
+      approach seemed like a better choice than having to insert
+      special code into the kernel's MP wakeup sequence.
+o  Tboot then applies an (optional) user-defined launch policy to
+   verify the kernel and initrd.
+   -  This policy is rooted in TPM NV and is described in the tboot
+      project.  The tboot project also contains code for tools to
+      create and provision the policy.
+   -  Policies are completely under user control and if not present
+      then any kernel will be launched.
+   -  Policy action is flexible and can include halting on failures
+      or simply logging them and continuing.
+o  Tboot adjusts the e820 table provided by the bootloader to reserve
+   its own location in memory as well as to reserve certain other
+   TXT-related regions.
+o  As part of it's launch, tboot DMA protects all of RAM (using the
+   VT-d PMRs).  Thus, the kernel must be booted with 'intel_iommu=on'
+   in order to remove this blanket protection and use VT-d's
+   page-level protection.
+o  Tboot will populate a shared page with some data about itself and
+   pass this to the Linux kernel as it transfers control.
+   -  The location of the shared page is passed via the boot_params
+      struct as a physical address.
+o  The kernel will look for the tboot shared page address and, if it
+   exists, map it.
+o  As one of the checks/protections provided by TXT, it makes a copy
+   of the VT-d DMARs in a DMA-protected region of memory and verifies
+   them for correctness.  The VT-d code will detect if the kernel was
+   launched with tboot and use this copy instead of the one in the
+   ACPI table.
+o  At this point, tboot and TXT are out of the picture until a
+   shutdown (S<n>)
+o  In order to put a system into any of the sleep states after a TXT
+   launch, TXT must first be exited.  This is to prevent attacks that
+   attempt to crash the system to gain control on reboot and steal
+   data left in memory.
+   -  The kernel will perform all of its sleep preparation and
+      populate the shared page with the ACPI data needed to put the
+      platform in the desired sleep state.
+   -  Then the kernel jumps into tboot via the vector specified in the
+      shared page.
+   -  Tboot will clean up the environment and disable TXT, then use the
+      kernel-provided ACPI information to actually place the platform
+      into the desired sleep state.
+   -  In the case of S3, tboot will also register itself as the resume
+      vector.  This is necessary because it must re-establish the
+      measured environment upon resume.  Once the TXT environment
+      has been restored, it will restore the TPM PCRs and then
+      transfer control back to the kernel's S3 resume vector.
+      In order to preserve system integrity across S3, the kernel
+      provides tboot with a set of memory ranges (kernel
+      code/data/bss, S3 resume code, and AP trampoline) that tboot
+      will calculate a MAC (message authentication code) over and then
+      seal with the TPM.  On resume and once the measured environment
+      has been re-established, tboot will re-calculate the MAC and
+      verify it against the sealed value.  Tboot's policy determines
+      what happens if the verification fails.
+
+That's pretty much it for TXT support.
+
+
+Configuring the System:
+======================
+
+This code works with 32bit, 32bit PAE, and 64bit (x86_64) kernels.
+
+In BIOS, the user must enable:  TPM, TXT, VT-x, VT-d.  Not all BIOSes
+allow these to be individually enabled/disabled and the screens in
+which to find them are BIOS-specific.
+
+grub.conf needs to be modified as follows:
+        title Linux 2.6.29-tip w/ tboot
+          root (hd0,0)
+                kernel /tboot.gz logging=serial,vga,memory
+                module /vmlinuz-2.6.29-tip intel_iommu=on ro
+                       root=LABEL=/ rhgb console=ttyS0,115200 3
+                module /initrd-2.6.29-tip.img
+                module /Q35_SINIT_17.BIN
+
+The kernel option for enabling Intel TXT support is found under the
+Security top-level menu and is called "Enable Intel(R) Trusted
+Execution Technology (TXT)".  It is marked as EXPERIMENTAL and
+depends on the generic x86 support (to allow maximum flexibility in
+kernel build options), since the tboot code will detect whether the
+platform actually supports Intel TXT and thus whether any of the
+kernel code is executed.
+
+The Q35_SINIT_17.BIN file is what Intel TXT refers to as an
+Authenticated Code Module.  It is specific to the chipset in the
+system and can also be found on the Trusted Boot site.  It is an
+(unencrypted) module signed by Intel that is used as part of the
+DRTM process to verify and configure the system.  It is signed
+because it operates at a higher privilege level in the system than
+any other macrocode and its correct operation is critical to the
+establishment of the DRTM.  The process for determining the correct
+SINIT ACM for a system is documented in the SINIT-guide.txt file
+that is on the tboot SourceForge site under the SINIT ACM downloads.
index 3a238644c81182571e63f6065fcfe9ccac988d98..4c12a290bee52a00186e4a4e4c4d726996320d8e 100644 (file)
@@ -1971,11 +1971,12 @@ and is between 256 and 4096 characters. It is defined in the file
                        Format: { 0 | 1 }
                        See arch/parisc/kernel/pdc_chassis.c
 
-       percpu_alloc=   [X86] Select which percpu first chunk allocator to use.
-                       Allowed values are one of "lpage", "embed" and "4k".
-                       See comments in arch/x86/kernel/setup_percpu.c for
-                       details on each allocator.  This parameter is primarily
-                       for debugging and performance comparison.
+       percpu_alloc=   Select which percpu first chunk allocator to use.
+                       Currently supported values are "embed" and "page".
+                       Archs may support subset or none of the selections.
+                       See comments in mm/percpu.c for details on each
+                       allocator.  This parameter is primarily for debugging
+                       and performance comparison.
 
        pf.             [PARIDE]
                        See Documentation/blockdev/paride.txt.
index 450b8f8c389bcb5eba41cc21515795429f0c2b5c..525edb37c758859d59dfb0e2c95bcef8039ce07d 100644 (file)
@@ -21,3 +21,5 @@
  20 -> Hauppauge WinTV-HVR1255                             [0070:2251]
  21 -> Hauppauge WinTV-HVR1210                             [0070:2291,0070:2295]
  22 -> Mygica X8506 DMB-TH                                 [14f1:8651]
+ 23 -> Magic-Pro ProHDTV Extreme 2                         [14f1:8657]
+ 24 -> Hauppauge WinTV-HVR1850                             [0070:8541]
index 0736518b2f8814114ecbf89d031b7d57ab757d7e..3385f8b094a5ef5a702c8b662e61b4052c846cc7 100644 (file)
@@ -80,3 +80,4 @@
  79 -> Terratec Cinergy HT PCI MKII                        [153b:1177]
  80 -> Hauppauge WinTV-IR Only                             [0070:9290]
  81 -> Leadtek WinFast DTV1800 Hybrid                      [107d:6654]
+ 82 -> WinFast DTV2000 H rev. J                            [107d:6f2b]
index e352d754875cae415b0c27d766336c00942cd241..b13fcbd5d94b198a176eecb11a72621c76df09eb 100644 (file)
@@ -7,7 +7,7 @@
   6 -> Terratec Cinergy 200 USB                 (em2800)
   7 -> Leadtek Winfast USB II                   (em2800)        [0413:6023]
   8 -> Kworld USB2800                           (em2800)
-  9 -> Pinnacle Dazzle DVC 90/100/101/107 / Kaiser Baas Video to DVD maker (em2820/em2840) [1b80:e302,2304:0207,2304:021a]
+  9 -> Pinnacle Dazzle DVC 90/100/101/107 / Kaiser Baas Video to DVD maker  (em2820/em2840) [1b80:e302,1b80:e304,2304:0207,2304:021a]
  10 -> Hauppauge WinTV HVR 900                  (em2880)        [2040:6500]
  11 -> Terratec Hybrid XS                       (em2880)        [0ccd:0042]
  12 -> Kworld PVR TV 2800 RF                    (em2820/em2840)
@@ -33,7 +33,7 @@
  34 -> Terratec Cinergy A Hybrid XS             (em2860)        [0ccd:004f]
  35 -> Typhoon DVD Maker                        (em2860)
  36 -> NetGMBH Cam                              (em2860)
- 37 -> Gadmei UTV330                            (em2860)
+ 37 -> Gadmei UTV330                            (em2860)        [eb1a:50a6]
  38 -> Yakumo MovieMixer                        (em2861)
  39 -> KWorld PVRTV 300U                        (em2861)        [eb1a:e300]
  40 -> Plextor ConvertX PX-TV100U               (em2861)        [093b:a005]
@@ -67,3 +67,4 @@
  69 -> KWorld ATSC 315U HDTV TV Box             (em2882)        [eb1a:a313]
  70 -> Evga inDtube                             (em2882)
  71 -> Silvercrest Webcam 1.3mpix               (em2820/em2840)
+ 72 -> Gadmei UTV330+                           (em2861)
index c913e5614195a9a359411ee163f8c2e081d24a2a..0ac4d2544778e250a70b14260c5e505bdf3c9221 100644 (file)
 166 -> Beholder BeholdTV 607 RDS                [5ace:6073]
 167 -> Beholder BeholdTV 609 RDS                [5ace:6092]
 168 -> Beholder BeholdTV 609 RDS                [5ace:6093]
+169 -> Compro VideoMate S350/S300               [185b:c900]
+170 -> AverMedia AverTV Studio 505              [1461:a115]
+171 -> Beholder BeholdTV X7                     [5ace:7595]
+172 -> RoverMedia TV Link Pro FM                [19d1:0138]
index be67844074dd1f3c31430dc75a70ccc9a53be24a..ba9fa679e2d362e66e998672a3029c7d350402c8 100644 (file)
@@ -78,3 +78,4 @@ tuner=77 - TCL tuner MF02GIP-5N-E
 tuner=78 - Philips FMD1216MEX MK3 Hybrid Tuner
 tuner=79 - Philips PAL/SECAM multi (FM1216 MK5)
 tuner=80 - Philips FQ1216LME MK3 PAL/SECAM w/active loopthrough
+tuner=81 - Partsnic (Daewoo) PTI-5NF05
index 04986efb731c443fcd16457d8e3638c8c15e9f81..d230878e473e3b230e9bc65a2d06cdfa73e9e0d7 100644 (file)
@@ -18,8 +18,8 @@ Table of Contents
 
 1.0 Introduction
 
-  The file ../drivers/char/c-qcam.c is a device driver for the
-Logitech (nee Connectix) parallel port interface color CCD camera.
+  The file ../../drivers/media/video/c-qcam.c is a device driver for
+the Logitech (nee Connectix) parallel port interface color CCD camera.
 This is a fairly inexpensive device for capturing images.  Logitech
 does not currently provide information for developers, but many people
 have engineered several solutions for non-Microsoft use of the Color
index 573f95b588079b6ae1ede70f479cf539e397e2eb..4686e84dd800e0b635d3bae7845542616bcf03f1 100644 (file)
@@ -140,6 +140,7 @@ spca500             04fc:7333       PalmPixDC85
 sunplus                04fc:ffff       Pure DigitalDakota
 spca501                0506:00df       3Com HomeConnect Lite
 sunplus                052b:1513       Megapix V4
+sunplus                052b:1803       MegaImage VI
 tv8532         0545:808b       Veo Stingray
 tv8532         0545:8333       Veo Stingray
 sunplus                0546:3155       Polaroid PDC3070
@@ -182,6 +183,7 @@ ov534               06f8:3002       Hercules Blog Webcam
 ov534          06f8:3003       Hercules Dualpix HD Weblog
 sonixj         06f8:3004       Hercules Classic Silver
 sonixj         06f8:3008       Hercules Deluxe Optical Glass
+pac7311                06f8:3009       Hercules Classic Link
 spca508                0733:0110       ViewQuest VQ110
 spca508                0130:0130       Clone Digital Webcam 11043
 spca501                0733:0401       Intel Create and Share
@@ -235,8 +237,10 @@ pac7311            093a:2621       PAC731x
 pac7311                093a:2622       Genius Eye 312
 pac7311                093a:2624       PAC7302
 pac7311                093a:2626       Labtec 2200
+pac7311                093a:2629       Genious iSlim 300
 pac7311                093a:262a       Webcam 300k
 pac7311                093a:262c       Philips SPC 230 NC
+jeilinj                0979:0280       Sakar 57379
 zc3xx          0ac8:0302       Z-star Vimicro zc0302
 vc032x         0ac8:0321       Vimicro generic vc0321
 vc032x         0ac8:0323       Vimicro Vc0323
@@ -247,6 +251,7 @@ zc3xx               0ac8:305b       Z-star Vimicro zc0305b
 zc3xx          0ac8:307b       Ldlc VC302+Ov7620
 vc032x         0ac8:c001       Sony embedded vimicro
 vc032x         0ac8:c002       Sony embedded vimicro
+vc032x         0ac8:c301       Samsung Q1 Ultra Premium
 spca508                0af9:0010       Hama USB Sightcam 100
 spca508                0af9:0011       Hama USB Sightcam 100
 sonixb         0c45:6001       Genius VideoCAM NB
@@ -284,6 +289,7 @@ sonixj              0c45:613a       Microdia Sonix PC Camera
 sonixj         0c45:613b       Surfer SN-206
 sonixj         0c45:613c       Sonix Pccam168
 sonixj         0c45:6143       Sonix Pccam168
+sonixj         0c45:6148       Digitus DA-70811/ZSMC USB PC Camera ZS211/Microdia
 sn9c20x                0c45:6240       PC Camera (SN9C201 + MT9M001)
 sn9c20x                0c45:6242       PC Camera (SN9C201 + MT9M111)
 sn9c20x                0c45:6248       PC Camera (SN9C201 + OV9655)
diff --git a/Documentation/video4linux/si4713.txt b/Documentation/video4linux/si4713.txt
new file mode 100644 (file)
index 0000000..25abdb7
--- /dev/null
@@ -0,0 +1,176 @@
+Driver for I2C radios for the Silicon Labs Si4713 FM Radio Transmitters
+
+Copyright (c) 2009 Nokia Corporation
+Contact: Eduardo Valentin <eduardo.valentin@nokia.com>
+
+
+Information about the Device
+============================
+This chip is a Silicon Labs product. It is a I2C device, currently on 0x63 address.
+Basically, it has transmission and signal noise level measurement features.
+
+The Si4713 integrates transmit functions for FM broadcast stereo transmission.
+The chip also allows integrated receive power scanning to identify low signal
+power FM channels.
+
+The chip is programmed using commands and responses. There are also several
+properties which can change the behavior of this chip.
+
+Users must comply with local regulations on radio frequency (RF) transmission.
+
+Device driver description
+=========================
+There are two modules to handle this device. One is a I2C device driver
+and the other is a platform driver.
+
+The I2C device driver exports a v4l2-subdev interface to the kernel.
+All properties can also be accessed by v4l2 extended controls interface, by
+using the v4l2-subdev calls (g_ext_ctrls, s_ext_ctrls).
+
+The platform device driver exports a v4l2 radio device interface to user land.
+So, it uses the I2C device driver as a sub device in order to send the user
+commands to the actual device. Basically it is a wrapper to the I2C device driver.
+
+Applications can use v4l2 radio API to specify frequency of operation, mute state,
+etc. But mostly of its properties will be present in the extended controls.
+
+When the v4l2 mute property is set to 1 (true), the driver will turn the chip off.
+
+Properties description
+======================
+
+The properties can be accessed using v4l2 extended controls.
+Here is an output from v4l2-ctl util:
+/ # v4l2-ctl -d /dev/radio0 --all -L
+Driver Info:
+       Driver name   : radio-si4713
+       Card type     : Silicon Labs Si4713 Modulator
+       Bus info      :
+       Driver version: 0
+       Capabilities  : 0x00080800
+               RDS Output
+               Modulator
+Audio output: 0 (FM Modulator Audio Out)
+Frequency: 1408000 (88.000000 MHz)
+Video Standard = 0x00000000
+Modulator:
+       Name                 : FM Modulator
+       Capabilities         : 62.5 Hz stereo rds
+       Frequency range      : 76.0 MHz - 108.0 MHz
+       Subchannel modulation: stereo+rds
+
+User Controls
+
+                          mute (bool) : default=1 value=0
+
+FM Radio Modulator Controls
+
+          rds_signal_deviation (int)  : min=0 max=90000 step=10 default=200 value=200 flags=slider
+                rds_program_id (int)  : min=0 max=65535 step=1 default=0 value=0
+              rds_program_type (int)  : min=0 max=31 step=1 default=0 value=0
+                   rds_ps_name (str)  : min=0 max=96 step=8 value='si4713  '
+                rds_radio_text (str)  : min=0 max=384 step=32 value=''
+  audio_limiter_feature_enabled (bool) : default=1 value=1
+     audio_limiter_release_time (int)  : min=250 max=102390 step=50 default=5010 value=5010 flags=slider
+       audio_limiter_deviation (int)  : min=0 max=90000 step=10 default=66250 value=66250 flags=slider
+audio_compression_feature_enabl (bool) : default=1 value=1
+        audio_compression_gain (int)  : min=0 max=20 step=1 default=15 value=15 flags=slider
+    audio_compression_threshold (int)  : min=-40 max=0 step=1 default=-40 value=-40 flags=slider
+  audio_compression_attack_time (int)  : min=0 max=5000 step=500 default=0 value=0 flags=slider
+ audio_compression_release_time (int)  : min=100000 max=1000000 step=100000 default=1000000 value=1000000 flags=slider
+     pilot_tone_feature_enabled (bool) : default=1 value=1
+          pilot_tone_deviation (int)  : min=0 max=90000 step=10 default=6750 value=6750 flags=slider
+          pilot_tone_frequency (int)  : min=0 max=19000 step=1 default=19000 value=19000 flags=slider
+         pre_emphasis_settings (menu) : min=0 max=2 default=1 value=1
+              tune_power_level (int)  : min=0 max=120 step=1 default=88 value=88 flags=slider
+        tune_antenna_capacitor (int)  : min=0 max=191 step=1 default=0 value=110 flags=slider
+/ #
+
+Here is a summary of them:
+
+* Pilot is an audible tone sent by the device.
+
+pilot_frequency - Configures the frequency of the stereo pilot tone.
+pilot_deviation - Configures pilot tone frequency deviation level.
+pilot_enabled - Enables or disables the pilot tone feature.
+
+* The si4713 device is capable of applying audio compression to the transmitted signal.
+
+acomp_enabled - Enables or disables the audio dynamic range control feature.
+acomp_gain - Sets the gain for audio dynamic range control.
+acomp_threshold - Sets the threshold level for audio dynamic range control.
+acomp_attack_time - Sets the attack time for audio dynamic range control.
+acomp_release_time - Sets the release time for audio dynamic range control.
+
+* Limiter setups audio deviation limiter feature. Once a over deviation occurs,
+it is possible to adjust the front-end gain of the audio input and always
+prevent over deviation.
+
+limiter_enabled - Enables or disables the limiter feature.
+limiter_deviation - Configures audio frequency deviation level.
+limiter_release_time - Sets the limiter release time.
+
+* Tuning power
+
+power_level - Sets the output power level for signal transmission.
+antenna_capacitor - This selects the value of antenna tuning capacitor manually
+or automatically if set to zero.
+
+* RDS related
+
+rds_ps_name - Sets the RDS ps name field for transmission.
+rds_radio_text - Sets the RDS radio text for transmission.
+rds_pi - Sets the RDS PI field for transmission.
+rds_pty - Sets the RDS PTY field for transmission.
+
+* Region related
+
+preemphasis - sets the preemphasis to be applied for transmission.
+
+RNL
+===
+
+This device also has an interface to measure received noise level. To do that, you should
+ioctl the device node. Here is an code of example:
+
+int main (int argc, char *argv[])
+{
+       struct si4713_rnl rnl;
+       int fd = open("/dev/radio0", O_RDWR);
+       int rval;
+
+       if (argc < 2)
+               return -EINVAL;
+
+       if (fd < 0)
+               return fd;
+
+       sscanf(argv[1], "%d", &rnl.frequency);
+
+       rval = ioctl(fd, SI4713_IOC_MEASURE_RNL, &rnl);
+       if (rval < 0)
+               return rval;
+
+       printf("received noise level: %d\n", rnl.rnl);
+
+       close(fd);
+}
+
+The struct si4713_rnl and SI4713_IOC_MEASURE_RNL are defined under
+include/media/si4713.h.
+
+Stereo/Mono and RDS subchannels
+===============================
+
+The device can also be configured using the available sub channels for
+transmission. To do that use S/G_MODULATOR ioctl and configure txsubchans properly.
+Refer to v4l2-spec for proper use of this ioctl.
+
+Testing
+=======
+Testing is usually done with v4l2-ctl utility for managing FM tuner cards.
+The tool can be found in v4l-dvb repository under v4l2-apps/util directory.
+
+Example for setting rds ps name:
+# v4l2-ctl -d /dev/radio0 --set-ctrl=rds_ps_name="Dummy"
+
index 4f913857b8a26bae558c5b0f30a6bba0799fcbf9..feb37e177010517f8f1f1d1edee3a96ed77f793f 100644 (file)
@@ -12,6 +12,7 @@ Offset        Proto   Name            Meaning
 000/040        ALL     screen_info     Text mode or frame buffer information
                                (struct screen_info)
 040/014        ALL     apm_bios_info   APM BIOS information (struct apm_bios_info)
+058/008        ALL     tboot_addr      Physical address of tboot shared page
 060/010        ALL     ist_info        Intel SpeedStep (IST) BIOS support information
                                (struct ist_info)
 080/010        ALL     hd0_info        hd0 disk parameter, OBSOLETE!!
index 837b5985ac40eea5490e85bb2cc5587be6220ef4..64b9e447545c2df6d9056cc5fd66fc360b623df3 100644 (file)
@@ -3317,7 +3317,7 @@ S:        Supported
 F:     drivers/net/wireless/mwl8k.c
 
 MARVELL SOC MMC/SD/SDIO CONTROLLER DRIVER
-M:     Nicolas Pitre <nico@cam.org>
+M:     Nicolas Pitre <nico@fluxnic.net>
 S:     Maintained
 
 MARVELL YUKON / SYSKONNECT DRIVER
@@ -4689,7 +4689,7 @@ F:        include/linux/sl?b*.h
 F:     mm/sl?b.c
 
 SMC91x ETHERNET DRIVER
-M:     Nicolas Pitre <nico@cam.org>
+M:     Nicolas Pitre <nico@fluxnic.net>
 S:     Maintained
 F:     drivers/net/smc91x.*
 
index 60de4ef312547da0264a363c87d0165626a6db8c..433493a2b77baacc36152f30f88fd2b1e7f83db4 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -325,7 +325,7 @@ CHECKFLAGS     := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ \
 MODFLAGS       = -DMODULE
 CFLAGS_MODULE   = $(MODFLAGS)
 AFLAGS_MODULE   = $(MODFLAGS)
-LDFLAGS_MODULE  =
+LDFLAGS_MODULE  = -T $(srctree)/scripts/module-common.lds
 CFLAGS_KERNEL  =
 AFLAGS_KERNEL  =
 CFLAGS_GCOV    = -fprofile-arcs -ftest-coverage
index 26c17913529366ef0a5930b073c0e1f4648b6b70..a94d48b8677feba13f6e49b1b1b96c9f688b29d4 100644 (file)
@@ -9,10 +9,6 @@
 #define unmap_page_from_agp(page) 
 #define flush_agp_cache() mb()
 
-/* Convert a physical address to an address suitable for the GART. */
-#define phys_to_gart(x) (x)
-#define gart_to_phys(x) (x)
-
 /* GATT allocation. Returns/accepts GATT kernel virtual address. */
 #define alloc_gatt_pages(order)                \
        ((char *)__get_free_pages(GFP_KERNEL, (order)))
index b663f1f10b6a1011c7645580300951b977029acd..2c12378e3aa95404e6b7045db0aaf5aaacd550a8 100644 (file)
 #ifndef __ALPHA_PERCPU_H
 #define __ALPHA_PERCPU_H
 
-#include <linux/compiler.h>
-#include <linux/threads.h>
-#include <linux/percpu-defs.h>
-
-/*
- * Determine the real variable name from the name visible in the
- * kernel sources.
- */
-#define per_cpu_var(var) per_cpu__##var
-
-#ifdef CONFIG_SMP
-
-/*
- * per_cpu_offset() is the offset that has to be added to a
- * percpu variable to get to the instance for a certain processor.
- */
-extern unsigned long __per_cpu_offset[NR_CPUS];
-
-#define per_cpu_offset(x) (__per_cpu_offset[x])
-
-#define __my_cpu_offset per_cpu_offset(raw_smp_processor_id())
-#ifdef CONFIG_DEBUG_PREEMPT
-#define my_cpu_offset per_cpu_offset(smp_processor_id())
-#else
-#define my_cpu_offset __my_cpu_offset
-#endif
-
-#ifndef MODULE
-#define SHIFT_PERCPU_PTR(var, offset) RELOC_HIDE(&per_cpu_var(var), (offset))
-#define PER_CPU_DEF_ATTRIBUTES
-#else
 /*
- * To calculate addresses of locally defined variables, GCC uses 32-bit
- * displacement from the GP. Which doesn't work for per cpu variables in
- * modules, as an offset to the kernel per cpu area is way above 4G.
+ * To calculate addresses of locally defined variables, GCC uses
+ * 32-bit displacement from the GP. Which doesn't work for per cpu
+ * variables in modules, as an offset to the kernel per cpu area is
+ * way above 4G.
  *
- * This forces allocation of a GOT entry for per cpu variable using
- * ldq instruction with a 'literal' relocation.
- */
-#define SHIFT_PERCPU_PTR(var, offset) ({               \
-       extern int simple_identifier_##var(void);       \
-       unsigned long __ptr, tmp_gp;                    \
-       asm (  "br      %1, 1f                        \n\
-       1:      ldgp    %1, 0(%1)                     \n\
-               ldq %0, per_cpu__" #var"(%1)\t!literal"         \
-               : "=&r"(__ptr), "=&r"(tmp_gp));         \
-       (typeof(&per_cpu_var(var)))(__ptr + (offset)); })
-
-#define PER_CPU_DEF_ATTRIBUTES __used
-
-#endif /* MODULE */
-
-/*
- * A percpu variable may point to a discarded regions. The following are
- * established ways to produce a usable pointer from the percpu variable
- * offset.
+ * Always use weak definitions for percpu variables in modules.
  */
-#define per_cpu(var, cpu) \
-       (*SHIFT_PERCPU_PTR(var, per_cpu_offset(cpu)))
-#define __get_cpu_var(var) \
-       (*SHIFT_PERCPU_PTR(var, my_cpu_offset))
-#define __raw_get_cpu_var(var) \
-       (*SHIFT_PERCPU_PTR(var, __my_cpu_offset))
-
-#else /* ! SMP */
-
-#define per_cpu(var, cpu)              (*((void)(cpu), &per_cpu_var(var)))
-#define __get_cpu_var(var)             per_cpu_var(var)
-#define __raw_get_cpu_var(var)         per_cpu_var(var)
-
-#define PER_CPU_DEF_ATTRIBUTES
-
-#endif /* SMP */
-
-#ifdef CONFIG_SMP
-#define PER_CPU_BASE_SECTION ".data.percpu"
-#else
-#define PER_CPU_BASE_SECTION ".data"
-#endif
-
-#ifdef CONFIG_SMP
-
-#ifdef MODULE
-#define PER_CPU_SHARED_ALIGNED_SECTION ""
-#else
-#define PER_CPU_SHARED_ALIGNED_SECTION ".shared_aligned"
-#endif
-#define PER_CPU_FIRST_SECTION ".first"
-
-#else
-
-#define PER_CPU_SHARED_ALIGNED_SECTION ""
-#define PER_CPU_FIRST_SECTION ""
-
+#if defined(MODULE) && defined(CONFIG_SMP)
+#define ARCH_NEEDS_WEAK_PER_CPU
 #endif
 
-#define PER_CPU_ATTRIBUTES
+#include <asm-generic/percpu.h>
 
 #endif /* __ALPHA_PERCPU_H */
index 9d87aaa08c0df1cf093bbb90227a2f8470adb70e..e89e0c2e15b17f7eda39cd753b5e4f918a0fa902 100644 (file)
@@ -2,6 +2,7 @@
 #define _ALPHA_TLBFLUSH_H
 
 #include <linux/mm.h>
+#include <linux/sched.h>
 #include <asm/compiler.h>
 #include <asm/pgalloc.h>
 
index b9d6568e5f7f0eb68f7ecb2dac4207a705e0e47b..6dc03c35caa0246bb87dc69c0add025e1f46ab94 100644 (file)
@@ -134,13 +134,6 @@ SECTIONS
        __bss_stop = .;
        _end = .;
 
-       /* Sections to be discarded */
-       /DISCARD/ : {
-               EXIT_TEXT
-               EXIT_DATA
-               *(.exitcall.exit)
-       }
-
        .mdebug 0 : {
                *(.mdebug)
        }
@@ -150,4 +143,6 @@ SECTIONS
 
        STABS_DEBUG
        DWARF_DEBUG
+
+       DISCARDS
 }
index 4c8c0e46027d224458e104d4ceab0d4e607b9c3c..6179d94dd5c665a634e5e2913a916c96c9652c84 100644 (file)
@@ -1,7 +1,7 @@
 /* 
  * linux/arch/arm/boot/compressed/head-sa1100.S
  * 
- * Copyright (C) 1999 Nicolas Pitre <nico@cam.org>
+ * Copyright (C) 1999 Nicolas Pitre <nico@fluxnic.net>
  * 
  * SA1100 specific tweaks.  This is merged into head.S by the linker.
  *
index 69371028a2025a7f7b2f52fb32cdabadeae728e7..5cc4812c97635b9c4e723b87a93aabd009e6e8bb 100644 (file)
@@ -83,6 +83,7 @@ SECTIONS
                EXIT_TEXT
                EXIT_DATA
                *(.exitcall.exit)
+               *(.discard)
                *(.ARM.exidx.exit.text)
                *(.ARM.extab.exit.text)
 #ifndef CONFIG_HOTPLUG_CPU
index 67964bcfc854fde5fc46ed33294a189c4bb1f371..6dc06487f3c3e95359b2559163f24d8a8ca635cf 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * linux/arch/arm/lib/lib1funcs.S: Optimized ARM division routines
  *
- * Author: Nicolas Pitre <nico@cam.org>
+ * Author: Nicolas Pitre <nico@fluxnic.net>
  *   - contributed to gcc-3.4 on Sep 30, 2003
  *   - adapted for the Linux kernel on Oct 2, 2003
  */
index 09b548cac1a41fba1d04fb14d9b3f7cdd197c7f6..eb0edb80d7b84c8780168bd51b535b827dadba1d 100644 (file)
@@ -3,7 +3,7 @@
  *
  *  SHA transform optimized for ARM
  *
- *  Copyright: (C) 2005 by Nicolas Pitre <nico@cam.org>
+ *  Copyright: (C) 2005 by Nicolas Pitre <nico@fluxnic.net>
  *  Created:   September 17, 2005
  *
  *  This program is free software; you can redistribute it and/or modify
index 3959b20d5d1c221358a330844f3143b4b2b0ef55..28c2cf50c259e9275e605ce8c578bc133fa49429 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * arch/arm/mach-sa1100/include/mach/assabet.h
  *
- * Created 2000/06/05 by Nicolas Pitre <nico@cam.org>
+ * Created 2000/06/05 by Nicolas Pitre <nico@fluxnic.net>
  *
  * This file contains the hardware specific definitions for Assabet
  * Only include this file from SA1100-specific files.
index 60711822b1258dafee21d535b9255d2f583ea27c..99f5856d8de424ce006d09c090cf0810f649e811 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * arch/arm/mach-sa1100/include/mach/hardware.h
  *
- * Copyright (C) 1998 Nicolas Pitre <nico@cam.org>
+ * Copyright (C) 1998 Nicolas Pitre <nico@fluxnic.net>
  *
  * This file contains the hardware definitions for SA1100 architecture
  *
index e9f8eed900f5171f0ecdda0d625cf7399159086b..d5277f9bee77d8dc7a98b2acb60d494e5fcc9df1 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * arch/arm/mach-sa1100/include/mach/memory.h
  *
- * Copyright (C) 1999-2000 Nicolas Pitre <nico@cam.org>
+ * Copyright (C) 1999-2000 Nicolas Pitre <nico@fluxnic.net>
  */
 
 #ifndef __ASM_ARCH_MEMORY_H
index d3f044f92c00e943d0241b48213dbf2fc61a5238..ffe2bc45eed0a7b6fb4706251efef2b4d18691b6 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * arch/arm/mach-sa1100/include/mach/neponset.h
  *
- * Created 2000/06/05 by Nicolas Pitre <nico@cam.org>
+ * Created 2000/06/05 by Nicolas Pitre <nico@fluxnic.net>
  *
  * This file contains the hardware specific definitions for Assabet
  * Only include this file from SA1100-specific files.
index 942b153e251d601ffb9fc79a87a5a07fba9bb761..ba9da9f7f1837cc0a94667ad3e0377dbba762237 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * arch/arm/mach-sa1100/include/mach/system.h
  *
- * Copyright (c) 1999 Nicolas Pitre <nico@cam.org>
+ * Copyright (c) 1999 Nicolas Pitre <nico@fluxnic.net>
  */
 #include <mach/hardware.h>
 
index 714160b03d7a7dd2a9163115e44c000ca9260291..6cb39ddde6561a19dea18b7815ef0616f924497c 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * arch/arm/mach-sa1100/include/mach/uncompress.h
  *
- * (C) 1999 Nicolas Pitre <nico@cam.org>
+ * (C) 1999 Nicolas Pitre <nico@fluxnic.net>
  *
  * Reorganised to be machine independent.
  */
index 111cce67ad2fa8f33d97a4101ce70d44d3d880e5..c83fdc80edfd1226c8ddea56b700e047f099d218 100644 (file)
@@ -15,7 +15,7 @@
  *                     Save more value for the resume function! Support
  *                     Bitsy/Assabet/Freebird board
  *
- * 2001-08-29: Nicolas Pitre <nico@cam.org>
+ * 2001-08-29: Nicolas Pitre <nico@fluxnic.net>
  *                     Cleaned up, pushed platform dependent stuff
  *                     in the platform specific files.
  *
index 711c0295c66f1710de34e20f3d9a88c2eeb99609..95d92e8e56a81c820979d373cd87e4d152b09235 100644 (file)
@@ -4,7 +4,7 @@
  * Copyright (C) 1998 Deborah Wallach.
  * Twiddles  (C) 1999 Hugo Fiennes <hugo@empeg.com>
  *
- * 2000/03/29 (C) Nicolas Pitre <nico@cam.org>
+ * 2000/03/29 (C) Nicolas Pitre <nico@fluxnic.net>
  *     Rewritten: big cleanup, much simpler, better HZ accuracy.
  *
  */
index 0cce37b9393730b43b8adcf2a37ed9e2ee2f5bcd..423394260bcbd17fc863deecd225bf85f617025c 100644 (file)
@@ -17,7 +17,7 @@
  *
  * 2001 Sep 08:
  *     Completely revisited, many important fixes
- *     Nicolas Pitre <nico@cam.org>
+ *     Nicolas Pitre <nico@fluxnic.net>
  */
 
 #include <linux/linkage.h>
index 9e573e78176a65d4bfdb93ae19235f5e39d4ca2b..bade586fed0ff0e44587ebf682c162e41366294c 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * arch/arm/plat-iop/setup.c
  *
- * Author: Nicolas Pitre <nico@cam.org>
+ * Author: Nicolas Pitre <nico@fluxnic.net>
  * Copyright (C) 2001 MontaVista Software, Inc.
  * Copyright (C) 2004 Intel Corporation.
  *
index 1060e345423b5f9bf3f8f6da7fafcc38b8ade3c0..ed8ec747726139f6d9a2f934920c39a637f8f7b9 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Copied from arch/arm/mach-sa1100/include/mach/system.h
- * Copyright (c) 1999 Nicolas Pitre <nico@cam.org>
+ * Copyright (c) 1999 Nicolas Pitre <nico@fluxnic.net>
  */
 #ifndef __ASM_ARCH_SYSTEM_H
 #define __ASM_ARCH_SYSTEM_H
index 7910d41eb886358981cd32bfc5b36ba215d4b636..c4b56654349adbb8fb52fd2f4a12602a3942391c 100644 (file)
@@ -124,14 +124,11 @@ SECTIONS
                _end = .;
        }
 
+       DWARF_DEBUG
+
        /* When something in the kernel is NOT compiled as a module, the module
         * cleanup code and data are put into these segments. Both can then be
         * thrown away, as cleanup code is never called unless it's a module.
         */
-       /DISCARD/               : {
-               EXIT_DATA
-               *(.exitcall.exit)
-       }
-
-       DWARF_DEBUG
+       DISCARDS
 }
index 6ac307ca0d805a7487d1990b59978bcf9f834ec1..d7ffe299b979340de6264310434913ead137c775 100644 (file)
@@ -277,8 +277,5 @@ SECTIONS
 
        DWARF_DEBUG
 
-       /DISCARD/ :
-       {
-               *(.exitcall.exit)
-       }
+       DISCARDS
 }
index 0bc3c4ef0aad54664610b7713a7a9f9696845890..99e4dbb1dfd12502becc3d2506f3d51a1076433d 100644 (file)
@@ -42,9 +42,9 @@
 #include <asm/mem_map.h>
 #include "blackfin_sram.h"
 
-static DEFINE_PER_CPU(spinlock_t, l1sram_lock) ____cacheline_aligned_in_smp;
-static DEFINE_PER_CPU(spinlock_t, l1_data_sram_lock) ____cacheline_aligned_in_smp;
-static DEFINE_PER_CPU(spinlock_t, l1_inst_sram_lock) ____cacheline_aligned_in_smp;
+static DEFINE_PER_CPU_SHARED_ALIGNED(spinlock_t, l1sram_lock);
+static DEFINE_PER_CPU_SHARED_ALIGNED(spinlock_t, l1_data_sram_lock);
+static DEFINE_PER_CPU_SHARED_ALIGNED(spinlock_t, l1_inst_sram_lock);
 static spinlock_t l2_sram_lock ____cacheline_aligned_in_smp;
 
 /* the data structure for L1 scratchpad and DATA SRAM */
index 72ba08dcfd18c1336d19d2ef66893bd7658a8a4b..1d45fd6365b729416e2e53e00ee40a6c3405ab95 100644 (file)
@@ -17,7 +17,8 @@ extern void switch_mm(struct mm_struct *prev, struct mm_struct *next,
  * registers like cr3 on the i386
  */
 
-extern volatile DEFINE_PER_CPU(pgd_t *,current_pgd); /* defined in arch/cris/mm/fault.c */
+/* defined in arch/cris/mm/fault.c */
+DECLARE_PER_CPU(pgd_t *, current_pgd);
 
 static inline void enter_lazy_tlb(struct mm_struct *mm, struct task_struct *tsk)
 {
index 0d2adfc794d49d0bcb8e4a63f3671875dbd7e816..6c81836b9229cb473aece3a99468020085647cf5 100644 (file)
@@ -140,12 +140,7 @@ SECTIONS
        _end = .;
        __end = .;
 
-       /* Sections to be discarded */
-       /DISCARD/ : {
-               EXIT_TEXT
-               EXIT_DATA
-               *(.exitcall.exit)
-        }
-
        dram_end = dram_start + (CONFIG_ETRAX_DRAM_SIZE - __CONFIG_ETRAX_VMEM_SIZE)*1024*1024;
+
+       DISCARDS
 }
index f925115e3250e516e9118cc331cdd838c6b075df..4a7cdd9ea1ee70c2522c25f926233cf9101895b2 100644 (file)
@@ -29,7 +29,7 @@ extern void die_if_kernel(const char *, struct pt_regs *, long);
 
 /* current active page directory */
 
-volatile DEFINE_PER_CPU(pgd_t *,current_pgd);
+DEFINE_PER_CPU(pgd_t *, current_pgd);
 unsigned long cris_signal_return_page;
 
 /*
index 22d9787406ed9862f2ac0771c2345c13502751be..7dbf41f68b523a14f7c39b683689c51f53c99f4f 100644 (file)
@@ -177,6 +177,8 @@ SECTIONS
   .debug_ranges                0 : { *(.debug_ranges) }
 
   .comment 0 : { *(.comment) }
+
+  DISCARDS
 }
 
 __kernel_image_size_no_bss = __bss_start - __kernel_image_start;
index 43a87b9085b6b449cb7fbfb64bfb5d715551185c..662b02ecb86eacfd068e65b3c73a14e11760813d 100644 (file)
@@ -152,9 +152,6 @@ SECTIONS
        __end = . ;
        __ramstart = .;
        }
-       /DISCARD/ : {
-               *(.exitcall.exit)
-       }
         .romfs :       
        {
                *(.romfs*)
@@ -165,4 +162,6 @@ SECTIONS
        COMMAND_START = . - 0x200 ;
        __ramend = . ;
        }
+
+       DISCARDS
 }
index 170042b420d466829ff7baba523a7b357b43d7a5..011a1cdf0eb53d4c97c39427bd1f0461690a6e79 100644 (file)
@@ -89,6 +89,9 @@ config GENERIC_TIME_VSYSCALL
        bool
        default y
 
+config HAVE_LEGACY_PER_CPU_AREA
+       def_bool y
+
 config HAVE_SETUP_PER_CPU_AREA
        def_bool y
 
@@ -112,6 +115,10 @@ config IA64_UNCACHED_ALLOCATOR
        bool
        select GENERIC_ALLOCATOR
 
+config ARCH_USES_PG_UNCACHED
+       def_bool y
+       depends on IA64_UNCACHED_ALLOCATOR
+
 config AUDIT_ARCH
        bool
        default y
index c11fdd8ab4d7a88665c757a81c6e8c1a471bdf90..01d09c401c5c3b8c269b946ce31bee78edff9f23 100644 (file)
 #define unmap_page_from_agp(page)      /* nothing */
 #define flush_agp_cache()              mb()
 
-/* Convert a physical address to an address suitable for the GART. */
-#define phys_to_gart(x) (x)
-#define gart_to_phys(x) (x)
-
 /* GATT allocation. Returns/accepts GATT kernel virtual address. */
 #define alloc_gatt_pages(order)                \
        ((char *)__get_free_pages(GFP_KERNEL, (order)))
index 1b23ec126b637b204a4e43fd559ba7825cb14152..1de86c96801d60fe81ae2d6fc4930bdfdc190c45 100644 (file)
@@ -855,11 +855,17 @@ identify_cpu (struct cpuinfo_ia64 *c)
        c->unimpl_pa_mask = ~((1L<<63) | ((1L << phys_addr_size) - 1));
 }
 
+/*
+ * In UP configuration, setup_per_cpu_areas() is defined in
+ * include/linux/percpu.h
+ */
+#ifdef CONFIG_SMP
 void __init
 setup_per_cpu_areas (void)
 {
        /* start_kernel() requires this... */
 }
+#endif
 
 /*
  * Do the following calculations:
index f0c521b0ba4c2335af80a8f660c2d00cc3fc50f6..93ebfea43c6cecdb66a93372adc73f2825aaae77 100644 (file)
@@ -58,7 +58,8 @@ static struct local_tlb_flush_counts {
        unsigned int count;
 } __attribute__((__aligned__(32))) local_tlb_flush_counts[NR_CPUS];
 
-static DEFINE_PER_CPU(unsigned short, shadow_flush_counts[NR_CPUS]) ____cacheline_aligned;
+static DEFINE_PER_CPU_SHARED_ALIGNED(unsigned short [NR_CPUS],
+                                    shadow_flush_counts);
 
 #define IPI_CALL_FUNC          0
 #define IPI_CPU_STOP           1
index 4a95e86b9ac200bafd30ddca8b1d50be6aec5081..eb4214d1c5afe342729901da138870302676f6d9 100644 (file)
@@ -24,14 +24,14 @@ PHDRS {
 }
 SECTIONS
 {
-  /* Sections to be discarded */
+  /* unwind exit sections must be discarded before the rest of the
+     sections get included. */
   /DISCARD/ : {
-       EXIT_TEXT
-       EXIT_DATA
-       *(.exitcall.exit)
        *(.IA_64.unwind.exit.text)
        *(.IA_64.unwind_info.exit.text)
-       }
+       *(.comment)
+       *(.note)
+  }
 
   v = PAGE_OFFSET;     /* this symbol is here to make debugging easier... */
   phys_start = _start - LOAD_OFFSET;
@@ -316,7 +316,7 @@ SECTIONS
   .debug_funcnames 0 : { *(.debug_funcnames) }
   .debug_typenames 0 : { *(.debug_typenames) }
   .debug_varnames  0 : { *(.debug_varnames) }
-  /* These must appear regardless of  .  */
-  /DISCARD/ : { *(.comment) }
-  /DISCARD/ : { *(.note) }
+
+  /* Default discards */
+  DISCARDS
 }
index e456f062f2419deb5f2bfd9d0e968d88b1c79ac5..ece1bf994499a1d55e33cf64d2c7fd9f13e8dad4 100644 (file)
@@ -71,7 +71,7 @@ EXPORT_SYMBOL(sn_rtc_cycles_per_second);
 DEFINE_PER_CPU(struct sn_hub_info_s, __sn_hub_info);
 EXPORT_PER_CPU_SYMBOL(__sn_hub_info);
 
-DEFINE_PER_CPU(short, __sn_cnodeid_to_nasid[MAX_COMPACT_NODES]);
+DEFINE_PER_CPU(short [MAX_COMPACT_NODES], __sn_cnodeid_to_nasid);
 EXPORT_PER_CPU_SYMBOL(__sn_cnodeid_to_nasid);
 
 DEFINE_PER_CPU(struct nodepda_s *, __sn_nodepda);
index 4179adf6c624f0f6c5af62bf82bef34e761a17ed..de5e21cca6a5a323d6a5eb3232694863cef05a36 100644 (file)
@@ -120,13 +120,6 @@ SECTIONS
 
   _end = . ;
 
-  /* Sections to be discarded */
-  /DISCARD/ : {
-       EXIT_TEXT
-       EXIT_DATA
-       *(.exitcall.exit)
-       }
-
   /* Stabs debugging sections.  */
   .stab 0 : { *(.stab) }
   .stabstr 0 : { *(.stabstr) }
@@ -135,4 +128,7 @@ SECTIONS
   .stab.index 0 : { *(.stab.index) }
   .stab.indexstr 0 : { *(.stab.indexstr) }
   .comment 0 : { *(.comment) }
+
+  /* Sections to be discarded */
+  DISCARDS
 }
index 01d212bb05a6edcc965636f887b6117d3e92c863..47eac19e8f61d68c7ecbd26de4704e133e213852 100644 (file)
@@ -82,13 +82,6 @@ SECTIONS
 
   _end = . ;
 
-  /* Sections to be discarded */
-  /DISCARD/ : {
-       EXIT_TEXT
-       EXIT_DATA
-       *(.exitcall.exit)
-       }
-
   /* Stabs debugging sections.  */
   .stab 0 : { *(.stab) }
   .stabstr 0 : { *(.stabstr) }
@@ -97,4 +90,7 @@ SECTIONS
   .stab.index 0 : { *(.stab.index) }
   .stab.indexstr 0 : { *(.stab.indexstr) }
   .comment 0 : { *(.comment) }
+
+  /* Sections to be discarded */
+  DISCARDS
 }
index c192f773db9684a261a5d3529f501a1cd6c57c91..03efaf04d7d7dad17f37a1f95dd454a6b64ea8b3 100644 (file)
@@ -77,13 +77,6 @@ __init_begin = .;
 
   _end = . ;
 
-  /* Sections to be discarded */
-  /DISCARD/ : {
-       EXIT_TEXT
-       EXIT_DATA
-       *(.exitcall.exit)
-       }
-
   .crap : {
        /* Stabs debugging sections.  */
        *(.stab)
@@ -96,4 +89,6 @@ __init_begin = .;
        *(.note)
   }
 
+  /* Sections to be discarded */
+  DISCARDS
 }
index b7fe505e358d853e1d38d11b78826f1ee050169e..2736a5e309c0d1b386f2be27b3b3477d58e4a5c1 100644 (file)
@@ -184,12 +184,6 @@ SECTIONS {
                __init_end = .;
        } > INIT
 
-       /DISCARD/ : {
-               EXIT_TEXT
-               EXIT_DATA
-               *(.exitcall.exit)
-       }
-
        .bss : {
                . = ALIGN(4);
                _sbss = . ;
@@ -200,5 +194,6 @@ SECTIONS {
                _end = . ;
        } > BSS
 
+       DISCARDS
 }
 
index d34d38dcd12c71a733da03bee3b0e017f9320ca8..ec5fa91a48d83bf515912011bd0f48e6419113e6 100644 (file)
@@ -23,8 +23,8 @@ SECTIONS {
                _stext = . ;
                *(.text .text.*)
                *(.fixup)
-
-               *(.exitcall.exit)
+               EXIT_TEXT
+               EXIT_CALL
                SCHED_TEXT
                LOCK_TEXT
                KPROBES_TEXT
@@ -162,4 +162,6 @@ SECTIONS {
        }
        . = ALIGN(4096);
        _end = .;
+
+       DISCARDS
 }
index 58738c8d754feb09bf525fe6862c62e1f6bda39a..1474c18fb777d13c1d07f164f50ccef1304f156b 100644 (file)
@@ -176,17 +176,6 @@ SECTIONS
 
        _end = . ;
 
-       /* Sections to be discarded */
-       /DISCARD/ : {
-               *(.exitcall.exit)
-
-               /* ABI crap starts here */
-               *(.MIPS.options)
-               *(.options)
-               *(.pdr)
-               *(.reginfo)
-       }
-
        /* These mark the ABI of the kernel for debuggers.  */
        .mdebug.abi32 : {
                KEEP(*(.mdebug.abi32))
@@ -212,4 +201,14 @@ SECTIONS
                *(.gptab.bss)
                *(.gptab.sbss)
        }
+
+       /* Sections to be discarded */
+       DISCARDS
+       /DISCARD/ : {
+               /* ABI crap starts here */
+               *(.MIPS.options)
+               *(.options)
+               *(.pdr)
+               *(.reginfo)
+       }
 }
index f4aa079346543f4ecfc47388bec429c66cf35733..76f41bdb79c411359f526c86abd7ea84872b9a5e 100644 (file)
@@ -115,12 +115,10 @@ SECTIONS
   . = ALIGN(PAGE_SIZE);
   pg0 = .;
 
-  /* Sections to be discarded */
-  /DISCARD/ : {
-       EXIT_CALL
-       }
-
   STABS_DEBUG
 
   DWARF_DEBUG
+
+  /* Sections to be discarded */
+  DISCARDS
 }
index 9651660da639a32b6c0d20cc11aaafff2fce549b..d226ffa8fc12f60ec9ad3f45a9369237cbec1a5b 100644 (file)
 #define unmap_page_from_agp(page)      /* nothing */
 #define flush_agp_cache()              mb()
 
-/* Convert a physical address to an address suitable for the GART. */
-#define phys_to_gart(x) (x)
-#define gart_to_phys(x) (x)
-
 /* GATT allocation. Returns/accepts GATT kernel virtual address. */
 #define alloc_gatt_pages(order)                \
        ((char *)__get_free_pages(GFP_KERNEL, (order)))
index fd2cc4fd2b65adc5b84dd46639d4eaea1ea58d77..aea1784edbd122d0fd5533edd29fb3d9cd659c64 100644 (file)
@@ -237,9 +237,12 @@ SECTIONS
        /* freed after init ends here */
        _end = . ;
 
+       STABS_DEBUG
+       .note 0 : { *(.note) }
+
        /* Sections to be discarded */
+       DISCARDS
        /DISCARD/ : {
-               *(.exitcall.exit)
 #ifdef CONFIG_64BIT
                /* temporary hack until binutils is fixed to not emit these
                 * for static binaries
@@ -252,7 +255,4 @@ SECTIONS
                *(.gnu.hash)
 #endif
        }
-
-       STABS_DEBUG
-       .note 0 : { *(.note) }  
 }
index d00131ca0835e71cb8cd25d19f9f9f43557083df..8250902265c61c3c4da07c74e56d7b165793ceb4 100644 (file)
@@ -49,6 +49,9 @@ config GENERIC_HARDIRQS_NO__DO_IRQ
 config HAVE_SETUP_PER_CPU_AREA
        def_bool PPC64
 
+config NEED_PER_CPU_EMBED_FIRST_CHUNK
+       def_bool PPC64
+
 config IRQ_PER_CPU
        bool
        default y
@@ -120,7 +123,8 @@ config PPC
        select HAVE_KRETPROBES
        select HAVE_ARCH_TRACEHOOK
        select HAVE_LMB
-       select HAVE_DMA_ATTRS if PPC64
+       select HAVE_DMA_ATTRS
+       select HAVE_DMA_API_DEBUG
        select USE_GENERIC_SMP_HELPERS if SMP
        select HAVE_OPROFILE
        select HAVE_SYSCALL_WRAPPERS if PPC64
@@ -307,10 +311,6 @@ config SWIOTLB
          platforms where the size of a physical address is larger
          than the bus address.  Not all platforms support this.
 
-config PPC_NEED_DMA_SYNC_OPS
-       def_bool y
-       depends on (NOT_COHERENT_CACHE || SWIOTLB)
-
 config HOTPLUG_CPU
        bool "Support for enabling/disabling CPUs"
        depends on SMP && HOTPLUG && EXPERIMENTAL && (PPC_PSERIES || PPC_PMAC)
@@ -472,7 +472,7 @@ config PPC_16K_PAGES
        bool "16k page size" if 44x
 
 config PPC_64K_PAGES
-       bool "64k page size" if 44x || PPC_STD_MMU_64
+       bool "64k page size" if 44x || PPC_STD_MMU_64 || PPC_BOOK3E_64
        select PPC_HAS_HASH_64K if PPC_STD_MMU_64
 
 config PPC_256K_PAGES
@@ -492,16 +492,16 @@ endchoice
 
 config FORCE_MAX_ZONEORDER
        int "Maximum zone order"
-       range 9 64 if PPC_STD_MMU_64 && PPC_64K_PAGES
-       default "9" if PPC_STD_MMU_64 && PPC_64K_PAGES
-       range 13 64 if PPC_STD_MMU_64 && !PPC_64K_PAGES
-       default "13" if PPC_STD_MMU_64 && !PPC_64K_PAGES
-       range 9 64 if PPC_STD_MMU_32 && PPC_16K_PAGES
-       default "9" if PPC_STD_MMU_32 && PPC_16K_PAGES
-       range 7 64 if PPC_STD_MMU_32 && PPC_64K_PAGES
-       default "7" if PPC_STD_MMU_32 && PPC_64K_PAGES
-       range 5 64 if PPC_STD_MMU_32 && PPC_256K_PAGES
-       default "5" if PPC_STD_MMU_32 && PPC_256K_PAGES
+       range 9 64 if PPC64 && PPC_64K_PAGES
+       default "9" if PPC64 && PPC_64K_PAGES
+       range 13 64 if PPC64 && !PPC_64K_PAGES
+       default "13" if PPC64 && !PPC_64K_PAGES
+       range 9 64 if PPC32 && PPC_16K_PAGES
+       default "9" if PPC32 && PPC_16K_PAGES
+       range 7 64 if PPC32 && PPC_64K_PAGES
+       default "7" if PPC32 && PPC_64K_PAGES
+       range 5 64 if PPC32 && PPC_256K_PAGES
+       default "5" if PPC32 && PPC_256K_PAGES
        range 11 64
        default "11"
        help
index bc35f4e2b81cd0cfa65a536dfc99e877410f268e..952a3963e9e8b607e15fb7ffc21d8f8d5482dd8b 100644 (file)
@@ -77,7 +77,7 @@ CPP           = $(CC) -E $(KBUILD_CFLAGS)
 CHECKFLAGS     += -m$(CONFIG_WORD_SIZE) -D__powerpc__ -D__powerpc$(CONFIG_WORD_SIZE)__
 
 ifeq ($(CONFIG_PPC64),y)
-GCC_BROKEN_VEC := $(shell if [ $(call cc-version) -lt 0400 ] ; then echo "y"; fi)
+GCC_BROKEN_VEC := $(call cc-ifversion, -lt, 0400, y)
 
 ifeq ($(CONFIG_POWER4_ONLY),y)
 ifeq ($(CONFIG_ALTIVEC),y)
index 325b310573b955f52a47acf22dd2cb8b2227fa45..27db8938827aee7381cc065fade0d12fb0c2d528 100644 (file)
@@ -8,6 +8,10 @@
  *   Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net>
  *   Copyright (c) 2003, 2004 Zultys Technologies
  *
+ * Copyright (C) 2009 Wind River Systems, Inc.
+ *   Updated for supporting PPC405EX on Kilauea.
+ *   Tiejun Chen <tiejun.chen@windriver.com>
+ *
  * 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
@@ -659,3 +663,141 @@ void ibm405ep_fixup_clocks(unsigned int sys_clk)
        dt_fixup_clock("/plb/opb/serial@ef600300", uart0);
        dt_fixup_clock("/plb/opb/serial@ef600400", uart1);
 }
+
+static u8 ibm405ex_fwdv_multi_bits[] = {
+       /* values for:  1 - 16 */
+       0x01, 0x02, 0x0e, 0x09, 0x04, 0x0b, 0x10, 0x0d, 0x0c, 0x05,
+       0x06, 0x0f, 0x0a, 0x07, 0x08, 0x03
+};
+
+u32 ibm405ex_get_fwdva(unsigned long cpr_fwdv)
+{
+       u32 index;
+
+       for (index = 0; index < ARRAY_SIZE(ibm405ex_fwdv_multi_bits); index++)
+               if (cpr_fwdv == (u32)ibm405ex_fwdv_multi_bits[index])
+                       return index + 1;
+
+       return 0;
+}
+
+static u8 ibm405ex_fbdv_multi_bits[] = {
+       /* values for:  1 - 100 */
+       0x00, 0xff, 0x7e, 0xfd, 0x7a, 0xf5, 0x6a, 0xd5, 0x2a, 0xd4,
+       0x29, 0xd3, 0x26, 0xcc, 0x19, 0xb3, 0x67, 0xce, 0x1d, 0xbb,
+       0x77, 0xee, 0x5d, 0xba, 0x74, 0xe9, 0x52, 0xa5, 0x4b, 0x96,
+       0x2c, 0xd8, 0x31, 0xe3, 0x46, 0x8d, 0x1b, 0xb7, 0x6f, 0xde,
+       0x3d, 0xfb, 0x76, 0xed, 0x5a, 0xb5, 0x6b, 0xd6, 0x2d, 0xdb,
+       0x36, 0xec, 0x59, 0xb2, 0x64, 0xc9, 0x12, 0xa4, 0x48, 0x91,
+       0x23, 0xc7, 0x0e, 0x9c, 0x38, 0xf0, 0x61, 0xc2, 0x05, 0x8b,
+       0x17, 0xaf, 0x5f, 0xbe, 0x7c, 0xf9, 0x72, 0xe5, 0x4a, 0x95,
+       0x2b, 0xd7, 0x2e, 0xdc, 0x39, 0xf3, 0x66, 0xcd, 0x1a, 0xb4,
+       0x68, 0xd1, 0x22, 0xc4, 0x09, 0x93, 0x27, 0xcf, 0x1e, 0xbc,
+       /* values for:  101 - 200 */
+       0x78, 0xf1, 0x62, 0xc5, 0x0a, 0x94, 0x28, 0xd0, 0x21, 0xc3,
+       0x06, 0x8c, 0x18, 0xb0, 0x60, 0xc1, 0x02, 0x84, 0x08, 0x90,
+       0x20, 0xc0, 0x01, 0x83, 0x07, 0x8f, 0x1f, 0xbf, 0x7f, 0xfe,
+       0x7d, 0xfa, 0x75, 0xea, 0x55, 0xaa, 0x54, 0xa9, 0x53, 0xa6,
+       0x4c, 0x99, 0x33, 0xe7, 0x4e, 0x9d, 0x3b, 0xf7, 0x6e, 0xdd,
+       0x3a, 0xf4, 0x69, 0xd2, 0x25, 0xcb, 0x16, 0xac, 0x58, 0xb1,
+       0x63, 0xc6, 0x0d, 0x9b, 0x37, 0xef, 0x5e, 0xbd, 0x7b, 0xf6,
+       0x6d, 0xda, 0x35, 0xeb, 0x56, 0xad, 0x5b, 0xb6, 0x6c, 0xd9,
+       0x32, 0xe4, 0x49, 0x92, 0x24, 0xc8, 0x11, 0xa3, 0x47, 0x8e,
+       0x1c, 0xb8, 0x70, 0xe1, 0x42, 0x85, 0x0b, 0x97, 0x2f, 0xdf,
+       /* values for:  201 - 255 */
+       0x3e, 0xfc, 0x79, 0xf2, 0x65, 0xca, 0x15, 0xab, 0x57, 0xae,
+       0x5c, 0xb9, 0x73, 0xe6, 0x4d, 0x9a, 0x34, 0xe8, 0x51, 0xa2,
+       0x44, 0x89, 0x13, 0xa7, 0x4f, 0x9e, 0x3c, 0xf8, 0x71, 0xe2,
+       0x45, 0x8a, 0x14, 0xa8, 0x50, 0xa1, 0x43, 0x86, 0x0c, 0x98,
+       0x30, 0xe0, 0x41, 0x82, 0x04, 0x88, 0x10, 0xa0, 0x40, 0x81,
+       0x03, 0x87, 0x0f, 0x9f, 0x3f  /* END */
+};
+
+u32 ibm405ex_get_fbdv(unsigned long cpr_fbdv)
+{
+       u32 index;
+
+       for (index = 0; index < ARRAY_SIZE(ibm405ex_fbdv_multi_bits); index++)
+               if (cpr_fbdv == (u32)ibm405ex_fbdv_multi_bits[index])
+                       return index + 1;
+
+       return 0;
+}
+
+void ibm405ex_fixup_clocks(unsigned int sys_clk, unsigned int uart_clk)
+{
+       /* PLL config */
+       u32 pllc  = CPR0_READ(DCRN_CPR0_PLLC);
+       u32 plld  = CPR0_READ(DCRN_CPR0_PLLD);
+       u32 cpud  = CPR0_READ(DCRN_CPR0_PRIMAD);
+       u32 plbd  = CPR0_READ(DCRN_CPR0_PRIMBD);
+       u32 opbd  = CPR0_READ(DCRN_CPR0_OPBD);
+       u32 perd  = CPR0_READ(DCRN_CPR0_PERD);
+
+       /* Dividers */
+       u32 fbdv   = ibm405ex_get_fbdv(__fix_zero((plld >> 24) & 0xff, 1));
+
+       u32 fwdva  = ibm405ex_get_fwdva(__fix_zero((plld >> 16) & 0x0f, 1));
+
+       u32 cpudv0 = __fix_zero((cpud >> 24) & 7, 8);
+
+       /* PLBDV0 is hardwared to 010. */
+       u32 plbdv0 = 2;
+       u32 plb2xdv0 = __fix_zero((plbd >> 16) & 7, 8);
+
+       u32 opbdv0 = __fix_zero((opbd >> 24) & 3, 4);
+
+       u32 perdv0 = __fix_zero((perd >> 24) & 3, 4);
+
+       /* Resulting clocks */
+       u32 cpu, plb, opb, ebc, vco, tb, uart0, uart1;
+
+       /* PLL's VCO is the source for primary forward ? */
+       if (pllc & 0x40000000) {
+               u32 m;
+
+               /* Feedback path */
+               switch ((pllc >> 24) & 7) {
+               case 0:
+                       /* PLLOUTx */
+                       m = fbdv;
+                       break;
+               case 1:
+                       /* CPU */
+                       m = fbdv * fwdva * cpudv0;
+                       break;
+               case 5:
+                       /* PERClk */
+                       m = fbdv * fwdva * plb2xdv0 * plbdv0 * opbdv0 * perdv0;
+                       break;
+               default:
+                       printf("WARNING ! Invalid PLL feedback source !\n");
+                       goto bypass;
+               }
+
+               vco = (unsigned int)(sys_clk * m);
+       } else {
+bypass:
+               /* Bypass system PLL */
+               vco = 0;
+       }
+
+       /* CPU = VCO / ( FWDVA x CPUDV0) */
+       cpu = vco / (fwdva * cpudv0);
+       /* PLB = VCO / ( FWDVA x PLB2XDV0 x PLBDV0) */
+       plb = vco / (fwdva * plb2xdv0 * plbdv0);
+       /* OPB = PLB / OPBDV0 */
+       opb = plb / opbdv0;
+       /* EBC = OPB / PERDV0 */
+       ebc = opb / perdv0;
+
+       tb = cpu;
+       uart0 = uart1 = uart_clk;
+
+       dt_fixup_cpu_clocks(cpu, tb, 0);
+       dt_fixup_clock("/plb", plb);
+       dt_fixup_clock("/plb/opb", opb);
+       dt_fixup_clock("/plb/opb/ebc", ebc);
+       dt_fixup_clock("/plb/opb/serial@ef600200", uart0);
+       dt_fixup_clock("/plb/opb/serial@ef600300", uart1);
+}
index 2606e64f0c4b02b1d6cd85d801d8c762a32a6386..7dc5d45361bccf76251c66af3226ac374cfe966c 100644 (file)
@@ -21,6 +21,7 @@ void ibm4xx_fixup_ebc_ranges(const char *ebc);
 
 void ibm405gp_fixup_clocks(unsigned int sys_clk, unsigned int ser_clk);
 void ibm405ep_fixup_clocks(unsigned int sys_clk);
+void ibm405ex_fixup_clocks(unsigned int sys_clk, unsigned int uart_clk);
 void ibm440gp_fixup_clocks(unsigned int sys_clk, unsigned int ser_clk);
 void ibm440ep_fixup_clocks(unsigned int sys_clk, unsigned int ser_clk,
                           unsigned int tmr_clk);
index 9ae7b7e2ba71d287d935adabbf042e58004221a3..7bfc8ad8779876e33b2ea6522ba4651dfbcccde6 100644 (file)
@@ -39,6 +39,7 @@ DTS_FLAGS     ?= -p 1024
 
 $(obj)/4xx.o: BOOTCFLAGS += -mcpu=405
 $(obj)/ebony.o: BOOTCFLAGS += -mcpu=405
+$(obj)/cuboot-hotfoot.o: BOOTCFLAGS += -mcpu=405
 $(obj)/cuboot-taishan.o: BOOTCFLAGS += -mcpu=405
 $(obj)/cuboot-katmai.o: BOOTCFLAGS += -mcpu=405
 $(obj)/cuboot-acadia.o: BOOTCFLAGS += -mcpu=405
@@ -67,7 +68,7 @@ src-wlib := string.S crt0.S crtsavres.S stdio.c main.c \
                cpm-serial.c stdlib.c mpc52xx-psc.c planetcore.c uartlite.c \
                fsl-soc.c mpc8xx.c pq2.c
 src-plat := of.c cuboot-52xx.c cuboot-824x.c cuboot-83xx.c cuboot-85xx.c holly.c \
-               cuboot-ebony.c treeboot-ebony.c prpmc2800.c \
+               cuboot-ebony.c cuboot-hotfoot.c treeboot-ebony.c prpmc2800.c \
                ps3-head.S ps3-hvcall.S ps3.c treeboot-bamboo.c cuboot-8xx.c \
                cuboot-pq2.c cuboot-sequoia.c treeboot-walnut.c \
                cuboot-bamboo.c cuboot-mpc7448hpc2.c cuboot-taishan.c \
@@ -75,7 +76,7 @@ src-plat := of.c cuboot-52xx.c cuboot-824x.c cuboot-83xx.c cuboot-85xx.c holly.c
                cuboot-katmai.c cuboot-rainier.c redboot-8xx.c ep8248e.c \
                cuboot-warp.c cuboot-85xx-cpm2.c cuboot-yosemite.c simpleboot.c \
                virtex405-head.S virtex.c redboot-83xx.c cuboot-sam440ep.c \
-               cuboot-acadia.c cuboot-amigaone.c
+               cuboot-acadia.c cuboot-amigaone.c cuboot-kilauea.c
 src-boot := $(src-wlib) $(src-plat) empty.c
 
 src-boot := $(addprefix $(obj)/, $(src-boot))
@@ -190,6 +191,7 @@ image-$(CONFIG_DEFAULT_UIMAGE)              += uImage
 
 # Board ports in arch/powerpc/platform/40x/Kconfig
 image-$(CONFIG_EP405)                  += dtbImage.ep405
+image-$(CONFIG_HOTFOOT)                        += cuImage.hotfoot
 image-$(CONFIG_WALNUT)                 += treeImage.walnut
 image-$(CONFIG_ACADIA)                 += cuImage.acadia
 
diff --git a/arch/powerpc/boot/cuboot-hotfoot.c b/arch/powerpc/boot/cuboot-hotfoot.c
new file mode 100644 (file)
index 0000000..8f697b9
--- /dev/null
@@ -0,0 +1,142 @@
+/*
+ * Old U-boot compatibility for Esteem 195E Hotfoot CPU Board
+ *
+ * Author: Solomon Peachy <solomon@linux-wlan.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 "ops.h"
+#include "stdio.h"
+#include "reg.h"
+#include "dcr.h"
+#include "4xx.h"
+#include "cuboot.h"
+
+#define TARGET_4xx
+#define TARGET_HOTFOOT
+
+#include "ppcboot-hotfoot.h"
+
+static bd_t bd;
+
+#define NUM_REGS 3
+
+static void hotfoot_fixups(void)
+{
+       u32 uart = mfdcr(DCRN_CPC0_UCR) & 0x7f;
+
+       dt_fixup_memory(bd.bi_memstart, bd.bi_memsize); 
+
+       dt_fixup_cpu_clocks(bd.bi_procfreq, bd.bi_procfreq, 0);
+       dt_fixup_clock("/plb", bd.bi_plb_busfreq);
+       dt_fixup_clock("/plb/opb", bd.bi_opbfreq);
+       dt_fixup_clock("/plb/ebc", bd.bi_pci_busfreq);
+       dt_fixup_clock("/plb/opb/serial@ef600300", bd.bi_procfreq / uart); 
+       dt_fixup_clock("/plb/opb/serial@ef600400", bd.bi_procfreq / uart); 
+       
+       dt_fixup_mac_address_by_alias("ethernet0", bd.bi_enetaddr);
+       dt_fixup_mac_address_by_alias("ethernet1", bd.bi_enet1addr);
+
+       /* Is this a single eth/serial board? */
+       if ((bd.bi_enet1addr[0] == 0) && 
+           (bd.bi_enet1addr[1] == 0) &&
+           (bd.bi_enet1addr[2] == 0) &&
+           (bd.bi_enet1addr[3] == 0) &&
+           (bd.bi_enet1addr[4] == 0) &&
+           (bd.bi_enet1addr[5] == 0)) {
+               void *devp;
+
+               printf("Trimming devtree for single serial/eth board\n");
+
+               devp = finddevice("/plb/opb/serial@ef600300");
+               if (!devp)
+                       fatal("Can't find node for /plb/opb/serial@ef600300");
+               del_node(devp);
+
+               devp = finddevice("/plb/opb/ethernet@ef600900");
+               if (!devp)
+                       fatal("Can't find node for /plb/opb/ethernet@ef600900");
+               del_node(devp);
+       }
+
+       ibm4xx_quiesce_eth((u32 *)0xef600800, (u32 *)0xef600900);
+
+       /* Fix up flash size in fdt for 4M boards. */
+       if (bd.bi_flashsize < 0x800000) {
+               u32 regs[NUM_REGS];
+               void *devp = finddevice("/plb/ebc/nor_flash@0");
+               if (!devp)
+                       fatal("Can't find FDT node for nor_flash!??");
+
+               printf("Fixing devtree for 4M Flash\n");
+               
+               /* First fix up the base addresse */
+               getprop(devp, "reg", regs, sizeof(regs));
+               regs[0] = 0;
+               regs[1] = 0xffc00000;
+               regs[2] = 0x00400000;
+               setprop(devp, "reg", regs, sizeof(regs));
+               
+               /* Then the offsets */
+               devp = finddevice("/plb/ebc/nor_flash@0/partition@0");
+               if (!devp)
+                       fatal("Can't find FDT node for partition@0");
+               getprop(devp, "reg", regs, 2*sizeof(u32));
+               regs[0] -= 0x400000;
+               setprop(devp, "reg", regs,  2*sizeof(u32));
+
+               devp = finddevice("/plb/ebc/nor_flash@0/partition@1");
+               if (!devp)
+                       fatal("Can't find FDT node for partition@1");
+               getprop(devp, "reg", regs, 2*sizeof(u32));
+               regs[0] -= 0x400000;
+               setprop(devp, "reg", regs,  2*sizeof(u32));
+
+               devp = finddevice("/plb/ebc/nor_flash@0/partition@2");
+               if (!devp)
+                       fatal("Can't find FDT node for partition@2");
+               getprop(devp, "reg", regs, 2*sizeof(u32));
+               regs[0] -= 0x400000;
+               setprop(devp, "reg", regs,  2*sizeof(u32));
+
+               devp = finddevice("/plb/ebc/nor_flash@0/partition@3");
+               if (!devp)
+                       fatal("Can't find FDT node for partition@3");
+               getprop(devp, "reg", regs, 2*sizeof(u32));
+               regs[0] -= 0x400000;
+               setprop(devp, "reg", regs,  2*sizeof(u32));
+
+               devp = finddevice("/plb/ebc/nor_flash@0/partition@4");
+               if (!devp)
+                       fatal("Can't find FDT node for partition@4");
+               getprop(devp, "reg", regs, 2*sizeof(u32));
+               regs[0] -= 0x400000;
+               setprop(devp, "reg", regs,  2*sizeof(u32));
+
+               devp = finddevice("/plb/ebc/nor_flash@0/partition@6");
+               if (!devp)
+                       fatal("Can't find FDT node for partition@6");
+               getprop(devp, "reg", regs, 2*sizeof(u32));
+               regs[0] -= 0x400000;
+               setprop(devp, "reg", regs,  2*sizeof(u32));
+
+               /* Delete the FeatFS node */
+               devp = finddevice("/plb/ebc/nor_flash@0/partition@5");
+               if (!devp)
+                       fatal("Can't find FDT node for partition@5");
+               del_node(devp);
+       }
+}
+
+void platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
+                  unsigned long r6, unsigned long r7)
+{
+       CUBOOT_INIT();
+       platform_ops.fixups = hotfoot_fixups;
+        platform_ops.exit = ibm40x_dbcr_reset;
+       fdt_init(_dtb_start);
+       serial_console_init();
+}
diff --git a/arch/powerpc/boot/cuboot-kilauea.c b/arch/powerpc/boot/cuboot-kilauea.c
new file mode 100644 (file)
index 0000000..80cdad6
--- /dev/null
@@ -0,0 +1,49 @@
+/*
+ * Old U-boot compatibility for PPC405EX. This image is already included
+ * a dtb.
+ *
+ * Author: Tiejun Chen <tiejun.chen@windriver.com>
+ *
+ * Copyright (C) 2009 Wind River Systems, Inc.
+ *
+ * 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 "ops.h"
+#include "io.h"
+#include "dcr.h"
+#include "stdio.h"
+#include "4xx.h"
+#include "44x.h"
+#include "cuboot.h"
+
+#define TARGET_4xx
+#define TARGET_44x
+#include "ppcboot.h"
+
+#define KILAUEA_SYS_EXT_SERIAL_CLOCK     11059200        /* ext. 11.059MHz clk */
+
+static bd_t bd;
+
+static void kilauea_fixups(void)
+{
+       unsigned long sysclk = 33333333;
+
+       ibm405ex_fixup_clocks(sysclk, KILAUEA_SYS_EXT_SERIAL_CLOCK);
+       dt_fixup_memory(bd.bi_memstart, bd.bi_memsize);
+       ibm4xx_fixup_ebc_ranges("/plb/opb/ebc");
+       dt_fixup_mac_address_by_alias("ethernet0", bd.bi_enetaddr);
+       dt_fixup_mac_address_by_alias("ethernet1", bd.bi_enet1addr);
+}
+
+void platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
+               unsigned long r6, unsigned long r7)
+{
+       CUBOOT_INIT();
+       platform_ops.fixups = kilauea_fixups;
+       platform_ops.exit = ibm40x_dbcr_reset;
+       fdt_init(_dtb_start);
+       serial_console_init();
+}
index 95b9f5344016a619d97d413d738dc89394c28511..645a7c964e5fce7221e7ef12f04ec5423188df59 100644 (file)
@@ -153,9 +153,7 @@ static const unsigned long sdram_bxcr[] = { SDRAM0_B0CR, SDRAM0_B1CR,
 #define DCRN_CPC0_PLLMR1  0xf4
 #define DCRN_CPC0_UCR     0xf5
 
-/* 440GX Clock control etc */
-
-
+/* 440GX/405EX Clock Control reg */
 #define DCRN_CPR0_CLKUPD                               0x020
 #define DCRN_CPR0_PLLC                                 0x040
 #define DCRN_CPR0_PLLD                                 0x060
index d9113b1e8c1d75fe95bb1cfb44569cd2d9501d02..414ef8b7e5753b7f5b31a2c26ec7f7e54dbc8cb5 100644 (file)
                dcr-reg = <0x00c 0x002>;
        };
 
+       L2C0: l2c {
+               compatible = "ibm,l2-cache-460gt", "ibm,l2-cache";
+               dcr-reg = <0x020 0x008          /* Internal SRAM DCR's */
+                          0x030 0x008>;        /* L2 cache DCR's */
+               cache-line-size = <32>;         /* 32 bytes */
+               cache-size = <262144>;          /* L2, 256K */
+               interrupt-parent = <&UIC1>;
+               interrupts = <11 1>;
+       };
+
        plb {
                compatible = "ibm,plb-460gt", "ibm,plb4";
                #address-cells = <2>;
                                /* ranges property is supplied by U-Boot */
                                interrupts = <0x6 0x4>;
                                interrupt-parent = <&UIC1>;
+
+                               nor_flash@0,0 {
+                                       compatible = "amd,s29gl256n", "cfi-flash";
+                                       bank-width = <2>;
+                                       reg = <0x00000000 0x00000000 0x02000000>;
+                                       #address-cells = <1>;
+                                       #size-cells = <1>;
+                                       partition@0 {
+                                               label = "kernel";
+                                               reg = <0x00000000 0x001e0000>;
+                                       };
+                                       partition@1e0000 {
+                                               label = "dtb";
+                                               reg = <0x001e0000 0x00020000>;
+                                       };
+                                       partition@200000 {
+                                               label = "root";
+                                               reg = <0x00200000 0x00200000>;
+                                       };
+                                       partition@400000 {
+                                               label = "user";
+                                               reg = <0x00400000 0x01b60000>;
+                                       };
+                                       partition@1f60000 {
+                                               label = "env";
+                                               reg = <0x01f60000 0x00040000>;
+                                       };
+                                       partition@1fa0000 {
+                                               label = "u-boot";
+                                               reg = <0x01fa0000 0x00060000>;
+                                       };
+                               };
                        };
 
                        UART0: serial@ef600300 {
                                reg = <0xef600700 0x00000014>;
                                interrupt-parent = <&UIC0>;
                                interrupts = <0x2 0x4>;
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                               sttm@4a {
+                                       compatible = "ad,ad7414";
+                                       reg = <0x4a>;
+                                       interrupt-parent = <&UIC1>;
+                                       interrupts = <0x0 0x8>;
+                               };
                        };
 
                        IIC1: i2c@ef600800 {
index 5fd1ad09bdf2c1661b0293fd19fcff9f58f71767..c920170b7dfefd9d70bb29e1a2d71e6ccb860b88 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Device Tree Source for AMCC Canyonlands (460EX)
  *
- * Copyright 2008 DENX Software Engineering, Stefan Roese <sr@denx.de>
+ * Copyright 2008-2009 DENX Software Engineering, Stefan Roese <sr@denx.de>
  *
  * This file is licensed under the terms of the GNU General Public
  * License version 2.  This program is licensed "as is" without
                                        /*RXDE*/  0x5 0x4>;
                };
 
-                USB0: ehci@bffd0400 {
-                        compatible = "ibm,usb-ehci-460ex", "usb-ehci";
-                        interrupt-parent = <&UIC2>;
-                        interrupts = <0x1d 4>;
-                        reg = <4 0xbffd0400 0x90 4 0xbffd0490 0x70>;
-                };
+               USB0: ehci@bffd0400 {
+                       compatible = "ibm,usb-ehci-460ex", "usb-ehci";
+                       interrupt-parent = <&UIC2>;
+                       interrupts = <0x1d 4>;
+                       reg = <4 0xbffd0400 0x90 4 0xbffd0490 0x70>;
+               };
 
-                USB1: usb@bffd0000 {
-                        compatible = "ohci-le";
-                        reg = <4 0xbffd0000 0x60>;
-                        interrupt-parent = <&UIC2>;
-                        interrupts = <0x1e 4>;
-                };
+               USB1: usb@bffd0000 {
+                       compatible = "ohci-le";
+                       reg = <4 0xbffd0000 0x60>;
+                       interrupt-parent = <&UIC2>;
+                       interrupts = <0x1e 4>;
+               };
 
                POB0: opb {
                        compatible = "ibm,opb-460ex", "ibm,opb";
                                                reg = <0x03fa0000 0x00060000>;
                                        };
                                };
+
+                               ndfc@3,0 {
+                                       compatible = "ibm,ndfc";
+                                       reg = <0x00000003 0x00000000 0x00002000>;
+                                       ccr = <0x00001000>;
+                                       bank-settings = <0x80002222>;
+                                       #address-cells = <1>;
+                                       #size-cells = <1>;
+
+                                       nand {
+                                               #address-cells = <1>;
+                                               #size-cells = <1>;
+
+                                               partition@0 {
+                                                       label = "u-boot";
+                                                       reg = <0x00000000 0x00100000>;
+                                               };
+                                               partition@100000 {
+                                                       label = "user";
+                                                       reg = <0x00000000 0x03f00000>;
+                                               };
+                                       };
+                               };
                        };
 
                        UART0: serial@ef600300 {
diff --git a/arch/powerpc/boot/dts/eiger.dts b/arch/powerpc/boot/dts/eiger.dts
new file mode 100644 (file)
index 0000000..c4a934f
--- /dev/null
@@ -0,0 +1,421 @@
+/*
+ * Device Tree Source for AMCC (AppliedMicro) Eiger(460SX)
+ *
+ * Copyright 2009 AMCC (AppliedMicro) <ttnguyen@amcc.com>
+ *
+ * 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.
+ */
+
+/dts-v1/;
+
+/ {
+       #address-cells = <2>;
+       #size-cells = <1>;
+       model = "amcc,eiger";
+       compatible = "amcc,eiger";
+       dcr-parent = <&{/cpus/cpu@0}>;
+
+       aliases {
+               ethernet0 = &EMAC0;
+               ethernet1 = &EMAC1;
+               ethernet2 = &EMAC2;
+               ethernet3 = &EMAC3;
+               serial0 = &UART0;
+               serial1 = &UART1;
+       };
+
+       cpus {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               cpu@0 {
+                       device_type = "cpu";
+                       model = "PowerPC,460SX";
+                       reg = <0x00000000>;
+                       clock-frequency = <0>; /* Filled in by U-Boot */
+                       timebase-frequency = <0>; /* Filled in by U-Boot */
+                       i-cache-line-size = <32>;
+                       d-cache-line-size = <32>;
+                       i-cache-size = <32768>;
+                       d-cache-size = <32768>;
+                       dcr-controller;
+                       dcr-access-method = "native";
+               };
+       };
+
+       memory {
+               device_type = "memory";
+               reg = <0x00000000 0x00000000 0x00000000>; /* Filled in by U-Boot */
+       };
+
+       UIC0: interrupt-controller0 {
+               compatible = "ibm,uic-460sx","ibm,uic";
+               interrupt-controller;
+               cell-index = <0>;
+               dcr-reg = <0x0c0 0x009>;
+               #address-cells = <0>;
+               #size-cells = <0>;
+               #interrupt-cells = <2>;
+       };
+
+       UIC1: interrupt-controller1 {
+               compatible = "ibm,uic-460sx","ibm,uic";
+               interrupt-controller;
+               cell-index = <1>;
+               dcr-reg = <0x0d0 0x009>;
+               #address-cells = <0>;
+               #size-cells = <0>;
+               #interrupt-cells = <2>;
+               interrupts = <0x1e 0x4 0x1f 0x4>; /* cascade */
+               interrupt-parent = <&UIC0>;
+       };
+
+       UIC2: interrupt-controller2 {
+               compatible = "ibm,uic-460sx","ibm,uic";
+               interrupt-controller;
+               cell-index = <2>;
+               dcr-reg = <0x0e0 0x009>;
+               #address-cells = <0>;
+               #size-cells = <0>;
+               #interrupt-cells = <2>;
+               interrupts = <0xa 0x4 0xb 0x4>; /* cascade */
+               interrupt-parent = <&UIC0>;
+       };
+
+       UIC3: interrupt-controller3 {
+               compatible = "ibm,uic-460sx","ibm,uic";
+               interrupt-controller;
+               cell-index = <3>;
+               dcr-reg = <0x0f0 0x009>;
+               #address-cells = <0>;
+               #size-cells = <0>;
+               #interrupt-cells = <2>;
+               interrupts = <0x10 0x4 0x11 0x4>; /* cascade */
+               interrupt-parent = <&UIC0>;
+       };
+
+       SDR0: sdr {
+               compatible = "ibm,sdr-460sx";
+               dcr-reg = <0x00e 0x002>;
+       };
+
+       CPR0: cpr {
+               compatible = "ibm,cpr-460sx";
+               dcr-reg = <0x00c 0x002>;
+       };
+
+       plb {
+               compatible = "ibm,plb-460sx", "ibm,plb4";
+               #address-cells = <2>;
+               #size-cells = <1>;
+               ranges;
+               clock-frequency = <0>; /* Filled in by U-Boot */
+
+               SDRAM0: sdram {
+                       compatible = "ibm,sdram-460sx", "ibm,sdram-405gp";
+                       dcr-reg = <0x010 0x002>;
+               };
+
+               MAL0: mcmal {
+                       compatible = "ibm,mcmal-460sx", "ibm,mcmal2";
+                       dcr-reg = <0x180 0x62>;
+                       num-tx-chans = <4>;
+                       num-rx-chans = <32>;
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       interrupt-parent = <&UIC1>;
+                       interrupts = <  /*TXEOB*/ 0x6 0x4
+                                       /*RXEOB*/ 0x7 0x4
+                                       /*SERR*/  0x1 0x4
+                                       /*TXDE*/  0x2 0x4
+                                       /*RXDE*/  0x3 0x4
+                                       /*COAL TX0*/ 0x18 0x2
+                                       /*COAL TX1*/ 0x19 0x2
+                                       /*COAL TX2*/ 0x1a 0x2
+                                       /*COAL TX3*/ 0x1b 0x2
+                                       /*COAL RX0*/ 0x1c 0x2
+                                       /*COAL RX1*/ 0x1d 0x2
+                                       /*COAL RX2*/ 0x1e 0x2
+                                       /*COAL RX3*/ 0x1f 0x2>;
+               };
+
+               POB0: opb {
+                       compatible = "ibm,opb-460sx", "ibm,opb";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges = <0xb0000000 0x00000004 0xb0000000 0x50000000>;
+                       clock-frequency = <0>; /* Filled in by U-Boot */
+
+                       EBC0: ebc {
+                               compatible = "ibm,ebc-460sx", "ibm,ebc";
+                               dcr-reg = <0x012 0x002>;
+                               #address-cells = <2>;
+                               #size-cells = <1>;
+                               clock-frequency = <0>; /* Filled in by U-Boot */
+                               /* ranges property is supplied by U-Boot */
+                               interrupts = <0x6 0x4>;
+                               interrupt-parent = <&UIC1>;
+
+                               nor_flash@0,0 {
+                                       compatible = "amd,s29gl512n", "cfi-flash";
+                                       bank-width = <2>;
+                                       /* reg property is supplied in by U-Boot */
+                                       #address-cells = <1>;
+                                       #size-cells = <1>;
+                                       partition@0 {
+                                               label = "kernel";
+                                               reg = <0x00000000 0x001e0000>;
+                                       };
+                                       partition@1e0000 {
+                                               label = "dtb";
+                                               reg = <0x001e0000 0x00020000>;
+                                       };
+                                       partition@200000 {
+                                               label = "ramdisk";
+                                               reg = <0x00200000 0x01400000>;
+                                       };
+                                       partition@1600000 {
+                                               label = "jffs2";
+                                               reg = <0x01600000 0x00400000>;
+                                       };
+                                       partition@1a00000 {
+                                               label = "user";
+                                               reg = <0x01a00000 0x02560000>;
+                                       };
+                                       partition@3f60000 {
+                                               label = "env";
+                                               reg = <0x03f60000 0x00040000>;
+                                       };
+                                       partition@3fa0000 {
+                                               label = "u-boot";
+                                               reg = <0x03fa0000 0x00060000>;
+                                       };
+                               };
+
+                               ndfc@1,0 {
+                                       compatible = "ibm,ndfc";
+                                       /* reg property is supplied by U-boot */
+                                       ccr = <0x00003000>;
+                                       bank-settings = <0x80002222>;
+                                       #address-cells = <1>;
+                                       #size-cells = <1>;
+
+                                       nand {
+                                               #address-cells = <1>;
+                                               #size-cells = <1>;
+                                               partition@0 {
+                                                       label = "uboot";
+                                                       reg = <0x00000000 0x00200000>;
+                                               };
+                                               partition@200000 {
+                                                       label = "uboot-environment";
+                                                       reg = <0x00200000 0x00100000>;
+                                               };
+                                               partition@300000 {
+                                                       label = "linux";
+                                                       reg = <0x00300000 0x00300000>;
+                                               };
+                                               partition@600000 {
+                                                       label = "root-file-system";
+                                                       reg = <0x00600000 0x01900000>;
+                                               };
+                                               partition@1f00000 {
+                                                       label = "device-tree";
+                                                       reg = <0x01f00000 0x00020000>;
+                                               };
+                                               partition@1f20000 {
+                                                       label = "data";
+                                                       reg = <0x01f20000 0x060E0000>;
+                                               };
+                                       };
+                               };
+                       };
+
+                       UART0: serial@ef600200 {
+                               device_type = "serial";
+                               compatible = "ns16550";
+                               reg = <0xef600200 0x00000008>;
+                               virtual-reg = <0xef600200>;
+                               clock-frequency = <0>; /* Filled in by U-Boot */
+                               current-speed = <0>; /* Filled in by U-Boot */
+                               interrupt-parent = <&UIC0>;
+                               interrupts = <0x0 0x4>;
+                       };
+
+                       UART1: serial@ef600300 {
+                               device_type = "serial";
+                               compatible = "ns16550";
+                               reg = <0xef600300 0x00000008>;
+                               virtual-reg = <0xef600300>;
+                               clock-frequency = <0>; /* Filled in by U-Boot */
+                               current-speed = <0>; /* Filled in by U-Boot */
+                               interrupt-parent = <&UIC0>;
+                               interrupts = <0x1 0x4>;
+                       };
+
+                       IIC0: i2c@ef600400 {
+                               compatible = "ibm,iic-460sx", "ibm,iic";
+                               reg = <0xef600400 0x00000014>;
+                               interrupt-parent = <&UIC0>;
+                               interrupts = <0x2 0x4>;
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                               index = <0>;
+                       };
+
+                       IIC1: i2c@ef600500 {
+                               compatible = "ibm,iic-460sx", "ibm,iic";
+                               reg = <0xef600500 0x00000014>;
+                               interrupt-parent = <&UIC0>;
+                               interrupts = <0x3 0x4>;
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                               index = <1>;
+                       };
+
+                       RGMII0: emac-rgmii@ef600900 {
+                               compatible = "ibm,rgmii-460sx", "ibm,rgmii";
+                               reg = <0xef600900 0x00000008>;
+                               has-mdio;
+                       };
+
+                       RGMII1: emac-rgmii@ef600920 {
+                               compatible = "ibm,rgmii-460sx", "ibm,rgmii";
+                               reg = <0xef600920 0x00000008>;
+                               has-mdio;
+                       };
+
+                       TAH0: emac-tah@ef600e50 {
+                               compatible = "ibm,tah-460sx", "ibm,tah";
+                               reg = <0xef600e50 0x00000030>;
+                       };
+
+                       TAH1: emac-tah@ef600f50 {
+                               compatible = "ibm,tah-460sx", "ibm,tah";
+                               reg = <0xef600f50 0x00000030>;
+                       };
+
+                       EMAC0: ethernet@ef600a00 {
+                               device_type = "network";
+                               compatible = "ibm,emac-460sx", "ibm,emac4";
+                               interrupt-parent = <&EMAC0>;
+                               interrupts = <0x0 0x1>;
+                               #interrupt-cells = <1>;
+                               #address-cells = <0>;
+                               #size-cells = <0>;
+                               interrupt-map = </*Status*/ 0x0 &UIC0 0x13 0x4
+                                                /*Wake*/   0x1 &UIC2 0x1d 0x4>;
+                               reg = <0xef600a00 0x00000070>;
+                               local-mac-address = [000000000000]; /* Filled in by U-Boot */
+                               mal-device = <&MAL0>;
+                               mal-tx-channel = <0>;
+                               mal-rx-channel = <0>;
+                               cell-index = <0>;
+                               max-frame-size = <9000>;
+                               rx-fifo-size = <4096>;
+                               tx-fifo-size = <2048>;
+                               phy-mode = "rgmii";
+                               phy-map = <0x00000000>;
+                               rgmii-device = <&RGMII0>;
+                               rgmii-channel = <0>;
+                               tah-device = <&TAH0>;
+                               tah-channel = <0>;
+                               has-inverted-stacr-oc;
+                               has-new-stacr-staopc;
+                       };
+
+                       EMAC1: ethernet@ef600b00 {
+                               device_type = "network";
+                               compatible = "ibm,emac-460sx", "ibm,emac4";
+                               interrupt-parent = <&EMAC1>;
+                               interrupts = <0x0 0x1>;
+                               #interrupt-cells = <1>;
+                               #address-cells = <0>;
+                               #size-cells = <0>;
+                               interrupt-map = </*Status*/ 0x0 &UIC0 0x14 0x4
+                                                /*Wake*/   0x1 &UIC2 0x1d 0x4>;
+                               reg = <0xef600b00 0x00000070>;
+                               local-mac-address = [000000000000]; /* Filled in by U-Boot */
+                               mal-device = <&MAL0>;
+                               mal-tx-channel = <1>;
+                               mal-rx-channel = <8>;
+                               cell-index = <1>;
+                               max-frame-size = <9000>;
+                               rx-fifo-size = <4096>;
+                               tx-fifo-size = <2048>;
+                               phy-mode = "rgmii";
+                               phy-map = <0x00000000>;
+                               rgmii-device = <&RGMII0>;
+                               rgmii-channel = <1>;
+                               tah-device = <&TAH1>;
+                               tah-channel = <1>;
+                               has-inverted-stacr-oc;
+                               has-new-stacr-staopc;
+                               mdio-device = <&EMAC0>;
+                       };
+
+                       EMAC2: ethernet@ef600c00 {
+                               device_type = "network";
+                               compatible = "ibm,emac-460sx", "ibm,emac4";
+                               interrupt-parent = <&EMAC2>;
+                               interrupts = <0x0 0x1>;
+                               #interrupt-cells = <1>;
+                               #address-cells = <0>;
+                               #size-cells = <0>;
+                               interrupt-map = </*Status*/ 0x0 &UIC0 0x15 0x4
+                                                /*Wake*/   0x1 &UIC2 0x1d 0x4>;
+                               reg = <0xef600c00 0x00000070>;
+                               local-mac-address = [000000000000]; /* Filled in by U-Boot */
+                               mal-device = <&MAL0>;
+                               mal-tx-channel = <2>;
+                               mal-rx-channel = <16>;
+                               cell-index = <2>;
+                               max-frame-size = <9000>;
+                               rx-fifo-size = <4096>;
+                               tx-fifo-size = <2048>;
+                               phy-mode = "rgmii";
+                               phy-map = <0x00000000>;
+                               rgmii-device = <&RGMII1>;
+                               rgmii-channel = <0>;
+                               has-inverted-stacr-oc;
+                               has-new-stacr-staopc;
+                               mdio-device = <&EMAC0>;
+                       };
+
+                       EMAC3: ethernet@ef600d00 {
+                               device_type = "network";
+                               compatible = "ibm,emac-460sx", "ibm,emac4";
+                               interrupt-parent = <&EMAC3>;
+                               interrupts = <0x0 0x1>;
+                               #interrupt-cells = <1>;
+                               #address-cells = <0>;
+                               #size-cells = <0>;
+                               interrupt-map = </*Status*/ 0x0 &UIC0 0x16 0x4
+                                                /*Wake*/   0x1 &UIC2 0x1d 0x4>;
+                               reg = <0xef600d00 0x00000070>;
+                               local-mac-address = [000000000000]; /* Filled in by U-Boot */
+                               mal-device = <&MAL0>;
+                               mal-tx-channel = <3>;
+                               mal-rx-channel = <24>;
+                               cell-index = <3>;
+                               max-frame-size = <9000>;
+                               rx-fifo-size = <4096>;
+                               tx-fifo-size = <2048>;
+                               phy-mode = "rgmii";
+                               phy-map = <0x00000000>;
+                               rgmii-device = <&RGMII1>;
+                               rgmii-channel = <1>;
+                               has-inverted-stacr-oc;
+                               has-new-stacr-staopc;
+                               mdio-device = <&EMAC0>;
+                       };
+               };
+
+       };
+       chosen {
+               linux,stdout-path = "/plb/opb/serial@ef600200";
+       };
+
+};
index 0f4c9ec2c3a619523108360f315b1fc0dd83fa73..2107d3c7cfe1d61bb6632c9445cee03a301fcbb5 100644 (file)
 
                /* flash@0,0 is a mirror of part of the memory in flash@1,0
                flash@0,0 {
-                       compatible = "cfi-flash";
-                       reg = <0 0 0x01000000>;
+                       compatible = "gef,sbc310-firmware-mirror", "cfi-flash";
+                       reg = <0x0 0x0 0x01000000>;
                        bank-width = <2>;
                        device-width = <2>;
                        #address-cells = <1>;
                        #size-cells = <1>;
                        partition@0 {
                                label = "firmware";
-                               reg = <0x00000000 0x01000000>;
+                               reg = <0x0 0x01000000>;
                                read-only;
                        };
                };
                */
 
                flash@1,0 {
-                       compatible = "cfi-flash";
-                       reg = <0 0x8000000>;
+                       compatible = "gef,sbc310-paged-flash", "cfi-flash";
+                       reg = <0x1 0x0 0x8000000>;
                        bank-width = <2>;
                        device-width = <2>;
                        #address-cells = <1>;
                        #size-cells = <1>;
                        partition@0 {
                                label = "user";
-                               reg = <0x00000000 0x07800000>;
+                               reg = <0x0 0x7800000>;
                        };
                        partition@7800000 {
                                label = "firmware";
-                               reg = <0x07800000 0x00800000>;
+                               reg = <0x7800000 0x800000>;
                                read-only;
                        };
                };
                };
 
                wdt@4,2000 {
-                       #interrupt-cells = <2>;
-                       device_type = "watchdog";
-                       compatible = "gef,fpga-wdt";
+                       compatible = "gef,sbc310-fpga-wdt", "gef,fpga-wdt-1.00",
+                               "gef,fpga-wdt";
                        reg = <0x4 0x2000 0x8>;
                        interrupts = <0x1a 0x4>;
                        interrupt-parent = <&gef_pic>;
                };
 /*
                wdt@4,2010 {
-                       #interrupt-cells = <2>;
-                       device_type = "watchdog";
-                       compatible = "gef,fpga-wdt";
+                       compatible = "gef,sbc310-fpga-wdt", "gef,fpga-wdt-1.00",
+                               "gef,fpga-wdt";
                        reg = <0x4 0x2010 0x8>;
                        interrupts = <0x1b 0x4>;
                        interrupt-parent = <&gef_pic>;
                gef_pic: pic@4,4000 {
                        #interrupt-cells = <1>;
                        interrupt-controller;
-                       compatible = "gef,fpga-pic";
+                       compatible = "gef,sbc310-fpga-pic", "gef,fpga-pic";
                        reg = <0x4 0x4000 0x20>;
                        interrupts = <0x8
                                      0x9>;
                #size-cells = <1>;
                #interrupt-cells = <2>;
                device_type = "soc";
-               compatible = "simple-bus";
+               compatible = "fsl,mpc8641-soc", "simple-bus";
                ranges = <0x0 0xfef00000 0x00100000>;
                bus-frequency = <33333333>;
 
                                  0x0 0x00400000>;
                };
        };
+
+       pci1: pcie@fef09000 {
+               compatible = "fsl,mpc8641-pcie";
+               device_type = "pci";
+               #interrupt-cells = <1>;
+               #size-cells = <2>;
+               #address-cells = <3>;
+               reg = <0xfef09000 0x1000>;
+               bus-range = <0x0 0xff>;
+               ranges = <0x02000000 0x0 0xc0000000 0xc0000000 0x0 0x20000000
+                         0x01000000 0x0 0x00000000 0xfe400000 0x0 0x00400000>;
+               clock-frequency = <33333333>;
+               interrupt-parent = <&mpic>;
+               interrupts = <0x19 0x2>;
+               interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
+               interrupt-map = <
+                       0x0000 0x0 0x0 0x1 &mpic 0x4 0x2
+                       0x0000 0x0 0x0 0x2 &mpic 0x5 0x2
+                       0x0000 0x0 0x0 0x3 &mpic 0x6 0x2
+                       0x0000 0x0 0x0 0x4 &mpic 0x7 0x2
+                       >;
+
+               pcie@0 {
+                       reg = <0 0 0 0 0>;
+                       #size-cells = <2>;
+                       #address-cells = <3>;
+                       device_type = "pci";
+                       ranges = <0x02000000 0x0 0xc0000000
+                                 0x02000000 0x0 0xc0000000
+                                 0x0 0x20000000
+
+                                 0x01000000 0x0 0x00000000
+                                 0x01000000 0x0 0x00000000
+                                 0x0 0x00400000>;
+               };
+       };
 };
diff --git a/arch/powerpc/boot/dts/hotfoot.dts b/arch/powerpc/boot/dts/hotfoot.dts
new file mode 100644 (file)
index 0000000..cad9c38
--- /dev/null
@@ -0,0 +1,294 @@
+/*
+ * Device Tree Source for ESTeem 195E Hotfoot
+ *
+ * Copyright 2009 AbsoluteValue Systems <solomon@linux-wlan.com>
+ *
+ * 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.
+ */
+
+/dts-v1/;
+
+/ {
+       #address-cells = <1>;
+       #size-cells = <1>;
+       model = "est,hotfoot";
+       compatible = "est,hotfoot";
+       dcr-parent = <&{/cpus/cpu@0}>;
+
+       aliases {
+               ethernet0 = &EMAC0;
+               ethernet1 = &EMAC1;
+               serial0 = &UART0;
+               serial1 = &UART1;
+       };
+
+       cpus {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               cpu@0 {
+                       device_type = "cpu";
+                       model = "PowerPC,405EP";
+                       reg = <0x00000000>;
+                       clock-frequency = <0>; /* Filled in by zImage */
+                       timebase-frequency = <0>; /* Filled in by zImage */
+                       i-cache-line-size = <0x20>;
+                       d-cache-line-size = <0x20>;
+                       i-cache-size = <0x4000>;
+                       d-cache-size = <0x4000>;
+                       dcr-controller;
+                       dcr-access-method = "native";
+               };
+       };
+
+       memory {
+               device_type = "memory";
+               reg = <0x00000000 0x00000000>; /* Filled in by zImage */
+       };
+
+       UIC0: interrupt-controller {
+               compatible = "ibm,uic";
+               interrupt-controller;
+               cell-index = <0>;
+               dcr-reg = <0x0c0 0x009>;
+               #address-cells = <0>;
+               #size-cells = <0>;
+               #interrupt-cells = <2>;
+       };
+
+       plb {
+               compatible = "ibm,plb3";
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+               clock-frequency = <0>; /* Filled in by zImage */
+
+               SDRAM0: memory-controller {
+                       compatible = "ibm,sdram-405ep";
+                       dcr-reg = <0x010 0x002>;
+               };
+
+               MAL: mcmal {
+                       compatible = "ibm,mcmal-405ep", "ibm,mcmal";
+                       dcr-reg = <0x180 0x062>;
+                       num-tx-chans = <4>;
+                       num-rx-chans = <2>;
+                       interrupt-parent = <&UIC0>;
+                       interrupts = <
+                               0xb 0x4 /* TXEOB */
+                               0xc 0x4 /* RXEOB */
+                               0xa 0x4 /* SERR */
+                               0xd 0x4 /* TXDE */
+                               0xe 0x4 /* RXDE */>;
+               };
+
+               POB0: opb {
+                       compatible = "ibm,opb-405ep", "ibm,opb";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges = <0xef600000 0xef600000 0x00a00000>;
+                       dcr-reg = <0x0a0 0x005>;
+                       clock-frequency = <0>; /* Filled in by zImage */
+
+                       /* Hotfoot has UART0/UART1 swapped */
+
+                       UART0: serial@ef600400 {
+                               device_type = "serial";
+                               compatible = "ns16550";
+                               reg = <0xef600400 0x00000008>;
+                               virtual-reg = <0xef600400>;
+                               clock-frequency = <0>; /* Filled in by zImage */
+                               current-speed = <0x9600>;
+                               interrupt-parent = <&UIC0>;
+                               interrupts = <0x1 0x4>;
+                       };
+
+                       UART1: serial@ef600300 {
+                               device_type = "serial";
+                               compatible = "ns16550";
+                               reg = <0xef600300 0x00000008>;
+                               virtual-reg = <0xef600300>;
+                               clock-frequency = <0>; /* Filled in by zImage */
+                               current-speed = <0x9600>;
+                               interrupt-parent = <&UIC0>;
+                               interrupts = <0x0 0x4>;
+                       };
+
+                       IIC: i2c@ef600500 {
+                               compatible = "ibm,iic-405ep", "ibm,iic";
+                               reg = <0xef600500 0x00000011>;
+                               interrupt-parent = <&UIC0>;
+                               interrupts = <0x2 0x4>;
+
+                               rtc@68 {
+                                       /* Actually a DS1339 */
+                                       compatible = "dallas,ds1307";
+                                       reg = <0x68>;
+                               };
+
+                               temp@4a {
+                                       /* Not present on all boards */
+                                       compatible = "national,lm75";
+                                       reg = <0x4a>;
+                               };
+                       };
+
+                       GPIO: gpio@ef600700 {
+                               #gpio-cells = <2>;
+                               compatible = "ibm,ppc4xx-gpio";
+                               reg = <0xef600700 0x00000020>;
+                               gpio-controller;
+                       };
+
+                       gpio-leds {
+                               compatible = "gpio-leds";
+                               status {
+                                       label = "Status";
+                                       gpios = <&GPIO 1 0>;
+                               };
+                               radiorx {
+                                       label = "Rx";
+                                       gpios = <&GPIO 0xe 0>;
+                               };
+                       };
+
+                       EMAC0: ethernet@ef600800 {
+                               linux,network-index = <0x0>;
+                               device_type = "network";
+                               compatible = "ibm,emac-405ep", "ibm,emac";
+                               interrupt-parent = <&UIC0>;
+                               interrupts = <
+                                       0xf 0x4 /* Ethernet */
+                                       0x9 0x4 /* Ethernet Wake Up */>;
+                               local-mac-address = [000000000000]; /* Filled in by zImage */
+                               reg = <0xef600800 0x00000070>;
+                               mal-device = <&MAL>;
+                               mal-tx-channel = <0>;
+                               mal-rx-channel = <0>;
+                               cell-index = <0>;
+                               max-frame-size = <0x5dc>;
+                               rx-fifo-size = <0x1000>;
+                               tx-fifo-size = <0x800>;
+                               phy-mode = "mii";
+                               phy-map = <0x00000000>;
+                       };
+
+                       EMAC1: ethernet@ef600900 {
+                               linux,network-index = <0x1>;
+                               device_type = "network";
+                               compatible = "ibm,emac-405ep", "ibm,emac";
+                               interrupt-parent = <&UIC0>;
+                               interrupts = <
+                                       0x11 0x4 /* Ethernet */
+                                       0x9 0x4 /* Ethernet Wake Up */>;
+                               local-mac-address = [000000000000]; /* Filled in by zImage */
+                               reg = <0xef600900 0x00000070>;
+                               mal-device = <&MAL>;
+                               mal-tx-channel = <2>;
+                               mal-rx-channel = <1>;
+                               cell-index = <1>;
+                               max-frame-size = <0x5dc>;
+                               rx-fifo-size = <0x1000>;
+                               tx-fifo-size = <0x800>;
+                               mdio-device = <&EMAC0>;
+                               phy-mode = "mii";
+                               phy-map = <0x0000001>;
+                       };
+               };
+
+               EBC0: ebc {
+                       compatible = "ibm,ebc-405ep", "ibm,ebc";
+                       dcr-reg = <0x012 0x002>;
+                       #address-cells = <2>;
+                       #size-cells = <1>;
+
+                       /* The ranges property is supplied by the bootwrapper
+                        * and is based on the firmware's configuration of the
+                        * EBC bridge
+                        */
+                       clock-frequency = <0>; /* Filled in by zImage */
+
+                       nor_flash@0 {
+                               compatible = "cfi-flash";
+                               bank-width = <2>;
+                               reg = <0x0 0xff800000 0x00800000>;
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+
+                               /* This mapping is for the 8M flash
+                                  4M flash has all ofssets -= 4M,
+                                  and FeatFS partition is not present */
+                               partition@0 {
+                                       label = "Bootloader";
+                                       reg = <0x7c0000 0x40000>;
+                                       /* read-only; */
+                               };
+                               partition@1 {
+                                       label = "Env_and_Config_Primary";
+                                       reg = <0x400000 0x10000>;
+                               };
+                               partition@2 {
+                                       label = "Kernel";
+                                       reg = <0x420000 0x100000>;
+                               };
+                               partition@3 {
+                                       label = "Filesystem";
+                                       reg = <0x520000 0x2a0000>;
+                               };
+                               partition@4 {
+                                       label = "Env_and_Config_Secondary";
+                                       reg = <0x410000 0x10000>;
+                               };
+                               partition@5 {
+                                       label = "FeatFS";
+                                       reg = <0x000000 0x400000>;
+                               };
+                               partition@6 {
+                                       label = "Bootloader_Env";
+                                       reg = <0x7d0000 0x10000>;
+                               };
+                       };
+               };
+
+               PCI0: pci@ec000000 {
+                       device_type = "pci";
+                       #interrupt-cells = <1>;
+                       #size-cells = <2>;
+                       #address-cells = <3>;
+                       compatible = "ibm,plb405ep-pci", "ibm,plb-pci";
+                       primary;
+                       reg = <0xeec00000 0x00000008    /* Config space access */
+                               0xeed80000 0x00000004    /* IACK */
+                               0xeed80000 0x00000004    /* Special cycle */
+                               0xef480000 0x00000040>;  /* Internal registers */
+
+                       /* Outbound ranges, one memory and one IO,
+                        * later cannot be changed. Chip supports a second
+                        * IO range but we don't use it for now
+                        */
+                       ranges = <0x02000000 0x00000000 0x80000000 0x80000000 0x00000000 0x20000000
+                               0x01000000 0x00000000 0x00000000 0xe8000000 0x00000000 0x00010000>;
+
+                       /* Inbound 2GB range starting at 0 */
+                       dma-ranges = <0x42000000 0x0 0x0 0x0 0x0 0x80000000>;
+
+                       interrupt-parent = <&UIC0>;
+                       interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
+                       interrupt-map = <
+                               /* IDSEL 3 -- slot1 (optional) 27/29 A/B IRQ2/4 */
+                               0x1800 0x0 0x0 0x1 &UIC0 0x1b 0x8
+                               0x1800 0x0 0x0 0x2 &UIC0 0x1d 0x8
+
+                               /* IDSEL 4 -- slot0, 26/28 A/B IRQ1/3 */
+                               0x2000 0x0 0x0 0x1 &UIC0 0x1a 0x8
+                               0x2000 0x0 0x0 0x2 &UIC0 0x1c 0x8
+                               >;
+               };
+       };
+
+       chosen {
+               linux,stdout-path = &UART0;
+       };
+};
index 5e6b08ff6f6701e158aa94241cabe3681024d520..c46561456ede3e25758b3ee57077036940d7ebe2 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Device Tree Source for AMCC Kilauea (405EX)
  *
- * Copyright 2007 DENX Software Engineering, Stefan Roese <sr@denx.de>
+ * Copyright 2007-2009 DENX Software Engineering, Stefan Roese <sr@denx.de>
  *
  * This file is licensed under the terms of the GNU General Public
  * License version 2.  This program is licensed "as is" without
                                        #size-cells = <1>;
                                        partition@0 {
                                                label = "kernel";
-                                               reg = <0x00000000 0x00200000>;
+                                               reg = <0x00000000 0x001e0000>;
+                                       };
+                                       partition@1e0000 {
+                                               label = "dtb";
+                                               reg = <0x001e0000 0x00020000>;
                                        };
                                        partition@200000 {
                                                label = "root";
                                                reg = <0x03fa0000 0x00060000>;
                                        };
                                };
+
+                               ndfc@1,0 {
+                                       compatible = "ibm,ndfc";
+                                       reg = <0x00000001 0x00000000 0x00002000>;
+                                       ccr = <0x00001000>;
+                                       bank-settings = <0x80002222>;
+                                       #address-cells = <1>;
+                                       #size-cells = <1>;
+
+                                       nand {
+                                               #address-cells = <1>;
+                                               #size-cells = <1>;
+
+                                               partition@0 {
+                                                       label = "u-boot";
+                                                       reg = <0x00000000 0x00100000>;
+                                               };
+                                               partition@100000 {
+                                                       label = "user";
+                                                       reg = <0x00000000 0x03f00000>;
+                                               };
+                                       };
+                               };
                        };
 
                        UART0: serial@ef600200 {
                                reg = <0xef600400 0x00000014>;
                                interrupt-parent = <&UIC0>;
                                interrupts = <0x2 0x4>;
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               rtc@68 {
+                                       compatible = "dallas,ds1338";
+                                       reg = <0x68>;
+                               };
+
+                               dtt@48 {
+                                       compatible = "dallas,ds1775";
+                                       reg = <0x48>;
+                               };
                        };
 
                        IIC1: i2c@ef600500 {
                                interrupts = <0x7 0x4>;
                        };
 
-
                        RGMII0: emac-rgmii@ef600b00 {
                                compatible = "ibm,rgmii-405ex", "ibm,rgmii";
                                reg = <0xef600b00 0x00000104>;
index 633255a975576f4e8f853504ebc0d4d6268bf11f..0ce96644176da3758b00b1ba1a5ecc34ac156879 100644 (file)
                                fixed-link = <0 0 10 0 0>;
                        };
 
+                       i2c@11860 {
+                               compatible = "fsl,mpc8272-i2c",
+                                            "fsl,cpm2-i2c";
+                               reg = <0x11860 0x20 0x8afc 0x2>;
+                               interrupts = <1 8>;
+                               interrupt-parent = <&PIC>;
+                               fsl,cpm-command = <0x29600000>;
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                       };
+
+                       mdio@10d40 {
+                               compatible = "fsl,cpm2-mdio-bitbang";
+                               reg = <0x10d00 0x14>;
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                               fsl,mdio-pin = <12>;
+                               fsl,mdc-pin = <13>;
+
+                               phy0: ethernet-phy@0 {
+                                       reg = <0x0>;
+                               };
+
+                               phy1: ethernet-phy@1 {
+                                       reg = <0x1>;
+                               };
+                       };
+
+                       /* FCC1 management to switch */
+                       ethernet@11300 {
+                               device_type = "network";
+                               compatible = "fsl,cpm2-fcc-enet";
+                               reg = <0x11300 0x20 0x8400 0x100 0x11390 0x1>;
+                               local-mac-address = [ 00 01 02 03 04 07 ];
+                               interrupts = <32 8>;
+                               interrupt-parent = <&PIC>;
+                               phy-handle = <&phy0>;
+                               linux,network-index = <1>;
+                               fsl,cpm-command = <0x12000300>;
+                       };
+
+                       /* FCC2 to redundant core unit over backplane */
+                       ethernet@11320 {
+                               device_type = "network";
+                               compatible = "fsl,cpm2-fcc-enet";
+                               reg = <0x11320 0x20 0x8500 0x100 0x113b0 0x1>;
+                               local-mac-address = [ 00 01 02 03 04 08 ];
+                               interrupts = <33 8>;
+                               interrupt-parent = <&PIC>;
+                               phy-handle = <&phy1>;
+                               linux,network-index = <2>;
+                               fsl,cpm-command = <0x16200300>;
+                       };
                };
 
                PIC: interrupt-controller@10c00 {
index 60f332778e41f480c2841bd2454337c6a060e5b4..e802ebd88cb1f01c7a426037261aa83840e25226 100644 (file)
                                fsl,cpm-command = <0xce00000>;
                        };
 
+                       usb@11b60 {
+                               compatible = "fsl,mpc8272-cpm-usb";
+                               reg = <0x11b60 0x40 0x8b00 0x100>;
+                               interrupts = <11 8>;
+                               interrupt-parent = <&PIC>;
+                               mode = "peripheral";
+                       };
+
                        mdio@10d40 {
                                device_type = "mdio";
                                compatible = "fsl,mpc8272ads-mdio-bitbang",
index 4f06dbc0d27e8e96a454175c969c26a28f7be037..28e022ac41796fb83d057060d61c8728de4d238a 100644 (file)
                                interrupts = <42 0x8>;
                                interrupt-parent = <&ipic>;
                                /* Filled in by U-Boot */
-                               clock-frequency = <0>;
+                               clock-frequency = <111111111>;
                        };
                };
 
diff --git a/arch/powerpc/boot/dts/mpc8377_wlan.dts b/arch/powerpc/boot/dts/mpc8377_wlan.dts
new file mode 100644 (file)
index 0000000..3febc4e
--- /dev/null
@@ -0,0 +1,464 @@
+/*
+ * MPC8377E WLAN Device Tree Source
+ *
+ * Copyright 2007-2009 Freescale Semiconductor Inc.
+ * Copyright 2009 MontaVista Software, Inc.
+ *
+ * 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.
+ */
+
+/dts-v1/;
+
+/ {
+       compatible = "fsl,mpc8377wlan";
+       #address-cells = <1>;
+       #size-cells = <1>;
+
+       aliases {
+               ethernet0 = &enet0;
+               ethernet1 = &enet1;
+               serial0 = &serial0;
+           &