linux/arch/powerpc/platforms/512x/mpc512x_generic.c
<<
>>
Prefs
   1/*
   2 * Copyright (C) 2007,2008 Freescale Semiconductor, Inc. All rights reserved.
   3 *
   4 * Author: John Rigby, <jrigby@freescale.com>
   5 *
   6 * Description:
   7 * MPC512x SoC 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/of_platform.h>
  18
  19#include <asm/machdep.h>
  20#include <asm/ipic.h>
  21#include <asm/prom.h>
  22#include <asm/time.h>
  23
  24#include "mpc512x.h"
  25
  26/*
  27 * list of supported boards
  28 */
  29static const char * const board[] __initconst = {
  30        "prt,prtlvt",
  31        "fsl,mpc5125ads",
  32        "ifm,ac14xx",
  33        NULL
  34};
  35
  36/*
  37 * Called very early, MMU is off, device-tree isn't unflattened
  38 */
  39static int __init mpc512x_generic_probe(void)
  40{
  41        if (!of_device_compatible_match(of_root, board))
  42                return 0;
  43
  44        mpc512x_init_early();
  45
  46        return 1;
  47}
  48
  49define_machine(mpc512x_generic) {
  50        .name                   = "MPC512x generic",
  51        .probe                  = mpc512x_generic_probe,
  52        .init                   = mpc512x_init,
  53        .setup_arch             = mpc512x_setup_arch,
  54        .init_IRQ               = mpc512x_init_IRQ,
  55        .get_irq                = ipic_get_irq,
  56        .calibrate_decr         = generic_calibrate_decr,
  57        .restart                = mpc512x_restart,
  58};
  59