aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh
diff options
context:
space:
mode:
authorKuninori Morimoto <morimoto.kuninori@renesas.com>2008-12-02 02:42:24 -0500
committerPaul Mundt <lethal@linux-sh.org>2009-01-21 03:41:52 -0500
commitb9afb0bae5411faadc0afcfbaa8ef0035fc0e8f8 (patch)
tree0715134ff326c80acc9ec29567850428cc30dedd /arch/sh
parentff04ea40ea3037b26d01bdeacbab1d6c15c5df61 (diff)
sh: mach-migor: Delete soc_camera_platform setup.
Migo-R can use ov772x camera driver in Linux 2.6.29. Therefore, soc_camera_platform setting is no longer needed. This patch removes it. Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh')
-rw-r--r--arch/sh/boards/mach-migor/setup.c103
1 files changed, 0 insertions, 103 deletions
diff --git a/arch/sh/boards/mach-migor/setup.c b/arch/sh/boards/mach-migor/setup.c
index 332b90d9df47..6df933da6251 100644
--- a/arch/sh/boards/mach-migor/setup.c
+++ b/arch/sh/boards/mach-migor/setup.c
@@ -18,7 +18,6 @@
18#include <linux/delay.h> 18#include <linux/delay.h>
19#include <linux/clk.h> 19#include <linux/clk.h>
20#include <linux/gpio.h> 20#include <linux/gpio.h>
21#include <media/soc_camera_platform.h>
22#include <media/sh_mobile_ceu.h> 21#include <media/sh_mobile_ceu.h>
23#include <media/ov772x.h> 22#include <media/ov772x.h>
24#include <video/sh_mobile_lcdc.h> 23#include <video/sh_mobile_lcdc.h>
@@ -319,14 +318,6 @@ static void camera_power_off(void)
319 gpio_set_value(GPIO_PTT3, 0); 318 gpio_set_value(GPIO_PTT3, 0);
320} 319}
321 320
322static void camera_power(int mode)
323{
324 if (mode)
325 camera_power_on();
326 else
327 camera_power_off();
328}
329
330static int ov7725_power(struct device *dev, int mode) 321static int ov7725_power(struct device *dev, int mode)
331{ 322{
332 if (mode) 323 if (mode)
@@ -337,97 +328,6 @@ static int ov7725_power(struct device *dev, int mode)
337 return 0; 328 return 0;
338} 329}
339 330
340#ifdef CONFIG_I2C
341static unsigned char camera_ov772x_magic[] =
342{
343 0x09, 0x01, 0x0c, 0x20, 0x0d, 0x41, 0x0e, 0x01,
344 0x12, 0x00, 0x13, 0x8F, 0x14, 0x4A, 0x15, 0x00,
345 0x16, 0x00, 0x17, 0x23, 0x18, 0xa0, 0x19, 0x07,
346 0x1a, 0xf0, 0x1b, 0x40, 0x1f, 0x00, 0x20, 0x10,
347 0x22, 0xff, 0x23, 0x01, 0x28, 0x00, 0x29, 0xa0,
348 0x2a, 0x00, 0x2b, 0x00, 0x2c, 0xf0, 0x2d, 0x00,
349 0x2e, 0x00, 0x30, 0x80, 0x31, 0x60, 0x32, 0x00,
350 0x33, 0x00, 0x34, 0x00, 0x3d, 0x80, 0x3e, 0xe2,
351 0x3f, 0x1f, 0x42, 0x80, 0x43, 0x80, 0x44, 0x80,
352 0x45, 0x80, 0x46, 0x00, 0x47, 0x00, 0x48, 0x00,
353 0x49, 0x50, 0x4a, 0x30, 0x4b, 0x50, 0x4c, 0x50,
354 0x4d, 0x00, 0x4e, 0xef, 0x4f, 0x10, 0x50, 0x60,
355 0x51, 0x00, 0x52, 0x00, 0x53, 0x24, 0x54, 0x7a,
356 0x55, 0xfc, 0x62, 0xff, 0x63, 0xf0, 0x64, 0x1f,
357 0x65, 0x00, 0x66, 0x10, 0x67, 0x00, 0x68, 0x00,
358 0x69, 0x5c, 0x6a, 0x11, 0x6b, 0xa2, 0x6c, 0x01,
359 0x6d, 0x50, 0x6e, 0x80, 0x6f, 0x80, 0x70, 0x0f,
360 0x71, 0x00, 0x72, 0x00, 0x73, 0x0f, 0x74, 0x0f,
361 0x75, 0xff, 0x78, 0x10, 0x79, 0x70, 0x7a, 0x70,
362 0x7b, 0xf0, 0x7c, 0xf0, 0x7d, 0xf0, 0x7e, 0x0e,
363 0x7f, 0x1a, 0x80, 0x31, 0x81, 0x5a, 0x82, 0x69,
364 0x83, 0x75, 0x84, 0x7e, 0x85, 0x88, 0x86, 0x8f,
365 0x87, 0x96, 0x88, 0xa3, 0x89, 0xaf, 0x8a, 0xc4,
366 0x8b, 0xd7, 0x8c, 0xe8, 0x8d, 0x20, 0x8e, 0x00,
367 0x8f, 0x00, 0x90, 0x08, 0x91, 0x10, 0x92, 0x1f,
368 0x93, 0x01, 0x94, 0x2c, 0x95, 0x24, 0x96, 0x08,
369 0x97, 0x14, 0x98, 0x24, 0x99, 0x38, 0x9a, 0x9e,
370 0x9b, 0x00, 0x9c, 0x40, 0x9e, 0x11, 0x9f, 0x02,
371 0xa0, 0x00, 0xa1, 0x40, 0xa2, 0x40, 0xa3, 0x06,
372 0xa4, 0x00, 0xa6, 0x00, 0xa7, 0x40, 0xa8, 0x40,
373 0xa9, 0x80, 0xaa, 0x80, 0xab, 0x06, 0xac, 0xff,
374 0x12, 0x06, 0x64, 0x3f, 0x12, 0x46, 0x17, 0x3f,
375 0x18, 0x50, 0x19, 0x03, 0x1a, 0x78, 0x29, 0x50,
376 0x2c, 0x78,
377};
378
379static int ov772x_set_capture(struct soc_camera_platform_info *info,
380 int enable)
381{
382 struct i2c_adapter *a = i2c_get_adapter(0);
383 struct i2c_msg msg;
384 int ret = 0;
385 int i;
386
387 if (!enable)
388 return 0; /* camera_power_off() is enough */
389
390 for (i = 0; i < ARRAY_SIZE(camera_ov772x_magic); i += 2) {
391 u_int8_t buf[8];
392
393 msg.addr = 0x21;
394 msg.buf = buf;
395 msg.len = 2;
396 msg.flags = 0;
397
398 buf[0] = camera_ov772x_magic[i];
399 buf[1] = camera_ov772x_magic[i + 1];
400
401 ret = (ret < 0) ? ret : i2c_transfer(a, &msg, 1);
402 }
403
404 return ret;
405}
406
407static struct soc_camera_platform_info ov772x_info = {
408 .iface = 0,
409 .format_name = "RGB565",
410 .format_depth = 16,
411 .format = {
412 .pixelformat = V4L2_PIX_FMT_RGB565,
413 .colorspace = V4L2_COLORSPACE_SRGB,
414 .width = 320,
415 .height = 240,
416 },
417 .bus_param = SOCAM_PCLK_SAMPLE_RISING | SOCAM_HSYNC_ACTIVE_HIGH |
418 SOCAM_VSYNC_ACTIVE_HIGH | SOCAM_MASTER | SOCAM_DATAWIDTH_8,
419 .power = camera_power,
420 .set_capture = ov772x_set_capture,
421};
422
423static struct platform_device migor_camera_device = {
424 .name = "soc_camera_platform",
425 .dev = {
426 .platform_data = &ov772x_info,
427 },
428};
429#endif /* CONFIG_I2C */
430
431static struct sh_mobile_ceu_info sh_mobile_ceu_info = { 331static struct sh_mobile_ceu_info sh_mobile_ceu_info = {
432 .flags = SOCAM_MASTER | SOCAM_DATAWIDTH_8 | SOCAM_PCLK_SAMPLE_RISING \ 332 .flags = SOCAM_MASTER | SOCAM_DATAWIDTH_8 | SOCAM_PCLK_SAMPLE_RISING \
433 | SOCAM_HSYNC_ACTIVE_HIGH | SOCAM_VSYNC_ACTIVE_HIGH, 333 | SOCAM_HSYNC_ACTIVE_HIGH | SOCAM_VSYNC_ACTIVE_HIGH,
@@ -471,9 +371,6 @@ static struct platform_device *migor_devices[] __initdata = {
471 &sh_keysc_device, 371 &sh_keysc_device,
472 &migor_lcdc_device, 372 &migor_lcdc_device,
473 &migor_ceu_device, 373 &migor_ceu_device,
474#ifdef CONFIG_I2C
475 &migor_camera_device,
476#endif
477 &migor_nor_flash_device, 374 &migor_nor_flash_device,
478 &migor_nand_flash_device, 375 &migor_nand_flash_device,
479}; 376};