Debugging the Linux kernel via JTAG on the NVIDIA Jetson TK1 / Jetson Pro DevKit

NVIDIA Jetson TK1 development kit

NVIDIA Jetson TK1 development kit

While it might not be possible to debug the Tegra K1 SOC in those development kits using cheaper debugging hardware or OpenOCD, it is possible using a TRACE32-ICD (In-Circuit Debugger) and the TRACE32-PowerView software from Lauterbach.

The Hardeware

I’m using a LA-7708 DEBUG-USB2 along with a LA-7843 JTAG CORTEX-A/R adapter connected to either the Jetson TK1 or Jetson Pro development kit.

LA-7708 DEBUG-USB2 connected to Jetson TK1

LA-7708 DEBUG-USB2 connected to Jetson TK1

LA-7708 DEBUG-USB2 connected to Jetson Pro

LA-7708 DEBUG-USB2 connected to Jetson Pro

Setting up the development environment

Installing the TRACE32 software

On the TRACE32 installation DVD you will find a Windows and a Linux version of TRACE32-PowerView and you can use both of them to debug the Linux kernel on the target. In this guide I will use the Linux version.

TRACE32 installation DVD

TRACE32 installation DVD

Insert the TRACE32 Installation DVD into your DVD drive and copy the installation files from the DVD to /opt/t32/:

tux@vbox:~$ sudo mkdir /opt/t32
tux@vbox:~$ sudo cp -r /media/TRACE32_201409/files/* /opt/t32
tux@vbox:~$ cd /opt/t32/
tux@vbox:/opt/t32$ sudo chown -R tux:tux /opt/t32/
tux@vbox:/opt/t32$ sudo chmod -R u+w /opt/t32/
tux@vbox:/opt/t32$ cp bin/pc_linux64/config.t32 .
tux@vbox:/opt/t32$ vim config.t32
Edit the file and remove the comments in front of:
PBI=
USB
tux@vbox:/opt/t32$ cd /opt/t32/bin/pc_linux64/
tux@vbox:/opt/t32/bin/pc_linux64$ gzip -d t32m*.gz
tux@vbox:~$ cd /opt/t32/bin/pc_linux64/udev.conf/kernel_starting_2.6.32
tux@vbox:/opt/.../kernel_starting_2.6.32$ sudo cp 10-lauterbach.rules /etc/udev/rules.d/
tux@vbox:/opt/.../kernel_starting_2.6.32$ sudo reboot

Finally run t32marm-qt:

tux@vbox:~$ cd /opt/t32/
tux@vbox:/opt/t32$ export T32SYS=/opt/t32
tux@vbox:/opt/t32$ export T32TMP=/tmp
tux@vbox:/opt/t32$ export T32ID=T32
tux@vbox:/opt/t32$ export PATH=$PATH:/opt/t32/bin/pc_linux64
tux@vbox:/opt/t32$ t32usbchecker
Lauterbach TRACE32 'Simple USB Checker' R.2014.09.000058270
Scanning '/dev/lauterbach/trace32/1-1'...OK
- NodeName: '[not set]'
- SerialNo: '[not set]'
Testing '/dev/lauterbach/trace32/1-1'...
- Basic communication...CONNECT request OK
- TRACE32 PodBus/USB device reset (try 1)... : read 0 bytes
- TRACE32 PodBus/USB device reset (try 2)... : read 9 bytes OK
USB communication OK.
tux@vbox:/opt/t32$ t32marm-qt
TRACE32-PowerView for ARM on Linux

TRACE32-PowerView for ARM on Linux

Flashing the Jetson TK1 with the latest L4T release

Basic steps:

tux@vbox:~/TK1$ wget http://developer.download.nvidia.com/embedded/L4T/r21_Release_v3.0/Tegra124_Linux_R21.3.0_armhf.tbz2
tux@vbox:~/TK1$ wget http://developer.download.nvidia.com/embedded/L4T/r21_Release_v3.0/Tegra_Linux_Sample-Root-Filesystem_R21.3.0_armhf.tbz2
tux@vbox:~/TK1$ wget http://developer.download.nvidia.com/embedded/L4T/r21_Release_v3.0/sources/kernel_src.tbz2
tux@vbox:~/TK1$ wget http://developer.download.nvidia.com/embedded/L4T/r21_Release_v3.0/l4t_quick_start_guide.txt
tux@vbox:~/TK1$ wget https://launchpad.net/gcc-arm-embedded/4.8/4.8-2014-q3-update/+download/gcc-arm-none-eabi-4_8-2014q3-20140805-linux.tar.bz2
tux@vbox:~/TK1$ ls
gcc-arm-none-eabi-4_8-2014q3-20140805-linux.tar.bz2  README.txt                                          Tegra_Linux_Sample-Root-Filesystem_R21.3.0_armhf.tbz2
kernel_src.tbz2                                      Tegra124_Linux_R21.3.0_armhf.tbz2                   Tegra_Software_License_Agreement-Tegra-Linux.txt
L4T_Jetson_TK1_Multimedia_User_Guide_V2.1.pdf        Tegra_Linux_Driver_Package_Documents_R21.3.tar
l4t_quick_start_guide.txt                            Tegra_Linux_Driver_Package_Release_Notes_R21.3.pdf
tux@vbox:~/TK1$ tar -xf gcc-arm-none-eabi-4_8-2014q3-20140805-linux.tar.bz2
tux@vbox:~/TK1$ export PATH=$PATH:$PWD/gcc-arm-none-eabi-4_8-2014q3/bin
tux@vbox:~/TK1$ echo $PATH
/home/tux/bin:/usr/lib/x86_64-linux-gnu/qt4/bin:/home/tux/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/t32/bin/pc_linux64:/home/tux/TK1/gcc-arm-none-eabi-4_8-2014q3/bin
tux@vbox:~/TK1$ sudo tar xpf Tegra124_Linux_R21.3.0_armhf.tbz2
[sudo] password for tux:
tux@vbox:~/TK1$ cd Linux_for_Tegra/rootfs/
tux@vbox:~/TK1/Linux_for_Tegra/rootfs$ sudo tar xpf ../../Tegra_Linux_Sample-Root-Filesystem_R21.3.0_armhf.tbz2
tux@vbox:~/TK1/Linux_for_Tegra/rootfs$ cd ../
tux@vbox:~/TK1/Linux_for_Tegra$ sudo ./apply_binaries.sh
tux@vbox:~/TK1/Linux_for_Tegra$ sudo ./flash.sh jetson-tk1 mmcblk0p1
...
RCM communication completed
BCT sent successfully
sending file: tegra124-jetson_tk1-pm375-000-c00-00.dtb
- 57167/57167 bytes sent
tegra124-jetson_tk1-pm375-000-c00-00.dtb sent successfully
odm data: 0x6009c000
downloading bootloader -- load address: 0x83d88000 entry point: 0x83d88000
sending file: fastboot.bin
- 594363/594363 bytes sent
fastboot.bin sent successfully
waiting for bootloader to initialize
bootloader downloaded successfully
ML execution and Cpu Handover took 2 Secs
Partition backup took 0 Secs
setting device: 2 3
deleting device partitions
creating partition: BCT
creating partition: PPT
creating partition: PT
creating partition: EBT
creating partition: LNX
creating partition: SOS
creating partition: NVC
creating partition: MPB
creating partition: MBP
creating partition: GP1
creating partition: APP
creating partition: DTB
creating partition: EFI
creating partition: USP
creating partition: TP1
creating partition: TP2
creating partition: TP3
creating partition: WB0
creating partition: UDA
creating partition: GPT
sending file: ppt.img
\ 2097152/2097152 bytes sent
ppt.img sent successfully
padded 8 bytes to bootloader
sending file: u-boot.bin
- 439872/439872 bytes sent
u-boot.bin sent successfully
sending file: system.img
/ 2369098540/2369098540 bytes sent
system.img sent successfully
sending file: tegra124-jetson_tk1-pm375-000-c00-00.dtb
- 57167/57167 bytes sent
tegra124-jetson_tk1-pm375-000-c00-00.dtb sent successfully
sending file: gpt.img
\ 2097152/2097152 bytes sent
gpt.img sent successfully
Create, format and download  took 1309 Secs
Time taken for flashing 1311 Secs
*** The target ardbeg has been flashed successfully. ***
Reset the board to boot from internal eMMC.

Now press the reset button and the board should boot with the latest release.

Building a Linux kernel for the TK1

First boot the default kernel and save the kernel configuration:

ubuntu@tegra-ubuntu:~$ uname -a
Linux tegra-ubuntu 3.10.40-gc017b03 #1 SMP PREEMPT Mon Feb 2 17:50:48 PST 2015 armv7l armv7l armv7l GNU/Linux
ubuntu@tegra-ubuntu:~$ zcat /proc/config.gz >default.config

And copy it to the host:

tux@vbox:~/TK1$ scp ubuntu@10.42.0.26:/home/ubuntu/default.config .
 ubuntu@10.42.0.26's password:
 default.config                            100%  114KB 114.4KB/s   00:00
tux@vbox:~/TK1$

When we extract the kernel configuration from the kernel_headers.tbz2 archive, we will see that both are identical:

tux@vbox:~/TK1$ tar -xvf Linux_for_Tegra/kernel/kernel_headers.tbz2 linux-headers-3.10.40-gc017b03/.config
linux-headers-3.10.40-gc017b03/.config
tux@vbox:~/TK1$ diff default.config linux-headers-3.10.40-gc017b03/.config
tux@vbox:~/TK1$

Now let’s build a new kernel. I’m using my current development snapshot from GitHub, but you can as well use the unmodified L4T kernel: http://developer.download.nvidia.com/embedded/L4T/r21_Release_v3.0/sources/kernel_src.tbz2.

Basic steps:

tux@vbox:~/TK1$ git clone https://github.com/christianjann/L4T_PREEMPT_RT.git
tux@vbox:~/TK1$ cd L4T_PREEMPT_RT
tux@vbox:~/TK1/L4T_PREEMPT_RT$ export ARCH=arm
tux@vbox:~/TK1/L4T_PREEMPT_RT$ export CROSS_COMPILE=arm-none-eabi-
tux@vbox:~/TK1/L4T_PREEMPT_RT$ make clean
tux@vbox:~/TK1/L4T_PREEMPT_RT$ make tegra12_defconfig
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/conf.o
  HOSTCC  scripts/kconfig/zconf.tab.o
  HOSTLD  scripts/kconfig/conf
arch/arm/configs/tegra12_defconfig:571:warning: override: reassigning to symbol TEGRA_WATCHDOG
#
# configuration written to .config
#
tux@vbox:~/TK1/L4T_PREEMPT_RT$ #cp ../linux-headers-3.10.40-gc017b03/.config .config
tux@vbox:~/TK1/L4T_PREEMPT_RT$ make menuconfig
Kernel Features  --->
  Preemption Model (No Forced Preemption (Server))  --->
    (X) Fully Preemptible Kernel (RT)
  Preemption Model (Fully Preemptible Kernel (RT))  --->
tux@vbox:~/TK1/L4T_PREEMPT_RT$ make -j5
...
  LD      vmlinux
  SORTEX  vmlinux
  SYSMAP  System.map
  OBJCOPY arch/arm/boot/Image
  Building modules, stage 2.
  Kernel: arch/arm/boot/Image is ready
  MODPOST 54 modules
  AS      arch/arm/boot/compressed/head.o
  GZIP    arch/arm/boot/compressed/piggy.gzip
  CC      arch/arm/boot/compressed/misc.o
  CC      arch/arm/boot/compressed/decompress.o
  CC      arch/arm/boot/compressed/string.o
  SHIPPED arch/arm/boot/compressed/hyp-stub.S
  SHIPPED arch/arm/boot/compressed/lib1funcs.S
  SHIPPED arch/arm/boot/compressed/ashldi3.S
  AS      arch/arm/boot/compressed/hyp-stub.o
  AS      arch/arm/boot/compressed/lib1funcs.o
  AS      arch/arm/boot/compressed/ashldi3.o
  AS      arch/arm/boot/compressed/piggy.gzip.o
  LD      arch/arm/boot/compressed/vmlinux
  OBJCOPY arch/arm/boot/zImage
  Kernel: arch/arm/boot/zImage is ready
  CC      crypto/md4.mod.o
 ...
  LD [M]  net/rfkill/rfkill.ko
  LD [M]  net/wireless/cfg80211.ko
tux@vbox:~/TK1/L4T_PREEMPT_RT$

On the board, allow root logins and restart the ssh server:

ubuntu@tegra-ubuntu:~$ sudo vim /etc/ssh/sshd_config
  PermitRootLogin yes

ubuntu@tegra-ubuntu:~$ sudo service ssh restart
ssh stop/waiting
ssh start/running, process 1348
ubuntu@tegra-ubuntu:~$

ubuntu@tegra-ubuntu:~$ sudo passwd root
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
ubuntu@tegra-ubuntu:~$ ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:04:4b:25:cb:f0
          inet addr:10.42.0.26  Bcast:10.42.0.255  Mask:255.255.255.0
          inet6 addr: fe80::204:4bff:fe25:cbf0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:97 errors:0 dropped:0 overruns:0 frame:0
          TX packets:173 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:12598 (12.5 KB)  TX bytes:19498 (19.4 KB)

ubuntu@tegra-ubuntu:~$ ping google.de
PING google.de (173.194.112.95) 56(84) bytes of data.
64 bytes from fra07s29-in-f31.1e100.net (173.194.112.95): icmp_seq=1 ttl=49 time=22.0 ms
^C
--- google.de ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 22.072/22.072/22.072/0.000 ms
ubuntu@tegra-ubuntu:~$

Try to connect from the host:

tux@vbox:~/TK1/L4T_PREEMPT_RT$ ssh root@10.42.0.26
The authenticity of host '10.42.0.26 (10.42.0.26)' can't be established.
ECDSA key fingerprint is 70:37:dd:30:e0:3c:3b:51:fd:01:cf:3e:84:5a:a2:f0.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.42.0.26' (ECDSA) to the list of known hosts.
root@10.42.0.26's password:
Welcome to Ubuntu 14.04.1 LTS (GNU/Linux 3.10.40-gc017b03 armv7l)

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

0 packages can be updated.
0 updates are security updates.


The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

root@tegra-ubuntu:~#

Copy the kernel image to the board:

tux@vbox:~/TK1/L4T_PREEMPT_RT$ scp arch/arm/boot/zImage root@10.42.0.26:/boot/zImage_RT
root@10.42.0.26's password:
zImage                                                                                                                                                       100% 5919KB   5.8MB/s   00:00
tux@vbox:~/TK1/L4T_PREEMPT_RT$

Install the kernel modules:

tux@vbox:~/TK1/L4T_PREEMPT_RT$ mkdir modules_install
tux@vbox:~/TK1/L4T_PREEMPT_RT$ make INSTALL_MOD_PATH=./modules_install modules_install
  INSTALL crypto/md4.ko
  INSTALL crypto/sha256_generic.ko
  INSTALL crypto/tcrypt.ko
  INSTALL crypto/twofish_common.ko
  INSTALL crypto/twofish_generic.ko
  INSTALL drivers/bluetooth/btusb.ko
  INSTALL drivers/input/joydev.ko
  INSTALL drivers/input/joystick/xpad.ko
  INSTALL drivers/md/dm-crypt.ko
  INSTALL drivers/md/dm-mod.ko
  INSTALL drivers/media/platform/soc_camera/soc_camera_platform.ko
  INSTALL drivers/media/platform/soc_camera/tegra_camera/tegra_camera.ko
  INSTALL drivers/media/usb/gspca/gspca_main.ko
  INSTALL drivers/media/v4l2-core/videobuf2-dma-contig.ko
  INSTALL drivers/misc/hwlat_detector.ko
  INSTALL drivers/net/ppp/bsd_comp.ko
  INSTALL drivers/net/ppp/ppp_async.ko
  INSTALL drivers/net/ppp/ppp_deflate.ko
  INSTALL drivers/net/ppp/ppp_generic.ko
  INSTALL drivers/net/ppp/ppp_mppe.ko
  INSTALL drivers/net/ppp/ppp_synctty.ko
  INSTALL drivers/net/ppp/pppolac.ko
  INSTALL drivers/net/ppp/pppopns.ko
  INSTALL drivers/net/ppp/pppox.ko
  INSTALL drivers/net/slip/slhc.ko
  INSTALL drivers/net/usb/raw_ip_net.ko
  INSTALL drivers/net/wireless/iwlwifi/dvm/iwldvm.ko
  INSTALL drivers/net/wireless/iwlwifi/iwlwifi.ko
  INSTALL drivers/net/wireless/iwlwifi/mvm/iwlmvm.ko
  INSTALL drivers/net/wireless/rtlwifi/rtl8188ee/rtl8188ee.ko
  INSTALL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common.ko
  INSTALL drivers/net/wireless/rtlwifi/rtl8192ce/rtl8192ce.ko
  INSTALL drivers/net/wireless/rtlwifi/rtl8192cu/rtl8192cu.ko
  INSTALL drivers/net/wireless/rtlwifi/rtl8192de/rtl8192de.ko
  INSTALL drivers/net/wireless/rtlwifi/rtl8192se/rtl8192se.ko
  INSTALL drivers/net/wireless/rtlwifi/rtl8723ae/rtl8723ae.ko
  INSTALL drivers/net/wireless/rtlwifi/rtlwifi.ko
  INSTALL drivers/usb/class/cdc-acm.ko
  INSTALL drivers/usb/class/cdc-wdm.ko
  INSTALL drivers/usb/gadget/g_ether.ko
  INSTALL drivers/usb/gadget/g_mass_storage.ko
  INSTALL drivers/usb/gadget/libcomposite.ko
  INSTALL drivers/usb/serial/baseband_usb_chr.ko
  INSTALL drivers/video/tegra/host/vi/nvhost-vi.ko
  INSTALL fs/cifs/cifs.ko
  INSTALL fs/configfs/configfs.ko
  INSTALL net/bluetooth/bluetooth.ko
  INSTALL net/bluetooth/bnep/bnep.ko
  INSTALL net/bluetooth/hidp/hidp.ko
  INSTALL net/bluetooth/rfcomm/rfcomm.ko
  INSTALL net/mac80211/mac80211.ko
  INSTALL net/rfkill/rfkill-gpio.ko
  INSTALL net/rfkill/rfkill.ko
  INSTALL net/wireless/cfg80211.ko
  DEPMOD  3.10.40-rt46-g7477c2b
tux@vbox:~/TK1/L4T_PREEMPT_RT$ rsync -av ./modules_install/ root@10.42.0.26:/
tux@vbox:~/TK1/L4T_PREEMPT_RT$ rm -rf ./modules_install

Edit the bootloader configuration and add a second menu entry for our new kernel:

tux@vbox:~/TK1/L4T_PREEMPT_RT$ ssh root@10.42.0.26
root@10.42.0.26's password:
Welcome to Ubuntu 14.04.1 LTS (GNU/Linux 3.10.40-gc017b03 armv7l)

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

343 packages can be updated.
136 updates are security updates.

Last login: Sat Jan  1 00:54:14 2000 from 10.42.0.1
root@tegra-ubuntu:~# vim /boot/extlinux/extlinux.conf
root@tegra-ubuntu:~# cat /boot/extlinux/extlinux.conf
TIMEOUT 30
DEFAULT primary

MENU TITLE Jetson-TK1 eMMC boot options

LABEL primary
      MENU LABEL primary kernel
      LINUX /boot/zImage
      FDT /boot/tegra124-jetson_tk1-pm375-000-c00-00.dtb
      APPEND console=ttyS0,115200n8 console=tty1 no_console_suspend=1 lp0_vec=2064@0xf46ff000 mem=2015M@2048M memtype=255 ddr_die=2048M@2048M section=256M pmuboard=0x0177:0x0000:0x02:0x43:0x00 tsec=32M@3913M otf_key=c75e5bb91eb3bd947560357b64422f85 usbcore.old_scheme_first=1 core_edp_mv=1150 core_edp_ma=4000 tegraid=40.1.1.0.0 debug_uartport=lsport,3 power_supply=Adapter audio_codec=rt5640 modem_id=0 android.kerneltype=normal fbcon=map:1 commchip_id=0 usb_port_owner_info=0 lane_owner_info=6 emc_max_dvfs=0 touch_id=0@0 board_info=0x0177:0x0000:0x02:0x43:0x00 root=/dev/mmcblk0p1 rw rootwait tegraboot=sdmmc gpt

LABEL secondary (PREEMPT_RT)
      MENU LABEL secondary (PREEMPT_RT)
      LINUX /boot/zImage_RT
      FDT /boot/tegra124-jetson_tk1-pm375-000-c00-00.dtb
      APPEND console=ttyS0,115200n8 console=tty1 no_console_suspend=1 lp0_vec=2064@0xf46ff000 mem=2015M@2048M memtype=255 ddr_die=2048M@2048M section=256M pmuboard=0x0177:0x0000:0x02:0x43:0x00 tsec=32M@3913M otf_key=c75e5bb91eb3bd947560357b64422f85 usbcore.old_scheme_first=1 core_edp_mv=1150 core_edp_ma=4000 tegraid=40.1.1.0.0 debug_uartport=lsport,3 power_supply=Adapter audio_codec=rt5640 modem_id=0 android.kerneltype=normal fbcon=map:1 commchip_id=0 usb_port_owner_info=0 lane_owner_info=6 emc_max_dvfs=0 touch_id=0@0 board_info=0x0177:0x0000:0x02:0x43:0x00 root=/dev/mmcblk0p1 rw rootwait tegraboot=sdmmc gpt


root@tegra-ubuntu:~$ sudo reboot

Broadcast message from ubuntu@tegra-ubuntu
        (/dev/ttyS0) at 1:31 ...

The system is going down for reboot NOW!
[ 2461.840909] vgaarb: this pci device is not a vga device
[ 2461.850807] vgaarb: this pci device is not a vga device
[ 2465.028472] Restarting system.
[ 2465.031748] Restarting Linux version 3.10.40-gc017b03 (buildbrain@mobile-u64-720) (gcc version 4.5.3 (crosstool-NG hg_unknown@20110628.165246) ) #1 SMP PREEMPT Mon Feb 2 17:505
[ 2465.031748]

Boot log with real time kernel:

U-Boot SPL 2014.10-rc2-00006-g565af3f (Feb 02 2015 - 17:46:25)


U-Boot 2014.10-rc2-00006-g565af3f (Feb 02 2015 - 17:46:25)

TEGRA124
Board: NVIDIA Jetson TK1
I2C:   ready
DRAM:  2 GiB
MMC:   Tegra SD/MMC: 0, Tegra SD/MMC: 1
*** Warning - bad CRC, using default environment

tegra-pcie: PCI regions:
tegra-pcie:   I/O: 0x12000000-0x12010000
tegra-pcie:   non-prefetchable memory: 0x13000000-0x20000000
tegra-pcie:   prefetchable memory: 0x20000000-0x40000000
tegra-pcie: 2x1, 1x1 configuration
tegra-pcie: probing port 0, using 2 lanes
tegra-pcie: link 0 down, retrying
tegra-pcie: link 0 down, retrying
tegra-pcie: link 0 down, retrying
tegra-pcie: link 0 down, ignoring
tegra-pcie: probing port 1, using 1 lanes
In:    serial
Out:   serial
Err:   serial
Net:   RTL8169#0
Warning: RTL8169#0 using MAC address from net device

Hit any key to stop autoboot:  0
MMC: no card present
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0...
Found /boot/extlinux/extlinux.conf
Retrieving file: /boot/extlinux/extlinux.conf
1585 bytes read in 266 ms (4.9 KiB/s)
Jetson-TK1 eMMC boot options
1:      primary kernel
2:      secondary (PREEMPT_RT)
Enter choice: 2
2:      secondary (PREEMPT_RT)
Retrieving file: /boot/zImage_RT
6064216 bytes read in 454 ms (12.7 MiB/s)
append: console=ttyS0,115200n8 console=tty1 no_console_suspend=1 lp0_vec=2064@0xf46ff000 mem=2015M@2048M memtype=255 ddr_die=2048M@2048M section=256M t
Retrieving file: /boot/tegra124-jetson_tk1-pm375-000-c00-00.dtb
57167 bytes read in 85 ms (656.3 KiB/s)
Kernel image @ 0x81000000 [ 0x000000 - 0x5c8858 ]
## Flattened Device Tree blob at 82000000
   Booting using the fdt blob at 0x82000000
   Using Device Tree in place at 82000000, end 82010f4e

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 3.10.40-rt46-g7477c2b (chris@thinkpad) (gcc version 4.8.4 20140725 (release) [ARM/embedded-4_8-branch revision 213147] (G5
[    0.000000] CPU: ARMv7 Processor [413fc0f3] revision 3 (ARMv7), cr=10c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
[    0.000000] Machine: jetson-tk1, model: NVIDIA Tegra124 PM375, serial: 0
[    0.000000] Truncating memory at 0x80000000 to fit in 32-bit physical address space
[    0.000000] Found tsec, start=0xf4900000 size=2000000
[    0.000000] Tegra reserved memory:
[    0.000000] LP0:                    f46ff000 - f46ff80f
[    0.000000] Bootloader framebuffer: 00000000 - 00000000
[    0.000000] Bootloader framebuffer2: 00000000 - 00000000
[    0.000000] Framebuffer:            f8500000 - f96fffff
[    0.000000] 2nd Framebuffer:        f9700000 - fdefffff
[    0.000000] Carveout:               00000000 - 00000000
[    0.000000] Vpr:                    00000000 - 00000000
[    0.000000] Tsec:                   f4900000 - f68fffff
[    0.000000] cma: CMA: reserved 16 MiB at ae800000
[    0.000000] Memory policy: ECC disabled, Data cache writealloc
[    0.000000] DTS File Name: /dvs/git/dirty/git-master_linux/kernel/arch/arm/boot/dts/tegra124-jetson_tk1-pm375-000-c00-00.dts
[    0.000000] Tegra12: CPU Speedo value 2387, Soc Speedo value 2335, Gpu Speedo value 2149
[    0.000000] Tegra12: CPU Speedo ID 1, Soc Speedo ID 1, Gpu Speedo ID 1
[    0.000000] Tegra12: CPU Process ID 1,Soc Process ID 1,Gpu Process ID 1
[    0.000000] Tegra Revision: A01 SKU: 0x81 CPU Process: 1 Core Process: 1
[    0.000000] tegra: PLLP fixed rate: 408000000
[    0.000000] tegra_clk_shared_bus_user_init: c2bus client se left ON
[    0.000000] tegra_clk_shared_bus_user_init: c4bus client vi left ON
[    0.000000] Lowering cpu_lp maximum rate from 1350000000 to 1092000000
[    0.000000] Lowering sbus maximum rate from 420000000 to 384000000
[    0.000000] Lowering vic03 maximum rate from 900000000 to 828000000
[    0.000000] Lowering tsec maximum rate from 900000000 to 828000000
[    0.000000] Lowering msenc maximum rate from 600000000 to 528000000
[    0.000000] Lowering se maximum rate from 600000000 to 528000000
[    0.000000] Lowering vde maximum rate from 600000000 to 528000000
[    0.000000] Lowering host1x maximum rate from 500000000 to 444000000
[    0.000000] Lowering vi maximum rate from 700000000 to 600000000
[    0.000000] Lowering isp maximum rate from 700000000 to 600000000
[    0.000000] Lowering c4bus maximum rate from 700000000 to 600000000
[    0.000000] Lowering pll_c maximum rate from 1400000000 to 1066000000
[    0.000000] Lowering pll_c2 maximum rate from 1200000000 to 1066000000
[    0.000000] Lowering pll_c3 maximum rate from 1200000000 to 1066000000
[    0.000000] Lowering hdmi maximum rate from 594000000 to 297000000
[    0.000000] Lowering sdmmc1 maximum rate from 208000000 to 204000000
[    0.000000] Lowering sdmmc3 maximum rate from 208000000 to 204000000
[    0.000000] Lowering gbus maximum rate from 1032000000 to 852000000
[    0.000000] Lowering cpu_g maximum rate from 3000000000 to 2320500000
[    0.000000] tegra dvfs: VDD_CPU nominal 1260mV, scaling enabled
[    0.000000] tegra dvfs: VDD_CORE nominal 1150mV, scaling enabled
[    0.000000] tegra dvfs: VDD_GPU nominal 1200mV, scaling enabled
[    0.000000] Switching to timer-based delay loop
[    0.000000] tegra_powergate_init: DONE
[    0.000000] tegra12_plle_clk_enable: pll_e is already enabled
[    0.000000] PERCPU: Embedded 10 pages/cpu @c1e01000 s16640 r8192 d16128 u40960
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 490768
[    0.000000] Kernel command line: console=ttyS0,115200n8 console=tty1 no_console_suspend=1 lp0_vec=2064@0xf46ff000 mem=2015M@2048M memtype=255 ddr_dt
[    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes)
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Memory: 1923MB = 1923MB total
[    0.000000] Memory: 1920412k/1920412k available, 142948k reserved, 1190908K highmem
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
[    0.000000]     vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc0b1fba8   (11359 kB)
[    0.000000]       .init : 0xc0b20000 - 0xc0ba1100   ( 517 kB)
[    0.000000]       .data : 0xc0ba2000 - 0xc0d038fc   (1415 kB)
[    0.000000]        .bss : 0xc0d038fc - 0xc0d9e520   ( 620 kB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000] NR_IRQS:960
[    0.000000] the number of interrupt controllers found is 5
[    0.000000] Architected local timer running at 12.00MHz (phys).
[    0.000000] sched_clock: 56 bits at 12MHz, resolution 83ns, wraps every 2863311536128ns
[    0.000000] Ignoring duplicate/late registration of read_current_timer delay
[    0.000000] Console: colour dummy device 80x30
[    0.000000] console [tty1] enabled
[    0.003125] Calibrating delay loop (skipped), value calculated using timer frequency.. lpj=12000
[    0.003129] pid_max: default: 32768 minimum: 301
[    0.003612] Mount-cache hash table entries: 512
[    0.048491] Initializing cgroup subsys debug
[    0.048498] Initializing cgroup subsys freezer
[    0.048599] CPU: Testing write buffer coherency: ok
[    0.048605] ftrace: allocating 30398 entries in 60 pages
[    0.092703] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.092861] Setting up static identity map for 0xc0805a00 - 0xc0805a94
[    0.100576] ftrace: Allocated trace_printk buffers
[    0.110858] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.115890] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
[    0.120983] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
[    0.121203] Brought up 4 CPUs
[    0.121271] SMP: Total of 4 processors activated.
[    0.121289] CPU: All CPU(s) started in SVC mode.
[    0.122562] devtmpfs: initialized
[    0.136158] pinctrl core: initialized pinctrl subsystem
[    0.136679] regulator-dummy: no parameters
[    0.137599] NET: Registered protocol family 16
[    0.142190] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.144912] tegra_smmu tegra_smmu: Loaded Tegra IOMMU driver
[    0.146742] console [pstore-1] enabled
[    0.146806] ramoops: attached 0x200000@0xf8300000, ecc: 0/0
[    0.147396] cpuidle: using governor ladder
[    0.147424] cpuidle: using governor menu
[    0.151876] ardbeg_camera_auxdata: update camera lookup table.
[    0.161860] tegra-gpio 6000d000.gpio: Initialising GPIO state 0: name default
[    0.162428] gpiochip_add: registered GPIOs 0 to 255 on device: tegra-gpio
[    0.170712] Wake16 for irq=34
[    0.173718] Wake58 for irq=81
[    0.173748] Wake41 for irq=129
[    0.173751] Wake43 for irq=129
[    0.173780] Wake40 for irq=53
[    0.173782] Wake42 for irq=53
[    0.179461] board_info: id:sku:fab:major:minor = 0x0177:0x0000:0x03:0x45:0x00
[    0.179677] board_info: id:sku:fab:major:minor = 0x0177:0x0000:0x03:0x45:0x00
[    0.179769] Selecting UARTD as the debug console
[    0.179816] The debug console clock name is uartd
[    0.180389] ardbeg_modem_init: modem_id = 0
[    0.183896] Clear bootloader IO dpd settings
[    0.184135] Loading jetson TK1 EMC tables.
[    0.184506] tegra: pll_m is selected as scalable EMC clock source
[    0.184569] Lowering emc maximum rate from 1200000000 to 924000000
[    0.184600] tegra: validated EMC DFS table
[    0.184786] ardbeg_edp_init: CPU regulator 11000 mA
[    0.529351] ardbeg_edp_init: GPU regulator 10500 mA
[    0.530307] swapper/0 isomgr_init(): iso emc max clk=924000KHz
[    0.530366] swapper/0 isomgr_init(): max_iso_bw=7392000KB[    0.530819] ardbeg_touch_init init raydium touch
[    0.531012] Raydium - touch platform_id :  8
[    0.616181] platform tegradc.0: IOVA linear map 0xf8500000(1200000)
[    0.619816] platform tegradc.0: IOVA linear map 0xf9700000(4800000)
[    0.625322] platform tegradc.1: IOVA linear map 0xf8500000(1200000)
[    0.628951] platform tegradc.1: IOVA linear map 0xf9700000(4800000)
[    0.629644] tegra11_soctherem_oc_int_init(): OC interrupts are not enabled
[    0.630149] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[    0.630183] hw-breakpoint: maximum watchpoint size is 8 bytes.
[    0.630694] mc-err: Started MC error interface!
[    0.645794] bio: create slab <bio-0> at 0
[    0.648703] reg-fixed-voltage 0.regulator: Consumer c1 does not have device name
[    0.648744] reg-fixed-voltage 0.regulator: Consumer c2 does not have device name
[    0.648918] vdd-ac-bat: 8400 mV
[    0.649136] reg-fixed-voltage 1.regulator: Consumer c1 does not have device name
[    0.649175] reg-fixed-voltage 1.regulator: Consumer c2 does not have device name
[    0.649331] vdd-3v3-aon: 3300 mV
[    0.649562] reg-fixed-voltage 8.regulator: Consumer c1 does not have device name
[    0.649600] reg-fixed-voltage 8.regulator: Consumer c2 does not have device name
[    0.649634] reg-fixed-voltage 8.regulator: Consumer c3 does not have device name
[    0.649718] reg-fixed-voltage 8.regulator: Consumer c6 does not have device name
[    0.649755] reg-fixed-voltage 8.regulator: Consumer c7 does not have device name
[    0.649789] reg-fixed-voltage 8.regulator: Consumer c8 does not have device name
[    0.649823] reg-fixed-voltage 8.regulator: Consumer c9 does not have device name
[    0.649857] reg-fixed-voltage 8.regulator: Consumer c10 does not have device name
[    0.649891] reg-fixed-voltage 8.regulator: Consumer c11 does not have device name
[    0.649925] reg-fixed-voltage 8.regulator: Consumer c12 does not have device name
[    0.650109] reg-3v3-supply: 3300 mV
[    0.652895] vgaarb: loaded
[    0.653783] SCSI subsystem initialized
[    0.654285] usbcore: registered new interface driver usbfs
[    0.654375] usbcore: registered new interface driver hub
[    0.654517] usbcore: registered new device driver usb
[    0.658777] as3722 4-0040: AS3722 ID: ID1:ID2:ID3 = 0x0c:0x01:0x15
[    0.658812] as3722 4-0040: Final OTP version 1V21
[    0.664736] gpiochip_add: registered GPIOs 1016 to 1023 on device: as3722-gpio
[    0.665069] as3722-regulator as3722-regulator.0: Consumer c1 does not have device name
[    0.665136] as3722-regulator as3722-regulator.0: Consumer c1 does not have device name
[    0.665195] as3722-regulator as3722-regulator.0: Consumer c1 does not have device name
[    0.665230] as3722-regulator as3722-regulator.0: Consumer c2 does not have device name
[    0.665264] as3722-regulator as3722-regulator.0: Consumer c3 does not have device name
[    0.665298] as3722-regulator as3722-regulator.0: Consumer c4 does not have device name
[    0.665362] as3722-regulator as3722-regulator.0: Consumer c1 does not have device name
[    0.665397] as3722-regulator as3722-regulator.0: Consumer c2 does not have device name
[    0.665431] as3722-regulator as3722-regulator.0: Consumer c3 does not have device name
[    0.665464] as3722-regulator as3722-regulator.0: Consumer c4 does not have device name
[    0.665498] as3722-regulator as3722-regulator.0: Consumer c5 does not have device name
[    0.665532] as3722-regulator as3722-regulator.0: Consumer c6 does not have device name
[    0.665565] as3722-regulator as3722-regulator.0: Consumer c7 does not have device name
[    0.665638] as3722-regulator as3722-regulator.0: Consumer c1 does not have device name
[    0.665672] as3722-regulator as3722-regulator.0: Consumer c2 does not have device name
[    0.665706] as3722-regulator as3722-regulator.0: Consumer c3 does not have device name
[    0.665740] as3722-regulator as3722-regulator.0: Consumer c4 does not have device name
[    0.665776] as3722-regulator as3722-regulator.0: Consumer c6 does not have device name
[    0.665813] as3722-regulator as3722-regulator.0: Consumer c8 does not have device name
[    0.665847] as3722-regulator as3722-regulator.0: Consumer c9 does not have device name
[    0.665881] as3722-regulator as3722-regulator.0: Consumer c10 does not have device name
[    0.665967] as3722-regulator as3722-regulator.0: Consumer c11 does not have device name
[    0.666005] as3722-regulator as3722-regulator.0: Consumer c12 does not have device name
[    0.666039] as3722-regulator as3722-regulator.0: Consumer c13 does not have device name
[    0.666073] as3722-regulator as3722-regulator.0: Consumer c14 does not have device name
[    0.666107] as3722-regulator as3722-regulator.0: Consumer c15 does not have device name
[    0.666169] as3722-regulator as3722-regulator.0: Consumer c1 does not have device name
[    0.666203] as3722-regulator as3722-regulator.0: Consumer c2 does not have device name
[    0.666263] as3722-regulator as3722-regulator.0: Consumer c1 does not have device name
[    0.666297] as3722-regulator as3722-regulator.0: Consumer c2 does not have device name
[    0.666331] as3722-regulator as3722-regulator.0: Consumer c3 does not have device name
[    0.666364] as3722-regulator as3722-regulator.0: Consumer c4 does not have device name
[    0.666397] as3722-regulator as3722-regulator.0: Consumer c5 does not have device name
[    0.666431] as3722-regulator as3722-regulator.0: Consumer c6 does not have device name
[    0.666465] as3722-regulator as3722-regulator.0: Consumer c7 does not have device name
[    0.666498] as3722-regulator as3722-regulator.0: Consumer c8 does not have device name
[    0.666531] as3722-regulator as3722-regulator.0: Consumer c9 does not have device name
[    0.666595] as3722-regulator as3722-regulator.0: Consumer c2 does not have device name
[    0.666629] as3722-regulator as3722-regulator.0: Consumer c3 does not have device name
[    0.666735] as3722-regulator as3722-regulator.0: Consumer c8 does not have device name
[    0.666769] as3722-regulator as3722-regulator.0: Consumer c9 does not have device name
[    0.666802] as3722-regulator as3722-regulator.0: Consumer c10 does not have device name
[    0.666860] as3722-regulator as3722-regulator.0: Consumer c1 does not have device name
[    0.666917] as3722-regulator as3722-regulator.0: Consumer c1 does not have device name
[    0.667002] as3722-regulator as3722-regulator.0: Consumer c2 does not have device name
[    0.667037] as3722-regulator as3722-regulator.0: Consumer c3 does not have device name
[    0.667097] as3722-regulator as3722-regulator.0: Consumer c1 does not have device name
[    0.667131] as3722-regulator as3722-regulator.0: Consumer c2 does not have device name
[    0.667196] as3722-regulator as3722-regulator.0: Consumer c2 does not have device name
[    0.667252] as3722-regulator as3722-regulator.0: Consumer c1 does not have device name
[    0.667286] as3722-regulator as3722-regulator.0: Consumer c2 does not have device name
[    0.667370] as3722-regulator as3722-regulator.0: Consumer c1 does not have device name
[    0.667405] as3722-regulator as3722-regulator.0: Consumer c2 does not have device name
[    0.667439] as3722-regulator as3722-regulator.0: Consumer c3 does not have device name
[    0.668477] vdd-cpu: 650 <--> 1300 mV at 1000 mV 3500 mA
[    0.669444] vdd-core: applied init 1000000uV constraint
[    0.670085] vdd-core: 700 <--> 1350 mV at 1000 mV 3500 mA
[    0.671408] vddio-ddr: at 1350 mV
[    0.671849] as3722-sd3: no parameters
[    0.672589] avdd-pll-pex: 1050 mV
[    0.673949] vdd-1v8: at 1800 mV
[    0.674448] vdd-gpu: applied init 1000000uV constraint
[    0.675373] vdd-gpu: 650 <--> 1200 mV at 1000 mV 3500 mA
[    0.675974] avdd-pll: at 1050 mV at 300 mA
[    0.677477] vdd-cam: 1800 mV at 150 mA
[    0.678258] avdd-dsi-csi: at 1200 mV at 150 mA
[    0.679611] vdd-rtc: 800 mV at 150 mA
[    0.680221] avdd-cam: 2800 mV at 150 mA
[    0.680835] vdd-1v2-cam: 1175 mV at 150 mA
[    0.681350] vddio-sdmmc-2: 1800 <--> 3300 mV at 150 mA
[    0.681964] vdd-1v1-cam: 1275 mV at 150 mA
[    0.683140] avdd-spi: 3300 mV at 150 mA
[    0.683799] vdd-2v7-cam: 2800 mV at 150 mA
[    0.684463] vpp-fuse: 1800 mV at 150 mA
[    0.686168] Linux video capture interface: v2.00
[    0.687759] Advanced Linux Sound Architecture Driver Initialized.
[    0.688432] ardbeg_wifi_power: 1
[    0.789436] usb0-vbus: 5000 mV
[    0.789847] usb1-usb2-vbus: 5000 mV
[    0.790272] vdd-hdmi: 5000 mV
[    0.790666] avdd-hdmi-pll: 3300 mV
[    0.790728] avdd-hdmi-pll: supplied by avdd-pll-pex
[    0.791052] reg-fixed-sync-voltage 6.regulator: Consumer c1 does not have device name
[    0.791246] vdd-lcd-bl: 3300 mV
[    0.791495] reg-fixed-sync-voltage 7.regulator: Consumer c1 does not have device name
[    0.791688] vdd-lcd-bl-en: 5000 mV
[    0.791914] reg-fixed-sync-voltage 9.regulator: Consumer c3 does not have device name
[    0.792098] reg-5v0-supply: 5000 mV
[    0.792339] reg-fixed-sync-voltage a.regulator: Consumer c1 does not have device name
[    0.792377] reg-fixed-sync-voltage a.regulator: Consumer c2 does not have device name
[    0.792413] reg-fixed-sync-voltage a.regulator: Consumer c3 does not have device name
[    0.792467] reg-fixed-sync-voltage a.regulator: Consumer c10 does not have device name
[    0.792502] reg-fixed-sync-voltage a.regulator: Consumer c11 does not have device name
[    0.792536] reg-fixed-sync-voltage a.regulator: Consumer c12 does not have device name
[    0.792571] reg-fixed-sync-voltage a.regulator: Consumer c13 does not have device name
[    0.792604] reg-fixed-sync-voltage a.regulator: Consumer c14 does not have device name
[    0.792639] reg-fixed-sync-voltage a.regulator: Consumer c15 does not have device name
[    0.792825] reg-1v8-supply: 1800 mV
[    0.793211] reg-fixed-sync-voltage b.regulator: Consumer c1 does not have device name
[    0.793409] reg-dcdc-1v2: 1200 mV
[    0.793661] reg-fixed-sync-voltage c.regulator: Consumer c7 does not have device name
[    0.793699] reg-fixed-sync-voltage c.regulator: Consumer c8 does not have device name
[    0.794462] as3722-gpio2-supply: 3300 mV
[    0.794747] reg-fixed-sync-voltage d.regulator: Consumer c1 does not have device name
[    0.795469] as3722-gpio4-supply: 3300 mV
[    0.795895] sdmmc-en-supply: 3300 mV
[    0.796313] vdd-cdc-1v2-aud: 1200 mV
[    0.796563] reg-fixed-sync-voltage 10.regulator: Consumer c1 does not have device name
[    0.796602] reg-fixed-sync-voltage 10.regulator: Consumer c2 does not have device name
[    0.796638] reg-fixed-sync-voltage 10.regulator: Consumer c3 does not have device name
[    0.796797] reg-aon-1v8: 1800 mV
[    0.797032] reg-fixed-sync-voltage 11.regulator: Consumer c1 does not have device name
[    0.797247] reg-aon-1v2: 1200 mV
[    0.801219] as3722-adc-extcon as3722-adc-extcon.2: USB-Host is disconnected
[    0.806619] tegra: started io power detection dynamic control
[    0.806650] tegra: NO_IO_POWER setting 0x0
[    0.806682] Switching to clocksource arch_sys_counter
[    0.857753] nvmap_heap_init: nvmap_heap_init: created heap block cache
[    0.858071] nvmap_page_pool_init: Total MB RAM: 1891
[    0.858099] nvmap_page_pool_init: nvmap page pool size: 60512 pages (236 MB)
[    1.034127] nvmap_page_pool_init: highmem=25600, pool_size=60512,totalram=484199, freeram=455374, totalhigh=297727, freehigh=272057
[    1.034944]  iram: dma coherent mem declare 0x40001000,258048
[    1.035788] misc nvmap: created heap iram base 0x40001000 size (252KiB)
[    1.036123] nvmap:inner cache maint threshold=2097152
[    1.049503] Wake39 for irq=52
[    1.049608] tegra-otg tegra-otg: otg transceiver registered
[    1.050085] NET: Registered protocol family 2
[    1.050871] TCP established hash table entries: 8192 (order: 4, 65536 bytes)
[    1.051112] TCP bind hash table entries: 8192 (order: 5, 229376 bytes)
[    1.051445] TCP: Hash tables configured (established 8192 bind 8192)
[    1.051524] TCP: reno registered
[    1.051556] UDP hash table entries: 512 (order: 3, 32768 bytes)
[    1.051636] UDP-Lite hash table entries: 512 (order: 3, 32768 bytes)
[    1.052107] NET: Registered protocol family 1
[    1.052558] RPC: Registered named UNIX socket transport module.
[    1.052588] RPC: Registered udp transport module.
[    1.052612] RPC: Registered tcp transport module.
[    1.052635] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    1.053061] tegra-fuse tegra-fuse: Fuse driver initialized succesfully
[    1.061032] host1x host1x: initialized
[    1.062462] CPU PMU: probing PMU on CPU 0
[    1.062481] hw perfevents: enabled with ARMv7 Cortex-A15 PMU driver, 7 counters available
[    1.063347] tegra_throttle : init passed
[    1.063488] Tegra cpuquiet initialized: disabled
[    1.063683] cpu-tegra: init EDP limit: 2320 MHz
[    1.065106] thermal thermal_zone0: Registering thermal zone thermal_zone0 for type CPU-therm
[    1.065665] thermal thermal_zone1: Registering thermal zone thermal_zone1 for type GPU-therm
[    1.066013] thermal thermal_zone2: Registering thermal zone thermal_zone2 for type MEM-therm
[    1.066352] thermal thermal_zone3: Registering thermal zone thermal_zone3 for type PLL-therm
[    1.068598] bounce pool size: 64 pages
[    1.079448] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
[    1.080161] NTFS driver 2.1.30 [Flags: R/O].
[    1.080626] fuse init (API version 7.22)
[    1.081271] msgmni has been set to 1456
[    1.082726] io scheduler noop registered (default)
[    1.284494] PCIE: port 0: link down, retrying
[    1.484559] PCIE: port 0: link down, retrying
[    1.684621] PCIE: port 0: link down, retrying
[    1.684647] PCIE: port 0: link down, ignoring
[    1.689906] PCI host bridge to bus 0000:00
[    1.689939] pci_bus 0000:00: root bus resource [mem 0x32100000-0x3fffffff]
[    1.689972] pci_bus 0000:00: root bus resource [mem 0x12100000-0x320fffff pref]
[    1.690006] pci_bus 0000:00: root bus resource [io  0x1000-0xffff]
[    1.690036] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
[    1.690506] PCI: bus0: Fast back to back transfers disabled
[    1.690538] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    1.692880] PCI: bus1: Fast back to back transfers disabled
[    1.693533] pcieport 0000:00:00.0: Signaling PME through PCIe PME interrupt
[    1.693567] pci 0000:01:00.0: Signaling PME through PCIe PME interrupt
[    1.693994] pcieport 0000:00:00.0: BAR 8: assigned [mem 0x32100000-0x321fffff]
[    1.694034] pcieport 0000:00:00.0: BAR 9: assigned [mem 0x12100000-0x121fffff 64bit pref]
[    1.694070] pcieport 0000:00:00.0: BAR 7: assigned [io  0x1000-0x1fff]
[    1.694106] pci 0000:01:00.0: BAR 4: assigned [mem 0x12100000-0x12103fff 64bit pref]
[    1.694158] pci 0000:01:00.0: BAR 2: assigned [mem 0x32100000-0x32100fff 64bit]
[    1.694208] pci 0000:01:00.0: BAR 0: assigned [io  0x1000-0x10ff]
[    1.694242] pcieport 0000:00:00.0: PCI bridge to [bus 01]
[    1.694270] pcieport 0000:00:00.0:   bridge window [io  0x1000-0x1fff]
[    1.694302] pcieport 0000:00:00.0:   bridge window [mem 0x32100000-0x321fffff]
[    1.694336] pcieport 0000:00:00.0:   bridge window [mem 0x12100000-0x121fffff 64bit pref]
[    1.694385] PCIE: No Link speed change happened
[    1.695288] pwm-backlight pwm-backlight: unable to request PWM, trying legacy API
[    1.695434] sysedp_create_consumer: unable to create pwm-backlight, no consumer_data for pwm-backlight found
[    1.696615] tsec tsec: initialized
[    1.698750] isp isp.0: initialized
[    1.700281] isp isp.1: initialized
[    1.702616] falcon vic03.0: initialized
[    1.704368] falcon msenc: initialized
[    1.705516] tegradc tegradc.0: DSI: HS clock rate is 464500
[    1.707421] p,wuxga-10-1 panel dt support not available
[    1.987775] tegradc tegradc.0: nominal-pclk:154700000 parent:154500000 div:1.0 pclk:154500000 153153000~168623000
[    2.077030] tegradc tegradc.0: DSI pad calibration done
[    2.084264] tegradc tegradc.0: probed
[    2.084967] tegradc tegradc.0: nominal-pclk:154679000 parent:463500000 div:3.0 pclk:154500000 153132210~168600110
[    2.085041] tegradc tegradc.0: fb registered
[    2.091135] gpio wake4 for gpio=111
[    2.091486] tegra-i2c tegra12-i2c.3: no acknowledge from address 0x50
[    2.092721] tegradc tegradc.1: probed
[    2.097714] Console: switching to colour frame buffer device 80x30
[    2.103054] tegradc tegradc.1: fb registered
[    2.105002] hdmi_state_machine_worker (tid edb28600): state 7 (Takeover from bootloader), hpd 0, pending_hpd_evt 1
[    2.108884] hdmi_state_machine_set_state_l: switching from state 7 (Takeover from bootloader) to state 0 (Reset)
[    2.114515] tegra-apbdma tegra-apbdma: Tegra20 APB DMA driver register 32 channels
[    2.119339] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    2.123305] serial8250.0: ttyS0 at MMIO 0x70006300 (irq = 122) is a Tegra
[    2.151854] hdmi_state_machine_worker (tid edb28600): state 0 (Reset), hpd 0, pending_hpd_evt 0
[    2.151859] hdmi_disable_l: audio_switch 0
[    2.151862] hdmi_disable_l: hpd_switch 0
[    2.151869] hdmi_state_machine_set_state_l: switching from state 0 (Reset) to state 1 (Check Plug)
[    2.161859] hdmi_state_machine_worker (tid edb28600): state 1 (Check Plug), hpd 0, pending_hpd_evt 0
[    2.161863] hdmi_disable_l: audio_switch 0
[    2.161866] hdmi_disable_l: hpd_switch 0
[    2.161871] hdmi_state_machine_set_state_l: switching from state 1 (Check Plug) to state 3 (Disabled)
[    4.458716] console [ttyS0] enabled
[    4.465076] serial-tegra.0: ttyTHS0 at MMIO 0x70006000 (irq = 68) is a SERIAL_TEGRA
[    4.477443] serial-tegra.1: ttyTHS1 at MMIO 0x70006040 (irq = 69) is a SERIAL_TEGRA
[    4.489958] serial-tegra.2: ttyTHS2 at MMIO 0x70006200 (irq = 78) is a SERIAL_TEGRA
[    4.504771]  (null): coherent DMA mask is unset
[    4.511627] gk20a gk20a.0: failed to allocate secure buffer -12
[    4.525690] loop: module loaded
[    4.531520] nct1008_nct72 0-004c: success in enabling rail vdd_nct72
[    4.544713] gpio wake35 for gpio=70
[    4.544838] nct1008_nct72 0-004c: nct1008_probe: initialized
[    4.559418] thermal thermal_zone4: Registering thermal zone thermal_zone4 for type Tboard_tegra
[    4.574159] thermal thermal_zone5: Registering thermal zone thermal_zone5 for type Tdiode_tegra
[    4.590107] tegra_profiler: Branch: Dev
[    4.596472] tegra_profiler: Version: 1.88
[    4.602790] tegra_profiler: Samples version: 31
[    4.609697] tegra_profiler: IO version: 16
[    4.616005] armv7_pmu: arch: Cortex A15, type: 4, ver: 0
[    4.623520] tegra_profiler: power_clk: init
[    4.630024] tegra_profiler: auth: init
[    4.636285] GPS: mt3332_gps_mod_init: platform_driver_register ret = 0
[    4.646797] tegra-sata tegra-sata.0: AHCI 0001.0301 32 slots 2 ports 3 Gbps 0x1 impl TEGRA-SATA mode
[    4.659973] tegra-sata tegra-sata.0: flags: 64bit ncq sntf pm led pmp pio slum part sadm apst
[    4.674195] scsi0 : tegra-sata
[    4.679602] scsi1 : tegra-sata
[    4.684765] ata1: SATA max UDMA/133 irq 55
[    4.690704] ata2: DUMMY
[    4.697462] tun: Universal TUN/TAP device driver, 1.6
[    4.704332] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
[    4.712709] r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded
[    4.722762] r8169 0000:01:00.0 eth0: RTL8168g/8111g at 0xf0004000, 00:04:4b:25:cb:f0, XID 0c000800 IRQ 641
[    4.736131] r8169 0000:01:00.0 eth0: jumbo features [frames: 9200 bytes, tx checksumming: ko]
[    4.748618] usbcore: registered new interface driver asix
[    4.755925] usbcore: registered new interface driver ax88179_178a
[    4.763889] usbcore: registered new interface driver cdc_ether
[    4.771588] usbcore: registered new interface driver smsc95xx
[    4.779191] usbcore: registered new interface driver cdc_subset
[    4.786990] usbcore: registered new interface driver cdc_ncm
[    4.794381] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    4.802991] tegra USB phy - inst[1] platform info:
[    4.809555] port_otg: no
[    4.813836] has_hostpc: yes
[    4.818279] phy_interface: USB_PHY_INTF_UTMI
[    4.824200] op_mode: TEGRA_USB_OPMODE_HOST
[    4.829856] qc2_voltage: 0
[    4.834049] vbus_gpio: -1
[    4.838135] hot_plug: disabled
[    4.842685] remote_wakeup: enabled
[    4.849331] tegra-ehci tegra-ehci.1: Tegra EHCI Host Controller
[    4.856877] tegra-ehci tegra-ehci.1: new USB bus registered, assigned bus number 1
[    4.867799] Wake40 for irq=53
[    4.867801] Wake42 for irq=53
[    4.867863] tegra-ehci tegra-ehci.1: irq 53, io mem 0x7d004000
[    4.889860] tegra-ehci tegra-ehci.1: USB 2.0 started, EHCI 1.10
[    4.897276] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    4.905451] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    4.915400] usb usb1: Product: Tegra EHCI Host Controller
[    4.922299] usb usb1: Manufacturer: Linux 3.10.40-rt46-g7477c2b ehci_hcd
[    4.930572] usb usb1: SerialNumber: tegra-ehci.1
[    4.937515] hub 1-0:1.0: USB hub found
[    4.942868] hub 1-0:1.0: 1 port detected
[    4.948778] tegra USB phy - inst[2] platform info:
[    4.955080] port_otg: no
[    4.959068] has_hostpc: yes
[    4.963317] phy_interface: USB_PHY_INTF_UTMI
[    4.969078] op_mode: TEGRA_USB_OPMODE_HOST
[    4.974652] qc2_voltage: 0
[    4.978828] vbus_gpio: -1
[    4.982900] hot_plug: disabled
[    4.987416] remote_wakeup: enabled
[    4.993940] tegra-ehci tegra-ehci.2: Tegra EHCI Host Controller
[    4.999880] ata1: SATA link down (SStatus 0 SControl 300)
[    5.008321] tegra-ehci tegra-ehci.2: new USB bus registered, assigned bus number 2
[    5.019139] Wake41 for irq=129
[    5.019142] Wake43 for irq=129
[    5.019184] tegra-ehci tegra-ehci.2: irq 129, io mem 0x7d008000
[    5.041863] tegra-ehci tegra-ehci.2: USB 2.0 started, EHCI 1.10
[    5.049441] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
[    5.057865] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    5.068142] usb usb2: Product: Tegra EHCI Host Controller
[    5.075099] usb usb2: Manufacturer: Linux 3.10.40-rt46-g7477c2b ehci_hcd
[    5.083381] usb usb2: SerialNumber: tegra-ehci.2
[    5.090267] hub 2-0:1.0: USB hub found
[    5.095638] hub 2-0:1.0: 1 port detected
[    5.101650] ehci-pci: EHCI PCI platform driver
[    5.108080] tegra_xusb_read_usb_calib: usb_calib0 = 0x0245038a
[    5.115889] usbcore: registered new interface driver usb-storage
[    5.123688] usbcore: registered new interface driver usbserial
[    5.131237] usbcore: registered new interface driver option
[    5.138486] usbserial: USB Serial support registered for GSM modem (1-port)
[    5.147275] usbcore: registered new interface driver pl2303
[    5.154627] usbserial: USB Serial support registered for pl2303
[    5.162337] Nvidia Tegra High-Speed USB Device Controller driver (Apr 30, 2012)
[    5.173505] tegra USB phy - inst[0] platform info:
[    5.180031] port_otg: yes
[    5.184288] has_hostpc: yes
[    5.188719] phy_interface: USB_PHY_INTF_UTMI
[    5.194689] op_mode: TEGRA_USB_OPMODE_DEVICE
[    5.200633] qc2_voltage: 0
[    5.205151] vbus_pmu_irq: 0
[    5.209561] vbus_gpio: -1
[    5.213786] charging: enabled
[    5.218295] remote_wakeup: disabled
[    5.226334] tegra-udc tegra-udc.0: usb_bat_chg regulator not registered: USB charging will not be enabled
[    5.242764] as3722-rtc as3722-rtc.1: rtc core: registered as3722 as rtc0
[    5.251181] as3722-rtc as3722-rtc.1: RTC interrupt 449
[    5.261754] i2c /dev entries driver
[    5.268442] virtual_init
[    5.274905] nvavp nvavp: allocated IOVA at 8ff00000 for AVP os
[    5.283408] tegra_dtv_probe: probing dtv.
[    5.289126] setup_stream: bufsize = 4096, bufnum = 4
[    5.294343] ar0832_init: ++
[    5.301060] i2c-core: driver [max77387] using legacy suspend method
[    5.308981] i2c-core: driver [max77387] using legacy resume method
[    5.316897] i2c-core: driver [as364x] using legacy suspend method
[    5.324584] i2c-core: driver [as364x] using legacy resume method
[    5.332349] [IMX135] sensor driver loading
[    5.338052] [IMX179] sensor driver loading
[    5.343772] [imx132] sensor driver loading
[    5.349419] [AR0330] sensor driver loading
[    5.355027] [ar0261] sensor driver loading
[    5.361519] usbcore: registered new interface driver uvcvideo
[    5.368741] USB Video Class driver (1.1.1)
[    5.375625] zram: Created 1 device(s) ...
[    5.382718] sdhci: Secure Digital Host Controller Interface driver
[    5.389867] otg state changed: SUSPEND --> PERIPHERAL
[    5.397177] sdhci: Copyright(c) Pierre Ossman
[    5.403065] sdhci-pltfm: SDHCI platform and OF driver helper
[    5.410725] sdhci-tegra sdhci-tegra.3: vddio_sd_slot regulator not found: -517. Assuming vddio_sd_slot is not required.
[    5.424795] sdhci-tegra sdhci-tegra.3: Speedo value 2335
[    5.431716] sdhci-tegra sdhci-tegra.3: Tuning constraints: nom_mv 1150, boot_mv 1150, min_or_mv 1100
[    5.444917] mmc0: no vqmmc regulator found
[    5.450594] mmc0: no vmmc regulator found
[    5.456149] mmc0: Invalid maximum block size, assuming 512 bytes
[    5.463867] sysedp_create_consumer: unable to create sdhci-tegra.3, no consumer_data for sdhci-tegra.3 found
[    5.498869] mmc0: SDHCI controller on sdhci-tegra.3 [sdhci-tegra.3] using ADMA
[    5.512578] sdhci-tegra sdhci-tegra.2: Speedo value 2335
[    5.519686] sdhci-tegra sdhci-tegra.2: Tuning constraints: nom_mv 1150, boot_mv 1150, min_or_mv 1100
[    5.533332] mmc1: no vqmmc regulator found
[    5.539424] mmc1: no vmmc regulator found
[    5.545390] mmc1: Invalid maximum block size, assuming 512 bytes
[    5.553546] sysedp_create_consumer: unable to create sdhci-tegra.2, no consumer_data for sdhci-tegra.2 found[    5.566182] mmc0: BKOPS_EN bit is not
[    5.577719] sdhci-tegra sdhci-tegra.3: Found T2T coeffs data
[    5.585499] sdhci-tegra sdhci-tegra.3: 200MHz tap hole coeffs found
[    5.589860] mmc1: SDHCI controller on sdhci-tegra.2 [sdhci-tegra.2] using ADMA
[    5.590068] gpio wake56 for gpio=170
[    5.595029] tegra-se tegra12-se: tegra_se_probe: complete
[    5.598841] usbcore: registered new interface driver usbhid
[    5.598844] usbhid: USB HID core driver
[    5.599618] tegra-hier-ictlr tegra-hier-ictlr: probed

[    5.679751] usbcore: registered new interface driver snd-usb-audio
[    5.691111] MAX98090 driver built on May 17 2015 at 15:22:00
[    5.700014] tegra_offload_platform probe successfull.
[    5.709728] succefully registered offload opstegra30_avp_audio_platform_probe successful.
[    5.985636] rt5639 0-001c: read 0xfd=0x6
[    6.012058] rt5639 0-001c: ASoC: mux INR Mux has no paths
[    6.019439] rt5639 0-001c: ASoC: mux INL Mux has no paths
[    6.028311] gpio wake49 for gpio=143
[    6.193514] **********Auto tuning windows*************
[    6.200563] WIN_ATTR legend: 0-BOUN_ST, 1-BOUN_END, 2-HOLE
[    6.208001] win[0]: 0(0) - 63(1)
[    6.213163] win[1]: 69(0) - 135(1)
[    6.218421] win[2]: 141(0) - 208(1)
[    6.223693] win[3]: 212(0) - 255(1)
[    6.228881] ***************************************
[    6.235469] ********tuning windows after inserting holes*****
[    6.242937] WIN_ATTR legend: 0-BOUN_ST, 1-BOUN_END, 2-HOLE
[    6.250080] win[0]:-3(0) - 34(2)
[    6.254954] win[1]:36(2) - 63(1)
[    6.259785] win[2]:69(0) - 106(2)
[    6.264692] win[3]:108(2) - 135(1)
[    6.269676] win[4]:141(0) - 178(2)
[    6.274619] win[5]:180(2) - 208(1)
[    6.279496] win[6]:212(0) - 250(2)
[    6.284310] win[7]:252(2) - 255(1)
[    6.289030] ***********************************************
[    6.295951] **********Tuning values*********
[    6.301503] **estimated values**
[    6.305945] T2T_Vmax 55, T2T_Vmin 76, 1'st_hole_Vmax 49, UI_Vmax 90
[    6.313489] **Calculated values**
[    6.318068] T2T_Vmax 69, 1'st_hole_Vmax 35, UI_Vmax 72
[    6.324550] T2T_Vmin 69, 1'st_hole_Vmin 35, UI_Vmin 72
[    6.331033] ***********************************
[    6.336853] ***********final tuning windows**********
[    6.343171] win[0]: 11 - 27
[    6.347194] win[1]: 44 - 49
[    6.351201] win[2]: 83 - 94
[    6.355214] win[3]: 121 - 121
[    6.359389] win[4]: 155 - 161
[    6.363521] win[5]: 198 - 194
[    6.367608] win[6]: 226 - 228
[    6.371640] win[7]: 255 - 241
[    6.375620] ********************************
[    6.380951] best tap win - (11-27), best tap value 19
[    6.387116] sdhci-tegra sdhci-tegra.3: sdhci_tegra_verify_best_tap: tuning freq 200000000hz, best tap 19
[    6.401663] mmc0: new HS200 MMC card at address 0001
[    6.408250] mmcblk mmc0:0001: Card claimed for testing.
[    6.415129] mmcblk0: mmc0:0001 SEM16G 14.6 GiB
[    6.421277] mmcblk0rpmb: mmc0:0001 SEM16G partition 3 4.00 MiB
[    6.431382]  mmcblk0: p1 p2 p3 p4 p5 p6 p7 p8 p9
[    7.030919] rt5639 0-001c: rt5639_headset_detect RT5639_PWR_ANLG1(0x63) = 0xa814
[    7.041417] rt5639 0-001c: rt5639_headset_detect RT5639_IRQ_CTRL2(0xbe) = 0x0
[    7.114428] rt5639 0-001c: rt5639_headset_detect jack_type = 2
[    7.122264] tegra-snd-rt5639 tegra-snd-rt5639.0:  rt5639-aif1 <-> tegra30-i2s.1 mapping ok
[    7.134551] tegra-snd-rt5639 tegra-snd-rt5639.0:  dit-hifi <-> tegra30-spdif mapping ok
[    7.146925] tegra-snd-rt5639 tegra-snd-rt5639.0:  dit-hifi <-> tegra30-i2s.3 mapping ok
[    7.159581] tegra-snd-rt5639 tegra-snd-rt5639.0:  rt5639-aif1 <-> dit-hifi mapping ok
[    7.172402] tegra-snd-rt5639 tegra-snd-rt5639.0:  dit-hifi <-> dit-hifi mapping ok
[    7.185180] tegra-snd-rt5639 tegra-snd-rt5639.0: Allocating for stream playback
[    7.197134] tegra-snd-rt5639 tegra-snd-rt5639.0: Allocating for stream capture
[    7.209143] tegra-snd-rt5639 tegra-snd-rt5639.0:  snd-soc-dummy-dai <-> tegra-offload-pcm mapping ok
[    7.223830] compress asoc: snd-soc-dummy-dai <-> tegra-offload-compr mapping ok
[    7.236937] tegra-snd-rt5639 tegra-snd-rt5639.0: Allocating for stream playback
[    7.249418] tegra-snd-rt5639 tegra-snd-rt5639.0: Allocating for stream capture
[    7.261825] tegra-snd-rt5639 tegra-snd-rt5639.0:  snd-soc-dummy-dai <-> tegra-offload-pcm mapping ok
[    7.276903] tegra-snd-rt5639 tegra-snd-rt5639.0:  rt5639-aif1 <-> tegra30-i2s.1 mapping ok
[    7.295052] input: tegra-rt5639 Headphone Jack as /devices/platform/tegra-snd-rt5639.0/sound/card1/input0
[    7.311313] sysedp_create_consumer: unable to create speaker, no consumer_data for speaker found
[    7.323218] GACT probability NOT on
[    7.332140] Mirror/redirect action on
[    7.338345] u32 classifier
[    7.343544]     Actions configured
[    7.349386] Netfilter messages via NETLINK v0.30.
[    7.356543] nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
[    7.365917] NF_TPROXY: Transparent proxy support initialized, version 4.1.0
[    7.375263] NF_TPROXY: Copyright (c) 2006-2007 BalaBit IT Ltd.
[    7.383981] xt_time: kernel timezone is -0000
[    7.391037] ip_tables: (C) 2000-2006 Netfilter Core Team
[    7.398871] arp_tables: (C) 2002 David S. Miller
[    7.405751] TCP: cubic registered
[    7.412210] NET: Registered protocol family 10
[    7.419989] mip6: Mobile IPv6
[    7.425067] ip6_tables: (C) 2000-2006 Netfilter Core Team
[    7.432712] sit: IPv6 over IPv4 tunneling driver
[    7.440544] NET: Registered protocol family 17
[    7.447036] NET: Registered protocol family 15
[    7.453493] NET: Registered protocol family 35
[    7.460040] NET: Registered protocol family 37
[    7.466160] NET: Registered protocol family 41
[    7.473675] VFP support v0.3: implementor 41 architecture 4 part 30 variant f rev 0
[    7.543125] Registering SWP/SWPB emulation handler
[    7.549448] last reset is due to power on reset
[    7.549448]
[    7.558477] Disabling clocks left on by bootloader:
[    7.564929]    audio_2x
[    7.568912]    audio
[    7.572577]    audio4
[    7.576294]    audio3
[    7.579897]    audio2
[    7.583433]    audio1
[    7.586907]    audio0
[    7.590460]    hdmi_audio
[    7.594195]    entropy
[    7.597642]    dsi2-fixed
[    7.601306]    dsi1-fixed
[    7.604960]    nor
[    7.607927]    trace
[    7.610985]    sdmmc4_ddr
[    7.614481]    sdmmc3_ddr
[    7.618050]    cclk_lp
[    7.621303]    pll_x_out0
[    7.624862]    pll_m_out1
[    7.628516] tegra_dvfs: vdd_cpu connected to regulator
[    7.634657] tegra_dvfs: vdd_core connected to regulator
[    7.640884] tegra_dvfs: vdd_gpu connected to regulator
[    7.648082] tegra_dvfs: registered vdd_cpu simon notifier
[    7.655061] cpu_cold cooling device is registered
[    7.656125] Tegra CPU DFLL is initialized with use_dfll = 1
[    7.656207] CPU rate: 696 MHz
[    7.670946] cpu_hot cooling device is registered
[    7.925135] tegra dvfs: tegra sysfs cap interface is initialized
[    7.932247] tegra dvfs: tegra sysfs gpu & emc interface is initialized
[    7.939831] tegra dvfs: registered vdd_gpu simon notifier
[    7.947200] tegra_actmon.emc: Completed initialization (0)
[    7.954109] tegra_actmon.avp: Completed initialization (0)
[    7.960878] tegra_mon.cpu_emc: Completed initialization (0)
[    7.972063] reg-aon-1v2: incomplete constraints, leaving on
[    7.978820] reg-aon-1v8: incomplete constraints, leaving on
[    7.985559] sdmmc-en-supply: incomplete constraints, leaving on
[    7.992729] reg-dcdc-1v2: incomplete constraints, leaving on
[    7.999752] reg-5v0-supply: incomplete constraints, leaving on
[    8.006936] avdd-hdmi-pll: incomplete constraints, leaving on
[    8.014075] usb0-vbus: incomplete constraints, leaving on
[    8.020924] vpp-fuse: incomplete constraints, leaving on
[    8.027732] vdd-2v7-cam: incomplete constraints, leaving on
[    8.034927] avdd-spi: incomplete constraints, leaving on
[    8.041837] vdd-1v1-cam: incomplete constraints, leaving on
[    8.049017] vddio-sdmmc-2: incomplete constraints, leaving on
[    8.056397] vdd-1v2-cam: incomplete constraints, leaving on
[    8.063638] avdd-cam: incomplete constraints, leaving on
[    8.070635] vdd-cam: incomplete constraints, leaving on
[    8.077540] as3722-sd3: incomplete constraints, leaving on
[    8.084705] vdd-3v3-aon: incomplete constraints, leaving on
[    8.091963] vdd-ac-bat: incomplete constraints, leaving on
[    8.099129] regulator-dummy: incomplete constraints, leaving on
[    8.108133] gpio wake51 for gpio=128
[    8.108463] input: gpio-keys.4 as /devices/platform/gpio-keys.4/input/input1
[    8.123514] as3722-rtc as3722-rtc.1: setting system clock to 2015-05-17 14:30:07 UTC (1431873007)
[    8.136842] ALSA device list:
[    8.141552]   #0: HDA NVIDIA Tegra at 0x70038000 irq 113
[    8.148852]   #1: tegra-rt5639
[    8.155183] EXT4-fs (mmcblk0p1): couldn't mount as ext3 due to feature incompatibilities
[    8.167973] EXT4-fs (mmcblk0p1): couldn't mount as ext2 due to feature incompatibilities
[    8.188722] EXT4-fs (mmcblk0p1): mounted filesystem with ordered data mode. Opts: (null)
[    8.201149] VFS: Mounted root (ext4 filesystem) on device 179:1.
[    8.212835] devtmpfs: mounted
[    8.218408] Freeing unused kernel memory: 516K (c0b20000 - c0ba1000)
[    8.549106] init: plymouth-upstart-bridge main process (191) terminated with status 1
[    8.561909] init: plymouth-upstart-bridge main process ended, respawning
[    8.629181] init: plymouth-upstart-bridge main process (201) terminated with status 1
[    8.641579] init: plymouth-upstart-bridge main process ended, respawning
[    8.656490] init: ureadahead main process (194) terminated with status 5
[    8.701654] init: plymouth-upstart-bridge main process (206) terminated with status 1
[    8.714362] init: plymouth-upstart-bridge main process ended, respawning
 * Starting Mount filesystems on boot[ OK ]
 * Starting Signal sysvinit that the rootfs is mounted[ OK ]
 * Starting Clean /tmp directory[ OK ]
 * Stopping Clean /tmp directory[ OK ]
 * Starting Populate and link to /run filesystem[ OK ]
 * Stopping Populate and link to /run filesystem[ OK ]
 * Stopping Track if upstart is running in a container[ OK ]
 * Starting Initialize or finalize resolvconf[ OK ]
 * Starting Signal sysvinit that virtual filesystems are mounted[ OK ]
 * Starting Signal sysvinit that virtual filesystems are mounted[ OK ]
 * Starting Signal sysvinit that local filesystems are mounted[ OK ]
 * Starting Bridge udev events into upstart[ OK ]
 * Starting Signal sysvinit that remote filesystems are mounted[ OK ]
 * Starting device node and kernel event manager[ OK ]
 * Starting flush early job output to logs[ OK ]
 * Starting NVIDIA specific first-boot script[ OK ]
 * Starting D-Bus system message bus[ OK ]
 * Stopping Mount filesystems on boot[ OK ]
 * Starting NVIDIA specific init script[ OK ]
 * Starting load modules from /etc/modules[ OK ]
 * Starting cold plug devices[ OK ]
 * Starting log initial device creation[ OK ]
 * Stopping flush early job output to logs[ OK ]
 * Stopping NVIDIA specific init script[ OK ]
 * Stopping load modules from /etc/modules[ OK ]
 * Starting SystemD login management service[ OK ]
 * Starting system logging daemon[ OK ]
 * Starting bluetooth daemon[ OK ]
 * Starting mDNS/DNS-SD daemon[ OK ]
 * Starting userspace bootsplash[ OK ]
 * Stopping userspace bootsplash[ OK ]
 * Starting Reload cups, upon starting avahi-daemon to make sure remote queues are populated[ OK ]
 * Starting configure network device security[ OK ]
 * Starting Send an event to indicate plymouth is up[ OK ]
 * Starting configure network device[ OK ]
 * Stopping Reload cups, upon starting avahi-daemon to make sure remote queues are populated[ OK ]
 * Stopping Send an event to indicate plymouth is up[ OK ]
 * Starting CUPS printing spooler/server[ OK ]
 * Starting cups-browsed - Bonjour remote printer browsing daemon[ OK ]
[   12.487247] vgaarb: this pci device is not a vga device
[   12.837746] vgaarb: this pci device is not a vga device
[   13.124815] NOHZ: local_softirq_pending 80
[   13.124858] NOHZ: local_softirq_pending 80
[   13.124884] NOHZ: local_softirq_pending 80
[   13.125010] NOHZ: local_softirq_pending 80
[   13.403840] BUG: scheduling while atomic: swapper/1/0/0x00000002
[   13.403856] Preemption disabled at:[<  (null)>]   (null)
[   14.163829] BUG: scheduling while atomic: swapper/0/0/0x00000002
[   14.163842] Preemption disabled at:[<  (null)>]   (null)

Ubuntu 14.04.1 LTS tegra-ubuntu ttyS0

tegra-ubuntu login: ubuntu (automatic login)

Last login: Sun May 17 14:25:48 UTC 2015 on ttyS0
Welcome to Ubuntu 14.04.1 LTS (GNU/Linux 3.10.40-rt46-g7477c2b armv7l)

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

343 packages can be updated.
136 updates are security updates.

ubuntu@tegra-ubuntu:~$ uname -a
Linux tegra-ubuntu 3.10.40-rt46-g7477c2b #2 SMP PREEMPT RT Sun May 17 15:26:34 CEST 2015 armv7l armv7l armv7l GNU/Linux
ubuntu@tegra-ubuntu:~$

Debugging the Linux kernel with TRACE32-PowerView

Connecting to the target

Boot the board and stop autoboot:

Hit any key to stop autoboot:  0
Tegra124 (Jetson TK1) #
Tegra124 (Jetson TK1) #

Attach the debugger and run the tegra_init.cmm script:

RESet
SYStem.CPU TEGRAK1
SYStem.Option ResBreak OFF
;SYStem.Option WaitReset 200ms
SYStem.Option WaitReset 2.s
ETM.OFF

; www.lauterbach.com/pdfnew/training_rtos_linux.pdf
SYStem.Option DACR ON ; give Debugger global write permissions
TrOnchip.Set DABORT OFF ; used by Linux for page miss!
TrOnchip.Set PABORT OFF ; used by Linux for page miss!
TrOnchip.Set UNDEF OFF ; my be used by Linux for FPU detection
SYStem.Option MMUSPACES ON ; enable space ids to virtual addresses

Break.IMPLementation Program OnChip

SYStem.Up

; From bootloader:
;Kernel image @ 0x81000000 [ 0x000000 - 0x5c7aa0 ]
;## Flattened Device Tree blob at 82000000
;   Booting using the fdt blob at 0x82000000
;   Using Device Tree in place at 82000000, end 82010f4e
Break.set 0x81000000

Go

PRINT "Open the serial console and type boot at the bootloader prompt"

ENDDO
Init: break point at kernel start address

Init: break point at kernel start address

And type “boot”:

Tegra124 (Jetson TK1) # boot
MMC: no card present
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0...
Found /boot/extlinux/extlinux.conf
Retrieving file: /boot/extlinux/extlinux.conf
1585 bytes read in 267 ms (4.9 KiB/s)
Jetson-TK1 eMMC boot options
1:      primary kernel
2:      secondary (PREEMPT_RT)
Enter choice: 2
2:      secondary (PREEMPT_RT)
Retrieving file: /boot/zImage_RT
6060704 bytes read in 447 ms (12.9 MiB/s)
append: console=ttyS0,115200n8 console=tty1 no_console_suspend=1 lp0_vec=2064@0xf46ff000 mem=2015M@2048M memtype=255 ddr_die=2048M@2048M section=256M pmuboard=0x0177:0x0000:0x02:t
Retrieving file: /boot/tegra124-jetson_tk1-pm375-000-c00-00.dtb
57167 bytes read in 86 ms (648.4 KiB/s)
Kernel image @ 0x81000000 [ 0x000000 - 0x5c7aa0 ]
## Flattened Device Tree blob at 82000000
   Booting using the fdt blob at 0x82000000
   Using Device Tree in place at 82000000, end 82010f4e

Starting kernel ...

The Execution will be stopped at the kernel start address.

Stopped at kernel start address

Stopped at kernel start address

On the Jetson Pro it’s very similar, the Jetson Pro uses a different bootloader called Quickboot, you have to compile it in development mode as described in the documentation shipped with the SDK.

The tegra_init.cmm script for the Jetson Pro:

RESet
SYStem.CPU TEGRAK1
SYStem.Option ResBreak OFF
;SYStem.Option WaitReset 200ms
SYStem.Option WaitReset 2.s
ETM.OFF

; www.lauterbach.com/pdfnew/training_rtos_linux.pdf
SYStem.Option DACR ON ; give Debugger global write permissions
TrOnchip.Set DABORT OFF ; used by Linux for page miss!
TrOnchip.Set PABORT OFF ; used by Linux for page miss!
TrOnchip.Set UNDEF OFF ; my be used by Linux for FPU detection
SYStem.Option MMUSPACES ON ; enable space ids to virtual addresses

Break.IMPLementation Program OnChip

SYStem.Up

; From bootloader:
; <cpu>: jumping to kernel at 80a00800 (virtual 41a00800)
Break.set 0x80a00800

Go

PRINT "Open the serial console and type boot at the bootloader prompt"

ENDDO

Loading the kernel symbols

No you can load the kernel image into the debugger and add another breakpoint at start_kernel():

Therefore execute the script tagra_load_kernel.cmm and hit the “Go” button:

; www.lauterbach.com/pdfnew/training_rtos_linux.pdf
;
; Enter manually

sYmbol.SourcePATH.Set "/home/tux/TK1/L4T_PREEMPT_RT/"
d.load "/home/tux/TK1/L4T_PREEMPT_RT/vmlinux" /NOCODE /NOCLEAR /STRIPPART "kernel"

PRINT "initializing debugger MMU..."

; From bootloader:
;Kernel image @ 0x81000000 [ 0x000000 - 0x5c7aa0 ]
;## Flattened Device Tree blob at 82000000
;   Booting using the fdt blob at 0x82000000
;   Using Device Tree in place at 82000000, end 82010f4e

MMU.FORMAT LINUX swapper_pg_dir 0xc0000000--0xdfffffff 0x81000000
TRANSLATION.COMMON 0xbf000000--0ffffffff
TRANSLATION.TableWalk ON
TRANSlation.ON


BREAK.Set start_kernel /OnChip

PRINT "Load Linux Awareness 3.x ..."
TASK.CONFIG ~~/demo/arm/kernel/linux/linux-3.x/linux3.t32
MENU.ReProgram ~~/demo/arm/kernel/linux/linux-3.x/linux.men

ENDDO

TODO

Check MMU.FORMAT and TRANSLATION.COMMON for correctness.

Stopped at break point start_kernel()

Stopped at break point start_kernel()

Downloads

You will find the compiled kernel image and the modules from this post at: