aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-ks8695/devices.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-12-30 20:36:49 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2008-12-30 20:36:49 -0500
commit14a3c4ab0e58d143c7928c9eb2f2610205e13bf2 (patch)
tree885992999d7a1a2fd3586efcf32ebcbcbc3a72aa /arch/arm/mach-ks8695/devices.c
parent1af237a099a3b8ff56aa384f605c6a68af7bf288 (diff)
parent47992cbdaef2f18a47871b2ed01ad27f568c8b73 (diff)
Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm
* 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (407 commits) [ARM] pxafb: add support for overlay1 and overlay2 as framebuffer devices [ARM] pxafb: cleanup of the timing checking code [ARM] pxafb: cleanup of the color format manipulation code [ARM] pxafb: add palette format support for LCCR4_PAL_FOR_3 [ARM] pxafb: add support for FBIOPAN_DISPLAY by dma braching [ARM] pxafb: allow pxafb_set_par() to start from arbitrary yoffset [ARM] pxafb: allow video memory size to be configurable [ARM] pxa: add document on the MFP design and how to use it [ARM] sa1100_wdt: don't assume CLOCK_TICK_RATE to be a constant [ARM] rtc-sa1100: don't assume CLOCK_TICK_RATE to be a constant [ARM] pxa/tavorevb: update board support (smartpanel LCD + keypad) [ARM] pxa: Update eseries defconfig [ARM] 5352/1: add w90p910-plat config file [ARM] s3c: S3C options should depend on PLAT_S3C [ARM] mv78xx0: implement GPIO and GPIO interrupt support [ARM] Kirkwood: implement GPIO and GPIO interrupt support [ARM] Orion: share GPIO IRQ handling code [ARM] Orion: share GPIO handling code [ARM] s3c: define __io using the typesafe version [ARM] S3C64XX: Ensure CPU_V6 is selected ...
Diffstat (limited to 'arch/arm/mach-ks8695/devices.c')
-rw-r--r--arch/arm/mach-ks8695/devices.c38
1 files changed, 21 insertions, 17 deletions
diff --git a/arch/arm/mach-ks8695/devices.c b/arch/arm/mach-ks8695/devices.c
index 4bd251482c8f..36ab0fd3d9b6 100644
--- a/arch/arm/mach-ks8695/devices.c
+++ b/arch/arm/mach-ks8695/devices.c
@@ -25,19 +25,20 @@
25#include <mach/regs-wan.h> 25#include <mach/regs-wan.h>
26#include <mach/regs-lan.h> 26#include <mach/regs-lan.h>
27#include <mach/regs-hpna.h> 27#include <mach/regs-hpna.h>
28#include <mach/regs-switch.h>
29#include <mach/regs-misc.h>
28 30
29 31
30/* -------------------------------------------------------------------- 32/* --------------------------------------------------------------------
31 * Ethernet 33 * Ethernet
32 * -------------------------------------------------------------------- */ 34 * -------------------------------------------------------------------- */
33 35
34#if defined(CONFIG_ARM_KS8695_ETHER) || defined(CONFIG_ARM_KS8695_ETHER_MODULE)
35static u64 eth_dmamask = 0xffffffffUL; 36static u64 eth_dmamask = 0xffffffffUL;
36 37
37static struct resource ks8695_wan_resources[] = { 38static struct resource ks8695_wan_resources[] = {
38 [0] = { 39 [0] = {
39 .start = KS8695_WAN_VA, 40 .start = KS8695_WAN_PA,
40 .end = KS8695_WAN_VA + 0x00ff, 41 .end = KS8695_WAN_PA + 0x00ff,
41 .flags = IORESOURCE_MEM, 42 .flags = IORESOURCE_MEM,
42 }, 43 },
43 [1] = { 44 [1] = {
@@ -58,6 +59,12 @@ static struct resource ks8695_wan_resources[] = {
58 .end = KS8695_IRQ_WAN_LINK, 59 .end = KS8695_IRQ_WAN_LINK,
59 .flags = IORESOURCE_IRQ, 60 .flags = IORESOURCE_IRQ,
60 }, 61 },
62 [4] = {
63 .name = "WAN PHY",
64 .start = KS8695_MISC_PA,
65 .end = KS8695_MISC_PA + 0x1f,
66 .flags = IORESOURCE_MEM,
67 },
61}; 68};
62 69
63static struct platform_device ks8695_wan_device = { 70static struct platform_device ks8695_wan_device = {
@@ -74,8 +81,8 @@ static struct platform_device ks8695_wan_device = {
74 81
75static struct resource ks8695_lan_resources[] = { 82static struct resource ks8695_lan_resources[] = {
76 [0] = { 83 [0] = {
77 .start = KS8695_LAN_VA, 84 .start = KS8695_LAN_PA,
78 .end = KS8695_LAN_VA + 0x00ff, 85 .end = KS8695_LAN_PA + 0x00ff,
79 .flags = IORESOURCE_MEM, 86 .flags = IORESOURCE_MEM,
80 }, 87 },
81 [1] = { 88 [1] = {
@@ -90,6 +97,12 @@ static struct resource ks8695_lan_resources[] = {
90 .end = KS8695_IRQ_LAN_TX_STATUS, 97 .end = KS8695_IRQ_LAN_TX_STATUS,
91 .flags = IORESOURCE_IRQ, 98 .flags = IORESOURCE_IRQ,
92 }, 99 },
100 [3] = {
101 .name = "LAN SWITCH",
102 .start = KS8695_SWITCH_PA,
103 .end = KS8695_SWITCH_PA + 0x4f,
104 .flags = IORESOURCE_MEM,
105 },
93}; 106};
94 107
95static struct platform_device ks8695_lan_device = { 108static struct platform_device ks8695_lan_device = {
@@ -106,8 +119,8 @@ static struct platform_device ks8695_lan_device = {
106 119
107static struct resource ks8695_hpna_resources[] = { 120static struct resource ks8695_hpna_resources[] = {
108 [0] = { 121 [0] = {
109 .start = KS8695_HPNA_VA, 122 .start = KS8695_HPNA_PA,
110 .end = KS8695_HPNA_VA + 0x00ff, 123 .end = KS8695_HPNA_PA + 0x00ff,
111 .flags = IORESOURCE_MEM, 124 .flags = IORESOURCE_MEM,
112 }, 125 },
113 [1] = { 126 [1] = {
@@ -149,18 +162,12 @@ void __init ks8696_add_device_hpna(void)
149{ 162{
150 platform_device_register(&ks8695_hpna_device); 163 platform_device_register(&ks8695_hpna_device);
151} 164}
152#else
153void __init ks8695_add_device_wan(void) {}
154void __init ks8695_add_device_lan(void) {}
155void __init ks8696_add_device_hpna(void) {}
156#endif
157 165
158 166
159/* -------------------------------------------------------------------- 167/* --------------------------------------------------------------------
160 * Watchdog 168 * Watchdog
161 * -------------------------------------------------------------------- */ 169 * -------------------------------------------------------------------- */
162 170
163#if defined(CONFIG_KS8695_WATCHDOG) || defined(CONFIG_KS8695_WATCHDOG_MODULE)
164static struct platform_device ks8695_wdt_device = { 171static struct platform_device ks8695_wdt_device = {
165 .name = "ks8695_wdt", 172 .name = "ks8695_wdt",
166 .id = -1, 173 .id = -1,
@@ -171,9 +178,6 @@ static void __init ks8695_add_device_watchdog(void)
171{ 178{
172 platform_device_register(&ks8695_wdt_device); 179 platform_device_register(&ks8695_wdt_device);
173} 180}
174#else
175static void __init ks8695_add_device_watchdog(void) {}
176#endif
177 181
178 182
179/* -------------------------------------------------------------------- 183/* --------------------------------------------------------------------
@@ -190,7 +194,7 @@ void __init ks8695_init_leds(u8 cpu_led, u8 timer_led)
190 gpio_direction_output(cpu_led, 1); 194 gpio_direction_output(cpu_led, 1);
191 gpio_direction_output(timer_led, 1); 195 gpio_direction_output(timer_led, 1);
192 196
193 ks8695_leds_cpu = cpu_led; 197 ks8695_leds_cpu = cpu_led;
194 ks8695_leds_timer = timer_led; 198 ks8695_leds_timer = timer_led;
195} 199}
196#else 200#else