All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ben Dooks <ben@simtec.co.uk>
To: MyungJoo Ham <myungjoo.ham@samsung.com>
Cc: linux-arm-kernel@lists.infradead.org,
	linux-samsung-soc@vger.kernel.org, kyungmin.park@samsung.com,
	kgene.kim@samsung.com, myungjoo.ham@gmail.com,
	ben-linux@fluff.org
Subject: Re: [PATCH v3 5/7] ARM: S5PV210: macros for clock registers at	regs-clock.h
Date: Wed, 21 Jul 2010 01:38:28 +0100	[thread overview]
Message-ID: <4C464184.2000301@simtec.co.uk> (raw)
In-Reply-To: <1279517483-22751-6-git-send-email-myungjoo.ham@samsung.com>

On 07/19/10 06:31, MyungJoo Ham wrote:
> Previously, most of CLK_DIV/SRC register accessing mask and shift
> values were used at arch/arm/mach-s5pv210/clock.c only; thus we
> had not been using macros for these. However, as CPUFREQ uses
> those shift and mask values as well, we'd better define them at a single
> location, whose proper location would be regs-clock.h.
>
> Note that only the information about registers used by CPUFREQ are
> defined. However, we may need to define other registers later if we add
> other parts.
>
> Signed-off-by: MyungJoo Ham<myungjoo.ham@samsung.com>
> Signed-off-by: Kyungmin Park<kyungmin.park@samsung.com>
> ---
>   arch/arm/mach-s5pv210/include/mach/regs-clock.h |   45 +++++++++++++++++++++--
>   1 files changed, 42 insertions(+), 3 deletions(-)
>
> diff --git a/arch/arm/mach-s5pv210/include/mach/regs-clock.h b/arch/arm/mach-s5pv210/include/mach/regs-clock.h
> index 2a25ab4..a117ecc 100644
> --- a/arch/arm/mach-s5pv210/include/mach/regs-clock.h
> +++ b/arch/arm/mach-s5pv210/include/mach/regs-clock.h
> @@ -66,11 +66,30 @@
>   #define S5P_CLKGATE_BUS0	S5P_CLKREG(0x484)
>   #define S5P_CLKGATE_BUS1	S5P_CLKREG(0x488)
>   #define S5P_CLK_OUT		S5P_CLKREG(0x500)
> +#define S5P_CLK_DIV_STAT0   S5P_CLKREG(0x1000)
> +#define S5P_CLK_DIV_STAT1   S5P_CLKREG(0x1004)
> +#define S5P_CLK_MUX_STAT0   S5P_CLKREG(0x1100)
> +#define S5P_CLK_MUX_STAT1   S5P_CLKREG(0x1104)
> +
> +#define S5P_ARM_MCS_CON		S5P_CLKREG(0x6100)
>
>   /* CLKSRC0 */
> -#define S5P_CLKSRC0_MUX200_MASK		(0x1<<16)
> -#define S5P_CLKSRC0_MUX166_MASK		(0x1<<20)
> -#define S5P_CLKSRC0_MUX133_MASK		(0x1<<24)
> +#define S5P_CLKSRC0_APLL_MASK		(0x1<<  0)
> +#define S5P_CLKSRC0_APLL_SHIFT		(0)
> +#define S5P_CLKSRC0_MPLL_MASK		(0x1<<  4)
> +#define S5P_CLKSRC0_MPLL_SHIFT		(4)
> +#define S5P_CLKSRC0_EPLL_MASK		(0x1<<  8)
> +#define S5P_CLKSRC0_EPLL_SHIFT		(8)
> +#define S5P_CLKSRC0_VPLL_MASK		(0x1<<  12)
> +#define S5P_CLKSRC0_VPLL_SHIFT		(12)
> +#define S5P_CLKSRC0_MUX200_MASK		(0x1<<  16)
> +#define S5P_CLKSRC0_MUX200_SHIFT	(16)
> +#define S5P_CLKSRC0_MUX166_MASK		(0x1<<  20)
> +#define S5P_CLKSRC0_MUX166_SHIFT	(20)
> +#define S5P_CLKSRC0_MUX133_MASK		(0x1<<  24)
> +#define S5P_CLKSRC0_MUX133_SHIFT	(24)
> +#define S5P_CLKSRC0_ONENAND_MASK	(0x1<<  28)
> +#define S5P_CLKSRC0_ONENAND_SHIFT	(28)
>
>   /* CLKDIV0 */
>   #define S5P_CLKDIV0_APLL_SHIFT		(0)
> @@ -90,6 +109,26 @@
>   #define S5P_CLKDIV0_PCLK66_SHIFT	(28)
>   #define S5P_CLKDIV0_PCLK66_MASK		(0x7<<  S5P_CLKDIV0_PCLK66_SHIFT)
>
> +/* CLKSRC2 */
> +#define S5P_CLKSRC2_G3D_MASK		(0x3<<  0)
> +#define S5P_CLKSRC2_G3D_SHIFT		(0)
> +#define S5P_CLKSRC2_MFC_MASK		(0x3<<  4)
> +#define S5P_CLKSRC2_MFC_SHIFT		(4)
> +#define S5P_CLKSRC2_G2D_MASK		(0x3<<  8)
> +#define S5P_CLKSRC2_G2D_SHIFT		(8)
> +
> +/* CLKDIV2 */
> +#define S5P_CLKDIV2_G3D_MASK		(0xF<<  0)
> +#define S5P_CLKDIV2_G3D_SHIFT		(0)
> +#define S5P_CLKDIV2_MFC_MASK		(0xF<<  4)
> +#define S5P_CLKDIV2_MFC_SHIFT		(4)
> +#define S5P_CLKDIV2_G2D_MASK		(0xF<<  8)
> +#define S5P_CLKDIV2_G2D_SHIFT		(8)

do we actually need these defines, if we're adding clocks
we've not used header-based items if we can help it.

> +/* CLKDIV6 */
> +#define S5P_CLKDIV6_ONEDRAM_MASK	(0xf<<28)
> +#define S5P_CLKDIV6_ONEDRAM_SHIFT	(28)
> +
>   /* Registers related to power management */
>   #define S5P_PWR_CFG		S5P_CLKREG(0xC000)
>   #define S5P_EINT_WAKEUP_MASK	S5P_CLKREG(0xC004)


-- 
Ben Dooks, Design & Software Engineer, Simtec Electronics

http://www.simtec.co.uk/

WARNING: multiple messages have this Message-ID (diff)
From: ben@simtec.co.uk (Ben Dooks)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 5/7] ARM: S5PV210: macros for clock registers at	regs-clock.h
Date: Wed, 21 Jul 2010 01:38:28 +0100	[thread overview]
Message-ID: <4C464184.2000301@simtec.co.uk> (raw)
In-Reply-To: <1279517483-22751-6-git-send-email-myungjoo.ham@samsung.com>

On 07/19/10 06:31, MyungJoo Ham wrote:
> Previously, most of CLK_DIV/SRC register accessing mask and shift
> values were used at arch/arm/mach-s5pv210/clock.c only; thus we
> had not been using macros for these. However, as CPUFREQ uses
> those shift and mask values as well, we'd better define them at a single
> location, whose proper location would be regs-clock.h.
>
> Note that only the information about registers used by CPUFREQ are
> defined. However, we may need to define other registers later if we add
> other parts.
>
> Signed-off-by: MyungJoo Ham<myungjoo.ham@samsung.com>
> Signed-off-by: Kyungmin Park<kyungmin.park@samsung.com>
> ---
>   arch/arm/mach-s5pv210/include/mach/regs-clock.h |   45 +++++++++++++++++++++--
>   1 files changed, 42 insertions(+), 3 deletions(-)
>
> diff --git a/arch/arm/mach-s5pv210/include/mach/regs-clock.h b/arch/arm/mach-s5pv210/include/mach/regs-clock.h
> index 2a25ab4..a117ecc 100644
> --- a/arch/arm/mach-s5pv210/include/mach/regs-clock.h
> +++ b/arch/arm/mach-s5pv210/include/mach/regs-clock.h
> @@ -66,11 +66,30 @@
>   #define S5P_CLKGATE_BUS0	S5P_CLKREG(0x484)
>   #define S5P_CLKGATE_BUS1	S5P_CLKREG(0x488)
>   #define S5P_CLK_OUT		S5P_CLKREG(0x500)
> +#define S5P_CLK_DIV_STAT0   S5P_CLKREG(0x1000)
> +#define S5P_CLK_DIV_STAT1   S5P_CLKREG(0x1004)
> +#define S5P_CLK_MUX_STAT0   S5P_CLKREG(0x1100)
> +#define S5P_CLK_MUX_STAT1   S5P_CLKREG(0x1104)
> +
> +#define S5P_ARM_MCS_CON		S5P_CLKREG(0x6100)
>
>   /* CLKSRC0 */
> -#define S5P_CLKSRC0_MUX200_MASK		(0x1<<16)
> -#define S5P_CLKSRC0_MUX166_MASK		(0x1<<20)
> -#define S5P_CLKSRC0_MUX133_MASK		(0x1<<24)
> +#define S5P_CLKSRC0_APLL_MASK		(0x1<<  0)
> +#define S5P_CLKSRC0_APLL_SHIFT		(0)
> +#define S5P_CLKSRC0_MPLL_MASK		(0x1<<  4)
> +#define S5P_CLKSRC0_MPLL_SHIFT		(4)
> +#define S5P_CLKSRC0_EPLL_MASK		(0x1<<  8)
> +#define S5P_CLKSRC0_EPLL_SHIFT		(8)
> +#define S5P_CLKSRC0_VPLL_MASK		(0x1<<  12)
> +#define S5P_CLKSRC0_VPLL_SHIFT		(12)
> +#define S5P_CLKSRC0_MUX200_MASK		(0x1<<  16)
> +#define S5P_CLKSRC0_MUX200_SHIFT	(16)
> +#define S5P_CLKSRC0_MUX166_MASK		(0x1<<  20)
> +#define S5P_CLKSRC0_MUX166_SHIFT	(20)
> +#define S5P_CLKSRC0_MUX133_MASK		(0x1<<  24)
> +#define S5P_CLKSRC0_MUX133_SHIFT	(24)
> +#define S5P_CLKSRC0_ONENAND_MASK	(0x1<<  28)
> +#define S5P_CLKSRC0_ONENAND_SHIFT	(28)
>
>   /* CLKDIV0 */
>   #define S5P_CLKDIV0_APLL_SHIFT		(0)
> @@ -90,6 +109,26 @@
>   #define S5P_CLKDIV0_PCLK66_SHIFT	(28)
>   #define S5P_CLKDIV0_PCLK66_MASK		(0x7<<  S5P_CLKDIV0_PCLK66_SHIFT)
>
> +/* CLKSRC2 */
> +#define S5P_CLKSRC2_G3D_MASK		(0x3<<  0)
> +#define S5P_CLKSRC2_G3D_SHIFT		(0)
> +#define S5P_CLKSRC2_MFC_MASK		(0x3<<  4)
> +#define S5P_CLKSRC2_MFC_SHIFT		(4)
> +#define S5P_CLKSRC2_G2D_MASK		(0x3<<  8)
> +#define S5P_CLKSRC2_G2D_SHIFT		(8)
> +
> +/* CLKDIV2 */
> +#define S5P_CLKDIV2_G3D_MASK		(0xF<<  0)
> +#define S5P_CLKDIV2_G3D_SHIFT		(0)
> +#define S5P_CLKDIV2_MFC_MASK		(0xF<<  4)
> +#define S5P_CLKDIV2_MFC_SHIFT		(4)
> +#define S5P_CLKDIV2_G2D_MASK		(0xF<<  8)
> +#define S5P_CLKDIV2_G2D_SHIFT		(8)

do we actually need these defines, if we're adding clocks
we've not used header-based items if we can help it.

> +/* CLKDIV6 */
> +#define S5P_CLKDIV6_ONEDRAM_MASK	(0xf<<28)
> +#define S5P_CLKDIV6_ONEDRAM_SHIFT	(28)
> +
>   /* Registers related to power management */
>   #define S5P_PWR_CFG		S5P_CLKREG(0xC000)
>   #define S5P_EINT_WAKEUP_MASK	S5P_CLKREG(0xC004)


-- 
Ben Dooks, Design & Software Engineer, Simtec Electronics

http://www.simtec.co.uk/

  parent reply	other threads:[~2010-07-21  1:20 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-19  5:31 [PATCH v3 0/7] ARM: S5PV210: CPUFREQ Initial Support MyungJoo Ham
2010-07-19  5:31 ` MyungJoo Ham
2010-07-19  5:31 ` [PATCH v3 1/7] ARM: S5PV210: Add a Kconfig entry "S5PC110_EVT0_WORKAROUND" MyungJoo Ham
2010-07-19  5:31   ` MyungJoo Ham
2010-07-19  5:31   ` [PATCH v3 2/7] ARM: Samsung SoC: added hclk/pclk info to s3c_freq for s5pv210 cpu-freq MyungJoo Ham
2010-07-19  5:31     ` MyungJoo Ham
2010-07-19  5:31     ` [PATCH v3 3/7] ARM: S5P: Added default pll values for APLL 800/1000MHz MyungJoo Ham
2010-07-19  5:31       ` MyungJoo Ham
2010-07-19  5:31       ` [PATCH v3 4/7] ARM: S5P: Virtual Addresses for DMCx registers MyungJoo Ham
2010-07-19  5:31         ` MyungJoo Ham
2010-07-19  5:31         ` [PATCH v3 5/7] ARM: S5PV210: macros for clock registers at regs-clock.h MyungJoo Ham
2010-07-19  5:31           ` MyungJoo Ham
2010-07-19  5:31           ` [PATCH v3 6/7] ARM: S5PV210: Access for DMCx registers MyungJoo Ham
2010-07-19  5:31             ` MyungJoo Ham
2010-07-19  5:31             ` [PATCH v3 7/7] ARM: S5PV210: Initial CPUFREQ Support MyungJoo Ham
2010-07-19  5:31               ` MyungJoo Ham
2010-07-19  8:47               ` Mark Brown
2010-07-19  8:47                 ` Mark Brown
2010-07-20  0:37               ` Kukjin Kim
2010-07-20  0:37                 ` Kukjin Kim
2010-07-20  7:00                 ` MyungJoo Ham
2010-07-20  7:00                   ` MyungJoo Ham
2010-07-21  0:38           ` Ben Dooks [this message]
2010-07-21  0:38             ` [PATCH v3 5/7] ARM: S5PV210: macros for clock registers at regs-clock.h Ben Dooks
2010-07-21  2:03             ` MyungJoo Ham
2010-07-21  2:03               ` MyungJoo Ham
2010-07-21  0:37       ` [PATCH v3 3/7] ARM: S5P: Added default pll values for APLL 800/1000MHz Ben Dooks
2010-07-21  0:37         ` Ben Dooks
2010-07-21  1:28         ` MyungJoo Ham
2010-07-21  1:28           ` MyungJoo Ham
2010-07-19  7:59   ` [PATCH v3 1/7] ARM: S5PV210: Add a Kconfig entry "S5PC110_EVT0_WORKAROUND" Kukjin Kim
2010-07-19  7:59     ` Kukjin Kim
2010-07-19  8:09     ` Kyungmin Park
2010-07-19  8:09       ` Kyungmin Park
2010-07-21  0:36   ` Ben Dooks
2010-07-21  0:36     ` Ben Dooks
2010-07-21  1:13     ` MyungJoo Ham
2010-07-21  1:13       ` MyungJoo Ham
2010-07-21 11:47       ` Ben Dooks
2010-07-21 11:47         ` Ben Dooks
2010-07-21 13:51         ` Kyungmin Park
2010-07-21 13:51           ` Kyungmin Park
2010-07-22  0:57         ` MyungJoo Ham
2010-07-22  0:57           ` MyungJoo Ham

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4C464184.2000301@simtec.co.uk \
    --to=ben@simtec.co.uk \
    --cc=ben-linux@fluff.org \
    --cc=kgene.kim@samsung.com \
    --cc=kyungmin.park@samsung.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=myungjoo.ham@gmail.com \
    --cc=myungjoo.ham@samsung.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.