Re: Re: [PATCH 1/2] ARM: EXYNOS5: Add clock support for Gscaler
Hi Sachin, On Fri, Jul 6, 2012 at 8:30 PM, Sachin Kamat wrote: > Hi Shaik, > > Some nits: > > Patch subject: s/EXYNOS5/EXYNOS > OK. I will change this. > On 6 July 2012 18:15, Shaik Ameer Basha wrote: >> Add required clock support for Gscaler for exynos5 >> >> Signed-off-by: Abhilash Kesavan >> Signed-off-by: Leela Krishna Amudala >> Signed-off-by: Prathyush K >> Signed-off-by: Shaik Ameer Basha >> --- >> arch/arm/mach-exynos/clock-exynos5.c | 79 >> ++ >> 1 files changed, 79 insertions(+), 0 deletions(-) >> >> diff --git a/arch/arm/mach-exynos/clock-exynos5.c >> b/arch/arm/mach-exynos/clock-exynos5.c >> index fefa336..49f98cd 100644 >> --- a/arch/arm/mach-exynos/clock-exynos5.c >> +++ b/arch/arm/mach-exynos/clock-exynos5.c >> @@ -741,6 +741,26 @@ static struct clk exynos5_init_clocks_off[] = { >> .enable = exynos5_clk_ip_peric_ctrl, >> .ctrlbit= (1 << 14), >> }, { >> + .name = "gscl", >> + .devname= "exynos-gsc.0", >> + .enable = exynos5_clk_ip_gscl_ctrl, >> + .ctrlbit= (1 << 0), >> + }, { >> + .name = "gscl", >> + .devname= "exynos-gsc.1", >> + .enable = exynos5_clk_ip_gscl_ctrl, >> + .ctrlbit= (1 << 1), >> + }, { >> + .name = "gscl", >> + .devname= "exynos-gsc.2", >> + .enable = exynos5_clk_ip_gscl_ctrl, >> + .ctrlbit= (1 << 2), >> + }, { >> + .name = "gscl", >> + .devname= "exynos-gsc.3", >> + .enable = exynos5_clk_ip_gscl_ctrl, >> + .ctrlbit= (1 << 3), >> + }, { >> .name = SYSMMU_CLOCK_NAME, >> .devname= SYSMMU_CLOCK_DEVNAME(mfc_l, 0), >> .enable = &exynos5_clk_ip_mfc_ctrl, >> @@ -1116,6 +1136,61 @@ static struct clksrc_clk exynos5_clksrcs[] = { >> }, >> }; >> >> +/* For ACLK_300_gscl_mid */ >> +static struct clksrc_clk exynos5_clk_mout_aclk_300_gscl_mid = { >> + .clk= { >> + .name = "mout_aclk_300_gscl_mid", >> + }, >> + .sources = &exynos5_clkset_aclk, >> + .reg_src = { .reg = EXYNOS5_CLKSRC_TOP0, .shift = 24, .size = 1 }, >> +}; >> + >> +/* For ACLK_300_gscl */ >> +struct clk *exynos5_clkset_aclk_300_gscl_list[] = { >> + [0] = &exynos5_clk_mout_aclk_300_gscl_mid.clk, >> + [1] = &exynos5_clk_sclk_vpll.clk, >> +}; >> + >> +struct clksrc_sources exynos5_clkset_aclk_300_gscl = { >> + .sources= exynos5_clkset_aclk_300_gscl_list, >> + .nr_sources = ARRAY_SIZE(exynos5_clkset_aclk_300_gscl_list), >> +}; >> + >> +static struct clksrc_clk exynos5_clk_mout_aclk_300_gscl = { >> + .clk= { >> + .name = "mout_aclk_300_gscl", >> + }, >> + .sources = &exynos5_clkset_aclk_300_gscl, >> + .reg_src = { .reg = EXYNOS5_CLKSRC_TOP0, .shift = 25, .size = 1 }, >> +}; >> + >> +static struct clksrc_clk exynos5_clk_dout_aclk_300_gscl = { >> + .clk= { >> + .name = "dout_aclk_300_gscl", >> + .parent = &exynos5_clk_mout_aclk_300_gscl.clk, >> + }, >> + .reg_div = { .reg = EXYNOS5_CLKDIV_TOP1, .shift = 12, .size = 3 }, >> +}; >> + >> +/* Possible clock sources for aclk_300_gscl_sub Mux */ >> +static struct clk *clk_src_gscl_300_list[] = { >> + [0] = &clk_ext_xtal_mux, >> + [1] = &exynos5_clk_dout_aclk_300_gscl.clk, >> +}; >> + >> +static struct clksrc_sources clk_src_gscl_300 = { >> + .sources= clk_src_gscl_300_list, >> + .nr_sources = ARRAY_SIZE(clk_src_gscl_300_list), >> +}; >> + >> +static struct clksrc_clk exynos5_clk_aclk_300_gscl = { >> + .clk= { >> + .name = "aclk_300_gscl", >> + }, >> + .sources = &clk_src_gscl_300, >> + .reg_src = { .reg = EXYNOS5_CLKSRC_TOP3, .shift = 10, .size = 1 }, >> +}; >> + >> /* Clock initialization code */ >> static struct clksrc_clk *exynos5_sysclks[] = { >> &exynos5_clk_mout_apll, >> @@ -1139,6 +1214,10 @@ static struct clksrc_clk *exynos5_sysclks[] = { >> &exynos5_clk_aclk_266, >> &exynos5_clk_aclk_200, >> &exynos5_clk_aclk_166, >> + &exynos5_clk_mout_aclk_300_gscl_mid, >> + &exynos5_clk_mout_aclk_300_gscl, >> + &exynos5_clk_dout_aclk_300_gscl, >> + &exynos5_clk_aclk_300_gscl, >> &exynos5_clk_aclk_66_pre, >> &exynos5_clk_aclk_66, >> &exynos5_clk_dout_mmc0, > > Please maintain the alphabetic order. OK. I will re-order this. > >> -- >> 1.7.0.4 >> >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" >> in >> the body of a message to majord.
Re: Re: [PATCH 2/2] ARM: EXYNOS5: Add gscalar device from DT
Hi Sachin, On Sat, Jul 7, 2012 at 11:58 AM, Sachin Kamat wrote: > Hi Shaik, > > > On 6 July 2012 18:15, Shaik Ameer Basha wrote: >> Adding all 4 gscalar devices from DT device list in machine file. >> >> Signed-off-by: Abhilash Kesavan >> Signed-off-by: Leela Krishna Amudala >> Signed-off-by: Shaik Ameer Basha >> --- >> arch/arm/boot/dts/exynos5250.dtsi | 31 >> +++ >> arch/arm/mach-exynos/mach-exynos5-dt.c |8 >> 2 files changed, 39 insertions(+), 0 deletions(-) >> >> diff --git a/arch/arm/boot/dts/exynos5250.dtsi >> b/arch/arm/boot/dts/exynos5250.dtsi >> index 4272b29..b945c00 100644 >> --- a/arch/arm/boot/dts/exynos5250.dtsi >> +++ b/arch/arm/boot/dts/exynos5250.dtsi >> @@ -23,6 +23,13 @@ >> compatible = "samsung,exynos5250"; >> interrupt-parent = <&gic>; >> >> + aliases { >> + gsc0 = &gsc_0; >> + gsc1 = &gsc_1; >> + gsc2 = &gsc_2; >> + gsc3 = &gsc_3; >> + }; >> + >> gic:interrupt-controller@10481000 { >> compatible = "arm,cortex-a9-gic"; >> #interrupt-cells = <3>; >> @@ -424,4 +431,28 @@ >> #gpio-cells = <4>; >> }; >> }; >> + >> + gsc_0: gsc@0x13e0 { >> + compatible = "samsung,exynos-gsc"; >> + reg = <0x13e0 0x1000>; >> + interrupts = <0 85 0>; >> + }; >> + >> + gsc_1: gsc@0x13e1 { >> + compatible = "samsung,exynos-gsc"; >> + reg = <0x13e1 0x1000>; >> + interrupts = <0 86 0>; >> + }; >> + >> + gsc_2: gsc@0x13e2 { >> + compatible = "samsung,exynos-gsc"; >> + reg = <0x13e2 0x1000>; >> + interrupts = <0 87 0>; >> + }; >> + >> + gsc_3: gsc@0x13e3 { >> + compatible = "samsung,exynos-gsc"; >> + reg = <0x13e3 0x1000>; >> + interrupts = <0 88 0>; >> + }; >> }; > > > Please also update the documentaion for these bindings. > Ok. I will update the documentation in the v2 release for this patch. > >> diff --git a/arch/arm/mach-exynos/mach-exynos5-dt.c >> b/arch/arm/mach-exynos/mach-exynos5-dt.c >> index 7b1e11a..76b081c 100644 >> --- a/arch/arm/mach-exynos/mach-exynos5-dt.c >> +++ b/arch/arm/mach-exynos/mach-exynos5-dt.c >> @@ -50,6 +50,14 @@ static const struct of_dev_auxdata >> exynos5250_auxdata_lookup[] __initconst = { >> OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_PDMA0, "dma-pl330.0", >> NULL), >> OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_PDMA1, "dma-pl330.1", >> NULL), >> OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_MDMA1, "dma-pl330.2", >> NULL), >> + OF_DEV_AUXDATA("samsung,exynos-gsc", 0x13E0, >> + "exynos-gsc.0", NULL), >> + OF_DEV_AUXDATA("samsung,exynos-gsc", 0x13E1, >> + "exynos-gsc.1", NULL), >> + OF_DEV_AUXDATA("samsung,exynos-gsc", 0x13E2, >> + "exynos-gsc.2", NULL), >> + OF_DEV_AUXDATA("samsung,exynos-gsc", 0x13E3, >> + "exynos-gsc.3", NULL), >> {}, >> }; >> >> -- >> 1.7.0.4 >> >> -- >> To unsubscribe from this list: send the line "unsubscribe >> linux-samsung-soc" in >> the body of a message to majord...@vger.kernel.org >> More majordomo info at http://vger.kernel.org/majordomo-info.html > > > > -- > With warm regards, > Sachin --- Regards, Shaik Ameer Basha
Re: Re: [PATCH 2/2] ARM: EXYNOS5: Add gscalar device from DT
Hi Sylwester, On Sat, Jul 7, 2012 at 12:20 AM, Sylwester Nawrocki wrote: > > Hi Shaik, > > > On 07/06/2012 02:45 PM, Shaik Ameer Basha wrote: >> >> Adding all 4 gscalar devices from DT device list in machine file. > > > nit: s/gscalar/gscaler > > The above sentence doesn't quite parse though. > OK. I will fix it. > >> Signed-off-by: Abhilash Kesavan >> Signed-off-by: Leela Krishna Amudala >> Signed-off-by: Shaik Ameer Basha >> --- >> arch/arm/boot/dts/exynos5250.dtsi | 31 >> +++ >> arch/arm/mach-exynos/mach-exynos5-dt.c |8 >> 2 files changed, 39 insertions(+), 0 deletions(-) >> >> diff --git a/arch/arm/boot/dts/exynos5250.dtsi >> b/arch/arm/boot/dts/exynos5250.dtsi >> index 4272b29..b945c00 100644 >> --- a/arch/arm/boot/dts/exynos5250.dtsi >> +++ b/arch/arm/boot/dts/exynos5250.dtsi >> @@ -23,6 +23,13 @@ >> compatible = "samsung,exynos5250"; >> interrupt-parent =<&gic>; >> >> + aliases { >> + gsc0 =&gsc_0; >> + gsc1 =&gsc_1; >> + gsc2 =&gsc_2; >> + gsc3 =&gsc_3; >> + }; >> + > > > What are these aliases useful for ? GScaler driver uses the "of_alias_get_id()" call to retrieve the device IDs, which internally uses these aliases... > Also I think all DT related patches should be posted to > devicetree-disc...@lists.ozlabs.org as well. > I will post the v2 version of this patch to the specified mailing list. > >> gic:interrupt-controller@10481000 { >> compatible = "arm,cortex-a9-gic"; >> #interrupt-cells =<3>; >> @@ -424,4 +431,28 @@ >> #gpio-cells =<4>; >> }; >> }; >> + >> + gsc_0: gsc@0x13e0 { >> + compatible = "samsung,exynos-gsc"; >> + reg =<0x13e0 0x1000>; >> + interrupts =<0 85 0>; >> + }; >> + >> + gsc_1: gsc@0x13e1 { >> + compatible = "samsung,exynos-gsc"; >> + reg =<0x13e1 0x1000>; >> + interrupts =<0 86 0>; >> + }; >> + >> + gsc_2: gsc@0x13e2 { >> + compatible = "samsung,exynos-gsc"; >> + reg =<0x13e2 0x1000>; >> + interrupts =<0 87 0>; >> + }; >> + >> + gsc_3: gsc@0x13e3 { >> + compatible = "samsung,exynos-gsc"; >> + reg =<0x13e3 0x1000>; >> + interrupts =<0 88 0>; >> + }; >> }; >> diff --git a/arch/arm/mach-exynos/mach-exynos5-dt.c >> b/arch/arm/mach-exynos/mach-exynos5-dt.c >> index 7b1e11a..76b081c 100644 >> --- a/arch/arm/mach-exynos/mach-exynos5-dt.c >> +++ b/arch/arm/mach-exynos/mach-exynos5-dt.c >> @@ -50,6 +50,14 @@ static const struct of_dev_auxdata >> exynos5250_auxdata_lookup[] __initconst = { >> OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_PDMA0, "dma-pl330.0", >> NULL), >> OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_PDMA1, "dma-pl330.1", >> NULL), >> OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_MDMA1, "dma-pl330.2", >> NULL), >> + OF_DEV_AUXDATA("samsung,exynos-gsc", 0x13E0, >> + "exynos-gsc.0", NULL), >> + OF_DEV_AUXDATA("samsung,exynos-gsc", 0x13E1, >> + "exynos-gsc.1", NULL), >> + OF_DEV_AUXDATA("samsung,exynos-gsc", 0x13E2, >> + "exynos-gsc.2", NULL), >> + OF_DEV_AUXDATA("samsung,exynos-gsc", 0x13E3, >> + "exynos-gsc.3", NULL), > > > It's probably better to add relevant entry at > arch/arm/mach-exynos/include/mach/map. It's just a one line, e.g. > > /* x = 0...3 */ > #define EXYNOS5_PA_GSC(x) (0x13e0 + ((x) * 0x1)) > > And use it here instead of plain numbers. OK. will address these comments in v2. > > -- > Thanks, > Sylwester Regards, Shaik Ameer BashaN‹§²æìr¸›yúèšØb²X¬¶Ç§vØ^–)Þº{.nÇ+‰·¥Š{±±©¬ºx,¡È§¶›¡Ü¨}©ž²Æ zÚ&j:+v‰¨¾«‘êçzZ+€Ê+zf£¢·hšˆ§~††Ûiÿûàz¹®w¥¢¸?™¨èÚ&¢)ߢf