Add AMCC Kilauea eval board support to platforms/40x
PATCH 2/3 Add AMCC Kilauea eval board support to platforms/40x
This patch adds basic support for the new 405EX and the AMCC eval board Kilauea to arch/powerpc.
--- arch/powerpc/platforms/40x/Kconfig | 17 +++++++-- arch/powerpc/platforms/40x/Makefile | 5 ++- arch/powerpc/platforms/40x/kilauea.c | 63 ++++++++++++++++++++++++++++++++++ 3 files changed, 80 insertions(+), 5 deletions(-) create mode 100644 arch/powerpc/platforms/40x/kilauea.c
arch/powerpc/platforms/40x/Kconfig +14 -3
@@ -29,6 +29,14 @@ # help # This option enables support for the extra features of the EP405PC board. +config KILAUEA + bool "Kilauea" + depends on 40x + default y + select 405EX + help + This option enables support for the AMCC PPC405EX evaluation board. + #config REDWOOD_5 # bool "Redwood-5" # depends on 40x
@@ -89,14 +97,17 @@ config 403GCX #depends on OAK select IBM405_ERR51 +config 405EP + bool + +config 405EX + bool + config 405GP bool select IBM405_ERR77 select IBM405_ERR51 -config 405EP - bool - config 405GPR bool
arch/powerpc/platforms/40x/Makefile +3 -2
@@ -1,2 +1,3 @@ -obj-$(CONFIG_WALNUT) += walnut.o -obj-$(CONFIG_XILINX_VIRTEX_GENERIC_BOARD) += virtex.o +obj-$(CONFIG_KILAUEA) += kilauea.o +obj-$(CONFIG_WALNUT) += walnut.o +obj-$(CONFIG_XILINX_VIRTEX_GENERIC_BOARD) += virtex.o
arch/powerpc/platforms/40x/kilauea.c new file +63 -0
63 lines not on this page · raw message
Signature · 1 line
1.5.3.4
Quoted 4 lines · On Mon, 8 Oct 2007 11:08:51 +0200 Stefan Roese <[email protected]> wrote:
+++
b/arch/powerpc/platforms/40x/kilauea.c+#include <
asm/of_platform.h>
Here I go again :-)
linux/of_platform.h please
Signature · 3 lines
Cheers, Stephen Rothwell [email protected] http://www.canb.auug.org.au/~sfr/
Quoted 5 lines · Stephen Rothwell
Quoted 1 line
+#include <
asm/of_platform.h>Here I go again :-)
linux/of_platform.hplease
Right. I was watching all your reviews lately and wanted not to make this error. Didn't work out as it seems. :-)
I'll wait a while for further comments and send a fixed version soon.
Thanks.
Best regards,
Stefan
Hi,
Quoted 2 lines · Stefan Roese
This patch adds basic support for the new 405EX and the AMCC eval board Kilauea to
arch/powerpc.
[...]
Quoted 12 lines
arch/powerpc/platforms/40x/Kconfig +8
-0+config KILAUEA + bool "Kilauea" + depends on 40x + default y + select 405EX + help + This option enables support for the AMCC PPC405EX evaluation board. + #config REDWOOD_5 # bool "Redwood-5" # depends on 40x
arch/powerpc/platforms/40x/Kconfig config 403GCX · line 105
Quoted 9 lines
arch/powerpc/platforms/40x/Kconfig +6
-0@@ -89,14 +97,17 @@ config 403GCX #depends on OAK select IBM405_ERR51 +config 405EP + bool + +config 405EX + bool +
Do you really need config options for 405EP/EX? I don't seem them used anywhere else in the code (and it's also contradictory to the whole new multiplatform way of looking at stuff :).
I know the 405/440 is still somewhat #ifdef:ed on the cpu here and there, but since this doesn't add any such code I don't see a need for the config options?
-Olof
Hi Olof,
Quoted 26 lines · Olof Johansson
Quoted 12 lines
arch/powerpc/platforms/40x/Kconfig +8
-0+config KILAUEA + bool "Kilauea" + depends on 40x + default y + select 405EX + help + This option enables support for the AMCC PPC405EX evaluation board. + #config REDWOOD_5 # bool "Redwood-5" # depends on 40xarch/powerpc/platforms/40x/Kconfig config 403GCX · line 105
Quoted 9 lines
arch/powerpc/platforms/40x/Kconfig +6
-0@@ -89,14 +97,17 @@ config 403GCX #depends on OAK select IBM405_ERR51 +config 405EP + bool + +config 405EX + bool +Do you really need config options for 405EP/EX? I don't seem them used anywhere else in the code (and it's also contradictory to the whole new multiplatform way of looking at stuff :).
Quoted 3 lines
I know the 405/440 is still somewhat #ifdef:ed on the cpu here and there, but since this doesn't add any such code I don't see a need for the config options?
Yes, I'm still used to needing these defines from arch/ppc (for example for the 4xx EMAC driver). But its possible, that we really don't need it at all in arch/powerpc with all the device tree information. Not sure though.
Josh, what do you think? Should I remove the 405EX define completely?
Best regards,
Stefan
Quoted 33 lines · Stefan Roese
Hi Olof,
Quoted 26 lines · Olof Johansson
Quoted 12 lines
arch/powerpc/platforms/40x/Kconfig +8
-0+config KILAUEA + bool "Kilauea" + depends on 40x + default y + select 405EX + help + This option enables support for the AMCC PPC405EX evaluation board. + #config REDWOOD_5 # bool "Redwood-5" # depends on 40xarch/powerpc/platforms/40x/Kconfig config 403GCX · line 105
Quoted 9 lines
arch/powerpc/platforms/40x/Kconfig +6
-0@@ -89,14 +97,17 @@ config 403GCX #depends on OAK select IBM405_ERR51 +config 405EP + bool + +config 405EX + bool +Do you really need config options for 405EP/EX? I don't seem them used anywhere else in the code (and it's also contradictory to the whole new multiplatform way of looking at stuff :).
Quoted 3 lines
I know the 405/440 is still somewhat #ifdef:ed on the cpu here and there, but since this doesn't add any such code I don't see a need for the config options?
Quoted 5 lines
Yes, I'm still used to needing these defines from
arch/ppc(for example for the 4xx EMAC driver). But its possible, that we really don't need it at all inarch/powerpcwith all the device tree information. Not sure though.Josh, what do you think? Should I remove the 405EX define completely?
If it's not needed, it can go. As Olof said, it doesn't appear to be used anywhere in the code so I think it's fine.
One question I do have is if 405EX and 405EP need any of the 405GP errata config options selected. I would like to think those don't apply because the hardware is fixed, but I haven't checked to be sure.
josh
Quoted 13 lines · Josh Boyer
Quoted 13 lines
Quoted 7 lines
Do you really need config options for 405EP/EX? I don't seem them used anywhere else in the code (and it's also contradictory to the whole new multiplatform way of looking at stuff :).
I know the 405/440 is still somewhat #ifdef:ed on the cpu here and there, but since this doesn't add any such code I don't see a need for the config options?
Yes, I'm still used to needing these defines from
arch/ppc(for example for the 4xx EMAC driver). But its possible, that we really don't need it at all inarch/powerpcwith all the device tree information. Not sure though.
Quoted 4 lines
Quoted 1 line
Josh, what do you think? Should I remove the 405EX define completely?
If it's not needed, it can go. As Olof said, it doesn't appear to be used anywhere in the code so I think it's fine.
OK, I'll remove it. If we later see that we need it, we can always add it again.
Quoted 3 lines
One question I do have is if 405EX and 405EP need any of the 405GP errata config options selected. I would like to think those don't apply because the hardware is fixed, but I haven't checked to be sure.
Yes, the 2 405 errata's IBM405_ERR51 and IBM405_ERR77 do not apply to "newer" 405 cores. Only 405GP (and 405CR I assume) are affected.
Best regards,
Stefan
Quoted 16 lines · Stefan Roese
This patch adds basic support for the new 405EX and the AMCC eval board Kilauea to
arch/powerpc.Signed-off-by Stefan Roese <[email protected]>--- arch/powerpc/platforms/40x/Kconfig | 17 +++++++-- arch/powerpc/platforms/40x/Makefile | 5 ++- arch/powerpc/platforms/40x/kilauea.c | 63 ++++++++++++++++++++++++++++++++++ 3 files changed, 80 insertions(+), 5 deletions(-) create mode 100644 arch/powerpc/platforms/40x/kilauea.carch/powerpc/platforms/40x/Kconfig +0
-0
arch/powerpc/platforms/40x/Kconfig line 35
Quoted 7 lines
arch/powerpc/platforms/40x/Kconfig +4
-0@@ -29,6 +29,14 @@ # help # This option enables support for the extra features of the EP405PC board. +config KILAUEA + bool "Kilauea" + depends on 40x + default y
I think we decided to say default n here. I need to fix the Walnut example, I know.
Quoted 87 lines
arch/powerpc/platforms/40x/Kconfig +10
-3+ select 405EX + help + This option enables support for the AMCC PPC405EX evaluation board. + #config REDWOOD_5 # bool "Redwood-5" # depends on 40x@@ -89,14 +97,17 @@ config 403GCX #depends on OAK select IBM405_ERR51 +config 405EP + bool + +config 405EX + bool + config 405GP bool select IBM405_ERR77 select IBM405_ERR51 -config 405EP - bool - config 405GPR boolarch/powerpc/platforms/40x/Makefile +3
-2@@ -1,2 +1,3 @@ -obj-$(CONFIG_WALNUT) += walnut.o -obj-$(CONFIG_XILINX_VIRTEX_GENERIC_BOARD) += virtex.o +obj-$(CONFIG_KILAUEA) += kilauea.o +obj-$(CONFIG_WALNUT) += walnut.o +obj-$(CONFIG_XILINX_VIRTEX_GENERIC_BOARD) += virtex.oarch/powerpc/platforms/40x/kilauea.c new file +43
-0@@ -0,0 +1,63 @@ +/* +* Kilauea board specific routines +* +* Copyright 2007 DENX Software Engineering, Stefan Roese <[email protected]> +* +* Based on the Walnut code by +* Josh Boyer <[email protected]> +* Copyright 2007 IBM Corporation +* +* 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. +*/ +#include <linux/init.h> +#include <asm/machdep.h> +#include <asm/prom.h> +#include <asm/udbg.h> +#include <asm/time.h> +#include <asm/uic.h> +#include <asm/of_platform.h> + +static struct of_device_id kilauea_of_bus[] = { + { .compatible ="ibm,plb4" , }, + { .compatible ="ibm,opb" , }, + { .compatible ="ibm,ebc" , }, + {}, +}; + +static int __init kilauea_device_probe (void ) +{ +if (!machine_is (kilauea)) +return 0 ; + +of_platform_bus_probe (NULL , kilauea_of_bus,NULL ); + +return 0 ; +} +device_initcall (kilauea_device_probe); + +static int __init kilauea_probe (void ) +{ +unsigned long root =of_get_flat_dt_root ();
arch/powerpc/platforms/40x/kilauea.c line 53
Quoted 10 lines
arch/powerpc/platforms/40x/kilauea.c new file +10
-0+ +if (!of_flat_dt_is_compatible (root,"amcc,kilauea" )) +return 0 ; + +return 1 ; +} + +static void __init kilauea_setup_arch (void ) +{ +}
Assuming Grant's patch to make setup_arch optional gets applied, this can go too.
arch/powerpc/platforms/40x/kilauea.c line 63
Quoted 10 lines
arch/powerpc/platforms/40x/kilauea.c new file +10
-0+ +define_machine (kilauea) { + .name = "Kilauea", + .probe = kilauea_probe, + .setup_arch = kilauea_setup_arch, + .progress = udbg_progress, + .init_IRQ = uic_init_tree, + .get_irq = uic_get_irq, + .calibrate_decr = generic_calibrate_decr, +};
Other than those two comments, looks good.
josh