RE: [PATCH v3] clk: exynos5420: Add 5800 specific clocks
Tomasz Figa wrote: > > Hi, > Hi, > On 19.05.2014 10:32, Arun Kumar K wrote: > > Hi Tomasz, > > > > Can this patch be taken for the 3.16 merge? > > > > Regards > > Arun > > > > On Thu, May 15, 2014 at 11:26 AM, Arun Kumar K > wrote: > >> From: Alim Akhtar > >> > >> Exynos5800 clock structure is mostly similar to 5420 with only > >> a small delta changes. So the 5420 clock file is re-used for > >> 5800 also. The common clocks for both are seggreagated and few > >> clocks which are different for both are separately initialized. > >> > >> Signed-off-by: Alim Akhtar > >> Signed-off-by: Arun Kumar K > >> --- > >> Changes from v2 > >> - Rebased on Tomasz's samsung-clk-next branch of > >> samsung-clk [1] tree. > >> [1] git://git.kernel.org/pub/scm/linux/kernel/git/tfiga/samsung- > clk.git > >> Changes from v1 > >> - Rebased on Shaik's clock consolidation for 5420 > >> - Addressed review comments from Tomasz > > Looks good. > > Acked-by: Tomasz Figa > > Kukjin, since this is just one patch, could you still pick it up > directly? It should apply anywhere above your v3.16-next/clk-samsung > branch. > OK, I will with your ack. Thanks, Kukjin -- 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
Re: [PATCH v3] clk: exynos5420: Add 5800 specific clocks
Hi, On 19.05.2014 10:32, Arun Kumar K wrote: > Hi Tomasz, > > Can this patch be taken for the 3.16 merge? > > Regards > Arun > > On Thu, May 15, 2014 at 11:26 AM, Arun Kumar K wrote: >> From: Alim Akhtar >> >> Exynos5800 clock structure is mostly similar to 5420 with only >> a small delta changes. So the 5420 clock file is re-used for >> 5800 also. The common clocks for both are seggreagated and few >> clocks which are different for both are separately initialized. >> >> Signed-off-by: Alim Akhtar >> Signed-off-by: Arun Kumar K >> --- >> Changes from v2 >> - Rebased on Tomasz's samsung-clk-next branch of >> samsung-clk [1] tree. >> [1] git://git.kernel.org/pub/scm/linux/kernel/git/tfiga/samsung-clk.git >> Changes from v1 >> - Rebased on Shaik's clock consolidation for 5420 >> - Addressed review comments from Tomasz Looks good. Acked-by: Tomasz Figa Kukjin, since this is just one patch, could you still pick it up directly? It should apply anywhere above your v3.16-next/clk-samsung branch. Best regards, Tomasz >> --- >> .../devicetree/bindings/clock/exynos5420-clock.txt |3 +- >> drivers/clk/samsung/clk-exynos5420.c | 309 >> >> include/dt-bindings/clock/exynos5420.h |4 + >> 3 files changed, 259 insertions(+), 57 deletions(-) >> >> diff --git a/Documentation/devicetree/bindings/clock/exynos5420-clock.txt >> b/Documentation/devicetree/bindings/clock/exynos5420-clock.txt >> index ca88c97..d54f42c 100644 >> --- a/Documentation/devicetree/bindings/clock/exynos5420-clock.txt >> +++ b/Documentation/devicetree/bindings/clock/exynos5420-clock.txt >> @@ -1,12 +1,13 @@ >> * Samsung Exynos5420 Clock Controller >> >> The Exynos5420 clock controller generates and supplies clock to various >> -controllers within the Exynos5420 SoC. >> +controllers within the Exynos5420 SoC and for the Exynos5800 SoC. >> >> Required Properties: >> >> - compatible: should be one of the following. >>- "samsung,exynos5420-clock" - controller compatible with Exynos5420 SoC. >> + - "samsung,exynos5800-clock" - controller compatible with Exynos5800 SoC. >> >> - reg: physical base address of the controller and length of memory mapped >>region. >> diff --git a/drivers/clk/samsung/clk-exynos5420.c >> b/drivers/clk/samsung/clk-exynos5420.c >> index 1c3674e..9d7d7ee 100644 >> --- a/drivers/clk/samsung/clk-exynos5420.c >> +++ b/drivers/clk/samsung/clk-exynos5420.c >> @@ -57,15 +57,19 @@ >> #define SRC_TOP5 0x10214 >> #define SRC_TOP6 0x10218 >> #define SRC_TOP7 0x1021c >> +#define SRC_TOP8 0x10220 /* 5800 specific */ >> +#define SRC_TOP9 0x10224 /* 5800 specific */ >> #define SRC_DISP10 0x1022c >> #define SRC_MAU0x10240 >> #define SRC_FSYS 0x10244 >> #define SRC_PERIC0 0x10250 >> #define SRC_PERIC1 0x10254 >> #define SRC_ISP0x10270 >> +#define SRC_CAM0x10274 /* 5800 specific */ >> #define SRC_TOP10 0x10280 >> #define SRC_TOP11 0x10284 >> #define SRC_TOP12 0x10288 >> +#define SRC_TOP13 0x1028c /* 5800 specific */ >> #define SRC_MASK_TOP2 0x10308 >> #define SRC_MASK_TOP7 0x1031c >> #define SRC_MASK_DISP100x1032c >> @@ -76,6 +80,8 @@ >> #define DIV_TOP0 0x10500 >> #define DIV_TOP1 0x10504 >> #define DIV_TOP2 0x10508 >> +#define DIV_TOP8 0x10520 /* 5800 specific */ >> +#define DIV_TOP9 0x10524 /* 5800 specific */ >> #define DIV_DISP10 0x1052c >> #define DIV_MAU0x10544 >> #define DIV_FSYS0 0x10548 >> @@ -86,6 +92,7 @@ >> #define DIV_PERIC2 0x10560 >> #define DIV_PERIC3 0x10564 >> #define DIV_PERIC4 0x10568 >> +#define DIV_CAM0x10574 /* 5800 specific */ >> #define SCLK_DIV_ISP0 0x10580 >> #define SCLK_DIV_ISP1 0x10584 >> #define DIV2_RATIO00x10590 >> @@ -102,6 +109,7 @@ >> #define GATE_TOP_SCLK_ISP 0x10870 >> #define GATE_IP_GSCL0 0x10910 >> #define GATE_IP_GSCL1 0x10920 >> +#define GATE_IP_CAM0x10924 /* 5800 specific */ >> #define GATE_IP_MFC0x1092c >> #define GATE_IP_DISP1 0x10928 >> #define GATE_IP_G3D0x10930 >> @@ -123,23 +131,31 @@ >> #define SRC_KFC0x28200 >> #define DIV_KFC0 0x28500 >> >> +/* Exynos5x SoC type */ >> +enum exynos5x_soc { >> + EXYNOS5420, >> + EXYNOS5800, >> +}; >> + >> /* list of PLLs */ >> -enum exynos5420_plls { >> +enum exynos5x_plls { >> apll, cpll, dpll, epll, rpll, ipll, spll, vpll, mpll, >> bpll, kpll, >> nr_plls /* number of PLLs */ >> }; >> >> static void __iomem *
Re: [PATCH v3] clk: exynos5420: Add 5800 specific clocks
Hi Tomasz, Can this patch be taken for the 3.16 merge? Regards Arun On Thu, May 15, 2014 at 11:26 AM, Arun Kumar K wrote: > From: Alim Akhtar > > Exynos5800 clock structure is mostly similar to 5420 with only > a small delta changes. So the 5420 clock file is re-used for > 5800 also. The common clocks for both are seggreagated and few > clocks which are different for both are separately initialized. > > Signed-off-by: Alim Akhtar > Signed-off-by: Arun Kumar K > --- > Changes from v2 > - Rebased on Tomasz's samsung-clk-next branch of > samsung-clk [1] tree. > [1] git://git.kernel.org/pub/scm/linux/kernel/git/tfiga/samsung-clk.git > Changes from v1 > - Rebased on Shaik's clock consolidation for 5420 > - Addressed review comments from Tomasz > --- > .../devicetree/bindings/clock/exynos5420-clock.txt |3 +- > drivers/clk/samsung/clk-exynos5420.c | 309 > > include/dt-bindings/clock/exynos5420.h |4 + > 3 files changed, 259 insertions(+), 57 deletions(-) > > diff --git a/Documentation/devicetree/bindings/clock/exynos5420-clock.txt > b/Documentation/devicetree/bindings/clock/exynos5420-clock.txt > index ca88c97..d54f42c 100644 > --- a/Documentation/devicetree/bindings/clock/exynos5420-clock.txt > +++ b/Documentation/devicetree/bindings/clock/exynos5420-clock.txt > @@ -1,12 +1,13 @@ > * Samsung Exynos5420 Clock Controller > > The Exynos5420 clock controller generates and supplies clock to various > -controllers within the Exynos5420 SoC. > +controllers within the Exynos5420 SoC and for the Exynos5800 SoC. > > Required Properties: > > - compatible: should be one of the following. >- "samsung,exynos5420-clock" - controller compatible with Exynos5420 SoC. > + - "samsung,exynos5800-clock" - controller compatible with Exynos5800 SoC. > > - reg: physical base address of the controller and length of memory mapped >region. > diff --git a/drivers/clk/samsung/clk-exynos5420.c > b/drivers/clk/samsung/clk-exynos5420.c > index 1c3674e..9d7d7ee 100644 > --- a/drivers/clk/samsung/clk-exynos5420.c > +++ b/drivers/clk/samsung/clk-exynos5420.c > @@ -57,15 +57,19 @@ > #define SRC_TOP5 0x10214 > #define SRC_TOP6 0x10218 > #define SRC_TOP7 0x1021c > +#define SRC_TOP8 0x10220 /* 5800 specific */ > +#define SRC_TOP9 0x10224 /* 5800 specific */ > #define SRC_DISP10 0x1022c > #define SRC_MAU0x10240 > #define SRC_FSYS 0x10244 > #define SRC_PERIC0 0x10250 > #define SRC_PERIC1 0x10254 > #define SRC_ISP0x10270 > +#define SRC_CAM0x10274 /* 5800 specific */ > #define SRC_TOP10 0x10280 > #define SRC_TOP11 0x10284 > #define SRC_TOP12 0x10288 > +#define SRC_TOP13 0x1028c /* 5800 specific */ > #define SRC_MASK_TOP2 0x10308 > #define SRC_MASK_TOP7 0x1031c > #define SRC_MASK_DISP100x1032c > @@ -76,6 +80,8 @@ > #define DIV_TOP0 0x10500 > #define DIV_TOP1 0x10504 > #define DIV_TOP2 0x10508 > +#define DIV_TOP8 0x10520 /* 5800 specific */ > +#define DIV_TOP9 0x10524 /* 5800 specific */ > #define DIV_DISP10 0x1052c > #define DIV_MAU0x10544 > #define DIV_FSYS0 0x10548 > @@ -86,6 +92,7 @@ > #define DIV_PERIC2 0x10560 > #define DIV_PERIC3 0x10564 > #define DIV_PERIC4 0x10568 > +#define DIV_CAM0x10574 /* 5800 specific */ > #define SCLK_DIV_ISP0 0x10580 > #define SCLK_DIV_ISP1 0x10584 > #define DIV2_RATIO00x10590 > @@ -102,6 +109,7 @@ > #define GATE_TOP_SCLK_ISP 0x10870 > #define GATE_IP_GSCL0 0x10910 > #define GATE_IP_GSCL1 0x10920 > +#define GATE_IP_CAM0x10924 /* 5800 specific */ > #define GATE_IP_MFC0x1092c > #define GATE_IP_DISP1 0x10928 > #define GATE_IP_G3D0x10930 > @@ -123,23 +131,31 @@ > #define SRC_KFC0x28200 > #define DIV_KFC0 0x28500 > > +/* Exynos5x SoC type */ > +enum exynos5x_soc { > + EXYNOS5420, > + EXYNOS5800, > +}; > + > /* list of PLLs */ > -enum exynos5420_plls { > +enum exynos5x_plls { > apll, cpll, dpll, epll, rpll, ipll, spll, vpll, mpll, > bpll, kpll, > nr_plls /* number of PLLs */ > }; > > static void __iomem *reg_base; > +static enum exynos5x_soc exynos5x_soc; > > #ifdef CONFIG_PM_SLEEP > -static struct samsung_clk_reg_dump *exynos5420_save; > +static struct samsung_clk_reg_dump *exynos5x_save; > +static struct samsung_clk_reg_dump *exynos5800_save; > > /* > * list of controller registers to be saved and restored during a > * suspend/resume cycle. > */ > -static unsigned l
[PATCH v3] clk: exynos5420: Add 5800 specific clocks
From: Alim Akhtar Exynos5800 clock structure is mostly similar to 5420 with only a small delta changes. So the 5420 clock file is re-used for 5800 also. The common clocks for both are seggreagated and few clocks which are different for both are separately initialized. Signed-off-by: Alim Akhtar Signed-off-by: Arun Kumar K --- Changes from v2 - Rebased on Tomasz's samsung-clk-next branch of samsung-clk [1] tree. [1] git://git.kernel.org/pub/scm/linux/kernel/git/tfiga/samsung-clk.git Changes from v1 - Rebased on Shaik's clock consolidation for 5420 - Addressed review comments from Tomasz --- .../devicetree/bindings/clock/exynos5420-clock.txt |3 +- drivers/clk/samsung/clk-exynos5420.c | 309 include/dt-bindings/clock/exynos5420.h |4 + 3 files changed, 259 insertions(+), 57 deletions(-) diff --git a/Documentation/devicetree/bindings/clock/exynos5420-clock.txt b/Documentation/devicetree/bindings/clock/exynos5420-clock.txt index ca88c97..d54f42c 100644 --- a/Documentation/devicetree/bindings/clock/exynos5420-clock.txt +++ b/Documentation/devicetree/bindings/clock/exynos5420-clock.txt @@ -1,12 +1,13 @@ * Samsung Exynos5420 Clock Controller The Exynos5420 clock controller generates and supplies clock to various -controllers within the Exynos5420 SoC. +controllers within the Exynos5420 SoC and for the Exynos5800 SoC. Required Properties: - compatible: should be one of the following. - "samsung,exynos5420-clock" - controller compatible with Exynos5420 SoC. + - "samsung,exynos5800-clock" - controller compatible with Exynos5800 SoC. - reg: physical base address of the controller and length of memory mapped region. diff --git a/drivers/clk/samsung/clk-exynos5420.c b/drivers/clk/samsung/clk-exynos5420.c index 1c3674e..9d7d7ee 100644 --- a/drivers/clk/samsung/clk-exynos5420.c +++ b/drivers/clk/samsung/clk-exynos5420.c @@ -57,15 +57,19 @@ #define SRC_TOP5 0x10214 #define SRC_TOP6 0x10218 #define SRC_TOP7 0x1021c +#define SRC_TOP8 0x10220 /* 5800 specific */ +#define SRC_TOP9 0x10224 /* 5800 specific */ #define SRC_DISP10 0x1022c #define SRC_MAU0x10240 #define SRC_FSYS 0x10244 #define SRC_PERIC0 0x10250 #define SRC_PERIC1 0x10254 #define SRC_ISP0x10270 +#define SRC_CAM0x10274 /* 5800 specific */ #define SRC_TOP10 0x10280 #define SRC_TOP11 0x10284 #define SRC_TOP12 0x10288 +#define SRC_TOP13 0x1028c /* 5800 specific */ #define SRC_MASK_TOP2 0x10308 #define SRC_MASK_TOP7 0x1031c #define SRC_MASK_DISP100x1032c @@ -76,6 +80,8 @@ #define DIV_TOP0 0x10500 #define DIV_TOP1 0x10504 #define DIV_TOP2 0x10508 +#define DIV_TOP8 0x10520 /* 5800 specific */ +#define DIV_TOP9 0x10524 /* 5800 specific */ #define DIV_DISP10 0x1052c #define DIV_MAU0x10544 #define DIV_FSYS0 0x10548 @@ -86,6 +92,7 @@ #define DIV_PERIC2 0x10560 #define DIV_PERIC3 0x10564 #define DIV_PERIC4 0x10568 +#define DIV_CAM0x10574 /* 5800 specific */ #define SCLK_DIV_ISP0 0x10580 #define SCLK_DIV_ISP1 0x10584 #define DIV2_RATIO00x10590 @@ -102,6 +109,7 @@ #define GATE_TOP_SCLK_ISP 0x10870 #define GATE_IP_GSCL0 0x10910 #define GATE_IP_GSCL1 0x10920 +#define GATE_IP_CAM0x10924 /* 5800 specific */ #define GATE_IP_MFC0x1092c #define GATE_IP_DISP1 0x10928 #define GATE_IP_G3D0x10930 @@ -123,23 +131,31 @@ #define SRC_KFC0x28200 #define DIV_KFC0 0x28500 +/* Exynos5x SoC type */ +enum exynos5x_soc { + EXYNOS5420, + EXYNOS5800, +}; + /* list of PLLs */ -enum exynos5420_plls { +enum exynos5x_plls { apll, cpll, dpll, epll, rpll, ipll, spll, vpll, mpll, bpll, kpll, nr_plls /* number of PLLs */ }; static void __iomem *reg_base; +static enum exynos5x_soc exynos5x_soc; #ifdef CONFIG_PM_SLEEP -static struct samsung_clk_reg_dump *exynos5420_save; +static struct samsung_clk_reg_dump *exynos5x_save; +static struct samsung_clk_reg_dump *exynos5800_save; /* * list of controller registers to be saved and restored during a * suspend/resume cycle. */ -static unsigned long exynos5420_clk_regs[] __initdata = { +static unsigned long exynos5x_clk_regs[] __initdata = { SRC_CPU, DIV_CPU0, DIV_CPU1, @@ -222,18 +238,37 @@ static unsigned long exynos5420_clk_regs[] __initdata = { DIV_KFC0, }; +static unsigned long exynos5800_clk_regs[] __initdata = { + SRC_TOP8, + SRC_TOP9, +