Skip to contentSkip to conversation

R8A7778/BOCK-W R-Car VIN driver support

PATCH Superseded Sergei Shtylyov 3 participants 12 messages Jun 21, 2013 – Jun 27, 2013

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

v5 cover R8A7778/BOCK-W R-Car VIN driver support

Hello.

Here's the set of 3 patches against the Simon Horman's 'renesas.git' repo,
'renesas-next-20130620' tag. Here we add the VIN platform code working on the R8A7778/BOCK-W with ML86V7667 video decoder.

[1/3] ARM: shmobile: r8a7778: add VIN support
[2/3] ARM: shmobile: BOCK-W: add VIN and ML86V7667 support [3/3] ARM: shmobile: BOCK-W: enable VIN and ML86V7667 in defconfig

The patch containing OKI ML86V7667 video decoder driver has been removed
from the series as it should be applied to the 'media_tree.git' repo. The patch containing the VIN PFC support has been also removed from the series and has now been merged.

WBR, Sergei

#1 lore raw

PATCH v5 1/3 ARM: shmobile: r8a7778: add VIN support

From: Vladimir Barinov <[email protected]>

Add VIN clocks and platform devices on R8A7778 SoC; add function to register the VIN platform devices.

[Sergei: added 'id' parameter check to r8a7779_add_vin_device(), used '*pdata' in *sizeof* operator there, renamed some variables, annotated 'vin[01]_info' and vin[01]_resources[] as '__initdata'.]

---
Changes since version 4:
- resolved reject, refreshed the patch.

Changes since version 3:
- changed the VIN platform device names to be R8A7778 specific;
- resolved reject in <mach/r8a7778.h> due to USB patch rework.

Changes from version 2:
- annotated 'vin[01]_info' and vin[01]_resources[] as '__initdata' since they're kmemdup()'ed while registering the platform devices anyway;
- refreshed the patch.

 arch/arm/mach-shmobile/clock-r8a7778.c        |    5 +++
 arch/arm/mach-shmobile/include/mach/r8a7778.h |    3 ++
 arch/arm/mach-shmobile/setup-r8a7778.c        |   33 ++++++++++++++++++++++++++
 3 files changed, 41 insertions(+)
arch/arm/mach-shmobile/clock-r8a7778.c +5 -0
Index: renesas/arch/arm/mach-shmobile/clock-r8a7778.c
===================================================================
@@ -106,6 +106,7 @@ enum {
 	MSTP331,
 	MSTP323, MSTP322, MSTP321,
 	MSTP114,
+	MSTP110, MSTP109,
 	MSTP100,
 	MSTP030,
 	MSTP029, MSTP028, MSTP027, MSTP026, MSTP025, MSTP024, MSTP023, MSTP022, MSTP021,
@@ -119,6 +120,8 @@ static struct clk mstp_clks[MSTP_NR] = {
 	[MSTP322] = SH_CLK_MSTP32(&p_clk, MSTPCR3, 22, 0), /* SDHI1 */
 	[MSTP321] = SH_CLK_MSTP32(&p_clk, MSTPCR3, 21, 0), /* SDHI2 */
 	[MSTP114] = SH_CLK_MSTP32(&p_clk, MSTPCR1, 14, 0), /* Ether */
+	[MSTP110] = SH_CLK_MSTP32(&s_clk, MSTPCR1, 10, 0), /* VIN0 */
+	[MSTP109] = SH_CLK_MSTP32(&s_clk, MSTPCR1,  9, 0), /* VIN1 */
 	[MSTP100] = SH_CLK_MSTP32(&p_clk, MSTPCR1,  0, 0), /* USB0/1 */
 	[MSTP030] = SH_CLK_MSTP32(&p_clk, MSTPCR0, 30, 0), /* I2C0 */
 	[MSTP029] = SH_CLK_MSTP32(&p_clk, MSTPCR0, 29, 0), /* I2C1 */
@@ -146,6 +149,8 @@ static struct clk_lookup lookups[] = {
 	CLKDEV_DEV_ID("sh_mobile_sdhi.1", &mstp_clks[MSTP322]), /* SDHI1 */
 	CLKDEV_DEV_ID("sh_mobile_sdhi.2", &mstp_clks[MSTP321]), /* SDHI2 */
 	CLKDEV_DEV_ID("sh-eth",	&mstp_clks[MSTP114]), /* Ether */
+	CLKDEV_DEV_ID("r8a7778-vin.0", &mstp_clks[MSTP110]), /* VIN0 */
+	CLKDEV_DEV_ID("r8a7778-vin.1", &mstp_clks[MSTP109]), /* VIN1 */
 	CLKDEV_DEV_ID("ehci-platform", &mstp_clks[MSTP100]), /* USB EHCI port0/1 */
 	CLKDEV_DEV_ID("ohci-platform", &mstp_clks[MSTP100]), /* USB OHCI port0/1 */
 	CLKDEV_DEV_ID("i2c-rcar.0", &mstp_clks[MSTP030]), /* I2C0 */
arch/arm/mach-shmobile/include/mach/r8a7778.h +3 -0
Index: renesas/arch/arm/mach-shmobile/include/mach/r8a7778.h
===================================================================
@@ -22,6 +22,7 @@
 #include <linux/mmc/sh_mobile_sdhi.h>
 #include <linux/sh_eth.h>
 #include <linux/platform_data/usb-rcar-phy.h>
+#include <linux/platform_data/camera-rcar.h>
 
 extern void r8a7778_add_standard_devices(void);
 extern void r8a7778_add_standard_devices_dt(void);
@@ -29,6 +30,8 @@ extern void r8a7778_add_ether_device(str
 extern void r8a7778_add_i2c_device(int id);
 extern void r8a7778_add_hspi_device(int id);
 extern void r8a7778_add_mmc_device(struct sh_mmcif_plat_data *info);
+extern void r8a7778_add_vin_device(int id,
+				   struct rcar_vin_platform_data *pdata);
 
 extern void r8a7778_add_usb_phy_device(struct rcar_phy_platform_data *pdata);
 extern void r8a7778_init_late(void);
arch/arm/mach-shmobile/setup-r8a7778.c +33 -0
Index: renesas/arch/arm/mach-shmobile/setup-r8a7778.c
===================================================================
@@ -333,6 +333,39 @@ void __init r8a7778_add_mmc_device(struc
 		info, sizeof(*info));
 }
 
+/* VIN */
+#define R8A7778_VIN(idx)						\
+static struct resource vin##idx##_resources[] __initdata = {		\
+	DEFINE_RES_MEM(0xffc50000 + 0x1000 * (idx), 0x1000),		\
+	DEFINE_RES_IRQ(gic_iid(0x5a)),					\
+};									\
+									\
+static struct platform_device_info vin##idx##_info __initdata = {	\
+	.parent		= &platform_bus,				\
+	.name		= "r8a7778-vin",				\
+	.id		= idx,						\
+	.res		= vin##idx##_resources,				\
+	.num_res	= ARRAY_SIZE(vin##idx##_resources),		\
+	.dma_mask	= DMA_BIT_MASK(32),				\
+}
+
+R8A7778_VIN(0);
+R8A7778_VIN(1);
+
+static struct platform_device_info *vin_info_table[] __initdata = {
+	&vin0_info,
+	&vin1_info,
+};
+
+void __init r8a7778_add_vin_device(int id, struct rcar_vin_platform_data *pdata)
+{
+	BUG_ON(id < 0 || id > 1);
+
+	vin_info_table[id]->data = pdata;
+	vin_info_table[id]->size_data = sizeof(*pdata);
+	platform_device_register_full(vin_info_table[id]);
+}
+
 void __init r8a7778_add_standard_devices(void)
 {
 	int i;
#2 lore raw

PATCH v5 1/3 ARM: shmobile: r8a7778: add VIN support

Hi

I have 2 small comments

But, basically, I have no objection to this patch.

Quoted 24 lines

From: Vladimir Barinov <[email protected]>

Add VIN clocks and platform devices on R8A7778 SoC; add function to register the VIN platform devices.

[Sergei: added 'id' parameter check to r8a7779_add_vin_device(), used '*pdata' in *sizeof* operator there, renamed some variables, annotated 'vin[01]_info' and vin[01]_resources[] as '__initdata'.]

---
Changes since version 4:
- resolved reject, refreshed the patch.

Changes since version 3:
- changed the VIN platform device names to be R8A7778 specific;
- resolved reject in <mach/r8a7778.h> due to USB patch rework.

Changes from version 2:
- annotated 'vin[01]_info' and vin[01]_resources[] as '__initdata' since they're kmemdup()'ed while registering the platform devices anyway;
- refreshed the patch.

Quoted 4 lines
 arch/arm/mach-shmobile/clock-r8a7778.c        |    5 +++
 arch/arm/mach-shmobile/include/mach/r8a7778.h |    3 ++
 arch/arm/mach-shmobile/setup-r8a7778.c        |   33 ++++++++++++++++++++++++++
 3 files changed, 41 insertions(+)

Simon (or ARM Maintainer ?) will be happy if clock was separated ?

arch/arm/mach-shmobile/clock-r8a7778.c enum { · line 111

Quoted 11 lines

Index: renesas/arch/arm/mach-shmobile/clock-r8a7778.c
===================================================================

arch/arm/mach-shmobile/clock-r8a7778.c +1 -0
@@ -106,6 +106,7 @@ enum {
 	MSTP331,
 	MSTP323, MSTP322, MSTP321,
 	MSTP114,
+	MSTP110, MSTP109,
 	MSTP100,
 	MSTP030,

MSTP114, MSTP110
MSTP109, MSTP100

is better

Best regards
---
Kuninori Morimoto

#3 lore raw

PATCH v5 1/3 ARM: shmobile: r8a7778: add VIN support

Quoted 33 lines · Kuninori Morimoto

Hi

I have 2 small comments

But, basically, I have no objection to this patch.

Quoted 24 lines

From: Vladimir Barinov <[email protected]>

Add VIN clocks and platform devices on R8A7778 SoC; add function to register the VIN platform devices.

[Sergei: added 'id' parameter check to r8a7779_add_vin_device(), used '*pdata' in *sizeof* operator there, renamed some variables, annotated 'vin[01]_info' and vin[01]_resources[] as '__initdata'.]

---
Changes since version 4:
- resolved reject, refreshed the patch.

Changes since version 3:
- changed the VIN platform device names to be R8A7778 specific;
- resolved reject in <mach/r8a7778.h> due to USB patch rework.

Changes from version 2:
- annotated 'vin[01]_info' and vin[01]_resources[] as '__initdata' since they're kmemdup()'ed while registering the platform devices anyway;
- refreshed the patch.

Quoted 6 lines
Quoted 4 lines
 arch/arm/mach-shmobile/clock-r8a7778.c        |    5 +++
 arch/arm/mach-shmobile/include/mach/r8a7778.h |    3 ++
 arch/arm/mach-shmobile/setup-r8a7778.c        |   33 ++++++++++++++++++++++++++
 3 files changed, 41 insertions(+)

Simon (or ARM Maintainer ?) will be happy if clock was separated ?

Actually, I made a mistake with regards to that. I now think it is ok to have them together. Sorry for causing you some extra work earlier this month.

Quoted 27 lines

arch/arm/mach-shmobile/clock-r8a7778.c enum { · line 111

Quoted 12 lines

Index: renesas/arch/arm/mach-shmobile/clock-r8a7778.c
===================================================================

arch/arm/mach-shmobile/clock-r8a7778.c +1 -0
@@ -106,6 +106,7 @@ enum {
 	MSTP331,
 	MSTP323, MSTP322, MSTP321,
 	MSTP114,
+	MSTP110, MSTP109,
 	MSTP100,
 	MSTP030,

MSTP114, MSTP110
MSTP109, MSTP100

is better

Best regards
---
Kuninori Morimoto
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html

#4 lore raw

PATCH v5 1/3 ARM: shmobile: r8a7778: add VIN support

Hi Simon

Quoted 10 lines
Quoted 6 lines
Quoted 4 lines
 arch/arm/mach-shmobile/clock-r8a7778.c        |    5 +++
 arch/arm/mach-shmobile/include/mach/r8a7778.h |    3 ++
 arch/arm/mach-shmobile/setup-r8a7778.c        |   33 ++++++++++++++++++++++++++
 3 files changed, 41 insertions(+)

Simon (or ARM Maintainer ?) will be happy if clock was separated ?

Actually, I made a mistake with regards to that. I now think it is ok to have them together. Sorry for causing you some extra work earlier this month.

OK, thank you :)

Best regards
---
Kuninori Morimoto

#5 lore raw

PATCH v5 1/3 ARM: shmobile: r8a7778: add VIN support

In reply to Kuninori Morimoto

Hello.

Quoted 30 lines · Kuninori Morimoto

I have 2 small comments

But, basically, I have no objection to this patch.

Quoted 23 lines

From: Vladimir Barinov <[email protected]>

Add VIN clocks and platform devices on R8A7778 SoC; add function to register the VIN platform devices.

[Sergei: added 'id' parameter check to r8a7779_add_vin_device(), used '*pdata' in *sizeof* operator there, renamed some variables, annotated 'vin[01]_info' and vin[01]_resources[] as '__initdata'.]

---
Changes since version 4:
- resolved reject, refreshed the patch.

Changes since version 3:
- changed the VIN platform device names to be R8A7778 specific;
- resolved reject in <mach/r8a7778.h> due to USB patch rework.

Changes from version 2:
- annotated 'vin[01]_info' and vin[01]_resources[] as '__initdata' since they're kmemdup()'ed while registering the platform devices anyway;
- refreshed the patch.

Quoted 6 lines
Quoted 4 lines
  arch/arm/mach-shmobile/clock-r8a7778.c        |    5 +++
  arch/arm/mach-shmobile/include/mach/r8a7778.h |    3 ++
  arch/arm/mach-shmobile/setup-r8a7778.c        |   33 ++++++++++++++++++++++++++
  3 files changed, 41 insertions(+)

Simon (or ARM Maintainer ?) will be happy if clock was separated ?

Neither I guess. Simon wrote to you "scratch that" after his request
to separate device and clock changes.

Quoted 15 lines

arch/arm/mach-shmobile/clock-r8a7778.c enum { · line 111

Quoted 11 lines

Index: renesas/arch/arm/mach-shmobile/clock-r8a7778.c
===================================================================

arch/arm/mach-shmobile/clock-r8a7778.c +1 -0
@@ -106,6 +106,7 @@ enum {
  	MSTP331,
  	MSTP323, MSTP322, MSTP321,
  	MSTP114,
+	MSTP110, MSTP109,
  	MSTP100,
  	MSTP030,

MSTP114, MSTP110
MSTP109, MSTP100

Quoted 1 line

is better

Somewhat doubt it.

Quoted 3 lines

Best regards
---
Kuninori Morimoto

WBR, Sergei

#6 lore raw

PATCH v5 2/3 ARM: shmobile: BOCK-W: add VIN and ML86V7667 support

In reply to Sergei Shtylyov

From: Vladimir Barinov <[email protected]>

Add ML86V7667 platform devices on BOCK-W board, configure VIN0/1 pins, and register VIN0/1 devices with the ML86V7667 specific platform data.

[Sergei: some macro/comment cleanup; updated the copyrights, removed duplicate #include, annotated all platform data as '__initdata', added a ?heck for the 'sh_eth' driver being enabled before registering VIN1 due to a pin conflict, removed superfluous semicolon after iclink[01]_ml86v7667' initializer.]

---
Changes since version 4:
- added a ?heck for the 'sh_eth' driver being enabled before registering VIN1 due to a pin conflict;
- removed superfluous semicolon after iclink[01]_ml86v7667' initializer;
- resolved rejects, refreshed the patch.

Changes since version 3:
- changed the VIN platform device names to be R8A7778 specific;
- resolved reject due to USB patch rework, refreshed the patch.

Changes since version 2:
- removed duplicate #include <linux/pinctrl/machine.h>;
- annotated all platform data as '__initdata' since they're kmemdup()'ed while registering the platform devices anyway;
- resolved rejects, refreshed the patch.

 arch/arm/mach-shmobile/board-bockw.c |   41 +++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)
arch/arm/mach-shmobile/board-bockw.c +41 -0
Index: renesas/arch/arm/mach-shmobile/board-bockw.c
===================================================================
@@ -3,6 +3,7 @@
  *
  * Copyright (C) 2013  Renesas Solutions Corp.
  * Copyright (C) 2013  Kuninori Morimoto <[email protected]>
+ * 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
@@ -28,6 +29,7 @@
 #include <linux/smsc911x.h>
 #include <linux/spi/spi.h>
 #include <linux/spi/flash.h>
+#include <media/soc_camera.h>
 #include <mach/common.h>
 #include <mach/irqs.h>
 #include <mach/r8a7778.h>
@@ -142,6 +144,25 @@ static struct sh_mmcif_plat_data sh_mmci
 
 static struct rcar_phy_platform_data usb_phy_platform_data __initdata;
 
+static struct rcar_vin_platform_data vin_platform_data __initdata = {
+	.flags	= RCAR_VIN_BT656,
+};
+
+/* In the default configuration both decoders reside on I2C bus 0 */
+#define BOCKW_CAMERA(idx)						\
+static struct i2c_board_info camera##idx##_info = {			\
+	I2C_BOARD_INFO("ml86v7667", 0x41 + 2 * (idx)),			\
+};									\
+									\
+static struct soc_camera_link iclink##idx##_ml86v7667 __initdata = {	\
+	.bus_id		= idx,						\
+	.i2c_adapter_id	= 0,						\
+	.board_info	= &camera##idx##_info,				\
+}
+
+BOCKW_CAMERA(0);
+BOCKW_CAMERA(1);
+
 static const struct pinctrl_map bockw_pinctrl_map[] = {
 	/* Ether */
 	PIN_MAP_MUX_GROUP_DEFAULT("r8a777x-ether", "pfc-r8a7778",
@@ -166,6 +187,16 @@ static const struct pinctrl_map bockw_pi
 				  "usb0", "usb0"),
 	PIN_MAP_MUX_GROUP_DEFAULT("ehci-platform", "pfc-r8a7778",
 				  "usb1", "usb1"),
+	/* VIN0 */
+	PIN_MAP_MUX_GROUP_DEFAULT("r8a7778-vin.0", "pfc-r8a7778",
+				  "vin0_clk", "vin0"),
+	PIN_MAP_MUX_GROUP_DEFAULT("r8a7778-vin.0", "pfc-r8a7778",
+				  "vin0_data8", "vin0"),
+	/* VIN1 */
+	PIN_MAP_MUX_GROUP_DEFAULT("r8a7778-vin.1", "pfc-r8a7778",
+				  "vin1_clk", "vin1"),
+	PIN_MAP_MUX_GROUP_DEFAULT("r8a7778-vin.1", "pfc-r8a7778",
+				  "vin1_data8", "vin1"),
 };
 
 #define FPGA	0x18200000
@@ -184,6 +215,16 @@ static void __init bockw_init(void)
 	r8a7778_add_hspi_device(0);
 	r8a7778_add_mmc_device(&sh_mmcif_plat);
 	r8a7778_add_usb_phy_device(&usb_phy_platform_data);
+	r8a7778_add_vin_device(0, &vin_platform_data);
+	/* VIN1 has a pin conflict with Ether */
+	if (!IS_ENABLED(CONFIG_SH_ETH))
+		r8a7778_add_vin_device(1, &vin_platform_data);
+	platform_device_register_data(&platform_bus, "soc-camera-pdrv", 0,
+				      &iclink0_ml86v7667,
+				      sizeof(iclink0_ml86v7667));
+	platform_device_register_data(&platform_bus, "soc-camera-pdrv", 1,
+				      &iclink1_ml86v7667,
+				      sizeof(iclink1_ml86v7667));
 
 	i2c_register_board_info(0, i2c0_devices,
 				ARRAY_SIZE(i2c0_devices));
#7 lore raw

PATCH v5 2/3 ARM: shmobile: BOCK-W: add VIN and ML86V7667 support

Hi

Quoted 5 lines
arch/arm/mach-shmobile/board-bockw.c +1 -0
@@ -166,6 +187,16 @@ static const struct pinctrl_map bockw_pi
 				  "usb0", "usb0"),
 	PIN_MAP_MUX_GROUP_DEFAULT("ehci-platform", "pfc-r8a7778",
 				  "usb1", "usb1"),
+	/* VIN0 */

arch/arm/mach-shmobile/board-bockw.c static const struct pinctrl_map bockw_pi · line 200

Quoted 10 lines
arch/arm/mach-shmobile/board-bockw.c +9 -0
+	PIN_MAP_MUX_GROUP_DEFAULT("r8a7778-vin.0", "pfc-r8a7778",
+				  "vin0_clk", "vin0"),
+	PIN_MAP_MUX_GROUP_DEFAULT("r8a7778-vin.0", "pfc-r8a7778",
+				  "vin0_data8", "vin0"),
+	/* VIN1 */
+	PIN_MAP_MUX_GROUP_DEFAULT("r8a7778-vin.1", "pfc-r8a7778",
+				  "vin1_clk", "vin1"),
+	PIN_MAP_MUX_GROUP_DEFAULT("r8a7778-vin.1", "pfc-r8a7778",
+				  "vin1_data8", "vin1"),
 };

Here, it includes VIN1 pin, but

arch/arm/mach-shmobile/board-bockw.c static void __init bockw_init(void) · line 221

Quoted 9 lines
arch/arm/mach-shmobile/board-bockw.c +4 -0
 #define FPGA	0x18200000
@@ -184,6 +215,16 @@ static void __init bockw_init(void)
 	r8a7778_add_hspi_device(0);
 	r8a7778_add_mmc_device(&sh_mmcif_plat);
 	r8a7778_add_usb_phy_device(&usb_phy_platform_data);
+	r8a7778_add_vin_device(0, &vin_platform_data);
+	/* VIN1 has a pin conflict with Ether */
+	if (!IS_ENABLED(CONFIG_SH_ETH))
+		r8a7778_add_vin_device(1, &vin_platform_data);

what happen if SH_ETH was enabled here ? r8a7778_add_vin_device(1, xxx) is not called, but bockw_pinctrl_map was called with VIN1 setting ?

Best regards
---
Kuninori Morimoto

#8 lore raw

PATCH v5 2/3 ARM: shmobile: BOCK-W: add VIN and ML86V7667 support

Hello.

Quoted 18 lines · Kuninori Morimoto
Quoted 5 lines
arch/arm/mach-shmobile/board-bockw.c +1 -0
@@ -166,6 +187,16 @@ static const struct pinctrl_map bockw_pi
  				  "usb0", "usb0"),
  	PIN_MAP_MUX_GROUP_DEFAULT("ehci-platform", "pfc-r8a7778",
  				  "usb1", "usb1"),
+	/* VIN0 */

arch/arm/mach-shmobile/board-bockw.c static const struct pinctrl_map bockw_pi · line 200

Quoted 10 lines
arch/arm/mach-shmobile/board-bockw.c +9 -0
+	PIN_MAP_MUX_GROUP_DEFAULT("r8a7778-vin.0", "pfc-r8a7778",
+				  "vin0_clk", "vin0"),
+	PIN_MAP_MUX_GROUP_DEFAULT("r8a7778-vin.0", "pfc-r8a7778",
+				  "vin0_data8", "vin0"),
+	/* VIN1 */
+	PIN_MAP_MUX_GROUP_DEFAULT("r8a7778-vin.1", "pfc-r8a7778",
+				  "vin1_clk", "vin1"),
+	PIN_MAP_MUX_GROUP_DEFAULT("r8a7778-vin.1", "pfc-r8a7778",
+				  "vin1_data8", "vin1"),
  };

Here, it includes VIN1 pin, but

Quoted 13 lines

arch/arm/mach-shmobile/board-bockw.c static void __init bockw_init(void) · line 221

Quoted 9 lines
arch/arm/mach-shmobile/board-bockw.c +4 -0
  #define FPGA	0x18200000
@@ -184,6 +215,16 @@ static void __init bockw_init(void)
  	r8a7778_add_hspi_device(0);
  	r8a7778_add_mmc_device(&sh_mmcif_plat);
  	r8a7778_add_usb_phy_device(&usb_phy_platform_data);
+	r8a7778_add_vin_device(0, &vin_platform_data);
+	/* VIN1 has a pin conflict with Ether */
+	if (!IS_ENABLED(CONFIG_SH_ETH))
+		r8a7778_add_vin_device(1, &vin_platform_data);

what happen if SH_ETH was enabled here ? r8a7778_add_vin_device(1, xxx) is not called, but bockw_pinctrl_map was called with VIN1 setting ?

Don't worry, it's all tested. If the VIN1 platform device is not
registered, VIN1 pinmux settings won't be selected by the driver core.

Quoted 3 lines

Best regards
---
Kuninori Morimoto

WBR, Sergei

#9 lore raw

PATCH v5 3/3 ARM: shmobile: BOCK-W: enable VIN and ML86V7667 in defconfig

In reply to Sergei Shtylyov

From: Vladimir Barinov <[email protected]>

Add the VIN and ML86V7667 drivers to 'bockw_defconfig'.

---
Changes since version 4:
- resolved reject.

 arch/arm/configs/bockw_defconfig |    7 +++++++
 1 file changed, 7 insertions(+)
arch/arm/configs/bockw_defconfig +7 -0
Index: renesas/arch/arm/configs/bockw_defconfig
===================================================================
@@ -82,6 +82,13 @@ CONFIG_SERIAL_SH_SCI_CONSOLE=y
 # CONFIG_HWMON is not set
 CONFIG_I2C=y
 CONFIG_I2C_RCAR=y
+CONFIG_MEDIA_SUPPORT=y
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+CONFIG_V4L_PLATFORM_DRIVERS=y
+CONFIG_SOC_CAMERA=y
+CONFIG_VIDEO_RCAR_VIN=y
+# CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set
+CONFIG_VIDEO_ML86V7667=y
 CONFIG_SPI=y
 CONFIG_SPI_SH_HSPI=y
 CONFIG_USB=y
#10 lore raw

v5 cover R8A7778/BOCK-W R-Car VIN driver support

In reply to Sergei Shtylyov
Quoted 6 lines · Sergei Shtylyov

Hello.

Here's the set of 3 patches against the Simon Horman's 'renesas.git' repo,
'renesas-next-20130620' tag. Here we add the VIN platform code working on the R8A7778/BOCK-W with ML86V7667 video decoder.

Quoted 8 lines

[1/3] ARM: shmobile: r8a7778: add VIN support
[2/3] ARM: shmobile: BOCK-W: add VIN and ML86V7667 support [3/3] ARM: shmobile: BOCK-W: enable VIN and ML86V7667 in defconfig

The patch containing OKI ML86V7667 video decoder driver has been removed
from the series as it should be applied to the 'media_tree.git' repo. The patch containing the VIN PFC support has been also removed from the series and has now been merged.

Hi Sergei,

is this series dependent on that patch or can it be applied independently?

Magnus, Morimoto-san,

could you take some time to review this series?

#11 lore raw

v5 cover R8A7778/BOCK-W R-Car VIN driver support

Hello.

Quoted 8 lines · Simon Horman
Quoted 7 lines

Here's the set of 3 patches against the Simon Horman's 'renesas.git' repo,
'renesas-next-20130620' tag. Here we add the VIN platform code working on the R8A7778/BOCK-W with ML86V7667 video decoder.

[1/3] ARM: shmobile: r8a7778: add VIN support
[2/3] ARM: shmobile: BOCK-W: add VIN and ML86V7667 support [3/3] ARM: shmobile: BOCK-W: enable VIN and ML86V7667 in defconfig

Quoted 6 lines
Quoted 4 lines

The patch containing OKI ML86V7667 video decoder driver has been removed
from the series as it should be applied to the 'media_tree.git' repo. The patch containing the VIN PFC support has been also removed from the series and has now been merged.

is this series dependent on that patch or can it be applied independently?

No, it's dependent on the VIN driver patch for the platform data.

WBR, Sergei