Re: [U-Boot] u-boot-flasher fails with current u-boot

Hi Peter,
On 6 June 2017 at 17:36, Peter.Chubb@data61.csiro.au wrote:
Recent changes to U-Boot have broken u-boot-flasher. I now see, after ./tegra-uboot-flasher flash jetson-tk1 on the serial port:
Selecting MMC device...
tegra_mmc_send_cmd_bounced: MMC Timeout Interrupt status 0x00000001 Interrupt status enable 0xffff003b Interrupt signal enable 0xffff0002 Present status 0x01fb02f6 mmc_init: -1, time 8042
and nothing is flashed to the MMC.
I can do ./tegra-uboot-flasher exec jetson-tk1 and everything works as expected. The running-from-RAM u-boot can access the MMC.
The patch in U-Boot that causes the problems (found by git-bisect) is 0e513e788f tegra: convert MMC to use driver model for operations
Oh dear. I cannot find my board but will see if I can repeat this on a beaver.
-- Dr Peter Chubb Tel: +61 2 9490 5852 http://ts.data61.csiro.au/ Trustworthy Systems Group Data61 (formerly NICTA)
Regards, Simon

"Simon" == Simon Glass sjg@chromium.org writes:
: Simon> Oh dear. I cannot find my board but will see if I can repeat Simon> this on a beaver. Thanks.
If there's any additional logging you'd like me to collect on the Jetson, let me know.
Peter C -- Dr Peter Chubb Tel: +61 2 9490 5852 http://ts.data61.csiro.au/ Trustworthy Systems Group Data61 (formerly NICTA)

"Peter" == Peter Chubb Peter.Chubb@data61.csiro.au writes: "Simon" == Simon Glass sjg@chromium.org writes:
Simon> Oh dear. I cannot find my board but will see if I can repeat Simon> this on a beaver.
Peter> If there's any additional logging you'd like me to collect on Peter> the Jetson, let me know.
I tried to reproduce this this morning. Today, even trying to exec the U-Boot without flashing fails.
So, ./tegra-uboot-flasher exec jetson-tk1 with a current u-boot gives an inoperative eMMC.
In the boot header I see:
U-Boot 2017.05-00769-g0e513e788f (Jun 08 2017 - 09:26:27 +1000)
TEGRA124 Model: NVIDIA Jetson TK1 Board: NVIDIA Jetson TK1 DRAM: 2 GiB MMC: sdhci@700b0400: 1, sdhci@700b0600: 0
Then:
Tegra124 (Jetson TK1) # mmc rescan tegra_mmc_send_cmd_bounced: MMC Timeout Interrupt status 0x00000001 Interrupt status enable 0xffff003b Interrupt signal enable 0xffff0002 Present status 0x01fb02f6 mmc_init: -1, time 8042
Peter C

Hi Peter,
On 7 June 2017 at 19:12, Peter.Chubb@data61.csiro.au wrote:
"Peter" == Peter Chubb Peter.Chubb@data61.csiro.au writes: "Simon" == Simon Glass sjg@chromium.org writes:
Simon> Oh dear. I cannot find my board but will see if I can repeat Simon> this on a beaver.
Peter> If there's any additional logging you'd like me to collect on Peter> the Jetson, let me know.
I tried to reproduce this this morning. Today, even trying to exec the U-Boot without flashing fails.
The good news is I found my Jetson-TK1 and I can repeat your problem.
So, ./tegra-uboot-flasher exec jetson-tk1 with a current u-boot gives an inoperative eMMC.
In the boot header I see:
U-Boot 2017.05-00769-g0e513e788f (Jun 08 2017 - 09:26:27 +1000)
TEGRA124 Model: NVIDIA Jetson TK1 Board: NVIDIA Jetson TK1 DRAM: 2 GiB MMC: sdhci@700b0400: 1, sdhci@700b0600: 0
Then:
Tegra124 (Jetson TK1) # mmc rescan
Why are you running 'mmc rescan'? Is this because the MMC has changed?
This command does not seem to work since it does not re-probe the driver. It looks like the driver assumes that the controller is reset each time. I'll send a patch which seems to fix it for me.
tegra_mmc_send_cmd_bounced: MMC Timeout Interrupt status 0x00000001 Interrupt status enable 0xffff003b Interrupt signal enable 0xffff0002 Present status 0x01fb02f6 mmc_init: -1, time 8042
Peter C
Dr Peter Chubb Tel: +61 2 9490 5852 http://ts.data61.csiro.au/ Trustworthy Systems Group Data61 (formerly NICTA)
Regards, Simon

"Simon" == Simon Glass sjg@chromium.org writes:
Simon> The good news is I found my Jetson-TK1 and I can repeat your Simon> problem.
Cool. So it's not just me (phew)
Tegra124 (Jetson TK1) # mmc rescan
Simon> Why are you running 'mmc rescan'? Is this because the MMC has Simon> changed?
Any mmc command fails except 'mmc part' and 'mmc list'. 'mmc rescan' was just one example that should work.
Tegra124 (Jetson TK1) # mmc dev tegra_mmc_send_cmd_bounced: MMC Timeout Interrupt status 0x00000001 Interrupt status enable 0xffff003b Interrupt signal enable 0xffff0002 Present status 0x01fb02f6 mmc_init: -1, time 8042
Tegra124 (Jetson TK1) # mmc info mmc_init: -1, time 4
-- Dr Peter Chubb Tel: +61 2 9490 5852 http://ts.data61.csiro.au/ Trustworthy Systems Group Data61 (formerly NICTA)

Hi Peter,
On 7 June 2017 at 21:11, Simon Glass sjg@chromium.org wrote:
Hi Peter,
On 7 June 2017 at 19:12, Peter.Chubb@data61.csiro.au wrote:
> "Peter" == Peter Chubb Peter.Chubb@data61.csiro.au writes: > "Simon" == Simon Glass sjg@chromium.org writes:
Simon> Oh dear. I cannot find my board but will see if I can repeat Simon> this on a beaver.
Peter> If there's any additional logging you'd like me to collect on Peter> the Jetson, let me know.
I tried to reproduce this this morning. Today, even trying to exec the U-Boot without flashing fails.
The good news is I found my Jetson-TK1 and I can repeat your problem.
So, ./tegra-uboot-flasher exec jetson-tk1 with a current u-boot gives an inoperative eMMC.
In the boot header I see:
U-Boot 2017.05-00769-g0e513e788f (Jun 08 2017 - 09:26:27 +1000)
TEGRA124 Model: NVIDIA Jetson TK1 Board: NVIDIA Jetson TK1 DRAM: 2 GiB MMC: sdhci@700b0400: 1, sdhci@700b0600: 0
Then:
Tegra124 (Jetson TK1) # mmc rescan
Why are you running 'mmc rescan'? Is this because the MMC has changed?
This command does not seem to work since it does not re-probe the driver. It looks like the driver assumes that the controller is reset each time. I'll send a patch which seems to fix it for me.
tegra_mmc_send_cmd_bounced: MMC Timeout Interrupt status 0x00000001 Interrupt status enable 0xffff003b Interrupt signal enable 0xffff0002 Present status 0x01fb02f6 mmc_init: -1, time 8042
OK thanks for that. Just to close the loop I sent a patch to fix it:
http://patchwork.ozlabs.org/patch/772771/
Regards, Simon
participants (2)
-
Peter.Chubb@data61.csiro.au
-
Simon Glass