{"id":1509,"date":"2015-07-12T05:07:30","date_gmt":"2015-07-12T04:07:30","guid":{"rendered":"http:\/\/rglinuxtech.com\/?p=1509"},"modified":"2015-07-12T05:08:21","modified_gmt":"2015-07-12T04:08:21","slug":"arm64-hikey-with-proper-uart-connection","status":"publish","type":"post","link":"https:\/\/rglinuxtech.com\/?p=1509","title":{"rendered":"ARM64 &#8211; HiKey With Proper UART Connection.."},"content":{"rendered":"<p>One of the most annoying missing features of the HiKey ARM54 board is the lack of a proper UART connection, to enable the same degree of boot information as other SoC systems..\u00a0\u00a0\u00a0\u00a0 There is a 4-pin\/hole connection point, but no actual connector&#8230;\u00a0\u00a0\u00a0 So, I had to get out the (mini) soldering iron, and magnifying goggles, and use a not-so-steady hand..<\/p>\n<p>I managed to solder on three pin-type connectors, cut from a strip of a dozen or so, and then use female push-on connectors to the 1.8v USB\/UART tail..<\/p>\n<div id=\"attachment_1510\" style=\"width: 870px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/rglinuxtech.com\/wp_rglinuxtech\/wp-content\/uploads\/2015\/07\/hikey_debug_uart-jul11-2015.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1510\" class=\"size-full wp-image-1510\" src=\"https:\/\/rglinuxtech.com\/wp_rglinuxtech\/wp-content\/uploads\/2015\/07\/hikey_debug_uart-jul11-2015.jpg\" alt=\"HiKey UART Connection\" width=\"860\" height=\"504\" srcset=\"https:\/\/rglinuxtech.com\/wp_rglinuxtech\/wp-content\/uploads\/2015\/07\/hikey_debug_uart-jul11-2015.jpg 860w, https:\/\/rglinuxtech.com\/wp_rglinuxtech\/wp-content\/uploads\/2015\/07\/hikey_debug_uart-jul11-2015-300x176.jpg 300w, https:\/\/rglinuxtech.com\/wp_rglinuxtech\/wp-content\/uploads\/2015\/07\/hikey_debug_uart-jul11-2015-500x293.jpg 500w\" sizes=\"auto, (max-width: 860px) 100vw, 860px\" \/><\/a><p id=\"caption-attachment-1510\" class=\"wp-caption-text\"><span style=\"font-family: arial,helvetica,sans-serif;\"><strong>HiKey UART Connection<\/strong><\/span><\/p><\/div>\n<p>After this, I got a <span style=\"text-decoration: underline;\">proper<\/span> boot \/ console display (on <strong><span style=\"font-family: courier new,courier,monospace;\">\/dev\/ttyAMA0<\/span><\/strong>):<\/p>\n<pre><strong><span style=\"font-family: courier new,courier,monospace;\">........<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier,monospace;\">debug EMMC boot: print init OK<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier,monospace;\">debug EMMC boot: send RST_N .<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier,monospace;\">debug EMMC boot: start eMMC boot......<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier,monospace;\">load fastboot1!<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier,monospace;\">#PMU LDO15_REG_ADJ:0x00000054, STATUS3_LDO9_16:0x00000048<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier,monospace;\">#PMU LDO22_REG:ADJ:0x00000057, STATUS4_LDO17_22:0x00000026<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier,monospace;\">[BDID]boardid: 777 &lt;7.7.7&gt;<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier,monospace;\">#select_hw_config, 58, board_id:0x0000002b<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier,monospace;\">#select_hw_config, 71, array index:0<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier,monospace;\">baudRate=115200, g_baudRate=115200<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier,monospace;\">get_hw_config_int,hw_afreq:1200000.<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier,monospace;\">get_efuse_value,efuse ATE_flag temp:0x02800000.<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier,monospace;\">ATE PASS,ate flag value:0x00000001.<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier,monospace;\">get_efuse_value,efuse acpu_freq change level:0xb6baeb00.<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier,monospace;\">get_efuse_value,efuse afreq change level val:0x00000000.<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier,monospace;\">get_efuse_value,efuse acpu_freq level:0xb6baeb00.<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier,monospace;\">get_efuse_value,efuse acpu freq sys level:0x00000000.<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier,monospace;\">###INFO###,soc_freq = hw_afreq, efuse_afreq:1200000,hw_afreq:1200000.<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier,monospace;\">efuse ACPU 1.4G HPM:0.<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier,monospace;\">efuse ACPU 1.2G HPM:0.<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier,monospace;\">efuse ACPU 960M HPM:0.<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier,monospace;\">fastboot: acpu_dvfs_init successful!<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier,monospace;\">acpu_get_dvfs_volt,g_afreq_max_pro is :5\u2592\u2592acpu max freq:1200000.<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier,monospace;\">acpu support freq num:5<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier,monospace;\">volt:0x0000003a 0x0000003a 0x0000004a 0x0000005b 0x0000006b<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier,monospace;\">acpu start prof:0x00000004<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier,monospace;\">acpu magic:0x5a5ac5c5<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier,monospace;\">#### success !!!!! set_acpu_freq: acpu support freq num is 5 and start is 4 .<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier,monospace;\">get_ddr_type 1; (lpddr2: 0; lpddr3: 1)<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier,monospace;\">ddr_init(): get_ddr_type: 1<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier,monospace;\"> ddr freq: 800000<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier,monospace;\">in lpddr3_init: mode: 0; freq_config: 800<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier,monospace;\">...... etc.......<\/span><\/strong><\/pre>\n<p>This is (IMHO) essential for proper development and testing, especially as this device (unlike the DragonBoard 410c) has a version of U-Boot available, and also supports UEFI..\u00a0 <a href=\"https:\/\/github.com\/96boards\/documentation\/wiki\/HiKeyUEFI\" target=\"_blank\">https:\/\/github.com\/96boards\/documentation\/wiki\/HiKeyUEFI<\/a><\/p>\n<p>So far, I have not been able to get a newer compiled Kernel to boot, but this UART console connection will help to get things working&#8230;.<\/p>\n<p><em>Robert Gadsdon.\u00a0 July 11, 2015.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>One of the most annoying missing features of the HiKey ARM54 board is the lack of a proper UART connection, to enable the same degree of boot information as other SoC systems..\u00a0\u00a0\u00a0\u00a0 There is a 4-pin\/hole connection point, but no actual connector&#8230;\u00a0\u00a0\u00a0 So, I had to get out the (mini) soldering iron, and magnifying goggles, and use <span class=\"excerpt-dots\">&hellip;<\/span> <a class=\"more-link\" href=\"https:\/\/rglinuxtech.com\/?p=1509\"><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,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[1131,6,1146,16],"tags":[1133,1152,1147,1151,1175,1150],"class_list":["post-1509","post","type-post","status-publish","format-standard","hentry","category-arm64","category-crash-and-burn","category-hikey","category-linux-arm","tag-arm64","tag-boot-debug-console","tag-hikey","tag-soldered","tag-success","tag-uart-connection"],"_links":{"self":[{"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts\/1509","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=1509"}],"version-history":[{"count":2,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts\/1509\/revisions"}],"predecessor-version":[{"id":1512,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts\/1509\/revisions\/1512"}],"wp:attachment":[{"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1509"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1509"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1509"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}