bsc913x_rdb.c (1304B)
1// SPDX-License-Identifier: GPL-2.0-or-later 2/* 3 * BSC913xRDB Board Setup 4 * 5 * Author: Priyanka Jain <Priyanka.Jain@freescale.com> 6 * 7 * Copyright 2011-2012 Freescale Semiconductor Inc. 8 */ 9 10#include <linux/of_platform.h> 11#include <linux/pci.h> 12#include <asm/mpic.h> 13#include <sysdev/fsl_soc.h> 14#include <asm/udbg.h> 15 16#include "mpc85xx.h" 17 18void __init bsc913x_rdb_pic_init(void) 19{ 20 struct mpic *mpic = mpic_alloc(NULL, 0, MPIC_BIG_ENDIAN | 21 MPIC_SINGLE_DEST_CPU, 22 0, 256, " OpenPIC "); 23 24 if (!mpic) 25 pr_err("bsc913x: Failed to allocate MPIC structure\n"); 26 else 27 mpic_init(mpic); 28} 29 30/* 31 * Setup the architecture 32 */ 33static void __init bsc913x_rdb_setup_arch(void) 34{ 35 if (ppc_md.progress) 36 ppc_md.progress("bsc913x_rdb_setup_arch()", 0); 37 38 pr_info("bsc913x board from Freescale Semiconductor\n"); 39} 40 41machine_device_initcall(bsc9131_rdb, mpc85xx_common_publish_devices); 42 43/* 44 * Called very early, device-tree isn't unflattened 45 */ 46 47static int __init bsc9131_rdb_probe(void) 48{ 49 return of_machine_is_compatible("fsl,bsc9131rdb"); 50} 51 52define_machine(bsc9131_rdb) { 53 .name = "BSC9131 RDB", 54 .probe = bsc9131_rdb_probe, 55 .setup_arch = bsc913x_rdb_setup_arch, 56 .init_IRQ = bsc913x_rdb_pic_init, 57 .get_irq = mpic_get_irq, 58 .calibrate_decr = generic_calibrate_decr, 59 .progress = udbg_progress, 60};