From: York Sun <yorksun@freescale.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v1 8/8] mpc85xx: introduce the kmp204x reference design support
Date: Tue, 20 Aug 2013 12:57:09 -0700 [thread overview]
Message-ID: <5213CA15.8060101@freescale.com> (raw)
In-Reply-To: <1377028079.3370.34.camel@snotra.buserror.net>
On 08/20/2013 12:47 PM, Scott Wood wrote:
> On Tue, 2013-08-20 at 12:40 -0700, York Sun wrote:
>> On 08/20/2013 11:21 AM, Scott Wood wrote:
>>> On Tue, 2013-08-20 at 13:20 -0500, Scott Wood wrote:
>>>> On Mon, 2013-08-19 at 18:02 -0700, York Sun wrote:
>>>>> On 08/19/2013 05:48 PM, Scott Wood wrote:
>>>>>> On Mon, 2013-08-19 at 17:50 +0200, Valentin Longchamp wrote:
>>>>>>> On 08/13/2013 11:38 PM, Scott Wood wrote:
>>>>>>>> On Fri, 2013-07-26 at 12:02 +0200, Valentin Longchamp wrote:
>>>>>
>>>>> <snip>
>>>>>
>>>>>>>>> + /* TLB 1 */
>>>>>>>>> + /* *I*** - Covers boot page */
>>>>>>>>> + /* *I*G - L3SRAM. When L3 is used as 1M SRAM, the address of the
>>>>>>>>> + * SRAM is at 0xfff00000, it covered the 0xfffff000.
>>>>>>>>> + */
>>>>>>>>> + SET_TLB_ENTRY(1, CONFIG_SYS_INIT_L3_ADDR, CONFIG_SYS_INIT_L3_ADDR,
>>>>>>>>> + MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,
>>>>>>>>> + 0, 0, BOOKE_PAGESZ_1M, 1),
>>>>>>>>
>>>>>>>> What does that "covers boot page" comment refer to?
>>>>>>>>
>>>>>>>> Why is L3SRAM I+G?
>>>>>>>>
>>>>>>>
>>>>>>> I have taken this from the corenet SYS_RAMBOOT boot scenario since it's also the
>>>>>>> way our board boots.
>>>>>>
>>>>>> York, can you answer this?
>>>>>>
>>>>>> I suspect the "covers boot page" comment is left over from before the
>>>>>> recent spin table changes.
>>>>>
>>>>> Look at the context, this is used as SRAM with PBL boot method. Notice
>>>>> these macros in header file
>>>>
>>>> I'm not talking about the SRAM comment, but the "covers boot page"
>>>> comment before it.
>>
>> I think this entry replaces the default TLB out of reset and it does
>> cover the boot page 0xfffff000~0xffffffff.
>
> That's not what the comment appears to say (unless you read the word
> "cover" in a non-intuitive and ambiguous way). These comments generally
> talk about what the new TLB is, not what is being replaced.
>
>> It is not unique to this platform. You can find many similar existing code.
>
> I know that. That's why I'm asking you to explain it rather than
> Valentin. :-)
We have many developers around the globe so people understand "cover"
differently. I interpret the "cover" here as this TLB translates the
address space which includes the boot page.
>
>>>>
>>>> At the very least this mapping can't be *I*G and *I** at the same time.
>>
>> I agree the G bit shouldn't be set here.
>
> Usually I and G go together...
The default TLB out of reset has I bit but not G bit. I have to admit
that I don't remember when I used G bit intentionally.
>
>>>>
>>>>> +#define CONFIG_SYS_RAMBOOT
>>>>> +#define CONFIG_RAMBOOT_PBL
>>>>> +#define CONFIG_RAMBOOT_TEXT_BASE CONFIG_SYS_TEXT_BASE
>>>>>
>>>>> and
>>>>>
>>>>> +/*
>>>>> + * Config the L3 Cache as L3 SRAM
>>>>> + */
>>>>> +#define CONFIG_SYS_INIT_L3_ADDR CONFIG_RAMBOOT_TEXT_BASE
>>>>> +#define CONFIG_SYS_INIT_L3_ADDR_PHYS (0xf00000000ull | \
>>>>> + CONFIG_RAMBOOT_TEXT_BASE)
>>>>> +#define CONFIG_SYS_L3_SIZE (1024 << 10)
>>>>> +#define CONFIG_SYS_INIT_L3_END (CONFIG_SYS_INIT_L3_ADDR +
>>>>> CONFIG_SYS_L3_SIZE)
>>>>
>>>> ...and this doesn't cover the boot page.
>>>
>>> Also, can you answer the question about why the L3 SRAM mapping is
>>> cache-inhibited?
>>
>> I suspect this is the idea carried from early NAND boot implementation.
>> You are mostly familiar with NAND and SPL boot, can you examine if we
>> can turn on the cache for these cases?
>
> NAND SPL on some targets is so space constrained that adding a few
> instructions to turn cache on might go over the limit. :-)
>
> Are you talking about mapping the NAND buffer that we boot directly out
> of, or the L2SRAM that we sometimes load the SPL payload into? If the
> former, that is I+G because we proceed to use it for I/O after
> relocating out of it.
I am talking aout the latter one. For SPL cases, the code is copied to
some type of volatile memory and the core boots from there. I am not
sure if we can turn on cache for all cases. Probably yes.
York
next prev parent reply other threads:[~2013-08-20 19:57 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-26 10:02 [U-Boot] [PATCH v1 0/8] Support for the kmp204x reference design Valentin Longchamp
2013-07-26 10:02 ` [U-Boot] [PATCH v1 1/8] km-powerpc: move SYS_MALLOC_LEN out of keymile-common.h Valentin Longchamp
2013-07-26 10:02 ` [U-Boot] [PATCH v1 2/8] km-powerpc: move CONFIG_FLASH_CFI_MTD to km83xx-common.h Valentin Longchamp
2013-07-26 10:02 ` [U-Boot] [PATCH v1 3/8] KM: fix typo in default environment Valentin Longchamp
2013-07-26 10:02 ` [U-Boot] [PATCH v1 4/8] mpc8xxx: set x2 DDR3 refresh rate if SPD config requires it Valentin Longchamp
2013-08-13 20:24 ` [U-Boot] [U-Boot, v1, " York Sun
2013-08-19 15:25 ` Valentin Longchamp
2013-07-26 10:02 ` [U-Boot] [PATCH v1 5/8] fsl: do not define FSL_SRIO_PCIE_BOOT_MASTER for all P2041 systems Valentin Longchamp
2013-08-13 20:32 ` [U-Boot] [U-Boot, v1, " York Sun
2013-08-19 15:26 ` Valentin Longchamp
2013-07-26 10:02 ` [U-Boot] [PATCH v1 6/8] net/fman: add a fm_enable_port function Valentin Longchamp
2013-08-13 20:38 ` [U-Boot] [U-Boot, v1, " York Sun
2013-08-19 15:28 ` Valentin Longchamp
2013-07-26 10:02 ` [U-Boot] [PATCH v1 7/8] mtd/fsl_elbc: take NAND_ECC_SOFT_BCH config option into accout Valentin Longchamp
2013-08-13 20:54 ` Scott Wood
2013-08-19 15:34 ` Valentin Longchamp
2013-07-26 10:02 ` [U-Boot] [PATCH v1 8/8] mpc85xx: introduce the kmp204x reference design support Valentin Longchamp
2013-08-13 21:38 ` Scott Wood
2013-08-19 15:50 ` Valentin Longchamp
2013-08-20 0:48 ` Scott Wood
2013-08-20 1:02 ` York Sun
2013-08-20 18:20 ` Scott Wood
2013-08-20 18:21 ` Scott Wood
2013-08-20 19:40 ` York Sun
2013-08-20 19:47 ` Scott Wood
2013-08-20 19:57 ` York Sun [this message]
2013-08-20 20:03 ` Scott Wood
2013-08-20 20:26 ` York Sun
2013-08-20 23:24 ` [U-Boot] [RFC PATCH 1/1] powerpc/embedded6xx: Add support for Motorola/Emerson MVME5100 Scott Wood
2013-08-20 6:28 ` [U-Boot] [PATCH v1 8/8] mpc85xx: introduce the kmp204x reference design support Valentin Longchamp
2013-08-20 18:18 ` Scott Wood
2013-08-21 6:36 ` Valentin Longchamp
2013-08-21 23:11 ` Scott Wood
2013-08-13 21:44 ` [U-Boot] [U-Boot, v1, " York Sun
2013-08-19 15:51 ` Valentin Longchamp
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=5213CA15.8060101@freescale.com \
--to=yorksun@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 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.