linux/arch/powerpc/platforms/85xx/bsc913x_rdb.c
<<
>>
Prefs
   1/*
   2 * BSC913xRDB Board Setup
   3 *
   4 * Author: Priyanka Jain <Priyanka.Jain@freescale.com>
   5 *
   6 * Copyright 2011-2012 Freescale Semiconductor Inc.
   7 *
   8 * This program is free software; you can redistribute  it and/or modify it
   9 * under  the terms of  the GNU General  Public License as published by the
  10 * Free Software Foundation;  either version 2 of the  License, or (at your
  11 * option) any later version.
  12 */
  13
  14#include <linux/of_platform.h>
  15#include <linux/pci.h>
  16#include <asm/mpic.h>
  17#include <sysdev/fsl_soc.h>
  18#include <asm/udbg.h>
  19
  20#include "mpc85xx.h"
  21
  22void __init bsc913x_rdb_pic_init(void)
  23{
  24        struct mpic *mpic = mpic_alloc(NULL, 0, MPIC_BIG_ENDIAN |
  25          MPIC_SINGLE_DEST_CPU,
  26          0, 256, " OpenPIC  ");
  27
  28        if (!mpic)
  29                pr_err("bsc913x: Failed to allocate MPIC structure\n");
  30        else
  31                mpic_init(mpic);
  32}
  33
  34/*
  35 * Setup the architecture
  36 */
  37static void __init bsc913x_rdb_setup_arch(void)
  38{
  39        if (ppc_md.progress)
  40                ppc_md.progress("bsc913x_rdb_setup_arch()", 0);
  41
  42        pr_info("bsc913x board from Freescale Semiconductor\n");
  43}
  44
  45machine_device_initcall(bsc9131_rdb, mpc85xx_common_publish_devices);
  46
  47/*
  48 * Called very early, device-tree isn't unflattened
  49 */
  50
  51static int __init bsc9131_rdb_probe(void)
  52{
  53        return of_machine_is_compatible("fsl,bsc9131rdb");
  54}
  55
  56define_machine(bsc9131_rdb) {
  57        .name                   = "BSC9131 RDB",
  58        .probe                  = bsc9131_rdb_probe,
  59        .setup_arch             = bsc913x_rdb_setup_arch,
  60        .init_IRQ               = bsc913x_rdb_pic_init,
  61        .get_irq                = mpic_get_irq,
  62        .calibrate_decr         = generic_calibrate_decr,
  63        .progress               = udbg_progress,
  64};
  65