public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Stefan Roese <sr@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 2/8] APM82xxx: Add Common register definitions
Date: Fri, 27 Aug 2010 11:03:09 +0200	[thread overview]
Message-ID: <201008271103.09129.sr@denx.de> (raw)
In-Reply-To: <1282856749-24425-1-git-send-email-tmarri@apm.com>

Hi Marri,

On Thursday 26 August 2010 23:05:49 tmarri at apm.com wrote:
> From: Tirumala Marri <tmarri@apm.com>
> 
> This patch adds APM82XXX specific definitions, which include
> clock and boot strap.

Please find some comments below.
 
> Signed-off-by: Tirumala R Marri <tmarri@apm.com>
> ---
>  include/ppc440.h |   57
> ++++++++++++++++++++++++++++++++++++++++++++++++++++- include/ppc4xx.h |  
>  7 +++--
>  2 files changed, 59 insertions(+), 5 deletions(-)
> 
> diff --git a/include/ppc440.h b/include/ppc440.h
> index c807dda..3bd8e98 100644
> --- a/include/ppc440.h
> +++ b/include/ppc440.h
> @@ -58,6 +58,25 @@
> 
>   | Clocking Controller
> 
>  
> +-------------------------------------------------------------------------
> ---*/ /* values for clkcfga register - indirect addressing of these regs */
> +#if defined(CONFIG_APM82XXX)
> +#define CPR0_CLKUPD      0x0020
> +#define CPR0_PLLC        0x0040
> +#define CPR0_PLLC_SEL(pllc)      (((pllc) & 0x01000000) >> 24)
> +#define CPR0_PLLD        0x0060
> +#define CPR0_PLLD_FDV(plld)     (((plld) & 0xff000000) >> 24)
> +#define CPR0_PLLD_FWDVA(plld)    (((plld) & 0x000f0000) >> 16)
> +#define CPR0_CPUD        0x0080
> +#define CPR0_CPUD_CPUDV(cpud)    (((cpud) & 0x07000000) >> 24)
> +#define CPR0_PLB2D       0x00a0
> +#define CPR0_PLB2D_PLB2DV(plb2d) (((plb2d) & 0x06000000) >> 25)
> +#define CPR0_OPBD        0x00c0
> +#define CPR0_OPBD_OPBDV(opbd)    (((opbd) & 0x03000000) >> 24)
> +#define CPR0_PERD       0x00e0
> +#define CPR0_PERD_PERDV(perd)    (((perd) & 0x03000000) >> 24)
> +#define CPR0_DDR2D      0x0100
> +#define CPR0_DDR2D_DDR2DV(ddr2d) (((ddr2d) & 0x06000000) >> 25)
> +#define CLK_ICFG	0x0140
> +#else
>  #define CPR0_PLLC	0x0040
>  #define CPR0_PLLD	0x0060
>  #define CPR0_PRIMAD0	0x0080
> @@ -67,6 +86,7 @@
>  #define CPR0_MALD	0x0100
>  #define CPR0_SPCID	0x0120
>  #define CPR0_ICFG	0x0140
> +#endif /*if defined(CONFIG_APM82XXX) */
> 
>  /* 440EPX boot strap options */
>  #define BOOT_STRAP_OPTION_A	0x00000000
> @@ -1275,7 +1295,36 @@
>  #define SDR0_AHB_CFG		0x370
>  #define SDR0_USB2HOST_CFG	0x371
>  #endif /* CONFIG_460EX || CONFIG_460GT */
> +#if defined(CONFIG_APM82XXX)
> +
> +#define SDR0_DDR0			0x00E1
> +#define SDR0_DDR0_DDRM_ENCODE(n)	((((unsigned long)(n))&0x03)<<29)
> +#define SDR0_DDR0_DDRM_DECODE(n)	((((unsigned long)(n))>>29)&0x03)
> +#define SDR0_DDR0_TUNE_ENCODE(n)	((((unsigned long)(n))&0x2FF)<<0)
> +#define SDR0_DDR0_TUNE_DECODE(n)	((((unsigned long)(n))>>0)&0x2FF)

Add spaces around the operators. I suggest to replace "unsigned int"
with "u32" to reduce the line-size resulting in this:

#define SDR0_DDR0_DDRM_ENCODE(n)	((((u32)(n)) & 0x03) << 29)
#define SDR0_DDR0_DDRM_DECODE(n)	((((u32)(n)) >> 29) & 0x03)
#define SDR0_DDR0_TUNE_ENCODE(n)	((((u32)(n)) & 0x2FF) << 0)
#define SDR0_DDR0_TUNE_DECODE(n)	((((u32)(n)) >> 0) & 0x2FF)

BTW: I couldn't find any reference to this SDR0_DDR0 register (0xe1) in the
APM8xxx users manual. You might want to add this description there.

> +#define SDR_SDSTP1_RL_DECODE(x) ((x & 0x000C0000) >> 18)

Missing braces around "x".

> +#define SDR_SDSTP1_RL_EBC       0x0
> +#define SDR_SDSTP1_RL_NDFC      0x2
> +
> +/* ECID */
> +#define SDR0_ECID0             0x0080
> +#define SDR0_ECID1             0x0081
> +#define SDR0_ECID2             0x0082
> +#define SDR0_ECID3             0x0083
> +
> +/* AHB config. */
> +#define AHB_TOP                 0xA4
> +#define AHB_BOT                 0xA5
> +#define SDR0_AHB_CFG            0x370
> +
> +/* DDR SDRAM Controller clock (CPR register)*/
> +#define SDR0_DDRCE                     0x00E0 /* SDR register */
> +#define CPR0_DDR2D                     0x0100 /* CPR register */
> +#define CPR0_DDR2D_DDR2DV_ENCODE(n)    ((((unsigned long)(n))&0x03)<<25)
> +#define CPR0_DDR2D_DDR2DV_DECODE(n)    ((((unsigned long)(n))>>25)&0x03)

Again, please add spaces and change to u32.

Please change and resubmit. Thanks.

Cheers,
Stefan

--
DENX Software Engineering GmbH,      MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich,  Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-0 Fax: (+49)-8142-66989-80 Email: office at denx.de

  reply	other threads:[~2010-08-27  9:03 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-26 21:05 [U-Boot] [PATCH 2/8] APM82xxx: Add Common register definitions tmarri at apm.com
2010-08-27  9:03 ` Stefan Roese [this message]
2010-08-29  8:56 ` Wolfgang Denk
2010-08-30 18:45   ` Tirumala Marri

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=201008271103.09129.sr@denx.de \
    --to=sr@denx.de \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox