Re: [PATCH v3] clk: exynos5420: Add 5800 specific clocks

2014-05-19 Thread Arun Kumar K
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 arun...@samsung.com wrote:
 From: Alim Akhtar alim.akh...@samsung.com

 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 alim.akh...@samsung.com
 Signed-off-by: Arun Kumar K arun...@samsung.com
 ---
 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 = {
 

Re: [PATCH v3] clk: exynos5420: Add 5800 specific clocks

2014-05-19 Thread Tomasz Figa
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 arun...@samsung.com wrote:
 From: Alim Akhtar alim.akh...@samsung.com

 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 alim.akh...@samsung.com
 Signed-off-by: Arun Kumar K arun...@samsung.com
 ---
 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 t.f...@samsung.com

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 *reg_base;
 +static enum exynos5x_soc exynos5x_soc;

  #ifdef CONFIG_PM_SLEEP
 -static struct samsung_clk_reg_dump *exynos5420_save;
 

RE: [PATCH v3] clk: exynos5420: Add 5800 specific clocks

2014-05-19 Thread Kukjin Kim
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 arun...@samsung.com
 wrote:
  From: Alim Akhtar alim.akh...@samsung.com
 
  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 alim.akh...@samsung.com
  Signed-off-by: Arun Kumar K arun...@samsung.com
  ---
  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 t.f...@samsung.com
 
 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