mirror of
https://github.com/torvalds/linux.git
synced 2024-11-02 10:11:36 +00:00
16bcf78f8c
Create a core.c __init function to handle the physmap flash registration for all the ep93xx platforms. Also, modify all the ep93xx platforms to use this new function. This simplifies all the ep93xx platform init code and reduces the size of the kernel when including multiple ep93xx boards. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Acked-by: Ryan Mallon <ryan@bluewatersys.com> Acked-by: Martin Guy <martinwguy@gmail.com> Acked-by: Hubert Feurstein <hubert.feurstein@contec.at> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
44 lines
1.2 KiB
C
44 lines
1.2 KiB
C
/*
|
|
* arch/arm/mach-ep93xx/adssphere.c
|
|
* ADS Sphere support.
|
|
*
|
|
* Copyright (C) 2006 Lennert Buytenhek <buytenh@wantstofly.org>
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 2 of the License, or (at
|
|
* your option) any later version.
|
|
*/
|
|
|
|
#include <linux/kernel.h>
|
|
#include <linux/init.h>
|
|
#include <linux/platform_device.h>
|
|
|
|
#include <mach/hardware.h>
|
|
|
|
#include <asm/mach-types.h>
|
|
#include <asm/mach/arch.h>
|
|
|
|
|
|
static struct ep93xx_eth_data __initdata adssphere_eth_data = {
|
|
.phy_id = 1,
|
|
};
|
|
|
|
static void __init adssphere_init_machine(void)
|
|
{
|
|
ep93xx_init_devices();
|
|
ep93xx_register_flash(4, EP93XX_CS6_PHYS_BASE, SZ_32M);
|
|
ep93xx_register_eth(&adssphere_eth_data, 1);
|
|
}
|
|
|
|
MACHINE_START(ADSSPHERE, "ADS Sphere board")
|
|
/* Maintainer: Lennert Buytenhek <buytenh@wantstofly.org> */
|
|
.phys_io = EP93XX_APB_PHYS_BASE,
|
|
.io_pg_offst = ((EP93XX_APB_VIRT_BASE) >> 18) & 0xfffc,
|
|
.boot_params = EP93XX_SDCE3_PHYS_BASE_SYNC + 0x100,
|
|
.map_io = ep93xx_map_io,
|
|
.init_irq = ep93xx_init_irq,
|
|
.timer = &ep93xx_timer,
|
|
.init_machine = adssphere_init_machine,
|
|
MACHINE_END
|