Message ID | 1347307866-30641-1-git-send-email-l.krishna@samsung.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tuesday, September 11, 2012 5:11 AM Leela Krishna Amudala wrote > > This patch adds the bus clock for FIMD and changes the device name for lcd clock > also sets mout_mpll_user as parent clock to fimd > > Signed-off-by: Leela Krishna Amudala <l.krishna@samsung.com> > --- > arch/arm/mach-exynos/clock-exynos5.c | 34 +++++++++++++++++++-------- > arch/arm/plat-samsung/include/plat/clock.h | 2 + > 2 files changed, 26 insertions(+), 10 deletions(-) > > diff --git a/arch/arm/mach-exynos/clock-exynos5.c b/arch/arm/mach-exynos/clock-exynos5.c > index 774533c..f1281cf 100644 > --- a/arch/arm/mach-exynos/clock-exynos5.c > +++ b/arch/arm/mach-exynos/clock-exynos5.c > @@ -891,6 +891,13 @@ static struct clk exynos5_clk_mdma1 = { > .ctrlbit = (1 << 4), > }; > > +static struct clk exynos5_clk_fimd = { > + .name = "fimd", > + .devname = "exynos5-fb", Replace 'exynos5-fb' with 'exynos5-fb.1', as exynos4 fimd uses exynos4-fb.0 as devname. Exynos5 can use fimd0 or fimd1. Also, Exynos5250 uses fimd1. > + .enable = exynos5_clk_ip_disp1_ctrl, > + .ctrlbit = (1 << 0), > +}; > +
Hello Jingoo Han, On Tue, Sep 11, 2012 at 5:52 AM, Jingoo Han <jg1.han@samsung.com> wrote: > On Tuesday, September 11, 2012 5:11 AM Leela Krishna Amudala wrote >> >> This patch adds the bus clock for FIMD and changes the device name for lcd clock >> also sets mout_mpll_user as parent clock to fimd >> >> Signed-off-by: Leela Krishna Amudala <l.krishna@samsung.com> >> --- >> arch/arm/mach-exynos/clock-exynos5.c | 34 +++++++++++++++++++-------- >> arch/arm/plat-samsung/include/plat/clock.h | 2 + >> 2 files changed, 26 insertions(+), 10 deletions(-) >> >> diff --git a/arch/arm/mach-exynos/clock-exynos5.c b/arch/arm/mach-exynos/clock-exynos5.c >> index 774533c..f1281cf 100644 >> --- a/arch/arm/mach-exynos/clock-exynos5.c >> +++ b/arch/arm/mach-exynos/clock-exynos5.c >> @@ -891,6 +891,13 @@ static struct clk exynos5_clk_mdma1 = { >> .ctrlbit = (1 << 4), >> }; >> >> +static struct clk exynos5_clk_fimd = { >> + .name = "fimd", >> + .devname = "exynos5-fb", > > > Replace 'exynos5-fb' with 'exynos5-fb.1', as exynos4 fimd uses exynos4-fb.0 > as devname. Exynos5 can use fimd0 or fimd1. Also, Exynos5250 uses fimd1. > > Currently s3c-fb driver using "exynos5-fb" as device name, hence used the same name in the clock. This code is tested with both drm-fimd and s3c-fb fimd and it is working fine showing the display on LCD. If I change the device name in clock file then I have to change it in s3c-fb driver also. So I feel it is better to keep the name as "exynos5-fb" in clock file instead of changing in the driver. Thanks, Leela Krishna Amudala. >> + .enable = exynos5_clk_ip_disp1_ctrl, >> + .ctrlbit = (1 << 0), >> +}; >> + > > > -- > To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html
On 09/11/2012 11:19 AM, Leela Krishna Amudala wrote: >>> diff --git a/arch/arm/mach-exynos/clock-exynos5.c b/arch/arm/mach-exynos/clock-exynos5.c >>> index 774533c..f1281cf 100644 >>> --- a/arch/arm/mach-exynos/clock-exynos5.c >>> +++ b/arch/arm/mach-exynos/clock-exynos5.c >>> @@ -891,6 +891,13 @@ static struct clk exynos5_clk_mdma1 = { >>> .ctrlbit = (1 << 4), >>> }; >>> >>> +static struct clk exynos5_clk_fimd = { >>> + .name = "fimd", >>> + .devname = "exynos5-fb", >> >> >> Replace 'exynos5-fb' with 'exynos5-fb.1', as exynos4 fimd uses exynos4-fb.0 >> as devname. Exynos5 can use fimd0 or fimd1. Also, Exynos5250 uses fimd1. >> >> > Currently s3c-fb driver using "exynos5-fb" as device name, hence used > the same name in the clock. > This code is tested with both drm-fimd and s3c-fb fimd and it is > working fine showing the display on LCD. > If I change the device name in clock file then I have to change it in > s3c-fb driver also. > So I feel it is better to keep the name as "exynos5-fb" in clock file > instead of changing in the driver. Yeah, makes sense. We can always add a clkdev entry with CLKDEV_INIT() if driver needs it. There is so much confusion now with having device name associated with platform clock name. It should be possible to freely define clock connection id and a platform clock association, not at the platform clock definition. I guess we can now clean all this up only during conversion to common clock framework. Regards,
On Tuesday, September 11, 2012 6:20 PM Leela Krishna Amudala wrote > > Hello Jingoo Han, > > On Tue, Sep 11, 2012 at 5:52 AM, Jingoo Han <jg1.han@samsung.com> wrote: > > On Tuesday, September 11, 2012 5:11 AM Leela Krishna Amudala wrote > >> > >> This patch adds the bus clock for FIMD and changes the device name for lcd clock > >> also sets mout_mpll_user as parent clock to fimd > >> > >> Signed-off-by: Leela Krishna Amudala <l.krishna@samsung.com> > >> --- > >> arch/arm/mach-exynos/clock-exynos5.c | 34 +++++++++++++++++++-------- > >> arch/arm/plat-samsung/include/plat/clock.h | 2 + > >> 2 files changed, 26 insertions(+), 10 deletions(-) > >> > >> diff --git a/arch/arm/mach-exynos/clock-exynos5.c b/arch/arm/mach-exynos/clock-exynos5.c > >> index 774533c..f1281cf 100644 > >> --- a/arch/arm/mach-exynos/clock-exynos5.c > >> +++ b/arch/arm/mach-exynos/clock-exynos5.c > >> @@ -891,6 +891,13 @@ static struct clk exynos5_clk_mdma1 = { > >> .ctrlbit = (1 << 4), > >> }; > >> > >> +static struct clk exynos5_clk_fimd = { > >> + .name = "fimd", > >> + .devname = "exynos5-fb", > > > > > > Replace 'exynos5-fb' with 'exynos5-fb.1', as exynos4 fimd uses exynos4-fb.0 > > as devname. Exynos5 can use fimd0 or fimd1. Also, Exynos5250 uses fimd1. > > > > > Currently s3c-fb driver using "exynos5-fb" as device name, hence used > the same name in the clock. > This code is tested with both drm-fimd and s3c-fb fimd and it is > working fine showing the display on LCD. > If I change the device name in clock file then I have to change it in > s3c-fb driver also. > So I feel it is better to keep the name as "exynos5-fb" in clock file > instead of changing in the driver. No, there is no need to change the device name in s3c-fb driver. Please refer to the patch that I sent 3 months ago. http://www.mail-archive.com/linux-samsung-soc@vger.kernel.org/msg11002.html Now, Exynos5250 has only 1 FIMD IP; however, other Exynos5 SoCs have 2 FIMD IPs. These SoCs have two different clock paths for 2 FIMD IPs. Therefore, we need to consider it. > > Thanks, > Leela Krishna Amudala. > > >> + .enable = exynos5_clk_ip_disp1_ctrl, > >> + .ctrlbit = (1 << 0), > >> +}; > >> + > > > > > > -- > > To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in > > the body of a message to majordomo@vger.kernel.org > > More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi Jingoo han, On Wed, Sep 12, 2012 at 7:28 AM, Jingoo Han <jg1.han@samsung.com> wrote: > On Tuesday, September 11, 2012 6:20 PM Leela Krishna Amudala wrote >> >> Hello Jingoo Han, >> >> On Tue, Sep 11, 2012 at 5:52 AM, Jingoo Han <jg1.han@samsung.com> wrote: >> > On Tuesday, September 11, 2012 5:11 AM Leela Krishna Amudala wrote >> >> >> >> This patch adds the bus clock for FIMD and changes the device name for lcd clock >> >> also sets mout_mpll_user as parent clock to fimd >> >> >> >> Signed-off-by: Leela Krishna Amudala <l.krishna@samsung.com> >> >> --- >> >> arch/arm/mach-exynos/clock-exynos5.c | 34 +++++++++++++++++++-------- >> >> arch/arm/plat-samsung/include/plat/clock.h | 2 + >> >> 2 files changed, 26 insertions(+), 10 deletions(-) >> >> >> >> diff --git a/arch/arm/mach-exynos/clock-exynos5.c b/arch/arm/mach-exynos/clock-exynos5.c >> >> index 774533c..f1281cf 100644 >> >> --- a/arch/arm/mach-exynos/clock-exynos5.c >> >> +++ b/arch/arm/mach-exynos/clock-exynos5.c >> >> @@ -891,6 +891,13 @@ static struct clk exynos5_clk_mdma1 = { >> >> .ctrlbit = (1 << 4), >> >> }; >> >> >> >> +static struct clk exynos5_clk_fimd = { >> >> + .name = "fimd", >> >> + .devname = "exynos5-fb", >> > >> > >> > Replace 'exynos5-fb' with 'exynos5-fb.1', as exynos4 fimd uses exynos4-fb.0 >> > as devname. Exynos5 can use fimd0 or fimd1. Also, Exynos5250 uses fimd1. >> > >> > >> Currently s3c-fb driver using "exynos5-fb" as device name, hence used >> the same name in the clock. >> This code is tested with both drm-fimd and s3c-fb fimd and it is >> working fine showing the display on LCD. >> If I change the device name in clock file then I have to change it in >> s3c-fb driver also. >> So I feel it is better to keep the name as "exynos5-fb" in clock file >> instead of changing in the driver. > > No, there is no need to change the device name in s3c-fb driver. > Please refer to the patch that I sent 3 months ago. > http://www.mail-archive.com/linux-samsung-soc@vger.kernel.org/msg11002.html > > Now, Exynos5250 has only 1 FIMD IP; however, other Exynos5 SoCs > have 2 FIMD IPs. These SoCs have two different clock paths for > 2 FIMD IPs. Therefore, we need to consider it. > > Okay agreed, will change the devname to "exynos5-fb.1" in clock file. Tested with adding DT changes to s3c-fb and with devname "exynos5-fb.1" in clock file. works fine for both drm-fimd and s3c-fb fimd. will post the next version patch soon. >> >> Thanks, >> Leela Krishna Amudala. >> >> >> + .enable = exynos5_clk_ip_disp1_ctrl, >> >> + .ctrlbit = (1 << 0), >> >> +}; >> >> + >> > >> > >> > -- >> > To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in >> > the body of a message to majordomo@vger.kernel.org >> > More majordomo info at http://vger.kernel.org/majordomo-info.html > > -- > To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/arch/arm/mach-exynos/clock-exynos5.c b/arch/arm/mach-exynos/clock-exynos5.c index 774533c..f1281cf 100644 --- a/arch/arm/mach-exynos/clock-exynos5.c +++ b/arch/arm/mach-exynos/clock-exynos5.c @@ -891,6 +891,13 @@ static struct clk exynos5_clk_mdma1 = { .ctrlbit = (1 << 4), }; +static struct clk exynos5_clk_fimd = { + .name = "fimd", + .devname = "exynos5-fb", + .enable = exynos5_clk_ip_disp1_ctrl, + .ctrlbit = (1 << 0), +}; + struct clk *exynos5_clkset_group_list[] = { [0] = &clk_ext_xtal_mux, [1] = NULL, @@ -1120,6 +1127,18 @@ static struct clksrc_clk exynos5_clk_sclk_spi2 = { .reg_div = { .reg = EXYNOS5_CLKDIV_PERIC2, .shift = 8, .size = 8 }, }; +struct clksrc_clk exynos5_clk_sclk_fimd = { + .clk = { + .name = "sclk_fimd", + .devname = "exynos5-fb", + .enable = exynos5_clksrc_mask_disp1_0_ctrl, + .ctrlbit = (1 << 0), + }, + .sources = &exynos5_clkset_group, + .reg_src = { .reg = EXYNOS5_CLKSRC_DISP1_0, .shift = 0, .size = 4 }, + .reg_div = { .reg = EXYNOS5_CLKDIV_DISP1_0, .shift = 0, .size = 4 }, +}; + static struct clksrc_clk exynos5_clksrcs[] = { { .clk = { @@ -1131,16 +1150,6 @@ static struct clksrc_clk exynos5_clksrcs[] = { .reg_div = { .reg = EXYNOS5_CLKDIV_FSYS3, .shift = 8, .size = 8 }, }, { .clk = { - .name = "sclk_fimd", - .devname = "s3cfb.1", - .enable = exynos5_clksrc_mask_disp1_0_ctrl, - .ctrlbit = (1 << 0), - }, - .sources = &exynos5_clkset_group, - .reg_src = { .reg = EXYNOS5_CLKSRC_DISP1_0, .shift = 0, .size = 4 }, - .reg_div = { .reg = EXYNOS5_CLKDIV_DISP1_0, .shift = 0, .size = 4 }, - }, { - .clk = { .name = "aclk_266_gscl", }, .sources = &clk_src_gscl_266, @@ -1240,12 +1249,14 @@ static struct clksrc_clk *exynos5_sysclks[] = { &exynos5_clk_mdout_spi0, &exynos5_clk_mdout_spi1, &exynos5_clk_mdout_spi2, + &exynos5_clk_sclk_fimd, }; static struct clk *exynos5_clk_cdev[] = { &exynos5_clk_pdma0, &exynos5_clk_pdma1, &exynos5_clk_mdma1, + &exynos5_clk_fimd, }; static struct clksrc_clk *exynos5_clksrc_cdev[] = { @@ -1274,6 +1285,7 @@ static struct clk_lookup exynos5_clk_lookup[] = { CLKDEV_INIT("dma-pl330.0", "apb_pclk", &exynos5_clk_pdma0), CLKDEV_INIT("dma-pl330.1", "apb_pclk", &exynos5_clk_pdma1), CLKDEV_INIT("dma-pl330.2", "apb_pclk", &exynos5_clk_mdma1), + CLKDEV_INIT("exynos5-fb", "lcd", &exynos5_clk_fimd), }; static unsigned long exynos5_epll_get_rate(struct clk *clk) @@ -1492,6 +1504,8 @@ void __init_or_cpufreq exynos5_setup_clocks(void) clk_set_rate(&exynos5_clk_aclk_acp.clk, 267000000); clk_set_rate(&exynos5_clk_pclk_acp.clk, 134000000); + clk_set_parent(&exynos5_clk_sclk_fimd.clk, + &exynos5_clk_mout_mpll_user.clk); for (ptr = 0; ptr < ARRAY_SIZE(exynos5_clksrcs); ptr++) s3c_set_clksrc(&exynos5_clksrcs[ptr], true); diff --git a/arch/arm/plat-samsung/include/plat/clock.h b/arch/arm/plat-samsung/include/plat/clock.h index a62753d..3d27783 100644 --- a/arch/arm/plat-samsung/include/plat/clock.h +++ b/arch/arm/plat-samsung/include/plat/clock.h @@ -83,6 +83,8 @@ extern struct clk clk_ext; extern struct clksrc_clk clk_epllref; extern struct clksrc_clk clk_esysclk; +extern struct clksrc_clk exynos5_clk_sclk_fimd; + /* S3C64XX specific clocks */ extern struct clk clk_h2; extern struct clk clk_27m;
This patch adds the bus clock for FIMD and changes the device name for lcd clock also sets mout_mpll_user as parent clock to fimd Signed-off-by: Leela Krishna Amudala <l.krishna@samsung.com> --- arch/arm/mach-exynos/clock-exynos5.c | 34 +++++++++++++++++++-------- arch/arm/plat-samsung/include/plat/clock.h | 2 + 2 files changed, 26 insertions(+), 10 deletions(-)