Version:  2.0.40 2.2.26 2.4.37 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15 3.16 3.17 3.18

Linux/arch/powerpc/platforms/85xx/p1010rdb.c

  1 /*
  2  * P1010RDB Board Setup
  3  *
  4  * Copyright 2011 Freescale Semiconductor Inc.
  5  *
  6  * This program is free software; you can redistribute  it and/or modify it
  7  * under  the terms of  the GNU General  Public License as published by the
  8  * Free Software Foundation;  either version 2 of the  License, or (at your
  9  * option) any later version.
 10  */
 11 
 12 #include <linux/stddef.h>
 13 #include <linux/kernel.h>
 14 #include <linux/pci.h>
 15 #include <linux/delay.h>
 16 #include <linux/interrupt.h>
 17 #include <linux/of_platform.h>
 18 
 19 #include <asm/time.h>
 20 #include <asm/machdep.h>
 21 #include <asm/pci-bridge.h>
 22 #include <mm/mmu_decl.h>
 23 #include <asm/prom.h>
 24 #include <asm/udbg.h>
 25 #include <asm/mpic.h>
 26 
 27 #include <sysdev/fsl_soc.h>
 28 #include <sysdev/fsl_pci.h>
 29 
 30 #include "mpc85xx.h"
 31 
 32 void __init p1010_rdb_pic_init(void)
 33 {
 34         struct mpic *mpic = mpic_alloc(NULL, 0, MPIC_BIG_ENDIAN |
 35           MPIC_SINGLE_DEST_CPU,
 36           0, 256, " OpenPIC  ");
 37 
 38         BUG_ON(mpic == NULL);
 39 
 40         mpic_init(mpic);
 41 }
 42 
 43 
 44 /*
 45  * Setup the architecture
 46  */
 47 static void __init p1010_rdb_setup_arch(void)
 48 {
 49         if (ppc_md.progress)
 50                 ppc_md.progress("p1010_rdb_setup_arch()", 0);
 51 
 52         fsl_pci_assign_primary();
 53 
 54         printk(KERN_INFO "P1010 RDB board from Freescale Semiconductor\n");
 55 }
 56 
 57 machine_arch_initcall(p1010_rdb, mpc85xx_common_publish_devices);
 58 machine_arch_initcall(p1010_rdb, swiotlb_setup_bus_notifier);
 59 
 60 /*
 61  * Called very early, device-tree isn't unflattened
 62  */
 63 static int __init p1010_rdb_probe(void)
 64 {
 65         unsigned long root = of_get_flat_dt_root();
 66 
 67         if (of_flat_dt_is_compatible(root, "fsl,P1010RDB"))
 68                 return 1;
 69         if (of_flat_dt_is_compatible(root, "fsl,P1010RDB-PB"))
 70                 return 1;
 71         return 0;
 72 }
 73 
 74 define_machine(p1010_rdb) {
 75         .name                   = "P1010 RDB",
 76         .probe                  = p1010_rdb_probe,
 77         .setup_arch             = p1010_rdb_setup_arch,
 78         .init_IRQ               = p1010_rdb_pic_init,
 79 #ifdef CONFIG_PCI
 80         .pcibios_fixup_bus      = fsl_pcibios_fixup_bus,
 81         .pcibios_fixup_phb      = fsl_pcibios_fixup_phb,
 82 #endif
 83         .get_irq                = mpic_get_irq,
 84         .restart                = fsl_rstcr_restart,
 85         .calibrate_decr         = generic_calibrate_decr,
 86         .progress               = udbg_progress,
 87 };
 88 

This page was automatically generated by LXR 0.3.1 (source).  •  Linux is a registered trademark of Linus Torvalds  •  Contact us