[PATCH] drm/exynos: Add DECON driver

2014-11-27 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 aks...@gmail.com
Signed-off-by: Ajay Kumar ajaykumar...@samsung.com
---
 .../devicetree/bindings/video/exynos7-decon.txt|   67 ++
 drivers/gpu/drm/exynos/Kconfig |   13 +-
 drivers/gpu/drm/exynos/Makefile|1 +
 drivers/gpu/drm/exynos/exynos7_drm_decon.c | 1029 
 drivers/gpu/drm/exynos/exynos_drm_drv.c|4 +
 drivers/gpu/drm/exynos/exynos_drm_drv.h|1 +
 include/video/exynos7_decon.h  |  346 +++
 7 files changed, 1458 insertions(+), 3 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/video/exynos7-decon.txt
 create mode 100644 drivers/gpu/drm/exynos/exynos7_drm_decon.c
 create mode 100644 include/video/exynos7_decon.h

diff --git a/Documentation/devicetree/bindings/video/exynos7-decon.txt 
b/Documentation/devicetree/bindings/video/exynos7-decon.txt
new file mode 100644
index 000..14db519
--- /dev/null
+++ b/Documentation/devicetree/bindings/video/exynos7-decon.txt
@@ -0,0 +1,67 @@
+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.
+
+Optional Properties:
+- samsung,power-domain: a phandle to DECON power domain node.
+- display-timings: timing settings for FIMD, as described in document [1].
+   Can be used in case timings cannot be provided otherwise
+   or to override timings provided by the panel.
+
+[1]: Documentation/devicetree/bindings/video/display-timing.txt
+
+Example:
+
+SoC specific DT entry:
+
+   decon@1393 {
+   compatible = samsung,exynos7-decon;
+   interrupt-parent = combiner;
+   reg = 0x1393 0x1000;
+   interrupt-names = lcd_sys, vsync, fifo;
+   interrupts = 0 188 0, 0 189 0, 0 190 0;
+   clocks = clock_disp PCLK_DECON_INT,
+clock_disp ACLK_DECON_INT,
+clock_disp SCLK_DECON_INT_ECLK,
+clock_disp SCLK_DECON_INT_EXTCLKPLL;
+   clock-names = pclk_decon0, aclk_decon0, decon0_eclk,
+   decon0_vclk;
+   status = disabled;
+   };
+
+Board specific DT entry:
+
+   decon@1393 {
+   pinctrl-0 = lcd_clk pwm1_out;
+   pinctrl-names = default;
+   status = okay;
+   };
diff --git a/drivers/gpu/drm/exynos/Kconfig b/drivers/gpu/drm/exynos/Kconfig
index 7f9f6f9..d3434cb 100644
--- a/drivers/gpu/drm/exynos/Kconfig
+++ b/drivers/gpu/drm/exynos/Kconfig
@@ -32,9 +32,16 @@ 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
+   depends on (DRM_EXYNOS_FIMD || DRM_EXYNOS_DECON)
select DRM_PANEL
default n
help
@@ -42,7 +49,7 @@ config DRM_EXYNOS_DPI
 
 config DRM_EXYNOS_DSI
bool 

Re: [PATCH] drm/exynos: Add DECON driver

2014-11-27 Thread Pankaj Dubey
Hi Ajay,

On 27 November 2014 at 19:41, Ajay Kumar ajaykumar...@samsung.com 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 aks...@gmail.com
 Signed-off-by: Ajay Kumar ajaykumar...@samsung.com
 ---
  .../devicetree/bindings/video/exynos7-decon.txt|   67 ++
  drivers/gpu/drm/exynos/Kconfig |   13 +-
  drivers/gpu/drm/exynos/Makefile|1 +
  drivers/gpu/drm/exynos/exynos7_drm_decon.c | 1029 
 
  drivers/gpu/drm/exynos/exynos_drm_drv.c|4 +
  drivers/gpu/drm/exynos/exynos_drm_drv.h|1 +
  include/video/exynos7_decon.h  |  346 +++
  7 files changed, 1458 insertions(+), 3 deletions(-)
  create mode 100644 Documentation/devicetree/bindings/video/exynos7-decon.txt
  create mode 100644 drivers/gpu/drm/exynos/exynos7_drm_decon.c
  create mode 100644 include/video/exynos7_decon.h

 diff --git a/Documentation/devicetree/bindings/video/exynos7-decon.txt 
 b/Documentation/devicetree/bindings/video/exynos7-decon.txt
 new file mode 100644
 index 000..14db519
 --- /dev/null
 +++ b/Documentation/devicetree/bindings/video/exynos7-decon.txt
 @@ -0,0 +1,67 @@
 +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.
 +
 +Optional Properties:
 +- samsung,power-domain: a phandle to DECON power domain node.
 +- display-timings: timing settings for FIMD, as described in document [1].
 +   Can be used in case timings cannot be provided otherwise
 +   or to override timings provided by the panel.
 +
 +[1]: Documentation/devicetree/bindings/video/display-timing.txt
 +
 +Example:
 +
 +SoC specific DT entry:
 +
 +   decon@1393 {
 +   compatible = samsung,exynos7-decon;
 +   interrupt-parent = combiner;
 +   reg = 0x1393 0x1000;
 +   interrupt-names = lcd_sys, vsync, fifo;
 +   interrupts = 0 188 0, 0 189 0, 0 190 0;
 +   clocks = clock_disp PCLK_DECON_INT,
 +clock_disp ACLK_DECON_INT,
 +clock_disp SCLK_DECON_INT_ECLK,
 +clock_disp SCLK_DECON_INT_EXTCLKPLL;
 +   clock-names = pclk_decon0, aclk_decon0, decon0_eclk,
 +   decon0_vclk;
 +   status = disabled;
 +   };
 +
 +Board specific DT entry:
 +
 +   decon@1393 {
 +   pinctrl-0 = lcd_clk pwm1_out;
 +   pinctrl-names = default;
 +   status = okay;
 +   };
 diff --git a/drivers/gpu/drm/exynos/Kconfig b/drivers/gpu/drm/exynos/Kconfig
 index 7f9f6f9..d3434cb 100644
 --- a/drivers/gpu/drm/exynos/Kconfig
 +++ b/drivers/gpu/drm/exynos/Kconfig
 @@ -32,9 +32,16 @@ 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 

Re: [PATCH] drm/exynos: Add DECON driver

2014-11-27 Thread Ajay kumar
Hi Pankaj,

Thanks a lot for reviewing the patch. Find my comments below.

On Thu, Nov 27, 2014 at 9:55 PM, Pankaj Dubey pankaj.du...@samsung.com wrote:
 Hi Ajay,

 On 27 November 2014 at 19:41, Ajay Kumar ajaykumar...@samsung.com 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 aks...@gmail.com
 Signed-off-by: Ajay Kumar ajaykumar...@samsung.com
 ---
  .../devicetree/bindings/video/exynos7-decon.txt|   67 ++
  drivers/gpu/drm/exynos/Kconfig |   13 +-
  drivers/gpu/drm/exynos/Makefile|1 +
  drivers/gpu/drm/exynos/exynos7_drm_decon.c | 1029 
 
  drivers/gpu/drm/exynos/exynos_drm_drv.c|4 +
  drivers/gpu/drm/exynos/exynos_drm_drv.h|1 +
  include/video/exynos7_decon.h  |  346 +++
  7 files changed, 1458 insertions(+), 3 deletions(-)
  create mode 100644 Documentation/devicetree/bindings/video/exynos7-decon.txt
  create mode 100644 drivers/gpu/drm/exynos/exynos7_drm_decon.c
  create mode 100644 include/video/exynos7_decon.h

 diff --git a/Documentation/devicetree/bindings/video/exynos7-decon.txt 
 b/Documentation/devicetree/bindings/video/exynos7-decon.txt
 new file mode 100644
 index 000..14db519
 --- /dev/null
 +++ b/Documentation/devicetree/bindings/video/exynos7-decon.txt
 @@ -0,0 +1,67 @@
 +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.
 +
 +Optional Properties:
 +- samsung,power-domain: a phandle to DECON power domain node.
 +- display-timings: timing settings for FIMD, as described in document [1].
 +   Can be used in case timings cannot be provided otherwise
 +   or to override timings provided by the panel.
 +
 +[1]: Documentation/devicetree/bindings/video/display-timing.txt
 +
 +Example:
 +
 +SoC specific DT entry:
 +
 +   decon@1393 {
 +   compatible = samsung,exynos7-decon;
 +   interrupt-parent = combiner;
 +   reg = 0x1393 0x1000;
 +   interrupt-names = lcd_sys, vsync, fifo;
 +   interrupts = 0 188 0, 0 189 0, 0 190 0;
 +   clocks = clock_disp PCLK_DECON_INT,
 +clock_disp ACLK_DECON_INT,
 +clock_disp SCLK_DECON_INT_ECLK,
 +clock_disp SCLK_DECON_INT_EXTCLKPLL;
 +   clock-names = pclk_decon0, aclk_decon0, decon0_eclk,
 +   decon0_vclk;
 +   status = disabled;
 +   };
 +
 +Board specific DT entry:
 +
 +   decon@1393 {
 +   pinctrl-0 = lcd_clk pwm1_out;
 +   pinctrl-names = default;
 +   status = okay;
 +   };
 diff --git a/drivers/gpu/drm/exynos/Kconfig b/drivers/gpu/drm/exynos/Kconfig
 index 7f9f6f9..d3434cb 100644
 --- a/drivers/gpu/drm/exynos/Kconfig
 +++ b/drivers/gpu/drm/exynos/Kconfig
 @@ -32,9 +32,16 @@ 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 

Re: [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 inki@samsung.com wrote:
 On 2014년 11월 25일 22:08, Ajay kumar wrote:
 Hi Inki,

 On Tue, Nov 25, 2014 at 6:30 PM, Inki Dae inki@samsung.com 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 ajayn...@gmail.com wrote:
 Hi Inki,

 On Mon, Nov 3, 2014 at 3:31 PM, Inki Dae inki@samsung.com 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 inki@samsung.com 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 aksh...@samsung.com
 Signed-off-by: Ajay Kumar ajaykumar...@samsung.com
 ---
  .../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 

Re: [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 ajayn...@gmail.com wrote:
 Hi Inki,

 On Mon, Nov 3, 2014 at 3:31 PM, Inki Dae inki@samsung.com 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 inki@samsung.com 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 aksh...@samsung.com
 Signed-off-by: Ajay Kumar ajaykumar...@samsung.com
 ---
  .../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 

Re: [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 ajayn...@gmail.com wrote:
 Hi Inki,

 On Mon, Nov 3, 2014 at 3:31 PM, Inki Dae inki@samsung.com 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 inki@samsung.com 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 aksh...@samsung.com
 Signed-off-by: Ajay Kumar ajaykumar...@samsung.com
 ---
  .../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.
 +
 +- 

Re: [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 inki@samsung.com 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 ajayn...@gmail.com wrote:
 Hi Inki,

 On Mon, Nov 3, 2014 at 3:31 PM, Inki Dae inki@samsung.com 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 inki@samsung.com 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 aksh...@samsung.com
 Signed-off-by: Ajay Kumar ajaykumar...@samsung.com
 ---
  .../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 

Re: [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 inki@samsung.com 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 ajayn...@gmail.com wrote:
 Hi Inki,

 On Mon, Nov 3, 2014 at 3:31 PM, Inki Dae inki@samsung.com 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 inki@samsung.com 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 aksh...@samsung.com
 Signed-off-by: Ajay Kumar ajaykumar...@samsung.com
 ---
  .../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 

Re: [RFC PATCH] drm/exynos: Add DECON driver

2014-11-25 Thread Ajay kumar
On Tue, Nov 25, 2014 at 6:59 PM, Inki Dae inki@samsung.com wrote:
 On 2014년 11월 25일 22:08, Ajay kumar wrote:
 Hi Inki,

 On Tue, Nov 25, 2014 at 6:30 PM, Inki Dae inki@samsung.com 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 ajayn...@gmail.com wrote:
 Hi Inki,

 On Mon, Nov 3, 2014 at 3:31 PM, Inki Dae inki@samsung.com 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 inki@samsung.com 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 aksh...@samsung.com
 Signed-off-by: Ajay Kumar ajaykumar...@samsung.com
 ---
  .../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 

Re: [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 inki@samsung.com 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 inki@samsung.com 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 aksh...@samsung.com
 Signed-off-by: Ajay Kumar ajaykumar...@samsung.com
 ---
  .../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, 

Re: [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 inki@samsung.com 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 aksh...@samsung.com
 Signed-off-by: Ajay Kumar ajaykumar...@samsung.com
 ---
  .../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 

Re: [RFC PATCH] drm/exynos: Add DECON driver

2014-10-22 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 aksh...@samsung.com
 Signed-off-by: Ajay Kumar ajaykumar...@samsung.com
 ---
  .../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@1393 {
 + compatible = samsung,exynos7-decon;
 + interrupt-parent = combiner;
 + reg = 0x1393 0x1000;
 + interrupt-names = lcd_sys, vsync, fifo;
 + interrupts = 0 188 0, 0 189 0, 0 190 0;
 + clocks = clock_disp PCLK_DECON_INT,
 +  clock_disp 

Re: [RFC PATCH] drm/exynos: Add DECON driver

2014-10-22 Thread Ajay kumar
On Wed, Oct 22, 2014 at 8:26 PM, Inki Dae inki@samsung.com 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 aksh...@samsung.com
 Signed-off-by: Ajay Kumar ajaykumar...@samsung.com
 ---
  .../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 copied these clocks from intrnal
android code.
 +
 +Optional Properties:
 +- samsung,power-domain: a phandle to DECON power domain node.

 You are 

Re: [RFC PATCH] drm/exynos: Add DECON driver

2014-10-22 Thread Inki Dae
On 2014년 10월 23일 01:34, Ajay kumar wrote:
 On Wed, Oct 22, 2014 at 8:26 PM, Inki Dae inki@samsung.com 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 aksh...@samsung.com
 Signed-off-by: Ajay Kumar ajaykumar...@samsung.com
 ---
  .../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 

Re: [RFC PATCH] drm/exynos: Add DECON driver

2014-10-20 Thread Ajay kumar
ping!

On Fri, Oct 10, 2014 at 6:18 PM, Ajay Kumar ajaykumar...@samsung.com 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 aksh...@samsung.com
 Signed-off-by: Ajay Kumar ajaykumar...@samsung.com
 ---
  .../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@1393 {
 +   compatible = samsung,exynos7-decon;
 +   interrupt-parent = combiner;
 +   reg = 0x1393 0x1000;
 +   interrupt-names = lcd_sys, vsync, fifo;
 +   interrupts = 0 188 0, 0 189 0, 0 190 0;
 +   clocks = clock_disp PCLK_DECON_INT,
 +clock_disp ACLK_DECON_INT,
 +clock_disp SCLK_DECON_INT_ECLK,
 +clock_disp SCLK_DECON_INT_EXTCLKPLL,
 +clock_disp SCLK_DSD,
 +clock_bus0 ACLK_LH_DISP0,
 +clock_disp ACLK_CP_DISP,
 +clock_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@1393 {
 +   pinctrl-0 = lcd_clk pwm1_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 

[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 aksh...@samsung.com
Signed-off-by: Ajay Kumar ajaykumar...@samsung.com
---
 .../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@1393 {
+   compatible = samsung,exynos7-decon;
+   interrupt-parent = combiner;
+   reg = 0x1393 0x1000;
+   interrupt-names = lcd_sys, vsync, fifo;
+   interrupts = 0 188 0, 0 189 0, 0 190 0;
+   clocks = clock_disp PCLK_DECON_INT,
+clock_disp ACLK_DECON_INT,
+clock_disp SCLK_DECON_INT_ECLK,
+clock_disp SCLK_DECON_INT_EXTCLKPLL,
+clock_disp SCLK_DSD,
+clock_bus0 ACLK_LH_DISP0,
+clock_disp ACLK_CP_DISP,
+clock_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@1393 {
+   pinctrl-0 = lcd_clk pwm1_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
-