
On 11/14/2011 10:55 AM, Jason Hui wrote:
On Mon, Nov 14, 2011 at 5:25 PM, Stefano Babic sbabic@denx.de wrote:
On 11/12/2011 11:36 AM, Jason Liu wrote:
Add the initial support for Freescale i.MX6Q Armadillo2 board Support: MMC boot from slot 0/1, debug UART(UART4), usdhc.
Signed-off-by: Jason Liu jason.hui@linaro.org
Hi Jason,
is mx6qarm2 the official Freescale name ?
Yes, this is the official name.
Ok, fine.
+#ifdef CONFIG_FSL_ESDHC +struct fsl_esdhc_cfg usdhc_cfg[2] = {
{USDHC3_BASE_ADDR, 1},
{USDHC4_BASE_ADDR, 1},
+};
+int board_mmc_getcd(u8 *cd, struct mmc *mmc) +{
struct fsl_esdhc_cfg *cfg = (struct fsl_esdhc_cfg *)mmc->priv;
if (cfg->esdhc_base == USDHC3_BASE_ADDR)
*cd = gpio_get_value(107); /*GPIO6_11*/
else /* Don't have the CD GPIO pin on board */
*cd = 0;
Is it the logic inverted ? If you return always zero, there is no Card in the slot for the MMC framework and there is no attempt to read it. It is working on USDHC4 ?
The framework flow is as the following. The logic is ok.
I know it - this means that in case of USDHC4, card detect is read directly from the controller ?
As the comments before for Fabio, I will drop the MACH_TYPE setting since i.mx6q linux kernel will go device tree and there is no-need for machine type now.
Ok
/* address of boot parameters */
gd->bd->bi_boot_params = PHYS_SDRAM + 0x100;
/*
* Need re-initialization again since base is in BSS
* After relocation, base will be clear to zero.
*/
imx_iomux_v3_init((void *)IOMUXC_BASE_ADDR);
However, this is a trick. As general rule, we must not use BSS before relocation. Is there no other way to do this ?
There is no other way for it since we need uart early before the relocation. If you have other way, I really appreciate it.
The two things are not correlated - most IMXs (and other SOCs, too) set up the multiplexer t0o get the console working. I am asking myself why do you need that the base address for the iomuxc is dynamic.
void imx_iomux_v3_init(void *iomux_v3_base) { base = iomux_v3_base; }
But then you initialize it with a constant - can iomux_v3_base be set to a different address ?
Why cannot you use (or get) the base address in the iomuxv3 code from imx-regs.h ? Or am I missing something ?
Ethernet is not yet working, right ? How many Ethernet has this board ?
yes,I will remove the last line. Only the 1Gbit ENET support on this board.
Ok, understood.
Best regards, Stefano Babic