diff options
Diffstat (limited to 'arch/powerpc/platforms/85xx/corenet_ds.c')
-rw-r--r-- | arch/powerpc/platforms/85xx/corenet_ds.c | 49 |
1 files changed, 46 insertions, 3 deletions
diff --git a/arch/powerpc/platforms/85xx/corenet_ds.c b/arch/powerpc/platforms/85xx/corenet_ds.c index c59c617..004ffb4 100644 --- a/arch/powerpc/platforms/85xx/corenet_ds.c +++ b/arch/powerpc/platforms/85xx/corenet_ds.c @@ -5,8 +5,8 @@ * * Copyright 2009-2011 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 as published by the + * 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. */ @@ -31,6 +31,8 @@ #include <sysdev/fsl_pci.h> #include "smp.h" +#include <linux/fsl_usdpaa.h> + void __init corenet_ds_pic_init(void) { struct mpic *mpic; @@ -66,7 +68,19 @@ void __init corenet_ds_setup_arch(void) static const struct of_device_id of_device_ids[] = { { - .compatible = "simple-bus" + .compatible = "simple-bus", + }, + { + .compatible = "fsl,dpaa", + }, + { + .compatible = "mdio-mux-gpio", + }, + { + .compatible = "fsl,fpga-ngpixis", + }, + { + .compatible = "fsl,fpga-qixis", }, { .compatible = "fsl,srio", @@ -100,3 +114,32 @@ int __init corenet_ds_publish_devices(void) { return of_platform_bus_probe(NULL, of_device_ids, NULL); } + +/* Early setup is required for large chunks of contiguous (and coarsely-aligned) + * memory. The following shoe-horns Q/Bman "init_early" calls into the + * platform setup to let them parse their CCSR nodes early on. */ +#ifdef CONFIG_FSL_QMAN_CONFIG +void __init qman_init_early(void); +#endif +#ifdef CONFIG_FSL_BMAN_CONFIG +void __init bman_init_early(void); +#endif +#ifdef CONFIG_FSL_PME2_CTRL +void __init pme2_init_early(void); +#endif + +__init void corenet_ds_init_early(void) +{ +#ifdef CONFIG_FSL_QMAN_CONFIG + qman_init_early(); +#endif +#ifdef CONFIG_FSL_BMAN_CONFIG + bman_init_early(); +#endif +#ifdef CONFIG_FSL_PME2_CTRL + pme2_init_early(); +#endif +#ifdef CONFIG_FSL_USDPAA + fsl_usdpaa_init_early(); +#endif +} |