mpc85xx: Add 4-bits eSDHC support for MPC8569E-MDS boards
Thanks to "Errata to MPC8569E PowerQUICC III Integrated Host Processor Family Reference Manual, Rev. 0" document, which describes all eSDHC pins, we can add 4-bits eSDHC support for MPC8569E-MDS boards. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
This commit is contained in:
parent
bc20f9a952
commit
c4ca10f1db
@ -437,6 +437,11 @@ int board_mmc_init(bd_t *bd)
|
||||
console_assign(stdin, "eserial1");
|
||||
printf("Switched to UART1 (initial log has been printed to "
|
||||
"UART0).\n");
|
||||
|
||||
clrsetbits_be32(&gur->plppar1, PLPPAR1_UART0_BIT_MASK,
|
||||
PLPPAR1_ESDHC_4BITS_VAL);
|
||||
clrsetbits_be32(&gur->plpdir1, PLPDIR1_UART0_BIT_MASK,
|
||||
PLPDIR1_ESDHC_4BITS_VAL);
|
||||
bcsr6 |= BCSR6_SD_CARD_4BITS;
|
||||
} else {
|
||||
printf("should be disabled.\n");
|
||||
@ -483,6 +488,15 @@ static void fdt_board_fixup_esdhc(void *blob, bd_t *bd)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (hwconfig_subarg_cmp("esdhc", "mode", "4-bits")) {
|
||||
off = fdt_node_offset_by_compatible(blob, -1, "fsl,esdhc");
|
||||
if (off < 0) {
|
||||
printf("WARNING: could not find esdhc node\n");
|
||||
return;
|
||||
}
|
||||
fdt_delprop(blob, off, "sdhci,1-bit-only");
|
||||
}
|
||||
}
|
||||
#else
|
||||
static inline void fdt_board_fixup_esdhc(void *blob, bd_t *bd) {}
|
||||
|
@ -277,6 +277,10 @@ extern unsigned long get_clock_freq(void);
|
||||
#define PLPDIR1_I2C_BIT_MASK 0x0000000F
|
||||
#define PLPDIR1_I2C2_VAL 0x0000000F
|
||||
#define PLPDIR1_ESDHC_VAL 0x00000006
|
||||
#define PLPPAR1_UART0_BIT_MASK 0x00000fc0
|
||||
#define PLPPAR1_ESDHC_4BITS_VAL 0x00000a80
|
||||
#define PLPDIR1_UART0_BIT_MASK 0x00000fc0
|
||||
#define PLPDIR1_ESDHC_4BITS_VAL 0x00000a80
|
||||
|
||||
/*
|
||||
* General PCI
|
||||
|
Loading…
Reference in New Issue
Block a user