diff options
author | Josh Boyer <jwboyer@linux.vnet.ibm.com> | 2008-01-11 07:02:57 -0600 |
---|---|---|
committer | Josh Boyer <jwboyer@linux.vnet.ibm.com> | 2008-01-11 07:02:57 -0600 |
commit | 98c31c1d6c9c8a7e57cdac96ad574e0e172d3192 (patch) | |
tree | ab870590bfaf03fb8f9a41b7f61f0b329cd33498 /arch/powerpc | |
parent | 78994e240fce03832ceebc875c43773a2c615e79 (diff) | |
parent | f67702a37533f59eee3386578450eeeb531da279 (diff) |
Merge branch 'virtex-for-2.6.25' of git://git.secretlab.ca/git/linux-2.6-virtex into for-2.6.25
Diffstat (limited to 'arch/powerpc')
-rw-r--r-- | arch/powerpc/boot/serial.c | 3 | ||||
-rw-r--r-- | arch/powerpc/platforms/40x/virtex.c | 12 | ||||
-rw-r--r-- | arch/powerpc/sysdev/xilinx_intc.c | 8 |
3 files changed, 20 insertions, 3 deletions
diff --git a/arch/powerpc/boot/serial.c b/arch/powerpc/boot/serial.c index cafeece20ac7..b6c68ef46809 100644 --- a/arch/powerpc/boot/serial.c +++ b/arch/powerpc/boot/serial.c @@ -128,7 +128,8 @@ int serial_console_init(void) rc = cpm_console_init(devp, &serial_cd); else if (dt_is_compatible(devp, "mpc5200-psc-uart")) rc = mpc5200_psc_console_init(devp, &serial_cd); - else if (dt_is_compatible(devp, "xilinx,uartlite")) + else if (dt_is_compatible(devp, "xlnx,opb-uartlite-1.00.b") || + dt_is_compatible(devp, "xlnx,xps-uartlite-1.00.a")) rc = uartlite_console_init(devp, &serial_cd); /* Add other serial console driver calls here */ diff --git a/arch/powerpc/platforms/40x/virtex.c b/arch/powerpc/platforms/40x/virtex.c index 43fcc8e9f7d0..88b66444dfb2 100644 --- a/arch/powerpc/platforms/40x/virtex.c +++ b/arch/powerpc/platforms/40x/virtex.c @@ -15,9 +15,19 @@ #include <asm/time.h> #include <asm/xilinx_intc.h> +static struct of_device_id xilinx_of_bus_ids[] __initdata = { + { .compatible = "xlnx,plb-v46-1.00.a", }, + { .compatible = "xlnx,plb-v34-1.01.a", }, + { .compatible = "xlnx,plb-v34-1.02.a", }, + { .compatible = "xlnx,opb-v20-1.10.c", }, + { .compatible = "xlnx,dcr-v29-1.00.a", }, + { .compatible = "xlnx,compound", }, + {} +}; + static int __init virtex_device_probe(void) { - of_platform_bus_probe(NULL, NULL, NULL); + of_platform_bus_probe(NULL, xilinx_of_bus_ids, NULL); return 0; } diff --git a/arch/powerpc/sysdev/xilinx_intc.c b/arch/powerpc/sysdev/xilinx_intc.c index c2f17cc43dfa..ba8eea2bcce0 100644 --- a/arch/powerpc/sysdev/xilinx_intc.c +++ b/arch/powerpc/sysdev/xilinx_intc.c @@ -135,10 +135,16 @@ void __init xilinx_intc_init_tree(void) struct device_node *np; /* find top level interrupt controller */ - for_each_compatible_node(np, NULL, "xilinx,intc") { + for_each_compatible_node(np, NULL, "xlnx,opb-intc-1.00.c") { if (!of_get_property(np, "interrupts", NULL)) break; } + if (!np) { + for_each_compatible_node(np, NULL, "xlnx,xps-intc-1.00.a") { + if (!of_get_property(np, "interrupts", NULL)) + break; + } + } /* xilinx interrupt controller needs to be top level */ BUG_ON(!np); |