Version:  2.6.34 2.6.35 2.6.36 2.6.37 2.6.38 2.6.39 3.0 3.1 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

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

  1 /*
  2  * MPC8536 DS Board Setup
  3  *
  4  * Copyright 2008 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/kdev_t.h>
 16 #include <linux/delay.h>
 17 #include <linux/seq_file.h>
 18 #include <linux/interrupt.h>
 19 #include <linux/of_platform.h>
 20 
 21 #include <asm/time.h>
 22 #include <asm/machdep.h>
 23 #include <asm/pci-bridge.h>
 24 #include <mm/mmu_decl.h>
 25 #include <asm/prom.h>
 26 #include <asm/udbg.h>
 27 #include <asm/mpic.h>
 28 #include <asm/swiotlb.h>
 29 
 30 #include <sysdev/fsl_soc.h>
 31 #include <sysdev/fsl_pci.h>
 32 
 33 #include "mpc85xx.h"
 34 
 35 void __init mpc8536_ds_pic_init(void)
 36 {
 37         struct mpic *mpic = mpic_alloc(NULL, 0, MPIC_BIG_ENDIAN,
 38                         0, 256, " OpenPIC  ");
 39         BUG_ON(mpic == NULL);
 40         mpic_init(mpic);
 41 }
 42 
 43 /*
 44  * Setup the architecture
 45  */
 46 static void __init mpc8536_ds_setup_arch(void)
 47 {
 48         if (ppc_md.progress)
 49                 ppc_md.progress("mpc8536_ds_setup_arch()", 0);
 50 
 51         fsl_pci_assign_primary();
 52 
 53         swiotlb_detect_4g();
 54 
 55         printk("MPC8536 DS board from Freescale Semiconductor\n");
 56 }
 57 
 58 machine_arch_initcall(mpc8536_ds, mpc85xx_common_publish_devices);
 59 
 60 machine_arch_initcall(mpc8536_ds, swiotlb_setup_bus_notifier);
 61 
 62 /*
 63  * Called very early, device-tree isn't unflattened
 64  */
 65 static int __init mpc8536_ds_probe(void)
 66 {
 67         unsigned long root = of_get_flat_dt_root();
 68 
 69         return of_flat_dt_is_compatible(root, "fsl,mpc8536ds");
 70 }
 71 
 72 define_machine(mpc8536_ds) {
 73         .name                   = "MPC8536 DS",
 74         .probe                  = mpc8536_ds_probe,
 75         .setup_arch             = mpc8536_ds_setup_arch,
 76         .init_IRQ               = mpc8536_ds_pic_init,
 77 #ifdef CONFIG_PCI
 78         .pcibios_fixup_bus      = fsl_pcibios_fixup_bus,
 79 #endif
 80         .get_irq                = mpic_get_irq,
 81         .restart                = fsl_rstcr_restart,
 82         .calibrate_decr         = generic_calibrate_decr,
 83         .progress               = udbg_progress,
 84 };
 85 

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