[U-Boot] [PATCH] Add NanoBone board support
Tom Rini
trini at ti.com
Tue Apr 16 17:48:20 CEST 2013
On Tue, Apr 16, 2013 at 04:02:34PM +0100, Mark Jackson wrote:
[snip]
> +static struct emif_regs ddr3_emif_reg_data = {
> + .sdram_config = MT41J128MJT125_EMIF_SDCFG,
> + .ref_ctrl = MT41J128MJT125_EMIF_SDREF,
> + .sdram_tim1 = MT41J128MJT125_EMIF_TIM1,
> + .sdram_tim2 = MT41J128MJT125_EMIF_TIM2,
> + .sdram_tim3 = MT41J128MJT125_EMIF_TIM3,
> + .zq_config = MT41J128MJT125_ZQ_CFG,
> + .emif_ddr_phy_ctlr_1 = MT41J128MJT125_EMIF_READ_LATENCY,
On the READ_LATENCY, you probably want | PHY_EN_DYN_PWRDN for that
(since it's not part of MT41J128MJT125_EMIF_READ_LATENCY) bit of
savings.
> +static int do_switch_ecc(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
Why are we bringing this in?
[snip]
> + config_ddr(303, MT41J128MJT125_IOCTRL_VALUE, &ddr3_data,
> + &ddr3_cmd_ctrl_data, &ddr3_emif_reg_data, 0);
And are you unable to run at 400MHz here? Or just weren't aware /
having tried updating the timing parameters, etc?
[snip]
> +static struct cpsw_platform_data cpsw_data = {
> + .mdio_base = CPSW_MDIO_BASE,
> + .cpsw_base = CPSW_BASE,
> + .mdio_div = 0xff,
> + .channels = 8,
> + .cpdma_reg_ofs = 0x800,
> + .slaves = 2,
Is this all that was needed for both interfaces to work in U-Boot, along
with a config change or two? If so, I should take a stab at getting
both working on the EVM-SK.
[snip]
> + writel(PORT1_MII_MODE_ENABLE | PORT2_MII_MODE_ENABLE, &cdev->miisel);
> + cpsw_slaves[0].phy_if = cpsw_slaves[1].phy_if = PHY_INTERFACE_MODE_MII;
Can't you just do that in the struct? And avoid the checkpatch warning
too.
[snip]
> +#define CONFIG_SYS_NO_FLASH
But you have NOR. Is it not working yet?
> +/*
> + * memtest works on 8 MB in DRAM after skipping 32MB from
> + * start addr of ram disk
> + */
> +#define CONFIG_SYS_MEMTEST_START (PHYS_DRAM_1 + (64 * 1024 * 1024))
> +#define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_MEMTEST_START \
> + + (8 * 1024 * 1024))
Please see doc/README.memory-test and then eiter update the range to be
most of memory or drop these and add #undef CONFIG_CMD_MEMTEST.
> +#define CONFIG_SYS_HZ 1000 /* 1ms clock */
[snip]
> +#define CONFIG_SYS_HZ 1000
I see this is a copy/paste problem too from am335x_evm.h, can you fix
there and pcm051.h?
> +#define CONFIG_SERIAL_MULTI
Same (not needed anymore, not sure how it didn't get removed before).
[snip]
> +#define CONFIG_CMD_EEPROM
> +#define CONFIG_SYS_I2C_EEPROM_ADDR 0x50 /* Main EEPROM */
> +#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 2
> +#define CONFIG_SYS_I2C_MULTI_EEPROMS
Do you really have the EEPROM at 0x50 like the TI boards do (and then at
other offets for capes/daughter cards) ?
[snip]
> +#define CONFIG_SYS_NAND_ECCTOTAL (CONFIG_SYS_NAND_ECCBYTES * \
> + CONFIG_SYS_NAND_ECCSTEPS)
> +
> +#define CONFIG_SYS_NAND_U_BOOT_START CONFIG_SYS_TEXT_BASE
Another problem duplicated from am335x_evm.h :(
[snip]
> +#define MTDPARTS_DEFAULT "mtdparts=nand:" \
> + "128k(spl)," \
> + "1792k(boot)," \
This isn't quite right. Your first 128k chunks are ROM-checked
redundant locations for SPL to live (hence the write of U-Boot at 512k
in).
> +#undef CONFIG_ENV_IS_NOWHERE
Did you ever set this? I don't think so... on am335x_evm.h we do since
we can build for SPI env or NAND env.
All that said, yay for another board to try and help flush out generic
problems in am33xx land!
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20130416/ed803847/attachment.pgp>
More information about the U-Boot
mailing list