[PATCH 1/2] ppc32: Add initial support for DAVE PPChameleon board.

2005-11-01 Thread Matt Porter
On Wed, Oct 12, 2005 at 05:38:17PM +0200, Wolfgang Denk wrote:
 the following patch (against current kernel.org tree) adds suport for
 the PPChameleon modules / eval boards manufactured by DAVE s.r.l.

See comments below.
 
 +config PPChameleonEVB
 + bool PPChameleonEVB
 + help
 +   This option enables support for the DAVE 405EP evaluation board.
 +

It's unusual to have a mixed case config option. Is there a better
option that makes sense? PP_CHAM_EVB?

  /* DCR defines */
 -#define DCRN_CPMSR_BASE 0x0BA
 -#define DCRN_CPMFR_BASE 0x0B9
 +#define DCRN_CPMSR_BASE  0x0BA
 +#define DCRN_CPMFR_BASE  0x0B9

Please drop these whitespace changes.

 -#define IBM_CPM_GPT 0x8000  /* GPT interface */
 -#define IBM_CPM_PCI 0x4000  /* PCI bridge */
 -#define IBM_CPM_UIC 0x0001  /* Universal Int Controller 
 */
 -#define IBM_CPM_CPU 0x8000  /* processor core */
 -#define IBM_CPM_EBC 0x2000  /* EBC controller */
 -#define IBM_CPM_SDRAM0  0x4000  /* SDRAM memory controller */
 -#define IBM_CPM_GPIO0   0x1000  /* General Purpose IO */
 -#define IBM_CPM_TMRCLK  0x0400  /* CPU timers */
 -#define IBM_CPM_PLB 0x0100  /* PLB bus arbiter */
 -#define IBM_CPM_OPB 0x0080  /* PLB to OPB bridge */
 -#define IBM_CPM_DMA 0x0040  /* DMA controller */
 -#define IBM_CPM_IIC00x0010  /* IIC interface */
 -#define IBM_CPM_UART1   0x0002  /* serial port 0 */
 -#define IBM_CPM_UART0   0x0001  /* serial port 1 */
 +#define IBM_CPM_GPT  0x8000  /* GPT interface */
 +#define IBM_CPM_PCI  0x4000  /* PCI bridge */
 +#define IBM_CPM_UIC  0x0001  /* Universal Int Controller */
 +#define IBM_CPM_CPU  0x8000  /* processor core */
 +#define IBM_CPM_EBC  0x2000  /* EBC controller */
 +#define IBM_CPM_SDRAM0   0x4000  /* SDRAM memory 
 controller */
 +#define IBM_CPM_GPIO00x1000  /* General Purpose IO */
 +#define IBM_CPM_TMRCLK   0x0400  /* CPU timers */
 +#define IBM_CPM_PLB  0x0100  /* PLB bus arbiter */
 +#define IBM_CPM_OPB  0x0080  /* PLB to OPB bridge */
 +#define IBM_CPM_DMA  0x0040  /* DMA controller */
 +#define IBM_CPM_IIC0 0x0010  /* IIC interface */
 +#define IBM_CPM_UART10x0002  /* serial port 0 */
 +#define IBM_CPM_UART00x0001  /* serial port 1 */

Same here, if whitespace chanes are important submit them separately.

 diff --git a/arch/ppc/platforms/4xx/ppchameleon.c 
 b/arch/ppc/platforms/4xx/ppchameleon.c
 new file mode 100644
 --- /dev/null

snip

 +#if defined(CONFIG_BIOS_FIXUP)
 +void __init bios_fixup (struct pci_controller *hose, struct pcil0_regs *pcip)

snip

You don't use this bios_fixup garbage in this port (at least according
to your defconfig) so just drop it.

As an aside, this stuff is pretty awful and has been since 405 first
came into the tree. If the basic functionality were required, a new
port should simply reprogram the pci host bridge and let the pci
subsystem place the BARs.

-Matt



[PATCH 1/2] ppc32: Add initial support for DAVE PPChameleon board.

2005-10-12 Thread Wolfgang Denk
Hello,

the following patch (against current kernel.org tree) adds suport for
the PPChameleon modules / eval boards manufactured by DAVE s.r.l.


[PATCH] ppc32: Add initial support for DAVE PPChameleon board.

Not included yet: support for MTD, I2C, RTC.

Signed-off-by: Wolfgang Denk wd at denx.de

---
commit c9759e3e50c6e0f7c935a0f84f6c811e0bc3bc84
tree ae801a82c095e78a09fca6d4b77c9ee5d677304a
parent 2f70d4fec3a12a03db9a6accbff3271c85b91a2b
author Wolfgang Denk wd at pollux.denx.de Wed, 12 Oct 2005 17:29:22 +0200
committer Wolfgang Denk wd at pollux.denx.de Wed, 12 Oct 2005 17:29:22 +0200

 arch/ppc/configs/PPChameleon_defconfig |  881 
 arch/ppc/platforms/4xx/Kconfig |9 
 arch/ppc/platforms/4xx/Makefile|1 
 arch/ppc/platforms/4xx/ibm405ep.h  |   49 +-
 arch/ppc/platforms/4xx/ppchameleon.c   |  257 +
 arch/ppc/platforms/4xx/ppchameleon.h   |  145 +
 include/asm-ppc/ibm4xx.h   |4 
 7 files changed, 1328 insertions(+), 18 deletions(-)

diff --git a/arch/ppc/configs/PPChameleon_defconfig 
b/arch/ppc/configs/PPChameleon_defconfig
new file mode 100644
--- /dev/null
+++ b/arch/ppc/configs/PPChameleon_defconfig
@@ -0,0 +1,881 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.14-rc3
+# Mon Oct 10 14:06:58 2005
+#
+CONFIG_MMU=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_PPC=y
+CONFIG_PPC32=y
+CONFIG_GENERIC_NVRAM=y
+CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_CLEAN_COMPILE=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+CONFIG_SYSCTL=y
+# CONFIG_AUDIT is not set
+# CONFIG_HOTPLUG is not set
+CONFIG_KOBJECT_UEVENT=y
+# CONFIG_IKCONFIG is not set
+CONFIG_INITRAMFS_SOURCE=
+CONFIG_EMBEDDED=y
+# CONFIG_KALLSYMS is not set
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+# CONFIG_EPOLL is not set
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SHMEM=y
+CONFIG_CC_ALIGN_FUNCTIONS=0
+CONFIG_CC_ALIGN_LABELS=0
+CONFIG_CC_ALIGN_LOOPS=0
+CONFIG_CC_ALIGN_JUMPS=0
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+CONFIG_OBSOLETE_MODPARM=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=y
+
+#
+# Processor
+#
+# CONFIG_6xx is not set
+CONFIG_40x=y
+# CONFIG_44x is not set
+# CONFIG_POWER3 is not set
+# CONFIG_POWER4 is not set
+# CONFIG_8xx is not set
+# CONFIG_E200 is not set
+# CONFIG_E500 is not set
+# CONFIG_MATH_EMULATION is not set
+# CONFIG_KEXEC is not set
+# CONFIG_CPU_FREQ is not set
+CONFIG_4xx=y
+# CONFIG_WANT_EARLY_SERIAL is not set
+
+#
+# IBM 4xx options
+#
+# CONFIG_BUBINGA is not set
+# CONFIG_CPCI405 is not set
+# CONFIG_EP405 is not set
+CONFIG_PPChameleonEVB=y
+# CONFIG_REDWOOD_5 is not set
+# CONFIG_REDWOOD_6 is not set
+# CONFIG_SYCAMORE is not set
+# CONFIG_WALNUT is not set
+# CONFIG_XILINX_ML300 is not set
+CONFIG_IBM_OCP=y
+CONFIG_405EP=y
+# CONFIG_PPC4xx_DMA is not set
+CONFIG_PPC_GEN550=y
+CONFIG_UART0_TTYS0=y
+# CONFIG_UART0_TTYS1 is not set
+CONFIG_NOT_COHERENT_CACHE=y
+
+#
+# Platform options
+#
+# CONFIG_PC_KEYBOARD is not set
+# CONFIG_HIGHMEM is not set
+CONFIG_HZ_100=y
+# CONFIG_HZ_250 is not set
+# CONFIG_HZ_1000 is not set
+CONFIG_HZ=100
+CONFIG_PREEMPT_NONE=y
+# CONFIG_PREEMPT_VOLUNTARY is not set
+# CONFIG_PREEMPT is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+# CONFIG_SPARSEMEM_STATIC is not set
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_MISC is not set
+# CONFIG_CMDLINE_BOOL is not set
+# CONFIG_PM is not set
+# CONFIG_SOFTWARE_SUSPEND is not set
+CONFIG_SECCOMP=y
+CONFIG_ISA_DMA_API=y
+
+#
+# Bus options
+#
+CONFIG_PCI=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_PCI_LEGACY_PROC=y
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+# CONFIG_PCCARD is not set
+
+#
+# Advanced setup
+#
+# CONFIG_ADVANCED_OPTIONS is not set
+
+#
+# Default settings for advanced configuration options are used
+#
+CONFIG_HIGHMEM_START=0xfe00
+CONFIG_LOWMEM_SIZE=0x3000
+CONFIG_KERNEL_START=0xc000
+CONFIG_TASK_SIZE=0x8000
+CONFIG_CONSISTENT_START=0xff10
+CONFIG_CONSISTENT_SIZE=0x0020
+CONFIG_BOOT_LOAD=0x0040
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+# CONFIG_PACKET_MMAP is not set
+CONFIG_UNIX=y
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+# CONFIG_IP_PNP_BOOTP is not set
+#