Jump to content

Recommended Posts

Posted

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.

 

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines