Merge branch 'ep93xx' into devel
This commit is contained in:
commit
b0efb42478
File diff suppressed because it is too large
Load diff
|
@ -9,87 +9,135 @@ config CRUNCH
|
|||
|
||||
comment "EP93xx Platforms"
|
||||
|
||||
choice
|
||||
prompt "EP93xx first SDRAM bank selection"
|
||||
default EP93XX_SDCE3_SYNC_PHYS_OFFSET
|
||||
|
||||
config EP93XX_SDCE3_SYNC_PHYS_OFFSET
|
||||
bool "0x00000000 - SDCE3/SyncBoot"
|
||||
help
|
||||
Select this option if you want support for EP93xx boards with the
|
||||
first SDRAM bank at 0x00000000
|
||||
|
||||
config EP93XX_SDCE0_PHYS_OFFSET
|
||||
bool "0xc0000000 - SDCEO"
|
||||
help
|
||||
Select this option if you want support for EP93xx boards with the
|
||||
first SDRAM bank at 0xc0000000
|
||||
|
||||
endchoice
|
||||
|
||||
config MACH_ADSSPHERE
|
||||
bool "Support ADS Sphere"
|
||||
depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
|
||||
help
|
||||
Say 'Y' here if you want your kernel to support the ADS
|
||||
Sphere board.
|
||||
|
||||
config MACH_EDB93XX
|
||||
bool
|
||||
|
||||
config MACH_EDB9301
|
||||
bool "Support Cirrus Logic EDB9301"
|
||||
depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
|
||||
select MACH_EDB93XX
|
||||
help
|
||||
Say 'Y' here if you want your kernel to support the Cirrus
|
||||
Logic EDB9301 Evaluation Board.
|
||||
|
||||
config MACH_EDB9302
|
||||
bool "Support Cirrus Logic EDB9302"
|
||||
depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
|
||||
select MACH_EDB93XX
|
||||
help
|
||||
Say 'Y' here if you want your kernel to support the Cirrus
|
||||
Logic EDB9302 Evaluation Board.
|
||||
|
||||
config MACH_EDB9302A
|
||||
bool "Support Cirrus Logic EDB9302A"
|
||||
depends on EP93XX_SDCE0_PHYS_OFFSET
|
||||
select MACH_EDB93XX
|
||||
help
|
||||
Say 'Y' here if you want your kernel to support the Cirrus
|
||||
Logic EDB9302A Evaluation Board.
|
||||
|
||||
config MACH_EDB9307
|
||||
bool "Support Cirrus Logic EDB9307"
|
||||
depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
|
||||
select MACH_EDB93XX
|
||||
help
|
||||
Say 'Y' here if you want your kernel to support the Cirrus
|
||||
Logic EDB9307 Evaluation Board.
|
||||
|
||||
config MACH_EDB9307A
|
||||
bool "Support Cirrus Logic EDB9307A"
|
||||
depends on EP93XX_SDCE0_PHYS_OFFSET
|
||||
select MACH_EDB93XX
|
||||
help
|
||||
Say 'Y' here if you want your kernel to support the Cirrus
|
||||
Logic EDB9307A Evaluation Board.
|
||||
|
||||
config MACH_EDB9312
|
||||
bool "Support Cirrus Logic EDB9312"
|
||||
depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
|
||||
select MACH_EDB93XX
|
||||
help
|
||||
Say 'Y' here if you want your kernel to support the Cirrus
|
||||
Logic EDB9312 Evaluation Board.
|
||||
|
||||
config MACH_EDB9315
|
||||
bool "Support Cirrus Logic EDB9315"
|
||||
depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
|
||||
select MACH_EDB93XX
|
||||
help
|
||||
Say 'Y' here if you want your kernel to support the Cirrus
|
||||
Logic EDB9315 Evaluation Board.
|
||||
|
||||
config MACH_EDB9315A
|
||||
bool "Support Cirrus Logic EDB9315A"
|
||||
depends on EP93XX_SDCE0_PHYS_OFFSET
|
||||
select MACH_EDB93XX
|
||||
help
|
||||
Say 'Y' here if you want your kernel to support the Cirrus
|
||||
Logic EDB9315A Evaluation Board.
|
||||
|
||||
config MACH_GESBC9312
|
||||
depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
|
||||
bool "Support Glomation GESBC-9312-sx"
|
||||
help
|
||||
Say 'Y' here if you want your kernel to support the Glomation
|
||||
GESBC-9312-sx board.
|
||||
|
||||
config MACH_MICRO9
|
||||
bool
|
||||
default n
|
||||
bool
|
||||
|
||||
config MACH_MICRO9H
|
||||
bool "Support Contec Hypercontrol Micro9-H"
|
||||
select MACH_MICRO9
|
||||
help
|
||||
Say 'Y' here if you want your kernel to support the
|
||||
Contec Hypercontrol Micro9-H board.
|
||||
bool "Support Contec Hypercontrol Micro9-H"
|
||||
depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
|
||||
select MACH_MICRO9
|
||||
help
|
||||
Say 'Y' here if you want your kernel to support the
|
||||
Contec Hypercontrol Micro9-H board.
|
||||
|
||||
config MACH_MICRO9M
|
||||
bool "Support Contec Hypercontrol Micro9-M"
|
||||
select MACH_MICRO9
|
||||
help
|
||||
Say 'Y' here if you want your kernel to support the
|
||||
Contec Hypercontrol Micro9-M board.
|
||||
bool "Support Contec Hypercontrol Micro9-M"
|
||||
depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
|
||||
select MACH_MICRO9
|
||||
help
|
||||
Say 'Y' here if you want your kernel to support the
|
||||
Contec Hypercontrol Micro9-M board.
|
||||
|
||||
config MACH_MICRO9L
|
||||
bool "Support Contec Hypercontrol Micro9-L"
|
||||
select MACH_MICRO9
|
||||
help
|
||||
Say 'Y' here if you want your kernel to support the
|
||||
Contec Hypercontrol Micro9-L board.
|
||||
bool "Support Contec Hypercontrol Micro9-L"
|
||||
depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
|
||||
select MACH_MICRO9
|
||||
help
|
||||
Say 'Y' here if you want your kernel to support the
|
||||
Contec Hypercontrol Micro9-L board.
|
||||
|
||||
config MACH_TS72XX
|
||||
bool "Support Technologic Systems TS-72xx SBC"
|
||||
depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
|
||||
help
|
||||
Say 'Y' here if you want your kernel to support the
|
||||
Technologic Systems TS-72xx board.
|
||||
|
|
|
@ -7,13 +7,7 @@ obj-n :=
|
|||
obj- :=
|
||||
|
||||
obj-$(CONFIG_MACH_ADSSPHERE) += adssphere.o
|
||||
obj-$(CONFIG_MACH_EDB9302) += edb9302.o
|
||||
obj-$(CONFIG_MACH_EDB9302A) += edb9302a.o
|
||||
obj-$(CONFIG_MACH_EDB9307) += edb9307.o
|
||||
obj-$(CONFIG_MACH_EDB9307A) += edb9307a.o
|
||||
obj-$(CONFIG_MACH_EDB9312) += edb9312.o
|
||||
obj-$(CONFIG_MACH_EDB9315) += edb9315.o
|
||||
obj-$(CONFIG_MACH_EDB9315A) += edb9315a.o
|
||||
obj-$(CONFIG_MACH_EDB93XX) += edb93xx.o
|
||||
obj-$(CONFIG_MACH_GESBC9312) += gesbc9312.o
|
||||
obj-$(CONFIG_MACH_MICRO9) += micro9.o
|
||||
obj-$(CONFIG_MACH_TS72XX) += ts72xx.o
|
||||
|
|
|
@ -1,2 +1,5 @@
|
|||
zreladdr-y := 0x00008000
|
||||
params_phys-y := 0x00000100
|
||||
zreladdr-$(CONFIG_EP93XX_SDCE3_SYNC_PHYS_OFFSET) := 0x00008000
|
||||
params_phys-$(CONFIG_EP93XX_SDCE3_SYNC_PHYS_OFFSET) := 0x00000100
|
||||
|
||||
zreladdr-$(CONFIG_EP93XX_SDCE0_PHYS_OFFSET) := 0xc0008000
|
||||
params_phys-$(CONFIG_EP93XX_SDCE0_PHYS_OFFSET) := 0xc0000100
|
||||
|
|
|
@ -72,58 +72,58 @@ static struct clk clk_h;
|
|||
static struct clk clk_p;
|
||||
static struct clk clk_pll2;
|
||||
static struct clk clk_usb_host = {
|
||||
.enable_reg = EP93XX_SYSCON_CLOCK_CONTROL,
|
||||
.enable_mask = EP93XX_SYSCON_CLOCK_USH_EN,
|
||||
.enable_reg = EP93XX_SYSCON_PWRCNT,
|
||||
.enable_mask = EP93XX_SYSCON_PWRCNT_USH_EN,
|
||||
};
|
||||
|
||||
/* DMA Clocks */
|
||||
static struct clk clk_m2p0 = {
|
||||
.enable_reg = EP93XX_SYSCON_CLOCK_CONTROL,
|
||||
.enable_mask = 0x00020000,
|
||||
.enable_reg = EP93XX_SYSCON_PWRCNT,
|
||||
.enable_mask = EP93XX_SYSCON_PWRCNT_DMA_M2P0,
|
||||
};
|
||||
static struct clk clk_m2p1 = {
|
||||
.enable_reg = EP93XX_SYSCON_CLOCK_CONTROL,
|
||||
.enable_mask = 0x00010000,
|
||||
.enable_reg = EP93XX_SYSCON_PWRCNT,
|
||||
.enable_mask = EP93XX_SYSCON_PWRCNT_DMA_M2P1,
|
||||
};
|
||||
static struct clk clk_m2p2 = {
|
||||
.enable_reg = EP93XX_SYSCON_CLOCK_CONTROL,
|
||||
.enable_mask = 0x00080000,
|
||||
.enable_reg = EP93XX_SYSCON_PWRCNT,
|
||||
.enable_mask = EP93XX_SYSCON_PWRCNT_DMA_M2P2,
|
||||
};
|
||||
static struct clk clk_m2p3 = {
|
||||
.enable_reg = EP93XX_SYSCON_CLOCK_CONTROL,
|
||||
.enable_mask = 0x00040000,
|
||||
.enable_reg = EP93XX_SYSCON_PWRCNT,
|
||||
.enable_mask = EP93XX_SYSCON_PWRCNT_DMA_M2P3,
|
||||
};
|
||||
static struct clk clk_m2p4 = {
|
||||
.enable_reg = EP93XX_SYSCON_CLOCK_CONTROL,
|
||||
.enable_mask = 0x00200000,
|
||||
.enable_reg = EP93XX_SYSCON_PWRCNT,
|
||||
.enable_mask = EP93XX_SYSCON_PWRCNT_DMA_M2P4,
|
||||
};
|
||||
static struct clk clk_m2p5 = {
|
||||
.enable_reg = EP93XX_SYSCON_CLOCK_CONTROL,
|
||||
.enable_mask = 0x00100000,
|
||||
.enable_reg = EP93XX_SYSCON_PWRCNT,
|
||||
.enable_mask = EP93XX_SYSCON_PWRCNT_DMA_M2P5,
|
||||
};
|
||||
static struct clk clk_m2p6 = {
|
||||
.enable_reg = EP93XX_SYSCON_CLOCK_CONTROL,
|
||||
.enable_mask = 0x00800000,
|
||||
.enable_reg = EP93XX_SYSCON_PWRCNT,
|
||||
.enable_mask = EP93XX_SYSCON_PWRCNT_DMA_M2P6,
|
||||
};
|
||||
static struct clk clk_m2p7 = {
|
||||
.enable_reg = EP93XX_SYSCON_CLOCK_CONTROL,
|
||||
.enable_mask = 0x00400000,
|
||||
.enable_reg = EP93XX_SYSCON_PWRCNT,
|
||||
.enable_mask = EP93XX_SYSCON_PWRCNT_DMA_M2P7,
|
||||
};
|
||||
static struct clk clk_m2p8 = {
|
||||
.enable_reg = EP93XX_SYSCON_CLOCK_CONTROL,
|
||||
.enable_mask = 0x02000000,
|
||||
.enable_reg = EP93XX_SYSCON_PWRCNT,
|
||||
.enable_mask = EP93XX_SYSCON_PWRCNT_DMA_M2P8,
|
||||
};
|
||||
static struct clk clk_m2p9 = {
|
||||
.enable_reg = EP93XX_SYSCON_CLOCK_CONTROL,
|
||||
.enable_mask = 0x01000000,
|
||||
.enable_reg = EP93XX_SYSCON_PWRCNT,
|
||||
.enable_mask = EP93XX_SYSCON_PWRCNT_DMA_M2P9,
|
||||
};
|
||||
static struct clk clk_m2m0 = {
|
||||
.enable_reg = EP93XX_SYSCON_CLOCK_CONTROL,
|
||||
.enable_mask = 0x04000000,
|
||||
.enable_reg = EP93XX_SYSCON_PWRCNT,
|
||||
.enable_mask = EP93XX_SYSCON_PWRCNT_DMA_M2M0,
|
||||
};
|
||||
static struct clk clk_m2m1 = {
|
||||
.enable_reg = EP93XX_SYSCON_CLOCK_CONTROL,
|
||||
.enable_mask = 0x08000000,
|
||||
.enable_reg = EP93XX_SYSCON_PWRCNT,
|
||||
.enable_mask = EP93XX_SYSCON_PWRCNT_DMA_M2M1,
|
||||
};
|
||||
|
||||
#define INIT_CK(dev,con,ck) \
|
||||
|
@ -138,7 +138,7 @@ static struct clk_lookup clocks[] = {
|
|||
INIT_CK(NULL, "hclk", &clk_h),
|
||||
INIT_CK(NULL, "pclk", &clk_p),
|
||||
INIT_CK(NULL, "pll2", &clk_pll2),
|
||||
INIT_CK(NULL, "usb_host", &clk_usb_host),
|
||||
INIT_CK("ep93xx-ohci", NULL, &clk_usb_host),
|
||||
INIT_CK(NULL, "m2p0", &clk_m2p0),
|
||||
INIT_CK(NULL, "m2p1", &clk_m2p1),
|
||||
INIT_CK(NULL, "m2p2", &clk_m2p2),
|
||||
|
|
|
@ -155,7 +155,7 @@ static unsigned char gpio_int_unmasked[3];
|
|||
static unsigned char gpio_int_enabled[3];
|
||||
static unsigned char gpio_int_type1[3];
|
||||
static unsigned char gpio_int_type2[3];
|
||||
static unsigned char gpio_int_debouce[3];
|
||||
static unsigned char gpio_int_debounce[3];
|
||||
|
||||
/* Port ordering is: A B F */
|
||||
static const u8 int_type1_register_offset[3] = { 0x90, 0xac, 0x4c };
|
||||
|
@ -192,11 +192,11 @@ void ep93xx_gpio_int_debounce(unsigned int irq, int enable)
|
|||
int port_mask = 1 << (line & 7);
|
||||
|
||||
if (enable)
|
||||
gpio_int_debouce[port] |= port_mask;
|
||||
gpio_int_debounce[port] |= port_mask;
|
||||
else
|
||||
gpio_int_debouce[port] &= ~port_mask;
|
||||
gpio_int_debounce[port] &= ~port_mask;
|
||||
|
||||
__raw_writeb(gpio_int_debouce[port],
|
||||
__raw_writeb(gpio_int_debounce[port],
|
||||
EP93XX_GPIO_REG(int_debounce_register_offset[port]));
|
||||
}
|
||||
EXPORT_SYMBOL(ep93xx_gpio_int_debounce);
|
||||
|
|
|
@ -1,68 +0,0 @@
|
|||
/*
|
||||
* arch/arm/mach-ep93xx/edb9302.c
|
||||
* Cirrus Logic EDB9302 support.
|
||||
*
|
||||
* Copyright (C) 2006 George Kashperko <george@chas.com.ua>
|
||||
*
|
||||
* 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/mm.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/ioport.h>
|
||||
#include <linux/mtd/physmap.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/io.h>
|
||||
#include <linux/i2c.h>
|
||||
#include <mach/hardware.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/mach/arch.h>
|
||||
|
||||
static struct physmap_flash_data edb9302_flash_data = {
|
||||
.width = 2,
|
||||
};
|
||||
|
||||
static struct resource edb9302_flash_resource = {
|
||||
.start = EP93XX_CS6_PHYS_BASE,
|
||||
.end = EP93XX_CS6_PHYS_BASE + SZ_16M - 1,
|
||||
.flags = IORESOURCE_MEM,
|
||||
};
|
||||
|
||||
static struct platform_device edb9302_flash = {
|
||||
.name = "physmap-flash",
|
||||
.id = 0,
|
||||
.dev = {
|
||||
.platform_data = &edb9302_flash_data,
|
||||
},
|
||||
.num_resources = 1,
|
||||
.resource = &edb9302_flash_resource,
|
||||
};
|
||||
|
||||
static struct ep93xx_eth_data edb9302_eth_data = {
|
||||
.phy_id = 1,
|
||||
};
|
||||
|
||||
static void __init edb9302_init_machine(void)
|
||||
{
|
||||
ep93xx_init_devices();
|
||||
platform_device_register(&edb9302_flash);
|
||||
|
||||
ep93xx_register_eth(&edb9302_eth_data, 1);
|
||||
}
|
||||
|
||||
MACHINE_START(EDB9302, "Cirrus Logic EDB9302 Evaluation Board")
|
||||
/* Maintainer: George Kashperko <george@chas.com.ua> */
|
||||
.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 = edb9302_init_machine,
|
||||
MACHINE_END
|
|
@ -1,68 +0,0 @@
|
|||
/*
|
||||
* arch/arm/mach-ep93xx/edb9302a.c
|
||||
* Cirrus Logic EDB9302A 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/mm.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/ioport.h>
|
||||
#include <linux/mtd/physmap.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/io.h>
|
||||
#include <linux/i2c.h>
|
||||
#include <mach/hardware.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/mach/arch.h>
|
||||
|
||||
static struct physmap_flash_data edb9302a_flash_data = {
|
||||
.width = 2,
|
||||
};
|
||||
|
||||
static struct resource edb9302a_flash_resource = {
|
||||
.start = EP93XX_CS6_PHYS_BASE,
|
||||
.end = EP93XX_CS6_PHYS_BASE + SZ_16M - 1,
|
||||
.flags = IORESOURCE_MEM,
|
||||
};
|
||||
|
||||
static struct platform_device edb9302a_flash = {
|
||||
.name = "physmap-flash",
|
||||
.id = 0,
|
||||
.dev = {
|
||||
.platform_data = &edb9302a_flash_data,
|
||||
},
|
||||
.num_resources = 1,
|
||||
.resource = &edb9302a_flash_resource,
|
||||
};
|
||||
|
||||
static struct ep93xx_eth_data edb9302a_eth_data = {
|
||||
.phy_id = 1,
|
||||
};
|
||||
|
||||
static void __init edb9302a_init_machine(void)
|
||||
{
|
||||
ep93xx_init_devices();
|
||||
platform_device_register(&edb9302a_flash);
|
||||
|
||||
ep93xx_register_eth(&edb9302a_eth_data, 1);
|
||||
}
|
||||
|
||||
MACHINE_START(EDB9302A, "Cirrus Logic EDB9302A Evaluation 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_SDCE0_PHYS_BASE + 0x100,
|
||||
.map_io = ep93xx_map_io,
|
||||
.init_irq = ep93xx_init_irq,
|
||||
.timer = &ep93xx_timer,
|
||||
.init_machine = edb9302a_init_machine,
|
||||
MACHINE_END
|
|
@ -1,68 +0,0 @@
|
|||
/*
|
||||
* arch/arm/mach-ep93xx/edb9307.c
|
||||
* Cirrus Logic EDB9307 support.
|
||||
*
|
||||
* Copyright (C) 2007 Herbert Valerio Riedel <hvr@gnu.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/mm.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/ioport.h>
|
||||
#include <linux/mtd/physmap.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/io.h>
|
||||
#include <linux/i2c.h>
|
||||
#include <mach/hardware.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/mach/arch.h>
|
||||
|
||||
static struct physmap_flash_data edb9307_flash_data = {
|
||||
.width = 4,
|
||||
};
|
||||
|
||||
static struct resource edb9307_flash_resource = {
|
||||
.start = EP93XX_CS6_PHYS_BASE,
|
||||
.end = EP93XX_CS6_PHYS_BASE + SZ_32M - 1,
|
||||
.flags = IORESOURCE_MEM,
|
||||
};
|
||||
|
||||
static struct platform_device edb9307_flash = {
|
||||
.name = "physmap-flash",
|
||||
.id = 0,
|
||||
.dev = {
|
||||
.platform_data = &edb9307_flash_data,
|
||||
},
|
||||
.num_resources = 1,
|
||||
.resource = &edb9307_flash_resource,
|
||||
};
|
||||
|
||||
static struct ep93xx_eth_data edb9307_eth_data = {
|
||||
.phy_id = 1,
|
||||
};
|
||||
|
||||
static void __init edb9307_init_machine(void)
|
||||
{
|
||||
ep93xx_init_devices();
|
||||
platform_device_register(&edb9307_flash);
|
||||
|
||||
ep93xx_register_eth(&edb9307_eth_data, 1);
|
||||
}
|
||||
|
||||
MACHINE_START(EDB9307, "Cirrus Logic EDB9307 Evaluation Board")
|
||||
/* Maintainer: Herbert Valerio Riedel <hvr@gnu.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 = edb9307_init_machine,
|
||||
MACHINE_END
|
|
@ -1,80 +0,0 @@
|
|||
/*
|
||||
* arch/arm/mach-ep93xx/edb9307a.c
|
||||
* Cirrus Logic EDB9307A support.
|
||||
*
|
||||
* Copyright (C) 2008 H Hartley Sweeten <hsweeten@visionengravers.com>
|
||||
*
|
||||
* 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/mm.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/ioport.h>
|
||||
#include <linux/mtd/physmap.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/io.h>
|
||||
#include <linux/i2c.h>
|
||||
#include <mach/hardware.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/mach/arch.h>
|
||||
|
||||
static struct physmap_flash_data edb9307a_flash_data = {
|
||||
.width = 2,
|
||||
};
|
||||
|
||||
static struct resource edb9307a_flash_resource = {
|
||||
.start = EP93XX_CS6_PHYS_BASE,
|
||||
.end = EP93XX_CS6_PHYS_BASE + SZ_16M - 1,
|
||||
.flags = IORESOURCE_MEM,
|
||||
};
|
||||
|
||||
static struct platform_device edb9307a_flash = {
|
||||
.name = "physmap-flash",
|
||||
.id = 0,
|
||||
.dev = {
|
||||
.platform_data = &edb9307a_flash_data,
|
||||
},
|
||||
.num_resources = 1,
|
||||
.resource = &edb9307a_flash_resource,
|
||||
};
|
||||
|
||||
static struct ep93xx_eth_data edb9307a_eth_data = {
|
||||
.phy_id = 1,
|
||||
};
|
||||
|
||||
static struct i2c_board_info __initdata edb9307a_i2c_data[] = {
|
||||
{
|
||||
/* On-board battery backed RTC */
|
||||
I2C_BOARD_INFO("isl1208", 0x6f),
|
||||
},
|
||||
/*
|
||||
* The I2C signals are also routed to the Expansion Connector (J4)
|
||||
*/
|
||||
};
|
||||
|
||||
static void __init edb9307a_init_machine(void)
|
||||
{
|
||||
ep93xx_init_devices();
|
||||
platform_device_register(&edb9307a_flash);
|
||||
|
||||
ep93xx_register_eth(&edb9307a_eth_data, 1);
|
||||
|
||||
ep93xx_init_i2c(edb9307a_i2c_data, ARRAY_SIZE(edb9307a_i2c_data));
|
||||
}
|
||||
|
||||
MACHINE_START(EDB9307A, "Cirrus Logic EDB9307A Evaluation Board")
|
||||
/* Maintainer: H Hartley Sweeten <hsweeten@visionengravers.com> */
|
||||
.phys_io = EP93XX_APB_PHYS_BASE,
|
||||
.io_pg_offst = ((EP93XX_APB_VIRT_BASE) >> 18) & 0xfffc,
|
||||
.boot_params = EP93XX_SDCE0_PHYS_BASE + 0x100,
|
||||
.map_io = ep93xx_map_io,
|
||||
.init_irq = ep93xx_init_irq,
|
||||
.timer = &ep93xx_timer,
|
||||
.init_machine = edb9307a_init_machine,
|
||||
MACHINE_END
|
|
@ -1,69 +0,0 @@
|
|||
/*
|
||||
* arch/arm/mach-ep93xx/edb9312.c
|
||||
* Cirrus Logic EDB9312 support.
|
||||
*
|
||||
* Copyright (C) 2006 Infosys Technologies Limited
|
||||
* Toufeeq Hussain <toufeeq_hussain@infosys.com>
|
||||
*
|
||||
* 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/mm.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/ioport.h>
|
||||
#include <linux/mtd/physmap.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/io.h>
|
||||
#include <linux/i2c.h>
|
||||
#include <mach/hardware.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/mach/arch.h>
|
||||
|
||||
static struct physmap_flash_data edb9312_flash_data = {
|
||||
.width = 4,
|
||||
};
|
||||
|
||||
static struct resource edb9312_flash_resource = {
|
||||
.start = EP93XX_CS6_PHYS_BASE,
|
||||
.end = EP93XX_CS6_PHYS_BASE + SZ_32M - 1,
|
||||
.flags = IORESOURCE_MEM,
|
||||
};
|
||||
|
||||
static struct platform_device edb9312_flash = {
|
||||
.name = "physmap-flash",
|
||||
.id = 0,
|
||||
.dev = {
|
||||
.platform_data = &edb9312_flash_data,
|
||||
},
|
||||
.num_resources = 1,
|
||||
.resource = &edb9312_flash_resource,
|
||||
};
|
||||
|
||||
static struct ep93xx_eth_data edb9312_eth_data = {
|
||||
.phy_id = 1,
|
||||
};
|
||||
|
||||
static void __init edb9312_init_machine(void)
|
||||
{
|
||||
ep93xx_init_devices();
|
||||
platform_device_register(&edb9312_flash);
|
||||
|
||||
ep93xx_register_eth(&edb9312_eth_data, 1);
|
||||
}
|
||||
|
||||
MACHINE_START(EDB9312, "Cirrus Logic EDB9312 Evaluation Board")
|
||||
/* Maintainer: Toufeeq Hussain <toufeeq_hussain@infosys.com> */
|
||||
.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 = edb9312_init_machine,
|
||||
MACHINE_END
|
|
@ -1,68 +0,0 @@
|
|||
/*
|
||||
* arch/arm/mach-ep93xx/edb9315.c
|
||||
* Cirrus Logic EDB9315 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/mm.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/ioport.h>
|
||||
#include <linux/mtd/physmap.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/io.h>
|
||||
#include <linux/i2c.h>
|
||||
#include <mach/hardware.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/mach/arch.h>
|
||||
|
||||
static struct physmap_flash_data edb9315_flash_data = {
|
||||
.width = 4,
|
||||
};
|
||||
|
||||
static struct resource edb9315_flash_resource = {
|
||||
.start = EP93XX_CS6_PHYS_BASE,
|
||||
.end = EP93XX_CS6_PHYS_BASE + SZ_32M - 1,
|
||||
.flags = IORESOURCE_MEM,
|
||||
};
|
||||
|
||||
static struct platform_device edb9315_flash = {
|
||||
.name = "physmap-flash",
|
||||
.id = 0,
|
||||
.dev = {
|
||||
.platform_data = &edb9315_flash_data,
|
||||
},
|
||||
.num_resources = 1,
|
||||
.resource = &edb9315_flash_resource,
|
||||
};
|
||||
|
||||
static struct ep93xx_eth_data edb9315_eth_data = {
|
||||
.phy_id = 1,
|
||||
};
|
||||
|
||||
static void __init edb9315_init_machine(void)
|
||||
{
|
||||
ep93xx_init_devices();
|
||||
platform_device_register(&edb9315_flash);
|
||||
|
||||
ep93xx_register_eth(&edb9315_eth_data, 1);
|
||||
}
|
||||
|
||||
MACHINE_START(EDB9315, "Cirrus Logic EDB9315 Evaluation 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 = edb9315_init_machine,
|
||||
MACHINE_END
|
|
@ -1,68 +0,0 @@
|
|||
/*
|
||||
* arch/arm/mach-ep93xx/edb9315a.c
|
||||
* Cirrus Logic EDB9315A 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/mm.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/ioport.h>
|
||||
#include <linux/mtd/physmap.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/io.h>
|
||||
#include <linux/i2c.h>
|
||||
#include <mach/hardware.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/mach/arch.h>
|
||||
|
||||
static struct physmap_flash_data edb9315a_flash_data = {
|
||||
.width = 2,
|
||||
};
|
||||
|
||||
static struct resource edb9315a_flash_resource = {
|
||||
.start = EP93XX_CS6_PHYS_BASE,
|
||||
.end = EP93XX_CS6_PHYS_BASE + SZ_16M - 1,
|
||||
.flags = IORESOURCE_MEM,
|
||||
};
|
||||
|
||||
static struct platform_device edb9315a_flash = {
|
||||
.name = "physmap-flash",
|
||||
.id = 0,
|
||||
.dev = {
|
||||
.platform_data = &edb9315a_flash_data,
|
||||
},
|
||||
.num_resources = 1,
|
||||
.resource = &edb9315a_flash_resource,
|
||||
};
|
||||
|
||||
static struct ep93xx_eth_data edb9315a_eth_data = {
|
||||
.phy_id = 1,
|
||||
};
|
||||
|
||||
static void __init edb9315a_init_machine(void)
|
||||
{
|
||||
ep93xx_init_devices();
|
||||
platform_device_register(&edb9315a_flash);
|
||||
|
||||
ep93xx_register_eth(&edb9315a_eth_data, 1);
|
||||
}
|
||||
|
||||
MACHINE_START(EDB9315A, "Cirrus Logic EDB9315A Evaluation 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_SDCE0_PHYS_BASE + 0x100,
|
||||
.map_io = ep93xx_map_io,
|
||||
.init_irq = ep93xx_init_irq,
|
||||
.timer = &ep93xx_timer,
|
||||
.init_machine = edb9315a_init_machine,
|
||||
MACHINE_END
|
217
arch/arm/mach-ep93xx/edb93xx.c
Normal file
217
arch/arm/mach-ep93xx/edb93xx.c
Normal file
|
@ -0,0 +1,217 @@
|
|||
/*
|
||||
* arch/arm/mach-ep93xx/edb93xx.c
|
||||
* Cirrus Logic EDB93xx Development Board support.
|
||||
*
|
||||
* EDB93XX, EDB9301, EDB9307A
|
||||
* Copyright (C) 2008-2009 H Hartley Sweeten <hsweeten@visionengravers.com>
|
||||
*
|
||||
* EDB9302
|
||||
* Copyright (C) 2006 George Kashperko <george@chas.com.ua>
|
||||
*
|
||||
* EDB9302A, EDB9315, EDB9315A
|
||||
* Copyright (C) 2006 Lennert Buytenhek <buytenh@wantstofly.org>
|
||||
*
|
||||
* EDB9307
|
||||
* Copyright (C) 2007 Herbert Valerio Riedel <hvr@gnu.org>
|
||||
*
|
||||
* EDB9312
|
||||
* Copyright (C) 2006 Infosys Technologies Limited
|
||||
* Toufeeq Hussain <toufeeq_hussain@infosys.com>
|
||||
*
|
||||
* 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/mm.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/ioport.h>
|
||||
#include <linux/mtd/physmap.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/io.h>
|
||||
#include <linux/i2c.h>
|
||||
#include <mach/hardware.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/mach/arch.h>
|
||||
|
||||
static struct physmap_flash_data edb93xx_flash_data;
|
||||
|
||||
static struct resource edb93xx_flash_resource = {
|
||||
.flags = IORESOURCE_MEM,
|
||||
};
|
||||
|
||||
static struct platform_device edb93xx_flash = {
|
||||
.name = "physmap-flash",
|
||||
.id = 0,
|
||||
.dev = {
|
||||
.platform_data = &edb93xx_flash_data,
|
||||
},
|
||||
.num_resources = 1,
|
||||
.resource = &edb93xx_flash_resource,
|
||||
};
|
||||
|
||||
static void __init __edb93xx_register_flash(unsigned int width,
|
||||
resource_size_t start, resource_size_t size)
|
||||
{
|
||||
edb93xx_flash_data.width = width;
|
||||
edb93xx_flash_resource.start = start;
|
||||
edb93xx_flash_resource.end = start + size - 1;
|
||||
|
||||
platform_device_register(&edb93xx_flash);
|
||||
}
|
||||
|
||||
static void __init edb93xx_register_flash(void)
|
||||
{
|
||||
if (machine_is_edb9307() || machine_is_edb9312() ||
|
||||
machine_is_edb9315()) {
|
||||
__edb93xx_register_flash(4, EP93XX_CS6_PHYS_BASE, SZ_32M);
|
||||
} else {
|
||||
__edb93xx_register_flash(2, EP93XX_CS6_PHYS_BASE, SZ_16M);
|
||||
}
|
||||
}
|
||||
|
||||
static struct ep93xx_eth_data edb93xx_eth_data = {
|
||||
.phy_id = 1,
|
||||
};
|
||||
|
||||
static struct i2c_board_info __initdata edb93xxa_i2c_data[] = {
|
||||
{
|
||||
I2C_BOARD_INFO("isl1208", 0x6f),
|
||||
},
|
||||
};
|
||||
|
||||
static struct i2c_board_info __initdata edb93xx_i2c_data[] = {
|
||||
{
|
||||
I2C_BOARD_INFO("ds1337", 0x68),
|
||||
},
|
||||
};
|
||||
|
||||
static void __init edb93xx_register_i2c(void)
|
||||
{
|
||||
if (machine_is_edb9302a() || machine_is_edb9307a() ||
|
||||
machine_is_edb9315a()) {
|
||||
ep93xx_register_i2c(edb93xxa_i2c_data,
|
||||
ARRAY_SIZE(edb93xxa_i2c_data));
|
||||
} else if (machine_is_edb9307() || machine_is_edb9312() ||
|
||||
machine_is_edb9315()) {
|
||||
ep93xx_register_i2c(edb93xx_i2c_data,
|
||||
ARRAY_SIZE(edb93xx_i2c_data));
|
||||
}
|
||||
}
|
||||
|
||||
static void __init edb93xx_init_machine(void)
|
||||
{
|
||||
ep93xx_init_devices();
|
||||
edb93xx_register_flash();
|
||||
ep93xx_register_eth(&edb93xx_eth_data, 1);
|
||||
edb93xx_register_i2c();
|
||||
}
|
||||
|
||||
|
||||
#ifdef CONFIG_MACH_EDB9301
|
||||
MACHINE_START(EDB9301, "Cirrus Logic EDB9301 Evaluation Board")
|
||||
/* Maintainer: H Hartley Sweeten <hsweeten@visionengravers.com> */
|
||||
.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 = edb93xx_init_machine,
|
||||
MACHINE_END
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_MACH_EDB9302
|
||||
MACHINE_START(EDB9302, "Cirrus Logic EDB9302 Evaluation Board")
|
||||
/* Maintainer: George Kashperko <george@chas.com.ua> */
|
||||
.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 = edb93xx_init_machine,
|
||||
MACHINE_END
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_MACH_EDB9302A
|
||||
MACHINE_START(EDB9302A, "Cirrus Logic EDB9302A Evaluation 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_SDCE0_PHYS_BASE + 0x100,
|
||||
.map_io = ep93xx_map_io,
|
||||
.init_irq = ep93xx_init_irq,
|
||||
.timer = &ep93xx_timer,
|
||||
.init_machine = edb93xx_init_machine,
|
||||
MACHINE_END
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_MACH_EDB9307
|
||||
MACHINE_START(EDB9307, "Cirrus Logic EDB9307 Evaluation Board")
|
||||
/* Maintainer: Herbert Valerio Riedel <hvr@gnu.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 = edb93xx_init_machine,
|
||||
MACHINE_END
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_MACH_EDB9307A
|
||||
MACHINE_START(EDB9307A, "Cirrus Logic EDB9307A Evaluation Board")
|
||||
/* Maintainer: H Hartley Sweeten <hsweeten@visionengravers.com> */
|
||||
.phys_io = EP93XX_APB_PHYS_BASE,
|
||||
.io_pg_offst = ((EP93XX_APB_VIRT_BASE) >> 18) & 0xfffc,
|
||||
.boot_params = EP93XX_SDCE0_PHYS_BASE + 0x100,
|
||||
.map_io = ep93xx_map_io,
|
||||
.init_irq = ep93xx_init_irq,
|
||||
.timer = &ep93xx_timer,
|
||||
.init_machine = edb93xx_init_machine,
|
||||
MACHINE_END
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_MACH_EDB9312
|
||||
MACHINE_START(EDB9312, "Cirrus Logic EDB9312 Evaluation Board")
|
||||
/* Maintainer: Toufeeq Hussain <toufeeq_hussain@infosys.com> */
|
||||
.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 = edb93xx_init_machine,
|
||||
MACHINE_END
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_MACH_EDB9315
|
||||
MACHINE_START(EDB9315, "Cirrus Logic EDB9315 Evaluation 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 = edb93xx_init_machine,
|
||||
MACHINE_END
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_MACH_EDB9315A
|
||||
MACHINE_START(EDB9315A, "Cirrus Logic EDB9315A Evaluation 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_SDCE0_PHYS_BASE + 0x100,
|
||||
.map_io = ep93xx_map_io,
|
||||
.init_irq = ep93xx_init_irq,
|
||||
.timer = &ep93xx_timer,
|
||||
.init_machine = edb93xx_init_machine,
|
||||
MACHINE_END
|
||||
#endif
|
|
@ -152,9 +152,22 @@
|
|||
#define EP93XX_SYSCON_BASE (EP93XX_APB_VIRT_BASE + 0x00130000)
|
||||
#define EP93XX_SYSCON_REG(x) (EP93XX_SYSCON_BASE + (x))
|
||||
#define EP93XX_SYSCON_POWER_STATE EP93XX_SYSCON_REG(0x00)
|
||||
#define EP93XX_SYSCON_CLOCK_CONTROL EP93XX_SYSCON_REG(0x04)
|
||||
#define EP93XX_SYSCON_CLOCK_UARTBAUD 0x20000000
|
||||
#define EP93XX_SYSCON_CLOCK_USH_EN 0x10000000
|
||||
#define EP93XX_SYSCON_PWRCNT EP93XX_SYSCON_REG(0x04)
|
||||
#define EP93XX_SYSCON_PWRCNT_FIR_EN (1<<31)
|
||||
#define EP93XX_SYSCON_PWRCNT_UARTBAUD (1<<29)
|
||||
#define EP93XX_SYSCON_PWRCNT_USH_EN (1<<28)
|
||||
#define EP93XX_SYSCON_PWRCNT_DMA_M2M1 (1<<27)
|
||||
#define EP93XX_SYSCON_PWRCNT_DMA_M2M0 (1<<26)
|
||||
#define EP93XX_SYSCON_PWRCNT_DMA_M2P8 (1<<25)
|
||||
#define EP93XX_SYSCON_PWRCNT_DMA_M2P9 (1<<24)
|
||||
#define EP93XX_SYSCON_PWRCNT_DMA_M2P6 (1<<23)
|
||||
#define EP93XX_SYSCON_PWRCNT_DMA_M2P7 (1<<22)
|
||||
#define EP93XX_SYSCON_PWRCNT_DMA_M2P4 (1<<21)
|
||||
#define EP93XX_SYSCON_PWRCNT_DMA_M2P5 (1<<20)
|
||||
#define EP93XX_SYSCON_PWRCNT_DMA_M2P2 (1<<19)
|
||||
#define EP93XX_SYSCON_PWRCNT_DMA_M2P3 (1<<18)
|
||||
#define EP93XX_SYSCON_PWRCNT_DMA_M2P0 (1<<17)
|
||||
#define EP93XX_SYSCON_PWRCNT_DMA_M2P1 (1<<16)
|
||||
#define EP93XX_SYSCON_HALT EP93XX_SYSCON_REG(0x08)
|
||||
#define EP93XX_SYSCON_STANDBY EP93XX_SYSCON_REG(0x0c)
|
||||
#define EP93XX_SYSCON_CLOCK_SET1 EP93XX_SYSCON_REG(0x20)
|
||||
|
|
|
@ -5,6 +5,12 @@
|
|||
#ifndef __ASM_ARCH_MEMORY_H
|
||||
#define __ASM_ARCH_MEMORY_H
|
||||
|
||||
#if defined(CONFIG_EP93XX_SDCE3_SYNC_PHYS_OFFSET)
|
||||
#define PHYS_OFFSET UL(0x00000000)
|
||||
#elif defined(CONFIG_EP93XX_SDCE0_PHYS_OFFSET)
|
||||
#define PHYS_OFFSET UL(0xc0000000)
|
||||
#else
|
||||
#error "Kconfig bug: No EP93xx PHYS_OFFSET set"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
|
@ -47,7 +47,7 @@ static int usb_hcd_ep93xx_probe(const struct hc_driver *driver,
|
|||
struct usb_hcd *hcd;
|
||||
|
||||
if (pdev->resource[1].flags != IORESOURCE_IRQ) {
|
||||
pr_debug("resource[1] is not IORESOURCE_IRQ");
|
||||
dbg("resource[1] is not IORESOURCE_IRQ");
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
|
@ -65,12 +65,18 @@ static int usb_hcd_ep93xx_probe(const struct hc_driver *driver,
|
|||
|
||||
hcd->regs = ioremap(hcd->rsrc_start, hcd->rsrc_len);
|
||||
if (hcd->regs == NULL) {
|
||||
pr_debug("ioremap failed");
|
||||
dbg("ioremap failed");
|
||||
retval = -ENOMEM;
|
||||
goto err2;
|
||||
}
|
||||
|
||||
usb_host_clock = clk_get(&pdev->dev, "usb_host");
|
||||
usb_host_clock = clk_get(&pdev->dev, NULL);
|
||||
if (IS_ERR(usb_host_clock)) {
|
||||
dbg("clk_get failed");
|
||||
retval = PTR_ERR(usb_host_clock);
|
||||
goto err3;
|
||||
}
|
||||
|
||||
ep93xx_start_hc(&pdev->dev);
|
||||
|
||||
ohci_hcd_init(hcd_to_ohci(hcd));
|
||||
|
@ -80,6 +86,7 @@ static int usb_hcd_ep93xx_probe(const struct hc_driver *driver,
|
|||
return retval;
|
||||
|
||||
ep93xx_stop_hc(&pdev->dev);
|
||||
err3:
|
||||
iounmap(hcd->regs);
|
||||
err2:
|
||||
release_mem_region(hcd->rsrc_start, hcd->rsrc_len);
|
||||
|
|
Loading…
Reference in a new issue