Marc, On Tue, Feb 5, 2013 at 1:06 PM, Marc Dietrich <marvi...@gmx.de> wrote: > On Tuesday 05 February 2013 08:31:03 Tom Warren wrote: >> Marc, >> >> On Tue, Feb 5, 2013 at 2:28 AM, Marc Dietrich <marvi...@gmx.de> wrote: >> >> >> >> [...] >> >> >> >> diff --git a/board/compal/paz00/paz00.c b/board/compal/paz00/paz00.c >> >> index 1447f47..5cee91a 100644 >> >> --- a/board/compal/paz00/paz00.c >> >> +++ b/board/compal/paz00/paz00.c >> >> @@ -55,18 +55,18 @@ static void pin_mux_mmc(void) >> >> >> >> /* this is a weak define that we are overriding */ >> >> int board_mmc_init(bd_t *bd) >> >> { >> >> >> >> - debug("board_mmc_init called\n"); >> >> + debug("%s called\n", __func__); >> >> >> >> /* Enable muxes, etc. for SDMMC controllers */ >> >> pin_mux_mmc(); >> >> >> >> - debug("board_mmc_init: init eMMC\n"); >> >> - /* init dev 0, eMMC chip, with 8-bit bus */ >> >> - tegra_mmc_init(0, 8, -1, -1); >> >> + debug("%s: init eMMC\n", __func__); >> >> + /* init dev 0, eMMC chip */ >> >> + tegra_mmc_init(0); >> > >> > This looks wrong because the sd is on sdmmc0 >> > >> >> - debug("board_mmc_init: init SD slot\n"); >> >> - /* init dev 3, SD slot, with 4-bit bus */ >> >> - tegra_mmc_init(3, 4, GPIO_PV1, GPIO_PV5); >> >> + debug("%s: init SD slot\n", __func__); >> >> + /* init dev 3, SD slot */ >> >> + tegra_mmc_init(3); >> > >> > and the emmc on sdmmc3. The DTS is correct. >> > >> > Not your fault as it seems to be wrong in the original code already. >> > I guess it didn't made large difference but may in the future. I wonder >> > how to test this though. >> > >> > Marc >> >> OK, so just the comments are wrong in paz00.c - I can fix that if I >> have to do a V2 patchset, or when I apply the patches to u-boot-tegra. > > ah no, this is weird! > > index 3 maps to sdmmc1 > index 2 maps to sdmmc2 > index 1 maps to sdmmc3 > index 0 maps to sdmmc4 > > so all is fine, nearly ... > >> As to testing, just stop at the command prompt and select each device >> (mmc dev 0, etc.) and run mmcinfo. You should be able to tell from the >> data displayed whether you are on an SD-card or eMMC chip. You can >> also eject the SD-card and you should get a warning about card >> presence due to the CD GPIO. > > the sd card is not detected because: > > TEGRA20 > Board: Compal Paz00 > DRAM: 512 MiB > MMC: tegra_get_setup: dev_index = 0 > tegra_get_setup: count of nodes is 2 > tegra_get_setup: found controller at c8000600, width = 8, periph_id = 15 > tegra_mmc_init: index 0, bus width 8 pwr_gpio -1 cd_gpio -1 > tegra_mmc_init: bus width = 8 > tegra_get_setup: dev_index = 3 > tegra_get_setup: count of nodes is 2 > tegra_get_setup: device index 3 exceeds node count (2)! > > If I understand correctly, you are counting the aliases only, not the > controllers..., so index 3 (the sdcard) is not initialized at all. Arrr, > debugging stole all of my time, but I guess this needs fixing. Yep, I am checking the aliases to get a node count (just like the Tegra SPI, SLINK, and I2C drivers, and the Exynos SPI and S3C I2C drivers).
I left the Paz00 tegra_mmc_init(3) call the same as originally (w/o the width and GPIO params, of course). The device numbering is kind of arbitrary - if there are only 2 MMC devices present, I'd expect dev 0 to be eMMC and dev 1 to be SD (again, like my T20 reference board, Seaboard). I don't see that Paz uses mmc anywhere in its config files for a boot script - does it have to have mmc dev 3 be SD? or would dev 1 work? Note that the tegra20-common-post.h file that all T20 boards inherit uses dev 0 and dev 1. Let me look into it - wish I had a Paz00 board here to debug with. I'll try to simulate this on my Seaboard, maybe with all 4 MMC device addresses in the alias. Thanks for the help, Tom > > Marc > > > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot