[RFC PATCH] drm/exynos: Add DECON driver

2014-11-26 Thread Inki Dae
On 2014년 11월 25일 23:02, Ajay kumar wrote:
> On Tue, Nov 25, 2014 at 6:59 PM, Inki Dae  wrote:
>> On 2014년 11월 25일 22:08, Ajay kumar wrote:
>>> Hi Inki,
>>>
>>> On Tue, Nov 25, 2014 at 6:30 PM, Inki Dae  wrote:
 On 2014년 11월 25일 21:17, Ajay kumar wrote:
> ping.
>

 You'd need to clean up clocks and fix up binding file. And then let's
 have review in more details. I wish that other people also give you
 their reviews.
>>> Nice to hear. Earlier, you mentioned that its good if FIMD driver itself
>>> is modified to support Exynos7 DECON. So, what is your take now?
>>> 1) Should I add it in FIMD driver itself?
>>> We may need to add lot of driver_data
>>> for that, since offsets are much different.
>>> 2) Or, create two seperate register level files for Exynos5 and Exynos7?
>>> 3) Or the current way - Entirely different driver
>>
>> This one, 3),  for now because they, Exynos4, Exynos543x and Exynos7,
>> are much different each other. So for next version of your patch, you'd
>> need to change the driver name to exynos7-decon or what you want so that
>> each driver can be entirely separated in SoC name somehow.
>>
>> i.e.,
>> - exynos_drm_fimd covers Exynos64xx, Exynos3250, all Exynos4 series and
>> Exynos5250 ~ 5422 SoC.
>> - exynos5-decon covers Exynos5430 and Exynos5433 SoC.
> Use exynos543x-decon here.
>> - exynos7-decon covers Exynos7 and maybe later SoC.
> Ok. I will use exynos7-decon.
> By the way, On which branch of exynos-drm tree should I create this patch?

Please, use exynos-drm-next branch.

Thanks,
Inki Dae

> 
> Ajay
> 
>> After that, let's consider how we can integrate these drivers later.
>>
>> Thanks,
>> Inki Dae
>>
>>>
 Anyway, below is my answer.

 Thanks,
 Inki Dae


> On Tue, Nov 11, 2014 at 10:08 PM, Ajay kumar  
> wrote:
>> Hi Inki,
>>
>> On Mon, Nov 3, 2014 at 3:31 PM, Inki Dae  wrote:
>>>
>>> Hi,
>>>
>>> Fortunately, I could get the user manual for Exynos7420. Below are my
>>> comments.
>>>
>>> Thanks,
>>> Inki Dae
>>>
>>> On 2014년 10월 23일 01:34, Ajay kumar wrote:
 On Wed, Oct 22, 2014 at 8:26 PM, Inki Dae  
 wrote:
>
> Thanks for contribution.
>
> It seems reasonable that you separate device drivers into FIMD and 
> DECON
> because many registers of them have many different offsets and fields.
> However, there may be a good solution that we can combine common sets 
> of
> these drivers later.
 Yes, this is the main reason behind sending this as RFC patch.
 I want to know what's the best way to do this.
 FIMD, 5433 DECON and Exynos7 DECON - all are different.
 Also, in Exynos7 DECON-INT is same as DECON-EXT(Mixer).
 So, even I am not sure how the driver layouts should be!
>>>
>>> Please, make sure Exynos SoC name, Exynos7410 or Exynos7420. In my
>>> understanding, Exynos7 doesn't mean one real SoC.
>> We shall use Exynos7 as per the discussion.

 Just for the time being.
>>> Ok.
>>>
>>

> Below are my comments.
>
> Thanks,
> Inki Dae
>
> On 2014년 10월 10일 21:48, Ajay Kumar wrote:
>> This series is based on exynos-drm-next branch of Inki Dae's tree at:
>> git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos.git
>>
>> DECON(Display and Enhancement Controller) is the new IP
>> in exynos7 SOC for generating video signals using pixel data.
>
> DECON was used since Exynos5430. And is Exynos5433 different from
> Exynos7? If so, could I get the Exynos7 user manual (TRM) for review?
 Yes, Exynos5433 DECON is very much different than Exynos7 DECON.
>>>
>>> Do not use Exynos7 word and use Exynos7410 or Exynos7420 instead.
>> Again, we shall use Exynos7.
>>
 I will see how manual can be arranged.

>>
>> DECON driver can be used to drive 2 different interfaces on Exynos7:
>> DECON-INT(video controller) and DECON-EXT(Mixer for HDMI)
>>
>> The existing FIMD driver code was used as a template to create
>> DECON driver. Only DECON-INT is supported as of now, and
>> DECON-EXT support will be added later.
>>
>> Signed-off-by: Akshu Agrawal 
>> Signed-off-by: Ajay Kumar 
>> ---
>>  .../devicetree/bindings/video/exynos-decon.txt |   68 ++
>>  drivers/gpu/drm/exynos/Kconfig |   11 +-
>>  drivers/gpu/drm/exynos/Makefile|1 +
>>  drivers/gpu/drm/exynos/exynos_drm_decon.c  | 1086
> 
>>  drivers/gpu/drm/exynos/exynos_drm_drv.c|   17 +-
>>  drivers/gpu/drm/exynos/exynos_drm_drv.h|   11 +
>>  

[RFC PATCH] drm/exynos: Add DECON driver

2014-11-25 Thread Inki Dae
On 2014년 11월 25일 22:08, Ajay kumar wrote:
> Hi Inki,
> 
> On Tue, Nov 25, 2014 at 6:30 PM, Inki Dae  wrote:
>> On 2014년 11월 25일 21:17, Ajay kumar wrote:
>>> ping.
>>>
>>
>> You'd need to clean up clocks and fix up binding file. And then let's
>> have review in more details. I wish that other people also give you
>> their reviews.
> Nice to hear. Earlier, you mentioned that its good if FIMD driver itself
> is modified to support Exynos7 DECON. So, what is your take now?
> 1) Should I add it in FIMD driver itself?
> We may need to add lot of driver_data
> for that, since offsets are much different.
> 2) Or, create two seperate register level files for Exynos5 and Exynos7?
> 3) Or the current way - Entirely different driver

This one, 3),  for now because they, Exynos4, Exynos543x and Exynos7,
are much different each other. So for next version of your patch, you'd
need to change the driver name to exynos7-decon or what you want so that
each driver can be entirely separated in SoC name somehow.

i.e.,
- exynos_drm_fimd covers Exynos64xx, Exynos3250, all Exynos4 series and
Exynos5250 ~ 5422 SoC.
- exynos5-decon covers Exynos5430 and Exynos5433 SoC.
- exynos7-decon covers Exynos7 and maybe later SoC.

After that, let's consider how we can integrate these drivers later.

Thanks,
Inki Dae

> 
>> Anyway, below is my answer.
>>
>> Thanks,
>> Inki Dae
>>
>>
>>> On Tue, Nov 11, 2014 at 10:08 PM, Ajay kumar  wrote:
 Hi Inki,

 On Mon, Nov 3, 2014 at 3:31 PM, Inki Dae  wrote:
>
> Hi,
>
> Fortunately, I could get the user manual for Exynos7420. Below are my
> comments.
>
> Thanks,
> Inki Dae
>
> On 2014년 10월 23일 01:34, Ajay kumar wrote:
>> On Wed, Oct 22, 2014 at 8:26 PM, Inki Dae  
>> wrote:
>>>
>>> Thanks for contribution.
>>>
>>> It seems reasonable that you separate device drivers into FIMD and DECON
>>> because many registers of them have many different offsets and fields.
>>> However, there may be a good solution that we can combine common sets of
>>> these drivers later.
>> Yes, this is the main reason behind sending this as RFC patch.
>> I want to know what's the best way to do this.
>> FIMD, 5433 DECON and Exynos7 DECON - all are different.
>> Also, in Exynos7 DECON-INT is same as DECON-EXT(Mixer).
>> So, even I am not sure how the driver layouts should be!
>
> Please, make sure Exynos SoC name, Exynos7410 or Exynos7420. In my
> understanding, Exynos7 doesn't mean one real SoC.
 We shall use Exynos7 as per the discussion.
>>
>> Just for the time being.
> Ok.
> 

>>
>>> Below are my comments.
>>>
>>> Thanks,
>>> Inki Dae
>>>
>>> On 2014년 10월 10일 21:48, Ajay Kumar wrote:
 This series is based on exynos-drm-next branch of Inki Dae's tree at:
 git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos.git

 DECON(Display and Enhancement Controller) is the new IP
 in exynos7 SOC for generating video signals using pixel data.
>>>
>>> DECON was used since Exynos5430. And is Exynos5433 different from
>>> Exynos7? If so, could I get the Exynos7 user manual (TRM) for review?
>> Yes, Exynos5433 DECON is very much different than Exynos7 DECON.
>
> Do not use Exynos7 word and use Exynos7410 or Exynos7420 instead.
 Again, we shall use Exynos7.

>> I will see how manual can be arranged.
>>

 DECON driver can be used to drive 2 different interfaces on Exynos7:
 DECON-INT(video controller) and DECON-EXT(Mixer for HDMI)

 The existing FIMD driver code was used as a template to create
 DECON driver. Only DECON-INT is supported as of now, and
 DECON-EXT support will be added later.

 Signed-off-by: Akshu Agrawal 
 Signed-off-by: Ajay Kumar 
 ---
  .../devicetree/bindings/video/exynos-decon.txt |   68 ++
  drivers/gpu/drm/exynos/Kconfig |   11 +-
  drivers/gpu/drm/exynos/Makefile|1 +
  drivers/gpu/drm/exynos/exynos_drm_decon.c  | 1086
>>> 
  drivers/gpu/drm/exynos/exynos_drm_drv.c|   17 +-
  drivers/gpu/drm/exynos/exynos_drm_drv.h|   11 +
  include/video/samsung_decon.h  |  346 +++
  7 files changed, 1537 insertions(+), 3 deletions(-)
  create mode 100644
>>> Documentation/devicetree/bindings/video/exynos-decon.txt
  create mode 100644 drivers/gpu/drm/exynos/exynos_drm_decon.c
  create mode 100644 include/video/samsung_decon.h

 diff --git a/Documentation/devicetree/bindings/video/exynos-decon.txt
>>> b/Documentation/devicetree/bindings/video/exynos-decon.txt
 new file mode 100644
 index 000..e865650
 --- 

[RFC PATCH] drm/exynos: Add DECON driver

2014-11-25 Thread Inki Dae
On 2014년 11월 25일 21:17, Ajay kumar wrote:
> ping.
> 

You'd need to clean up clocks and fix up binding file. And then let's
have review in more details. I wish that other people also give you
their reviews.

Anyway, below is my answer.

Thanks,
Inki Dae


> On Tue, Nov 11, 2014 at 10:08 PM, Ajay kumar  wrote:
>> Hi Inki,
>>
>> On Mon, Nov 3, 2014 at 3:31 PM, Inki Dae  wrote:
>>>
>>> Hi,
>>>
>>> Fortunately, I could get the user manual for Exynos7420. Below are my
>>> comments.
>>>
>>> Thanks,
>>> Inki Dae
>>>
>>> On 2014년 10월 23일 01:34, Ajay kumar wrote:
 On Wed, Oct 22, 2014 at 8:26 PM, Inki Dae  wrote:
>
> Thanks for contribution.
>
> It seems reasonable that you separate device drivers into FIMD and DECON
> because many registers of them have many different offsets and fields.
> However, there may be a good solution that we can combine common sets of
> these drivers later.
 Yes, this is the main reason behind sending this as RFC patch.
 I want to know what's the best way to do this.
 FIMD, 5433 DECON and Exynos7 DECON - all are different.
 Also, in Exynos7 DECON-INT is same as DECON-EXT(Mixer).
 So, even I am not sure how the driver layouts should be!
>>>
>>> Please, make sure Exynos SoC name, Exynos7410 or Exynos7420. In my
>>> understanding, Exynos7 doesn't mean one real SoC.
>> We shall use Exynos7 as per the discussion.

Just for the time being.

>>

> Below are my comments.
>
> Thanks,
> Inki Dae
>
> On 2014년 10월 10일 21:48, Ajay Kumar wrote:
>> This series is based on exynos-drm-next branch of Inki Dae's tree at:
>> git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos.git
>>
>> DECON(Display and Enhancement Controller) is the new IP
>> in exynos7 SOC for generating video signals using pixel data.
>
> DECON was used since Exynos5430. And is Exynos5433 different from
> Exynos7? If so, could I get the Exynos7 user manual (TRM) for review?
 Yes, Exynos5433 DECON is very much different than Exynos7 DECON.
>>>
>>> Do not use Exynos7 word and use Exynos7410 or Exynos7420 instead.
>> Again, we shall use Exynos7.
>>
 I will see how manual can be arranged.

>>
>> DECON driver can be used to drive 2 different interfaces on Exynos7:
>> DECON-INT(video controller) and DECON-EXT(Mixer for HDMI)
>>
>> The existing FIMD driver code was used as a template to create
>> DECON driver. Only DECON-INT is supported as of now, and
>> DECON-EXT support will be added later.
>>
>> Signed-off-by: Akshu Agrawal 
>> Signed-off-by: Ajay Kumar 
>> ---
>>  .../devicetree/bindings/video/exynos-decon.txt |   68 ++
>>  drivers/gpu/drm/exynos/Kconfig |   11 +-
>>  drivers/gpu/drm/exynos/Makefile|1 +
>>  drivers/gpu/drm/exynos/exynos_drm_decon.c  | 1086
> 
>>  drivers/gpu/drm/exynos/exynos_drm_drv.c|   17 +-
>>  drivers/gpu/drm/exynos/exynos_drm_drv.h|   11 +
>>  include/video/samsung_decon.h  |  346 +++
>>  7 files changed, 1537 insertions(+), 3 deletions(-)
>>  create mode 100644
> Documentation/devicetree/bindings/video/exynos-decon.txt
>>  create mode 100644 drivers/gpu/drm/exynos/exynos_drm_decon.c
>>  create mode 100644 include/video/samsung_decon.h
>>
>> diff --git a/Documentation/devicetree/bindings/video/exynos-decon.txt
> b/Documentation/devicetree/bindings/video/exynos-decon.txt
>> new file mode 100644
>> index 000..e865650
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/video/exynos-decon.txt
>> @@ -0,0 +1,68 @@
>> +Device-Tree bindings for Samsung Exynos7 SoC display controller (DECON)
>> +
>> +DECON (Display and Enhancement Controller) is the Display Controller
> for the
>> +Exynos7 series of SoCs which transfers the image data from a video 
>> memory
>> +buffer to an external LCD interface.
>> +
>> +Required properties:
>> +- compatible: value should be "samsung,exynos7-decon";
>
> If exynos5433 was just renamed to exynos7 then, it should be one of the
> following:
> (a) "samsung,exynos5430-decon" for Display and enhancement 
> controller
> IP for Exynos5430
> (b) "samsung,exynos7" for Display and enhancement controller IP 
> for Exynos7
>
> Or,
> (a) "samsung,exynos5430-decon" for Display and enhancement 
> controller
> IP for Exynos5430
>
> (b) "samsung,exynos5433-decon" for Display and enhancement 
> controller
> IP for Exynos5433
> (c) "samsung,exynos7" for Display and enhancement controller IP 
> for Exynos7
 Eventually, we will end up here.

>
>> +
>> +- reg: physical base address and length of the DECON registers set.
>> +

[RFC PATCH] drm/exynos: Add DECON driver

2014-11-25 Thread Ajay kumar
On Tue, Nov 25, 2014 at 6:59 PM, Inki Dae  wrote:
> On 2014년 11월 25일 22:08, Ajay kumar wrote:
>> Hi Inki,
>>
>> On Tue, Nov 25, 2014 at 6:30 PM, Inki Dae  wrote:
>>> On 2014년 11월 25일 21:17, Ajay kumar wrote:
 ping.

>>>
>>> You'd need to clean up clocks and fix up binding file. And then let's
>>> have review in more details. I wish that other people also give you
>>> their reviews.
>> Nice to hear. Earlier, you mentioned that its good if FIMD driver itself
>> is modified to support Exynos7 DECON. So, what is your take now?
>> 1) Should I add it in FIMD driver itself?
>> We may need to add lot of driver_data
>> for that, since offsets are much different.
>> 2) Or, create two seperate register level files for Exynos5 and Exynos7?
>> 3) Or the current way - Entirely different driver
>
> This one, 3),  for now because they, Exynos4, Exynos543x and Exynos7,
> are much different each other. So for next version of your patch, you'd
> need to change the driver name to exynos7-decon or what you want so that
> each driver can be entirely separated in SoC name somehow.
>
> i.e.,
> - exynos_drm_fimd covers Exynos64xx, Exynos3250, all Exynos4 series and
> Exynos5250 ~ 5422 SoC.
> - exynos5-decon covers Exynos5430 and Exynos5433 SoC.
Use exynos543x-decon here.
> - exynos7-decon covers Exynos7 and maybe later SoC.
Ok. I will use exynos7-decon.
By the way, On which branch of exynos-drm tree should I create this patch?

Ajay

> After that, let's consider how we can integrate these drivers later.
>
> Thanks,
> Inki Dae
>
>>
>>> Anyway, below is my answer.
>>>
>>> Thanks,
>>> Inki Dae
>>>
>>>
 On Tue, Nov 11, 2014 at 10:08 PM, Ajay kumar  wrote:
> Hi Inki,
>
> On Mon, Nov 3, 2014 at 3:31 PM, Inki Dae  wrote:
>>
>> Hi,
>>
>> Fortunately, I could get the user manual for Exynos7420. Below are my
>> comments.
>>
>> Thanks,
>> Inki Dae
>>
>> On 2014년 10월 23일 01:34, Ajay kumar wrote:
>>> On Wed, Oct 22, 2014 at 8:26 PM, Inki Dae  
>>> wrote:

 Thanks for contribution.

 It seems reasonable that you separate device drivers into FIMD and 
 DECON
 because many registers of them have many different offsets and fields.
 However, there may be a good solution that we can combine common sets 
 of
 these drivers later.
>>> Yes, this is the main reason behind sending this as RFC patch.
>>> I want to know what's the best way to do this.
>>> FIMD, 5433 DECON and Exynos7 DECON - all are different.
>>> Also, in Exynos7 DECON-INT is same as DECON-EXT(Mixer).
>>> So, even I am not sure how the driver layouts should be!
>>
>> Please, make sure Exynos SoC name, Exynos7410 or Exynos7420. In my
>> understanding, Exynos7 doesn't mean one real SoC.
> We shall use Exynos7 as per the discussion.
>>>
>>> Just for the time being.
>> Ok.
>>
>
>>>
 Below are my comments.

 Thanks,
 Inki Dae

 On 2014년 10월 10일 21:48, Ajay Kumar wrote:
> This series is based on exynos-drm-next branch of Inki Dae's tree at:
> git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos.git
>
> DECON(Display and Enhancement Controller) is the new IP
> in exynos7 SOC for generating video signals using pixel data.

 DECON was used since Exynos5430. And is Exynos5433 different from
 Exynos7? If so, could I get the Exynos7 user manual (TRM) for review?
>>> Yes, Exynos5433 DECON is very much different than Exynos7 DECON.
>>
>> Do not use Exynos7 word and use Exynos7410 or Exynos7420 instead.
> Again, we shall use Exynos7.
>
>>> I will see how manual can be arranged.
>>>
>
> DECON driver can be used to drive 2 different interfaces on Exynos7:
> DECON-INT(video controller) and DECON-EXT(Mixer for HDMI)
>
> The existing FIMD driver code was used as a template to create
> DECON driver. Only DECON-INT is supported as of now, and
> DECON-EXT support will be added later.
>
> Signed-off-by: Akshu Agrawal 
> Signed-off-by: Ajay Kumar 
> ---
>  .../devicetree/bindings/video/exynos-decon.txt |   68 ++
>  drivers/gpu/drm/exynos/Kconfig |   11 +-
>  drivers/gpu/drm/exynos/Makefile|1 +
>  drivers/gpu/drm/exynos/exynos_drm_decon.c  | 1086
 
>  drivers/gpu/drm/exynos/exynos_drm_drv.c|   17 +-
>  drivers/gpu/drm/exynos/exynos_drm_drv.h|   11 +
>  include/video/samsung_decon.h  |  346 +++
>  7 files changed, 1537 insertions(+), 3 deletions(-)
>  create mode 100644
 Documentation/devicetree/bindings/video/exynos-decon.txt
>  create mode 

[RFC PATCH] drm/exynos: Add DECON driver

2014-11-25 Thread Ajay kumar
Hi Inki,

On Tue, Nov 25, 2014 at 6:30 PM, Inki Dae  wrote:
> On 2014년 11월 25일 21:17, Ajay kumar wrote:
>> ping.
>>
>
> You'd need to clean up clocks and fix up binding file. And then let's
> have review in more details. I wish that other people also give you
> their reviews.
Nice to hear. Earlier, you mentioned that its good if FIMD driver itself
is modified to support Exynos7 DECON. So, what is your take now?
1) Should I add it in FIMD driver itself?
We may need to add lot of driver_data
for that, since offsets are much different.
2) Or, create two seperate register level files for Exynos5 and Exynos7?
3) Or the current way - Entirely different driver

> Anyway, below is my answer.
>
> Thanks,
> Inki Dae
>
>
>> On Tue, Nov 11, 2014 at 10:08 PM, Ajay kumar  wrote:
>>> Hi Inki,
>>>
>>> On Mon, Nov 3, 2014 at 3:31 PM, Inki Dae  wrote:

 Hi,

 Fortunately, I could get the user manual for Exynos7420. Below are my
 comments.

 Thanks,
 Inki Dae

 On 2014년 10월 23일 01:34, Ajay kumar wrote:
> On Wed, Oct 22, 2014 at 8:26 PM, Inki Dae  wrote:
>>
>> Thanks for contribution.
>>
>> It seems reasonable that you separate device drivers into FIMD and DECON
>> because many registers of them have many different offsets and fields.
>> However, there may be a good solution that we can combine common sets of
>> these drivers later.
> Yes, this is the main reason behind sending this as RFC patch.
> I want to know what's the best way to do this.
> FIMD, 5433 DECON and Exynos7 DECON - all are different.
> Also, in Exynos7 DECON-INT is same as DECON-EXT(Mixer).
> So, even I am not sure how the driver layouts should be!

 Please, make sure Exynos SoC name, Exynos7410 or Exynos7420. In my
 understanding, Exynos7 doesn't mean one real SoC.
>>> We shall use Exynos7 as per the discussion.
>
> Just for the time being.
Ok.

>>>
>
>> Below are my comments.
>>
>> Thanks,
>> Inki Dae
>>
>> On 2014년 10월 10일 21:48, Ajay Kumar wrote:
>>> This series is based on exynos-drm-next branch of Inki Dae's tree at:
>>> git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos.git
>>>
>>> DECON(Display and Enhancement Controller) is the new IP
>>> in exynos7 SOC for generating video signals using pixel data.
>>
>> DECON was used since Exynos5430. And is Exynos5433 different from
>> Exynos7? If so, could I get the Exynos7 user manual (TRM) for review?
> Yes, Exynos5433 DECON is very much different than Exynos7 DECON.

 Do not use Exynos7 word and use Exynos7410 or Exynos7420 instead.
>>> Again, we shall use Exynos7.
>>>
> I will see how manual can be arranged.
>
>>>
>>> DECON driver can be used to drive 2 different interfaces on Exynos7:
>>> DECON-INT(video controller) and DECON-EXT(Mixer for HDMI)
>>>
>>> The existing FIMD driver code was used as a template to create
>>> DECON driver. Only DECON-INT is supported as of now, and
>>> DECON-EXT support will be added later.
>>>
>>> Signed-off-by: Akshu Agrawal 
>>> Signed-off-by: Ajay Kumar 
>>> ---
>>>  .../devicetree/bindings/video/exynos-decon.txt |   68 ++
>>>  drivers/gpu/drm/exynos/Kconfig |   11 +-
>>>  drivers/gpu/drm/exynos/Makefile|1 +
>>>  drivers/gpu/drm/exynos/exynos_drm_decon.c  | 1086
>> 
>>>  drivers/gpu/drm/exynos/exynos_drm_drv.c|   17 +-
>>>  drivers/gpu/drm/exynos/exynos_drm_drv.h|   11 +
>>>  include/video/samsung_decon.h  |  346 +++
>>>  7 files changed, 1537 insertions(+), 3 deletions(-)
>>>  create mode 100644
>> Documentation/devicetree/bindings/video/exynos-decon.txt
>>>  create mode 100644 drivers/gpu/drm/exynos/exynos_drm_decon.c
>>>  create mode 100644 include/video/samsung_decon.h
>>>
>>> diff --git a/Documentation/devicetree/bindings/video/exynos-decon.txt
>> b/Documentation/devicetree/bindings/video/exynos-decon.txt
>>> new file mode 100644
>>> index 000..e865650
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/video/exynos-decon.txt
>>> @@ -0,0 +1,68 @@
>>> +Device-Tree bindings for Samsung Exynos7 SoC display controller (DECON)
>>> +
>>> +DECON (Display and Enhancement Controller) is the Display Controller
>> for the
>>> +Exynos7 series of SoCs which transfers the image data from a video 
>>> memory
>>> +buffer to an external LCD interface.
>>> +
>>> +Required properties:
>>> +- compatible: value should be "samsung,exynos7-decon";
>>
>> If exynos5433 was just renamed to exynos7 then, it should be one of the
>> following:
>> (a) "samsung,exynos5430-decon" for Display and enhancement 
>> controller
>> IP for Exynos5430
>>  

[RFC PATCH] drm/exynos: Add DECON driver

2014-11-25 Thread Ajay kumar
ping.

On Tue, Nov 11, 2014 at 10:08 PM, Ajay kumar  wrote:
> Hi Inki,
>
> On Mon, Nov 3, 2014 at 3:31 PM, Inki Dae  wrote:
>>
>> Hi,
>>
>> Fortunately, I could get the user manual for Exynos7420. Below are my
>> comments.
>>
>> Thanks,
>> Inki Dae
>>
>> On 2014년 10월 23일 01:34, Ajay kumar wrote:
>>> On Wed, Oct 22, 2014 at 8:26 PM, Inki Dae  wrote:

 Thanks for contribution.

 It seems reasonable that you separate device drivers into FIMD and DECON
 because many registers of them have many different offsets and fields.
 However, there may be a good solution that we can combine common sets of
 these drivers later.
>>> Yes, this is the main reason behind sending this as RFC patch.
>>> I want to know what's the best way to do this.
>>> FIMD, 5433 DECON and Exynos7 DECON - all are different.
>>> Also, in Exynos7 DECON-INT is same as DECON-EXT(Mixer).
>>> So, even I am not sure how the driver layouts should be!
>>
>> Please, make sure Exynos SoC name, Exynos7410 or Exynos7420. In my
>> understanding, Exynos7 doesn't mean one real SoC.
> We shall use Exynos7 as per the discussion.
>
>>>
 Below are my comments.

 Thanks,
 Inki Dae

 On 2014년 10월 10일 21:48, Ajay Kumar wrote:
> This series is based on exynos-drm-next branch of Inki Dae's tree at:
> git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos.git
>
> DECON(Display and Enhancement Controller) is the new IP
> in exynos7 SOC for generating video signals using pixel data.

 DECON was used since Exynos5430. And is Exynos5433 different from
 Exynos7? If so, could I get the Exynos7 user manual (TRM) for review?
>>> Yes, Exynos5433 DECON is very much different than Exynos7 DECON.
>>
>> Do not use Exynos7 word and use Exynos7410 or Exynos7420 instead.
> Again, we shall use Exynos7.
>
>>> I will see how manual can be arranged.
>>>
>
> DECON driver can be used to drive 2 different interfaces on Exynos7:
> DECON-INT(video controller) and DECON-EXT(Mixer for HDMI)
>
> The existing FIMD driver code was used as a template to create
> DECON driver. Only DECON-INT is supported as of now, and
> DECON-EXT support will be added later.
>
> Signed-off-by: Akshu Agrawal 
> Signed-off-by: Ajay Kumar 
> ---
>  .../devicetree/bindings/video/exynos-decon.txt |   68 ++
>  drivers/gpu/drm/exynos/Kconfig |   11 +-
>  drivers/gpu/drm/exynos/Makefile|1 +
>  drivers/gpu/drm/exynos/exynos_drm_decon.c  | 1086
 
>  drivers/gpu/drm/exynos/exynos_drm_drv.c|   17 +-
>  drivers/gpu/drm/exynos/exynos_drm_drv.h|   11 +
>  include/video/samsung_decon.h  |  346 +++
>  7 files changed, 1537 insertions(+), 3 deletions(-)
>  create mode 100644
 Documentation/devicetree/bindings/video/exynos-decon.txt
>  create mode 100644 drivers/gpu/drm/exynos/exynos_drm_decon.c
>  create mode 100644 include/video/samsung_decon.h
>
> diff --git a/Documentation/devicetree/bindings/video/exynos-decon.txt
 b/Documentation/devicetree/bindings/video/exynos-decon.txt
> new file mode 100644
> index 000..e865650
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/video/exynos-decon.txt
> @@ -0,0 +1,68 @@
> +Device-Tree bindings for Samsung Exynos7 SoC display controller (DECON)
> +
> +DECON (Display and Enhancement Controller) is the Display Controller
 for the
> +Exynos7 series of SoCs which transfers the image data from a video memory
> +buffer to an external LCD interface.
> +
> +Required properties:
> +- compatible: value should be "samsung,exynos7-decon";

 If exynos5433 was just renamed to exynos7 then, it should be one of the
 following:
 (a) "samsung,exynos5430-decon" for Display and enhancement 
 controller
 IP for Exynos5430
 (b) "samsung,exynos7" for Display and enhancement controller IP 
 for Exynos7

 Or,
 (a) "samsung,exynos5430-decon" for Display and enhancement 
 controller
 IP for Exynos5430

 (b) "samsung,exynos5433-decon" for Display and enhancement 
 controller
 IP for Exynos5433
 (c) "samsung,exynos7" for Display and enhancement controller IP 
 for Exynos7
>>> Eventually, we will end up here.
>>>

> +
> +- reg: physical base address and length of the DECON registers set.
> +
> +- interrupt-parent: should be the phandle of the decon controller's
> + parent interrupt controller.
> +
> +- interrupts: should contain a list of all DECON IP block interrupts
 in the
> +  order: FIFO Level, VSYNC, LCD_SYSTEM. The interrupt 
> specifier
> +  format depends on the interrupt controller used.
> +
> +- 

[RFC PATCH] drm/exynos: Add DECON driver

2014-11-11 Thread Ajay kumar
Hi Inki,

On Mon, Nov 3, 2014 at 3:31 PM, Inki Dae  wrote:
>
> Hi,
>
> Fortunately, I could get the user manual for Exynos7420. Below are my
> comments.
>
> Thanks,
> Inki Dae
>
> On 2014년 10월 23일 01:34, Ajay kumar wrote:
>> On Wed, Oct 22, 2014 at 8:26 PM, Inki Dae  wrote:
>>>
>>> Thanks for contribution.
>>>
>>> It seems reasonable that you separate device drivers into FIMD and DECON
>>> because many registers of them have many different offsets and fields.
>>> However, there may be a good solution that we can combine common sets of
>>> these drivers later.
>> Yes, this is the main reason behind sending this as RFC patch.
>> I want to know what's the best way to do this.
>> FIMD, 5433 DECON and Exynos7 DECON - all are different.
>> Also, in Exynos7 DECON-INT is same as DECON-EXT(Mixer).
>> So, even I am not sure how the driver layouts should be!
>
> Please, make sure Exynos SoC name, Exynos7410 or Exynos7420. In my
> understanding, Exynos7 doesn't mean one real SoC.
We shall use Exynos7 as per the discussion.

>>
>>> Below are my comments.
>>>
>>> Thanks,
>>> Inki Dae
>>>
>>> On 2014년 10월 10일 21:48, Ajay Kumar wrote:
 This series is based on exynos-drm-next branch of Inki Dae's tree at:
 git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos.git

 DECON(Display and Enhancement Controller) is the new IP
 in exynos7 SOC for generating video signals using pixel data.
>>>
>>> DECON was used since Exynos5430. And is Exynos5433 different from
>>> Exynos7? If so, could I get the Exynos7 user manual (TRM) for review?
>> Yes, Exynos5433 DECON is very much different than Exynos7 DECON.
>
> Do not use Exynos7 word and use Exynos7410 or Exynos7420 instead.
Again, we shall use Exynos7.

>> I will see how manual can be arranged.
>>

 DECON driver can be used to drive 2 different interfaces on Exynos7:
 DECON-INT(video controller) and DECON-EXT(Mixer for HDMI)

 The existing FIMD driver code was used as a template to create
 DECON driver. Only DECON-INT is supported as of now, and
 DECON-EXT support will be added later.

 Signed-off-by: Akshu Agrawal 
 Signed-off-by: Ajay Kumar 
 ---
  .../devicetree/bindings/video/exynos-decon.txt |   68 ++
  drivers/gpu/drm/exynos/Kconfig |   11 +-
  drivers/gpu/drm/exynos/Makefile|1 +
  drivers/gpu/drm/exynos/exynos_drm_decon.c  | 1086
>>> 
  drivers/gpu/drm/exynos/exynos_drm_drv.c|   17 +-
  drivers/gpu/drm/exynos/exynos_drm_drv.h|   11 +
  include/video/samsung_decon.h  |  346 +++
  7 files changed, 1537 insertions(+), 3 deletions(-)
  create mode 100644
>>> Documentation/devicetree/bindings/video/exynos-decon.txt
  create mode 100644 drivers/gpu/drm/exynos/exynos_drm_decon.c
  create mode 100644 include/video/samsung_decon.h

 diff --git a/Documentation/devicetree/bindings/video/exynos-decon.txt
>>> b/Documentation/devicetree/bindings/video/exynos-decon.txt
 new file mode 100644
 index 000..e865650
 --- /dev/null
 +++ b/Documentation/devicetree/bindings/video/exynos-decon.txt
 @@ -0,0 +1,68 @@
 +Device-Tree bindings for Samsung Exynos7 SoC display controller (DECON)
 +
 +DECON (Display and Enhancement Controller) is the Display Controller
>>> for the
 +Exynos7 series of SoCs which transfers the image data from a video memory
 +buffer to an external LCD interface.
 +
 +Required properties:
 +- compatible: value should be "samsung,exynos7-decon";
>>>
>>> If exynos5433 was just renamed to exynos7 then, it should be one of the
>>> following:
>>> (a) "samsung,exynos5430-decon" for Display and enhancement 
>>> controller
>>> IP for Exynos5430
>>> (b) "samsung,exynos7" for Display and enhancement controller IP for 
>>> Exynos7
>>>
>>> Or,
>>> (a) "samsung,exynos5430-decon" for Display and enhancement 
>>> controller
>>> IP for Exynos5430
>>>
>>> (b) "samsung,exynos5433-decon" for Display and enhancement 
>>> controller
>>> IP for Exynos5433
>>> (c) "samsung,exynos7" for Display and enhancement controller IP for 
>>> Exynos7
>> Eventually, we will end up here.
>>
>>>
 +
 +- reg: physical base address and length of the DECON registers set.
 +
 +- interrupt-parent: should be the phandle of the decon controller's
 + parent interrupt controller.
 +
 +- interrupts: should contain a list of all DECON IP block interrupts
>>> in the
 +  order: FIFO Level, VSYNC, LCD_SYSTEM. The interrupt 
 specifier
 +  format depends on the interrupt controller used.
 +
 +- interrupt-names: should contain the interrupt names: "fifo", "vsync",
 + "lcd_sys", in the same order as they were listed in the interrupts
 +property.
 +
 +- pinctrl-0: pin 

[RFC PATCH] drm/exynos: Add DECON driver

2014-11-03 Thread Inki Dae

Hi,

Fortunately, I could get the user manual for Exynos7420. Below are my
comments.

Thanks,
Inki Dae

On 2014년 10월 23일 01:34, Ajay kumar wrote:
> On Wed, Oct 22, 2014 at 8:26 PM, Inki Dae  wrote:
>>
>> Thanks for contribution.
>>
>> It seems reasonable that you separate device drivers into FIMD and DECON
>> because many registers of them have many different offsets and fields.
>> However, there may be a good solution that we can combine common sets of
>> these drivers later.
> Yes, this is the main reason behind sending this as RFC patch.
> I want to know what's the best way to do this.
> FIMD, 5433 DECON and Exynos7 DECON - all are different.
> Also, in Exynos7 DECON-INT is same as DECON-EXT(Mixer).
> So, even I am not sure how the driver layouts should be!

Please, make sure Exynos SoC name, Exynos7410 or Exynos7420. In my
understanding, Exynos7 doesn't mean one real SoC.

> 
>> Below are my comments.
>>
>> Thanks,
>> Inki Dae
>>
>> On 2014년 10월 10일 21:48, Ajay Kumar wrote:
>>> This series is based on exynos-drm-next branch of Inki Dae's tree at:
>>> git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos.git
>>>
>>> DECON(Display and Enhancement Controller) is the new IP
>>> in exynos7 SOC for generating video signals using pixel data.
>>
>> DECON was used since Exynos5430. And is Exynos5433 different from
>> Exynos7? If so, could I get the Exynos7 user manual (TRM) for review?
> Yes, Exynos5433 DECON is very much different than Exynos7 DECON.

Do not use Exynos7 word and use Exynos7410 or Exynos7420 instead.

> I will see how manual can be arranged.
> 
>>>
>>> DECON driver can be used to drive 2 different interfaces on Exynos7:
>>> DECON-INT(video controller) and DECON-EXT(Mixer for HDMI)
>>>
>>> The existing FIMD driver code was used as a template to create
>>> DECON driver. Only DECON-INT is supported as of now, and
>>> DECON-EXT support will be added later.
>>>
>>> Signed-off-by: Akshu Agrawal 
>>> Signed-off-by: Ajay Kumar 
>>> ---
>>>  .../devicetree/bindings/video/exynos-decon.txt |   68 ++
>>>  drivers/gpu/drm/exynos/Kconfig |   11 +-
>>>  drivers/gpu/drm/exynos/Makefile|1 +
>>>  drivers/gpu/drm/exynos/exynos_drm_decon.c  | 1086
>> 
>>>  drivers/gpu/drm/exynos/exynos_drm_drv.c|   17 +-
>>>  drivers/gpu/drm/exynos/exynos_drm_drv.h|   11 +
>>>  include/video/samsung_decon.h  |  346 +++
>>>  7 files changed, 1537 insertions(+), 3 deletions(-)
>>>  create mode 100644
>> Documentation/devicetree/bindings/video/exynos-decon.txt
>>>  create mode 100644 drivers/gpu/drm/exynos/exynos_drm_decon.c
>>>  create mode 100644 include/video/samsung_decon.h
>>>
>>> diff --git a/Documentation/devicetree/bindings/video/exynos-decon.txt
>> b/Documentation/devicetree/bindings/video/exynos-decon.txt
>>> new file mode 100644
>>> index 000..e865650
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/video/exynos-decon.txt
>>> @@ -0,0 +1,68 @@
>>> +Device-Tree bindings for Samsung Exynos7 SoC display controller (DECON)
>>> +
>>> +DECON (Display and Enhancement Controller) is the Display Controller
>> for the
>>> +Exynos7 series of SoCs which transfers the image data from a video memory
>>> +buffer to an external LCD interface.
>>> +
>>> +Required properties:
>>> +- compatible: value should be "samsung,exynos7-decon";
>>
>> If exynos5433 was just renamed to exynos7 then, it should be one of the
>> following:
>> (a) "samsung,exynos5430-decon" for Display and enhancement controller
>> IP for Exynos5430
>> (b) "samsung,exynos7" for Display and enhancement controller IP for 
>> Exynos7
>>
>> Or,
>> (a) "samsung,exynos5430-decon" for Display and enhancement controller
>> IP for Exynos5430
>>
>> (b) "samsung,exynos5433-decon" for Display and enhancement controller
>> IP for Exynos5433
>> (c) "samsung,exynos7" for Display and enhancement controller IP for 
>> Exynos7
> Eventually, we will end up here.
> 
>>
>>> +
>>> +- reg: physical base address and length of the DECON registers set.
>>> +
>>> +- interrupt-parent: should be the phandle of the decon controller's
>>> + parent interrupt controller.
>>> +
>>> +- interrupts: should contain a list of all DECON IP block interrupts
>> in the
>>> +  order: FIFO Level, VSYNC, LCD_SYSTEM. The interrupt specifier
>>> +  format depends on the interrupt controller used.
>>> +
>>> +- interrupt-names: should contain the interrupt names: "fifo", "vsync",
>>> + "lcd_sys", in the same order as they were listed in the interrupts
>>> +property.
>>> +
>>> +- pinctrl-0: pin control group to be used for this controller.
>>> +
>>> +- pinctrl-names: must contain a "default" entry.
>>> +
>>> +- clocks: must include clock specifiers corresponding to entries in the
>>> + clock-names property.
>>> +
>>> +- clock-names: list of clock names sorted in the 

[RFC PATCH] drm/exynos: Add DECON driver

2014-10-23 Thread Inki Dae
On 2014? 10? 23? 01:34, Ajay kumar wrote:
> On Wed, Oct 22, 2014 at 8:26 PM, Inki Dae  wrote:
>>
>> Thanks for contribution.
>>
>> It seems reasonable that you separate device drivers into FIMD and DECON
>> because many registers of them have many different offsets and fields.
>> However, there may be a good solution that we can combine common sets of
>> these drivers later.
> Yes, this is the main reason behind sending this as RFC patch.
> I want to know what's the best way to do this.
> FIMD, 5433 DECON and Exynos7 DECON - all are different.
> Also, in Exynos7 DECON-INT is same as DECON-EXT(Mixer).
> So, even I am not sure how the driver layouts should be!
> 
>> Below are my comments.
>>
>> Thanks,
>> Inki Dae
>>
>> On 2014? 10? 10? 21:48, Ajay Kumar wrote:
>>> This series is based on exynos-drm-next branch of Inki Dae's tree at:
>>> git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos.git
>>>
>>> DECON(Display and Enhancement Controller) is the new IP
>>> in exynos7 SOC for generating video signals using pixel data.
>>
>> DECON was used since Exynos5430. And is Exynos5433 different from
>> Exynos7? If so, could I get the Exynos7 user manual (TRM) for review?
> Yes, Exynos5433 DECON is very much different than Exynos7 DECON.
> I will see how manual can be arranged.
> 

Sorry but I couldn't continue to review without Exynos7 user manual. I
hope that I could get it ASAP.

>>>
>>> DECON driver can be used to drive 2 different interfaces on Exynos7:
>>> DECON-INT(video controller) and DECON-EXT(Mixer for HDMI)
>>>
>>> The existing FIMD driver code was used as a template to create
>>> DECON driver. Only DECON-INT is supported as of now, and
>>> DECON-EXT support will be added later.
>>>
>>> Signed-off-by: Akshu Agrawal 
>>> Signed-off-by: Ajay Kumar 
>>> ---
>>>  .../devicetree/bindings/video/exynos-decon.txt |   68 ++
>>>  drivers/gpu/drm/exynos/Kconfig |   11 +-
>>>  drivers/gpu/drm/exynos/Makefile|1 +
>>>  drivers/gpu/drm/exynos/exynos_drm_decon.c  | 1086
>> 
>>>  drivers/gpu/drm/exynos/exynos_drm_drv.c|   17 +-
>>>  drivers/gpu/drm/exynos/exynos_drm_drv.h|   11 +
>>>  include/video/samsung_decon.h  |  346 +++
>>>  7 files changed, 1537 insertions(+), 3 deletions(-)
>>>  create mode 100644
>> Documentation/devicetree/bindings/video/exynos-decon.txt
>>>  create mode 100644 drivers/gpu/drm/exynos/exynos_drm_decon.c
>>>  create mode 100644 include/video/samsung_decon.h
>>>
>>> diff --git a/Documentation/devicetree/bindings/video/exynos-decon.txt
>> b/Documentation/devicetree/bindings/video/exynos-decon.txt
>>> new file mode 100644
>>> index 000..e865650
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/video/exynos-decon.txt
>>> @@ -0,0 +1,68 @@
>>> +Device-Tree bindings for Samsung Exynos7 SoC display controller (DECON)
>>> +
>>> +DECON (Display and Enhancement Controller) is the Display Controller
>> for the
>>> +Exynos7 series of SoCs which transfers the image data from a video memory
>>> +buffer to an external LCD interface.
>>> +
>>> +Required properties:
>>> +- compatible: value should be "samsung,exynos7-decon";
>>
>> If exynos5433 was just renamed to exynos7 then, it should be one of the
>> following:
>> (a) "samsung,exynos5430-decon" for Display and enhancement controller
>> IP for Exynos5430
>> (b) "samsung,exynos7" for Display and enhancement controller IP for 
>> Exynos7
>>
>> Or,
>> (a) "samsung,exynos5430-decon" for Display and enhancement controller
>> IP for Exynos5430
>>
>> (b) "samsung,exynos5433-decon" for Display and enhancement controller
>> IP for Exynos5433
>> (c) "samsung,exynos7" for Display and enhancement controller IP for 
>> Exynos7
> Eventually, we will end up here.
> 
>>
>>> +
>>> +- reg: physical base address and length of the DECON registers set.
>>> +
>>> +- interrupt-parent: should be the phandle of the decon controller's
>>> + parent interrupt controller.
>>> +
>>> +- interrupts: should contain a list of all DECON IP block interrupts
>> in the
>>> +  order: FIFO Level, VSYNC, LCD_SYSTEM. The interrupt specifier
>>> +  format depends on the interrupt controller used.
>>> +
>>> +- interrupt-names: should contain the interrupt names: "fifo", "vsync",
>>> + "lcd_sys", in the same order as they were listed in the interrupts
>>> +property.
>>> +
>>> +- pinctrl-0: pin control group to be used for this controller.
>>> +
>>> +- pinctrl-names: must contain a "default" entry.
>>> +
>>> +- clocks: must include clock specifiers corresponding to entries in the
>>> + clock-names property.
>>> +
>>> +- clock-names: list of clock names sorted in the same order as the clocks
>>> +   property. Must contain "pclk_decon0", "aclk_decon0",
>>> +"decon0_eclk", "decon0_vclk", "sclk_dsd", aclk_lh_disp0",
>>> +

[RFC PATCH] drm/exynos: Add DECON driver

2014-10-23 Thread Inki Dae

Thanks for contribution.

It seems reasonable that you separate device drivers into FIMD and DECON
because many registers of them have many different offsets and fields.
However, there may be a good solution that we can combine common sets of
these drivers later.

Below are my comments.

Thanks,
Inki Dae

On 2014? 10? 10? 21:48, Ajay Kumar wrote:
> This series is based on exynos-drm-next branch of Inki Dae's tree at:
> git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos.git
>
> DECON(Display and Enhancement Controller) is the new IP
> in exynos7 SOC for generating video signals using pixel data.

DECON was used since Exynos5430. And is Exynos5433 different from
Exynos7? If so, could I get the Exynos7 user manual (TRM) for review?

>
> DECON driver can be used to drive 2 different interfaces on Exynos7:
> DECON-INT(video controller) and DECON-EXT(Mixer for HDMI)
>
> The existing FIMD driver code was used as a template to create
> DECON driver. Only DECON-INT is supported as of now, and
> DECON-EXT support will be added later.
>
> Signed-off-by: Akshu Agrawal 
> Signed-off-by: Ajay Kumar 
> ---
>  .../devicetree/bindings/video/exynos-decon.txt |   68 ++
>  drivers/gpu/drm/exynos/Kconfig |   11 +-
>  drivers/gpu/drm/exynos/Makefile|1 +
>  drivers/gpu/drm/exynos/exynos_drm_decon.c  | 1086

>  drivers/gpu/drm/exynos/exynos_drm_drv.c|   17 +-
>  drivers/gpu/drm/exynos/exynos_drm_drv.h|   11 +
>  include/video/samsung_decon.h  |  346 +++
>  7 files changed, 1537 insertions(+), 3 deletions(-)
>  create mode 100644
Documentation/devicetree/bindings/video/exynos-decon.txt
>  create mode 100644 drivers/gpu/drm/exynos/exynos_drm_decon.c
>  create mode 100644 include/video/samsung_decon.h
>
> diff --git a/Documentation/devicetree/bindings/video/exynos-decon.txt
b/Documentation/devicetree/bindings/video/exynos-decon.txt
> new file mode 100644
> index 000..e865650
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/video/exynos-decon.txt
> @@ -0,0 +1,68 @@
> +Device-Tree bindings for Samsung Exynos7 SoC display controller (DECON)
> +
> +DECON (Display and Enhancement Controller) is the Display Controller
for the
> +Exynos7 series of SoCs which transfers the image data from a video memory
> +buffer to an external LCD interface.
> +
> +Required properties:
> +- compatible: value should be "samsung,exynos7-decon";

If exynos5433 was just renamed to exynos7 then, it should be one of the
following:
(a) "samsung,exynos5430-decon" for Display and enhancement controller
IP for Exynos5430
(b) "samsung,exynos7" for Display and enhancement controller IP for 
Exynos7

Or,
(a) "samsung,exynos5430-decon" for Display and enhancement controller
IP for Exynos5430

(b) "samsung,exynos5433-decon" for Display and enhancement controller
IP for Exynos5433
(c) "samsung,exynos7" for Display and enhancement controller IP for 
Exynos7


> +
> +- reg: physical base address and length of the DECON registers set.
> +
> +- interrupt-parent: should be the phandle of the decon controller's
> + parent interrupt controller.
> +
> +- interrupts: should contain a list of all DECON IP block interrupts
in the
> +  order: FIFO Level, VSYNC, LCD_SYSTEM. The interrupt specifier
> +  format depends on the interrupt controller used.
> +
> +- interrupt-names: should contain the interrupt names: "fifo", "vsync",
> + "lcd_sys", in the same order as they were listed in the interrupts
> +property.
> +
> +- pinctrl-0: pin control group to be used for this controller.
> +
> +- pinctrl-names: must contain a "default" entry.
> +
> +- clocks: must include clock specifiers corresponding to entries in the
> + clock-names property.
> +
> +- clock-names: list of clock names sorted in the same order as the clocks
> +   property. Must contain "pclk_decon0", "aclk_decon0",
> +"decon0_eclk", "decon0_vclk", "sclk_dsd", aclk_lh_disp0",
> +"aclk_disp", "aclk_lh_disp1".

Should DECON driver really control above all clocks? I think it's enough
that DECON driver controls only lcd and bus clocks, and others could be
configured by boot-loader or by calling clk_set_rate.

> +
> +Optional Properties:
> +- samsung,power-domain: a phandle to DECON power domain node.

You are missing many properties,
samsung,invert-vden
samsung,invert-vclk
display-timings
...

refer to below document,
Documentation/devicetree/bindings/video/samsung-fimd.txt

> +
> +Example:
> +
> +SoC specific DT entry:
> +
> + decon at 1393 {
> + compatible = "samsung,exynos7-decon";
> + interrupt-parent = <>;
> + reg = <0x1393 0x1000>;
> + interrupt-names = "lcd_sys", "vsync", "fifo";
> + interrupts = <0 188 0>, <0 189 0>, <0 190 0>;
> +   

[RFC PATCH] drm/exynos: Add DECON driver

2014-10-22 Thread Ajay kumar
On Wed, Oct 22, 2014 at 8:26 PM, Inki Dae  wrote:
>
> Thanks for contribution.
>
> It seems reasonable that you separate device drivers into FIMD and DECON
> because many registers of them have many different offsets and fields.
> However, there may be a good solution that we can combine common sets of
> these drivers later.
Yes, this is the main reason behind sending this as RFC patch.
I want to know what's the best way to do this.
FIMD, 5433 DECON and Exynos7 DECON - all are different.
Also, in Exynos7 DECON-INT is same as DECON-EXT(Mixer).
So, even I am not sure how the driver layouts should be!

> Below are my comments.
>
> Thanks,
> Inki Dae
>
> On 2014? 10? 10? 21:48, Ajay Kumar wrote:
>> This series is based on exynos-drm-next branch of Inki Dae's tree at:
>> git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos.git
>>
>> DECON(Display and Enhancement Controller) is the new IP
>> in exynos7 SOC for generating video signals using pixel data.
>
> DECON was used since Exynos5430. And is Exynos5433 different from
> Exynos7? If so, could I get the Exynos7 user manual (TRM) for review?
Yes, Exynos5433 DECON is very much different than Exynos7 DECON.
I will see how manual can be arranged.

>>
>> DECON driver can be used to drive 2 different interfaces on Exynos7:
>> DECON-INT(video controller) and DECON-EXT(Mixer for HDMI)
>>
>> The existing FIMD driver code was used as a template to create
>> DECON driver. Only DECON-INT is supported as of now, and
>> DECON-EXT support will be added later.
>>
>> Signed-off-by: Akshu Agrawal 
>> Signed-off-by: Ajay Kumar 
>> ---
>>  .../devicetree/bindings/video/exynos-decon.txt |   68 ++
>>  drivers/gpu/drm/exynos/Kconfig |   11 +-
>>  drivers/gpu/drm/exynos/Makefile|1 +
>>  drivers/gpu/drm/exynos/exynos_drm_decon.c  | 1086
> 
>>  drivers/gpu/drm/exynos/exynos_drm_drv.c|   17 +-
>>  drivers/gpu/drm/exynos/exynos_drm_drv.h|   11 +
>>  include/video/samsung_decon.h  |  346 +++
>>  7 files changed, 1537 insertions(+), 3 deletions(-)
>>  create mode 100644
> Documentation/devicetree/bindings/video/exynos-decon.txt
>>  create mode 100644 drivers/gpu/drm/exynos/exynos_drm_decon.c
>>  create mode 100644 include/video/samsung_decon.h
>>
>> diff --git a/Documentation/devicetree/bindings/video/exynos-decon.txt
> b/Documentation/devicetree/bindings/video/exynos-decon.txt
>> new file mode 100644
>> index 000..e865650
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/video/exynos-decon.txt
>> @@ -0,0 +1,68 @@
>> +Device-Tree bindings for Samsung Exynos7 SoC display controller (DECON)
>> +
>> +DECON (Display and Enhancement Controller) is the Display Controller
> for the
>> +Exynos7 series of SoCs which transfers the image data from a video memory
>> +buffer to an external LCD interface.
>> +
>> +Required properties:
>> +- compatible: value should be "samsung,exynos7-decon";
>
> If exynos5433 was just renamed to exynos7 then, it should be one of the
> following:
> (a) "samsung,exynos5430-decon" for Display and enhancement controller
> IP for Exynos5430
> (b) "samsung,exynos7" for Display and enhancement controller IP for 
> Exynos7
>
> Or,
> (a) "samsung,exynos5430-decon" for Display and enhancement controller
> IP for Exynos5430
>
> (b) "samsung,exynos5433-decon" for Display and enhancement controller
> IP for Exynos5433
> (c) "samsung,exynos7" for Display and enhancement controller IP for 
> Exynos7
Eventually, we will end up here.

>
>> +
>> +- reg: physical base address and length of the DECON registers set.
>> +
>> +- interrupt-parent: should be the phandle of the decon controller's
>> + parent interrupt controller.
>> +
>> +- interrupts: should contain a list of all DECON IP block interrupts
> in the
>> +  order: FIFO Level, VSYNC, LCD_SYSTEM. The interrupt specifier
>> +  format depends on the interrupt controller used.
>> +
>> +- interrupt-names: should contain the interrupt names: "fifo", "vsync",
>> + "lcd_sys", in the same order as they were listed in the interrupts
>> +property.
>> +
>> +- pinctrl-0: pin control group to be used for this controller.
>> +
>> +- pinctrl-names: must contain a "default" entry.
>> +
>> +- clocks: must include clock specifiers corresponding to entries in the
>> + clock-names property.
>> +
>> +- clock-names: list of clock names sorted in the same order as the clocks
>> +   property. Must contain "pclk_decon0", "aclk_decon0",
>> +"decon0_eclk", "decon0_vclk", "sclk_dsd", aclk_lh_disp0",
>> +"aclk_disp", "aclk_lh_disp1".
>
> Should DECON driver really control above all clocks? I think it's enough
> that DECON driver controls only lcd and bus clocks, and others could be
> configured by boot-loader or by calling clk_set_rate.
Yes, even I am not sure of the clocks. I have 

[RFC PATCH] drm/exynos: Add DECON driver

2014-10-21 Thread Ajay kumar
ping!

On Fri, Oct 10, 2014 at 6:18 PM, Ajay Kumar  wrote:
> This series is based on exynos-drm-next branch of Inki Dae's tree at:
> git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos.git
>
> DECON(Display and Enhancement Controller) is the new IP
> in exynos7 SOC for generating video signals using pixel data.
>
> DECON driver can be used to drive 2 different interfaces on Exynos7:
> DECON-INT(video controller) and DECON-EXT(Mixer for HDMI)
>
> The existing FIMD driver code was used as a template to create
> DECON driver. Only DECON-INT is supported as of now, and
> DECON-EXT support will be added later.
>
> Signed-off-by: Akshu Agrawal 
> Signed-off-by: Ajay Kumar 
> ---
>  .../devicetree/bindings/video/exynos-decon.txt |   68 ++
>  drivers/gpu/drm/exynos/Kconfig |   11 +-
>  drivers/gpu/drm/exynos/Makefile|1 +
>  drivers/gpu/drm/exynos/exynos_drm_decon.c  | 1086 
> 
>  drivers/gpu/drm/exynos/exynos_drm_drv.c|   17 +-
>  drivers/gpu/drm/exynos/exynos_drm_drv.h|   11 +
>  include/video/samsung_decon.h  |  346 +++
>  7 files changed, 1537 insertions(+), 3 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/video/exynos-decon.txt
>  create mode 100644 drivers/gpu/drm/exynos/exynos_drm_decon.c
>  create mode 100644 include/video/samsung_decon.h
>
> diff --git a/Documentation/devicetree/bindings/video/exynos-decon.txt 
> b/Documentation/devicetree/bindings/video/exynos-decon.txt
> new file mode 100644
> index 000..e865650
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/video/exynos-decon.txt
> @@ -0,0 +1,68 @@
> +Device-Tree bindings for Samsung Exynos7 SoC display controller (DECON)
> +
> +DECON (Display and Enhancement Controller) is the Display Controller for the
> +Exynos7 series of SoCs which transfers the image data from a video memory
> +buffer to an external LCD interface.
> +
> +Required properties:
> +- compatible: value should be "samsung,exynos7-decon";
> +
> +- reg: physical base address and length of the DECON registers set.
> +
> +- interrupt-parent: should be the phandle of the decon controller's
> +   parent interrupt controller.
> +
> +- interrupts: should contain a list of all DECON IP block interrupts in the
> +order: FIFO Level, VSYNC, LCD_SYSTEM. The interrupt specifier
> +format depends on the interrupt controller used.
> +
> +- interrupt-names: should contain the interrupt names: "fifo", "vsync",
> +   "lcd_sys", in the same order as they were listed in the interrupts
> +property.
> +
> +- pinctrl-0: pin control group to be used for this controller.
> +
> +- pinctrl-names: must contain a "default" entry.
> +
> +- clocks: must include clock specifiers corresponding to entries in the
> + clock-names property.
> +
> +- clock-names: list of clock names sorted in the same order as the clocks
> +   property. Must contain "pclk_decon0", "aclk_decon0",
> +  "decon0_eclk", "decon0_vclk", "sclk_dsd", aclk_lh_disp0",
> +  "aclk_disp", "aclk_lh_disp1".
> +
> +Optional Properties:
> +- samsung,power-domain: a phandle to DECON power domain node.
> +
> +Example:
> +
> +SoC specific DT entry:
> +
> +   decon at 1393 {
> +   compatible = "samsung,exynos7-decon";
> +   interrupt-parent = <>;
> +   reg = <0x1393 0x1000>;
> +   interrupt-names = "lcd_sys", "vsync", "fifo";
> +   interrupts = <0 188 0>, <0 189 0>, <0 190 0>;
> +   clocks = <_disp PCLK_DECON_INT>,
> +<_disp ACLK_DECON_INT>,
> +<_disp SCLK_DECON_INT_ECLK>,
> +<_disp SCLK_DECON_INT_EXTCLKPLL>,
> +<_disp SCLK_DSD>,
> +<_bus0 ACLK_LH_DISP0>,
> +<_disp ACLK_CP_DISP>,
> +<_bus0 ACLK_LH_DISP1>;
> +   clock-names = "pclk_decon0", "aclk_decon0", "decon0_eclk",
> +   "decon0_vclk", "sclk_dsd", "aclk_lh_disp0",
> +   "aclk_disp", "aclk_lh_disp1";
> +   status = "disabled";
> +   };
> +
> +Board specific DT entry:
> +
> +   decon at 1393 {
> +   pinctrl-0 = <_clk _out>;
> +   pinctrl-names = "default";
> +   status = "okay";
> +   };
> diff --git a/drivers/gpu/drm/exynos/Kconfig b/drivers/gpu/drm/exynos/Kconfig
> index fd1c070..89275ea 100644
> --- a/drivers/gpu/drm/exynos/Kconfig
> +++ b/drivers/gpu/drm/exynos/Kconfig
> @@ -31,6 +31,13 @@ config DRM_EXYNOS_FIMD
> help
>   Choose this option if you want to use Exynos FIMD for DRM.
>
> +config DRM_EXYNOS_DECON
> +   bool "Exynos DRM DECON"
> +   depends on DRM_EXYNOS
> +   select FB_MODE_HELPERS
> +   help
> + Choose this 

[RFC PATCH] drm/exynos: Add DECON driver

2014-10-10 Thread Ajay Kumar
This series is based on exynos-drm-next branch of Inki Dae's tree at:
git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos.git

DECON(Display and Enhancement Controller) is the new IP
in exynos7 SOC for generating video signals using pixel data.

DECON driver can be used to drive 2 different interfaces on Exynos7:
DECON-INT(video controller) and DECON-EXT(Mixer for HDMI)

The existing FIMD driver code was used as a template to create
DECON driver. Only DECON-INT is supported as of now, and
DECON-EXT support will be added later.

Signed-off-by: Akshu Agrawal 
Signed-off-by: Ajay Kumar 
---
 .../devicetree/bindings/video/exynos-decon.txt |   68 ++
 drivers/gpu/drm/exynos/Kconfig |   11 +-
 drivers/gpu/drm/exynos/Makefile|1 +
 drivers/gpu/drm/exynos/exynos_drm_decon.c  | 1086 
 drivers/gpu/drm/exynos/exynos_drm_drv.c|   17 +-
 drivers/gpu/drm/exynos/exynos_drm_drv.h|   11 +
 include/video/samsung_decon.h  |  346 +++
 7 files changed, 1537 insertions(+), 3 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/video/exynos-decon.txt
 create mode 100644 drivers/gpu/drm/exynos/exynos_drm_decon.c
 create mode 100644 include/video/samsung_decon.h

diff --git a/Documentation/devicetree/bindings/video/exynos-decon.txt 
b/Documentation/devicetree/bindings/video/exynos-decon.txt
new file mode 100644
index 000..e865650
--- /dev/null
+++ b/Documentation/devicetree/bindings/video/exynos-decon.txt
@@ -0,0 +1,68 @@
+Device-Tree bindings for Samsung Exynos7 SoC display controller (DECON)
+
+DECON (Display and Enhancement Controller) is the Display Controller for the
+Exynos7 series of SoCs which transfers the image data from a video memory
+buffer to an external LCD interface.
+
+Required properties:
+- compatible: value should be "samsung,exynos7-decon";
+
+- reg: physical base address and length of the DECON registers set.
+
+- interrupt-parent: should be the phandle of the decon controller's
+   parent interrupt controller.
+
+- interrupts: should contain a list of all DECON IP block interrupts in the
+order: FIFO Level, VSYNC, LCD_SYSTEM. The interrupt specifier
+format depends on the interrupt controller used.
+
+- interrupt-names: should contain the interrupt names: "fifo", "vsync",
+   "lcd_sys", in the same order as they were listed in the interrupts
+property.
+
+- pinctrl-0: pin control group to be used for this controller.
+
+- pinctrl-names: must contain a "default" entry.
+
+- clocks: must include clock specifiers corresponding to entries in the
+ clock-names property.
+
+- clock-names: list of clock names sorted in the same order as the clocks
+   property. Must contain "pclk_decon0", "aclk_decon0",
+  "decon0_eclk", "decon0_vclk", "sclk_dsd", aclk_lh_disp0",
+  "aclk_disp", "aclk_lh_disp1".
+
+Optional Properties:
+- samsung,power-domain: a phandle to DECON power domain node.
+
+Example:
+
+SoC specific DT entry:
+
+   decon at 1393 {
+   compatible = "samsung,exynos7-decon";
+   interrupt-parent = <>;
+   reg = <0x1393 0x1000>;
+   interrupt-names = "lcd_sys", "vsync", "fifo";
+   interrupts = <0 188 0>, <0 189 0>, <0 190 0>;
+   clocks = <_disp PCLK_DECON_INT>,
+<_disp ACLK_DECON_INT>,
+<_disp SCLK_DECON_INT_ECLK>,
+<_disp SCLK_DECON_INT_EXTCLKPLL>,
+<_disp SCLK_DSD>,
+<_bus0 ACLK_LH_DISP0>,
+<_disp ACLK_CP_DISP>,
+<_bus0 ACLK_LH_DISP1>;
+   clock-names = "pclk_decon0", "aclk_decon0", "decon0_eclk",
+   "decon0_vclk", "sclk_dsd", "aclk_lh_disp0",
+   "aclk_disp", "aclk_lh_disp1";
+   status = "disabled";
+   };
+
+Board specific DT entry:
+
+   decon at 1393 {
+   pinctrl-0 = <_clk _out>;
+   pinctrl-names = "default";
+   status = "okay";
+   };
diff --git a/drivers/gpu/drm/exynos/Kconfig b/drivers/gpu/drm/exynos/Kconfig
index fd1c070..89275ea 100644
--- a/drivers/gpu/drm/exynos/Kconfig
+++ b/drivers/gpu/drm/exynos/Kconfig
@@ -31,6 +31,13 @@ config DRM_EXYNOS_FIMD
help
  Choose this option if you want to use Exynos FIMD for DRM.

+config DRM_EXYNOS_DECON
+   bool "Exynos DRM DECON"
+   depends on DRM_EXYNOS
+   select FB_MODE_HELPERS
+   help
+ Choose this option if you want to use Exynos DECON for DRM.
+
 config DRM_EXYNOS_DPI
bool "EXYNOS DRM parallel output support"
depends on DRM_EXYNOS_FIMD
@@ -41,7 +48,7 @@ config DRM_EXYNOS_DPI

 config DRM_EXYNOS_DSI
bool "EXYNOS DRM MIPI-DSI driver support"
-   depends on