Path: blob/master/arch/powerpc/platforms/85xx/mpc85xx_ds.c
26481 views
// SPDX-License-Identifier: GPL-2.0-or-later1/*2* MPC85xx DS Board Setup3*4* Author Xianghua Xiao ([email protected])5* Roy Zang <[email protected]>6* - Add PCI/PCI Exprees support7* Copyright 2007 Freescale Semiconductor Inc.8*/910#include <linux/stddef.h>11#include <linux/kernel.h>12#include <linux/pci.h>13#include <linux/kdev_t.h>14#include <linux/delay.h>15#include <linux/seq_file.h>16#include <linux/interrupt.h>17#include <linux/of.h>18#include <linux/of_irq.h>1920#include <asm/time.h>21#include <asm/machdep.h>22#include <asm/pci-bridge.h>23#include <mm/mmu_decl.h>24#include <asm/udbg.h>25#include <asm/mpic.h>26#include <asm/i8259.h>27#include <asm/swiotlb.h>28#include <asm/ppc-pci.h>2930#include <sysdev/fsl_soc.h>31#include <sysdev/fsl_pci.h>32#include "smp.h"3334#include "mpc85xx.h"3536static void __init mpc85xx_ds_pic_init(void)37{38struct mpic *mpic;39int flags = MPIC_BIG_ENDIAN | MPIC_SINGLE_DEST_CPU;4041if (of_machine_is_compatible("fsl,MPC8572DS-CAMP"))42flags |= MPIC_NO_RESET;4344mpic = mpic_alloc(NULL, 0, flags, 0, 256, " OpenPIC ");4546if (WARN_ON(!mpic))47return;4849mpic_init(mpic);5051mpc85xx_8259_init();52}5354/*55* Setup the architecture56*/57static void __init mpc85xx_ds_setup_arch(void)58{59if (ppc_md.progress)60ppc_md.progress("mpc85xx_ds_setup_arch()", 0);6162swiotlb_detect_4g();63fsl_pci_assign_primary();64uli_init();65mpc85xx_smp_init();6667pr_info("MPC85xx DS board from Freescale Semiconductor\n");68}6970machine_arch_initcall(mpc8544_ds, mpc85xx_common_publish_devices);71machine_arch_initcall(mpc8572_ds, mpc85xx_common_publish_devices);7273define_machine(mpc8544_ds) {74.name = "MPC8544 DS",75.compatible = "MPC8544DS",76.setup_arch = mpc85xx_ds_setup_arch,77.init_IRQ = mpc85xx_ds_pic_init,78#ifdef CONFIG_PCI79.pcibios_fixup_bus = fsl_pcibios_fixup_bus,80.pcibios_fixup_phb = fsl_pcibios_fixup_phb,81#endif82.get_irq = mpic_get_irq,83.progress = udbg_progress,84};8586define_machine(mpc8572_ds) {87.name = "MPC8572 DS",88.compatible = "fsl,MPC8572DS",89.setup_arch = mpc85xx_ds_setup_arch,90.init_IRQ = mpc85xx_ds_pic_init,91#ifdef CONFIG_PCI92.pcibios_fixup_bus = fsl_pcibios_fixup_bus,93.pcibios_fixup_phb = fsl_pcibios_fixup_phb,94#endif95.get_irq = mpic_get_irq,96.progress = udbg_progress,97};9899100