Pine A64-LTS not booting after apt-get upgrade Armbian 10.7 to 10.9


 Share

1 1

Recommended Posts

I recently upgraded my working Pine A64-LTS board to Armbian 10.9 by using standard

'apt-get update' followed by 'apt-get upgrade'

 

The update went fine (no error messages) and i rebooted the unit.

 

The unit was unable to mount the root filesystem it complaint about UUID probably

incorrect, but this was not the case. After doing some research i found out that the DTB

file was changed on the mmc0 part. The option 'non-removable' was removed wich let to

the kernel using the PUSH-PUSH routine? cd pins to see if a SD card is present.

It looks like it that not all versions of the Pine A64-LTS have this pin or maybe in the past

had a faulty batch? Anyway to fix the problem i had to add 'non-removable' again to the

DTB which probably switches the way the detection works and probably uses the

standard CD-detect routine to see if a card is present.

 

I also noticed other people seeing this problem in u-boot and other places. See one of

those reference here:

 

https://www.spinics.net/lists/devicetree/msg418000.html

 

Maybe this get fixed automatically upstream? But maybe in the meantime Armbian

maintainers can set a special fix in the dtb and/or overlay for the Pine A64-LTS.

 

The specific steps i took now to fix the problem where:

 

1. Make a back-up off the DTB file

    cp /boot/dtb/allwinner/sun50i-a64-pine64-lts.dtb /boot/dtb/allwinner/sun50i-a64-pine64-lts.dtb-orig

 

2. Convert the DTB file that is used to dts (IGNORING the warnings from dtc conversion)

    dtc -I dtb -O dts -o sun50i-a64-pine64-lts.dts sun50i-a64-pine64-lts.dtb

 

3. Edit the file 'sun50i-a64-pine64-lts.dts' at the position starting somewhere along line number  12230

 

Change:

 

             mmc@1c0f000 {
                        compatible = "allwinner,sun50i-a64-mmc";
                        reg = < 0x1c0f000 0x1000 >;
                        clocks = < 0x02 0x1f 0x02 0x4b >;
                        clock-names = "ahb\0mmc";
                        resets = < 0x02 0x08 >;
                        reset-names = "ahb";
                        interrupts = < 0x00 0x3c 0x04 >;
                        max-frequency = < 0x8f0d180 >;
                        status = "okay";
                        bus-width = < 0x04 >;
                        #address-cells = < 0x01 >;
                        #size-cells = < 0x00 >;
                        pinctrl-names = "default";
                        pinctrl-0 = < 0x25 >;
                        vmmc-supply = < 0x26 >;
                        disable-wp;
                        cd-gpios = < 0x27 0x05 0x06 0x01 >;
                        phandle = < 0x69 >;
                };

 

Into:

 

 

              mmc@1c0f000 {
                        compatible = "allwinner,sun50i-a64-mmc";
                        reg = < 0x1c0f000 0x1000 >;
                        clocks = < 0x02 0x1f 0x02 0x4b >;
                        clock-names = "ahb\0mmc";
                        resets = < 0x02 0x08 >;
                        reset-names = "ahb";
                        interrupts = < 0x00 0x3c 0x04 >;
                        max-frequency = < 0x8f0d180 >;
                        status = "okay";
                        bus-width = < 0x04 >;
                        #address-cells = < 0x01 >;
                        #size-cells = < 0x00 >;
                        pinctrl-names = "default";
                        pinctrl-0 = < 0x25 >;
                        vmmc-supply = < 0x26 >;
                        disable-wp;
                        non-removable;
                        cd-gpios = < 0x27 0x05 0x06 0x01 >;
                        phandle = < 0x69 >;
                };

 

Notice how i added 'non-removable;' between the 'disable-wp;' and 'cd-gpios = < 0x27 0x05 0x06 0x01 >;' lines.

 

4. Convert the DTS file that we have just editted to the DTB format (IGNORING the warnings from dtc conversion)

    dtc -I dts -O dtb -o sun50i-a64-pine64-lts.dtb sun50i-a64-pine64-lts.dts

 

5. Boot the unit with the new changes. it should now boot fine.

 

Link to post
Share on other sites

Armbian is a community driven open source project. Do you like to contribute your code?

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

1 1