public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Kumar Gala <galak@kernel.crashing.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 3/7] ppc/p4080: CoreNet platfrom style CCSRBAR setting
Date: Fri, 18 Sep 2009 15:59:51 -0500	[thread overview]
Message-ID: <1253307595-28655-4-git-send-email-galak@kernel.crashing.org> (raw)
In-Reply-To: <1253307595-28655-3-git-send-email-galak@kernel.crashing.org>

On CoreNet based platforms the CCSRBAR address is split between an high &
low register and we no longer shift the address.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Scott Wood <scottwood@freescale.com>
---
 cpu/mpc85xx/cpu_init_early.c |   27 +++++++++++++++++++++++++++
 1 files changed, 27 insertions(+), 0 deletions(-)

diff --git a/cpu/mpc85xx/cpu_init_early.c b/cpu/mpc85xx/cpu_init_early.c
index 7886f86..bb31709 100644
--- a/cpu/mpc85xx/cpu_init_early.c
+++ b/cpu/mpc85xx/cpu_init_early.c
@@ -54,6 +54,9 @@ void cpu_init_early_f(void)
 		u32 temp;
 		volatile u32 *ccsr_virt =
 			(volatile u32 *)(CONFIG_SYS_CCSRBAR + 0x1000);
+#ifdef CONFIG_FSL_CORENET
+		volatile ccsr_local_t *ccm;
+#endif
 
 		mas0 = MAS0_TLBSEL(0) | MAS0_ESEL(1);
 		/* mas1 is the same as above */
@@ -64,9 +67,33 @@ void cpu_init_early_f(void)
 
 		write_tlb(mas0, mas1, mas2, mas3, mas7);
 
+#ifdef CONFIG_FSL_CORENET
+		/*
+		 * We can't call set_law() because we haven't moved
+		 * CCSR yet.
+		 */
+		ccm = (void *)ccsr_virt;
+
+		out_be32(&ccm->lawbarh0, (u64)CONFIG_SYS_CCSRBAR_PHYS >> 32);
+		out_be32(&ccm->lawbarl0, (u32)CONFIG_SYS_CCSRBAR_PHYS);
+		out_be32(&ccm->lawar0, LAWAR_EN | (0x1e << 20) | LAW_SIZE_4K);
+
+		in_be32((u32 *)(ccsr_virt + 0));
+		in_be32((u32 *)(ccsr_virt + 1));
+		isync();
+
+		ccm = (void *)CONFIG_SYS_CCSRBAR;
+		/* Now use the temporary LAW to move CCSR */
+		out_be32(&ccm->ccsrbarh, (u64)CONFIG_SYS_CCSRBAR_PHYS >> 32);
+		out_be32(&ccm->ccsrbarl, (u32)CONFIG_SYS_CCSRBAR_PHYS);
+		out_be32(&ccm->ccsrar, CCSRAR_C);
+		temp = in_be32(&ccm->ccsrar);
+		disable_law(0);
+#else
 		temp = in_be32(ccsr_virt);
 		out_be32(ccsr_virt, CONFIG_SYS_CCSRBAR_PHYS >> 12);
 		temp = in_be32((volatile u32 *)CONFIG_SYS_CCSRBAR);
+#endif
 	}
 #endif
 
-- 
1.6.0.6

  reply	other threads:[~2009-09-18 20:59 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-18 20:59 [U-Boot] [PATCH 0/7] ppc/p4080: infrastructure patches Kumar Gala
2009-09-18 20:59 ` [U-Boot] [PATCH 1/7] ppc/p4080: Add p4080 platform immap definitions Kumar Gala
2009-09-18 20:59   ` [U-Boot] [PATCH 2/7] ppc/p4080: Add support for CoreNet style platform LAWs Kumar Gala
2009-09-18 20:59     ` Kumar Gala [this message]
2009-09-18 20:59       ` [U-Boot] [PATCH 4/7] ppc/p4080: CoreNet platfrom style secondary core release Kumar Gala
2009-09-18 20:59         ` [U-Boot] [PATCH 5/7] ppc/p4080: Add various p4080 related defines (and p4040) Kumar Gala
2009-09-18 20:59           ` [U-Boot] [PATCH 6/7] ppc/p4080: Handle timebase enabling and frequency reporting Kumar Gala
2009-09-18 20:59             ` [U-Boot] [PATCH 7/7] ppc/p4080: Determine various chip frequencies on CoreNet platforms Kumar Gala
2009-09-18 22:09             ` [U-Boot] [PATCH 6/7] ppc/p4080: Handle timebase enabling and frequency reporting Scott Wood
2009-09-22 22:09             ` Wolfgang Denk
2009-09-22 22:07         ` [U-Boot] [PATCH 4/7] ppc/p4080: CoreNet platfrom style secondary core release Wolfgang Denk
2009-09-23 17:03           ` Kumar Gala
2009-09-18 21:55     ` [U-Boot] [PATCH 2/7] ppc/p4080: Add support for CoreNet style platform LAWs Scott Wood
2009-09-18 21:56       ` Scott Wood
2009-09-18 21:58         ` Ben Warren
2009-09-18 22:48       ` Kumar Gala
2009-09-22 22:05     ` Wolfgang Denk
2009-09-23 16:07       ` Kumar Gala
2009-09-18 21:20   ` [U-Boot] [PATCH 1/7] ppc/p4080: Add p4080 platform immap definitions Scott Wood
2009-09-18 21:33     ` Kumar Gala

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=1253307595-28655-4-git-send-email-galak@kernel.crashing.org \
    --to=galak@kernel.crashing.org \
    --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