From: Prabhakar Kushwaha <prabhakar@freescale.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 2/4] arm: ls102xa: Remove bit reversing for SCFG registers
Date: Mon, 29 Sep 2014 09:07:16 +0530 [thread overview]
Message-ID: <5428D3EC.2060202@freescale.com> (raw)
In-Reply-To: <1411959194-48189-2-git-send-email-b18965@freescale.com>
On 9/29/2014 8:23 AM, Alison Wang wrote:
> SCFG_SCFGREVCR is SCFG bit reverse register. This register
> must be written with 0xFFFFFFFF before writing to any other
> SCFG register. Then other SCFG register could be written in
> big-endian mode.
>
> Address: 157_0000h base + 200h offset = 157_0200h
> Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15|16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
> W/R SCFGREV
> Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0-31
> SCFGREV SCFG Bit Reverse Control Filed
> 32'h 0000_0000 - No bit reverse is applied
> 32'h FFFF_FFFF - Bit reverse is applied; so 31:0 will be stored/read as 0:31
>
> This patch removes the bit reversing for SCFG registers in
> u-boot. It will be implemented through PBI commands in RCW
> .pbi
> write 0x570200, 0xffffffff
> .end
> So other SCFG register could be written in big-endian mode
> in u-boot or kernel directly.
If I understand correctly, below patch removes both setting 0xffffffff
and 0x00000000.
does re-setting of SCFG_SCFGREVCR not a requirement?
Just a suggestion: if SCFG_SCFGREVCR_REV and SCFG_SCFGREVCR_NOREV not
required, remove the defines also.
> Signed-off-by: Alison Wang <alison.wang@freescale.com>
> ---
> board/freescale/ls1021aqds/ls1021aqds.c | 2 --
> board/freescale/ls1021atwr/ls1021atwr.c | 5 -----
> 2 files changed, 7 deletions(-)
>
> diff --git a/board/freescale/ls1021aqds/ls1021aqds.c b/board/freescale/ls1021aqds/ls1021aqds.c
> index e32dbeb..56028f8 100644
> --- a/board/freescale/ls1021aqds/ls1021aqds.c
> +++ b/board/freescale/ls1021aqds/ls1021aqds.c
> @@ -136,9 +136,7 @@ int board_early_init_f(void)
> struct ccsr_cci400 *cci = (struct ccsr_cci400 *)CONFIG_SYS_CCI400_ADDR;
>
> #ifdef CONFIG_TSEC_ENET
> - out_be32(&scfg->scfgrevcr, SCFG_SCFGREVCR_REV);
> out_be32(&scfg->etsecdmamcr, SCFG_ETSECDMAMCR_LE_BD_FR);
> - out_be32(&scfg->scfgrevcr, SCFG_SCFGREVCR_NOREV);
> #endif
>
> #ifdef CONFIG_FSL_IFC
> diff --git a/board/freescale/ls1021atwr/ls1021atwr.c b/board/freescale/ls1021atwr/ls1021atwr.c
> index 811c911..ff7130e 100644
> --- a/board/freescale/ls1021atwr/ls1021atwr.c
> +++ b/board/freescale/ls1021atwr/ls1021atwr.c
> @@ -250,11 +250,8 @@ int board_early_init_f(void)
> struct ccsr_scfg *scfg = (struct ccsr_scfg *)CONFIG_SYS_FSL_SCFG_ADDR;
>
> #ifdef CONFIG_TSEC_ENET
> - out_be32(&scfg->scfgrevcr, SCFG_SCFGREVCR_REV);
> out_be32(&scfg->etsecdmamcr, SCFG_ETSECDMAMCR_LE_BD_FR);
> out_be32(&scfg->etsecmcr, SCFG_ETSECCMCR_GE2_CLK125);
> - udelay(10);
> - out_be32(&scfg->scfgrevcr, SCFG_SCFGREVCR_NOREV);
> #endif
>
> #ifdef CONFIG_FSL_IFC
> @@ -262,9 +259,7 @@ int board_early_init_f(void)
> #endif
>
> #ifdef CONFIG_FSL_DCU_FB
> - out_be32(&scfg->scfgrevcr, SCFG_SCFGREVCR_REV);
> out_be32(&scfg->pixclkcr, SCFG_PIXCLKCR_PXCKEN);
> - out_be32(&scfg->scfgrevcr, SCFG_SCFGREVCR_NOREV);
> #endif
>
> return 0;
next prev parent reply other threads:[~2014-09-29 3:37 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-29 2:53 [U-Boot] [PATCH 1/4] Add snoop disable for slave port 0, port 1 and port 2 Alison Wang
2014-09-29 2:53 ` [U-Boot] [PATCH 2/4] arm: ls102xa: Remove bit reversing for SCFG registers Alison Wang
2014-09-29 3:37 ` Prabhakar Kushwaha [this message]
2014-09-29 4:21 ` Huan Wang
2014-09-29 2:53 ` [U-Boot] [PATCH 3/4] ls102xa: ifc: nor: fix the write issue when bytes unaligned Alison Wang
2014-09-29 3:21 ` Prabhakar Kushwaha
2014-09-29 2:53 ` [U-Boot] [PATCH 4/4] arm: ls102xa: Add SystemID EEPROM support for LS1021ATWR board Alison Wang
2014-10-04 8:58 ` [U-Boot] [PATCH 1/4] Add snoop disable for slave port 0, port 1 and port 2 Albert ARIBAUD
2014-10-08 7:55 ` Huan Wang
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=5428D3EC.2060202@freescale.com \
--to=prabhakar@freescale.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox