From: Tom Rini <trini@ti.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 2/2] OMAP3: Add SPL support to Beagleboard
Date: Thu, 27 Oct 2011 10:08:45 -0700 [thread overview]
Message-ID: <4EA9901D.6050803@ti.com> (raw)
In-Reply-To: <E28AAFD00EFAA646AE3DF9B89CD24A89BA0B@DBDE01.ent.ti.com>
On 10/27/2011 05:46 AM, Premi, Sanjeev wrote:
>> -----Original Message-----
>> From: u-boot-bounces at lists.denx.de
>> [mailto:u-boot-bounces at lists.denx.de] On Behalf Of Rini, Tom
>> Sent: Thursday, October 27, 2011 2:44 AM
>> To: u-boot at lists.denx.de
>> Subject: [U-Boot] [PATCH 2/2] OMAP3: Add SPL support to Beagleboard
>>
>> This introduces 200MHz Micron parts timing information based
>> on x-loader
>> and re-organizes the file slightly for grouping. The memory
>> init logic
>> is also based on what x-loader does in these cases. Note that while
>> previously u-boot would be flashed in with SW ECC in this case it now
>> must be flashed with HW ECC.
>>
>> Beagleboard rev C5, xM rev A:
>> Tested-by: Tom Rini <trini@ti.com>
>> Beagleboard xM rev C:
>> Tested-by: Matt Ranostay <mranostay@gmail.com>
>> Beagleboard rev B7, C2, xM rev B:
>> Tested-by: Matt Porter <mporter@ti.com>
>> Signed-off-by: Tom Rini <trini@ti.com>
>> ---
>
> [snip]...[snip]
>
>>
>> +#ifdef CONFIG_SPL_BUILD
>> +
>> +#define MICRON_DDR 0
>> +#define NUMONYX_MCP 1
>> +#define MICRON_MCP 2
>> +
>> +#define NAND_CMD_STATUS 0x70
>> +#define NAND_CMD_READID 0x90
>> +#define NAND_CMD_RESET 0xff
>> +
>> +#define GPMC_NAND_COMMAND_0 (OMAP34XX_GPMC_BASE+0x7C)
>> +#define GPMC_NAND_ADDRESS_0 (OMAP34XX_GPMC_BASE+0x80)
>> +#define GPMC_NAND_DATA_0 (OMAP34XX_GPMC_BASE+0x84)
>> +
>> +#define WRITE_NAND_COMMAND(d, adr) \
>> + do {*(volatile u16 *)GPMC_NAND_COMMAND_0 = d;} while(0)
>> +#define WRITE_NAND_ADDRESS(d, adr) \
>> + do {*(volatile u16 *)GPMC_NAND_ADDRESS_0 = d;} while(0)
>> +#define READ_NAND(adr) (*(volatile u16 *)GPMC_NAND_DATA_0)
>> +
>
> I am not yet familiar with SPL code, but I would suggest using
> "struct gpmc" instead of hardcoded offsets above.
>
> [snip]...[snip]
>
>> +
>> +#define GPMC_CONFIG_CS0_CONFIG1 0x6E000060
>> +#define GPMC_CONFIG_CS0_CONFIG2 0x6E000064
>> +#define GPMC_CONFIG_CS0_CONFIG3 0x6E000068
>> +#define GPMC_CONFIG_CS0_CONFIG4 0x6E00006C
>> +#define GPMC_CONFIG_CS0_CONFIG5 0x6E000070
>> +#define GPMC_CONFIG_CS0_CONFIG6 0x6E000074
>> +#define GPMC_CONFIG_CS0_CONFIG7 0x6E000078
>> +#define OMAP34XX_GPMC_CS0_SIZE 0x8
>
> Suggest using "struct gpmc_cs" instead of defining offsets.
>
> [snip]...[snip]
>
>> +
>> +static int identify_xm_ddr(void)
>> +{
>> + int mfr, id;
>> +
>> + /* Make sure that we have setup GPMC for NAND correctly. */
>> + writel(M_NAND_GPMC_CONFIG1, GPMC_CONFIG_CS0_CONFIG1);
>> + writel(M_NAND_GPMC_CONFIG2, GPMC_CONFIG_CS0_CONFIG2);
>> + writel(M_NAND_GPMC_CONFIG3, GPMC_CONFIG_CS0_CONFIG3);
>> + writel(M_NAND_GPMC_CONFIG4, GPMC_CONFIG_CS0_CONFIG4);
>> + writel(M_NAND_GPMC_CONFIG5, GPMC_CONFIG_CS0_CONFIG5);
>> + writel(M_NAND_GPMC_CONFIG6, GPMC_CONFIG_CS0_CONFIG6);
>> +
>> + /* Enable the GPMC Mapping */
>> + writel((((OMAP34XX_GPMC_CS0_SIZE & 0xF) << 8) |
>> + ((NAND_BASE >> 24) & 0x3F) |
>> + (1 << 6)), (GPMC_CONFIG_CS0_CONFIG7));
>
> Same comment as before. Looks like there may be few more places
> where hardcoded addresses/ offsets are being used.
Yeah, this is all a drop-in of the x-loader code which needs some clean
up. But the overall logic (poke this to determine that) is what I want
to make sure we're going to be OK with.
--
Tom
next prev parent reply other threads:[~2011-10-27 17:08 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-10-26 21:13 [U-Boot] [PATCH RFT 0/2] Beagleboard SPL support Tom Rini
2011-10-26 21:13 ` [U-Boot] [PATCH 1/2] OMAP3 SPL: Rework memory initalization and devkit 8000 support Tom Rini
2011-10-27 20:46 ` Igor Grinberg
2011-10-27 21:00 ` Tom Rini
2011-10-27 21:27 ` Igor Grinberg
2011-10-26 21:13 ` [U-Boot] [PATCH 2/2] OMAP3: Add SPL support to Beagleboard Tom Rini
2011-10-27 12:46 ` Premi, Sanjeev
2011-10-27 17:08 ` Tom Rini [this message]
2011-10-27 21:18 ` Igor Grinberg
2011-10-27 21:27 ` Wolfgang Denk
2011-10-27 23:02 ` Igor Grinberg
2011-10-27 23:19 ` Scott Wood
2011-10-27 23:35 ` Igor Grinberg
2011-10-27 21:29 ` Tom Rini
2011-10-27 23:10 ` Igor Grinberg
2011-10-27 23:13 ` Tom Rini
2011-10-27 23:22 ` Scott Wood
2011-10-27 23:33 ` Tom Rini
2011-10-28 16:00 ` Scott Wood
2011-10-28 16:29 ` Tom Rini
2011-10-28 16:42 ` Scott Wood
2011-10-28 16:56 ` Tom Rini
2011-11-04 16:50 ` Tom Rini
2011-11-01 14:46 ` Tom Rini
-- strict thread matches above, loose matches on Subject: below --
2011-10-26 20:50 Tom Rini
2011-10-26 20:52 ` Tom Rini
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=4EA9901D.6050803@ti.com \
--to=trini@ti.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