14b684a6bSJorge Ramirez-Ortiz# SPDX-License-Identifier: GPL-2.0+
24b684a6bSJorge Ramirez-Ortiz#
3*83d290c5STom Rini# (C) Copyright 2017 Jorge Ramirez-Ortiz <jorge.ramirez-ortiz@linaro.org>
44b684a6bSJorge Ramirez-Ortiz
54b684a6bSJorge Ramirez-Ortiz================================================================================
64b684a6bSJorge Ramirez-Ortiz             What is working (enough to boot a distro from SD card)
74b684a6bSJorge Ramirez-Ortiz================================================================================
84b684a6bSJorge Ramirez-Ortiz   - UART
94b684a6bSJorge Ramirez-Ortiz   - SD card
104b684a6bSJorge Ramirez-Ortiz   - PSCI reset
114b684a6bSJorge Ramirez-Ortiz   - Environment in EXT4 partition 1 in SD card (check defconfig for details)
124b684a6bSJorge Ramirez-Ortiz         dont forget to insert the card in the SD slot before booting if you
134b684a6bSJorge Ramirez-Ortiz         are going to make mods to the environment
144b684a6bSJorge Ramirez-Ortiz
154b684a6bSJorge Ramirez-Ortiz================================================================================
164b684a6bSJorge Ramirez-Ortiz                     Build & Run instructions
174b684a6bSJorge Ramirez-Ortiz================================================================================
184b684a6bSJorge Ramirez-Ortiz
194b684a6bSJorge Ramirez-Ortiz1) Install mkbootimg and dtbTool from Codeaurora:
204b684a6bSJorge Ramirez-Ortiz
214b684a6bSJorge Ramirez-Ortiz   git://codeaurora.org/quic/kernel/skales
224b684a6bSJorge Ramirez-Ortiz   commit 8492547e404e969262d9070dee9bdd15668bb70f worked for me.
234b684a6bSJorge Ramirez-Ortiz
244b684a6bSJorge Ramirez-Ortiz2) Setup CROSS_COMPILE to aarch64 compiler or if you use ccache just do
254b684a6bSJorge Ramirez-Ortiz   CROSS_COMPILE="ccache aarch64-linux-gnu-"
264b684a6bSJorge Ramirez-Ortiz
274b684a6bSJorge Ramirez-Ortiz3) cd to the u-boot tree
284b684a6bSJorge Ramirez-Ortiz
294b684a6bSJorge Ramirez-Ortiz  $ make dragonboard820c_config
304b684a6bSJorge Ramirez-Ortiz  $ make -j `nproc`
314b684a6bSJorge Ramirez-Ortiz
324b684a6bSJorge Ramirez-Ortiz4) generate fake, empty ramdisk (can have 0 bytes)
334b684a6bSJorge Ramirez-Ortiz
344b684a6bSJorge Ramirez-Ortiz   $ touch rd
354b684a6bSJorge Ramirez-Ortiz
364b684a6bSJorge Ramirez-Ortiz5) Generate qualcomm device tree table with dtbTool
374b684a6bSJorge Ramirez-Ortiz
384b684a6bSJorge Ramirez-Ortiz   $ dtbTool -o dt.img arch/arm/dts
394b684a6bSJorge Ramirez-Ortiz
404b684a6bSJorge Ramirez-Ortiz6) Generate Android boot image with mkbootimg:
414b684a6bSJorge Ramirez-Ortiz
424b684a6bSJorge Ramirez-Ortiz   $ mkbootimg --kernel=u-boot-dtb.bin             \
434b684a6bSJorge Ramirez-Ortiz               --output=u-boot.img                 \
444b684a6bSJorge Ramirez-Ortiz               --dt=dt.img                         \
454b684a6bSJorge Ramirez-Ortiz               --pagesize 4096                     \
464b684a6bSJorge Ramirez-Ortiz               --base 0x80000000                   \
474b684a6bSJorge Ramirez-Ortiz               --ramdisk=rd                        \
484b684a6bSJorge Ramirez-Ortiz               --cmdline=""
494b684a6bSJorge Ramirez-Ortiz
504b684a6bSJorge Ramirez-Ortiz7) Reboot the board into fastboot mode
514b684a6bSJorge Ramirez-Ortiz   - plug the board micro-usb to your laptop usb host.
524b684a6bSJorge Ramirez-Ortiz   - reboot the board with vol- button pressed
534b684a6bSJorge Ramirez-Ortiz
544b684a6bSJorge Ramirez-Ortiz8) Boot the uboot image using fastboot
554b684a6bSJorge Ramirez-Ortiz
564b684a6bSJorge Ramirez-Ortiz   $ fastboot boot u-boot.img
574b684a6bSJorge Ramirez-Ortiz
584b684a6bSJorge Ramirez-Ortiz   or flash it to the UFS drive boot partition:
594b684a6bSJorge Ramirez-Ortiz
604b684a6bSJorge Ramirez-Ortiz   $ fastboot flash boot u-boot.img
614b684a6bSJorge Ramirez-Ortiz   $ fastboot reboot
624b684a6bSJorge Ramirez-Ortiz
634b684a6bSJorge Ramirez-Ortiz
644b684a6bSJorge Ramirez-Ortiz================================================================================
654b684a6bSJorge Ramirez-Ortiz      To boot a linux kernel from SDHCI with the ROOTFS on an NFS share:
664b684a6bSJorge Ramirez-Ortiz================================================================================
674b684a6bSJorge Ramirez-Ortiz
684b684a6bSJorge Ramirez-Ortiz1) create an EXT4 partition on the SD card (must be partition #1)
694b684a6bSJorge Ramirez-Ortiz
704b684a6bSJorge Ramirez-Ortiz2) build the kernel image and dtb  (documented extensively somewhere else)
714b684a6bSJorge Ramirez-Ortiz
724b684a6bSJorge Ramirez-Ortiz3) copy the drivers to the NFS partition (ie: 192.168.1.2 /exports/db820c-rootfs)
734b684a6bSJorge Ramirez-Ortiz
744b684a6bSJorge Ramirez-Ortiz4) add the u-boot headers to the image:
754b684a6bSJorge Ramirez-Ortiz
764b684a6bSJorge Ramirez-Ortiz    $ mkimage -A arm64                                     \
774b684a6bSJorge Ramirez-Ortiz              -O linux                                     \
784b684a6bSJorge Ramirez-Ortiz              -C none                                      \
794b684a6bSJorge Ramirez-Ortiz              -T kernel                                    \
804b684a6bSJorge Ramirez-Ortiz              -a 0x80080000                                \
814b684a6bSJorge Ramirez-Ortiz              -e 0x80080000                                \
824b684a6bSJorge Ramirez-Ortiz              -n Dragonboard820c                           \
834b684a6bSJorge Ramirez-Ortiz              -d $kernel/arch/arm64/boot/Image             \
844b684a6bSJorge Ramirez-Ortiz              uImage
854b684a6bSJorge Ramirez-Ortiz
864b684a6bSJorge Ramirez-Ortiz5) copy the generated uImage and the device tree binary to the SD card EXT4
874b684a6bSJorge Ramirez-Ortiz   partition
884b684a6bSJorge Ramirez-Ortiz
894b684a6bSJorge Ramirez-Ortiz    $ cp uImage /mnt/boot/
904b684a6bSJorge Ramirez-Ortiz    $ cp apq8096-db820c.dtb /mnt/boot/
914b684a6bSJorge Ramirez-Ortiz
924b684a6bSJorge Ramirez-Ortiz6) on the SD card create /extlinux/extlinux.conf  as follows:
934b684a6bSJorge Ramirez-Ortiz
944b684a6bSJorge Ramirez-Ortiz   default nfs
954b684a6bSJorge Ramirez-Ortiz   prompt 1
964b684a6bSJorge Ramirez-Ortiz   timeout 10
974b684a6bSJorge Ramirez-Ortiz
984b684a6bSJorge Ramirez-Ortiz   LABEL nfs
994b684a6bSJorge Ramirez-Ortiz      MENU NFS entry
1004b684a6bSJorge Ramirez-Ortiz      LINUX /uImage
1014b684a6bSJorge Ramirez-Ortiz      FDT /apq8096-db820c.dtb
1024b684a6bSJorge Ramirez-Ortiz      APPEND root=/dev/nfs rw                                         \
1034b684a6bSJorge Ramirez-Ortiz             nfsroot=192.168.1.2:/exports/db829c-rootfs,v3,tcp        \
1044b684a6bSJorge Ramirez-Ortiz             rootwait                                                 \
1054b684a6bSJorge Ramirez-Ortiz             ip=dhcp consoleblank=0                                   \
1064b684a6bSJorge Ramirez-Ortiz             console=tty0                                             \
1074b684a6bSJorge Ramirez-Ortiz             console=ttyMSM0,115200n8                                 \
1084b684a6bSJorge Ramirez-Ortiz             earlyprintk earlycon=msm_serial_dm,0x75b0000             \
1094b684a6bSJorge Ramirez-Ortiz             androidboot.bootdevice=624000.ufshc                      \
1104b684a6bSJorge Ramirez-Ortiz             androidboot.verifiedbootstate=orange                     \
1114b684a6bSJorge Ramirez-Ortiz             androidboot.ver0
1124b684a6bSJorge Ramirez-Ortiz
1134b684a6bSJorge Ramirez-Ortiz7) remove the SD card from the laptop and insert it back to the db820 board.
1144b684a6bSJorge Ramirez-Ortiz   the SD card EXT4 partition#1 should contain:
1154b684a6bSJorge Ramirez-Ortiz      /uImage
1164b684a6bSJorge Ramirez-Ortiz      /apq8096-db820c.dtb
1174b684a6bSJorge Ramirez-Ortiz      /extlinux/extlinux.conf
1184b684a6bSJorge Ramirez-Ortiz
1194b684a6bSJorge Ramirez-Ortiz8) reboot the db820 board
1204b684a6bSJorge Ramirez-Ortiz
1214b684a6bSJorge Ramirez-Ortiz================================================================================
1224b684a6bSJorge Ramirez-Ortiz                    Successful boot sequence
1234b684a6bSJorge Ramirez-Ortiz================================================================================
1244b684a6bSJorge Ramirez-Ortiz
1254b684a6bSJorge Ramirez-OrtizFormat: Log Type - Time(microsec) - Message - Optional Info
1264b684a6bSJorge Ramirez-OrtizLog Type: B - Since Boot(Power On Reset),  D - Delta,  S - Statistic
1274b684a6bSJorge Ramirez-OrtizS - QC_IMAGE_VERSION_STRING=BOOT.XF.1.0-00301
1284b684a6bSJorge Ramirez-OrtizS - IMAGE_VARIANT_STRING=M8996LAB
1294b684a6bSJorge Ramirez-OrtizS - OEM_IMAGE_VERSION_STRING=crm-ubuntu68
1304b684a6bSJorge Ramirez-OrtizS - Boot Interface: UFS
1314b684a6bSJorge Ramirez-OrtizS - Secure Boot: Off
1324b684a6bSJorge Ramirez-OrtizS - Boot Config @ 0x00076044 = 0x000001c9
1334b684a6bSJorge Ramirez-OrtizS - JTAG ID @ 0x000760f4 = 0x4003e0e1
1344b684a6bSJorge Ramirez-OrtizS - OEM ID @ 0x000760f8 = 0x00000000
1354b684a6bSJorge Ramirez-OrtizS - Serial Number @ 0x00074138 = 0x2e8844ce
1364b684a6bSJorge Ramirez-OrtizS - OEM Config Row 0 @ 0x00074188 = 0x0000000000000000
1374b684a6bSJorge Ramirez-OrtizS - OEM Config Row 1 @ 0x00074190 = 0x0000000000000000
1384b684a6bSJorge Ramirez-OrtizS - Feature Config Row 0 @ 0x000741a0 = 0x0050000010000100
1394b684a6bSJorge Ramirez-OrtizS - Feature Config Row 1 @ 0x000741a8 = 0x00fff00001ffffff
1404b684a6bSJorge Ramirez-OrtizS - Core 0 Frequency, 1228 MHz
1414b684a6bSJorge Ramirez-OrtizB -         0 - PBL, Start
1424b684a6bSJorge Ramirez-OrtizB -     10412 - bootable_media_detect_entry, Start
1434b684a6bSJorge Ramirez-OrtizB -     47480 - bootable_media_detect_success, Start
1444b684a6bSJorge Ramirez-OrtizB -     47481 - elf_loader_entry, Start
1454b684a6bSJorge Ramirez-OrtizB -     49027 - auth_hash_seg_entry, Start
1464b684a6bSJorge Ramirez-OrtizB -     49129 - auth_hash_seg_exit, Start
1474b684a6bSJorge Ramirez-OrtizB -     82403 - elf_segs_hash_verify_entry, Start
1484b684a6bSJorge Ramirez-OrtizB -     84905 - PBL, End
1494b684a6bSJorge Ramirez-OrtizB -     86955 - SBL1, Start
1504b684a6bSJorge Ramirez-OrtizB -    182969 - usb: hs_phy_nondrive_start
1514b684a6bSJorge Ramirez-OrtizB -    183305 - usb: PLL lock success - 0x3
1524b684a6bSJorge Ramirez-OrtizB -    186294 - usb: hs_phy_nondrive_finish
1534b684a6bSJorge Ramirez-OrtizB -    190442 - boot_flash_init, Start
1544b684a6bSJorge Ramirez-OrtizD -        30 - boot_flash_init, Delta
1554b684a6bSJorge Ramirez-OrtizB -    197548 - sbl1_ddr_set_default_params, Start
1564b684a6bSJorge Ramirez-OrtizD -        30 - sbl1_ddr_set_default_params, Delta
1574b684a6bSJorge Ramirez-OrtizB -    205509 - boot_config_data_table_init, Start
1584b684a6bSJorge Ramirez-OrtizD -    200659 - boot_config_data_table_init, Delta - (60 Bytes)
1594b684a6bSJorge Ramirez-OrtizB -    410713 - CDT Version:3,Platform ID:24,Major ID:1,Minor ID:0,Subtype:0
1604b684a6bSJorge Ramirez-OrtizB -    415410 - Image Load, Start
1614b684a6bSJorge Ramirez-OrtizD -     22570 - PMIC Image Loaded, Delta - (37272 Bytes)
1624b684a6bSJorge Ramirez-OrtizB -    437980 - pm_device_init, Start
1634b684a6bSJorge Ramirez-OrtizB -    443744 - PON REASON:PM0:0x200000061 PM1:0x200000021
1644b684a6bSJorge Ramirez-OrtizB -    480161 - PM_SET_VAL:Skip
1654b684a6bSJorge Ramirez-OrtizD -     40016 - pm_device_init, Delta
1664b684a6bSJorge Ramirez-OrtizB -    482083 - pm_driver_init, Start
1674b684a6bSJorge Ramirez-OrtizD -      2928 - pm_driver_init, Delta
1684b684a6bSJorge Ramirez-OrtizB -    488671 - pm_sbl_chg_init, Start
1694b684a6bSJorge Ramirez-OrtizD -        91 - pm_sbl_chg_init, Delta
1704b684a6bSJorge Ramirez-OrtizB -    495442 - vsense_init, Start
1714b684a6bSJorge Ramirez-OrtizD -         0 - vsense_init, Delta
1724b684a6bSJorge Ramirez-OrtizB -    505171 - Pre_DDR_clock_init, Start
1734b684a6bSJorge Ramirez-OrtizD -       396 - Pre_DDR_clock_init, Delta
1744b684a6bSJorge Ramirez-OrtizB -    509045 - ddr_initialize_device, Start
1754b684a6bSJorge Ramirez-OrtizB -    512766 - 8996 v3.x detected, Max frequency = 1.8 GHz
1764b684a6bSJorge Ramirez-OrtizB -    522373 - ddr_initialize_device, Delta
1774b684a6bSJorge Ramirez-OrtizB -    522404 - DDR ID, Rank 0, Rank 1, 0x6, 0x300, 0x300
1784b684a6bSJorge Ramirez-OrtizB -    526247 - Basic DDR tests done
1794b684a6bSJorge Ramirez-OrtizB -    594994 - clock_init, Start
1804b684a6bSJorge Ramirez-OrtizD -       274 - clock_init, Delta
1814b684a6bSJorge Ramirez-OrtizB -    598349 - Image Load, Start
1824b684a6bSJorge Ramirez-OrtizD -      4331 - QSEE Dev Config Image Loaded, Delta - (46008 Bytes)
1834b684a6bSJorge Ramirez-OrtizB -    603808 - Image Load, Start
1844b684a6bSJorge Ramirez-OrtizD -      5338 - APDP Image Loaded, Delta - (0 Bytes)
1854b684a6bSJorge Ramirez-OrtizB -    612409 - usb: UFS Serial - 2f490ecf
1864b684a6bSJorge Ramirez-OrtizB -    616801 - usb: fedl, vbus_low
1874b684a6bSJorge Ramirez-OrtizB -    620431 - Image Load, Start
1884b684a6bSJorge Ramirez-OrtizD -     55418 - QSEE Image Loaded, Delta - (1640572 Bytes)
1894b684a6bSJorge Ramirez-OrtizB -    675849 - Image Load, Start
1904b684a6bSJorge Ramirez-OrtizD -      2013 - SEC Image Loaded, Delta - (4096 Bytes)
1914b684a6bSJorge Ramirez-OrtizB -    683413 - sbl1_efs_handle_cookies, Start
1924b684a6bSJorge Ramirez-OrtizD -       457 - sbl1_efs_handle_cookies, Delta
1934b684a6bSJorge Ramirez-OrtizB -    691892 - Image Load, Start
1944b684a6bSJorge Ramirez-OrtizD -     14396 - QHEE Image Loaded, Delta - (254184 Bytes)
1954b684a6bSJorge Ramirez-OrtizB -    706319 - Image Load, Start
1964b684a6bSJorge Ramirez-OrtizD -     14061 - RPM Image Loaded, Delta - (223900 Bytes)
1974b684a6bSJorge Ramirez-OrtizB -    721111 - Image Load, Start
1984b684a6bSJorge Ramirez-OrtizD -      3233 - STI Image Loaded, Delta - (0 Bytes)
1994b684a6bSJorge Ramirez-OrtizB -    727913 - Image Load, Start
2004b684a6bSJorge Ramirez-OrtizD -     34709 - APPSBL Image Loaded, Delta - (748716 Bytes)
2014b684a6bSJorge Ramirez-OrtizB -    762713 - SBL1, End
2024b684a6bSJorge Ramirez-OrtizD -    680028 - SBL1, Delta
2034b684a6bSJorge Ramirez-OrtizS - Flash Throughput, 94000 KB/s  (2959024 Bytes,  31250 us)
2044b684a6bSJorge Ramirez-OrtizS - DDR Frequency, 1017 MHz
2054b684a6bSJorge Ramirez-OrtizAndroid Bootloader - UART_DM Initialized!!!
2064b684a6bSJorge Ramirez-Ortiz
2074b684a6bSJorge Ramirez-Ortiz[0] BUILD_VERSION=
2084b684a6bSJorge Ramirez-Ortiz[0] BUILD_DATE=16:07:51 - Nov 17 2017
2094b684a6bSJorge Ramirez-Ortiz[0] welcome to lk
2104b684a6bSJorge Ramirez-Ortiz[10] platform_init()
2114b684a6bSJorge Ramirez-Ortiz[10] target_init()
2124b684a6bSJorge Ramirez-Ortiz[10] RPM GLink Init
2134b684a6bSJorge Ramirez-Ortiz[10] Opening RPM Glink Port success
2144b684a6bSJorge Ramirez-Ortiz[10] Opening SSR Glink Port success
2154b684a6bSJorge Ramirez-Ortiz[20] Glink Connection between APPS and RPM established
2164b684a6bSJorge Ramirez-Ortiz[20] Glink Connection between APPS and RPM established
2174b684a6bSJorge Ramirez-Ortiz[40] UFS init success
2184b684a6bSJorge Ramirez-Ortiz[80] Qseecom Init Done in Appsbl
2194b684a6bSJorge Ramirez-Ortiz[80] secure app region addr=0x86600000 size=0x2200000[90] TZ App region notif returned with status:0 addr:86600000 size:35651584
2204b684a6bSJorge Ramirez-Ortiz[100] TZ App log region register returned with status:0 addr:916d4000 size:4096
2214b684a6bSJorge Ramirez-Ortiz[100] Qseecom TZ Init Done in Appsbl
2224b684a6bSJorge Ramirez-Ortiz[120] Loading cmnlib done
2234b684a6bSJorge Ramirez-Ortiz[120] qseecom_start_app: Loading app keymaster for the first time
2244b684a6bSJorge Ramirez-Ortiz[150] <8>keymaster: "\"KEYMASTER Init \""
2254b684a6bSJorge Ramirez-Ortiz[160] Selected panel: none
2264b684a6bSJorge Ramirez-OrtizSkip panel configuration
2274b684a6bSJorge Ramirez-Ortiz[160] pm8x41_get_is_cold_boot: cold boot
2284b684a6bSJorge Ramirez-Ortiz[170] boot_verifier: Device is in ORANGE boot state.
2294b684a6bSJorge Ramirez-Ortiz[180] Device is unlocked! Skipping verification...
2304b684a6bSJorge Ramirez-Ortiz[180] Loading (boot) image (348160): start
2314b684a6bSJorge Ramirez-Ortiz[190] Loading (boot) image (348160): done
2324b684a6bSJorge Ramirez-Ortiz[190] use_signed_kernel=1, is_unlocked=1, is_tampered=0.
2334b684a6bSJorge Ramirez-Ortiz[200] Your device has been unlocked and cant be trusted.
2344b684a6bSJorge Ramirez-OrtizWait for 5 seconds before proceeding
2354b684a6bSJorge Ramirez-Ortiz
2364b684a6bSJorge Ramirez-Ortiz[5200] mdtp: mdtp_img loaded
2374b684a6bSJorge Ramirez-Ortiz[5210] mdtp: is_test_mode: test mode is set to 1
2384b684a6bSJorge Ramirez-Ortiz[5210] mdtp: read_metadata: SUCCESS
2394b684a6bSJorge Ramirez-Ortiz[5230] LK SEC APP Handle: 0x1
2404b684a6bSJorge Ramirez-Ortiz[5230] Return value from recv_data: 14
2414b684a6bSJorge Ramirez-Ortiz[5240] Return value from recv_data: 14
2424b684a6bSJorge Ramirez-Ortiz[5250] Return value from recv_data: 14
2434b684a6bSJorge Ramirez-Ortiz[5260] DTB Total entry: 1, DTB version: 3
2444b684a6bSJorge Ramirez-Ortiz[5260] Using DTB entry 0x00000123/00000000/0x00000018/0 for device 0x00000123/00030001/0x00010018/0
2454b684a6bSJorge Ramirez-Ortiz[5270] cmdline:  androidboot.bootdevice=624000.ufshc androidboot.verifiedbootstate=orange androidboot.veritymode=enforcing androidboot.serialno=2f490ecf androidboot.baseband=apq mdss_mdp.panel=0
2464b684a6bSJorge Ramirez-Ortiz[5290] Updating device tree: start
2474b684a6bSJorge Ramirez-Ortiz[5290] Updating device tree: done
2484b684a6bSJorge Ramirez-Ortiz[5290] Return value from recv_data: 14
2494b684a6bSJorge Ramirez-Ortiz[5300] RPM GLINK UnInit
2504b684a6bSJorge Ramirez-Ortiz[5300] Qseecom De-Init Done in Appsbl
2514b684a6bSJorge Ramirez-Ortiz[5300] booting linux @ 0x80080000, ramdisk @ 0x82200000 (0), tags/device tree @ 0x82000000
2524b684a6bSJorge Ramirez-Ortiz[5310] Jumping to kernel via monitor
2534b684a6bSJorge Ramirez-Ortiz
2544b684a6bSJorge Ramirez-OrtizU-Boot 2017.11-00145-ge895117 (Nov 29 2017 - 10:04:06 +0100)
2554b684a6bSJorge Ramirez-OrtizQualcomm-DragonBoard 820C
2564b684a6bSJorge Ramirez-Ortiz
2574b684a6bSJorge Ramirez-OrtizDRAM:  3 GiB
2584b684a6bSJorge Ramirez-OrtizPSCI:  v1.0
2594b684a6bSJorge Ramirez-OrtizMMC:   sdhci@74a4900: 0
2604b684a6bSJorge Ramirez-OrtizIn:    serial@75b0000
2614b684a6bSJorge Ramirez-OrtizOut:   serial@75b0000
2624b684a6bSJorge Ramirez-OrtizErr:   serial@75b0000
2634b684a6bSJorge Ramirez-OrtizNet:   Net Initialization Skipped
2644b684a6bSJorge Ramirez-OrtizNo ethernet found.
2654b684a6bSJorge Ramirez-OrtizHit any key to stop autoboot:  0
2664b684a6bSJorge Ramirez-Ortizswitch to partitions #0, OK
2674b684a6bSJorge Ramirez-Ortizmmc0 is current device
2684b684a6bSJorge Ramirez-OrtizScanning mmc 0:1...
2694b684a6bSJorge Ramirez-OrtizFound /extlinux/extlinux.conf
2704b684a6bSJorge Ramirez-OrtizRetrieving file: /extlinux/extlinux.conf
2714b684a6bSJorge Ramirez-Ortiz433 bytes read in 71 ms (5.9 KiB/s)
2724b684a6bSJorge Ramirez-Ortiz1:      nfs root
2734b684a6bSJorge Ramirez-Ortiz
2744b684a6bSJorge Ramirez-OrtizRetrieving file: /uImage
2754b684a6bSJorge Ramirez-Ortiz19397184 bytes read in 2024 ms (9.1 MiB/s)
2764b684a6bSJorge Ramirez-Ortizappend: root=/dev/nfs rw nfsroot=192.168.1.2:/db820c/rootfs,v3,tcp rootwait ip=dhcp consoleblank=0 console=tty0 console=ttyMSM0,115200n8 earlyprintk earlycon=msm_serial_dm,0x75b0000 androidboot.bootdevice=624000.ufshc androidboot.verifiedbootstate=orange androidboot.ver0
2774b684a6bSJorge Ramirez-Ortiz
2784b684a6bSJorge Ramirez-OrtizRetrieving file: /apq8096-db820c.dtb
2794b684a6bSJorge Ramirez-Ortiz38134 bytes read in 37 ms (1005.9 KiB/s)
2804b684a6bSJorge Ramirez-Ortiz
2814b684a6bSJorge Ramirez-Ortiz## Booting kernel from Legacy Image at 95000000 ...
2824b684a6bSJorge Ramirez-Ortiz   Image Name:   Dragonboard820c
2834b684a6bSJorge Ramirez-Ortiz   Image Type:   AArch64 Linux Kernel Image (uncompressed)
2844b684a6bSJorge Ramirez-Ortiz   Data Size:    19397120 Bytes = 18.5 MiB
2854b684a6bSJorge Ramirez-Ortiz   Load Address: 80080000
2864b684a6bSJorge Ramirez-Ortiz   Entry Point:  80080000
2874b684a6bSJorge Ramirez-Ortiz   Verifying Checksum ... OK
2884b684a6bSJorge Ramirez-Ortiz## Flattened Device Tree blob at 93000000
2894b684a6bSJorge Ramirez-Ortiz   Booting using the fdt blob at 0x93000000
2904b684a6bSJorge Ramirez-Ortiz   Loading Kernel Image ... OK
2914b684a6bSJorge Ramirez-Ortiz   Using Device Tree in place at 0000000093000000, end 000000009300c4f5
2924b684a6bSJorge Ramirez-Ortiz
2934b684a6bSJorge Ramirez-OrtizStarting kernel ...
2944b684a6bSJorge Ramirez-Ortiz
2954b684a6bSJorge Ramirez-Ortiz[    0.000000] Booting Linux on physical CPU 0x0
2964b684a6bSJorge Ramirez-Ortiz[    0.000000] Linux version 4.11.3-30039-g5a922a1 (jramirez@igloo) (gcc version 6.3.1 20170404 (Linaro GCC 6.3-2017.05) ) #1 SMP PREEMPT Wed Oct 18 10:21:11 CEST 2017
2974b684a6bSJorge Ramirez-Ortiz[    0.000000] Boot CPU: AArch64 Processor [511f2112]
2984b684a6bSJorge Ramirez-Ortiz[    0.000000] earlycon: msm_serial_dm0 at MMIO 0x00000000075b0000 (options '')
2994b684a6bSJorge Ramirez-Ortiz[    0.000000] bootconsole [msm_serial_dm0] enabled
3004b684a6bSJorge Ramirez-Ortiz[    0.000000] efi: Getting EFI parameters from FDT:
3014b684a6bSJorge Ramirez-Ortiz[    0.000000] efi: UEFI not found.
3024b684a6bSJorge Ramirez-Ortiz[    0.000000] OF: reserved mem: OVERLAP DETECTED!
3034b684a6bSJorge Ramirez-Ortiz[    0.000000] adsp@8ea00000 (0x000000008ea00000--0x0000000090400000) overlaps with gpu@8f200000 (0x000000008f200000--0x000000008f300000)
3044b684a6bSJorge Ramirez-Ortiz[    0.000000] Reserved memory: created DMA memory pool at 0x000000008f200000, size 1 MiB
3054b684a6bSJorge Ramirez-Ortiz[    0.000000] OF: reserved mem: initialized node gpu@8f200000, compatible id shared-dma-pool
3064b684a6bSJorge Ramirez-Ortiz[    0.000000] Reserved memory: created DMA memory pool at 0x0000000090400000, size 8 MiB
3074b684a6bSJorge Ramirez-Ortiz[    0.000000] OF: reserved mem: initialized node venus@90400000, compatible id shared-dma-pool
3084b684a6bSJorge Ramirez-Ortiz[    0.000000] cma: Reserved 128 MiB at 0x00000000b8000000
3094b684a6bSJorge Ramirez-Ortiz[    0.000000] NUMA: No NUMA configuration found
3104b684a6bSJorge Ramirez-Ortiz[    0.000000] NUMA: Faking a node at [mem 0x0000000000000000-0x00000000bfffffff]
3114b684a6bSJorge Ramirez-Ortiz[    0.000000] NUMA: Adding memblock [0x80000000 - 0x857fffff] on node 0
3124b684a6bSJorge Ramirez-Ortiz[    0.000000] NUMA: Adding memblock [0x91800000 - 0xbfffffff] on node 0
3134b684a6bSJorge Ramirez-Ortiz[    0.000000] NUMA: Initmem setup node 0 [mem 0x80000000-0xbfffffff]
3144b684a6bSJorge Ramirez-Ortiz[    0.000000] NUMA: NODE_DATA [mem 0xb7fb6680-0xb7fb817f]
3154b684a6bSJorge Ramirez-Ortiz[    0.000000] Zone ranges:
3164b684a6bSJorge Ramirez-Ortiz[    0.000000]   DMA      [mem 0x0000000080000000-0x00000000bfffffff]
3174b684a6bSJorge Ramirez-Ortiz[    0.000000]   Normal   empty
3184b684a6bSJorge Ramirez-Ortiz[    0.000000] Movable zone start for each node
3194b684a6bSJorge Ramirez-Ortiz[    0.000000] Early memory node ranges
3204b684a6bSJorge Ramirez-Ortiz[    0.000000]   node   0: [mem 0x0000000080000000-0x00000000857fffff]
3214b684a6bSJorge Ramirez-Ortiz[    0.000000]   node   0: [mem 0x0000000091800000-0x00000000bfffffff]
3224b684a6bSJorge Ramirez-Ortiz[    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000bfffffff]
3234b684a6bSJorge Ramirez-Ortiz[    0.000000] psci: probing for conduit method from DT.
3244b684a6bSJorge Ramirez-Ortiz[    0.000000] psci: PSCIv1.0 detected in firmware.
3254b684a6bSJorge Ramirez-Ortiz[    0.000000] psci: Using standard PSCI v0.2 function IDs
3264b684a6bSJorge Ramirez-Ortiz[    0.000000] psci: MIGRATE_INFO_TYPE not supported.
3274b684a6bSJorge Ramirez-Ortiz[    0.000000] percpu: Embedded 23 pages/cpu @ffff8000de9a3000 s57240 r8192 d28776 u94208
3284b684a6bSJorge Ramirez-Ortiz[    0.000000] pcpu-alloc: s57240 r8192 d28776 u94208 alloc=23*4096
3294b684a6bSJorge Ramirez-Ortiz[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3
3304b684a6bSJorge Ramirez-Ortiz[    0.000000] Detected PIPT I-cache on CPU0
3314b684a6bSJorge Ramirez-Ortiz[    0.000000] Built 1 zonelists in Node order, mobility grouping on.  Total pages: 720293
3324b684a6bSJorge Ramirez-Ortiz[    0.000000] Policy zone: Normal
3334b684a6bSJorge Ramirez-Ortiz[    0.000000] Kernel command line: root=/dev/nfs rw nfsroot=192.168.1.2:/db820c/rootfs,v3,tcp rootwait ip=dhcp consoleblank=0
3344b684a6bSJorge Ramirez-Ortizconsole=tty0 console=ttyMSM0,115200n8 earlyprintk earlycon=msm_serial_dm,0x75b0000 androidboot.bootdevice=624000.ufshc androidboot.verifiedbootstate=orange a
3354b684a6bSJorge Ramirez-Ortizndroidboot.ver0
3364b684a6bSJorge Ramirez-Ortiz[    0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
3374b684a6bSJorge Ramirez-Ortiz[    0.000000] software IO TLB [mem 0xd3fff000-0xd7fff000] (64MB) mapped at [ffff800053fff000-ffff800057ffefff]
3384b684a6bSJorge Ramirez-Ortiz[    0.000000] Memory: 2644172K/2926908K available (11196K kernel code, 1470K rwdata, 5132K rodata, 1088K init, 449K bss, 151664K reserved, 131072K cma-reser
3394b684a6bSJorge Ramirez-Ortizved)
3404b684a6bSJorge Ramirez-Ortiz[    0.000000] Virtual kernel memory layout:
3414b684a6bSJorge Ramirez-Ortiz[    0.000000]     modules : 0xffff000000000000 - 0xffff000008000000   (   128 MB)
3424b684a6bSJorge Ramirez-Ortiz[    0.000000]     vmalloc : 0xffff000008000000 - 0xffff7dffbfff0000   (129022 GB)
3434b684a6bSJorge Ramirez-Ortiz[    0.000000]       .text : 0xffff000008080000 - 0xffff000008b70000   ( 11200 KB)
3444b684a6bSJorge Ramirez-Ortiz[    0.000000]     .rodata : 0xffff000008b70000 - 0xffff000009080000   (  5184 KB)
3454b684a6bSJorge Ramirez-Ortiz[    0.000000]       .init : 0xffff000009080000 - 0xffff000009190000   (  1088 KB)
3464b684a6bSJorge Ramirez-Ortiz[    0.000000]       .data : 0xffff000009190000 - 0xffff0000092ffa00   (  1471 KB)
3474b684a6bSJorge Ramirez-Ortiz[    0.000000]        .bss : 0xffff0000092ffa00 - 0xffff00000937014c   (   450 KB)
3484b684a6bSJorge Ramirez-Ortiz[    0.000000]     fixed   : 0xffff7dfffe7fd000 - 0xffff7dfffec00000   (  4108 KB)
3494b684a6bSJorge Ramirez-Ortiz[    0.000000]     PCI I/O : 0xffff7dfffee00000 - 0xffff7dffffe00000   (    16 MB)
3504b684a6bSJorge Ramirez-Ortiz[    0.000000]     vmemmap : 0xffff7e0000000000 - 0xffff800000000000   (  2048 GB maximum)
3514b684a6bSJorge Ramirez-Ortiz[    0.000000]               0xffff7e0000000000 - 0xffff7e00037a93c0   (    55 MB actual)
3524b684a6bSJorge Ramirez-Ortiz[    0.000000]     memory  : 0xffff800000000000 - 0xffff8000dea4f000   (  3562 MB)
3534b684a6bSJorge Ramirez-Ortiz[    0.000000] SLUB: HWalign=128, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
3544b684a6bSJorge Ramirez-Ortiz[    0.000000] Preemptible hierarchical RCU implementation.
3554b684a6bSJorge Ramirez-Ortiz[    0.000000]  Build-time adjustment of leaf fanout to 64.
3564b684a6bSJorge Ramirez-Ortiz[    0.000000]  RCU restricting CPUs from NR_CPUS=64 to nr_cpu_ids=4.
3574b684a6bSJorge Ramirez-Ortiz[    0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=64, nr_cpu_ids=4
3584b684a6bSJorge Ramirez-Ortiz[    0.000000] NR_IRQS:64 nr_irqs:64 0
3594b684a6bSJorge Ramirez-Ortiz[    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000009c00000
3604b684a6bSJorge Ramirez-Ortiz[    0.000000] GICv2m: range[mem 0x09bd0000-0x09bd0fff], SPI[544:639]
3614b684a6bSJorge Ramirez-Ortiz[    0.000000] arm_arch_timer: Architected cp15 and mmio timer(s) running at 19.20MHz (virt/virt).
3624b684a6bSJorge Ramirez-Ortiz[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x46d987e47, max_idle_ns: 440795202767 ns
3634b684a6bSJorge Ramirez-Ortiz[    0.000002] sched_clock: 56 bits at 19MHz, resolution 52ns, wraps every 4398046511078ns
3644b684a6bSJorge Ramirez-Ortiz
3654b684a6bSJorge Ramirez-Ortiz[....]
3664b684a6bSJorge Ramirez-Ortiz
3674b684a6bSJorge Ramirez-Ortiz
3684b684a6bSJorge Ramirez-OrtizSome kernel information:
3694b684a6bSJorge Ramirez-Ortiz
3704b684a6bSJorge Ramirez-Ortizroot@linaro-developer:~# cat /proc/cpuinfo
3714b684a6bSJorge Ramirez-Ortizprocessor       : 0
3724b684a6bSJorge Ramirez-OrtizBogoMIPS        : 38.40
3734b684a6bSJorge Ramirez-OrtizFeatures        : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
3744b684a6bSJorge Ramirez-OrtizCPU implementer : 0x51
3754b684a6bSJorge Ramirez-OrtizCPU architecture: 8
3764b684a6bSJorge Ramirez-OrtizCPU variant     : 0x1
3774b684a6bSJorge Ramirez-OrtizCPU part        : 0x211
3784b684a6bSJorge Ramirez-OrtizCPU revision    : 2
3794b684a6bSJorge Ramirez-Ortiz
3804b684a6bSJorge Ramirez-Ortizprocessor       : 1
3814b684a6bSJorge Ramirez-OrtizBogoMIPS        : 38.40
3824b684a6bSJorge Ramirez-OrtizFeatures        : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
3834b684a6bSJorge Ramirez-OrtizCPU implementer : 0x51
3844b684a6bSJorge Ramirez-OrtizCPU architecture: 8
3854b684a6bSJorge Ramirez-OrtizCPU variant     : 0x1
3864b684a6bSJorge Ramirez-OrtizCPU part        : 0x211
3874b684a6bSJorge Ramirez-OrtizCPU revision    : 2
3884b684a6bSJorge Ramirez-Ortiz
3894b684a6bSJorge Ramirez-Ortizprocessor       : 2
3904b684a6bSJorge Ramirez-OrtizBogoMIPS        : 38.40
3914b684a6bSJorge Ramirez-OrtizFeatures        : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
3924b684a6bSJorge Ramirez-OrtizCPU implementer : 0x51
3934b684a6bSJorge Ramirez-OrtizCPU architecture: 8
3944b684a6bSJorge Ramirez-OrtizCPU variant     : 0x1
3954b684a6bSJorge Ramirez-OrtizCPU part        : 0x205
3964b684a6bSJorge Ramirez-OrtizCPU revision    : 2
3974b684a6bSJorge Ramirez-Ortiz
3984b684a6bSJorge Ramirez-Ortizprocessor       : 3
3994b684a6bSJorge Ramirez-OrtizBogoMIPS        : 38.40
4004b684a6bSJorge Ramirez-OrtizFeatures        : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
4014b684a6bSJorge Ramirez-OrtizCPU implementer : 0x51
4024b684a6bSJorge Ramirez-OrtizCPU architecture: 8
4034b684a6bSJorge Ramirez-OrtizCPU variant     : 0x1
4044b684a6bSJorge Ramirez-OrtizCPU part        : 0x205
4054b684a6bSJorge Ramirez-OrtizCPU revision    : 2
4064b684a6bSJorge Ramirez-Ortiz
4074b684a6bSJorge Ramirez-Ortizroot@linaro-developer:~# uname -a
4084b684a6bSJorge Ramirez-OrtizLinux linaro-developer 4.11.3-30039-g5a922a1 #1 SMP PREEMPT Wed Oct 18 10:21:11 CEST 2017 aarch64 GNU/Linux
4094b684a6bSJorge Ramirez-Ortiz
4104b684a6bSJorge Ramirez-Ortizroot@linaro-developer:~# cat /proc/cmdline
4114b684a6bSJorge Ramirez-Ortizroot=/dev/nfs rw nfsroot=192.168.1.2:/db820c/rootfs,v3,tcp rootwait ip=dhcp consoleblank=0 console=tty0 console=ttyMSM0,115200n8 earlyprintk earlycon=msm_serial_dm,0x75b0000 androidboot.bootdevice=624000.ufshc androidboot.verifiedbootstate=orange androidboot.ver0
4124b684a6bSJorge Ramirez-Ortiz
4134b684a6bSJorge Ramirez-Ortizroot@linaro-developer:~# cat /proc/meminfo
4144b684a6bSJorge Ramirez-OrtizMemTotal:        2776332 kB
4154b684a6bSJorge Ramirez-OrtizMemFree:         2593696 kB
4164b684a6bSJorge Ramirez-OrtizMemAvailable:    2561432 kB
4174b684a6bSJorge Ramirez-OrtizBuffers:               0 kB
4184b684a6bSJorge Ramirez-OrtizCached:            94744 kB
4194b684a6bSJorge Ramirez-OrtizSwapCached:            0 kB
4204b684a6bSJorge Ramirez-OrtizActive:            43888 kB
4214b684a6bSJorge Ramirez-OrtizInactive:          72972 kB
4224b684a6bSJorge Ramirez-OrtizActive(anon):      22968 kB
4234b684a6bSJorge Ramirez-OrtizInactive(anon):    24616 kB
4244b684a6bSJorge Ramirez-OrtizActive(file):      20920 kB
4254b684a6bSJorge Ramirez-OrtizInactive(file):    48356 kB
4264b684a6bSJorge Ramirez-OrtizUnevictable:           0 kB
4274b684a6bSJorge Ramirez-OrtizMlocked:               0 kB
4284b684a6bSJorge Ramirez-OrtizSwapTotal:             0 kB
4294b684a6bSJorge Ramirez-OrtizSwapFree:              0 kB
4304b684a6bSJorge Ramirez-OrtizDirty:                 0 kB
4314b684a6bSJorge Ramirez-OrtizWriteback:             0 kB
4324b684a6bSJorge Ramirez-OrtizAnonPages:         22120 kB
4334b684a6bSJorge Ramirez-OrtizMapped:            29284 kB
4344b684a6bSJorge Ramirez-OrtizShmem:             25468 kB
4354b684a6bSJorge Ramirez-OrtizSlab:              32876 kB
4364b684a6bSJorge Ramirez-OrtizSReclaimable:      12924 kB
4374b684a6bSJorge Ramirez-OrtizSUnreclaim:        19952 kB
4384b684a6bSJorge Ramirez-OrtizKernelStack:        2144 kB
4394b684a6bSJorge Ramirez-OrtizPageTables:          928 kB
4404b684a6bSJorge Ramirez-OrtizNFS_Unstable:          0 kB
4414b684a6bSJorge Ramirez-OrtizBounce:                0 kB
4424b684a6bSJorge Ramirez-OrtizWritebackTmp:          0 kB
4434b684a6bSJorge Ramirez-OrtizCommitLimit:     1388164 kB
4444b684a6bSJorge Ramirez-OrtizCommitted_AS:     204192 kB
4454b684a6bSJorge Ramirez-OrtizVmallocTotal:   135290290112 kB
4464b684a6bSJorge Ramirez-OrtizVmallocUsed:           0 kB
4474b684a6bSJorge Ramirez-OrtizVmallocChunk:          0 kB
4484b684a6bSJorge Ramirez-OrtizAnonHugePages:      2048 kB
4494b684a6bSJorge Ramirez-OrtizShmemHugePages:        0 kB
4504b684a6bSJorge Ramirez-OrtizShmemPmdMapped:        0 kB
4514b684a6bSJorge Ramirez-OrtizCmaTotal:         131072 kB
4524b684a6bSJorge Ramirez-OrtizCmaFree:          130356 kB
4534b684a6bSJorge Ramirez-OrtizHugePages_Total:       0
4544b684a6bSJorge Ramirez-OrtizHugePages_Free:        0
4554b684a6bSJorge Ramirez-OrtizHugePages_Rsvd:        0
4564b684a6bSJorge Ramirez-OrtizHugePages_Surp:        0
4574b684a6bSJorge Ramirez-OrtizHugepagesize:       2048 kB
458