diff mbox

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

Message ID CA+AFOO7ziAjG47a615dsJ6p7V_DF084-s+BbR9Sb+Qnt=H6TQw@mail.gmail.com
State RFC
Delegated to: Zoltan HERPAI
Headers show

Commit Message

TheWerthFam Sept. 3, 2015, 11:14 a.m. UTC
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

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.


Cheers
   Derek

Comments

Yousong Zhou Sept. 3, 2015, 2:23 p.m. UTC | #1
Hi, Derek

On 3 September 2015 at 19:14, Derek Werthmuller <thewerthfam@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@lists.openwrt.org
> https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
>
diff mbox

Patch

--- ./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))