diff options
Diffstat (limited to 'arch/sh')
-rw-r--r-- | arch/sh/Kconfig | 2 | ||||
-rw-r--r-- | arch/sh/boards/board-ap325rxa.c | 52 | ||||
-rw-r--r-- | arch/sh/boards/board-sh7785lcr.c | 14 | ||||
-rw-r--r-- | arch/sh/boards/mach-highlander/setup.c | 64 | ||||
-rw-r--r-- | arch/sh/boards/mach-migor/setup.c | 79 | ||||
-rw-r--r-- | arch/sh/boards/mach-rsk/devices-rsk7203.c | 8 | ||||
-rw-r--r-- | arch/sh/boards/mach-x3proto/setup.c | 12 | ||||
-rw-r--r-- | arch/sh/configs/r7780mp_defconfig | 143 | ||||
-rw-r--r-- | arch/sh/include/asm/atomic.h | 2 | ||||
-rw-r--r-- | arch/sh/include/asm/kmap_types.h | 24 | ||||
-rw-r--r-- | arch/sh/include/asm/perf_counter.h | 7 | ||||
-rw-r--r-- | arch/sh/include/mach-common/mach/highlander.h | 3 | ||||
-rw-r--r-- | arch/sh/kernel/cpu/clock-cpg.c | 16 | ||||
-rw-r--r-- | arch/sh/kernel/cpu/sh4a/setup-sh7366.c | 10 | ||||
-rw-r--r-- | arch/sh/kernel/cpu/sh4a/setup-sh7723.c | 9 | ||||
-rw-r--r-- | arch/sh/kernel/init_task.c | 3 | ||||
-rw-r--r-- | arch/sh/kernel/traps.c | 1 |
17 files changed, 329 insertions, 120 deletions
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig index 739a12d2ffb9..ac1c620d1c7d 100644 --- a/arch/sh/Kconfig +++ b/arch/sh/Kconfig | |||
@@ -15,7 +15,9 @@ config SUPERH | |||
15 | select HAVE_IOREMAP_PROT if MMU | 15 | select HAVE_IOREMAP_PROT if MMU |
16 | select HAVE_ARCH_TRACEHOOK | 16 | select HAVE_ARCH_TRACEHOOK |
17 | select HAVE_DMA_API_DEBUG | 17 | select HAVE_DMA_API_DEBUG |
18 | select HAVE_PERF_COUNTER | ||
18 | select RTC_LIB | 19 | select RTC_LIB |
20 | select GENERIC_ATOMIC64 | ||
19 | help | 21 | help |
20 | The SuperH is a RISC processor targeted for use in embedded systems | 22 | The SuperH is a RISC processor targeted for use in embedded systems |
21 | and consumer electronics; it was also used in the Sega Dreamcast | 23 | and consumer electronics; it was also used in the Sega Dreamcast |
diff --git a/arch/sh/boards/board-ap325rxa.c b/arch/sh/boards/board-ap325rxa.c index 1c4d83ef2a47..7ffd1b4315bd 100644 --- a/arch/sh/boards/board-ap325rxa.c +++ b/arch/sh/boards/board-ap325rxa.c | |||
@@ -349,15 +349,6 @@ static int ov7725_power(struct device *dev, int mode) | |||
349 | return 0; | 349 | return 0; |
350 | } | 350 | } |
351 | 351 | ||
352 | static struct ov772x_camera_info ov7725_info = { | ||
353 | .buswidth = SOCAM_DATAWIDTH_8, | ||
354 | .flags = OV772X_FLAG_VFLIP | OV772X_FLAG_HFLIP, | ||
355 | .edgectrl = OV772X_AUTO_EDGECTRL(0xf, 0), | ||
356 | .link = { | ||
357 | .power = ov7725_power, | ||
358 | }, | ||
359 | }; | ||
360 | |||
361 | static struct sh_mobile_ceu_info sh_mobile_ceu_info = { | 352 | static struct sh_mobile_ceu_info sh_mobile_ceu_info = { |
362 | .flags = SH_CEU_FLAG_USE_8BIT_BUS, | 353 | .flags = SH_CEU_FLAG_USE_8BIT_BUS, |
363 | }; | 354 | }; |
@@ -402,25 +393,48 @@ static struct platform_device sdcard_cn3_device = { | |||
402 | }, | 393 | }, |
403 | }; | 394 | }; |
404 | 395 | ||
405 | static struct platform_device *ap325rxa_devices[] __initdata = { | ||
406 | &smsc9118_device, | ||
407 | &ap325rxa_nor_flash_device, | ||
408 | &lcdc_device, | ||
409 | &ceu_device, | ||
410 | &nand_flash_device, | ||
411 | &sdcard_cn3_device, | ||
412 | }; | ||
413 | |||
414 | static struct i2c_board_info __initdata ap325rxa_i2c_devices[] = { | 396 | static struct i2c_board_info __initdata ap325rxa_i2c_devices[] = { |
415 | { | 397 | { |
416 | I2C_BOARD_INFO("pcf8563", 0x51), | 398 | I2C_BOARD_INFO("pcf8563", 0x51), |
417 | }, | 399 | }, |
400 | }; | ||
401 | |||
402 | static struct i2c_board_info ap325rxa_i2c_camera[] = { | ||
418 | { | 403 | { |
419 | I2C_BOARD_INFO("ov772x", 0x21), | 404 | I2C_BOARD_INFO("ov772x", 0x21), |
420 | .platform_data = &ov7725_info, | ||
421 | }, | 405 | }, |
422 | }; | 406 | }; |
423 | 407 | ||
408 | static struct ov772x_camera_info ov7725_info = { | ||
409 | .buswidth = SOCAM_DATAWIDTH_8, | ||
410 | .flags = OV772X_FLAG_VFLIP | OV772X_FLAG_HFLIP, | ||
411 | .edgectrl = OV772X_AUTO_EDGECTRL(0xf, 0), | ||
412 | .link = { | ||
413 | .power = ov7725_power, | ||
414 | .board_info = &ap325rxa_i2c_camera[0], | ||
415 | .i2c_adapter_id = 0, | ||
416 | .module_name = "ov772x", | ||
417 | }, | ||
418 | }; | ||
419 | |||
420 | static struct platform_device ap325rxa_camera = { | ||
421 | .name = "soc-camera-pdrv", | ||
422 | .id = 0, | ||
423 | .dev = { | ||
424 | .platform_data = &ov7725_info.link, | ||
425 | }, | ||
426 | }; | ||
427 | |||
428 | static struct platform_device *ap325rxa_devices[] __initdata = { | ||
429 | &smsc9118_device, | ||
430 | &ap325rxa_nor_flash_device, | ||
431 | &lcdc_device, | ||
432 | &ceu_device, | ||
433 | &nand_flash_device, | ||
434 | &sdcard_cn3_device, | ||
435 | &ap325rxa_camera, | ||
436 | }; | ||
437 | |||
424 | static struct spi_board_info ap325rxa_spi_devices[] = { | 438 | static struct spi_board_info ap325rxa_spi_devices[] = { |
425 | { | 439 | { |
426 | .modalias = "mmc_spi", | 440 | .modalias = "mmc_spi", |
diff --git a/arch/sh/boards/board-sh7785lcr.c b/arch/sh/boards/board-sh7785lcr.c index 7be56fb06c1f..42410a15d255 100644 --- a/arch/sh/boards/board-sh7785lcr.c +++ b/arch/sh/boards/board-sh7785lcr.c | |||
@@ -15,16 +15,18 @@ | |||
15 | #include <linux/fb.h> | 15 | #include <linux/fb.h> |
16 | #include <linux/mtd/physmap.h> | 16 | #include <linux/mtd/physmap.h> |
17 | #include <linux/delay.h> | 17 | #include <linux/delay.h> |
18 | #include <linux/interrupt.h> | ||
18 | #include <linux/i2c.h> | 19 | #include <linux/i2c.h> |
19 | #include <linux/i2c-pca-platform.h> | 20 | #include <linux/i2c-pca-platform.h> |
20 | #include <linux/i2c-algo-pca.h> | 21 | #include <linux/i2c-algo-pca.h> |
22 | #include <linux/usb/r8a66597.h> | ||
21 | #include <linux/irq.h> | 23 | #include <linux/irq.h> |
22 | #include <linux/clk.h> | 24 | #include <linux/clk.h> |
23 | #include <linux/errno.h> | 25 | #include <linux/errno.h> |
24 | #include <mach/sh7785lcr.h> | 26 | #include <mach/sh7785lcr.h> |
27 | #include <cpu/sh7785.h> | ||
25 | #include <asm/heartbeat.h> | 28 | #include <asm/heartbeat.h> |
26 | #include <asm/clock.h> | 29 | #include <asm/clock.h> |
27 | #include <cpu/sh7785.h> | ||
28 | 30 | ||
29 | /* | 31 | /* |
30 | * NOTE: This board has 2 physical memory maps. | 32 | * NOTE: This board has 2 physical memory maps. |
@@ -98,18 +100,21 @@ static struct platform_device nor_flash_device = { | |||
98 | .resource = nor_flash_resources, | 100 | .resource = nor_flash_resources, |
99 | }; | 101 | }; |
100 | 102 | ||
103 | static struct r8a66597_platdata r8a66597_data = { | ||
104 | .xtal = R8A66597_PLATDATA_XTAL_12MHZ, | ||
105 | .vif = 1, | ||
106 | }; | ||
107 | |||
101 | static struct resource r8a66597_usb_host_resources[] = { | 108 | static struct resource r8a66597_usb_host_resources[] = { |
102 | [0] = { | 109 | [0] = { |
103 | .name = "r8a66597_hcd", | ||
104 | .start = R8A66597_ADDR, | 110 | .start = R8A66597_ADDR, |
105 | .end = R8A66597_ADDR + R8A66597_SIZE - 1, | 111 | .end = R8A66597_ADDR + R8A66597_SIZE - 1, |
106 | .flags = IORESOURCE_MEM, | 112 | .flags = IORESOURCE_MEM, |
107 | }, | 113 | }, |
108 | [1] = { | 114 | [1] = { |
109 | .name = "r8a66597_hcd", | ||
110 | .start = 2, | 115 | .start = 2, |
111 | .end = 2, | 116 | .end = 2, |
112 | .flags = IORESOURCE_IRQ, | 117 | .flags = IORESOURCE_IRQ | IRQF_TRIGGER_LOW, |
113 | }, | 118 | }, |
114 | }; | 119 | }; |
115 | 120 | ||
@@ -119,6 +124,7 @@ static struct platform_device r8a66597_usb_host_device = { | |||
119 | .dev = { | 124 | .dev = { |
120 | .dma_mask = NULL, | 125 | .dma_mask = NULL, |
121 | .coherent_dma_mask = 0xffffffff, | 126 | .coherent_dma_mask = 0xffffffff, |
127 | .platform_data = &r8a66597_data, | ||
122 | }, | 128 | }, |
123 | .num_resources = ARRAY_SIZE(r8a66597_usb_host_resources), | 129 | .num_resources = ARRAY_SIZE(r8a66597_usb_host_resources), |
124 | .resource = r8a66597_usb_host_resources, | 130 | .resource = r8a66597_usb_host_resources, |
diff --git a/arch/sh/boards/mach-highlander/setup.c b/arch/sh/boards/mach-highlander/setup.c index 20fe72c515d5..1639f8915000 100644 --- a/arch/sh/boards/mach-highlander/setup.c +++ b/arch/sh/boards/mach-highlander/setup.c | |||
@@ -17,8 +17,11 @@ | |||
17 | #include <linux/platform_device.h> | 17 | #include <linux/platform_device.h> |
18 | #include <linux/ata_platform.h> | 18 | #include <linux/ata_platform.h> |
19 | #include <linux/types.h> | 19 | #include <linux/types.h> |
20 | #include <linux/mtd/physmap.h> | ||
20 | #include <linux/i2c.h> | 21 | #include <linux/i2c.h> |
21 | #include <linux/irq.h> | 22 | #include <linux/irq.h> |
23 | #include <linux/interrupt.h> | ||
24 | #include <linux/usb/r8a66597.h> | ||
22 | #include <net/ax88796.h> | 25 | #include <net/ax88796.h> |
23 | #include <asm/machvec.h> | 26 | #include <asm/machvec.h> |
24 | #include <mach/highlander.h> | 27 | #include <mach/highlander.h> |
@@ -27,18 +30,21 @@ | |||
27 | #include <asm/io.h> | 30 | #include <asm/io.h> |
28 | #include <asm/io_trapped.h> | 31 | #include <asm/io_trapped.h> |
29 | 32 | ||
33 | static struct r8a66597_platdata r8a66597_data = { | ||
34 | .xtal = R8A66597_PLATDATA_XTAL_12MHZ, | ||
35 | .vif = 1, | ||
36 | }; | ||
37 | |||
30 | static struct resource r8a66597_usb_host_resources[] = { | 38 | static struct resource r8a66597_usb_host_resources[] = { |
31 | [0] = { | 39 | [0] = { |
32 | .name = "r8a66597_hcd", | ||
33 | .start = 0xA4200000, | 40 | .start = 0xA4200000, |
34 | .end = 0xA42000FF, | 41 | .end = 0xA42000FF, |
35 | .flags = IORESOURCE_MEM, | 42 | .flags = IORESOURCE_MEM, |
36 | }, | 43 | }, |
37 | [1] = { | 44 | [1] = { |
38 | .name = "r8a66597_hcd", | ||
39 | .start = IRQ_EXT1, /* irq number */ | 45 | .start = IRQ_EXT1, /* irq number */ |
40 | .end = IRQ_EXT1, | 46 | .end = IRQ_EXT1, |
41 | .flags = IORESOURCE_IRQ, | 47 | .flags = IORESOURCE_IRQ | IRQF_TRIGGER_LOW, |
42 | }, | 48 | }, |
43 | }; | 49 | }; |
44 | 50 | ||
@@ -48,6 +54,7 @@ static struct platform_device r8a66597_usb_host_device = { | |||
48 | .dev = { | 54 | .dev = { |
49 | .dma_mask = NULL, /* don't use dma */ | 55 | .dma_mask = NULL, /* don't use dma */ |
50 | .coherent_dma_mask = 0xffffffff, | 56 | .coherent_dma_mask = 0xffffffff, |
57 | .platform_data = &r8a66597_data, | ||
51 | }, | 58 | }, |
52 | .num_resources = ARRAY_SIZE(r8a66597_usb_host_resources), | 59 | .num_resources = ARRAY_SIZE(r8a66597_usb_host_resources), |
53 | .resource = r8a66597_usb_host_resources, | 60 | .resource = r8a66597_usb_host_resources, |
@@ -178,6 +185,53 @@ static struct platform_device ax88796_device = { | |||
178 | .resource = ax88796_resources, | 185 | .resource = ax88796_resources, |
179 | }; | 186 | }; |
180 | 187 | ||
188 | static struct mtd_partition nor_flash_partitions[] = { | ||
189 | { | ||
190 | .name = "loader", | ||
191 | .offset = 0x00000000, | ||
192 | .size = 512 * 1024, | ||
193 | }, | ||
194 | { | ||
195 | .name = "bootenv", | ||
196 | .offset = MTDPART_OFS_APPEND, | ||
197 | .size = 512 * 1024, | ||
198 | }, | ||
199 | { | ||
200 | .name = "kernel", | ||
201 | .offset = MTDPART_OFS_APPEND, | ||
202 | .size = 4 * 1024 * 1024, | ||
203 | }, | ||
204 | { | ||
205 | .name = "data", | ||
206 | .offset = MTDPART_OFS_APPEND, | ||
207 | .size = MTDPART_SIZ_FULL, | ||
208 | }, | ||
209 | }; | ||
210 | |||
211 | static struct physmap_flash_data nor_flash_data = { | ||
212 | .width = 4, | ||
213 | .parts = nor_flash_partitions, | ||
214 | .nr_parts = ARRAY_SIZE(nor_flash_partitions), | ||
215 | }; | ||
216 | |||
217 | /* This config is flash board for mass production. */ | ||
218 | static struct resource nor_flash_resources[] = { | ||
219 | [0] = { | ||
220 | .start = PA_NORFLASH_ADDR, | ||
221 | .end = PA_NORFLASH_ADDR + PA_NORFLASH_SIZE - 1, | ||
222 | .flags = IORESOURCE_MEM, | ||
223 | } | ||
224 | }; | ||
225 | |||
226 | static struct platform_device nor_flash_device = { | ||
227 | .name = "physmap-flash", | ||
228 | .dev = { | ||
229 | .platform_data = &nor_flash_data, | ||
230 | }, | ||
231 | .num_resources = ARRAY_SIZE(nor_flash_resources), | ||
232 | .resource = nor_flash_resources, | ||
233 | }; | ||
234 | |||
181 | static struct resource smbus_resources[] = { | 235 | static struct resource smbus_resources[] = { |
182 | [0] = { | 236 | [0] = { |
183 | .start = PA_SMCR, | 237 | .start = PA_SMCR, |
@@ -209,6 +263,7 @@ static struct platform_device *r7780rp_devices[] __initdata = { | |||
209 | &m66592_usb_peripheral_device, | 263 | &m66592_usb_peripheral_device, |
210 | &heartbeat_device, | 264 | &heartbeat_device, |
211 | &smbus_device, | 265 | &smbus_device, |
266 | &nor_flash_device, | ||
212 | #ifndef CONFIG_SH_R7780RP | 267 | #ifndef CONFIG_SH_R7780RP |
213 | &ax88796_device, | 268 | &ax88796_device, |
214 | #endif | 269 | #endif |
@@ -247,9 +302,10 @@ device_initcall(r7780rp_devices_setup); | |||
247 | /* | 302 | /* |
248 | * Platform specific clocks | 303 | * Platform specific clocks |
249 | */ | 304 | */ |
250 | static void ivdr_clk_enable(struct clk *clk) | 305 | static int ivdr_clk_enable(struct clk *clk) |
251 | { | 306 | { |
252 | ctrl_outw(ctrl_inw(PA_IVDRCTL) | (1 << IVDR_CK_ON), PA_IVDRCTL); | 307 | ctrl_outw(ctrl_inw(PA_IVDRCTL) | (1 << IVDR_CK_ON), PA_IVDRCTL); |
308 | return 0; | ||
253 | } | 309 | } |
254 | 310 | ||
255 | static void ivdr_clk_disable(struct clk *clk) | 311 | static void ivdr_clk_disable(struct clk *clk) |
diff --git a/arch/sh/boards/mach-migor/setup.c b/arch/sh/boards/mach-migor/setup.c index 6ed401cd3156..f70f4644deb4 100644 --- a/arch/sh/boards/mach-migor/setup.c +++ b/arch/sh/boards/mach-migor/setup.c | |||
@@ -381,21 +381,6 @@ static struct platform_device migor_ceu_device = { | |||
381 | }, | 381 | }, |
382 | }; | 382 | }; |
383 | 383 | ||
384 | static struct ov772x_camera_info ov7725_info = { | ||
385 | .buswidth = SOCAM_DATAWIDTH_8, | ||
386 | .link = { | ||
387 | .power = ov7725_power, | ||
388 | }, | ||
389 | }; | ||
390 | |||
391 | static struct tw9910_video_info tw9910_info = { | ||
392 | .buswidth = SOCAM_DATAWIDTH_8, | ||
393 | .mpout = TW9910_MPO_FIELD, | ||
394 | .link = { | ||
395 | .power = tw9910_power, | ||
396 | } | ||
397 | }; | ||
398 | |||
399 | struct spi_gpio_platform_data sdcard_cn9_platform_data = { | 384 | struct spi_gpio_platform_data sdcard_cn9_platform_data = { |
400 | .sck = GPIO_PTD0, | 385 | .sck = GPIO_PTD0, |
401 | .mosi = GPIO_PTD1, | 386 | .mosi = GPIO_PTD1, |
@@ -410,16 +395,6 @@ static struct platform_device sdcard_cn9_device = { | |||
410 | }, | 395 | }, |
411 | }; | 396 | }; |
412 | 397 | ||
413 | static struct platform_device *migor_devices[] __initdata = { | ||
414 | &smc91x_eth_device, | ||
415 | &sh_keysc_device, | ||
416 | &migor_lcdc_device, | ||
417 | &migor_ceu_device, | ||
418 | &migor_nor_flash_device, | ||
419 | &migor_nand_flash_device, | ||
420 | &sdcard_cn9_device, | ||
421 | }; | ||
422 | |||
423 | static struct i2c_board_info migor_i2c_devices[] = { | 398 | static struct i2c_board_info migor_i2c_devices[] = { |
424 | { | 399 | { |
425 | I2C_BOARD_INFO("rs5c372b", 0x32), | 400 | I2C_BOARD_INFO("rs5c372b", 0x32), |
@@ -428,16 +403,66 @@ static struct i2c_board_info migor_i2c_devices[] = { | |||
428 | I2C_BOARD_INFO("migor_ts", 0x51), | 403 | I2C_BOARD_INFO("migor_ts", 0x51), |
429 | .irq = 38, /* IRQ6 */ | 404 | .irq = 38, /* IRQ6 */ |
430 | }, | 405 | }, |
406 | }; | ||
407 | |||
408 | static struct i2c_board_info migor_i2c_camera[] = { | ||
431 | { | 409 | { |
432 | I2C_BOARD_INFO("ov772x", 0x21), | 410 | I2C_BOARD_INFO("ov772x", 0x21), |
433 | .platform_data = &ov7725_info, | ||
434 | }, | 411 | }, |
435 | { | 412 | { |
436 | I2C_BOARD_INFO("tw9910", 0x45), | 413 | I2C_BOARD_INFO("tw9910", 0x45), |
437 | .platform_data = &tw9910_info, | ||
438 | }, | 414 | }, |
439 | }; | 415 | }; |
440 | 416 | ||
417 | static struct ov772x_camera_info ov7725_info = { | ||
418 | .buswidth = SOCAM_DATAWIDTH_8, | ||
419 | .link = { | ||
420 | .power = ov7725_power, | ||
421 | .board_info = &migor_i2c_camera[0], | ||
422 | .i2c_adapter_id = 0, | ||
423 | .module_name = "ov772x", | ||
424 | }, | ||
425 | }; | ||
426 | |||
427 | static struct tw9910_video_info tw9910_info = { | ||
428 | .buswidth = SOCAM_DATAWIDTH_8, | ||
429 | .mpout = TW9910_MPO_FIELD, | ||
430 | .link = { | ||
431 | .power = tw9910_power, | ||
432 | .board_info = &migor_i2c_camera[1], | ||
433 | .i2c_adapter_id = 0, | ||
434 | .module_name = "tw9910", | ||
435 | } | ||
436 | }; | ||
437 | |||
438 | static struct platform_device migor_camera[] = { | ||
439 | { | ||
440 | .name = "soc-camera-pdrv", | ||
441 | .id = 0, | ||
442 | .dev = { | ||
443 | .platform_data = &ov7725_info.link, | ||
444 | }, | ||
445 | }, { | ||
446 | .name = "soc-camera-pdrv", | ||
447 | .id = 1, | ||
448 | .dev = { | ||
449 | .platform_data = &tw9910_info.link, | ||
450 | }, | ||
451 | }, | ||
452 | }; | ||
453 | |||
454 | static struct platform_device *migor_devices[] __initdata = { | ||
455 | &smc91x_eth_device, | ||
456 | &sh_keysc_device, | ||
457 | &migor_lcdc_device, | ||
458 | &migor_ceu_device, | ||
459 | &migor_nor_flash_device, | ||
460 | &migor_nand_flash_device, | ||
461 | &sdcard_cn9_device, | ||
462 | &migor_camera[0], | ||
463 | &migor_camera[1], | ||
464 | }; | ||
465 | |||
441 | static struct spi_board_info migor_spi_devices[] = { | 466 | static struct spi_board_info migor_spi_devices[] = { |
442 | { | 467 | { |
443 | .modalias = "mmc_spi", | 468 | .modalias = "mmc_spi", |
diff --git a/arch/sh/boards/mach-rsk/devices-rsk7203.c b/arch/sh/boards/mach-rsk/devices-rsk7203.c index d8a65ea91665..4af3a771c058 100644 --- a/arch/sh/boards/mach-rsk/devices-rsk7203.c +++ b/arch/sh/boards/mach-rsk/devices-rsk7203.c | |||
@@ -26,13 +26,13 @@ static struct smsc911x_platform_config smsc911x_config = { | |||
26 | .phy_interface = PHY_INTERFACE_MODE_MII, | 26 | .phy_interface = PHY_INTERFACE_MODE_MII, |
27 | .irq_polarity = SMSC911X_IRQ_POLARITY_ACTIVE_LOW, | 27 | .irq_polarity = SMSC911X_IRQ_POLARITY_ACTIVE_LOW, |
28 | .irq_type = SMSC911X_IRQ_TYPE_OPEN_DRAIN, | 28 | .irq_type = SMSC911X_IRQ_TYPE_OPEN_DRAIN, |
29 | .flags = SMSC911X_USE_16BIT, | 29 | .flags = SMSC911X_USE_32BIT | SMSC911X_SWAP_FIFO, |
30 | }; | 30 | }; |
31 | 31 | ||
32 | static struct resource smsc911x_resources[] = { | 32 | static struct resource smsc911x_resources[] = { |
33 | [0] = { | 33 | [0] = { |
34 | .start = 0x24000000, | 34 | .start = 0x24000000, |
35 | .end = 0x24000000 + 0x100, | 35 | .end = 0x240000ff, |
36 | .flags = IORESOURCE_MEM, | 36 | .flags = IORESOURCE_MEM, |
37 | }, | 37 | }, |
38 | [1] = { | 38 | [1] = { |
@@ -99,6 +99,10 @@ static int __init rsk7203_devices_setup(void) | |||
99 | gpio_request(GPIO_FN_TXD0, NULL); | 99 | gpio_request(GPIO_FN_TXD0, NULL); |
100 | gpio_request(GPIO_FN_RXD0, NULL); | 100 | gpio_request(GPIO_FN_RXD0, NULL); |
101 | 101 | ||
102 | /* Setup LAN9118: CS1 in 16-bit Big Endian Mode, IRQ0 at Port B */ | ||
103 | ctrl_outl(0x36db0400, 0xfffc0008); /* CS1BCR */ | ||
104 | gpio_request(GPIO_FN_IRQ0_PB, NULL); | ||
105 | |||
102 | return platform_add_devices(rsk7203_devices, | 106 | return platform_add_devices(rsk7203_devices, |
103 | ARRAY_SIZE(rsk7203_devices)); | 107 | ARRAY_SIZE(rsk7203_devices)); |
104 | } | 108 | } |
diff --git a/arch/sh/boards/mach-x3proto/setup.c b/arch/sh/boards/mach-x3proto/setup.c index a340492087fa..8913ae39a802 100644 --- a/arch/sh/boards/mach-x3proto/setup.c +++ b/arch/sh/boards/mach-x3proto/setup.c | |||
@@ -15,6 +15,8 @@ | |||
15 | #include <linux/io.h> | 15 | #include <linux/io.h> |
16 | #include <linux/smc91x.h> | 16 | #include <linux/smc91x.h> |
17 | #include <linux/irq.h> | 17 | #include <linux/irq.h> |
18 | #include <linux/interrupt.h> | ||
19 | #include <linux/usb/r8a66597.h> | ||
18 | #include <asm/ilsel.h> | 20 | #include <asm/ilsel.h> |
19 | 21 | ||
20 | static struct resource heartbeat_resources[] = { | 22 | static struct resource heartbeat_resources[] = { |
@@ -58,17 +60,20 @@ static struct platform_device smc91x_device = { | |||
58 | }, | 60 | }, |
59 | }; | 61 | }; |
60 | 62 | ||
63 | static struct r8a66597_platdata r8a66597_data = { | ||
64 | .xtal = R8A66597_PLATDATA_XTAL_12MHZ, | ||
65 | .vif = 1, | ||
66 | }; | ||
67 | |||
61 | static struct resource r8a66597_usb_host_resources[] = { | 68 | static struct resource r8a66597_usb_host_resources[] = { |
62 | [0] = { | 69 | [0] = { |
63 | .name = "r8a66597_hcd", | ||
64 | .start = 0x18040000, | 70 | .start = 0x18040000, |
65 | .end = 0x18080000 - 1, | 71 | .end = 0x18080000 - 1, |
66 | .flags = IORESOURCE_MEM, | 72 | .flags = IORESOURCE_MEM, |
67 | }, | 73 | }, |
68 | [1] = { | 74 | [1] = { |
69 | .name = "r8a66597_hcd", | ||
70 | /* Filled in by ilsel */ | 75 | /* Filled in by ilsel */ |
71 | .flags = IORESOURCE_IRQ, | 76 | .flags = IORESOURCE_IRQ | IRQF_TRIGGER_LOW, |
72 | }, | 77 | }, |
73 | }; | 78 | }; |
74 | 79 | ||
@@ -78,6 +83,7 @@ static struct platform_device r8a66597_usb_host_device = { | |||
78 | .dev = { | 83 | .dev = { |
79 | .dma_mask = NULL, /* don't use dma */ | 84 | .dma_mask = NULL, /* don't use dma */ |
80 | .coherent_dma_mask = 0xffffffff, | 85 | .coherent_dma_mask = 0xffffffff, |
86 | .platform_data = &r8a66597_data, | ||
81 | }, | 87 | }, |
82 | .num_resources = ARRAY_SIZE(r8a66597_usb_host_resources), | 88 | .num_resources = ARRAY_SIZE(r8a66597_usb_host_resources), |
83 | .resource = r8a66597_usb_host_resources, | 89 | .resource = r8a66597_usb_host_resources, |
diff --git a/arch/sh/configs/r7780mp_defconfig b/arch/sh/configs/r7780mp_defconfig index 943da63a3852..d393d9e5bddd 100644 --- a/arch/sh/configs/r7780mp_defconfig +++ b/arch/sh/configs/r7780mp_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.30-rc3 | 3 | # Linux kernel version: 2.6.30 |
4 | # Mon Apr 27 12:53:28 2009 | 4 | # Tue Jun 16 16:08:44 2009 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -20,6 +20,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y | |||
20 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set | 20 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set |
21 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y | 21 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y |
22 | CONFIG_SYS_SUPPORTS_PCI=y | 22 | CONFIG_SYS_SUPPORTS_PCI=y |
23 | CONFIG_SYS_SUPPORTS_TMU=y | ||
23 | CONFIG_STACKTRACE_SUPPORT=y | 24 | CONFIG_STACKTRACE_SUPPORT=y |
24 | CONFIG_LOCKDEP_SUPPORT=y | 25 | CONFIG_LOCKDEP_SUPPORT=y |
25 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y | 26 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y |
@@ -92,6 +93,10 @@ CONFIG_TIMERFD=y | |||
92 | CONFIG_EVENTFD=y | 93 | CONFIG_EVENTFD=y |
93 | CONFIG_SHMEM=y | 94 | CONFIG_SHMEM=y |
94 | CONFIG_AIO=y | 95 | CONFIG_AIO=y |
96 | |||
97 | # | ||
98 | # Performance Counters | ||
99 | # | ||
95 | CONFIG_VM_EVENT_COUNTERS=y | 100 | CONFIG_VM_EVENT_COUNTERS=y |
96 | CONFIG_PCI_QUIRKS=y | 101 | CONFIG_PCI_QUIRKS=y |
97 | CONFIG_COMPAT_BRK=y | 102 | CONFIG_COMPAT_BRK=y |
@@ -100,7 +105,7 @@ CONFIG_SLAB=y | |||
100 | # CONFIG_SLOB is not set | 105 | # CONFIG_SLOB is not set |
101 | CONFIG_PROFILING=y | 106 | CONFIG_PROFILING=y |
102 | CONFIG_TRACEPOINTS=y | 107 | CONFIG_TRACEPOINTS=y |
103 | # CONFIG_MARKERS is not set | 108 | CONFIG_MARKERS=y |
104 | CONFIG_OPROFILE=m | 109 | CONFIG_OPROFILE=m |
105 | CONFIG_HAVE_OPROFILE=y | 110 | CONFIG_HAVE_OPROFILE=y |
106 | # CONFIG_KPROBES is not set | 111 | # CONFIG_KPROBES is not set |
@@ -185,6 +190,7 @@ CONFIG_CPU_SUBTYPE_SH7780=y | |||
185 | CONFIG_QUICKLIST=y | 190 | CONFIG_QUICKLIST=y |
186 | CONFIG_MMU=y | 191 | CONFIG_MMU=y |
187 | CONFIG_PAGE_OFFSET=0x80000000 | 192 | CONFIG_PAGE_OFFSET=0x80000000 |
193 | CONFIG_FORCE_MAX_ZONEORDER=11 | ||
188 | CONFIG_MEMORY_START=0x08000000 | 194 | CONFIG_MEMORY_START=0x08000000 |
189 | CONFIG_MEMORY_SIZE=0x08000000 | 195 | CONFIG_MEMORY_SIZE=0x08000000 |
190 | # CONFIG_29BIT is not set | 196 | # CONFIG_29BIT is not set |
@@ -203,7 +209,6 @@ CONFIG_PAGE_SIZE_4KB=y | |||
203 | # CONFIG_PAGE_SIZE_8KB is not set | 209 | # CONFIG_PAGE_SIZE_8KB is not set |
204 | # CONFIG_PAGE_SIZE_16KB is not set | 210 | # CONFIG_PAGE_SIZE_16KB is not set |
205 | # CONFIG_PAGE_SIZE_64KB is not set | 211 | # CONFIG_PAGE_SIZE_64KB is not set |
206 | CONFIG_ENTRY_OFFSET=0x00001000 | ||
207 | CONFIG_HUGETLB_PAGE_SIZE_64K=y | 212 | CONFIG_HUGETLB_PAGE_SIZE_64K=y |
208 | # CONFIG_HUGETLB_PAGE_SIZE_256K is not set | 213 | # CONFIG_HUGETLB_PAGE_SIZE_256K is not set |
209 | # CONFIG_HUGETLB_PAGE_SIZE_1MB is not set | 214 | # CONFIG_HUGETLB_PAGE_SIZE_1MB is not set |
@@ -225,6 +230,7 @@ CONFIG_NR_QUICK=2 | |||
225 | CONFIG_UNEVICTABLE_LRU=y | 230 | CONFIG_UNEVICTABLE_LRU=y |
226 | CONFIG_HAVE_MLOCK=y | 231 | CONFIG_HAVE_MLOCK=y |
227 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | 232 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y |
233 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | ||
228 | 234 | ||
229 | # | 235 | # |
230 | # Cache configuration | 236 | # Cache configuration |
@@ -258,9 +264,10 @@ CONFIG_SH_R7780MP=y | |||
258 | # | 264 | # |
259 | # Timer and clock configuration | 265 | # Timer and clock configuration |
260 | # | 266 | # |
261 | CONFIG_SH_TMU=y | 267 | CONFIG_SH_TIMER_TMU=y |
262 | CONFIG_SH_TIMER_IRQ=28 | ||
263 | CONFIG_SH_PCLK_FREQ=33333333 | 268 | CONFIG_SH_PCLK_FREQ=33333333 |
269 | CONFIG_SH_CLK_CPG=y | ||
270 | CONFIG_SH_CLK_CPG_LEGACY=y | ||
264 | # CONFIG_NO_HZ is not set | 271 | # CONFIG_NO_HZ is not set |
265 | # CONFIG_HIGH_RES_TIMERS is not set | 272 | # CONFIG_HIGH_RES_TIMERS is not set |
266 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | 273 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y |
@@ -301,12 +308,14 @@ CONFIG_KEXEC=y | |||
301 | # CONFIG_PREEMPT_VOLUNTARY is not set | 308 | # CONFIG_PREEMPT_VOLUNTARY is not set |
302 | CONFIG_PREEMPT=y | 309 | CONFIG_PREEMPT=y |
303 | CONFIG_GUSA=y | 310 | CONFIG_GUSA=y |
311 | # CONFIG_SPARSE_IRQ is not set | ||
304 | 312 | ||
305 | # | 313 | # |
306 | # Boot options | 314 | # Boot options |
307 | # | 315 | # |
308 | CONFIG_ZERO_PAGE_OFFSET=0x00001000 | 316 | CONFIG_ZERO_PAGE_OFFSET=0x00001000 |
309 | CONFIG_BOOT_LINK_OFFSET=0x00800000 | 317 | CONFIG_BOOT_LINK_OFFSET=0x00800000 |
318 | CONFIG_ENTRY_OFFSET=0x00001000 | ||
310 | CONFIG_CMDLINE_BOOL=y | 319 | CONFIG_CMDLINE_BOOL=y |
311 | CONFIG_CMDLINE="console=ttySC0,115200 root=/dev/sda1" | 320 | CONFIG_CMDLINE="console=ttySC0,115200 root=/dev/sda1" |
312 | 321 | ||
@@ -445,7 +454,91 @@ CONFIG_EXTRA_FIRMWARE="" | |||
445 | # CONFIG_DEBUG_DEVRES is not set | 454 | # CONFIG_DEBUG_DEVRES is not set |
446 | # CONFIG_SYS_HYPERVISOR is not set | 455 | # CONFIG_SYS_HYPERVISOR is not set |
447 | # CONFIG_CONNECTOR is not set | 456 | # CONFIG_CONNECTOR is not set |
448 | # CONFIG_MTD is not set | 457 | CONFIG_MTD=y |
458 | # CONFIG_MTD_DEBUG is not set | ||
459 | # CONFIG_MTD_CONCAT is not set | ||
460 | CONFIG_MTD_PARTITIONS=y | ||
461 | # CONFIG_MTD_TESTS is not set | ||
462 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
463 | # CONFIG_MTD_CMDLINE_PARTS is not set | ||
464 | # CONFIG_MTD_AR7_PARTS is not set | ||
465 | |||
466 | # | ||
467 | # User Modules And Translation Layers | ||
468 | # | ||
469 | # CONFIG_MTD_CHAR is not set | ||
470 | # CONFIG_MTD_BLKDEVS is not set | ||
471 | # CONFIG_MTD_BLOCK is not set | ||
472 | # CONFIG_MTD_BLOCK_RO is not set | ||
473 | # CONFIG_FTL is not set | ||
474 | # CONFIG_NFTL is not set | ||
475 | # CONFIG_INFTL is not set | ||
476 | # CONFIG_RFD_FTL is not set | ||
477 | # CONFIG_SSFDC is not set | ||
478 | # CONFIG_MTD_OOPS is not set | ||
479 | |||
480 | # | ||
481 | # RAM/ROM/Flash chip drivers | ||
482 | # | ||
483 | CONFIG_MTD_CFI=y | ||
484 | # CONFIG_MTD_JEDECPROBE is not set | ||
485 | CONFIG_MTD_GEN_PROBE=y | ||
486 | # CONFIG_MTD_CFI_ADV_OPTIONS is not set | ||
487 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
488 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
489 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
490 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
491 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
492 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
493 | CONFIG_MTD_CFI_I1=y | ||
494 | CONFIG_MTD_CFI_I2=y | ||
495 | # CONFIG_MTD_CFI_I4 is not set | ||
496 | # CONFIG_MTD_CFI_I8 is not set | ||
497 | # CONFIG_MTD_CFI_INTELEXT is not set | ||
498 | CONFIG_MTD_CFI_AMDSTD=y | ||
499 | # CONFIG_MTD_CFI_STAA is not set | ||
500 | CONFIG_MTD_CFI_UTIL=y | ||
501 | # CONFIG_MTD_RAM is not set | ||
502 | # CONFIG_MTD_ROM is not set | ||
503 | # CONFIG_MTD_ABSENT is not set | ||
504 | |||
505 | # | ||
506 | # Mapping drivers for chip access | ||
507 | # | ||
508 | CONFIG_MTD_COMPLEX_MAPPINGS=y | ||
509 | CONFIG_MTD_PHYSMAP=y | ||
510 | # CONFIG_MTD_PHYSMAP_COMPAT is not set | ||
511 | # CONFIG_MTD_PCI is not set | ||
512 | # CONFIG_MTD_INTEL_VR_NOR is not set | ||
513 | # CONFIG_MTD_PLATRAM is not set | ||
514 | |||
515 | # | ||
516 | # Self-contained MTD device drivers | ||
517 | # | ||
518 | # CONFIG_MTD_PMC551 is not set | ||
519 | # CONFIG_MTD_SLRAM is not set | ||
520 | # CONFIG_MTD_PHRAM is not set | ||
521 | # CONFIG_MTD_MTDRAM is not set | ||
522 | # CONFIG_MTD_BLOCK2MTD is not set | ||
523 | |||
524 | # | ||
525 | # Disk-On-Chip Device Drivers | ||
526 | # | ||
527 | # CONFIG_MTD_DOC2000 is not set | ||
528 | # CONFIG_MTD_DOC2001 is not set | ||
529 | # CONFIG_MTD_DOC2001PLUS is not set | ||
530 | # CONFIG_MTD_NAND is not set | ||
531 | # CONFIG_MTD_ONENAND is not set | ||
532 | |||
533 | # | ||
534 | # LPDDR flash memory drivers | ||
535 | # | ||
536 | # CONFIG_MTD_LPDDR is not set | ||
537 | |||
538 | # | ||
539 | # UBI - Unsorted block images | ||
540 | # | ||
541 | # CONFIG_MTD_UBI is not set | ||
449 | # CONFIG_PARPORT is not set | 542 | # CONFIG_PARPORT is not set |
450 | CONFIG_BLK_DEV=y | 543 | CONFIG_BLK_DEV=y |
451 | # CONFIG_BLK_CPQ_CISS_DA is not set | 544 | # CONFIG_BLK_CPQ_CISS_DA is not set |
@@ -500,10 +593,6 @@ CONFIG_BLK_DEV_SD=y | |||
500 | # CONFIG_BLK_DEV_SR is not set | 593 | # CONFIG_BLK_DEV_SR is not set |
501 | CONFIG_CHR_DEV_SG=m | 594 | CONFIG_CHR_DEV_SG=m |
502 | # CONFIG_CHR_DEV_SCH is not set | 595 | # CONFIG_CHR_DEV_SCH is not set |
503 | |||
504 | # | ||
505 | # Some SCSI devices (e.g. CD jukebox) support multiple LUNs | ||
506 | # | ||
507 | # CONFIG_SCSI_MULTI_LUN is not set | 596 | # CONFIG_SCSI_MULTI_LUN is not set |
508 | # CONFIG_SCSI_CONSTANTS is not set | 597 | # CONFIG_SCSI_CONSTANTS is not set |
509 | # CONFIG_SCSI_LOGGING is not set | 598 | # CONFIG_SCSI_LOGGING is not set |
@@ -521,6 +610,7 @@ CONFIG_SCSI_WAIT_SCAN=m | |||
521 | CONFIG_SCSI_LOWLEVEL=y | 610 | CONFIG_SCSI_LOWLEVEL=y |
522 | # CONFIG_ISCSI_TCP is not set | 611 | # CONFIG_ISCSI_TCP is not set |
523 | # CONFIG_SCSI_CXGB3_ISCSI is not set | 612 | # CONFIG_SCSI_CXGB3_ISCSI is not set |
613 | # CONFIG_SCSI_BNX2_ISCSI is not set | ||
524 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set | 614 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set |
525 | # CONFIG_SCSI_3W_9XXX is not set | 615 | # CONFIG_SCSI_3W_9XXX is not set |
526 | # CONFIG_SCSI_ACARD is not set | 616 | # CONFIG_SCSI_ACARD is not set |
@@ -529,6 +619,7 @@ CONFIG_SCSI_LOWLEVEL=y | |||
529 | # CONFIG_SCSI_AIC7XXX_OLD is not set | 619 | # CONFIG_SCSI_AIC7XXX_OLD is not set |
530 | # CONFIG_SCSI_AIC79XX is not set | 620 | # CONFIG_SCSI_AIC79XX is not set |
531 | # CONFIG_SCSI_AIC94XX is not set | 621 | # CONFIG_SCSI_AIC94XX is not set |
622 | # CONFIG_SCSI_MVSAS is not set | ||
532 | # CONFIG_SCSI_ARCMSR is not set | 623 | # CONFIG_SCSI_ARCMSR is not set |
533 | # CONFIG_MEGARAID_NEWGEN is not set | 624 | # CONFIG_MEGARAID_NEWGEN is not set |
534 | # CONFIG_MEGARAID_LEGACY is not set | 625 | # CONFIG_MEGARAID_LEGACY is not set |
@@ -543,7 +634,6 @@ CONFIG_SCSI_LOWLEVEL=y | |||
543 | # CONFIG_SCSI_IPS is not set | 634 | # CONFIG_SCSI_IPS is not set |
544 | # CONFIG_SCSI_INITIO is not set | 635 | # CONFIG_SCSI_INITIO is not set |
545 | # CONFIG_SCSI_INIA100 is not set | 636 | # CONFIG_SCSI_INIA100 is not set |
546 | # CONFIG_SCSI_MVSAS is not set | ||
547 | # CONFIG_SCSI_STEX is not set | 637 | # CONFIG_SCSI_STEX is not set |
548 | # CONFIG_SCSI_SYM53C8XX_2 is not set | 638 | # CONFIG_SCSI_SYM53C8XX_2 is not set |
549 | # CONFIG_SCSI_IPR is not set | 639 | # CONFIG_SCSI_IPR is not set |
@@ -1111,6 +1201,7 @@ CONFIG_RTC_DRV_RS5C372=y | |||
1111 | # on-CPU RTC drivers | 1201 | # on-CPU RTC drivers |
1112 | # | 1202 | # |
1113 | CONFIG_RTC_DRV_SH=y | 1203 | CONFIG_RTC_DRV_SH=y |
1204 | # CONFIG_RTC_DRV_GENERIC is not set | ||
1114 | # CONFIG_DMADEVICES is not set | 1205 | # CONFIG_DMADEVICES is not set |
1115 | # CONFIG_AUXDISPLAY is not set | 1206 | # CONFIG_AUXDISPLAY is not set |
1116 | # CONFIG_UIO is not set | 1207 | # CONFIG_UIO is not set |
@@ -1138,6 +1229,7 @@ CONFIG_FILE_LOCKING=y | |||
1138 | # CONFIG_XFS_FS is not set | 1229 | # CONFIG_XFS_FS is not set |
1139 | # CONFIG_OCFS2_FS is not set | 1230 | # CONFIG_OCFS2_FS is not set |
1140 | # CONFIG_BTRFS_FS is not set | 1231 | # CONFIG_BTRFS_FS is not set |
1232 | CONFIG_FSNOTIFY=y | ||
1141 | CONFIG_DNOTIFY=y | 1233 | CONFIG_DNOTIFY=y |
1142 | CONFIG_INOTIFY=y | 1234 | CONFIG_INOTIFY=y |
1143 | CONFIG_INOTIFY_USER=y | 1235 | CONFIG_INOTIFY_USER=y |
@@ -1145,6 +1237,7 @@ CONFIG_INOTIFY_USER=y | |||
1145 | # CONFIG_AUTOFS_FS is not set | 1237 | # CONFIG_AUTOFS_FS is not set |
1146 | # CONFIG_AUTOFS4_FS is not set | 1238 | # CONFIG_AUTOFS4_FS is not set |
1147 | CONFIG_FUSE_FS=m | 1239 | CONFIG_FUSE_FS=m |
1240 | # CONFIG_CUSE is not set | ||
1148 | 1241 | ||
1149 | # | 1242 | # |
1150 | # Caches | 1243 | # Caches |
@@ -1190,6 +1283,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
1190 | # CONFIG_BEFS_FS is not set | 1283 | # CONFIG_BEFS_FS is not set |
1191 | # CONFIG_BFS_FS is not set | 1284 | # CONFIG_BFS_FS is not set |
1192 | # CONFIG_EFS_FS is not set | 1285 | # CONFIG_EFS_FS is not set |
1286 | # CONFIG_JFFS2_FS is not set | ||
1193 | # CONFIG_CRAMFS is not set | 1287 | # CONFIG_CRAMFS is not set |
1194 | # CONFIG_SQUASHFS is not set | 1288 | # CONFIG_SQUASHFS is not set |
1195 | # CONFIG_VXFS_FS is not set | 1289 | # CONFIG_VXFS_FS is not set |
@@ -1328,41 +1422,40 @@ CONFIG_HAVE_FUNCTION_TRACER=y | |||
1328 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1422 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
1329 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 1423 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
1330 | CONFIG_RING_BUFFER=y | 1424 | CONFIG_RING_BUFFER=y |
1425 | CONFIG_EVENT_TRACING=y | ||
1426 | CONFIG_CONTEXT_SWITCH_TRACER=y | ||
1331 | CONFIG_TRACING=y | 1427 | CONFIG_TRACING=y |
1332 | CONFIG_TRACING_SUPPORT=y | 1428 | CONFIG_TRACING_SUPPORT=y |
1333 | 1429 | CONFIG_FTRACE=y | |
1334 | # | ||
1335 | # Tracers | ||
1336 | # | ||
1337 | # CONFIG_FUNCTION_TRACER is not set | 1430 | # CONFIG_FUNCTION_TRACER is not set |
1338 | # CONFIG_IRQSOFF_TRACER is not set | 1431 | # CONFIG_IRQSOFF_TRACER is not set |
1339 | # CONFIG_PREEMPT_TRACER is not set | 1432 | # CONFIG_PREEMPT_TRACER is not set |
1340 | # CONFIG_SCHED_TRACER is not set | 1433 | # CONFIG_SCHED_TRACER is not set |
1341 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 1434 | # CONFIG_ENABLE_DEFAULT_TRACERS is not set |
1342 | # CONFIG_EVENT_TRACER is not set | ||
1343 | # CONFIG_BOOT_TRACER is not set | 1435 | # CONFIG_BOOT_TRACER is not set |
1344 | # CONFIG_TRACE_BRANCH_PROFILING is not set | 1436 | CONFIG_BRANCH_PROFILE_NONE=y |
1437 | # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set | ||
1438 | # CONFIG_PROFILE_ALL_BRANCHES is not set | ||
1345 | # CONFIG_STACK_TRACER is not set | 1439 | # CONFIG_STACK_TRACER is not set |
1346 | # CONFIG_KMEMTRACE is not set | 1440 | # CONFIG_KMEMTRACE is not set |
1347 | # CONFIG_WORKQUEUE_TRACER is not set | 1441 | # CONFIG_WORKQUEUE_TRACER is not set |
1348 | # CONFIG_BLK_DEV_IO_TRACE is not set | 1442 | # CONFIG_BLK_DEV_IO_TRACE is not set |
1349 | # CONFIG_FTRACE_STARTUP_TEST is not set | 1443 | # CONFIG_RING_BUFFER_BENCHMARK is not set |
1350 | # CONFIG_DYNAMIC_DEBUG is not set | 1444 | # CONFIG_DYNAMIC_DEBUG is not set |
1351 | # CONFIG_DMA_API_DEBUG is not set | 1445 | # CONFIG_DMA_API_DEBUG is not set |
1352 | # CONFIG_SAMPLES is not set | 1446 | # CONFIG_SAMPLES is not set |
1353 | CONFIG_HAVE_ARCH_KGDB=y | 1447 | CONFIG_HAVE_ARCH_KGDB=y |
1354 | # CONFIG_KGDB is not set | 1448 | # CONFIG_KGDB is not set |
1355 | CONFIG_SH_STANDARD_BIOS=y | 1449 | # CONFIG_SH_STANDARD_BIOS is not set |
1356 | # CONFIG_EARLY_SCIF_CONSOLE is not set | 1450 | CONFIG_EARLY_SCIF_CONSOLE=y |
1357 | CONFIG_EARLY_PRINTK=y | 1451 | CONFIG_EARLY_SCIF_CONSOLE_PORT=0xffe00000 |
1452 | # CONFIG_EARLY_PRINTK is not set | ||
1358 | # CONFIG_DEBUG_BOOTMEM is not set | 1453 | # CONFIG_DEBUG_BOOTMEM is not set |
1359 | CONFIG_DEBUG_STACKOVERFLOW=y | 1454 | CONFIG_DEBUG_STACKOVERFLOW=y |
1360 | # CONFIG_DEBUG_STACK_USAGE is not set | 1455 | # CONFIG_DEBUG_STACK_USAGE is not set |
1361 | # CONFIG_4KSTACKS is not set | 1456 | # CONFIG_4KSTACKS is not set |
1362 | # CONFIG_IRQSTACKS is not set | ||
1363 | CONFIG_DUMP_CODE=y | 1457 | CONFIG_DUMP_CODE=y |
1364 | # CONFIG_SH_NO_BSS_INIT is not set | 1458 | # CONFIG_SH_NO_BSS_INIT is not set |
1365 | # CONFIG_MORE_COMPILE_OPTIONS is not set | ||
1366 | 1459 | ||
1367 | # | 1460 | # |
1368 | # Security options | 1461 | # Security options |
diff --git a/arch/sh/include/asm/atomic.h b/arch/sh/include/asm/atomic.h index 157c320272cb..e8e78137c6f5 100644 --- a/arch/sh/include/asm/atomic.h +++ b/arch/sh/include/asm/atomic.h | |||
@@ -85,4 +85,6 @@ static inline int atomic_add_unless(atomic_t *v, int a, int u) | |||
85 | #define smp_mb__after_atomic_inc() barrier() | 85 | #define smp_mb__after_atomic_inc() barrier() |
86 | 86 | ||
87 | #include <asm-generic/atomic-long.h> | 87 | #include <asm-generic/atomic-long.h> |
88 | #include <asm-generic/atomic64.h> | ||
89 | |||
88 | #endif /* __ASM_SH_ATOMIC_H */ | 90 | #endif /* __ASM_SH_ATOMIC_H */ |
diff --git a/arch/sh/include/asm/kmap_types.h b/arch/sh/include/asm/kmap_types.h index 84d565c696be..5962b08b6dd8 100644 --- a/arch/sh/include/asm/kmap_types.h +++ b/arch/sh/include/asm/kmap_types.h | |||
@@ -3,30 +3,12 @@ | |||
3 | 3 | ||
4 | /* Dummy header just to define km_type. */ | 4 | /* Dummy header just to define km_type. */ |
5 | 5 | ||
6 | |||
7 | #ifdef CONFIG_DEBUG_HIGHMEM | 6 | #ifdef CONFIG_DEBUG_HIGHMEM |
8 | # define D(n) __KM_FENCE_##n , | 7 | #define __WITH_KM_FENCE |
9 | #else | ||
10 | # define D(n) | ||
11 | #endif | 8 | #endif |
12 | 9 | ||
13 | enum km_type { | 10 | #include <asm-generic/kmap_types.h> |
14 | D(0) KM_BOUNCE_READ, | ||
15 | D(1) KM_SKB_SUNRPC_DATA, | ||
16 | D(2) KM_SKB_DATA_SOFTIRQ, | ||
17 | D(3) KM_USER0, | ||
18 | D(4) KM_USER1, | ||
19 | D(5) KM_BIO_SRC_IRQ, | ||
20 | D(6) KM_BIO_DST_IRQ, | ||
21 | D(7) KM_PTE0, | ||
22 | D(8) KM_PTE1, | ||
23 | D(9) KM_IRQ0, | ||
24 | D(10) KM_IRQ1, | ||
25 | D(11) KM_SOFTIRQ0, | ||
26 | D(12) KM_SOFTIRQ1, | ||
27 | D(13) KM_TYPE_NR | ||
28 | }; | ||
29 | 11 | ||
30 | #undef D | 12 | #undef __WITH_KM_FENCE |
31 | 13 | ||
32 | #endif | 14 | #endif |
diff --git a/arch/sh/include/asm/perf_counter.h b/arch/sh/include/asm/perf_counter.h new file mode 100644 index 000000000000..a8153c2aa6fa --- /dev/null +++ b/arch/sh/include/asm/perf_counter.h | |||
@@ -0,0 +1,7 @@ | |||
1 | #ifndef __ASM_SH_PERF_COUNTER_H | ||
2 | #define __ASM_SH_PERF_COUNTER_H | ||
3 | |||
4 | /* SH only supports software counters through this interface. */ | ||
5 | #define set_perf_counter_pending() do { } while (0) | ||
6 | |||
7 | #endif /* __ASM_SH_PERF_COUNTER_H */ | ||
diff --git a/arch/sh/include/mach-common/mach/highlander.h b/arch/sh/include/mach-common/mach/highlander.h index bd26a848cb0b..5d9d4d5154be 100644 --- a/arch/sh/include/mach-common/mach/highlander.h +++ b/arch/sh/include/mach-common/mach/highlander.h | |||
@@ -2,6 +2,9 @@ | |||
2 | #define __ASM_SH_RENESAS_R7780RP_H | 2 | #define __ASM_SH_RENESAS_R7780RP_H |
3 | 3 | ||
4 | /* Box specific addresses. */ | 4 | /* Box specific addresses. */ |
5 | #define PA_NORFLASH_ADDR 0x00000000 | ||
6 | #define PA_NORFLASH_SIZE 0x04000000 | ||
7 | |||
5 | #if defined(CONFIG_SH_R7780MP) | 8 | #if defined(CONFIG_SH_R7780MP) |
6 | #define PA_BCR 0xa4000000 /* FPGA */ | 9 | #define PA_BCR 0xa4000000 /* FPGA */ |
7 | #define PA_SDPOW (-1) | 10 | #define PA_SDPOW (-1) |
diff --git a/arch/sh/kernel/cpu/clock-cpg.c b/arch/sh/kernel/cpu/clock-cpg.c index 275942e58e4f..6dfe2cced3fc 100644 --- a/arch/sh/kernel/cpu/clock-cpg.c +++ b/arch/sh/kernel/cpu/clock-cpg.c | |||
@@ -1,6 +1,6 @@ | |||
1 | #include <linux/clk.h> | 1 | #include <linux/clk.h> |
2 | #include <linux/compiler.h> | 2 | #include <linux/compiler.h> |
3 | #include <linux/bootmem.h> | 3 | #include <linux/slab.h> |
4 | #include <linux/io.h> | 4 | #include <linux/io.h> |
5 | #include <asm/clock.h> | 5 | #include <asm/clock.h> |
6 | 6 | ||
@@ -127,10 +127,11 @@ int __init sh_clk_div6_register(struct clk *clks, int nr) | |||
127 | int k; | 127 | int k; |
128 | 128 | ||
129 | freq_table_size *= (nr_divs + 1); | 129 | freq_table_size *= (nr_divs + 1); |
130 | 130 | freq_table = kzalloc(freq_table_size * nr, GFP_KERNEL); | |
131 | freq_table = alloc_bootmem(freq_table_size * nr); | 131 | if (!freq_table) { |
132 | if (!freq_table) | 132 | pr_err("sh_clk_div6_register: unable to alloc memory\n"); |
133 | return -ENOMEM; | 133 | return -ENOMEM; |
134 | } | ||
134 | 135 | ||
135 | for (k = 0; !ret && (k < nr); k++) { | 136 | for (k = 0; !ret && (k < nr); k++) { |
136 | clkp = clks + k; | 137 | clkp = clks + k; |
@@ -175,10 +176,11 @@ int __init sh_clk_div4_register(struct clk *clks, int nr, | |||
175 | int k; | 176 | int k; |
176 | 177 | ||
177 | freq_table_size *= (nr_divs + 1); | 178 | freq_table_size *= (nr_divs + 1); |
178 | 179 | freq_table = kzalloc(freq_table_size * nr, GFP_KERNEL); | |
179 | freq_table = alloc_bootmem(freq_table_size * nr); | 180 | if (!freq_table) { |
180 | if (!freq_table) | 181 | pr_err("sh_clk_div4_register: unable to alloc memory\n"); |
181 | return -ENOMEM; | 182 | return -ENOMEM; |
183 | } | ||
182 | 184 | ||
183 | for (k = 0; !ret && (k < nr); k++) { | 185 | for (k = 0; !ret && (k < nr); k++) { |
184 | clkp = clks + k; | 186 | clkp = clks + k; |
diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7366.c b/arch/sh/kernel/cpu/sh4a/setup-sh7366.c index 318516f6bfad..c18f7d09281b 100644 --- a/arch/sh/kernel/cpu/sh4a/setup-sh7366.c +++ b/arch/sh/kernel/cpu/sh4a/setup-sh7366.c | |||
@@ -15,6 +15,7 @@ | |||
15 | #include <linux/serial_sci.h> | 15 | #include <linux/serial_sci.h> |
16 | #include <linux/uio_driver.h> | 16 | #include <linux/uio_driver.h> |
17 | #include <linux/sh_timer.h> | 17 | #include <linux/sh_timer.h> |
18 | #include <linux/usb/r8a66597.h> | ||
18 | #include <asm/clock.h> | 19 | #include <asm/clock.h> |
19 | 20 | ||
20 | static struct resource iic_resources[] = { | 21 | static struct resource iic_resources[] = { |
@@ -38,18 +39,20 @@ static struct platform_device iic_device = { | |||
38 | .resource = iic_resources, | 39 | .resource = iic_resources, |
39 | }; | 40 | }; |
40 | 41 | ||
42 | static struct r8a66597_platdata r8a66597_data = { | ||
43 | /* This set zero to all members */ | ||
44 | }; | ||
45 | |||
41 | static struct resource usb_host_resources[] = { | 46 | static struct resource usb_host_resources[] = { |
42 | [0] = { | 47 | [0] = { |
43 | .name = "r8a66597_hcd", | ||
44 | .start = 0xa4d80000, | 48 | .start = 0xa4d80000, |
45 | .end = 0xa4d800ff, | 49 | .end = 0xa4d800ff, |
46 | .flags = IORESOURCE_MEM, | 50 | .flags = IORESOURCE_MEM, |
47 | }, | 51 | }, |
48 | [1] = { | 52 | [1] = { |
49 | .name = "r8a66597_hcd", | ||
50 | .start = 65, | 53 | .start = 65, |
51 | .end = 65, | 54 | .end = 65, |
52 | .flags = IORESOURCE_IRQ, | 55 | .flags = IORESOURCE_IRQ | IRQF_TRIGGER_LOW, |
53 | }, | 56 | }, |
54 | }; | 57 | }; |
55 | 58 | ||
@@ -59,6 +62,7 @@ static struct platform_device usb_host_device = { | |||
59 | .dev = { | 62 | .dev = { |
60 | .dma_mask = NULL, | 63 | .dma_mask = NULL, |
61 | .coherent_dma_mask = 0xffffffff, | 64 | .coherent_dma_mask = 0xffffffff, |
65 | .platform_data = &r8a66597_data, | ||
62 | }, | 66 | }, |
63 | .num_resources = ARRAY_SIZE(usb_host_resources), | 67 | .num_resources = ARRAY_SIZE(usb_host_resources), |
64 | .resource = usb_host_resources, | 68 | .resource = usb_host_resources, |
diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7723.c b/arch/sh/kernel/cpu/sh4a/setup-sh7723.c index d8f4a13aeff9..e1bb80b2a27b 100644 --- a/arch/sh/kernel/cpu/sh4a/setup-sh7723.c +++ b/arch/sh/kernel/cpu/sh4a/setup-sh7723.c | |||
@@ -13,6 +13,7 @@ | |||
13 | #include <linux/mm.h> | 13 | #include <linux/mm.h> |
14 | #include <linux/serial_sci.h> | 14 | #include <linux/serial_sci.h> |
15 | #include <linux/uio_driver.h> | 15 | #include <linux/uio_driver.h> |
16 | #include <linux/usb/r8a66597.h> | ||
16 | #include <linux/sh_timer.h> | 17 | #include <linux/sh_timer.h> |
17 | #include <linux/io.h> | 18 | #include <linux/io.h> |
18 | #include <asm/clock.h> | 19 | #include <asm/clock.h> |
@@ -396,9 +397,12 @@ static struct platform_device rtc_device = { | |||
396 | .resource = rtc_resources, | 397 | .resource = rtc_resources, |
397 | }; | 398 | }; |
398 | 399 | ||
400 | static struct r8a66597_platdata r8a66597_data = { | ||
401 | /* This set zero to all members */ | ||
402 | }; | ||
403 | |||
399 | static struct resource sh7723_usb_host_resources[] = { | 404 | static struct resource sh7723_usb_host_resources[] = { |
400 | [0] = { | 405 | [0] = { |
401 | .name = "r8a66597_hcd", | ||
402 | .start = 0xa4d80000, | 406 | .start = 0xa4d80000, |
403 | .end = 0xa4d800ff, | 407 | .end = 0xa4d800ff, |
404 | .flags = IORESOURCE_MEM, | 408 | .flags = IORESOURCE_MEM, |
@@ -406,7 +410,7 @@ static struct resource sh7723_usb_host_resources[] = { | |||
406 | [1] = { | 410 | [1] = { |
407 | .start = 65, | 411 | .start = 65, |
408 | .end = 65, | 412 | .end = 65, |
409 | .flags = IORESOURCE_IRQ, | 413 | .flags = IORESOURCE_IRQ | IRQF_TRIGGER_LOW, |
410 | }, | 414 | }, |
411 | }; | 415 | }; |
412 | 416 | ||
@@ -416,6 +420,7 @@ static struct platform_device sh7723_usb_host_device = { | |||
416 | .dev = { | 420 | .dev = { |
417 | .dma_mask = NULL, /* not use dma */ | 421 | .dma_mask = NULL, /* not use dma */ |
418 | .coherent_dma_mask = 0xffffffff, | 422 | .coherent_dma_mask = 0xffffffff, |
423 | .platform_data = &r8a66597_data, | ||
419 | }, | 424 | }, |
420 | .num_resources = ARRAY_SIZE(sh7723_usb_host_resources), | 425 | .num_resources = ARRAY_SIZE(sh7723_usb_host_resources), |
421 | .resource = sh7723_usb_host_resources, | 426 | .resource = sh7723_usb_host_resources, |
diff --git a/arch/sh/kernel/init_task.c b/arch/sh/kernel/init_task.c index 80c35ff71d56..1719957c0a69 100644 --- a/arch/sh/kernel/init_task.c +++ b/arch/sh/kernel/init_task.c | |||
@@ -10,9 +10,6 @@ | |||
10 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 10 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
11 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 11 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
12 | struct pt_regs fake_swapper_regs; | 12 | struct pt_regs fake_swapper_regs; |
13 | struct mm_struct init_mm = INIT_MM(init_mm); | ||
14 | EXPORT_SYMBOL(init_mm); | ||
15 | |||
16 | /* | 13 | /* |
17 | * Initial thread structure. | 14 | * Initial thread structure. |
18 | * | 15 | * |
diff --git a/arch/sh/kernel/traps.c b/arch/sh/kernel/traps.c index 46348ed07cc3..b3e0067db358 100644 --- a/arch/sh/kernel/traps.c +++ b/arch/sh/kernel/traps.c | |||
@@ -69,6 +69,7 @@ BUILD_TRAP_HANDLER(bug) | |||
69 | insn_size_t insn = *(insn_size_t *)instruction_pointer(regs); | 69 | insn_size_t insn = *(insn_size_t *)instruction_pointer(regs); |
70 | if (insn == TRAPA_BUG_OPCODE) | 70 | if (insn == TRAPA_BUG_OPCODE) |
71 | handle_BUG(regs); | 71 | handle_BUG(regs); |
72 | return; | ||
72 | } | 73 | } |
73 | #endif | 74 | #endif |
74 | 75 | ||