
Dear Mike Dunn,
[...]
+int board_init(void) +{
- /* We have RAM, disable cache */
- dcache_disable();
- icache_disable();
- gd->bd->bi_arch_number = MACH_TYPE_TREO680;
This is not needed, just define CONFIG_MACH_TYPE in treo680.h
- gd->bd->bi_boot_params = 0xa0000100;
Is this not CONFIG_SYS_DRAM_BASE + 0x100 ? I think it is.
- return 0;
+}
+int dram_init(void) +{
- /* IPL initializes SDRAM (we're already running from it) */
- gd->ram_size = PHYS_SDRAM_1_SIZE;
- return 0;
+}
+#ifdef CONFIG_LCD +void lcd_enable(void) +{
- /*
* Undo the L_BIAS / gpio77 pin configuration performed by the pxa lcd
* driver code. We need it as an output gpio.
*/
- writel((readl(GAFR2_L) & ~(0xc << 24)), GAFR2_L);
- /* power-up and enable the lcd */
- writel(0x00400000, GPSR(86)); /* enable; drive high */
- writel(0x00002000, GPSR(77)); /* power; drive high */
- writel(0x02000000, GPCR(25)); /* enable_n; drive low */
- /* turn on LCD backlight and configure PWM for reasonable brightness */
- writel(0x00, PWM_CTRL0);
- writel(0x1b1, PWM_PERVAL0);
- writel(0xfd, PWM_PWDUTY0);
- writel(0x00000040, GPSR(38)); /* backlight power on */
+} +#endif
+#ifdef CONFIG_MMC +int board_mmc_init(bd_t *bis) +{
- writel(0x00000400, GPSR(42)); /* power on */
Can you not use your bitlibrary for this stuff? Or maybe at least use (1 << n) here to make it more readable.
But seriously, do you not want to (in the longer run) implement proper GPIO driver for PXA? That'd help a lot. Also, do you not want to volunteer to fix PXA? I think it's a bit rotting all around ;-)
- return pxa_mmc_register(0);
+} +#endif
+void board_nand_init(void) +{
- /* we have one 128M diskonchip G4 */
- struct mtd_info *mtd = &nand_info[0];
- struct nand_chip *nand = &docg4_nand_chip;
- if (docg4_nand_init(mtd, nand, 0))
hang();
+}
+#ifdef CONFIG_SPL_BUILD +void *memcpy(void *dest, const void *src, size_t count) +{
CONFIG_SPL_LIBCOMMON_SUPPORT shall give you memcpy.
[...]
+void nand_boot(void) +{
[...]
Will the common/spl/ NAND loading code not cut it here? I guess it won't since PXA is FUBAR when it comes to any kind of SPL loading. Do you not want to fix that? I'd be really grateful if you did ;-)
[...]
btw. you dont really need to #define CONFIG_PXA27X to value "1" in your config, just remove those useless trailing "1"s .