linux/arch/powerpc/platforms/512x/mpc5121_ads.c
<<
>>
Prefs
   1/*
   2 * Copyright (C) 2007, 2008 Freescale Semiconductor, Inc. All rights reserved.
   3 *
   4 * Author: John Rigby, <jrigby@freescale.com>, Thur Mar 29 2007
   5 *
   6 * Description:
   7 * MPC5121 ADS board setup
   8 *
   9 * This is free software; you can redistribute it and/or modify it
  10 * under the terms of the GNU General Public License as published by
  11 * the Free Software Foundation; either version 2 of the License, or
  12 * (at your option) any later version.
  13 *
  14 */
  15
  16#include <linux/kernel.h>
  17#include <linux/io.h>
  18#include <linux/of_platform.h>
  19
  20#include <asm/machdep.h>
  21#include <asm/ipic.h>
  22#include <asm/prom.h>
  23#include <asm/time.h>
  24
  25#include <sysdev/fsl_pci.h>
  26
  27#include "mpc512x.h"
  28#include "mpc5121_ads.h"
  29
  30static void __init mpc5121_ads_setup_arch(void)
  31{
  32#ifdef CONFIG_PCI
  33        struct device_node *np;
  34#endif
  35        printk(KERN_INFO "MPC5121 ADS board from Freescale Semiconductor\n");
  36        /*
  37         * cpld regs are needed early
  38         */
  39        mpc5121_ads_cpld_map();
  40
  41#ifdef CONFIG_PCI
  42        for_each_compatible_node(np, "pci", "fsl,mpc5121-pci")
  43                mpc83xx_add_bridge(np);
  44#endif
  45
  46        mpc512x_setup_arch();
  47}
  48
  49static void __init mpc5121_ads_init_IRQ(void)
  50{
  51        mpc512x_init_IRQ();
  52        mpc5121_ads_cpld_pic_init();
  53}
  54
  55/*
  56 * Called very early, MMU is off, device-tree isn't unflattened
  57 */
  58static int __init mpc5121_ads_probe(void)
  59{
  60        if (!of_machine_is_compatible("fsl,mpc5121ads"))
  61                return 0;
  62
  63        mpc512x_init_early();
  64
  65        return 1;
  66}
  67
  68define_machine(mpc5121_ads) {
  69        .name                   = "MPC5121 ADS",
  70        .probe                  = mpc5121_ads_probe,
  71        .setup_arch             = mpc5121_ads_setup_arch,
  72        .init                   = mpc512x_init,
  73        .init_IRQ               = mpc5121_ads_init_IRQ,
  74        .get_irq                = ipic_get_irq,
  75        .calibrate_decr         = generic_calibrate_decr,
  76        .restart                = mpc512x_restart,
  77};
  78