{"id":1634,"date":"2015-12-20T19:06:19","date_gmt":"2015-12-20T19:06:19","guid":{"rendered":"http:\/\/rglinuxtech.com\/?p=1634"},"modified":"2015-12-20T19:06:19","modified_gmt":"2015-12-20T19:06:19","slug":"arm-pi2-kernel-4-4-rc5-u-boot-fail-and-workaround","status":"publish","type":"post","link":"https:\/\/rglinuxtech.com\/?p=1634","title":{"rendered":"ARM &#8211; Pi2 &#8211; Kernel 4.4-rc5 &#8211; U-Boot Fail, and Workaround.."},"content":{"rendered":"<p>Recently attempted to update the Pi2 to Kernel 4.4-rc5, and encountered a problem..<\/p>\n<p>The more recent proprietary Raspberry Pi 2 kernels have switched to using &#8216;DTB Overlays&#8217; to control various components, but these are &#8211; currently &#8211; unsupported by U-Boot..<\/p>\n<p>Booting the kernel with U-Boot results in mmc errors, and register dump:<\/p>\n<pre><strong><span style=\"font-family: courier new,courier;\">....................<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">timeout waiting for hardware interrupt.<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">mmc0: cmd op 25 arg 0x399f800 flags 0xb5 - resp 00000900 00000000 00000000 00000000, err 0<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">mmc0: data blocks 8 blksz 200 - err 0<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">mmc0: stop op 12 arg 0x0 flags 0x49d - resp 00000000 00000000 00000000 00000000, err 0<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">mmc0: =========== REGISTER DUMP ===========<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">mmc0: SDCMD 0x00000099<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">mmc0: SDARG 0x0399f800<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">mmc0: SDTOUT 0x017d7840<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">mmc0: SDCDIV 0x00000003<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">mmc0: SDRSP0 0x00000900<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">mmc0: SDRSP1 0x00001918<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">mmc0: SDRSP2 0xffffffff<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">mmc0: SDRSP3 0x0002c01f<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">mmc0: SDHSTS 0x00000000<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">mmc0: SDVDD 0x00000001<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">mmc0: SDEDM 0x00010801<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">mmc0: SDHCFG 0x0000050e<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">mmc0: SDHBCT 0x00000200<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">mmc0: SDHBLC 0x00000001<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">mmc0: ===========================================<\/span><\/strong><\/pre>\n<p>The DTB Overlays only function with the old primitive bootloader &#8211; using parameters in <span style=\"font-family: courier new,courier;\">config.txt<\/span>..<\/p>\n<p>After trying many options in the kernel config for mmc drivers, I eventually found a (<em>nasty hack?<\/em>) workaround..<\/p>\n<p>I tried substituting an older known\/good version of bcm2709-rpi-2-b.dtb (from Pi2 Kernel 4.0.5-rc4) for the &#8216;new&#8217; one, and it booted OK..<\/p>\n<pre><strong><span style=\"font-family: courier new,courier;\">Fedora 23<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">Kernel 4.4.0-rc5-v7 on an armv7l (ttyAMA0)<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">.............<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">]# uname -a<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">Linux rgpi2 4.4.0-rc5-v7 #2 SMP PREEMPT Sat Dec 19 21:17:19 PST 2015 armv7l armv7l armv7l GNU\/Linux<\/span><\/strong><\/pre>\n<p>It makes some sense to control optional components using DTB Overlays, but odd that they seem to be used for major fixed components as well?<\/p>\n<p><em>Robert Gadsdon.\u00a0 December 20, 2015.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Recently attempted to update the Pi2 to Kernel 4.4-rc5, and encountered a problem.. The more recent proprietary Raspberry Pi 2 kernels have switched to using &#8216;DTB Overlays&#8217; to control various components, but these are &#8211; currently &#8211; unsupported by U-Boot.. Booting the kernel with U-Boot results in mmc errors, and register dump: &#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.. timeout waiting for hardware <span class=\"excerpt-dots\">&hellip;<\/span> <a class=\"more-link\" href=\"https:\/\/rglinuxtech.com\/?p=1634\"><span class=\"more-msg\">Continue reading &rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"footnotes":""},"categories":[5,6,1238,11,14,16,19,21,937],"tags":[1249,1247,313,1175,1248,418],"class_list":["post-1634","post","type-post","status-publish","format-standard","hentry","category-compilation","category-crash-and-burn","category-fix","category-hacks","category-kernel","category-linux-arm","category-opinion","category-raspberry-pi","category-u-boot-2","tag-dtb-overlays","tag-kernel-4-4-rc5","tag-raspberry-pi-2","tag-success","tag-u-boot-fail","tag-workaround"],"_links":{"self":[{"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts\/1634","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1634"}],"version-history":[{"count":1,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts\/1634\/revisions"}],"predecessor-version":[{"id":1635,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts\/1634\/revisions\/1635"}],"wp:attachment":[{"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1634"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1634"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1634"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}