All of lore.kernel.org
 help / color / mirror / Atom feed
From: Siarhei Siamashka <siarhei.siamashka@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 08/14] sun6i: Add a sigma_delta_enable paramter to clock_set_pll5()
Date: Fri, 19 Dec 2014 12:02:41 +0200	[thread overview]
Message-ID: <20141219120241.796206a0@i7> (raw)
In-Reply-To: <1418761900-14035-8-git-send-email-hdegoede@redhat.com>

On Tue, 16 Dec 2014 21:31:33 +0100
Hans de Goede <hdegoede@redhat.com> wrote:

> The sun8i dram code sometimes wants to enable sigma delta mode,
> add a parameter to allow this.
> 
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> ---
>  arch/arm/cpu/armv7/sunxi/clock_sun6i.c        | 9 +++++++--
>  arch/arm/cpu/armv7/sunxi/dram_sun6i.c         | 2 +-
>  arch/arm/include/asm/arch-sunxi/clock.h       | 1 -
>  arch/arm/include/asm/arch-sunxi/clock_sun6i.h | 5 +++++
>  4 files changed, 13 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/arm/cpu/armv7/sunxi/clock_sun6i.c b/arch/arm/cpu/armv7/sunxi/clock_sun6i.c
> index 8e949c6..193e314 100644
> --- a/arch/arm/cpu/armv7/sunxi/clock_sun6i.c
> +++ b/arch/arm/cpu/armv7/sunxi/clock_sun6i.c
> @@ -144,15 +144,20 @@ void clock_set_pll3(unsigned int clk)
>  	       &ccm->pll3_cfg);
>  }
>  
> -void clock_set_pll5(unsigned int clk)
> +void clock_set_pll5(unsigned int clk, bool sigma_delta_enable)
>  {
>  	struct sunxi_ccm_reg * const ccm =
>  		(struct sunxi_ccm_reg *)SUNXI_CCM_BASE;
>  	const int k = 2;
>  	const int m = 1;
>  
> +	if (sigma_delta_enable)
> +		writel(CCM_PLL5_PATTERN, &ccm->pll5_pattern_cfg);
> +
>  	/* PLL5 rate = 24000000 * n * k / m */
> -	writel(CCM_PLL5_CTRL_EN | CCM_PLL5_CTRL_UPD |
> +	writel(CCM_PLL5_CTRL_EN |
> +	       (sigma_delta_enable ? CCM_PLL5_CTRL_SIGMA_DELTA_EN : 0) |
> +	       CCM_PLL5_CTRL_UPD |
>  	       CCM_PLL5_CTRL_N(clk / (24000000 * k / m)) |
>  	       CCM_PLL5_CTRL_K(k) | CCM_PLL5_CTRL_M(m), &ccm->pll5_cfg);
>  
> diff --git a/arch/arm/cpu/armv7/sunxi/dram_sun6i.c b/arch/arm/cpu/armv7/sunxi/dram_sun6i.c
> index 61bb8d4..bc6428a 100644
> --- a/arch/arm/cpu/armv7/sunxi/dram_sun6i.c
> +++ b/arch/arm/cpu/armv7/sunxi/dram_sun6i.c
> @@ -46,7 +46,7 @@ static void mctl_sys_init(void)
>  		(struct sunxi_ccm_reg *)SUNXI_CCM_BASE;
>  	const int dram_clk_div = 2;
>  
> -	clock_set_pll5(DRAM_CLK * dram_clk_div);
> +	clock_set_pll5(DRAM_CLK * dram_clk_div, false);

Would it make the code a bit more readable to have a named constant
here (with SIGMA_DELTA as part of its name) instead of just true/false? 

The "foobar(true, true, false, true)" style is not exactly informative.

I'm not insisting on this though.

>  	clrsetbits_le32(&ccm->dram_clk_cfg, CCM_DRAMCLK_CFG_DIV0_MASK,
>  		CCM_DRAMCLK_CFG_DIV0(dram_clk_div) | CCM_DRAMCLK_CFG_RST |
> diff --git a/arch/arm/include/asm/arch-sunxi/clock.h b/arch/arm/include/asm/arch-sunxi/clock.h
> index 64acff3..505c363 100644
> --- a/arch/arm/include/asm/arch-sunxi/clock.h
> +++ b/arch/arm/include/asm/arch-sunxi/clock.h
> @@ -26,7 +26,6 @@ int clock_init(void);
>  int clock_twi_onoff(int port, int state);
>  void clock_set_pll1(unsigned int hz);
>  void clock_set_pll3(unsigned int hz);
> -void clock_set_pll5(unsigned int hz);
>  unsigned int clock_get_pll5p(void);
>  unsigned int clock_get_pll6(void);
>  void clock_set_de_mod_clock(u32 *clk_cfg, unsigned int hz);
> diff --git a/arch/arm/include/asm/arch-sunxi/clock_sun6i.h b/arch/arm/include/asm/arch-sunxi/clock_sun6i.h
> index 3d4fcd1..f807af3 100644
> --- a/arch/arm/include/asm/arch-sunxi/clock_sun6i.h
> +++ b/arch/arm/include/asm/arch-sunxi/clock_sun6i.h
> @@ -185,6 +185,7 @@ struct sunxi_ccm_reg {
>  #define CCM_PLL5_CTRL_K(n)		((((n) - 1) & 0x3) << 4)
>  #define CCM_PLL5_CTRL_N(n)		((((n) - 1) & 0x1f) << 8)
>  #define CCM_PLL5_CTRL_UPD		(0x1 << 20)
> +#define CCM_PLL5_CTRL_SIGMA_DELTA_EN	(0x1 << 24)
>  #define CCM_PLL5_CTRL_EN		(0x1 << 31)
>  
>  #define PLL6_CFG_DEFAULT		0x90041811 /* 600 MHz */
> @@ -274,6 +275,8 @@ struct sunxi_ccm_reg {
>  
>  #define MBUS_CLK_DEFAULT		0x81000001 /* PLL6 / 2 */
>  
> +#define CCM_PLL5_PATTERN		0xd1303333
> +
>  /* ahb_reset0 offsets */
>  #define AHB_RESET_OFFSET_GMAC		17
>  #define AHB_RESET_OFFSET_MCTL		14
> @@ -308,4 +311,6 @@ struct sunxi_ccm_reg {
>  #define CCM_DE_CTRL_PLL10		(5 << 24)
>  #define CCM_DE_CTRL_GATE		(1 << 31)
>  
> +void clock_set_pll5(unsigned int clk, bool sigma_delta_enable);
> +
>  #endif /* _SUNXI_CLOCK_SUN6I_H */



-- 
Best regards,
Siarhei Siamashka

  parent reply	other threads:[~2014-12-19 10:02 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-16 20:31 [U-Boot] [PATCH 01/14] sun6i: s/SUNXI_GPL0_R_P2WI/SUN6I_GPL0_R_P2WI/ Hans de Goede
2014-12-16 20:31 ` [U-Boot] [PATCH 02/14] sunxi: Add support for the rsb (Reduced Serial Bus) Hans de Goede
2014-12-17  2:22   ` Chen-Yu Tsai
2014-12-17 12:56     ` Hans de Goede
2014-12-18 18:57       ` Ian Campbell
2014-12-18 18:59       ` Ian Campbell
2014-12-19 15:26         ` Hans de Goede
2014-12-16 20:31 ` [U-Boot] [PATCH 03/14] sunxi: axp221: Add axp223 support Hans de Goede
2014-12-17  2:34   ` Chen-Yu Tsai
2014-12-18 10:44     ` Hans de Goede
2014-12-18 19:00   ` Ian Campbell
2014-12-16 20:31 ` [U-Boot] [PATCH 04/14] sunxi: axp221: Add Kconfig help and sane defaults for typical ldo usage Hans de Goede
2014-12-18 19:02   ` Ian Campbell
2014-12-16 20:31 ` [U-Boot] [PATCH 05/14] sunxi: axp221: Make dcdc1 voltage configurable Hans de Goede
2014-12-18 19:03   ` Ian Campbell
2014-12-16 20:31 ` [U-Boot] [PATCH 06/14] sunxi: axp221: Explicitly turn off unused voltages Hans de Goede
2014-12-18 19:04   ` Ian Campbell
2014-12-16 20:31 ` [U-Boot] [PATCH 07/14] sunxi: axp221: Disable dcdc4 on sun8i (A23) Hans de Goede
2014-12-18 19:05   ` Ian Campbell
2014-12-16 20:31 ` [U-Boot] [PATCH 08/14] sun6i: Add a sigma_delta_enable paramter to clock_set_pll5() Hans de Goede
2014-12-18 19:07   ` Ian Campbell
2014-12-19 10:02   ` Siarhei Siamashka [this message]
2014-12-16 20:31 ` [U-Boot] [PATCH 09/14] sun6i: Add k and m parameters " Hans de Goede
2014-12-18 19:07   ` Ian Campbell
2014-12-19 10:03   ` Siarhei Siamashka
2014-12-19 16:40     ` Hans de Goede
2014-12-22  7:25       ` Siarhei Siamashka
2014-12-16 20:31 ` [U-Boot] [PATCH 10/14] sunxi: Move await_completion dram helper to dram.h Hans de Goede
2014-12-18 19:08   ` Ian Campbell
2014-12-19 10:06   ` Siarhei Siamashka
2014-12-19 16:42     ` Hans de Goede
2014-12-22  7:28       ` Siarhei Siamashka
2014-12-16 20:31 ` [U-Boot] [PATCH 11/14] sunxi: Fill memory before comparing it when doing dram init on sun6i Hans de Goede
2014-12-18 19:12   ` Ian Campbell
2014-12-19 10:08     ` Siarhei Siamashka
2014-12-19 16:56       ` Hans de Goede
2014-12-22  7:39         ` Siarhei Siamashka
2014-12-19 16:55     ` Hans de Goede
2014-12-22 14:19       ` Ian Campbell
2014-12-22 14:32         ` Siarhei Siamashka
2014-12-22 14:34           ` Ian Campbell
2014-12-22 15:47         ` Hans de Goede
2014-12-16 20:31 ` [U-Boot] [PATCH 12/14] sunxi: Use memcmp for mctl_mem_matches Hans de Goede
2014-12-18 19:13   ` Ian Campbell
2014-12-16 20:31 ` [U-Boot] [PATCH 13/14] sun8i: Add dram initialization support Hans de Goede
2014-12-18 11:12   ` Chen-Yu Tsai
2014-12-18 19:17   ` Ian Campbell
2014-12-19 16:51     ` Hans de Goede
2014-12-19 10:20   ` Siarhei Siamashka
2014-12-19 17:05     ` Hans de Goede
2014-12-22  7:43       ` Siarhei Siamashka
2014-12-16 20:31 ` [U-Boot] [PATCH 14/14] sun8i: Add defconfig for Ippo_q8h v1.2 Hans de Goede
2014-12-18 19:19   ` Ian Campbell
2014-12-18 18:56 ` [U-Boot] [PATCH 01/14] sun6i: s/SUNXI_GPL0_R_P2WI/SUN6I_GPL0_R_P2WI/ Ian Campbell

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=20141219120241.796206a0@i7 \
    --to=siarhei.siamashka@gmail.com \
    --cc=u-boot@lists.denx.de \
    /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.