[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: Vladimir Barinov <vladimir.barinov@cogentembedded.com> Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> Acked-by: Simon Horman <horms+renesas@verge.net.au> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
This commit is contained in:
parent
4714a0255e
commit
7cef5e7fd1
|
@ -1,8 +1,9 @@
|
|||
/*
|
||||
* marzen board support
|
||||
*
|
||||
* Copyright (C) 2011 Renesas Solutions Corp.
|
||||
* Copyright (C) 2011, 2013 Renesas Solutions Corp.
|
||||
* Copyright (C) 2011 Magnus Damm
|
||||
* Copyright (C) 2013 Cogent Embedded, Inc.
|
||||
*
|
||||
* 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
|
||||
|
@ -37,6 +38,7 @@
|
|||
#include <linux/mmc/host.h>
|
||||
#include <linux/mmc/sh_mobile_sdhi.h>
|
||||
#include <linux/mfd/tmio.h>
|
||||
#include <media/soc_camera.h>
|
||||
#include <mach/hardware.h>
|
||||
#include <mach/r8a7779.h>
|
||||
#include <mach/common.h>
|
||||
|
@ -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 = {
|
||||
ð_device,
|
||||
&sdhi0_device,
|
||||
&thermal_device,
|
||||
&hspi_device,
|
||||
&leds_device,
|
||||
&camera0_device,
|
||||
&camera1_device,
|
||||
};
|
||||
|
||||
static const struct pinctrl_map marzen_pinctrl_map[] = {
|
||||
|
@ -219,6 +249,16 @@ static const struct pinctrl_map marzen_pinctrl_map[] = {
|
|||
/* USB2 */
|
||||
PIN_MAP_MUX_GROUP_DEFAULT("ehci-platform.1", "pfc-r8a7779",
|
||||
"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)
|
||||
|
@ -235,6 +275,8 @@ static void __init marzen_init(void)
|
|||
|
||||
r8a7779_add_standard_devices();
|
||||
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));
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue