devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH RESEND v2 2/2] ARM: EXYNOS: Add gscaler device from DT
  2012-07-16  5:33 [PATCH RESEND v2 0/2] Add device tree and clock support for Gscaler Shaik Ameer Basha
@ 2012-07-16  5:33 ` Shaik Ameer Basha
  2012-07-16 20:33   ` Sylwester Nawrocki
  0 siblings, 1 reply; 3+ messages in thread
From: Shaik Ameer Basha @ 2012-07-16  5:33 UTC (permalink / raw)
  To: linux-samsung-soc, devicetree-discuss
  Cc: kgene.kim, olofj, thomas.ab, sylvester.nawrocki, sachin.kamat,
	joshi, ameersk, shaik.ameer

This patch adds,
- 4 Gscaler devices to the DT device list
- Gscaler specific entries to the machine file
- binding documentation for Gscaler entries

Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com>
Signed-off-by: Leela Krishna Amudala <l.krishna@samsung.com>
Signed-off-by: Shaik Ameer Basha <shaik.ameer@samsung.com>
---
 .../devicetree/bindings/media/exynos5-gsc.txt      |   16 ++++++++++
 arch/arm/boot/dts/exynos5250.dtsi                  |   31 ++++++++++++++++++++
 arch/arm/mach-exynos/include/mach/map.h            |    3 ++
 arch/arm/mach-exynos/mach-exynos5-dt.c             |    8 +++++
 4 files changed, 58 insertions(+), 0 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/media/exynos5-gsc.txt

diff --git a/Documentation/devicetree/bindings/media/exynos5-gsc.txt b/Documentation/devicetree/bindings/media/exynos5-gsc.txt
new file mode 100644
index 0000000..f743c60
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/exynos5-gsc.txt
@@ -0,0 +1,16 @@
+* Samsung Exynos5 Gscaler device
+
+Gscaler is used for scaling and color space conversion on EXYNOS5 SoCs.
+
+Required properties:
+- compatible: should be "samsung,exynos-gsc"
+- reg: should contian Gsaler physical address location and length.
+- interrupts: should contain Gscaler interrupt number
+
+Example:
+
+gsc_0:  gsc@0x13e00000 {
+	compatible = "samsung,exynos-gsc";
+	reg = <0x13e00000 0x1000>;
+	interrupts = <0 85 0>;
+};
diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi
index 4272b29..b945c00 100644
--- a/arch/arm/boot/dts/exynos5250.dtsi
+++ b/arch/arm/boot/dts/exynos5250.dtsi
@@ -23,6 +23,13 @@
 	compatible = "samsung,exynos5250";
 	interrupt-parent = <&gic>;
 
+	aliases {
+		gsc0 = &gsc_0;
+		gsc1 = &gsc_1;
+		gsc2 = &gsc_2;
+		gsc3 = &gsc_3;
+	};
+
 	gic:interrupt-controller@10481000 {
 		compatible = "arm,cortex-a9-gic";
 		#interrupt-cells = <3>;
@@ -424,4 +431,28 @@
 			#gpio-cells = <4>;
 		};
 	};
+
+	gsc_0:  gsc@0x13e00000 {
+		compatible = "samsung,exynos-gsc";
+		reg = <0x13e00000 0x1000>;
+		interrupts = <0 85 0>;
+	};
+
+	gsc_1:  gsc@0x13e10000 {
+		compatible = "samsung,exynos-gsc";
+		reg = <0x13e10000 0x1000>;
+		interrupts = <0 86 0>;
+	};
+
+	gsc_2:  gsc@0x13e20000 {
+		compatible = "samsung,exynos-gsc";
+		reg = <0x13e20000 0x1000>;
+		interrupts = <0 87 0>;
+	};
+
+	gsc_3:  gsc@0x13e30000 {
+		compatible = "samsung,exynos-gsc";
+		reg = <0x13e30000 0x1000>;
+		interrupts = <0 88 0>;
+	};
 };
diff --git a/arch/arm/mach-exynos/include/mach/map.h b/arch/arm/mach-exynos/include/mach/map.h
index ca4aa89..e68d249 100644
--- a/arch/arm/mach-exynos/include/mach/map.h
+++ b/arch/arm/mach-exynos/include/mach/map.h
@@ -121,6 +121,9 @@
 #define EXYNOS4_PA_SYSMMU_MFC_L		0x13620000
 #define EXYNOS4_PA_SYSMMU_MFC_R		0x13630000
 
+/* x = 0...3 */
+#define EXYNOS5_PA_GSC(x)		(0x13e00000 + ((x) * 0x10000))
+
 #define EXYNOS5_PA_SYSMMU_MDMA1		0x10A40000
 #define EXYNOS5_PA_SYSMMU_SSS		0x10A50000
 #define EXYNOS5_PA_SYSMMU_2D		0x10A60000
diff --git a/arch/arm/mach-exynos/mach-exynos5-dt.c b/arch/arm/mach-exynos/mach-exynos5-dt.c
index 7b1e11a..9eb83b6 100644
--- a/arch/arm/mach-exynos/mach-exynos5-dt.c
+++ b/arch/arm/mach-exynos/mach-exynos5-dt.c
@@ -50,6 +50,14 @@ static const struct of_dev_auxdata exynos5250_auxdata_lookup[] __initconst = {
 	OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_PDMA0, "dma-pl330.0", NULL),
 	OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_PDMA1, "dma-pl330.1", NULL),
 	OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_MDMA1, "dma-pl330.2", NULL),
+	OF_DEV_AUXDATA("samsung,exynos-gsc", EXYNOS5_PA_GSC(0),
+				"exynos-gsc.0", NULL),
+	OF_DEV_AUXDATA("samsung,exynos-gsc", EXYNOS5_PA_GSC(1),
+				"exynos-gsc.1", NULL),
+	OF_DEV_AUXDATA("samsung,exynos-gsc", EXYNOS5_PA_GSC(2),
+				"exynos-gsc.2", NULL),
+	OF_DEV_AUXDATA("samsung,exynos-gsc", EXYNOS5_PA_GSC(3),
+				"exynos-gsc.3", NULL),
 	{},
 };
 
-- 
1.7.0.4

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

* Re: [PATCH RESEND v2 2/2] ARM: EXYNOS: Add gscaler device from DT
  2012-07-16  5:33 ` [PATCH RESEND v2 2/2] ARM: EXYNOS: Add gscaler device from DT Shaik Ameer Basha
@ 2012-07-16 20:33   ` Sylwester Nawrocki
  0 siblings, 0 replies; 3+ messages in thread
From: Sylwester Nawrocki @ 2012-07-16 20:33 UTC (permalink / raw)
  To: Shaik Ameer Basha
  Cc: linux-samsung-soc, devicetree-discuss, kgene.kim, olofj,
	thomas.ab, sylvester.nawrocki, sachin.kamat, joshi, ameersk

Hi Shaik,

On 07/16/2012 07:33 AM, Shaik Ameer Basha wrote:
> +++ b/Documentation/devicetree/bindings/media/exynos5-gsc.txt
> @@ -0,0 +1,16 @@
> +* Samsung Exynos5 Gscaler device
> +
> +Gscaler is used for scaling and color space conversion on EXYNOS5 SoCs.
> +
> +Required properties:
> +- compatible: should be "samsung,exynos-gsc"

Shouldn't there rather be a specific "compatible" property for each SoC,
e.g.
    - compatible: should be one of:
	"samsung5250,exynos-gsc",
	"samsung5450,exynos-gsc",
etc. ?

> +- reg: should contian Gsaler physical address location and length.

contian -> contain, Gsaler -> Gscaler

> +- interrupts: should contain Gscaler interrupt number
> +
> +Example:
> +
> +gsc_0:  gsc@0x13e00000 {
> +	compatible = "samsung,exynos-gsc";

	compatible = "samsung5250,exynos-gsc";

> +	reg =<0x13e00000 0x1000>;
> +	interrupts =<0 85 0>;
> +};

The aliases are still undocumented. How about adding something
along the lines of:

"Each Gscaler node should have a numbered alias in the aliases node,
in the form of gscN, N = 0...3."

?

> diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi
> index 4272b29..b945c00 100644
> --- a/arch/arm/boot/dts/exynos5250.dtsi
> +++ b/arch/arm/boot/dts/exynos5250.dtsi
> @@ -23,6 +23,13 @@
>   	compatible = "samsung,exynos5250";
>   	interrupt-parent =<&gic>;
>
> +	aliases {
> +		gsc0 =&gsc_0;
> +		gsc1 =&gsc_1;
> +		gsc2 =&gsc_2;
> +		gsc3 =&gsc_3;
> +	};
> +
>   	gic:interrupt-controller@10481000 {
>   		compatible = "arm,cortex-a9-gic";
>   		#interrupt-cells =<3>;

--

Regards,
Sylwester

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

* Re: [PATCH RESEND v2 2/2] ARM: EXYNOS: Add gscaler device from DT
@ 2012-07-19  9:23 Shaik Ameer Basha
  0 siblings, 0 replies; 3+ messages in thread
From: Shaik Ameer Basha @ 2012-07-19  9:23 UTC (permalink / raw)
  To: Sylwester Nawrocki
  Cc: linux-samsung-soc@vger.kernel.org,
	devicetree-discuss@lists.ozlabs.org, Kukjin Kim, olofj@google.com,
	Thomas P Abraham, sachin.kamat@linaro.org, SUNIL JOSHI,
	shaik.samsung@gmail.com

Hi Sylwester,


On Tue, Jul 17, 2012 at 2:03 AM, Sylwester Nawrocki <sylvester.nawrocki@gmail.com> wrote:
> Hi Shaik,
>
>
> On 07/16/2012 07:33 AM, Shaik Ameer Basha wrote:
>>
>> +++ b/Documentation/devicetree/bindings/media/exynos5-gsc.txt
>> @@ -0,0 +1,16 @@
>> +* Samsung Exynos5 Gscaler device
>> +
>> +Gscaler is used for scaling and color space conversion on EXYNOS5 SoCs.
>> +
>> +Required properties:
>> +- compatible: should be "samsung,exynos-gsc"
>
>
> Shouldn't there rather be a specific "compatible" property for each SoC,
> e.g.
>    - compatible: should be one of:
>         "samsung5250,exynos-gsc",
>         "samsung5450,exynos-gsc",
> etc. ?
>


OK. I will change the compatible property to "samsung,exynos5250-gsc".


>
>> +- reg: should contian Gsaler physical address location and length.
>
>
> contian -> contain, Gsaler -> Gscaler
>


OK. I will correct that...


>
>> +- interrupts: should contain Gscaler interrupt number
>> +
>> +Example:
>> +
>> +gsc_0:  gsc@0x13e00000 {
>> +       compatible = "samsung,exynos-gsc";
>
>
>         compatible = "samsung5250,exynos-gsc";
>

Ok. I will change that to,
compatible = "samsung,exynos5250-gsc";

>
>> +       reg =<0x13e00000 0x1000>;
>> +       interrupts =<0 85 0>;
>> +};
>
>
> The aliases are still undocumented. How about adding something
> along the lines of:
>
> "Each Gscaler node should have a numbered alias in the aliases node,
> in the form of gscN, N = 0...3."
>

Thanks for that...

I resent the same patch to devicetree mailinglist... that's why aliases documentation was not present....
I will add the aliases documentation in the v3 release.

>
> ?
>
>> diff --git a/arch/arm/boot/dts/exynos5250.dtsi
>> b/arch/arm/boot/dts/exynos5250.dtsi
>> index 4272b29..b945c00 100644
>> --- a/arch/arm/boot/dts/exynos5250.dtsi
>> +++ b/arch/arm/boot/dts/exynos5250.dtsi
>> @@ -23,6 +23,13 @@
>>         compatible = "samsung,exynos5250";
>>         interrupt-parent =<&gic>;
>>
>> +       aliases {
>> +               gsc0 =&gsc_0;
>> +               gsc1 =&gsc_1;
>> +               gsc2 =&gsc_2;
>> +               gsc3 =&gsc_3;
>> +       };
>> +
>>         gic:interrupt-controller@10481000 {
>>                 compatible = "arm,cortex-a9-gic";
>>                 #interrupt-cells =<3>;
>
>
> --
>
> Regards,
> Sylwester

Regards,
Shaik Ameer Basha

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

end of thread, other threads:[~2012-07-19  9:23 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-07-19  9:23 [PATCH RESEND v2 2/2] ARM: EXYNOS: Add gscaler device from DT Shaik Ameer Basha
  -- strict thread matches above, loose matches on Subject: below --
2012-07-16  5:33 [PATCH RESEND v2 0/2] Add device tree and clock support for Gscaler Shaik Ameer Basha
2012-07-16  5:33 ` [PATCH RESEND v2 2/2] ARM: EXYNOS: Add gscaler device from DT Shaik Ameer Basha
2012-07-16 20:33   ` Sylwester Nawrocki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).