diff mbox

[RFC,05/12] ARM: EXYNOS: Add devicetree node for mipi-csis driver for exynos5

Message ID 1362570838-4737-6-git-send-email-shaik.ameer@samsung.com (mailing list archive)
State New, archived
Headers show

Commit Message

Shaik Ameer Basha March 6, 2013, 11:53 a.m. UTC
This patch adds necessary source definations needed for mipi-csis
driver and adds devicetree node for exynos5250.

Signed-off-by: Shaik Ameer Basha <shaik.ameer@samsung.com>
---
 arch/arm/boot/dts/exynos5250.dtsi       |   18 ++++++++++++++++++
 arch/arm/mach-exynos/clock-exynos5.c    |   16 ++++++++++++++--
 arch/arm/mach-exynos/include/mach/map.h |    3 +++
 arch/arm/mach-exynos/mach-exynos5-dt.c  |    4 ++++
 4 files changed, 39 insertions(+), 2 deletions(-)

Comments

Sylwester Nawrocki March 10, 2013, 8:54 p.m. UTC | #1
On 03/06/2013 12:53 PM, Shaik Ameer Basha wrote:
> This patch adds necessary source definations needed for mipi-csis
> driver and adds devicetree node for exynos5250.
>
> Signed-off-by: Shaik Ameer Basha<shaik.ameer@samsung.com>
> ---
>   arch/arm/boot/dts/exynos5250.dtsi       |   18 ++++++++++++++++++
>   arch/arm/mach-exynos/clock-exynos5.c    |   16 ++++++++++++++--
>   arch/arm/mach-exynos/include/mach/map.h |    3 +++
>   arch/arm/mach-exynos/mach-exynos5-dt.c  |    4 ++++
>   4 files changed, 39 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi
> index 3a2cd9a..4fff98b 100644
> --- a/arch/arm/boot/dts/exynos5250.dtsi
> +++ b/arch/arm/boot/dts/exynos5250.dtsi
> @@ -47,6 +47,8 @@
>   		i2c6 =&i2c_6;
>   		i2c7 =&i2c_7;
>   		i2c8 =&i2c_8;
> +		csis0 =&csis_0;
> +		csis1 =&csis_1;
>   	};
>
>   	gic:interrupt-controller@10481000 {
> @@ -357,4 +359,20 @@
>   		reg =<0x14450000 0x10000>;
>   		interrupts =<0 94 0>;
>   	};
> +
> +	csis_0: csis@13C20000 {
> +		compatible = "samsung,exynos5250-csis";
> +		reg =<0x13C20000 0x4000>;
> +		interrupts =<0 79 0>;
> +		bus-width =<4>;
> +		status = "disabled";
> +	};
> +
> +	csis_1: csis@13C30000 {
> +		compatible = "samsung,exynos5250-csis";
> +		reg =<0x13C30000 0x4000>;
> +		interrupts =<0 80 0>;
> +		bus-width =<4>;

Shouldn't this be 2 ? Anyway what's the point of adding this node here
only to move it in a subsequent patch ? I guess you should first add
'camera' node and then have further patches adding relevant device nodes.

> +		status = "disabled";
> +	};
>   };

> diff --git a/arch/arm/mach-exynos/clock-exynos5.c b/arch/arm/mach-exynos/clock-exynos5.c
> index e9d7b80..34a22ff 100644
> --- a/arch/arm/mach-exynos/clock-exynos5.c
> +++ b/arch/arm/mach-exynos/clock-exynos5.c

This file is already removed in Kukjin's for-next tree.
And for dts changes I would start the patch summary line with "ARM: dts:".

> @@ -859,6 +859,16 @@ static struct clk exynos5_init_clocks_off[] = {
>   		.enable		= exynos5_clk_ip_gscl_ctrl,
>   		.ctrlbit	= (1<<  3),
>   	}, {
> +		.name		= "csis",
> +		.devname	= "s5p-mipi-csis.0",
> +		.enable		= exynos5_clk_ip_gscl_ctrl,
> +		.ctrlbit	= (1<<  5),
> +	}, {
> +		.name		= "csis",
> +		.devname	= "s5p-mipi-csis.1",
> +		.enable		= exynos5_clk_ip_gscl_ctrl,
> +		.ctrlbit	= (1<<  6),
> +	}, {
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Sylwester Nawrocki March 10, 2013, 8:57 p.m. UTC | #2
On 03/06/2013 12:53 PM, Shaik Ameer Basha wrote:
> --- a/arch/arm/boot/dts/exynos5250.dtsi
> +++ b/arch/arm/boot/dts/exynos5250.dtsi
> @@ -47,6 +47,8 @@
>   		i2c6 =&i2c_6;
>   		i2c7 =&i2c_7;
>   		i2c8 =&i2c_8;
> +		csis0 =&csis_0;
> +		csis1 =&csis_1;

You can drop these aliases if you use my latest patches as indicated
in the comment to patch 00/12.

> diff --git a/arch/arm/mach-exynos/clock-exynos5.c b/arch/arm/mach-exynos/clock-exynos5.c
> index e9d7b80..34a22ff 100644
> --- a/arch/arm/mach-exynos/clock-exynos5.c
> +++ b/arch/arm/mach-exynos/clock-exynos5.c
> @@ -859,6 +859,16 @@ static struct clk exynos5_init_clocks_off[] = {
>   		.enable		= exynos5_clk_ip_gscl_ctrl,
>   		.ctrlbit	= (1<<  3),
>   	}, {
> +		.name		= "csis",
> +		.devname	= "s5p-mipi-csis.0",
> +		.enable		= exynos5_clk_ip_gscl_ctrl,
> +		.ctrlbit	= (1<<  5),
> +	}, {

Instead you should add relevant clock definitions to the Samsung clocks 
driver,
it's already merged in Kukjin's tree.





--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Shaik Ameer Basha March 11, 2013, 6:58 a.m. UTC | #3
Hi Sylwester,

On Mon, Mar 11, 2013 at 2:24 AM, Sylwester Nawrocki
<sylvester.nawrocki@gmail.com> wrote:
> On 03/06/2013 12:53 PM, Shaik Ameer Basha wrote:
>>
>> This patch adds necessary source definations needed for mipi-csis
>> driver and adds devicetree node for exynos5250.
>>
>> Signed-off-by: Shaik Ameer Basha<shaik.ameer@samsung.com>
>> ---
>>   arch/arm/boot/dts/exynos5250.dtsi       |   18 ++++++++++++++++++
>>   arch/arm/mach-exynos/clock-exynos5.c    |   16 ++++++++++++++--
>>   arch/arm/mach-exynos/include/mach/map.h |    3 +++
>>   arch/arm/mach-exynos/mach-exynos5-dt.c  |    4 ++++
>>   4 files changed, 39 insertions(+), 2 deletions(-)
>>
>> diff --git a/arch/arm/boot/dts/exynos5250.dtsi
>> b/arch/arm/boot/dts/exynos5250.dtsi
>> index 3a2cd9a..4fff98b 100644
>> --- a/arch/arm/boot/dts/exynos5250.dtsi
>> +++ b/arch/arm/boot/dts/exynos5250.dtsi
>> @@ -47,6 +47,8 @@
>>                 i2c6 =&i2c_6;
>>                 i2c7 =&i2c_7;
>>                 i2c8 =&i2c_8;
>> +               csis0 =&csis_0;
>> +               csis1 =&csis_1;
>>         };
>>
>>         gic:interrupt-controller@10481000 {
>> @@ -357,4 +359,20 @@
>>                 reg =<0x14450000 0x10000>;
>>                 interrupts =<0 94 0>;
>>         };
>> +
>> +       csis_0: csis@13C20000 {
>> +               compatible = "samsung,exynos5250-csis";
>> +               reg =<0x13C20000 0x4000>;
>> +               interrupts =<0 79 0>;
>> +               bus-width =<4>;
>> +               status = "disabled";
>> +       };
>> +
>> +       csis_1: csis@13C30000 {
>> +               compatible = "samsung,exynos5250-csis";
>> +               reg =<0x13C30000 0x4000>;
>> +               interrupts =<0 80 0>;
>> +               bus-width =<4>;
>
>
> Shouldn't this be 2 ? Anyway what's the point of adding this node here

Yes, It has to be 2. Seems some Ctrl+c/v issues. :)

> only to move it in a subsequent patch ? I guess you should first add
> 'camera' node and then have further patches adding relevant device nodes

Ok.. I even got the same comments just before postings. As it was a RFC patch,
I just posted this as it is.
Definitely, i will modify this in the upcoming version of patches.


Regards,
Shaik Ameer Basha

>
>
>> +               status = "disabled";
>> +       };
>>   };
>
>
>> diff --git a/arch/arm/mach-exynos/clock-exynos5.c
>> b/arch/arm/mach-exynos/clock-exynos5.c
>> index e9d7b80..34a22ff 100644
>> --- a/arch/arm/mach-exynos/clock-exynos5.c
>> +++ b/arch/arm/mach-exynos/clock-exynos5.c
>
>
> This file is already removed in Kukjin's for-next tree.
> And for dts changes I would start the patch summary line with "ARM: dts:".
>
>
>> @@ -859,6 +859,16 @@ static struct clk exynos5_init_clocks_off[] = {
>>                 .enable         = exynos5_clk_ip_gscl_ctrl,
>>                 .ctrlbit        = (1<<  3),
>>         }, {
>> +               .name           = "csis",
>> +               .devname        = "s5p-mipi-csis.0",
>> +               .enable         = exynos5_clk_ip_gscl_ctrl,
>> +               .ctrlbit        = (1<<  5),
>> +       }, {
>> +               .name           = "csis",
>> +               .devname        = "s5p-mipi-csis.1",
>> +               .enable         = exynos5_clk_ip_gscl_ctrl,
>> +               .ctrlbit        = (1<<  6),
>> +       }, {
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Shaik Ameer Basha March 11, 2013, 6:58 a.m. UTC | #4
On Mon, Mar 11, 2013 at 2:27 AM, Sylwester Nawrocki
<sylvester.nawrocki@gmail.com> wrote:
> On 03/06/2013 12:53 PM, Shaik Ameer Basha wrote:
>>
>> --- a/arch/arm/boot/dts/exynos5250.dtsi
>> +++ b/arch/arm/boot/dts/exynos5250.dtsi
>> @@ -47,6 +47,8 @@
>>                 i2c6 =&i2c_6;
>>                 i2c7 =&i2c_7;
>>                 i2c8 =&i2c_8;
>> +               csis0 =&csis_0;
>> +               csis1 =&csis_1;
>
>
> You can drop these aliases if you use my latest patches as indicated
> in the comment to patch 00/12.
>

Ok.

>
>> diff --git a/arch/arm/mach-exynos/clock-exynos5.c
>> b/arch/arm/mach-exynos/clock-exynos5.c
>> index e9d7b80..34a22ff 100644
>> --- a/arch/arm/mach-exynos/clock-exynos5.c
>> +++ b/arch/arm/mach-exynos/clock-exynos5.c
>> @@ -859,6 +859,16 @@ static struct clk exynos5_init_clocks_off[] = {
>>                 .enable         = exynos5_clk_ip_gscl_ctrl,
>>                 .ctrlbit        = (1<<  3),
>>         }, {
>> +               .name           = "csis",
>> +               .devname        = "s5p-mipi-csis.0",
>> +               .enable         = exynos5_clk_ip_gscl_ctrl,
>> +               .ctrlbit        = (1<<  5),
>> +       }, {
>
>
> Instead you should add relevant clock definitions to the Samsung clocks
> driver,
> it's already merged in Kukjin's tree.
>

No Issues, the next version posting will be re-based on the Samsung
common clock driver.

Regards,
Shaik Ameer Basha

>
>
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi
index 3a2cd9a..4fff98b 100644
--- a/arch/arm/boot/dts/exynos5250.dtsi
+++ b/arch/arm/boot/dts/exynos5250.dtsi
@@ -47,6 +47,8 @@ 
 		i2c6 = &i2c_6;
 		i2c7 = &i2c_7;
 		i2c8 = &i2c_8;
+		csis0 = &csis_0;
+		csis1 = &csis_1;
 	};
 
 	gic:interrupt-controller@10481000 {
@@ -357,4 +359,20 @@ 
 		reg = <0x14450000 0x10000>;
 		interrupts = <0 94 0>;
 	};
+
+	csis_0: csis@13C20000 {
+		compatible = "samsung,exynos5250-csis";
+		reg = <0x13C20000 0x4000>;
+		interrupts = <0 79 0>;
+		bus-width = <4>;
+		status = "disabled";
+	};
+
+	csis_1: csis@13C30000 {
+		compatible = "samsung,exynos5250-csis";
+		reg = <0x13C30000 0x4000>;
+		interrupts = <0 80 0>;
+		bus-width = <4>;
+		status = "disabled";
+	};
 };
diff --git a/arch/arm/mach-exynos/clock-exynos5.c b/arch/arm/mach-exynos/clock-exynos5.c
index e9d7b80..34a22ff 100644
--- a/arch/arm/mach-exynos/clock-exynos5.c
+++ b/arch/arm/mach-exynos/clock-exynos5.c
@@ -859,6 +859,16 @@  static struct clk exynos5_init_clocks_off[] = {
 		.enable		= exynos5_clk_ip_gscl_ctrl,
 		.ctrlbit	= (1 << 3),
 	}, {
+		.name		= "csis",
+		.devname	= "s5p-mipi-csis.0",
+		.enable		= exynos5_clk_ip_gscl_ctrl,
+		.ctrlbit	= (1 << 5),
+	}, {
+		.name		= "csis",
+		.devname	= "s5p-mipi-csis.1",
+		.enable		= exynos5_clk_ip_gscl_ctrl,
+		.ctrlbit	= (1 << 6),
+	}, {
 		.name		= SYSMMU_CLOCK_NAME,
 		.devname	= SYSMMU_CLOCK_DEVNAME(mfc_l, 0),
 		.enable		= &exynos5_clk_ip_mfc_ctrl,
@@ -1263,9 +1273,10 @@  static struct clksrc_clk exynos5_clksrcs[] = {
 		.reg_div = { .reg = EXYNOS5_CLKDIV_FSYS0, .shift = 20, .size = 4 },
 	}, {
 		.clk	= {
-			.name		= "sclk_gscl_wrap",
+			.name		= "sclk_csis",
 			.devname	= "s5p-mipi-csis.0",
 			.enable		= exynos5_clksrc_mask_gscl_ctrl,
+			.parent		= &exynos5_clk_mout_mpll_user.clk,
 			.ctrlbit	= (1 << 24),
 		},
 		.sources = &exynos5_clkset_group,
@@ -1273,9 +1284,10 @@  static struct clksrc_clk exynos5_clksrcs[] = {
 		.reg_div = { .reg = EXYNOS5_CLKDIV_GSCL, .shift = 24, .size = 4 },
 	}, {
 		.clk	= {
-			.name		= "sclk_gscl_wrap",
+			.name		= "sclk_csis",
 			.devname	= "s5p-mipi-csis.1",
 			.enable		= exynos5_clksrc_mask_gscl_ctrl,
+			.parent		= &exynos5_clk_mout_mpll_user.clk,
 			.ctrlbit	= (1 << 28),
 		},
 		.sources = &exynos5_clkset_group,
diff --git a/arch/arm/mach-exynos/include/mach/map.h b/arch/arm/mach-exynos/include/mach/map.h
index 1df6abb..c834321 100644
--- a/arch/arm/mach-exynos/include/mach/map.h
+++ b/arch/arm/mach-exynos/include/mach/map.h
@@ -177,6 +177,9 @@ 
 #define EXYNOS4_PA_MIPI_CSIS0		0x11880000
 #define EXYNOS4_PA_MIPI_CSIS1		0x11890000
 
+#define EXYNOS5_PA_MIPI_CSIS0		0x13C20000
+#define EXYNOS5_PA_MIPI_CSIS1		0x13C30000
+
 #define EXYNOS4_PA_FIMD0		0x11C00000
 
 #define EXYNOS4_PA_HSMMC(x)		(0x12510000 + ((x) * 0x10000))
diff --git a/arch/arm/mach-exynos/mach-exynos5-dt.c b/arch/arm/mach-exynos/mach-exynos5-dt.c
index e99d3d8..c420349 100644
--- a/arch/arm/mach-exynos/mach-exynos5-dt.c
+++ b/arch/arm/mach-exynos/mach-exynos5-dt.c
@@ -104,6 +104,10 @@  static const struct of_dev_auxdata exynos5250_auxdata_lookup[] __initconst = {
 	OF_DEV_AUXDATA("samsung,mfc-v6", 0x11000000, "s5p-mfc-v6", NULL),
 	OF_DEV_AUXDATA("samsung,exynos5250-tmu", 0x10060000,
 				"exynos-tmu", NULL),
+	OF_DEV_AUXDATA("samsung,exynos5250-csis", EXYNOS5_PA_MIPI_CSIS0,
+				"s5p-mipi-csis.0", NULL),
+	OF_DEV_AUXDATA("samsung,exynos5250-csis", EXYNOS5_PA_MIPI_CSIS1,
+				"s5p-mipi-csis.1", NULL),
 	{},
 };