Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
eb7fffa3
Commit
eb7fffa3
authored
Jul 05, 2009
by
Russell King
Committed by
Russell King
Jul 06, 2009
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[ARM] realview: add PL061 gpiolib support
Signed-off-by:
Russell King
<
rmk+kernel@arm.linux.org.uk
>
parent
bbeddc43
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
102 additions
and
15 deletions
+102
-15
arch/arm/Kconfig
arch/arm/Kconfig
+1
-0
arch/arm/mach-realview/include/mach/gpio.h
arch/arm/mach-realview/include/mach/gpio.h
+6
-0
arch/arm/mach-realview/realview_eb.c
arch/arm/mach-realview/realview_eb.c
+19
-3
arch/arm/mach-realview/realview_pb1176.c
arch/arm/mach-realview/realview_pb1176.c
+19
-3
arch/arm/mach-realview/realview_pb11mp.c
arch/arm/mach-realview/realview_pb11mp.c
+19
-3
arch/arm/mach-realview/realview_pba8.c
arch/arm/mach-realview/realview_pba8.c
+19
-3
arch/arm/mach-realview/realview_pbx.c
arch/arm/mach-realview/realview_pbx.c
+19
-3
No files found.
arch/arm/Kconfig
View file @
eb7fffa3
...
...
@@ -217,6 +217,7 @@ config ARCH_REALVIEW
select ICST307
select GENERIC_TIME
select GENERIC_CLOCKEVENTS
select ARCH_WANT_OPTIONAL_GPIOLIB
help
This enables support for ARM Ltd RealView boards.
...
...
arch/arm/mach-realview/include/mach/gpio.h
0 → 100644
View file @
eb7fffa3
#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-realview/realview_eb.c
View file @
eb7fffa3
...
...
@@ -23,6 +23,7 @@
#include <linux/platform_device.h>
#include <linux/sysdev.h>
#include <linux/amba/bus.h>
#include <linux/amba/pl061.h>
#include <linux/io.h>
#include <mach/hardware.h>
...
...
@@ -113,6 +114,21 @@ static void __init realview_eb_map_io(void)
iotable_init
(
realview_eb11mp_io_desc
,
ARRAY_SIZE
(
realview_eb11mp_io_desc
));
}
static
struct
pl061_platform_data
gpio0_plat_data
=
{
.
gpio_base
=
0
,
.
irq_base
=
-
1
,
};
static
struct
pl061_platform_data
gpio1_plat_data
=
{
.
gpio_base
=
8
,
.
irq_base
=
-
1
,
};
static
struct
pl061_platform_data
gpio2_plat_data
=
{
.
gpio_base
=
16
,
.
irq_base
=
-
1
,
};
/*
* RealView EB AMBA devices
*/
...
...
@@ -189,9 +205,9 @@ AMBA_DEVICE(clcd, "dev:20", EB_CLCD, &clcd_plat_data);
AMBA_DEVICE
(
dmac
,
"dev:30"
,
DMAC
,
NULL
);
AMBA_DEVICE
(
sctl
,
"dev:e0"
,
SCTL
,
NULL
);
AMBA_DEVICE
(
wdog
,
"dev:e1"
,
EB_WATCHDOG
,
NULL
);
AMBA_DEVICE
(
gpio0
,
"dev:e4"
,
EB_GPIO0
,
NULL
);
AMBA_DEVICE
(
gpio1
,
"dev:e5"
,
GPIO1
,
NULL
);
AMBA_DEVICE
(
gpio2
,
"dev:e6"
,
GPIO2
,
NULL
);
AMBA_DEVICE
(
gpio0
,
"dev:e4"
,
EB_GPIO0
,
&
gpio0_plat_data
);
AMBA_DEVICE
(
gpio1
,
"dev:e5"
,
GPIO1
,
&
gpio1_plat_data
);
AMBA_DEVICE
(
gpio2
,
"dev:e6"
,
GPIO2
,
&
gpio2_plat_data
);
AMBA_DEVICE
(
rtc
,
"dev:e8"
,
EB_RTC
,
NULL
);
AMBA_DEVICE
(
sci0
,
"dev:f0"
,
SCI
,
NULL
);
AMBA_DEVICE
(
uart0
,
"dev:f1"
,
EB_UART0
,
NULL
);
...
...
arch/arm/mach-realview/realview_pb1176.c
View file @
eb7fffa3
...
...
@@ -23,6 +23,7 @@
#include <linux/platform_device.h>
#include <linux/sysdev.h>
#include <linux/amba/bus.h>
#include <linux/amba/pl061.h>
#include <linux/io.h>
#include <mach/hardware.h>
...
...
@@ -107,6 +108,21 @@ static void __init realview_pb1176_map_io(void)
iotable_init
(
realview_pb1176_io_desc
,
ARRAY_SIZE
(
realview_pb1176_io_desc
));
}
static
struct
pl061_platform_data
gpio0_plat_data
=
{
.
gpio_base
=
0
,
.
irq_base
=
-
1
,
};
static
struct
pl061_platform_data
gpio1_plat_data
=
{
.
gpio_base
=
8
,
.
irq_base
=
-
1
,
};
static
struct
pl061_platform_data
gpio2_plat_data
=
{
.
gpio_base
=
16
,
.
irq_base
=
-
1
,
};
/*
* RealView PB1176 AMBA devices
*/
...
...
@@ -164,9 +180,9 @@ AMBA_DEVICE(uart3, "fpga:09", PB1176_UART3, NULL);
AMBA_DEVICE
(
smc
,
"dev:00"
,
PB1176_SMC
,
NULL
);
AMBA_DEVICE
(
sctl
,
"dev:e0"
,
SCTL
,
NULL
);
AMBA_DEVICE
(
wdog
,
"dev:e1"
,
PB1176_WATCHDOG
,
NULL
);
AMBA_DEVICE
(
gpio0
,
"dev:e4"
,
PB1176_GPIO0
,
NULL
);
AMBA_DEVICE
(
gpio1
,
"dev:e5"
,
GPIO1
,
NULL
);
AMBA_DEVICE
(
gpio2
,
"dev:e6"
,
GPIO2
,
NULL
);
AMBA_DEVICE
(
gpio0
,
"dev:e4"
,
PB1176_GPIO0
,
&
gpio0_plat_data
);
AMBA_DEVICE
(
gpio1
,
"dev:e5"
,
GPIO1
,
&
gpio1_plat_data
);
AMBA_DEVICE
(
gpio2
,
"dev:e6"
,
GPIO2
,
&
gpio2_plat_data
);
AMBA_DEVICE
(
rtc
,
"dev:e8"
,
PB1176_RTC
,
NULL
);
AMBA_DEVICE
(
sci0
,
"dev:f0"
,
SCI
,
NULL
);
AMBA_DEVICE
(
uart0
,
"dev:f1"
,
PB1176_UART0
,
NULL
);
...
...
arch/arm/mach-realview/realview_pb11mp.c
View file @
eb7fffa3
...
...
@@ -23,6 +23,7 @@
#include <linux/platform_device.h>
#include <linux/sysdev.h>
#include <linux/amba/bus.h>
#include <linux/amba/pl061.h>
#include <linux/io.h>
#include <mach/hardware.h>
...
...
@@ -108,6 +109,21 @@ static void __init realview_pb11mp_map_io(void)
iotable_init
(
realview_pb11mp_io_desc
,
ARRAY_SIZE
(
realview_pb11mp_io_desc
));
}
static
struct
pl061_platform_data
gpio0_plat_data
=
{
.
gpio_base
=
0
,
.
irq_base
=
-
1
,
};
static
struct
pl061_platform_data
gpio1_plat_data
=
{
.
gpio_base
=
8
,
.
irq_base
=
-
1
,
};
static
struct
pl061_platform_data
gpio2_plat_data
=
{
.
gpio_base
=
16
,
.
irq_base
=
-
1
,
};
/*
* RealView PB11MPCore AMBA devices
*/
...
...
@@ -166,9 +182,9 @@ AMBA_DEVICE(uart3, "fpga:09", PB11MP_UART3, NULL);
AMBA_DEVICE
(
smc
,
"dev:00"
,
PB11MP_SMC
,
NULL
);
AMBA_DEVICE
(
sctl
,
"dev:e0"
,
SCTL
,
NULL
);
AMBA_DEVICE
(
wdog
,
"dev:e1"
,
PB11MP_WATCHDOG
,
NULL
);
AMBA_DEVICE
(
gpio0
,
"dev:e4"
,
PB11MP_GPIO0
,
NULL
);
AMBA_DEVICE
(
gpio1
,
"dev:e5"
,
GPIO1
,
NULL
);
AMBA_DEVICE
(
gpio2
,
"dev:e6"
,
GPIO2
,
NULL
);
AMBA_DEVICE
(
gpio0
,
"dev:e4"
,
PB11MP_GPIO0
,
&
gpio0_plat_data
);
AMBA_DEVICE
(
gpio1
,
"dev:e5"
,
GPIO1
,
&
gpio1_plat_data
);
AMBA_DEVICE
(
gpio2
,
"dev:e6"
,
GPIO2
,
&
gpio2_plat_data
);
AMBA_DEVICE
(
rtc
,
"dev:e8"
,
PB11MP_RTC
,
NULL
);
AMBA_DEVICE
(
sci0
,
"dev:f0"
,
SCI
,
NULL
);
AMBA_DEVICE
(
uart0
,
"dev:f1"
,
PB11MP_UART0
,
NULL
);
...
...
arch/arm/mach-realview/realview_pba8.c
View file @
eb7fffa3
...
...
@@ -23,6 +23,7 @@
#include <linux/platform_device.h>
#include <linux/sysdev.h>
#include <linux/amba/bus.h>
#include <linux/amba/pl061.h>
#include <linux/io.h>
#include <asm/irq.h>
...
...
@@ -98,6 +99,21 @@ static void __init realview_pba8_map_io(void)
iotable_init
(
realview_pba8_io_desc
,
ARRAY_SIZE
(
realview_pba8_io_desc
));
}
static
struct
pl061_platform_data
gpio0_plat_data
=
{
.
gpio_base
=
0
,
.
irq_base
=
-
1
,
};
static
struct
pl061_platform_data
gpio1_plat_data
=
{
.
gpio_base
=
8
,
.
irq_base
=
-
1
,
};
static
struct
pl061_platform_data
gpio2_plat_data
=
{
.
gpio_base
=
16
,
.
irq_base
=
-
1
,
};
/*
* RealView PBA8Core AMBA devices
*/
...
...
@@ -156,9 +172,9 @@ AMBA_DEVICE(uart3, "fpga:09", PBA8_UART3, NULL);
AMBA_DEVICE
(
smc
,
"dev:00"
,
PBA8_SMC
,
NULL
);
AMBA_DEVICE
(
sctl
,
"dev:e0"
,
SCTL
,
NULL
);
AMBA_DEVICE
(
wdog
,
"dev:e1"
,
PBA8_WATCHDOG
,
NULL
);
AMBA_DEVICE
(
gpio0
,
"dev:e4"
,
PBA8_GPIO0
,
NULL
);
AMBA_DEVICE
(
gpio1
,
"dev:e5"
,
GPIO1
,
NULL
);
AMBA_DEVICE
(
gpio2
,
"dev:e6"
,
GPIO2
,
NULL
);
AMBA_DEVICE
(
gpio0
,
"dev:e4"
,
PBA8_GPIO0
,
&
gpio0_plat_data
);
AMBA_DEVICE
(
gpio1
,
"dev:e5"
,
GPIO1
,
&
gpio1_plat_data
);
AMBA_DEVICE
(
gpio2
,
"dev:e6"
,
GPIO2
,
&
gpio2_plat_data
);
AMBA_DEVICE
(
rtc
,
"dev:e8"
,
PBA8_RTC
,
NULL
);
AMBA_DEVICE
(
sci0
,
"dev:f0"
,
SCI
,
NULL
);
AMBA_DEVICE
(
uart0
,
"dev:f1"
,
PBA8_UART0
,
NULL
);
...
...
arch/arm/mach-realview/realview_pbx.c
View file @
eb7fffa3
...
...
@@ -22,6 +22,7 @@
#include <linux/platform_device.h>
#include <linux/sysdev.h>
#include <linux/amba/bus.h>
#include <linux/amba/pl061.h>
#include <linux/io.h>
#include <asm/irq.h>
...
...
@@ -118,6 +119,21 @@ static void __init realview_pbx_map_io(void)
iotable_init
(
realview_local_io_desc
,
ARRAY_SIZE
(
realview_local_io_desc
));
}
static
struct
pl061_platform_data
gpio0_plat_data
=
{
.
gpio_base
=
0
,
.
irq_base
=
-
1
,
};
static
struct
pl061_platform_data
gpio1_plat_data
=
{
.
gpio_base
=
8
,
.
irq_base
=
-
1
,
};
static
struct
pl061_platform_data
gpio2_plat_data
=
{
.
gpio_base
=
16
,
.
irq_base
=
-
1
,
};
/*
* RealView PBXCore AMBA devices
*/
...
...
@@ -176,9 +192,9 @@ AMBA_DEVICE(uart3, "fpga:09", PBX_UART3, NULL);
AMBA_DEVICE
(
smc
,
"dev:00"
,
PBX_SMC
,
NULL
);
AMBA_DEVICE
(
sctl
,
"dev:e0"
,
SCTL
,
NULL
);
AMBA_DEVICE
(
wdog
,
"dev:e1"
,
PBX_WATCHDOG
,
NULL
);
AMBA_DEVICE
(
gpio0
,
"dev:e4"
,
PBX_GPIO0
,
NULL
);
AMBA_DEVICE
(
gpio1
,
"dev:e5"
,
GPIO1
,
NULL
);
AMBA_DEVICE
(
gpio2
,
"dev:e6"
,
GPIO2
,
NULL
);
AMBA_DEVICE
(
gpio0
,
"dev:e4"
,
PBX_GPIO0
,
&
gpio0_plat_data
);
AMBA_DEVICE
(
gpio1
,
"dev:e5"
,
GPIO1
,
&
gpio1_plat_data
);
AMBA_DEVICE
(
gpio2
,
"dev:e6"
,
GPIO2
,
&
gpio2_plat_data
);
AMBA_DEVICE
(
rtc
,
"dev:e8"
,
PBX_RTC
,
NULL
);
AMBA_DEVICE
(
sci0
,
"dev:f0"
,
SCI
,
NULL
);
AMBA_DEVICE
(
uart0
,
"dev:f1"
,
PBX_UART0
,
NULL
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment