[OpenWrt-Devel] [DRAFT PATCH] Uboot patch -Sunxi BPI-R1 not building a bootable image

Yousong Zhou yszhou4tech at gmail.com
Thu Sep 3 10:23:23 EDT 2015


Hi, Derek

On 3 September 2015 at 19:14, Derek Werthmuller <thewerthfam at gmail.com> wrote:
> Over the past week since the kernel version moved to the 4.x series, new
> built images are not bootable.  With the serial console connected it seems
> that its not completing Uboot properly.  This is the only output.
> U-Boot SPL 2015.07 (Sep 02 2015 - 20:52:15)
> DRAM: 1024 MiB
> CPU: 912000000Hz, AXI/AHB/APB: 3/2/2
>
> The following ticket seems to have a patch for it.
> https://dev.openwrt.org/ticket/20387
>

There are actually 2 issues reported in that ticket.  I already posted
a patch for one of them.  Looks like it's going to be accepted [1].

As for the other issue, I cannot work out a proper fix at the moment
(not in the near future).  The patch I posted in that ticket is only
for a memo of what's going wrong.  Anyway, even it got pass uboot
stage, the Linux kernel still cannot initialise it :(

 [1] http://thread.gmane.org/gmane.comp.hardware.netbook.arm.sunxi/18370

> I've created a diff patch from this patch to patch the mmc.c in the uboot
> code, but I don't know where in the patch tree the uboot patches go, so I
> can't test the patch.  Following is the patch.
> I have not tested this patch.
>

You can find where to patches for uboot-sunxi from link [2].  But it
seems like your situation is a bit different (it just hangs there
without any error message).  Better have a test.

 [2] http://patchwork.ozlabs.org/patch/512163/

                yousong

> --- ./a/drivers/mmc/mmc.c    2015-09-02 20:48:01.877739304 -0400
> +++ ./b/drivers/mmc/mmc.c    2015-09-02 20:51:33.131214983 -0400
> @@ -920,8 +920,10 @@
>          err = sd_switch(mmc, SD_SWITCH_CHECK, 0, 1,
>                  (u8 *)switch_status);
>
> -        if (err)
> -            return err;
> +        if (err) {
> +            printf("unable to switch SD_HIGHSPEED: %d\n", err);
> +            return 0;
> +        }
>
>          /* The high-speed function is busy.  Try again */
>          if (!(__be32_to_cpu(switch_status[7]) & SD_HIGHSPEED_BUSY))
>
> Cheers
>    Derek
>
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel at lists.openwrt.org
> https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
>
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list