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