All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 1/5] ARM: EXYNOS4: Change clock name for FIMD
@ 2011-06-17 13:01 Jingoo Han
  2011-06-19 21:39 ` Sylwester Nawrocki
  0 siblings, 1 reply; 8+ messages in thread
From: Jingoo Han @ 2011-06-17 13:01 UTC (permalink / raw)
  To: Kukjin Kim, Paul Mundt, linux-samsung-soc, Jonghun Han
  Cc: Anand Kumar N, Thomas Abraham, Sylwester Nawrocki,
	Marek Szyprowski, Kyungmin Park, Inki Dae, ARM Linux, Ben Dooks,
	Jingoo Han

This patch changes clock name for FIMD from "fimd" to "lcd".

Signed-off-by: Jingoo Han <jg1.han@samsung.com>
---
 arch/arm/mach-exynos4/clock.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-exynos4/clock.c b/arch/arm/mach-exynos4/clock.c
index 871f9d5..12e6853 100644
--- a/arch/arm/mach-exynos4/clock.c
+++ b/arch/arm/mach-exynos4/clock.c
@@ -433,12 +433,12 @@ static struct clk init_clocks_off[] = {
 		.enable		= exynos4_clk_ip_cam_ctrl,
 		.ctrlbit	= (1 << 3),
 	}, {
-		.name		= "fimd",
+		.name		= "lcd",
 		.id		= 0,
 		.enable		= exynos4_clk_ip_lcd0_ctrl,
 		.ctrlbit	= (1 << 0),
 	}, {
-		.name		= "fimd",
+		.name		= "lcd",
 		.id		= 1,
 		.enable		= exynos4_clk_ip_lcd1_ctrl,
 		.ctrlbit	= (1 << 0),
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 8+ messages in thread
* Re: Re: [PATCH v2 1/5] ARM: EXYNOS4: Change clock name for FIMD
@ 2011-06-20  7:14 JinGoo Han
  2011-06-20  9:47 ` Sylwester Nawrocki
  2011-06-20 10:09 ` daeinki
  0 siblings, 2 replies; 8+ messages in thread
From: JinGoo Han @ 2011-06-20  7:14 UTC (permalink / raw)
  To: Sylwester Nawrocki, JinGoo Han
  Cc: Kukjin Kim, Paul Mundt, linux-samsung-soc@vger.kernel.org,
	Jong-Hun Han, ANAND KUMAR N, THOMAS P ABRAHAM, Sylwester Nawrocki,
	Marek Szyprowski, Kyungmin Park, In-Ki Dae, ARM Linux, Ben Dooks

Hi, Sylwester Nawrocki.
I appreciate your review and suggestion.

Please, refer to the LCD contoller clock table as follows:
 - s3c2440 uses 's3c2410fb.c', not 's3c-fb.c' since  LCD controller IP is different.
   However, s3c2443 uses 's3c-fb.c'. So I add s3c2443 to table instead of s3c2440.
 - s3c6410 has SCLK_LCD, but, clock name is not defined.
 - Exynos4 does not use name "HCLK".

          | LCD controller    |                            |
          | (IP core) clock   | LCD pixel clock            |
----------+------------------------+-----------------------+
s3c2443   |  HCLK (lcd)       | x  |  DISPCLK (display-if) |
----------+------------------------+-----------------------+
s3c6410   |  HCLK (lcd)       | x  |  SCLK_LCD  (N/A)      |
----------+------------------------+-----------------------+
s5pc100   |  HCLK (lcd)       | x  |  SCLK_LCD  (sclk_lcd) |
----------+------------------------+-----------------------+
s5pv210   |  HCLK_DSYS (lcd)  | x  |  SCLK_FIMD (sclk_fimd)|
----------+-----------------------+------------------------+
exynos4   |  ACLK_160 (fimd)  | O  |  SCLK_FIMD (sclk_fimd)|
----------+------------------------+-----------------------+

s3c2443, s3c6410, s5pc100 and s5pv210 don't use 'sclk_lcd' or 'sclk_fimd'.
'lcd' clock is also used to generate the LCD pixel clock.

My point is that LCD contoroller clock should be named "lcd" for consistence.
If there is not mux for lcd pixel clock in case of exynos4, "sclk_fimd" will be set
in machine directory.

As you mentioned, I also think that we need to create two clock connection ids
such as  "bus_ck", "pix_ck" in order to use SCLK_LCD or SCLK_FIMD.
Moreover, 'lcd' in s5pv210 should be changed to 'fimd' according to s5pv210 datasheet.
However, it requres many works to convert.

So, I think that 'two clock connection ids' patch would be submitted later,
after committing the patches that I submitted on last Friday.


On 06/19/2011 23:39 AM, Sylwester Nawrocki wrote:
> Hi Jingoo,
> 
> On 06/17/2011 03:01 PM, Jingoo Han wrote:
> > This patch changes clock name for FIMD from "fimd" to "lcd".
> >
> > Signed-off-by: Jingoo Han<jg1.han@samsung.com>
> > ---
> >   arch/arm/mach-exynos4/clock.c |    4 ++--
> >   1 files changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/arch/arm/mach-exynos4/clock.c
> > b/arch/arm/mach-exynos4/clock.c index 871f9d5..12e6853 100644
> > --- a/arch/arm/mach-exynos4/clock.c
> > +++ b/arch/arm/mach-exynos4/clock.c
> > @@ -433,12 +433,12 @@ static struct clk init_clocks_off[] = {
> >     .enable  = exynos4_clk_ip_cam_ctrl,
> >     .ctrlbit = (1<<  3),
> >    }, {
> > -  .name  = "fimd",
> > +  .name  = "lcd",
> >     .id  = 0,
> >     .enable  = exynos4_clk_ip_lcd0_ctrl,
> 
> I think we're inevitably heading to disaster with this kind of implicit
> clocks mapping across various SoCs. It is getting harder to figure out
> what's going on with every new SoC support added.
> The "fimd" clock in this case (exynos4) is not really a HCLK clock, like,
> for instance, in case of s5pv210. But after this patch they would both be
> named "lcd". You cannot set frequency on "fimd" clock, it is only for
> gating the bus clock to the LCD controller, right ? Whereas "lcd"
> indicates HCLK on s5pv210 and can also be used to generate the LCD pixel
> clock.
> I know you are not going to use "lcd" clock in the driver for setting up
> the pixel clock frequency on exynos4 but it's all confusing this way.
> 
> I dug in the datasheets and it looks like the LCD controller's IP main
> (bus) clock is named HCLK there and "lcd" throughout the code.
> 
>           | LCD controller    |                            |
>           | (IP core) clock   | LCD pixel clock            |
> ----------+------------------------+-----------------------+
> s3c2440   |  HCLK (lcd)       | x  |  N/A ?                |
> ----------+------------------------+-----------------------+
> s3c6410   |  HCLK (lcd)       | x  |  LCD                  |
> ----------+------------------------+-----------------------+
> s5pc100   |  HCLK (lcd)       | x  |  SCLK_LCD  (sclk_lcd) |
> ----------+------------------------+-----------------------+
> s5pv210   |  HCLK(_DSYS) (lcd)| x  |  SCLK_FIMD (sclk_fimd)|
> ----------+-----------------------+-----------------------+
> exynos4   |  ?                | -  |  SCLK_FIMD?(sclk_fimd)|
> ----------+------------------------+-----------------------+
> 
> I think we could try to create two clock connection ids to the framebuffer
> device in the first place, e.g. "bus_ck", "pix_ck".
> And then think about how handle that in the driver.
> 
> But this requires conversion to the omap-style clock registration method,
> something like in the attached patch. The patch is only for s5pv210 and
> and compile tested only as I didn't have any board to test it here.
> It's based on for-next branch at http://tinyurl.com/6yzravy I think there
> might be more issues to convert the old s3c24xx platforms, nevertheless
> the attached patch should not affect them.
> 
> --
> Regards,
> Sylwester

^ permalink raw reply	[flat|nested] 8+ messages in thread
* Re: Re: [PATCH v2 1/5] ARM: EXYNOS4: Change clock name for FIMD
@ 2011-06-21  4:18 JinGoo Han
  2011-06-21  8:21 ` Sylwester Nawrocki
  0 siblings, 1 reply; 8+ messages in thread
From: JinGoo Han @ 2011-06-21  4:18 UTC (permalink / raw)
  To: Sylwester Nawrocki, JinGoo Han
  Cc: Sylwester Nawrocki, Kukjin Kim, Paul Mundt,
	linux-samsung-soc@vger.kernel.org, Jong-Hun Han, ANAND KUMAR N,
	THOMAS P ABRAHAM, Marek Szyprowski, Kyungmin Park, In-Ki Dae,
	ARM Linux, Ben Dooks

> -----Original Message-----
> From: Sylwester Nawrocki [mailto:s.nawrocki@samsung.com]
> Sent: Monday, June 20, 2011 6:48 PM
> To: jg1.han@samsung.com
> Cc: Sylwester Nawrocki; Kukjin Kim; Paul Mundt; linux-samsung-
> soc@vger.kernel.org; Jong-Hun Han; ANAND KUMAR N; THOMAS P ABRAHAM; Marek
> Szyprowski; Kyungmin Park; In-Ki Dae; ARM Linux; Ben Dooks
> Subject: Re: [PATCH v2 1/5] ARM: EXYNOS4: Change clock name for FIMD
> 
> Hi JinGoo,
> 
> On 06/20/2011 09:14 AM, JinGoo Han wrote:
> > Hi, Sylwester Nawrocki.
> > I appreciate your review and suggestion.
> >
> > Please, refer to the LCD contoller clock table as follows:
> 
> ok, thanks for the update.
> 
> >  - s3c2440 uses 's3c2410fb.c', not 's3c-fb.c' since  LCD controller IP is
> different.
> >    However, s3c2443 uses 's3c-fb.c'. So I add s3c2443 to table instead of
> s3c2440.
> 
> Yes, I was aware of that. My bad to put s3c2440 in the table.
> 
> >  - s3c6410 has SCLK_LCD, but, clock name is not defined.
> >  - Exynos4 does not use name "HCLK".
> >
> >           | LCD controller    |                            |
> >           | (IP core) clock   | LCD pixel clock            |
> > ----------+------------------------+-----------------------+
> > s3c2443   |  HCLK (lcd)       | x  |  DISPCLK (display-if) |
> > ----------+------------------------+-----------------------+
> > s3c6410   |  HCLK (lcd)       | x  |  SCLK_LCD  (N/A)      |
> > ----------+------------------------+-----------------------+
> > s5pc100   |  HCLK (lcd)       | x  |  SCLK_LCD  (sclk_lcd) |
> > ----------+------------------------+-----------------------+
> > s5pv210   |  HCLK_DSYS (lcd)  | x  |  SCLK_FIMD (sclk_fimd)|
> > ----------+-----------------------+------------------------+
> > exynos4   |  ACLK_160 (fimd)  | O  |  SCLK_FIMD (sclk_fimd)|
> > ----------+------------------------+-----------------------+
>              ^^^^^^^^^^^^^^^^^^^
> In mach-exynos4/clock.c this clock is described as ACLK_133 (lcd)
I cannot find it.
Let me know where 'fimd' is described as ACLK_133.
Anyway, according to datasheet, this clock is described as ACLK_160.
> 
> >
> > s3c2443, s3c6410, s5pc100 and s5pv210 don't use 'sclk_lcd' or
> 'sclk_fimd'.
> > 'lcd' clock is also used to generate the LCD pixel clock.
> >
> > My point is that LCD controller clock should be named "lcd" for
> consistence.
> 
> Yes, I agree. After thinking about it a bit more I was going to propose
> that too.
> 
> > If there is not mux for lcd pixel clock in case of exynos4, "sclk_fimd"
> will be set
> > in machine directory.
> 
> OK, you patch for s3c-fb driver looks like a significant improvement
> comparing
> to the original one. But I think we should remove the callback into
> machine
> code.
> The driver could just directly be doing clk_get(dev, "sclk_fimd"); If this
> succeeds and clksel option is not set in the IP variant then the driver
> should
> treat "sclk_fimd" as pixel clock, i.e. it will set its frequency and
> enable it.
> It should not care about setting the parent for "sclk_fimd", this should
> be done before s3c-fb probe is called.
> 
> The problem is that I don't know what to do it the bootloader does not set
> a parent clock for sclk_fimd..
> The board code could just get sclk_fimd and set mout_mpll as its parent,
> like
> it's done in your patch:
> [PATCH v2 3/5] ARM: EXYNOS4: Add platform device and helper functions for
> FIMD
> (except passing a pointer to the driver).
> 
> However there have been objections to put such things in the board code in
> the past.
> In case of camera clocks we used to have internally a function in the
> machine
> file setting the parent clocks, until bootloader was modified to configure
> them.
> 
> >
> > As you mentioned, I also think that we need to create two clock
> connection ids
> > such as  "bus_ck", "pix_ck" in order to use SCLK_LCD or SCLK_FIMD.
> > Moreover, 'lcd' in s5pv210 should be changed to 'fimd' according to
> s5pv210 datasheet.
> 
> Yeah, that makes sense.
> 
> > However, it requires many works to convert.
> 
> It's a bit laborious. But it's doable.
> 
> >
> > So, I think that 'two clock connection ids' patch would be submitted
> later,
> > after committing the patches that I submitted on last Friday.
> 
> I agree with that, given that the callback is removed from the platform
> data
> structure.
OK. The callback will be removed from the platform data structure.
> We need to get ourselves onto path of migration to the device tree and
> IMHO
> adding more callbacks to board code is a step in opposite direction.
> 
> 
> Thanks,
> S.

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

end of thread, other threads:[~2011-06-21  8:39 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-06-17 13:01 [PATCH v2 1/5] ARM: EXYNOS4: Change clock name for FIMD Jingoo Han
2011-06-19 21:39 ` Sylwester Nawrocki
  -- strict thread matches above, loose matches on Subject: below --
2011-06-20  7:14 JinGoo Han
2011-06-20  9:47 ` Sylwester Nawrocki
2011-06-20 10:09 ` daeinki
2011-06-20 20:33   ` Sylwester Nawrocki
2011-06-21  0:20     ` daeinki
2011-06-20 21:51   ` Sylwester Nawrocki
2011-06-21  4:18 JinGoo Han
2011-06-21  8:21 ` Sylwester Nawrocki

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