From: Scott Wood <scottwood@freescale.com>
To: Jon Loeliger <jdl@jdl.com>
Cc: linuxppc-dev@ozlabs.org
Subject: Re: [RFC PATCH 2/3] Add initial iomega StorCenter board port.
Date: Mon, 07 Jan 2008 14:42:50 -0600 [thread overview]
Message-ID: <47828ECA.9000507@freescale.com> (raw)
In-Reply-To: <E1JBwBn-0006JC-Nn@jdl.com>
Jon Loeliger wrote:
> Use cuImage bootwrapper until U-Boot port is completed.
> Derived heavily from Linkstation port.
>
> Signed-off-by: Andy Wilcox <andy@protium.com>
> Signed-off-by: Jon Loeliger <jdl@jdl.com>
> ---
>
> Nope, I have NOT verified that the bd_t file that
> is used here byte-identical to U-Boot's layout yet.
> [ There is _always_ something more to do... ]
>
> arch/powerpc/boot/Makefile | 3 +-
> arch/powerpc/boot/cuboot-824x.c | 52 ++++++++
> arch/powerpc/platforms/embedded6xx/Kconfig | 15 ++-
> arch/powerpc/platforms/embedded6xx/Makefile | 2 +
> arch/powerpc/platforms/embedded6xx/storcenter.c | 158 +++++++++++++++++++++++
> 5 files changed, 227 insertions(+), 3 deletions(-)
> create mode 100644 arch/powerpc/boot/cuboot-824x.c
> create mode 100644 arch/powerpc/platforms/embedded6xx/storcenter.c
>
> diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
> index d1e625c..a59b176 100644
> --- a/arch/powerpc/boot/Makefile
> +++ b/arch/powerpc/boot/Makefile
> @@ -57,7 +57,7 @@ src-wlib := string.S crt0.S stdio.c main.c \
> 4xx.c ebony.c mv64x60.c mpsc.c mv64x60_i2c.c cuboot.c bamboo.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-83xx.c cuboot-85xx.c holly.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 \
> 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 \
> @@ -196,6 +196,7 @@ image-$(CONFIG_PPC_EP88XC) += zImage.ep88xc
> image-$(CONFIG_EP405) += zImage.ep405
> image-$(CONFIG_8260) += cuImage.pq2
> image-$(CONFIG_PPC_MPC52xx) += cuImage.52xx
> +image-$(CONFIG_STORCENTER) += cuImage.824x
> image-$(CONFIG_PPC_83xx) += cuImage.83xx
> image-$(CONFIG_PPC_85xx) += cuImage.85xx
> image-$(CONFIG_MPC7448HPC2) += cuImage.hpc2
> diff --git a/arch/powerpc/boot/cuboot-824x.c b/arch/powerpc/boot/cuboot-824x.c
> new file mode 100644
> index 0000000..4aa3eee
> --- /dev/null
> +++ b/arch/powerpc/boot/cuboot-824x.c
> @@ -0,0 +1,52 @@
> +/*
> + * Old U-boot compatibility for 824x
> + *
> + * Copyright (c) 2007 Freescale Semiconductor, 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 "stdio.h"
> +#include "cuboot.h"
> +
> +#define TARGET_824x
> +#include "ppcboot.h"
> +
> +static bd_t bd;
> +
> +static void platform_fixups(void)
> +{
> + void *soc;
> +
> + dt_fixup_memory(bd.bi_memstart, bd.bi_memsize);
> + dt_fixup_mac_addresses(bd.bi_enetaddr);
> + dt_fixup_cpu_clocks(bd.bi_intfreq, bd.bi_busfreq / 4, bd.bi_busfreq);
> +
> + soc = find_node_by_devtype(NULL, "soc");
> + if (soc) {
> + void *serial = NULL;
> +
> + setprop(soc, "bus-frequency", &bd.bi_busfreq,
> + sizeof(bd.bi_busfreq));
> +
> + while ((serial = find_node_by_devtype(serial, "serial"))) {
> + if (get_parent(serial) != soc)
> + continue;
> +
> + setprop(serial, "clock-frequency", &bd.bi_busfreq,
> + sizeof(bd.bi_busfreq));
> + }
> + }
> +}
> +
> +void platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
> + unsigned long r6, unsigned long r7)
> +{
> + CUBOOT_INIT();
> + fdt_init(_dtb_start);
> + serial_console_init();
> + platform_ops.fixups = platform_fixups;
> +}
> diff --git a/arch/powerpc/platforms/embedded6xx/Kconfig b/arch/powerpc/platforms/embedded6xx/Kconfig
> index 8924095..be5cdd2 100644
> --- a/arch/powerpc/platforms/embedded6xx/Kconfig
> +++ b/arch/powerpc/platforms/embedded6xx/Kconfig
> @@ -16,6 +16,17 @@ config LINKSTATION
> Linkstation-I HD-HLAN and HD-HGLAN versions, and PPC-based
> Terastation systems should be supported too.
>
> +config STORCENTER
> + bool "IOMEGA StorCenter"
> + depends on EMBEDDED6xx
> + select MPIC
> + select FSL_SOC
> + select PPC_UDBG_16550 if SERIAL_8250
> + select WANT_DEVICE_TREE
> + help
> + Select STORCENTER if configuring for the iomega StorCenter
> + with an 8241 CPU in it.
> +
> config MPC7448HPC2
> bool "Freescale MPC7448HPC2(Taiga)"
> depends on EMBEDDED6xx
> @@ -56,7 +67,7 @@ config TSI108_BRIDGE
>
> config MPC10X_BRIDGE
> bool
> - depends on LINKSTATION
> + depends on LINKSTATION || STORCENTER
> select PPC_INDIRECT_PCI
> default y
>
> @@ -67,7 +78,7 @@ config MV64X60
>
> config MPC10X_OPENPIC
> bool
> - depends on LINKSTATION
> + depends on LINKSTATION || STORCENTER
> default y
There are many boards out there with mpc10x chips; we really don't want
to maintain a huge list of them in the dependency list of these options.
Can we take out the dependencies and the default y, and just select them
in the individual board configs?
> +#ifdef CONFIG_PCI
> + int len;
> + struct pci_controller *hose;
> + const int *bus_range;
> +
> + printk("Adding PCI host bridge %s\n", dev->full_name);
> +
> + bus_range = of_get_property(dev, "bus-range", &len);
> + if (bus_range == NULL || len < 2 * sizeof(int))
> + printk(KERN_WARNING "Can't get bus-range for %s, assume"
> + " bus 0\n", dev->full_name);
This warning should probably go away. Does this board even have
multiple PCI host buses? Why is this done from board-specific code, anyway?
> +static void storcenter_restart(char *cmd)
> +{
> + /* Insert restart-stuff */
> +}
> +
> +static void storcenter_power_off(void)
> +{
> + /* Insert powerdown-stuff */
> +}
Shouldn't these be omitted until they actually do something, so that the
generic infinite loop implementations can be used?
> +static void storcenter_show_cpuinfo(struct seq_file *m)
> +{
> + seq_printf(m, "vendor\t\t: IOMEGA\n");
> + seq_printf(m, "machine\t\t: StorCenter\n");
> +}
ppc_md.name is printed by the generic cpuinfo handler; this is redundant.
-Scott
next prev parent reply other threads:[~2008-01-07 20:43 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-07 17:55 [RFC PATCH 2/3] Add initial iomega StorCenter board port Jon Loeliger
2008-01-07 19:31 ` Grant Likely
2008-01-07 20:13 ` Jon Loeliger
2008-01-07 20:42 ` Scott Wood [this message]
2008-01-07 21:10 ` Jon Loeliger
2008-01-07 21:13 ` Scott Wood
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=47828ECA.9000507@freescale.com \
--to=scottwood@freescale.com \
--cc=jdl@jdl.com \
--cc=linuxppc-dev@ozlabs.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.