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 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.