Nios® V/II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® V/II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++
12605 Discussions

DE0-Nano-SoC, Strange error reading SD/MMC

Altera_Forum
Honored Contributor II
1,948 Views

Hi,  

 

Still working on my SoC/FPGA hello world on DE0-Nano-Soc 

 

As I had trouble with Yocto on my ubuntu 17.04 computer, I ended up doing steps of Robert Nelson for the linux part (eg the linux partition + Compil of Kernel) https://eewiki.net/display/linuxonarm/de0-nano-soc+kit 

and followed the steps of WS 2 Linux Kernel Intro for Altera SoC devices for preloader + FAT partition (Quartus / Qsys + bsp-editor then make with u-boot.img and Device tree) https://rocketboards.org/foswiki/documentation/ws2linuxkernelintroductionforalterasocdevices 

 

Almost working, but from initialization of the SD/MMC, I get this error all the time... Then boot is very long, and I don't have access to all functionalities of my Linux.  

 

Very strange, because still lot of processes can start successfully (not all) and at the end (after 2mn), I can login to ubuntu installed.  

 

The FPGA part is very simple, it comes from CD of DE0-Nano-Soc to... Make a led blink (FPGA Hello world). 

 

Error starts here (first time it appears):  

... 

[ 4.239723] can: controller area network core (rev 20120528 abi 9) 

[ 4.245936] NET: Registered protocol family 29 

[ 4.250361] can: raw protocol (rev 20120528) 

[ 4.254611] can: broadcast manager protocol (rev 20161123 t) 

[ 4.260266] can: netlink gateway (rev 20130117) max_hops=1 

[ 4.265917] 8021q: 802.1Q VLAN Support v1.8 

[ 4.270114] Key type dns_resolver registered 

[ 4.274433] ThumbEE CPU extension supported. 

[ 4.278706] Registering SWP/SWPB emulation handler 

[ 4.285760] Btrfs loaded, crc32c=crc32c-generic 

[ 4.294464] Key type encrypted registered 

[ 4.300019] hctosys: unable to open rtc device (rtc0) 

[ 4.305096] of_cfs_init 

[ 4.307608] of_cfs_init: OK 

[ 4.310999] ttyS0 - failed to request DMA 

[ 4.315153] Waiting for root device /dev/mmcblk0p2... 

[ 4.424210] mmc_host mmc0: Bus speed (slot 0) = 200000000Hz (slot req 25000000Hz, actual 25000000HZ div = 4) 

[ 4.434020] mmc0: new SDHC card at address aaaa 

[ 4.439059] mmcblk0: mmc0:aaaa SL16G 14.8 GiB 

[ 4.454123] mmcblk0: p1 p2 p3 

[ 4.559859] EXT4-fs (mmcblk0p2): mounting ext3 file system using the ext4 subsystem 

[ 4.684783] mmcblk0: error -110 sending status command, retrying 

[ 4.690830] mmcblk0: error -115 sending stop command, original cmd response 0x900, card status 0x800b00 

[ 4.700196] mmcblk0: error -110 transferring data, sector 5376, nr 264, cmd response 0x900, card status 0xb00 

[ 4.734718] mmc_host mmc0: Bus speed (slot 0) = 200000000Hz (slot req 400000Hz, actual 400000HZ div = 250) 

[ 4.831370] mmc_host mmc0: Bus speed (slot 0) = 200000000Hz (slot req 25000000Hz, actual 25000000HZ div = 4) 

[ 5.054790] mmcblk0: error -110 sending status command, retrying 

[ 5.060836] mmcblk0: error -115 sending stop command, original cmd response 0x900, card status 0x800b00 

[ 5.070201] mmcblk0: error -110 transferring data, sector 5376, nr 264, cmd response 0x900, card status 0xb00 

[ 5.080224] mmcblk0: retrying using single block read 

[ 5.152175] random: fast init done 

[ 5.504777] mmcblk0: error -110 sending status command, retrying 

[ 5.510823] mmcblk0: error -110 sending stop command, original cmd response 0x900, card status 0x800b00 

[ 5.520185] mmcblk0: error -110 transferring data, sector 9528, nr 168, cmd response 0x900, card status 0xb00 

...  

 

 

And I see it thousands of time until first login hint and even after having logged in. [ 121.020854] mmcblk0: error -110 transferring data, sector 2626856, nr 224, cmd response 0x900, card status 0xb00 

[ 121.734839] mmcblk0: error -110 sending status command, retrying 

[ 121.740901] mmcblk0: error -110 transferring data, sector 3533040, nr 184, cmd response 0x900, card status 0xb00 

[ 122.084973] mmcblk0: error -110 sending status command, retrying 

[ 122.091030] mmcblk0: error -110 transferring data, sector 3533040, nr 184, cmd response 0x900, card status 0xb00 

^M 

Ubuntu 16.04.2 LTS arm ttyS0 

 

default username:password is [ubuntu:temppwd] 

 

arm login: ^M 

Ubuntu 16.04.2 LTS arm ttyS0 

 

default username:password is [ubuntu:temppwd] 

 

arm login: ubuntu^M 

Password: 

Last login: Sat Jun 10 23:03:19 UTC 2017 on ttyS0 

Welcome to Ubuntu 16.04.2 LTS (GNU/Linux 4.9.20-socfpga-r1 armv7l) 

 

* Documentation: https://help.ubuntu.com 

* Management: https://landscape.canonical.com 

* Support: https://ubuntu.com/advantage 

[ 261.585238] mmcblk0: error -110 sending status command, retrying 

[ 261.591298] mmcblk0: error -110 transferring data, sector 4198680, nr 240, cmd response 0x900, card status 0xb00 

[ 261.935231] mmcblk0: error -110 sending status command, retrying 

[ 261.941290] mmcblk0: error -110 transferring data, sector 4198680, nr 240, cmd response 0x900, card status 0xb00 

[ 262.485219] mmcblk0: error -110 sending status command, retrying 

[ 262.491281] mmcblk0: error -110 transferring data, sector 2364672, nr 264, cmd response 0x900, card status 0xb00 

[ 262.835214] mmcblk0: error -110 sending status command, retrying 

[ 262.841271] mmcblk0: error -110 transferring data, sector 2364672, nr 264, cmd response 0x900, card status 0xb00 

ubuntu@arm:~$ 

 

 

I know I'm in a very specific case, but maybe one of you will have the light about what's happening.  

Thanks for help and suggestions !
0 Kudos
1 Reply
DBurg3
Beginner
1,088 Views

I had similar issues, my SDcard was not picked up. Turns out its a device tree issue with MMC controller.

See here, looks like your prob too ... https://forum.rocketboards.org/t/linux-altera-4-12-failes-mmc-on-cyclonev-while-ltsi-does-not/1189

 

I added the following : CycloneV dts.

         sdmmc_clk_divided: sdmmc_clk_divided {

               #clock-cells = <0>;

               compatible = "altr,socfpga-gate-clk";

               clocks = <&sdmmc_clk>;

               clk-gate = <0xa0 8>;

               fixed-divider = <4>;

            };

 

and changed my sdmmc rntry a bit to this :

 

      hps_0_sdmmc: flash@0xff704000 {

         compatible = "altr,socfpga-dw-mshc";

         reg = <0xff704000 0x00001000>;

         resets = <&hps_0_rstmgr SDMMC_RESET>;

         interrupt-parent = <&hps_0_arm_gic_0>;

         interrupts = <0 139 IRQ_TYPE_LEVEL_HIGH>;

         //clocks = <&l4_mp_clk &sdmmc_clk>;

         clocks = <&l4_mp_clk>, <&sdmmc_clk_divided>;

         clock-names = "biu", "ciu";

         fifo-depth = <1024>;   /* embeddedsw.dts.params.fifo-depth type NUMBER */

         #address-cells = <1>;

         #size-cells = <0>;

         status = "okay";   /* embeddedsw.dts.params.status type STRING */

         broken-cd;

         bus-width = <4>;

         cap-mmc-highspeed;

         cap-sd-highspeed;

      }; //end flash@0xff704000 (hps_0_sdmmc)

0 Kudos
Reply