From: Stefan Roese <sr@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] mpc512x: Add esd gmbh mecp5123 board support
Date: Mon, 8 Jun 2009 19:37:02 +0200 [thread overview]
Message-ID: <200906081937.02354.sr@denx.de> (raw)
In-Reply-To: <20090608103818.E429A832E416@gemini.denx.de>
Hi Wolfgang,
On Monday 08 June 2009 12:38:18 Wolfgang Denk wrote:
> > +int eeprom_write_enable(unsigned dev_addr, int state)
> > +{
> > + volatile immap_t *im = (immap_t *)CONFIG_SYS_IMMR;
> > +
> > + if (dev_addr != CONFIG_SYS_I2C_EEPROM_ADDR)
> > + return -1;
> > +
> > + if (state == 0)
> > + setbits_be32(&im->gpio.gpdat, 0x00100000);
> > + else
> > + clrbits_be32(&im->gpio.gpdat, 0x00100000);
> > +
> > + return 0;
> > +}
>
> Please fix indentation - indentation by TAB only, please.
OK.
> ...
>
> > +int board_early_init_f(void)
> > +{
>
> ...
>
> > + /* Initialize DDR Priority Manager */
> > + out_be32(&im->mddrc.prioman_config1, CONFIG_SYS_MDDRCGRP_PM_CFG1);
> > + out_be32(&im->mddrc.prioman_config2, CONFIG_SYS_MDDRCGRP_PM_CFG2);
> > + out_be32(&im->mddrc.hiprio_config, CONFIG_SYS_MDDRCGRP_HIPRIO_CFG);
> > + out_be32(&im->mddrc.lut_table0_main_upper,
> > CONFIG_SYS_MDDRCGRP_LUT0_MU);
> > + out_be32(&im->mddrc.lut_table0_main_lower,
> > CONFIG_SYS_MDDRCGRP_LUT0_ML);
> > + out_be32(&im->mddrc.lut_table1_main_upper,
> > CONFIG_SYS_MDDRCGRP_LUT1_MU);
> > + out_be32(&im->mddrc.lut_table1_main_lower,
> > CONFIG_SYS_MDDRCGRP_LUT1_ML);
> > + out_be32(&im->mddrc.lut_table2_main_upper,
> > CONFIG_SYS_MDDRCGRP_LUT2_MU);
> > + out_be32(&im->mddrc.lut_table2_main_lower,
> > CONFIG_SYS_MDDRCGRP_LUT2_ML);
> > + out_be32(&im->mddrc.lut_table3_main_upper,
> > CONFIG_SYS_MDDRCGRP_LUT3_MU);
> > + out_be32(&im->mddrc.lut_table3_main_lower,
> > CONFIG_SYS_MDDRCGRP_LUT3_ML);
> > + out_be32(&im->mddrc.lut_table4_main_upper,
> > CONFIG_SYS_MDDRCGRP_LUT4_MU);
> > + out_be32(&im->mddrc.lut_table4_main_lower,
> > CONFIG_SYS_MDDRCGRP_LUT4_ML);
> > + out_be32(&im->mddrc.lut_table0_alternate_upper,
> > CONFIG_SYS_MDDRCGRP_LUT0_AU);
> > + out_be32(&im->mddrc.lut_table0_alternate_lower,
> > CONFIG_SYS_MDDRCGRP_LUT0_AL);
> > + out_be32(&im->mddrc.lut_table1_alternate_upper,
> > CONFIG_SYS_MDDRCGRP_LUT1_AU);
> > + out_be32(&im->mddrc.lut_table1_alternate_lower,
> > CONFIG_SYS_MDDRCGRP_LUT1_AL);
> > + out_be32(&im->mddrc.lut_table2_alternate_upper,
> > CONFIG_SYS_MDDRCGRP_LUT2_AU);
> > + out_be32(&im->mddrc.lut_table2_alternate_lower,
> > CONFIG_SYS_MDDRCGRP_LUT2_AL);
> > + out_be32(&im->mddrc.lut_table3_alternate_upper,
> > CONFIG_SYS_MDDRCGRP_LUT3_AU);
> > + out_be32(&im->mddrc.lut_table3_alternate_lower,
> > CONFIG_SYS_MDDRCGRP_LUT3_AL);
> > + out_be32(&im->mddrc.lut_table4_alternate_upper,
> > CONFIG_SYS_MDDRCGRP_LUT4_AU);
> > + out_be32(&im->mddrc.lut_table4_alternate_lower,
> > CONFIG_SYS_MDDRCGRP_LUT4_AL);
>
> Lines too long.
OK. Some is true for aria and mcp5121ads btw. But I'll change it in the next
patch version.
> > +phys_size_t initdram(int board_type)
> > +{
> > + return fixed_sdram();
> > +}
>
> Use auto-sizing?
You refer to using get_ram_size()? I'm no big fan of using this routine in a
fixed environment (only one soldering possibility). But ok, I can change this
too.
BTW, again this is the same code as in aria.
> > +int misc_init_r(void)
> > +{
> > + volatile immap_t *im = (immap_t *) CONFIG_SYS_IMMR;
> > +
> > + clrbits_be32(&im->clk.scfr[0], 0x00003800);
> > + setbits_be32(&im->clk.scfr[0], 0x01 << 11);
> > + clrbits_be32(&im->lpc.cs_dccr, 0x000000ff);
> > + setbits_be32(&im->lpc.cs_dccr, (0x00 << 4) | (0x01 << 0));
> > + clrbits_be32(&im->lpc.cs_hccr, 0x000000ff);
> > + setbits_be32(&im->lpc.cs_hccr, (0x00 << 4) | (0x01 << 0));
>
> Please add some comments what you are doing here, and eventually
> #define the magic constants used.
OK.
> > --- /dev/null
> > +++ b/include/configs/mecp5123.h
> > @@ -0,0 +1,455 @@
> > +/*
> > + * (C) Copyright 2007, 2008 DENX Software Engineering
>
> 2009?
OK.
> > +/*
> > + * NOR FLASH on the Local Bus
> > + */
> > +#define CONFIG_SYS_FLASH_CFI /* use the Common
Flash Interface */
> > +#define CONFIG_FLASH_CFI_DRIVER /* use the CFI
driver */
> > +
> > +#define CONFIG_SYS_FLASH_BASE 0xFFC00000 /* start of FLASH
*/
> > +#define CONFIG_SYS_FLASH_SIZE 0x00400000 /* max flash size
in bytes */
>
> Lines too long (check everywhere!)
OK.
> > +#define CONFIG_EXTRA_ENV_SETTINGS \
> > + "u-boot_addr_r=200000\0" \
> > + "kernel_addr_r=600000\0" \
> > + "fdt_addr_r=880000\0" \
> > + "ramdisk_addr_r=900000\0" \
> > + "u-boot_addr=FFF00000\0" \
> > + "kernel_addr=FFC40000\0" \
> > + "fdt_addr=FFEC0000\0" \
> > + "ramdisk_addr=FC040000\0" \
> > + "ramdiskfile=/tftpboot/mecp512x/uRamdisk\0" \
> > + "u-boot=/tftpboot/mecp512x/u-boot.bin\0" \
> > + "bootfile=/tftpboot/mecp512x/uImage\0" \
> > + "fdtfile=/tftpboot/mecp512x/mecp512x.dtb\0" \
> > + "rootpath=/tftpboot/mecp512x/target_root\n" \
> > + "netdev=eth0\0" \
> > + "consdev=ttyPSC0\0" \
> > + "nfsargs=setenv bootargs root=/dev/nfs rw " \
> > + "nfsroot=${serverip}:${rootpath}\0" \
> > + "ramargs=setenv bootargs root=/dev/ram rw\0" \
> > + "addip=setenv bootargs ${bootargs} " \
> > + "ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}" \
> > + ":${hostname}:${netdev}:off panic=1\0" \
> > + "addtty=setenv bootargs ${bootargs} " \
> > + "console=${consdev},${baudrate}\0" \
> > + "flash_nfs=run nfsargs addip addtty;" \
> > + "bootm ${kernel_addr} - ${fdt_addr}\0" \
> > + "flash_self=run ramargs addip addtty;" \
> > + "bootm ${kernel_addr} ${ramdisk_addr} ${fdt_addr}\0" \
> > + "net_nfs=tftp ${kernel_addr_r} ${bootfile};" \
> > + "tftp ${fdt_addr_r} ${fdtfile};" \
> > + "run nfsargs addip addtty;" \
> > + "bootm ${kernel_addr_r} - ${fdt_addr_r}\0" \
> > + "net_self=tftp ${kernel_addr_r} ${bootfile};" \
> > + "tftp ${ramdisk_addr_r} ${ramdiskfile};" \
> > + "tftp ${fdt_addr_r} ${fdtfile};" \
> > + "run ramargs addip addtty;" \
> > + "bootm ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}\0"\
> > + "load=tftp ${u-boot_addr_r} ${u-boot}\0" \
> > + "update=protect off ${u-boot_addr} +${filesize};" \
> > + "era ${u-boot_addr} +${filesize};" \
> > + "cp.b ${u-boot_addr_r} ${u-boot_addr} ${filesize}\0" \
> > + "upd=run load update\0" \
> > + ""
>
> How long does it to boot with such an environment in EEPROM?
Quite long. About 10 seconds to the U-Boot prompt.
> > +#define CONFIG_OF_LIBFDT 1
> > +#define CONFIG_OF_BOARD_SETUP 1
> > +#define CONFIG_OF_SUPPORT_OLD_DEVICE_TREES 1
>
> Do you really need this on a new board?
Probably not. Again this is just a copy from aria. I'll remove it in the next
patch version.
Thanks.
Best regards,
Stefan
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office at denx.de
=====================================================================
next prev parent reply other threads:[~2009-06-08 17:37 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-08 7:54 [U-Boot] [PATCH] mpc512x: Add esd gmbh mecp5123 board support Stefan Roese
2009-06-08 10:38 ` Wolfgang Denk
2009-06-08 17:37 ` Stefan Roese [this message]
2009-06-08 18:14 ` Wolfgang Denk
2009-06-09 7:24 ` Stefan Roese
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=200906081937.02354.sr@denx.de \
--to=sr@denx.de \
--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