Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

powerpc/fsl-booke: Add p3041 DS board support

The P3041DS is in the same family of boards as the P4080DS and thus
shares the corenet_ds code.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>

+76
+11
arch/powerpc/platforms/85xx/Kconfig
··· 153 153 help 154 154 This option enables support for the Wind River SBC8560 board 155 155 156 + config P3041_DS 157 + bool "Freescale P3041 DS" 158 + select DEFAULT_UIMAGE 159 + select PPC_E500MC 160 + select PHYS_64BIT 161 + select SWIOTLB 162 + select MPC8xxx_GPIO 163 + select HAS_RAPIDIO 164 + help 165 + This option enables support for the P3041 DS board 166 + 156 167 config P4080_DS 157 168 bool "Freescale P4080 DS" 158 169 select DEFAULT_UIMAGE
+1
arch/powerpc/platforms/85xx/Makefile
··· 11 11 obj-$(CONFIG_MPC85xx_MDS) += mpc85xx_mds.o 12 12 obj-$(CONFIG_MPC85xx_RDB) += mpc85xx_rdb.o 13 13 obj-$(CONFIG_P1022_DS) += p1022_ds.o 14 + obj-$(CONFIG_P3041_DS) += p3041_ds.o corenet_ds.o 14 15 obj-$(CONFIG_P4080_DS) += p4080_ds.o corenet_ds.o 15 16 obj-$(CONFIG_STX_GP3) += stx_gp3.o 16 17 obj-$(CONFIG_TQM85xx) += tqm85xx.o
+64
arch/powerpc/platforms/85xx/p3041_ds.c
··· 1 + /* 2 + * P3041 DS Setup 3 + * 4 + * Maintained by Kumar Gala (see MAINTAINERS for contact information) 5 + * 6 + * Copyright 2009-2010 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/kernel.h> 15 + #include <linux/pci.h> 16 + #include <linux/kdev_t.h> 17 + #include <linux/delay.h> 18 + #include <linux/interrupt.h> 19 + #include <linux/phy.h> 20 + 21 + #include <asm/system.h> 22 + #include <asm/time.h> 23 + #include <asm/machdep.h> 24 + #include <asm/pci-bridge.h> 25 + #include <mm/mmu_decl.h> 26 + #include <asm/prom.h> 27 + #include <asm/udbg.h> 28 + #include <asm/mpic.h> 29 + 30 + #include <linux/of_platform.h> 31 + #include <sysdev/fsl_soc.h> 32 + #include <sysdev/fsl_pci.h> 33 + 34 + #include "corenet_ds.h" 35 + 36 + /* 37 + * Called very early, device-tree isn't unflattened 38 + */ 39 + static int __init p3041_ds_probe(void) 40 + { 41 + unsigned long root = of_get_flat_dt_root(); 42 + 43 + return of_flat_dt_is_compatible(root, "fsl,P3041DS"); 44 + } 45 + 46 + define_machine(p3041_ds) { 47 + .name = "P3041 DS", 48 + .probe = p3041_ds_probe, 49 + .setup_arch = corenet_ds_setup_arch, 50 + .init_IRQ = corenet_ds_pic_init, 51 + #ifdef CONFIG_PCI 52 + .pcibios_fixup_bus = fsl_pcibios_fixup_bus, 53 + #endif 54 + .get_irq = mpic_get_coreint_irq, 55 + .restart = fsl_rstcr_restart, 56 + .calibrate_decr = generic_calibrate_decr, 57 + .progress = udbg_progress, 58 + }; 59 + 60 + machine_device_initcall(p3041_ds, corenet_ds_publish_devices); 61 + 62 + #ifdef CONFIG_SWIOTLB 63 + machine_arch_initcall(p3041_ds, swiotlb_setup_bus_notifier); 64 + #endif