Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linux-davinci
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
linux
linux-davinci
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
...
@@ -217,6 +217,7 @@ config ARCH_REALVIEW
select ICST307
select ICST307
select GENERIC_TIME
select GENERIC_TIME
select GENERIC_CLOCKEVENTS
select GENERIC_CLOCKEVENTS
select ARCH_WANT_OPTIONAL_GPIOLIB
help
help
This enables support for ARM Ltd RealView boards.
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 @@
...
@@ -23,6 +23,7 @@
#include <linux/platform_device.h>
#include <linux/platform_device.h>
#include <linux/sysdev.h>
#include <linux/sysdev.h>
#include <linux/amba/bus.h>
#include <linux/amba/bus.h>
#include <linux/amba/pl061.h>
#include <linux/io.h>
#include <linux/io.h>
#include <mach/hardware.h>
#include <mach/hardware.h>
...
@@ -113,6 +114,21 @@ static void __init realview_eb_map_io(void)
...
@@ -113,6 +114,21 @@ static void __init realview_eb_map_io(void)
iotable_init
(
realview_eb11mp_io_desc
,
ARRAY_SIZE
(
realview_eb11mp_io_desc
));
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
* RealView EB AMBA devices
*/
*/
...
@@ -189,9 +205,9 @@ AMBA_DEVICE(clcd, "dev:20", EB_CLCD, &clcd_plat_data);
...
@@ -189,9 +205,9 @@ AMBA_DEVICE(clcd, "dev:20", EB_CLCD, &clcd_plat_data);
AMBA_DEVICE
(
dmac
,
"dev:30"
,
DMAC
,
NULL
);
AMBA_DEVICE
(
dmac
,
"dev:30"
,
DMAC
,
NULL
);
AMBA_DEVICE
(
sctl
,
"dev:e0"
,
SCTL
,
NULL
);
AMBA_DEVICE
(
sctl
,
"dev:e0"
,
SCTL
,
NULL
);
AMBA_DEVICE
(
wdog
,
"dev:e1"
,
EB_WATCHDOG
,
NULL
);
AMBA_DEVICE
(
wdog
,
"dev:e1"
,
EB_WATCHDOG
,
NULL
);
AMBA_DEVICE
(
gpio0
,
"dev:e4"
,
EB_GPIO0
,
NULL
);
AMBA_DEVICE
(
gpio0
,
"dev:e4"
,
EB_GPIO0
,
&
gpio0_plat_data
);
AMBA_DEVICE
(
gpio1
,
"dev:e5"
,
GPIO1
,
NULL
);
AMBA_DEVICE
(
gpio1
,
"dev:e5"
,
GPIO1
,
&
gpio1_plat_data
);
AMBA_DEVICE
(
gpio2
,
"dev:e6"
,
GPIO2
,
NULL
);
AMBA_DEVICE
(
gpio2
,
"dev:e6"
,
GPIO2
,
&
gpio2_plat_data
);
AMBA_DEVICE
(
rtc
,
"dev:e8"
,
EB_RTC
,
NULL
);
AMBA_DEVICE
(
rtc
,
"dev:e8"
,
EB_RTC
,
NULL
);
AMBA_DEVICE
(
sci0
,
"dev:f0"
,
SCI
,
NULL
);
AMBA_DEVICE
(
sci0
,
"dev:f0"
,
SCI
,
NULL
);
AMBA_DEVICE
(
uart0
,
"dev:f1"
,
EB_UART0
,
NULL
);
AMBA_DEVICE
(
uart0
,
"dev:f1"
,
EB_UART0
,
NULL
);
...
...
arch/arm/mach-realview/realview_pb1176.c
View file @
eb7fffa3
...
@@ -23,6 +23,7 @@
...
@@ -23,6 +23,7 @@
#include <linux/platform_device.h>
#include <linux/platform_device.h>
#include <linux/sysdev.h>
#include <linux/sysdev.h>
#include <linux/amba/bus.h>
#include <linux/amba/bus.h>
#include <linux/amba/pl061.h>
#include <linux/io.h>
#include <linux/io.h>
#include <mach/hardware.h>
#include <mach/hardware.h>
...
@@ -107,6 +108,21 @@ static void __init realview_pb1176_map_io(void)
...
@@ -107,6 +108,21 @@ static void __init realview_pb1176_map_io(void)
iotable_init
(
realview_pb1176_io_desc
,
ARRAY_SIZE
(
realview_pb1176_io_desc
));
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
* RealView PB1176 AMBA devices
*/
*/
...
@@ -164,9 +180,9 @@ AMBA_DEVICE(uart3, "fpga:09", PB1176_UART3, NULL);
...
@@ -164,9 +180,9 @@ AMBA_DEVICE(uart3, "fpga:09", PB1176_UART3, NULL);
AMBA_DEVICE
(
smc
,
"dev:00"
,
PB1176_SMC
,
NULL
);
AMBA_DEVICE
(
smc
,
"dev:00"
,
PB1176_SMC
,
NULL
);
AMBA_DEVICE
(
sctl
,
"dev:e0"
,
SCTL
,
NULL
);
AMBA_DEVICE
(
sctl
,
"dev:e0"
,
SCTL
,
NULL
);
AMBA_DEVICE
(
wdog
,
"dev:e1"
,
PB1176_WATCHDOG
,
NULL
);
AMBA_DEVICE
(
wdog
,
"dev:e1"
,
PB1176_WATCHDOG
,
NULL
);
AMBA_DEVICE
(
gpio0
,
"dev:e4"
,
PB1176_GPIO0
,
NULL
);
AMBA_DEVICE
(
gpio0
,
"dev:e4"
,
PB1176_GPIO0
,
&
gpio0_plat_data
);
AMBA_DEVICE
(
gpio1
,
"dev:e5"
,
GPIO1
,
NULL
);
AMBA_DEVICE
(
gpio1
,
"dev:e5"
,
GPIO1
,
&
gpio1_plat_data
);
AMBA_DEVICE
(
gpio2
,
"dev:e6"
,
GPIO2
,
NULL
);
AMBA_DEVICE
(
gpio2
,
"dev:e6"
,
GPIO2
,
&
gpio2_plat_data
);
AMBA_DEVICE
(
rtc
,
"dev:e8"
,
PB1176_RTC
,
NULL
);
AMBA_DEVICE
(
rtc
,
"dev:e8"
,
PB1176_RTC
,
NULL
);
AMBA_DEVICE
(
sci0
,
"dev:f0"
,
SCI
,
NULL
);
AMBA_DEVICE
(
sci0
,
"dev:f0"
,
SCI
,
NULL
);
AMBA_DEVICE
(
uart0
,
"dev:f1"
,
PB1176_UART0
,
NULL
);
AMBA_DEVICE
(
uart0
,
"dev:f1"
,
PB1176_UART0
,
NULL
);
...
...
arch/arm/mach-realview/realview_pb11mp.c
View file @
eb7fffa3
...
@@ -23,6 +23,7 @@
...
@@ -23,6 +23,7 @@
#include <linux/platform_device.h>
#include <linux/platform_device.h>
#include <linux/sysdev.h>
#include <linux/sysdev.h>
#include <linux/amba/bus.h>
#include <linux/amba/bus.h>
#include <linux/amba/pl061.h>
#include <linux/io.h>
#include <linux/io.h>
#include <mach/hardware.h>
#include <mach/hardware.h>
...
@@ -108,6 +109,21 @@ static void __init realview_pb11mp_map_io(void)
...
@@ -108,6 +109,21 @@ static void __init realview_pb11mp_map_io(void)
iotable_init
(
realview_pb11mp_io_desc
,
ARRAY_SIZE
(
realview_pb11mp_io_desc
));
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
* RealView PB11MPCore AMBA devices
*/
*/
...
@@ -166,9 +182,9 @@ AMBA_DEVICE(uart3, "fpga:09", PB11MP_UART3, NULL);
...
@@ -166,9 +182,9 @@ AMBA_DEVICE(uart3, "fpga:09", PB11MP_UART3, NULL);
AMBA_DEVICE
(
smc
,
"dev:00"
,
PB11MP_SMC
,
NULL
);
AMBA_DEVICE
(
smc
,
"dev:00"
,
PB11MP_SMC
,
NULL
);
AMBA_DEVICE
(
sctl
,
"dev:e0"
,
SCTL
,
NULL
);
AMBA_DEVICE
(
sctl
,
"dev:e0"
,
SCTL
,
NULL
);
AMBA_DEVICE
(
wdog
,
"dev:e1"
,
PB11MP_WATCHDOG
,
NULL
);
AMBA_DEVICE
(
wdog
,
"dev:e1"
,
PB11MP_WATCHDOG
,
NULL
);
AMBA_DEVICE
(
gpio0
,
"dev:e4"
,
PB11MP_GPIO0
,
NULL
);
AMBA_DEVICE
(
gpio0
,
"dev:e4"
,
PB11MP_GPIO0
,
&
gpio0_plat_data
);
AMBA_DEVICE
(
gpio1
,
"dev:e5"
,
GPIO1
,
NULL
);
AMBA_DEVICE
(
gpio1
,
"dev:e5"
,
GPIO1
,
&
gpio1_plat_data
);
AMBA_DEVICE
(
gpio2
,
"dev:e6"
,
GPIO2
,
NULL
);
AMBA_DEVICE
(
gpio2
,
"dev:e6"
,
GPIO2
,
&
gpio2_plat_data
);
AMBA_DEVICE
(
rtc
,
"dev:e8"
,
PB11MP_RTC
,
NULL
);
AMBA_DEVICE
(
rtc
,
"dev:e8"
,
PB11MP_RTC
,
NULL
);
AMBA_DEVICE
(
sci0
,
"dev:f0"
,
SCI
,
NULL
);
AMBA_DEVICE
(
sci0
,
"dev:f0"
,
SCI
,
NULL
);
AMBA_DEVICE
(
uart0
,
"dev:f1"
,
PB11MP_UART0
,
NULL
);
AMBA_DEVICE
(
uart0
,
"dev:f1"
,
PB11MP_UART0
,
NULL
);
...
...
arch/arm/mach-realview/realview_pba8.c
View file @
eb7fffa3
...
@@ -23,6 +23,7 @@
...
@@ -23,6 +23,7 @@
#include <linux/platform_device.h>
#include <linux/platform_device.h>
#include <linux/sysdev.h>
#include <linux/sysdev.h>
#include <linux/amba/bus.h>
#include <linux/amba/bus.h>
#include <linux/amba/pl061.h>
#include <linux/io.h>
#include <linux/io.h>
#include <asm/irq.h>
#include <asm/irq.h>
...
@@ -98,6 +99,21 @@ static void __init realview_pba8_map_io(void)
...
@@ -98,6 +99,21 @@ static void __init realview_pba8_map_io(void)
iotable_init
(
realview_pba8_io_desc
,
ARRAY_SIZE
(
realview_pba8_io_desc
));
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
* RealView PBA8Core AMBA devices
*/
*/
...
@@ -156,9 +172,9 @@ AMBA_DEVICE(uart3, "fpga:09", PBA8_UART3, NULL);
...
@@ -156,9 +172,9 @@ AMBA_DEVICE(uart3, "fpga:09", PBA8_UART3, NULL);
AMBA_DEVICE
(
smc
,
"dev:00"
,
PBA8_SMC
,
NULL
);
AMBA_DEVICE
(
smc
,
"dev:00"
,
PBA8_SMC
,
NULL
);
AMBA_DEVICE
(
sctl
,
"dev:e0"
,
SCTL
,
NULL
);
AMBA_DEVICE
(
sctl
,
"dev:e0"
,
SCTL
,
NULL
);
AMBA_DEVICE
(
wdog
,
"dev:e1"
,
PBA8_WATCHDOG
,
NULL
);
AMBA_DEVICE
(
wdog
,
"dev:e1"
,
PBA8_WATCHDOG
,
NULL
);
AMBA_DEVICE
(
gpio0
,
"dev:e4"
,
PBA8_GPIO0
,
NULL
);
AMBA_DEVICE
(
gpio0
,
"dev:e4"
,
PBA8_GPIO0
,
&
gpio0_plat_data
);
AMBA_DEVICE
(
gpio1
,
"dev:e5"
,
GPIO1
,
NULL
);
AMBA_DEVICE
(
gpio1
,
"dev:e5"
,
GPIO1
,
&
gpio1_plat_data
);
AMBA_DEVICE
(
gpio2
,
"dev:e6"
,
GPIO2
,
NULL
);
AMBA_DEVICE
(
gpio2
,
"dev:e6"
,
GPIO2
,
&
gpio2_plat_data
);
AMBA_DEVICE
(
rtc
,
"dev:e8"
,
PBA8_RTC
,
NULL
);
AMBA_DEVICE
(
rtc
,
"dev:e8"
,
PBA8_RTC
,
NULL
);
AMBA_DEVICE
(
sci0
,
"dev:f0"
,
SCI
,
NULL
);
AMBA_DEVICE
(
sci0
,
"dev:f0"
,
SCI
,
NULL
);
AMBA_DEVICE
(
uart0
,
"dev:f1"
,
PBA8_UART0
,
NULL
);
AMBA_DEVICE
(
uart0
,
"dev:f1"
,
PBA8_UART0
,
NULL
);
...
...
arch/arm/mach-realview/realview_pbx.c
View file @
eb7fffa3
...
@@ -22,6 +22,7 @@
...
@@ -22,6 +22,7 @@
#include <linux/platform_device.h>
#include <linux/platform_device.h>
#include <linux/sysdev.h>
#include <linux/sysdev.h>
#include <linux/amba/bus.h>
#include <linux/amba/bus.h>
#include <linux/amba/pl061.h>
#include <linux/io.h>
#include <linux/io.h>
#include <asm/irq.h>
#include <asm/irq.h>
...
@@ -118,6 +119,21 @@ static void __init realview_pbx_map_io(void)
...
@@ -118,6 +119,21 @@ static void __init realview_pbx_map_io(void)
iotable_init
(
realview_local_io_desc
,
ARRAY_SIZE
(
realview_local_io_desc
));
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
* RealView PBXCore AMBA devices
*/
*/
...
@@ -176,9 +192,9 @@ AMBA_DEVICE(uart3, "fpga:09", PBX_UART3, NULL);
...
@@ -176,9 +192,9 @@ AMBA_DEVICE(uart3, "fpga:09", PBX_UART3, NULL);
AMBA_DEVICE
(
smc
,
"dev:00"
,
PBX_SMC
,
NULL
);
AMBA_DEVICE
(
smc
,
"dev:00"
,
PBX_SMC
,
NULL
);
AMBA_DEVICE
(
sctl
,
"dev:e0"
,
SCTL
,
NULL
);
AMBA_DEVICE
(
sctl
,
"dev:e0"
,
SCTL
,
NULL
);
AMBA_DEVICE
(
wdog
,
"dev:e1"
,
PBX_WATCHDOG
,
NULL
);
AMBA_DEVICE
(
wdog
,
"dev:e1"
,
PBX_WATCHDOG
,
NULL
);
AMBA_DEVICE
(
gpio0
,
"dev:e4"
,
PBX_GPIO0
,
NULL
);
AMBA_DEVICE
(
gpio0
,
"dev:e4"
,
PBX_GPIO0
,
&
gpio0_plat_data
);
AMBA_DEVICE
(
gpio1
,
"dev:e5"
,
GPIO1
,
NULL
);
AMBA_DEVICE
(
gpio1
,
"dev:e5"
,
GPIO1
,
&
gpio1_plat_data
);
AMBA_DEVICE
(
gpio2
,
"dev:e6"
,
GPIO2
,
NULL
);
AMBA_DEVICE
(
gpio2
,
"dev:e6"
,
GPIO2
,
&
gpio2_plat_data
);
AMBA_DEVICE
(
rtc
,
"dev:e8"
,
PBX_RTC
,
NULL
);
AMBA_DEVICE
(
rtc
,
"dev:e8"
,
PBX_RTC
,
NULL
);
AMBA_DEVICE
(
sci0
,
"dev:f0"
,
SCI
,
NULL
);
AMBA_DEVICE
(
sci0
,
"dev:f0"
,
SCI
,
NULL
);
AMBA_DEVICE
(
uart0
,
"dev:f1"
,
PBX_UART0
,
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