提交 7cef5e7f 编写于 作者: V Vladimir Barinov 提交者: Mauro Carvalho Chehab

[media] ARM: shmobile: Marzen: add VIN and ADV7180 support

Add ADV7180 platform devices on the Marzen board, configure VIN1/3 pins, and
register VIN1/3 devices with the ADV7180 specific platform data.
[Sergei: removed superfluous tabulation and inserted empty lines in the  macro
definition, updated the copyrights, annotated VIN platform data as '__initdata']
Signed-off-by: NVladimir Barinov <vladimir.barinov@cogentembedded.com>
Signed-off-by: NSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Acked-by: NSimon Horman <horms+renesas@verge.net.au>
Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
上级 4714a025
/* /*
* marzen board support * marzen board support
* *
* Copyright (C) 2011 Renesas Solutions Corp. * Copyright (C) 2011, 2013 Renesas Solutions Corp.
* Copyright (C) 2011 Magnus Damm * Copyright (C) 2011 Magnus Damm
* Copyright (C) 2013 Cogent Embedded, Inc.
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
...@@ -37,6 +38,7 @@ ...@@ -37,6 +38,7 @@
#include <linux/mmc/host.h> #include <linux/mmc/host.h>
#include <linux/mmc/sh_mobile_sdhi.h> #include <linux/mmc/sh_mobile_sdhi.h>
#include <linux/mfd/tmio.h> #include <linux/mfd/tmio.h>
#include <media/soc_camera.h>
#include <mach/hardware.h> #include <mach/hardware.h>
#include <mach/r8a7779.h> #include <mach/r8a7779.h>
#include <mach/common.h> #include <mach/common.h>
...@@ -178,12 +180,40 @@ static struct platform_device leds_device = { ...@@ -178,12 +180,40 @@ static struct platform_device leds_device = {
}, },
}; };
static struct rcar_vin_platform_data vin_platform_data __initdata = {
.flags = RCAR_VIN_BT656,
};
#define MARZEN_CAMERA(idx) \
static struct i2c_board_info camera##idx##_info = { \
I2C_BOARD_INFO("adv7180", 0x20 + (idx)), \
}; \
\
static struct soc_camera_link iclink##idx##_adv7180 = { \
.bus_id = 1 + 2 * (idx), \
.i2c_adapter_id = 0, \
.board_info = &camera##idx##_info, \
}; \
\
static struct platform_device camera##idx##_device = { \
.name = "soc-camera-pdrv", \
.id = idx, \
.dev = { \
.platform_data = &iclink##idx##_adv7180, \
}, \
};
MARZEN_CAMERA(0);
MARZEN_CAMERA(1);
static struct platform_device *marzen_devices[] __initdata = { static struct platform_device *marzen_devices[] __initdata = {
&eth_device, &eth_device,
&sdhi0_device, &sdhi0_device,
&thermal_device, &thermal_device,
&hspi_device, &hspi_device,
&leds_device, &leds_device,
&camera0_device,
&camera1_device,
}; };
static const struct pinctrl_map marzen_pinctrl_map[] = { static const struct pinctrl_map marzen_pinctrl_map[] = {
...@@ -219,6 +249,16 @@ static const struct pinctrl_map marzen_pinctrl_map[] = { ...@@ -219,6 +249,16 @@ static const struct pinctrl_map marzen_pinctrl_map[] = {
/* USB2 */ /* USB2 */
PIN_MAP_MUX_GROUP_DEFAULT("ehci-platform.1", "pfc-r8a7779", PIN_MAP_MUX_GROUP_DEFAULT("ehci-platform.1", "pfc-r8a7779",
"usb2", "usb2"), "usb2", "usb2"),
/* VIN1 */
PIN_MAP_MUX_GROUP_DEFAULT("r8a7779-vin.1", "pfc-r8a7779",
"vin1_clk", "vin1"),
PIN_MAP_MUX_GROUP_DEFAULT("r8a7779-vin.1", "pfc-r8a7779",
"vin1_data8", "vin1"),
/* VIN3 */
PIN_MAP_MUX_GROUP_DEFAULT("r8a7779-vin.3", "pfc-r8a7779",
"vin3_clk", "vin3"),
PIN_MAP_MUX_GROUP_DEFAULT("r8a7779-vin.3", "pfc-r8a7779",
"vin3_data8", "vin3"),
}; };
static void __init marzen_init(void) static void __init marzen_init(void)
...@@ -235,6 +275,8 @@ static void __init marzen_init(void) ...@@ -235,6 +275,8 @@ static void __init marzen_init(void)
r8a7779_add_standard_devices(); r8a7779_add_standard_devices();
r8a7779_add_usb_phy_device(&usb_phy_platform_data); r8a7779_add_usb_phy_device(&usb_phy_platform_data);
r8a7779_add_vin_device(1, &vin_platform_data);
r8a7779_add_vin_device(3, &vin_platform_data);
platform_add_devices(marzen_devices, ARRAY_SIZE(marzen_devices)); platform_add_devices(marzen_devices, ARRAY_SIZE(marzen_devices));
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册