Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
bbeddc43
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
160
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看板
提交
bbeddc43
编写于
7月 05, 2009
作者:
R
Russell King
提交者:
Russell King
7月 06, 2009
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[ARM] versatile: add PL061 gpiolib support
Signed-off-by:
N
Russell King
<
rmk+kernel@arm.linux.org.uk
>
上级
28d0325c
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
43 addition
and
5 deletion
+43
-5
arch/arm/Kconfig
arch/arm/Kconfig
+1
-0
arch/arm/mach-versatile/core.c
arch/arm/mach-versatile/core.c
+13
-2
arch/arm/mach-versatile/include/mach/gpio.h
arch/arm/mach-versatile/include/mach/gpio.h
+6
-0
arch/arm/mach-versatile/include/mach/irqs.h
arch/arm/mach-versatile/include/mach/irqs.h
+10
-1
arch/arm/mach-versatile/versatile_pb.c
arch/arm/mach-versatile/versatile_pb.c
+13
-2
未找到文件。
arch/arm/Kconfig
浏览文件 @
bbeddc43
...
...
@@ -229,6 +229,7 @@ config ARCH_VERSATILE
select ICST307
select GENERIC_TIME
select GENERIC_CLOCKEVENTS
select ARCH_WANT_OPTIONAL_GPIOLIB
help
This enables support for ARM Ltd Versatile board.
...
...
arch/arm/mach-versatile/core.c
浏览文件 @
bbeddc43
...
...
@@ -26,6 +26,7 @@
#include <linux/interrupt.h>
#include <linux/amba/bus.h>
#include <linux/amba/clcd.h>
#include <linux/amba/pl061.h>
#include <linux/clocksource.h>
#include <linux/clockchips.h>
#include <linux/cnt32_to_63.h>
...
...
@@ -706,6 +707,16 @@ static struct clcd_board clcd_plat_data = {
.
remove
=
versatile_clcd_remove
,
};
static
struct
pl061_platform_data
gpio0_plat_data
=
{
.
gpio_base
=
0
,
.
irq_base
=
IRQ_GPIO0_START
,
};
static
struct
pl061_platform_data
gpio1_plat_data
=
{
.
gpio_base
=
8
,
.
irq_base
=
IRQ_GPIO1_START
,
};
#define AACI_IRQ { IRQ_AACI, NO_IRQ }
#define AACI_DMA { 0x80, 0x81 }
#define MMCI0_IRQ { IRQ_MMCI0A,IRQ_SIC_MMCI0B }
...
...
@@ -768,8 +779,8 @@ AMBA_DEVICE(clcd, "dev:20", CLCD, &clcd_plat_data);
AMBA_DEVICE
(
dmac
,
"dev:30"
,
DMAC
,
NULL
);
AMBA_DEVICE
(
sctl
,
"dev:e0"
,
SCTL
,
NULL
);
AMBA_DEVICE
(
wdog
,
"dev:e1"
,
WATCHDOG
,
NULL
);
AMBA_DEVICE
(
gpio0
,
"dev:e4"
,
GPIO0
,
NULL
);
AMBA_DEVICE
(
gpio1
,
"dev:e5"
,
GPIO1
,
NULL
);
AMBA_DEVICE
(
gpio0
,
"dev:e4"
,
GPIO0
,
&
gpio0_plat_data
);
AMBA_DEVICE
(
gpio1
,
"dev:e5"
,
GPIO1
,
&
gpio1_plat_data
);
AMBA_DEVICE
(
rtc
,
"dev:e8"
,
RTC
,
NULL
);
AMBA_DEVICE
(
sci0
,
"dev:f0"
,
SCI
,
NULL
);
AMBA_DEVICE
(
uart0
,
"dev:f1"
,
UART0
,
NULL
);
...
...
arch/arm/mach-versatile/include/mach/gpio.h
0 → 100644
浏览文件 @
bbeddc43
#include <asm-generic/gpio.h>
#define gpio_get_value __gpio_get_value
#define gpio_set_value __gpio_set_value
#define gpio_cansleep __gpio_cansleep
#define gpio_to_irq __gpio_to_irq
arch/arm/mach-versatile/include/mach/irqs.h
浏览文件 @
bbeddc43
...
...
@@ -122,4 +122,13 @@
#define IRQ_SIC_PCI3 (IRQ_SIC_START + SIC_INT_PCI3)
#define IRQ_SIC_END 63
#define NR_IRQS 64
#define IRQ_GPIO0_START (IRQ_SIC_END + 1)
#define IRQ_GPIO0_END (IRQ_GPIO0_START + 31)
#define IRQ_GPIO1_START (IRQ_GPIO0_END + 1)
#define IRQ_GPIO1_END (IRQ_GPIO1_START + 31)
#define IRQ_GPIO2_START (IRQ_GPIO1_END + 1)
#define IRQ_GPIO2_END (IRQ_GPIO2_START + 31)
#define IRQ_GPIO3_START (IRQ_GPIO2_END + 1)
#define IRQ_GPIO3_END (IRQ_GPIO3_START + 31)
#define NR_IRQS (IRQ_GPIO3_END + 1)
arch/arm/mach-versatile/versatile_pb.c
浏览文件 @
bbeddc43
...
...
@@ -23,6 +23,7 @@
#include <linux/device.h>
#include <linux/sysdev.h>
#include <linux/amba/bus.h>
#include <linux/amba/pl061.h>
#include <linux/io.h>
#include <mach/hardware.h>
...
...
@@ -45,6 +46,16 @@ static struct mmc_platform_data mmc1_plat_data = {
.
status
=
mmc_status
,
};
static
struct
pl061_platform_data
gpio2_plat_data
=
{
.
gpio_base
=
16
,
.
irq_base
=
IRQ_GPIO2_START
,
};
static
struct
pl061_platform_data
gpio3_plat_data
=
{
.
gpio_base
=
24
,
.
irq_base
=
IRQ_GPIO3_START
,
};
#define UART3_IRQ { IRQ_SIC_UART3, NO_IRQ }
#define UART3_DMA { 0x86, 0x87 }
#define SCI1_IRQ { IRQ_SIC_SCI3, NO_IRQ }
...
...
@@ -70,8 +81,8 @@ AMBA_DEVICE(sci1, "fpga:0a", SCI1, NULL);
AMBA_DEVICE
(
mmc1
,
"fpga:0b"
,
MMCI1
,
&
mmc1_plat_data
);
/* DevChip Primecells */
AMBA_DEVICE
(
gpio2
,
"dev:e6"
,
GPIO2
,
NULL
);
AMBA_DEVICE
(
gpio3
,
"dev:e7"
,
GPIO3
,
NULL
);
AMBA_DEVICE
(
gpio2
,
"dev:e6"
,
GPIO2
,
&
gpio2_plat_data
);
AMBA_DEVICE
(
gpio3
,
"dev:e7"
,
GPIO3
,
&
gpio3_plat_data
);
static
struct
amba_device
*
amba_devs
[]
__initdata
=
{
&
uart3_device
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录