Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
b0efb424
cloud-kernel
项目概览
openanolis
/
cloud-kernel
大约 1 年 前同步成功
通知
158
Star
36
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
cloud-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
b0efb424
编写于
6月 10, 2009
作者:
R
Russell King
提交者:
Russell King
6月 10, 2009
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'ep93xx' into devel
上级
bd78512e
40702432
变更
17
展开全部
隐藏空白更改
内联
并排
Showing
17 changed file
with
898 addition
and
858 deletion
+898
-858
arch/arm/configs/ep93xx_defconfig
arch/arm/configs/ep93xx_defconfig
+547
-306
arch/arm/mach-ep93xx/Kconfig
arch/arm/mach-ep93xx/Kconfig
+65
-17
arch/arm/mach-ep93xx/Makefile
arch/arm/mach-ep93xx/Makefile
+1
-7
arch/arm/mach-ep93xx/Makefile.boot
arch/arm/mach-ep93xx/Makefile.boot
+5
-2
arch/arm/mach-ep93xx/clock.c
arch/arm/mach-ep93xx/clock.c
+27
-27
arch/arm/mach-ep93xx/core.c
arch/arm/mach-ep93xx/core.c
+4
-4
arch/arm/mach-ep93xx/edb9302.c
arch/arm/mach-ep93xx/edb9302.c
+0
-68
arch/arm/mach-ep93xx/edb9302a.c
arch/arm/mach-ep93xx/edb9302a.c
+0
-68
arch/arm/mach-ep93xx/edb9307.c
arch/arm/mach-ep93xx/edb9307.c
+0
-68
arch/arm/mach-ep93xx/edb9307a.c
arch/arm/mach-ep93xx/edb9307a.c
+0
-80
arch/arm/mach-ep93xx/edb9312.c
arch/arm/mach-ep93xx/edb9312.c
+0
-69
arch/arm/mach-ep93xx/edb9315.c
arch/arm/mach-ep93xx/edb9315.c
+0
-68
arch/arm/mach-ep93xx/edb9315a.c
arch/arm/mach-ep93xx/edb9315a.c
+0
-68
arch/arm/mach-ep93xx/edb93xx.c
arch/arm/mach-ep93xx/edb93xx.c
+217
-0
arch/arm/mach-ep93xx/include/mach/ep93xx-regs.h
arch/arm/mach-ep93xx/include/mach/ep93xx-regs.h
+16
-3
arch/arm/mach-ep93xx/include/mach/memory.h
arch/arm/mach-ep93xx/include/mach/memory.h
+6
-0
drivers/usb/host/ohci-ep93xx.c
drivers/usb/host/ohci-ep93xx.c
+10
-3
未找到文件。
arch/arm/configs/ep93xx_defconfig
浏览文件 @
b0efb424
此差异已折叠。
点击以展开。
arch/arm/mach-ep93xx/Kconfig
浏览文件 @
b0efb424
...
@@ -9,87 +9,135 @@ config CRUNCH
...
@@ -9,87 +9,135 @@ config CRUNCH
comment "EP93xx Platforms"
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
config MACH_ADSSPHERE
bool "Support ADS Sphere"
bool "Support ADS Sphere"
depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
help
help
Say 'Y' here if you want your kernel to support the ADS
Say 'Y' here if you want your kernel to support the ADS
Sphere board.
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
config MACH_EDB9302
bool "Support Cirrus Logic EDB9302"
bool "Support Cirrus Logic EDB9302"
depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
select MACH_EDB93XX
help
help
Say 'Y' here if you want your kernel to support the Cirrus
Say 'Y' here if you want your kernel to support the Cirrus
Logic EDB9302 Evaluation Board.
Logic EDB9302 Evaluation Board.
config MACH_EDB9302A
config MACH_EDB9302A
bool "Support Cirrus Logic EDB9302A"
bool "Support Cirrus Logic EDB9302A"
depends on EP93XX_SDCE0_PHYS_OFFSET
select MACH_EDB93XX
help
help
Say 'Y' here if you want your kernel to support the Cirrus
Say 'Y' here if you want your kernel to support the Cirrus
Logic EDB9302A Evaluation Board.
Logic EDB9302A Evaluation Board.
config MACH_EDB9307
config MACH_EDB9307
bool "Support Cirrus Logic EDB9307"
bool "Support Cirrus Logic EDB9307"
depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
select MACH_EDB93XX
help
help
Say 'Y' here if you want your kernel to support the Cirrus
Say 'Y' here if you want your kernel to support the Cirrus
Logic EDB9307 Evaluation Board.
Logic EDB9307 Evaluation Board.
config MACH_EDB9307A
config MACH_EDB9307A
bool "Support Cirrus Logic EDB9307A"
bool "Support Cirrus Logic EDB9307A"
depends on EP93XX_SDCE0_PHYS_OFFSET
select MACH_EDB93XX
help
help
Say 'Y' here if you want your kernel to support the Cirrus
Say 'Y' here if you want your kernel to support the Cirrus
Logic EDB9307A Evaluation Board.
Logic EDB9307A Evaluation Board.
config MACH_EDB9312
config MACH_EDB9312
bool "Support Cirrus Logic EDB9312"
bool "Support Cirrus Logic EDB9312"
depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
select MACH_EDB93XX
help
help
Say 'Y' here if you want your kernel to support the Cirrus
Say 'Y' here if you want your kernel to support the Cirrus
Logic EDB9312 Evaluation Board.
Logic EDB9312 Evaluation Board.
config MACH_EDB9315
config MACH_EDB9315
bool "Support Cirrus Logic EDB9315"
bool "Support Cirrus Logic EDB9315"
depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
select MACH_EDB93XX
help
help
Say 'Y' here if you want your kernel to support the Cirrus
Say 'Y' here if you want your kernel to support the Cirrus
Logic EDB9315 Evaluation Board.
Logic EDB9315 Evaluation Board.
config MACH_EDB9315A
config MACH_EDB9315A
bool "Support Cirrus Logic EDB9315A"
bool "Support Cirrus Logic EDB9315A"
depends on EP93XX_SDCE0_PHYS_OFFSET
select MACH_EDB93XX
help
help
Say 'Y' here if you want your kernel to support the Cirrus
Say 'Y' here if you want your kernel to support the Cirrus
Logic EDB9315A Evaluation Board.
Logic EDB9315A Evaluation Board.
config MACH_GESBC9312
config MACH_GESBC9312
depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
bool "Support Glomation GESBC-9312-sx"
bool "Support Glomation GESBC-9312-sx"
help
help
Say 'Y' here if you want your kernel to support the Glomation
Say 'Y' here if you want your kernel to support the Glomation
GESBC-9312-sx board.
GESBC-9312-sx board.
config MACH_MICRO9
config MACH_MICRO9
bool
bool
default n
config MACH_MICRO9H
config MACH_MICRO9H
bool "Support Contec Hypercontrol Micro9-H"
bool "Support Contec Hypercontrol Micro9-H"
select MACH_MICRO9
depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
help
select MACH_MICRO9
Say 'Y' here if you want your kernel to support the
help
Contec Hypercontrol Micro9-H board.
Say 'Y' here if you want your kernel to support the
Contec Hypercontrol Micro9-H board.
config MACH_MICRO9M
config MACH_MICRO9M
bool "Support Contec Hypercontrol Micro9-M"
bool "Support Contec Hypercontrol Micro9-M"
select MACH_MICRO9
depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
help
select MACH_MICRO9
Say 'Y' here if you want your kernel to support the
help
Contec Hypercontrol Micro9-M board.
Say 'Y' here if you want your kernel to support the
Contec Hypercontrol Micro9-M board.
config MACH_MICRO9L
config MACH_MICRO9L
bool "Support Contec Hypercontrol Micro9-L"
bool "Support Contec Hypercontrol Micro9-L"
select MACH_MICRO9
depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
help
select MACH_MICRO9
Say 'Y' here if you want your kernel to support the
help
Contec Hypercontrol Micro9-L board.
Say 'Y' here if you want your kernel to support the
Contec Hypercontrol Micro9-L board.
config MACH_TS72XX
config MACH_TS72XX
bool "Support Technologic Systems TS-72xx SBC"
bool "Support Technologic Systems TS-72xx SBC"
depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
help
help
Say 'Y' here if you want your kernel to support the
Say 'Y' here if you want your kernel to support the
Technologic Systems TS-72xx board.
Technologic Systems TS-72xx board.
...
...
arch/arm/mach-ep93xx/Makefile
浏览文件 @
b0efb424
...
@@ -7,13 +7,7 @@ obj-n :=
...
@@ -7,13 +7,7 @@ obj-n :=
obj-
:=
obj-
:=
obj-$(CONFIG_MACH_ADSSPHERE)
+=
adssphere.o
obj-$(CONFIG_MACH_ADSSPHERE)
+=
adssphere.o
obj-$(CONFIG_MACH_EDB9302)
+=
edb9302.o
obj-$(CONFIG_MACH_EDB93XX)
+=
edb93xx.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_GESBC9312)
+=
gesbc9312.o
obj-$(CONFIG_MACH_GESBC9312)
+=
gesbc9312.o
obj-$(CONFIG_MACH_MICRO9)
+=
micro9.o
obj-$(CONFIG_MACH_MICRO9)
+=
micro9.o
obj-$(CONFIG_MACH_TS72XX)
+=
ts72xx.o
obj-$(CONFIG_MACH_TS72XX)
+=
ts72xx.o
arch/arm/mach-ep93xx/Makefile.boot
浏览文件 @
b0efb424
zreladdr-y
:=
0x00008000
zreladdr-$(CONFIG_EP93XX_SDCE3_SYNC_PHYS_OFFSET)
:=
0x00008000
params_phys-y
:=
0x00000100
params_phys-$(CONFIG_EP93XX_SDCE3_SYNC_PHYS_OFFSET)
:=
0x00000100
zreladdr-$(CONFIG_EP93XX_SDCE0_PHYS_OFFSET)
:=
0xc0008000
params_phys-$(CONFIG_EP93XX_SDCE0_PHYS_OFFSET)
:=
0xc0000100
arch/arm/mach-ep93xx/clock.c
浏览文件 @
b0efb424
...
@@ -72,58 +72,58 @@ static struct clk clk_h;
...
@@ -72,58 +72,58 @@ static struct clk clk_h;
static
struct
clk
clk_p
;
static
struct
clk
clk_p
;
static
struct
clk
clk_pll2
;
static
struct
clk
clk_pll2
;
static
struct
clk
clk_usb_host
=
{
static
struct
clk
clk_usb_host
=
{
.
enable_reg
=
EP93XX_SYSCON_
CLOCK_CONTROL
,
.
enable_reg
=
EP93XX_SYSCON_
PWRCNT
,
.
enable_mask
=
EP93XX_SYSCON_
CLOCK
_USH_EN
,
.
enable_mask
=
EP93XX_SYSCON_
PWRCNT
_USH_EN
,
};
};
/* DMA Clocks */
/* DMA Clocks */
static
struct
clk
clk_m2p0
=
{
static
struct
clk
clk_m2p0
=
{
.
enable_reg
=
EP93XX_SYSCON_
CLOCK_CONTROL
,
.
enable_reg
=
EP93XX_SYSCON_
PWRCNT
,
.
enable_mask
=
0x0002000
0
,
.
enable_mask
=
EP93XX_SYSCON_PWRCNT_DMA_M2P
0
,
};
};
static
struct
clk
clk_m2p1
=
{
static
struct
clk
clk_m2p1
=
{
.
enable_reg
=
EP93XX_SYSCON_
CLOCK_CONTROL
,
.
enable_reg
=
EP93XX_SYSCON_
PWRCNT
,
.
enable_mask
=
0x00010000
,
.
enable_mask
=
EP93XX_SYSCON_PWRCNT_DMA_M2P1
,
};
};
static
struct
clk
clk_m2p2
=
{
static
struct
clk
clk_m2p2
=
{
.
enable_reg
=
EP93XX_SYSCON_
CLOCK_CONTROL
,
.
enable_reg
=
EP93XX_SYSCON_
PWRCNT
,
.
enable_mask
=
0x00080000
,
.
enable_mask
=
EP93XX_SYSCON_PWRCNT_DMA_M2P2
,
};
};
static
struct
clk
clk_m2p3
=
{
static
struct
clk
clk_m2p3
=
{
.
enable_reg
=
EP93XX_SYSCON_
CLOCK_CONTROL
,
.
enable_reg
=
EP93XX_SYSCON_
PWRCNT
,
.
enable_mask
=
0x00040000
,
.
enable_mask
=
EP93XX_SYSCON_PWRCNT_DMA_M2P3
,
};
};
static
struct
clk
clk_m2p4
=
{
static
struct
clk
clk_m2p4
=
{
.
enable_reg
=
EP93XX_SYSCON_
CLOCK_CONTROL
,
.
enable_reg
=
EP93XX_SYSCON_
PWRCNT
,
.
enable_mask
=
0x00200000
,
.
enable_mask
=
EP93XX_SYSCON_PWRCNT_DMA_M2P4
,
};
};
static
struct
clk
clk_m2p5
=
{
static
struct
clk
clk_m2p5
=
{
.
enable_reg
=
EP93XX_SYSCON_
CLOCK_CONTROL
,
.
enable_reg
=
EP93XX_SYSCON_
PWRCNT
,
.
enable_mask
=
0x00100000
,
.
enable_mask
=
EP93XX_SYSCON_PWRCNT_DMA_M2P5
,
};
};
static
struct
clk
clk_m2p6
=
{
static
struct
clk
clk_m2p6
=
{
.
enable_reg
=
EP93XX_SYSCON_
CLOCK_CONTROL
,
.
enable_reg
=
EP93XX_SYSCON_
PWRCNT
,
.
enable_mask
=
0x00800000
,
.
enable_mask
=
EP93XX_SYSCON_PWRCNT_DMA_M2P6
,
};
};
static
struct
clk
clk_m2p7
=
{
static
struct
clk
clk_m2p7
=
{
.
enable_reg
=
EP93XX_SYSCON_
CLOCK_CONTROL
,
.
enable_reg
=
EP93XX_SYSCON_
PWRCNT
,
.
enable_mask
=
0x00400000
,
.
enable_mask
=
EP93XX_SYSCON_PWRCNT_DMA_M2P7
,
};
};
static
struct
clk
clk_m2p8
=
{
static
struct
clk
clk_m2p8
=
{
.
enable_reg
=
EP93XX_SYSCON_
CLOCK_CONTROL
,
.
enable_reg
=
EP93XX_SYSCON_
PWRCNT
,
.
enable_mask
=
0x02000000
,
.
enable_mask
=
EP93XX_SYSCON_PWRCNT_DMA_M2P8
,
};
};
static
struct
clk
clk_m2p9
=
{
static
struct
clk
clk_m2p9
=
{
.
enable_reg
=
EP93XX_SYSCON_
CLOCK_CONTROL
,
.
enable_reg
=
EP93XX_SYSCON_
PWRCNT
,
.
enable_mask
=
0x01000000
,
.
enable_mask
=
EP93XX_SYSCON_PWRCNT_DMA_M2P9
,
};
};
static
struct
clk
clk_m2m0
=
{
static
struct
clk
clk_m2m0
=
{
.
enable_reg
=
EP93XX_SYSCON_
CLOCK_CONTROL
,
.
enable_reg
=
EP93XX_SYSCON_
PWRCNT
,
.
enable_mask
=
0x0400000
0
,
.
enable_mask
=
EP93XX_SYSCON_PWRCNT_DMA_M2M
0
,
};
};
static
struct
clk
clk_m2m1
=
{
static
struct
clk
clk_m2m1
=
{
.
enable_reg
=
EP93XX_SYSCON_
CLOCK_CONTROL
,
.
enable_reg
=
EP93XX_SYSCON_
PWRCNT
,
.
enable_mask
=
0x08000000
,
.
enable_mask
=
EP93XX_SYSCON_PWRCNT_DMA_M2M1
,
};
};
#define INIT_CK(dev,con,ck) \
#define INIT_CK(dev,con,ck) \
...
@@ -138,7 +138,7 @@ static struct clk_lookup clocks[] = {
...
@@ -138,7 +138,7 @@ static struct clk_lookup clocks[] = {
INIT_CK
(
NULL
,
"hclk"
,
&
clk_h
),
INIT_CK
(
NULL
,
"hclk"
,
&
clk_h
),
INIT_CK
(
NULL
,
"pclk"
,
&
clk_p
),
INIT_CK
(
NULL
,
"pclk"
,
&
clk_p
),
INIT_CK
(
NULL
,
"pll2"
,
&
clk_pll2
),
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
,
"m2p0"
,
&
clk_m2p0
),
INIT_CK
(
NULL
,
"m2p1"
,
&
clk_m2p1
),
INIT_CK
(
NULL
,
"m2p1"
,
&
clk_m2p1
),
INIT_CK
(
NULL
,
"m2p2"
,
&
clk_m2p2
),
INIT_CK
(
NULL
,
"m2p2"
,
&
clk_m2p2
),
...
...
arch/arm/mach-ep93xx/core.c
浏览文件 @
b0efb424
...
@@ -155,7 +155,7 @@ static unsigned char gpio_int_unmasked[3];
...
@@ -155,7 +155,7 @@ static unsigned char gpio_int_unmasked[3];
static
unsigned
char
gpio_int_enabled
[
3
];
static
unsigned
char
gpio_int_enabled
[
3
];
static
unsigned
char
gpio_int_type1
[
3
];
static
unsigned
char
gpio_int_type1
[
3
];
static
unsigned
char
gpio_int_type2
[
3
];
static
unsigned
char
gpio_int_type2
[
3
];
static
unsigned
char
gpio_int_debouce
[
3
];
static
unsigned
char
gpio_int_debou
n
ce
[
3
];
/* Port ordering is: A B F */
/* Port ordering is: A B F */
static
const
u8
int_type1_register_offset
[
3
]
=
{
0x90
,
0xac
,
0x4c
};
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)
...
@@ -192,11 +192,11 @@ void ep93xx_gpio_int_debounce(unsigned int irq, int enable)
int
port_mask
=
1
<<
(
line
&
7
);
int
port_mask
=
1
<<
(
line
&
7
);
if
(
enable
)
if
(
enable
)
gpio_int_debouce
[
port
]
|=
port_mask
;
gpio_int_debou
n
ce
[
port
]
|=
port_mask
;
else
else
gpio_int_debouce
[
port
]
&=
~
port_mask
;
gpio_int_debou
n
ce
[
port
]
&=
~
port_mask
;
__raw_writeb
(
gpio_int_debouce
[
port
],
__raw_writeb
(
gpio_int_debou
n
ce
[
port
],
EP93XX_GPIO_REG
(
int_debounce_register_offset
[
port
]));
EP93XX_GPIO_REG
(
int_debounce_register_offset
[
port
]));
}
}
EXPORT_SYMBOL
(
ep93xx_gpio_int_debounce
);
EXPORT_SYMBOL
(
ep93xx_gpio_int_debounce
);
...
...
arch/arm/mach-ep93xx/edb9302.c
已删除
100644 → 0
浏览文件 @
bd78512e
/*
* 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
arch/arm/mach-ep93xx/edb9302a.c
已删除
100644 → 0
浏览文件 @
bd78512e
/*
* 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
arch/arm/mach-ep93xx/edb9307.c
已删除
100644 → 0
浏览文件 @
bd78512e
/*
* 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
arch/arm/mach-ep93xx/edb9307a.c
已删除
100644 → 0
浏览文件 @
bd78512e
/*
* 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
arch/arm/mach-ep93xx/edb9312.c
已删除
100644 → 0
浏览文件 @
bd78512e
/*
* 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
arch/arm/mach-ep93xx/edb9315.c
已删除
100644 → 0
浏览文件 @
bd78512e
/*
* 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
arch/arm/mach-ep93xx/edb9315a.c
已删除
100644 → 0
浏览文件 @
bd78512e
/*
* 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
arch/arm/mach-ep93xx/edb93xx.c
0 → 100644
浏览文件 @
b0efb424
/*
* 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
arch/arm/mach-ep93xx/include/mach/ep93xx-regs.h
浏览文件 @
b0efb424
...
@@ -152,9 +152,22 @@
...
@@ -152,9 +152,22 @@
#define EP93XX_SYSCON_BASE (EP93XX_APB_VIRT_BASE + 0x00130000)
#define EP93XX_SYSCON_BASE (EP93XX_APB_VIRT_BASE + 0x00130000)
#define EP93XX_SYSCON_REG(x) (EP93XX_SYSCON_BASE + (x))
#define EP93XX_SYSCON_REG(x) (EP93XX_SYSCON_BASE + (x))
#define EP93XX_SYSCON_POWER_STATE EP93XX_SYSCON_REG(0x00)
#define EP93XX_SYSCON_POWER_STATE EP93XX_SYSCON_REG(0x00)
#define EP93XX_SYSCON_CLOCK_CONTROL EP93XX_SYSCON_REG(0x04)
#define EP93XX_SYSCON_PWRCNT EP93XX_SYSCON_REG(0x04)
#define EP93XX_SYSCON_CLOCK_UARTBAUD 0x20000000
#define EP93XX_SYSCON_PWRCNT_FIR_EN (1<<31)
#define EP93XX_SYSCON_CLOCK_USH_EN 0x10000000
#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_HALT EP93XX_SYSCON_REG(0x08)
#define EP93XX_SYSCON_STANDBY EP93XX_SYSCON_REG(0x0c)
#define EP93XX_SYSCON_STANDBY EP93XX_SYSCON_REG(0x0c)
#define EP93XX_SYSCON_CLOCK_SET1 EP93XX_SYSCON_REG(0x20)
#define EP93XX_SYSCON_CLOCK_SET1 EP93XX_SYSCON_REG(0x20)
...
...
arch/arm/mach-ep93xx/include/mach/memory.h
浏览文件 @
b0efb424
...
@@ -5,6 +5,12 @@
...
@@ -5,6 +5,12 @@
#ifndef __ASM_ARCH_MEMORY_H
#ifndef __ASM_ARCH_MEMORY_H
#define __ASM_ARCH_MEMORY_H
#define __ASM_ARCH_MEMORY_H
#if defined(CONFIG_EP93XX_SDCE3_SYNC_PHYS_OFFSET)
#define PHYS_OFFSET UL(0x00000000)
#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
#endif
drivers/usb/host/ohci-ep93xx.c
浏览文件 @
b0efb424
...
@@ -47,7 +47,7 @@ static int usb_hcd_ep93xx_probe(const struct hc_driver *driver,
...
@@ -47,7 +47,7 @@ static int usb_hcd_ep93xx_probe(const struct hc_driver *driver,
struct
usb_hcd
*
hcd
;
struct
usb_hcd
*
hcd
;
if
(
pdev
->
resource
[
1
].
flags
!=
IORESOURCE_IRQ
)
{
if
(
pdev
->
resource
[
1
].
flags
!=
IORESOURCE_IRQ
)
{
pr_debu
g
(
"resource[1] is not IORESOURCE_IRQ"
);
db
g
(
"resource[1] is not IORESOURCE_IRQ"
);
return
-
ENOMEM
;
return
-
ENOMEM
;
}
}
...
@@ -65,12 +65,18 @@ static int usb_hcd_ep93xx_probe(const struct hc_driver *driver,
...
@@ -65,12 +65,18 @@ static int usb_hcd_ep93xx_probe(const struct hc_driver *driver,
hcd
->
regs
=
ioremap
(
hcd
->
rsrc_start
,
hcd
->
rsrc_len
);
hcd
->
regs
=
ioremap
(
hcd
->
rsrc_start
,
hcd
->
rsrc_len
);
if
(
hcd
->
regs
==
NULL
)
{
if
(
hcd
->
regs
==
NULL
)
{
pr_debu
g
(
"ioremap failed"
);
db
g
(
"ioremap failed"
);
retval
=
-
ENOMEM
;
retval
=
-
ENOMEM
;
goto
err2
;
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
);
ep93xx_start_hc
(
&
pdev
->
dev
);
ohci_hcd_init
(
hcd_to_ohci
(
hcd
));
ohci_hcd_init
(
hcd_to_ohci
(
hcd
));
...
@@ -80,6 +86,7 @@ static int usb_hcd_ep93xx_probe(const struct hc_driver *driver,
...
@@ -80,6 +86,7 @@ static int usb_hcd_ep93xx_probe(const struct hc_driver *driver,
return
retval
;
return
retval
;
ep93xx_stop_hc
(
&
pdev
->
dev
);
ep93xx_stop_hc
(
&
pdev
->
dev
);
err3:
iounmap
(
hcd
->
regs
);
iounmap
(
hcd
->
regs
);
err2:
err2:
release_mem_region
(
hcd
->
rsrc_start
,
hcd
->
rsrc_len
);
release_mem_region
(
hcd
->
rsrc_start
,
hcd
->
rsrc_len
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录