Path: blob/master/arch/arm/mach-ixp23xx/espresso.c
10817 views
/*1* arch/arm/mach-ixp23xx/espresso.c2*3* Double Espresso-specific routines4*5* Author: Lennert Buytenhek <[email protected]>6*7* This file is licensed under the terms of the GNU General Public8* License version 2. This program is licensed "as is" without any9* warranty of any kind, whether express or implied.10*/1112#include <linux/kernel.h>13#include <linux/init.h>14#include <linux/spinlock.h>15#include <linux/sched.h>16#include <linux/interrupt.h>17#include <linux/serial.h>18#include <linux/tty.h>19#include <linux/bitops.h>20#include <linux/ioport.h>21#include <linux/serial_8250.h>22#include <linux/serial_core.h>23#include <linux/device.h>24#include <linux/mm.h>25#include <linux/pci.h>26#include <linux/mtd/physmap.h>2728#include <asm/types.h>29#include <asm/setup.h>30#include <asm/memory.h>31#include <mach/hardware.h>32#include <asm/mach-types.h>33#include <asm/irq.h>34#include <asm/system.h>35#include <asm/tlbflush.h>36#include <asm/pgtable.h>3738#include <asm/mach/map.h>39#include <asm/mach/irq.h>40#include <asm/mach/arch.h>41#include <asm/mach/pci.h>4243static int __init espresso_pci_init(void)44{45if (machine_is_espresso())46ixp23xx_pci_slave_init();4748return 0;49};50subsys_initcall(espresso_pci_init);5152static struct physmap_flash_data espresso_flash_data = {53.width = 2,54};5556static struct resource espresso_flash_resource = {57.start = 0x90000000,58.end = 0x91ffffff,59.flags = IORESOURCE_MEM,60};6162static struct platform_device espresso_flash = {63.name = "physmap-flash",64.id = 0,65.dev = {66.platform_data = &espresso_flash_data,67},68.num_resources = 1,69.resource = &espresso_flash_resource,70};7172static void __init espresso_init(void)73{74platform_device_register(&espresso_flash);7576/*77* Mark flash as writeable.78*/79IXP23XX_EXP_CS0[0] |= IXP23XX_FLASH_WRITABLE;80IXP23XX_EXP_CS0[1] |= IXP23XX_FLASH_WRITABLE;8182ixp23xx_sys_init();83}8485MACHINE_START(ESPRESSO, "IP Fabrics Double Espresso")86/* Maintainer: Lennert Buytenhek */87.map_io = ixp23xx_map_io,88.init_irq = ixp23xx_init_irq,89.timer = &ixp23xx_timer,90.boot_params = 0x00000100,91.init_machine = espresso_init,92MACHINE_END939495