All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 0/3] R8A7778/BOCK-W R-Car VIN driver support
@ 2013-06-21 23:26 ` Sergei Shtylyov
  0 siblings, 0 replies; 24+ messages in thread
From: Sergei Shtylyov @ 2013-06-21 23:26 UTC (permalink / raw)
  To: linux-arm-kernel

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

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [PATCH v5 0/3] R8A7778/BOCK-W R-Car VIN driver support
@ 2013-06-21 23:26 ` Sergei Shtylyov
  0 siblings, 0 replies; 24+ messages in thread
From: Sergei Shtylyov @ 2013-06-21 23:26 UTC (permalink / raw)
  To: linux-arm-kernel

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

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [PATCH v5 1/3] ARM: shmobile: r8a7778: add VIN support
  2013-06-21 23:26 ` Sergei Shtylyov
@ 2013-06-21 23:28   ` Sergei Shtylyov
  -1 siblings, 0 replies; 24+ messages in thread
From: Sergei Shtylyov @ 2013-06-21 23:28 UTC (permalink / raw)
  To: linux-arm-kernel

From: Vladimir Barinov <vladimir.barinov@cogentembedded.com>

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

Signed-off-by: Vladimir Barinov <vladimir.barinov@cogentembedded.com>
[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'.]
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>

---
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(+)

Index: renesas/arch/arm/mach-shmobile/clock-r8a7778.c
=================================--- renesas.orig/arch/arm/mach-shmobile/clock-r8a7778.c
+++ 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 */
Index: renesas/arch/arm/mach-shmobile/include/mach/r8a7778.h
=================================--- renesas.orig/arch/arm/mach-shmobile/include/mach/r8a7778.h
+++ 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);
Index: renesas/arch/arm/mach-shmobile/setup-r8a7778.c
=================================--- renesas.orig/arch/arm/mach-shmobile/setup-r8a7778.c
+++ 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;

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [PATCH v5 1/3] ARM: shmobile: r8a7778: add VIN support
@ 2013-06-21 23:28   ` Sergei Shtylyov
  0 siblings, 0 replies; 24+ messages in thread
From: Sergei Shtylyov @ 2013-06-21 23:28 UTC (permalink / raw)
  To: linux-arm-kernel

From: Vladimir Barinov <vladimir.barinov@cogentembedded.com>

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

Signed-off-by: Vladimir Barinov <vladimir.barinov@cogentembedded.com>
[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'.]
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>

---
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(+)

Index: renesas/arch/arm/mach-shmobile/clock-r8a7778.c
===================================================================
--- renesas.orig/arch/arm/mach-shmobile/clock-r8a7778.c
+++ 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 */
Index: renesas/arch/arm/mach-shmobile/include/mach/r8a7778.h
===================================================================
--- renesas.orig/arch/arm/mach-shmobile/include/mach/r8a7778.h
+++ 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);
Index: renesas/arch/arm/mach-shmobile/setup-r8a7778.c
===================================================================
--- renesas.orig/arch/arm/mach-shmobile/setup-r8a7778.c
+++ 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;

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [PATCH v5 2/3] ARM: shmobile: BOCK-W: add VIN and ML86V7667 support
  2013-06-21 23:26 ` Sergei Shtylyov
@ 2013-06-21 23:30   ` Sergei Shtylyov
  -1 siblings, 0 replies; 24+ messages in thread
From: Sergei Shtylyov @ 2013-06-21 23:30 UTC (permalink / raw)
  To: linux-arm-kernel

From: Vladimir Barinov <vladimir.barinov@cogentembedded.com>

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

Signed-off-by: Vladimir Barinov <vladimir.barinov@cogentembedded.com>
[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.]
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>

---
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(+)

Index: renesas/arch/arm/mach-shmobile/board-bockw.c
=================================--- renesas.orig/arch/arm/mach-shmobile/board-bockw.c
+++ renesas/arch/arm/mach-shmobile/board-bockw.c
@@ -3,6 +3,7 @@
  *
  * Copyright (C) 2013  Renesas Solutions Corp.
  * Copyright (C) 2013  Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
+ * 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));

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [PATCH v5 2/3] ARM: shmobile: BOCK-W: add VIN and ML86V7667 support
@ 2013-06-21 23:30   ` Sergei Shtylyov
  0 siblings, 0 replies; 24+ messages in thread
From: Sergei Shtylyov @ 2013-06-21 23:30 UTC (permalink / raw)
  To: linux-arm-kernel

From: Vladimir Barinov <vladimir.barinov@cogentembedded.com>

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

Signed-off-by: Vladimir Barinov <vladimir.barinov@cogentembedded.com>
[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.]
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>

---
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(+)

Index: renesas/arch/arm/mach-shmobile/board-bockw.c
===================================================================
--- renesas.orig/arch/arm/mach-shmobile/board-bockw.c
+++ renesas/arch/arm/mach-shmobile/board-bockw.c
@@ -3,6 +3,7 @@
  *
  * Copyright (C) 2013  Renesas Solutions Corp.
  * Copyright (C) 2013  Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
+ * 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));

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [PATCH v5 3/3] ARM: shmobile: BOCK-W: enable VIN and ML86V7667 in defconfig
  2013-06-21 23:26 ` Sergei Shtylyov
@ 2013-06-21 23:31   ` Sergei Shtylyov
  -1 siblings, 0 replies; 24+ messages in thread
From: Sergei Shtylyov @ 2013-06-21 23:31 UTC (permalink / raw)
  To: linux-arm-kernel

From: Vladimir Barinov <vladimir.barinov@cogentembedded.com>

Add the VIN and ML86V7667 drivers to 'bockw_defconfig'.

Signed-off-by: Vladimir Barinov <vladimir.barinov@cogentembedded.com>
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>

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

 arch/arm/configs/bockw_defconfig |    7 +++++++
 1 file changed, 7 insertions(+)

Index: renesas/arch/arm/configs/bockw_defconfig
=================================--- renesas.orig/arch/arm/configs/bockw_defconfig
+++ 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

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [PATCH v5 3/3] ARM: shmobile: BOCK-W: enable VIN and ML86V7667 in defconfig
@ 2013-06-21 23:31   ` Sergei Shtylyov
  0 siblings, 0 replies; 24+ messages in thread
From: Sergei Shtylyov @ 2013-06-21 23:31 UTC (permalink / raw)
  To: linux-arm-kernel

From: Vladimir Barinov <vladimir.barinov@cogentembedded.com>

Add the VIN and ML86V7667 drivers to 'bockw_defconfig'.

Signed-off-by: Vladimir Barinov <vladimir.barinov@cogentembedded.com>
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>

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

 arch/arm/configs/bockw_defconfig |    7 +++++++
 1 file changed, 7 insertions(+)

Index: renesas/arch/arm/configs/bockw_defconfig
===================================================================
--- renesas.orig/arch/arm/configs/bockw_defconfig
+++ 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

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH v5 0/3] R8A7778/BOCK-W R-Car VIN driver support
  2013-06-21 23:26 ` Sergei Shtylyov
@ 2013-06-27  4:48   ` Simon Horman
  -1 siblings, 0 replies; 24+ messages in thread
From: Simon Horman @ 2013-06-27  4:48 UTC (permalink / raw)
  To: linux-arm-kernel

On Sat, Jun 22, 2013 at 03:26:45AM +0400, Sergei Shtylyov wrote:
> 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.

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?

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [PATCH v5 0/3] R8A7778/BOCK-W R-Car VIN driver support
@ 2013-06-27  4:48   ` Simon Horman
  0 siblings, 0 replies; 24+ messages in thread
From: Simon Horman @ 2013-06-27  4:48 UTC (permalink / raw)
  To: linux-arm-kernel

On Sat, Jun 22, 2013 at 03:26:45AM +0400, Sergei Shtylyov wrote:
> 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.

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?

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH v5 1/3] ARM: shmobile: r8a7778: add VIN support
  2013-06-21 23:28   ` Sergei Shtylyov
@ 2013-06-27  5:19     ` Kuninori Morimoto
  -1 siblings, 0 replies; 24+ messages in thread
From: Kuninori Morimoto @ 2013-06-27  5:19 UTC (permalink / raw)
  To: linux-arm-kernel


Hi

I have 2 small comments

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

Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>

> From: Vladimir Barinov <vladimir.barinov@cogentembedded.com>
> 
> Add VIN clocks and platform devices on R8A7778 SoC; add function to register
> the VIN platform devices.
> 
> Signed-off-by: Vladimir Barinov <vladimir.barinov@cogentembedded.com>
> [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'.]
> Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
> 
> ---
> 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(+)

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

> Index: renesas/arch/arm/mach-shmobile/clock-r8a7778.c
> =================================> --- renesas.orig/arch/arm/mach-shmobile/clock-r8a7778.c
> +++ renesas/arch/arm/mach-shmobile/clock-r8a7778.c
> @@ -106,6 +106,7 @@ enum {
>  	MSTP331,
>  	MSTP323, MSTP322, MSTP321,
>  	MSTP114,
> +	MSTP110, MSTP109,
>  	MSTP100,
>  	MSTP030,

MSTP114, MSTP110
MSTP109, MSTP100

is better


Best regards
---
Kuninori Morimoto

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [PATCH v5 1/3] ARM: shmobile: r8a7778: add VIN support
@ 2013-06-27  5:19     ` Kuninori Morimoto
  0 siblings, 0 replies; 24+ messages in thread
From: Kuninori Morimoto @ 2013-06-27  5:19 UTC (permalink / raw)
  To: linux-arm-kernel


Hi

I have 2 small comments

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

Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>

> From: Vladimir Barinov <vladimir.barinov@cogentembedded.com>
> 
> Add VIN clocks and platform devices on R8A7778 SoC; add function to register
> the VIN platform devices.
> 
> Signed-off-by: Vladimir Barinov <vladimir.barinov@cogentembedded.com>
> [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'.]
> Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
> 
> ---
> 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(+)

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

> Index: renesas/arch/arm/mach-shmobile/clock-r8a7778.c
> ===================================================================
> --- renesas.orig/arch/arm/mach-shmobile/clock-r8a7778.c
> +++ renesas/arch/arm/mach-shmobile/clock-r8a7778.c
> @@ -106,6 +106,7 @@ enum {
>  	MSTP331,
>  	MSTP323, MSTP322, MSTP321,
>  	MSTP114,
> +	MSTP110, MSTP109,
>  	MSTP100,
>  	MSTP030,

MSTP114, MSTP110
MSTP109, MSTP100

is better


Best regards
---
Kuninori Morimoto

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH v5 2/3] ARM: shmobile: BOCK-W: add VIN and ML86V7667 support
  2013-06-21 23:30   ` Sergei Shtylyov
@ 2013-06-27  5:25     ` Kuninori Morimoto
  -1 siblings, 0 replies; 24+ messages in thread
From: Kuninori Morimoto @ 2013-06-27  5:25 UTC (permalink / raw)
  To: linux-arm-kernel


Hi

> @@ -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"),
>  };

Here, it includes VIN1 pin, but

>  #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

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [PATCH v5 2/3] ARM: shmobile: BOCK-W: add VIN and ML86V7667 support
@ 2013-06-27  5:25     ` Kuninori Morimoto
  0 siblings, 0 replies; 24+ messages in thread
From: Kuninori Morimoto @ 2013-06-27  5:25 UTC (permalink / raw)
  To: linux-arm-kernel


Hi

> @@ -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"),
>  };

Here, it includes VIN1 pin, but

>  #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

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH v5 1/3] ARM: shmobile: r8a7778: add VIN support
  2013-06-27  5:19     ` Kuninori Morimoto
@ 2013-06-27  5:30       ` Simon Horman
  -1 siblings, 0 replies; 24+ messages in thread
From: Simon Horman @ 2013-06-27  5:30 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Jun 26, 2013 at 10:19:27PM -0700, Kuninori Morimoto wrote:
> 
> Hi
> 
> I have 2 small comments
> 
> But, basically, I have no objection to this patch.
> 
> Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> 
> > From: Vladimir Barinov <vladimir.barinov@cogentembedded.com>
> > 
> > Add VIN clocks and platform devices on R8A7778 SoC; add function to register
> > the VIN platform devices.
> > 
> > Signed-off-by: Vladimir Barinov <vladimir.barinov@cogentembedded.com>
> > [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'.]
> > Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
> > 
> > ---
> > 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(+)
> 
> 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.

> 
> > Index: renesas/arch/arm/mach-shmobile/clock-r8a7778.c
> > =================================> > --- renesas.orig/arch/arm/mach-shmobile/clock-r8a7778.c
> > +++ renesas/arch/arm/mach-shmobile/clock-r8a7778.c
> > @@ -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@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [PATCH v5 1/3] ARM: shmobile: r8a7778: add VIN support
@ 2013-06-27  5:30       ` Simon Horman
  0 siblings, 0 replies; 24+ messages in thread
From: Simon Horman @ 2013-06-27  5:30 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Jun 26, 2013 at 10:19:27PM -0700, Kuninori Morimoto wrote:
> 
> Hi
> 
> I have 2 small comments
> 
> But, basically, I have no objection to this patch.
> 
> Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> 
> > From: Vladimir Barinov <vladimir.barinov@cogentembedded.com>
> > 
> > Add VIN clocks and platform devices on R8A7778 SoC; add function to register
> > the VIN platform devices.
> > 
> > Signed-off-by: Vladimir Barinov <vladimir.barinov@cogentembedded.com>
> > [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'.]
> > Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
> > 
> > ---
> > 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(+)
> 
> 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.

> 
> > Index: renesas/arch/arm/mach-shmobile/clock-r8a7778.c
> > ===================================================================
> > --- renesas.orig/arch/arm/mach-shmobile/clock-r8a7778.c
> > +++ renesas/arch/arm/mach-shmobile/clock-r8a7778.c
> > @@ -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
> 

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH v5 1/3] ARM: shmobile: r8a7778: add VIN support
  2013-06-27  5:30       ` Simon Horman
@ 2013-06-27  5:39         ` Kuninori Morimoto
  -1 siblings, 0 replies; 24+ messages in thread
From: Kuninori Morimoto @ 2013-06-27  5:39 UTC (permalink / raw)
  To: linux-arm-kernel


Hi Simon

> > >  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

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [PATCH v5 1/3] ARM: shmobile: r8a7778: add VIN support
@ 2013-06-27  5:39         ` Kuninori Morimoto
  0 siblings, 0 replies; 24+ messages in thread
From: Kuninori Morimoto @ 2013-06-27  5:39 UTC (permalink / raw)
  To: linux-arm-kernel


Hi Simon

> > >  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

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH v5 0/3] R8A7778/BOCK-W R-Car VIN driver support
  2013-06-27  4:48   ` Simon Horman
@ 2013-06-27 11:21     ` Sergei Shtylyov
  -1 siblings, 0 replies; 24+ messages in thread
From: Sergei Shtylyov @ 2013-06-27 11:21 UTC (permalink / raw)
  To: linux-arm-kernel

Hello.

On 27-06-2013 8:48, Simon Horman wrote:

>>     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.

> 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


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [PATCH v5 0/3] R8A7778/BOCK-W R-Car VIN driver support
@ 2013-06-27 11:21     ` Sergei Shtylyov
  0 siblings, 0 replies; 24+ messages in thread
From: Sergei Shtylyov @ 2013-06-27 11:21 UTC (permalink / raw)
  To: linux-arm-kernel

Hello.

On 27-06-2013 8:48, Simon Horman wrote:

>>     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.

> 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

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH v5 2/3] ARM: shmobile: BOCK-W: add VIN and ML86V7667 support
  2013-06-27  5:25     ` Kuninori Morimoto
@ 2013-06-27 11:45       ` Sergei Shtylyov
  -1 siblings, 0 replies; 24+ messages in thread
From: Sergei Shtylyov @ 2013-06-27 11:45 UTC (permalink / raw)
  To: linux-arm-kernel

Hello.

On 27-06-2013 9:25, Kuninori Morimoto wrote:

>> @@ -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"),
>>   };

> Here, it includes VIN1 pin, but

>>   #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.

> Best regards
> ---
> Kuninori Morimoto

WBR, Sergei


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [PATCH v5 2/3] ARM: shmobile: BOCK-W: add VIN and ML86V7667 support
@ 2013-06-27 11:45       ` Sergei Shtylyov
  0 siblings, 0 replies; 24+ messages in thread
From: Sergei Shtylyov @ 2013-06-27 11:45 UTC (permalink / raw)
  To: linux-arm-kernel

Hello.

On 27-06-2013 9:25, Kuninori Morimoto wrote:

>> @@ -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"),
>>   };

> Here, it includes VIN1 pin, but

>>   #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.

> Best regards
> ---
> Kuninori Morimoto

WBR, Sergei

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH v5 1/3] ARM: shmobile: r8a7778: add VIN support
  2013-06-27  5:19     ` Kuninori Morimoto
@ 2013-06-27 11:49       ` Sergei Shtylyov
  -1 siblings, 0 replies; 24+ messages in thread
From: Sergei Shtylyov @ 2013-06-27 11:49 UTC (permalink / raw)
  To: linux-arm-kernel

Hello.

On 27-06-2013 9:19, Kuninori Morimoto wrote:

> I have 2 small comments

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

> Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>

>> From: Vladimir Barinov <vladimir.barinov@cogentembedded.com>

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

>> Signed-off-by: Vladimir Barinov <vladimir.barinov@cogentembedded.com>
>> [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'.]
>> Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>

>> ---
>> 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(+)

> 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.

>> Index: renesas/arch/arm/mach-shmobile/clock-r8a7778.c
>> =================================>> --- renesas.orig/arch/arm/mach-shmobile/clock-r8a7778.c
>> +++ renesas/arch/arm/mach-shmobile/clock-r8a7778.c
>> @@ -106,6 +106,7 @@ enum {
>>   	MSTP331,
>>   	MSTP323, MSTP322, MSTP321,
>>   	MSTP114,
>> +	MSTP110, MSTP109,
>>   	MSTP100,
>>   	MSTP030,

> MSTP114, MSTP110
> MSTP109, MSTP100

> is better

    Somewhat doubt it.

> Best regards
> ---
> Kuninori Morimoto

WBR, Sergei



^ permalink raw reply	[flat|nested] 24+ messages in thread

* [PATCH v5 1/3] ARM: shmobile: r8a7778: add VIN support
@ 2013-06-27 11:49       ` Sergei Shtylyov
  0 siblings, 0 replies; 24+ messages in thread
From: Sergei Shtylyov @ 2013-06-27 11:49 UTC (permalink / raw)
  To: linux-arm-kernel

Hello.

On 27-06-2013 9:19, Kuninori Morimoto wrote:

> I have 2 small comments

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

> Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>

>> From: Vladimir Barinov <vladimir.barinov@cogentembedded.com>

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

>> Signed-off-by: Vladimir Barinov <vladimir.barinov@cogentembedded.com>
>> [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'.]
>> Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>

>> ---
>> 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(+)

> 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.

>> Index: renesas/arch/arm/mach-shmobile/clock-r8a7778.c
>> ===================================================================
>> --- renesas.orig/arch/arm/mach-shmobile/clock-r8a7778.c
>> +++ renesas/arch/arm/mach-shmobile/clock-r8a7778.c
>> @@ -106,6 +106,7 @@ enum {
>>   	MSTP331,
>>   	MSTP323, MSTP322, MSTP321,
>>   	MSTP114,
>> +	MSTP110, MSTP109,
>>   	MSTP100,
>>   	MSTP030,

> MSTP114, MSTP110
> MSTP109, MSTP100

> is better

    Somewhat doubt it.

> Best regards
> ---
> Kuninori Morimoto

WBR, Sergei

^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2013-06-27 11:49 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-06-21 23:26 [PATCH v5 0/3] R8A7778/BOCK-W R-Car VIN driver support Sergei Shtylyov
2013-06-21 23:26 ` Sergei Shtylyov
2013-06-21 23:28 ` [PATCH v5 1/3] ARM: shmobile: r8a7778: add VIN support Sergei Shtylyov
2013-06-21 23:28   ` Sergei Shtylyov
2013-06-27  5:19   ` Kuninori Morimoto
2013-06-27  5:19     ` Kuninori Morimoto
2013-06-27  5:30     ` Simon Horman
2013-06-27  5:30       ` Simon Horman
2013-06-27  5:39       ` Kuninori Morimoto
2013-06-27  5:39         ` Kuninori Morimoto
2013-06-27 11:49     ` Sergei Shtylyov
2013-06-27 11:49       ` Sergei Shtylyov
2013-06-21 23:30 ` [PATCH v5 2/3] ARM: shmobile: BOCK-W: add VIN and ML86V7667 support Sergei Shtylyov
2013-06-21 23:30   ` Sergei Shtylyov
2013-06-27  5:25   ` Kuninori Morimoto
2013-06-27  5:25     ` Kuninori Morimoto
2013-06-27 11:45     ` Sergei Shtylyov
2013-06-27 11:45       ` Sergei Shtylyov
2013-06-21 23:31 ` [PATCH v5 3/3] ARM: shmobile: BOCK-W: enable VIN and ML86V7667 in defconfig Sergei Shtylyov
2013-06-21 23:31   ` Sergei Shtylyov
2013-06-27  4:48 ` [PATCH v5 0/3] R8A7778/BOCK-W R-Car VIN driver support Simon Horman
2013-06-27  4:48   ` Simon Horman
2013-06-27 11:21   ` Sergei Shtylyov
2013-06-27 11:21     ` Sergei Shtylyov

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.