xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* Running Xen on Nvidia Jetson-TK1
@ 2016-03-08  8:23 Dushyant K Behl
  2016-03-09 13:37 ` Wei Liu
  2016-05-12  1:00 ` Meng Xu
  0 siblings, 2 replies; 31+ messages in thread
From: Dushyant K Behl @ 2016-03-08  8:23 UTC (permalink / raw)
  To: xen-devel

[-- Attachment #1: Type: text/html, Size: 1486 bytes --]

[-- Attachment #2: Type: text/plain, Size: 126 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Running Xen on Nvidia Jetson-TK1
  2016-03-08  8:23 Running Xen on Nvidia Jetson-TK1 Dushyant K Behl
@ 2016-03-09 13:37 ` Wei Liu
  2016-03-10  5:08   ` Julien Grall
  2016-05-12  1:00 ` Meng Xu
  1 sibling, 1 reply; 31+ messages in thread
From: Wei Liu @ 2016-03-09 13:37 UTC (permalink / raw)
  To: Dushyant K Behl; +Cc: Julien Grall, Stefano Stabellini, Wei Liu, xen-devel

CC ARM maintainers

On Tue, Mar 08, 2016 at 08:23:29AM +0000, Dushyant K Behl wrote:
> Hi All,
>  
> I'm working on a research project with IBM, and I want to run Xen on Nvidia
> Tegra Jetson-tk1 board.
> I looked at a post on this mailing list (http://lists.xenproject.org/archives/
> html/xen-devel/2015-03/msg01122.html),
> and I am using this git tree -
>  
> git://xenbits.xen.org/people/ianc/xen.git
> and branch  - tegra-tk1-jetson-v1
>  
> But when I try to boot Xen on the board I am not able to see any output (even
> with earlyprintk enabled).
> After jumping to Xen the board just resets without showing any output.
>  
> I am using upstream u-boot with non secure mode enabled. I have also tested
> booting the Linux kernel on the same setup
> and Linux 4.0 is able to boot with all 4 cores in HYP mode and kvm enabled.
>  
> Can anyone help me as to what I might have done wrong while using Xen?
>  
> Thanks,
> Dushyant
> 

> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Running Xen on Nvidia Jetson-TK1
  2016-03-09 13:37 ` Wei Liu
@ 2016-03-10  5:08   ` Julien Grall
  2016-03-12 14:20     ` Dushyant Behl
  0 siblings, 1 reply; 31+ messages in thread
From: Julien Grall @ 2016-03-10  5:08 UTC (permalink / raw)
  To: Dushyant K Behl; +Cc: Stefano Stabellini, Wei Liu, xen-devel

Hi Dushyant,

On 09/03/2016 20:37, Wei Liu wrote:
> On Tue, Mar 08, 2016 at 08:23:29AM +0000, Dushyant K Behl wrote:
>> I'm working on a research project with IBM, and I want to run Xen on Nvidia
>> Tegra Jetson-tk1 board.
>> I looked at a post on this mailing list (http://lists.xenproject.org/archives/
>> html/xen-devel/2015-03/msg01122.html),
>> and I am using this git tree -
>>
>> git://xenbits.xen.org/people/ianc/xen.git
>> and branch  - tegra-tk1-jetson-v1
>>
>> But when I try to boot Xen on the board I am not able to see any output (even
>> with earlyprintk enabled).
>> After jumping to Xen the board just resets without showing any output.
>>
>> I am using upstream u-boot with non secure mode enabled. I have also tested
>> booting the Linux kernel on the same setup
>> and Linux 4.0 is able to boot with all 4 cores in HYP mode and kvm enabled.
>>
>> Can anyone help me as to what I might have done wrong while using Xen?

I never tried to boot Xen on Jetson-TK1 myself.

Could you provide the command line you use to compile Xen (with 
earlyprintk enabled) and the U-boot runes?

Regards,
-- 
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Running Xen on Nvidia Jetson-TK1
  2016-03-10  5:08   ` Julien Grall
@ 2016-03-12 14:20     ` Dushyant Behl
  2016-03-12 15:27       ` Meng Xu
  0 siblings, 1 reply; 31+ messages in thread
From: Dushyant Behl @ 2016-03-12 14:20 UTC (permalink / raw)
  To: Julien Grall; +Cc: Dushyant K Behl, Xen Devel, Wei Liu, Stefano Stabellini


[-- Attachment #1.1: Type: text/plain, Size: 7276 bytes --]

Hi Julien,

Thanks for the quick reply.

On Thu, Mar 10, 2016 at 10:38 AM, Julien Grall <julien.grall@arm.com> wrote:

> Hi Dushyant,
>
> On 09/03/2016 20:37, Wei Liu wrote:
>
>> On Tue, Mar 08, 2016 at 08:23:29AM +0000, Dushyant K Behl wrote:
>>
>>> I'm working on a research project with IBM, and I want to run Xen on
>>> Nvidia
>>> Tegra Jetson-tk1 board.
>>> I looked at a post on this mailing list (
>>> http://lists.xenproject.org/archives/
>>> html/xen-devel/2015-03/msg01122.html),
>>> and I am using this git tree -
>>>
>>> git://xenbits.xen.org/people/ianc/xen.git
>>> and branch  - tegra-tk1-jetson-v1
>>>
>>> But when I try to boot Xen on the board I am not able to see any output
>>> (even
>>> with earlyprintk enabled).
>>> After jumping to Xen the board just resets without showing any output.
>>>
>>> I am using upstream u-boot with non secure mode enabled. I have also
>>> tested
>>> booting the Linux kernel on the same setup
>>> and Linux 4.0 is able to boot with all 4 cores in HYP mode and kvm
>>> enabled.
>>>
>>> Can anyone help me as to what I might have done wrong while using Xen?
>>>
>>
> I never tried to boot Xen on Jetson-TK1 myself.
>
> Could you provide the command line you use to compile Xen (with
> earlyprintk enabled) and the U-boot runes?
>

I am running a ubuntu trusty schroot and I am using the Ubuntu/Linaro
arm-linux-gnueabihf-gcc 4.7.3
as the cross compiler to compile everything. The tree which I pointed
towards (in my previous mail)
contains the earlyprintk configurations for Jetson-TK1, so I am using this
command to compile Xen with earlyprintk -

make dist-xen debug=y CONFIG_EARLY_PRINTK=jetson XEN_TARGET_ARCH=arm32

I want to update my current stage with Xen, after using this toolchain I am
able to get Xen to print output
on the Jetson-TK1's serial console and Xen is able to boot correctly with
all 4 cores in HYP mode.

But the problem is when Xen tries to boot the dom0 kernel and transfer
control, I receive no output on the serial port.
I am using Linux 4.1.0 as the dom0 kernel and the kernel is compiled with
Xen specific options enabled.
Also the same linux kernel is able to boot on the board without Xen.

I am passing the dom0 kernel argument to Xen in the /chosen node in the
device tree using these commands  -

fdt mknod /chosen module
fdt set /chosen/module compatible "xen,linux-zimage" "xen,multiboot-module"
fdt set /chosen/module reg <0x0 $kernel_addr_r 0x0 0x$filesize>
fdt set /chosen/module bootargs "$bootargs"

I am loading Xen at top of the ram and linux and device tree at their
default locations (near starting of ram).

This is the Xen BootLog which I receive through the earlyprintk serial port
-

- UART enabled -
- CPU 00000000 booting -
- Xen starting in Hyp mode -
- Zero BSS -
- Setting up control registers -
- CPU Init Done -- Turning on paging -
- Ready -
(XEN) Checking for initrd in /chosen
(XEN) RAM: 0000000080000000 - 00000000ffefffff
(XEN)
(XEN) MODULE[0]: 0000000082000000 - 0000000082010000 Device Tree
(XEN) MODULE[1]: 0000000081000000 - 0000000081544448 Kernel
(XEN)  RESVD[0]: 0000000082000000 - 0000000082010000
(XEN)
(XEN) Command line: <NULL>
(XEN) Placing Xen at 0x00000000ffc00000-0x00000000ffe00000
(XEN) Update BOOTMOD_XEN from 00000000fd000000-00000000fd0f9701 =>
00000000ffc00000-00000000ffcf9701
(XEN) Xen heap: 00000000fa000000-00000000fe000000 (16384 pages)
(XEN) Dom heap: 507648 pages
(XEN) Domain heap initialised
(XEN) Platform: TEGRA124
(XEN) No dtuart path configured
(XEN) Bad console= option 'dtuart'
 Xen 4.6-unstable
(XEN) Xen version 4.6-unstable (root@) (arm-linux-gnueabihf-gcc
(Ubuntu/Linaro 4.7.3-11ubuntu1) 4.7.3) debug=y Fri Mar 11 10:09:07 UTC 2016
(XEN) Latest ChangeSet:
(XEN) Processor: 413fc0f3: "ARM Limited", variant: 0x3, part 0xc0f, rev 0x3
(XEN) 32-bit Execution:
(XEN)   Processor Features: 00001131:00011011
(XEN)     Instruction Sets: AArch32 A32 Thumb Thumb-2 ThumbEE Jazelle
(XEN)     Extensions: GenericTimer Security
(XEN)   Debug Features: 02010555
(XEN)   Auxiliary Features: 00000000
(XEN)   Memory Model Features: 10201105 40000000 01240000 02102211
(XEN)  ISA Features: 02101110 13112111 21232041 11112131 10011142 00000000
(XEN) Using PSCI-0.1 for SMP bringup
(XEN) Generic Timer IRQ: phys=30 hyp=26 virt=27 Freq: 12000 KHz
(XEN) GICv2 initialization:
(XEN)         gic_dist_addr=0000000050041000
(XEN)         gic_cpu_addr=0000000050042000
(XEN)         gic_hyp_addr=0000000050044000
(XEN)         gic_vcpu_addr=0000000050046000
(XEN)         gic_maintenance_irq=25
(XEN) GICv2: 192 lines, 4 cpus, secure (IID 0000043b).
(XEN) Using scheduler: SMP Credit Scheduler (credit)
(XEN) I/O virtualisation disabled
(XEN) Allocated console ring of 32 KiB.
(XEN) VFP implementer 0x41 architecture 4 part 0x30 variant 0xf rev 0x0
(XEN) Bringing up CPU1
- CPU 00000001 booting -
- Xen starting in Hyp mode -
- Setting up control registers -
- CPU Init Done -- Turning on paging -
- Ready -
(XEN) CPU 1 booted.
(XEN) Bringing up CPU2
- CPU 00000002 booting -
- Xen starting in Hyp mode -
- Setting up control registers -
- CPU Init Done -- Turning on paging -
- Ready -
(XEN) CPU 2 booted.
(XEN) Bringing up CPU3
- CPU 00000003 booting -
- Xen starting in Hyp mode -
- Setting up control registers -
- CPU Init Done -- Turning on paging -
- Ready -
(XEN) CPU 3 booted.
(XEN) Brought up 4 CPUs
(XEN) P2M: 40-bit IPA
(XEN) P2M: 3 levels with order-1 root, VTCR 0x80003558
(XEN) *** LOADING DOMAIN 0 ***
(XEN) Loading kernel from boot module @ 0000000081000000
(XEN) Allocating 1:1 mappings totalling 128MB for dom0:
(XEN) BANK[0] 0x00000088000000-0x00000090000000 (128MB)
(XEN) Additional MMIO 40000-40040 (IRAM)
(XEN) Additional MMIO 54200-54240 (Display A)
(XEN) Additional MMIO 54240-54280 (Display B)
(XEN) Additional MMIO 6000f-60010 (EXCEPTION VECTORS)
(XEN) Additional MMIO 6000c-6000d (SYSREG)
(XEN) Additional MMIO 1000-1001 (PCI CFG0)
(XEN) Additional MMIO 1001-1002 (PCI CFG1)
(XEN) Additional MMIO 12000-12010 (PCI IO)
(XEN) Additional MMIO 13000-20000 (PCI MEM)
(XEN) Additional MMIO 20000-40000 (PCI MEM (PREFETCH))
(XEN) Additional IRQ 105 (DISPLAY)
(XEN) TEGRA: Routing IRQ105 to dom0, ICTLR2, mask 0x000200
(XEN) Additional IRQ 106 (DISPLAY B)
(XEN) TEGRA: Routing IRQ106 to dom0, ICTLR2, mask 0x000400
(XEN) Loading zImage from 0000000081000000 to
000000008fa00000-000000008ff44448
(XEN) Allocating PPI 16 for event channel interrupt
(XEN) Loading dom0 DTB to 0x000000008f800000-0x000000008f80f4a4
(XEN) Scrubbing Free RAM on 1 nodes using 4 CPUs
(XEN) ....done.
(XEN) Initial low memory virq threshold set at 0x4000 pages.
(XEN) Std. Loglevel: All
(XEN) Guest Loglevel: All
(XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input
to Xen)
(XEN) Freed 272kB init memory.

After this last line the system just hangs with no output on the serial
console.

Is this some problem with the way I'm passing the dom0 to Xen or the
bootargs to the kernel?
Or could it be some problem in my kernel configuration used at the time of
compiling linux?
If you want I can post my kernel .config also.

Thanks in advance.

Regards,
Dushyant


> Regards,
> --
> Julien Grall
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
>

[-- Attachment #1.2: Type: text/html, Size: 10305 bytes --]

[-- Attachment #2: Type: text/plain, Size: 126 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Running Xen on Nvidia Jetson-TK1
  2016-03-12 14:20     ` Dushyant Behl
@ 2016-03-12 15:27       ` Meng Xu
  2016-03-12 20:23         ` Dushyant Behl
  0 siblings, 1 reply; 31+ messages in thread
From: Meng Xu @ 2016-03-12 15:27 UTC (permalink / raw)
  To: Dushyant Behl
  Cc: Julien Grall, Stefano Stabellini, Wei Liu, Dushyant K Behl, Xen Devel

On Sat, Mar 12, 2016 at 9:20 AM, Dushyant Behl
<myselfdushyantbehl@gmail.com> wrote:
> Hi Julien,
>
> Thanks for the quick reply.
>
> On Thu, Mar 10, 2016 at 10:38 AM, Julien Grall <julien.grall@arm.com> wrote:
>>
>> Hi Dushyant,
>>
>> On 09/03/2016 20:37, Wei Liu wrote:
>>>
>>> On Tue, Mar 08, 2016 at 08:23:29AM +0000, Dushyant K Behl wrote:
>>>>
>>>> I'm working on a research project with IBM, and I want to run Xen on
>>>> Nvidia
>>>> Tegra Jetson-tk1 board.
>>>> I looked at a post on this mailing list
>>>> (http://lists.xenproject.org/archives/
>>>> html/xen-devel/2015-03/msg01122.html),
>>>> and I am using this git tree -
>>>>
>>>> git://xenbits.xen.org/people/ianc/xen.git
>>>> and branch  - tegra-tk1-jetson-v1
>>>>
>>>> But when I try to boot Xen on the board I am not able to see any output
>>>> (even
>>>> with earlyprintk enabled).
>>>> After jumping to Xen the board just resets without showing any output.
>>>>
>>>> I am using upstream u-boot with non secure mode enabled. I have also
>>>> tested
>>>> booting the Linux kernel on the same setup
>>>> and Linux 4.0 is able to boot with all 4 cores in HYP mode and kvm
>>>> enabled.
>>>>
>>>> Can anyone help me as to what I might have done wrong while using Xen?
>>
>>
>> I never tried to boot Xen on Jetson-TK1 myself.
>>
>> Could you provide the command line you use to compile Xen (with
>> earlyprintk enabled) and the U-boot runes?
>
>
> I am running a ubuntu trusty schroot and I am using the Ubuntu/Linaro
> arm-linux-gnueabihf-gcc 4.7.3
> as the cross compiler to compile everything. The tree which I pointed
> towards (in my previous mail)
> contains the earlyprintk configurations for Jetson-TK1, so I am using this
> command to compile Xen with earlyprintk -
>
> make dist-xen debug=y CONFIG_EARLY_PRINTK=jetson XEN_TARGET_ARCH=arm32
>
> I want to update my current stage with Xen, after using this toolchain I am
> able to get Xen to print output
> on the Jetson-TK1's serial console and Xen is able to boot correctly with
> all 4 cores in HYP mode.
>
> But the problem is when Xen tries to boot the dom0 kernel and transfer
> control, I receive no output on the serial port.
> I am using Linux 4.1.0 as the dom0 kernel and the kernel is compiled with
> Xen specific options enabled.
> Also the same linux kernel is able to boot on the board without Xen.
>
> I am passing the dom0 kernel argument to Xen in the /chosen node in the
> device tree using these commands  -
>
> fdt mknod /chosen module
> fdt set /chosen/module compatible "xen,linux-zimage" "xen,multiboot-module"
> fdt set /chosen/module reg <0x0 $kernel_addr_r 0x0 0x$filesize>
> fdt set /chosen/module bootargs "$bootargs"

I haven't run Xen on ARM yet. But just a random thought:
Is it possible that you need to provide the console=hvc0 for the boot
cmdline of dom0?

dom0 needs share the serial port with Xen.

>
> I am loading Xen at top of the ram and linux and device tree at their
> default locations (near starting of ram).
>
> This is the Xen BootLog which I receive through the earlyprintk serial port
> -
>
> - UART enabled -
> - CPU 00000000 booting -
> - Xen starting in Hyp mode -
> - Zero BSS -
> - Setting up control registers -
> - CPU Init Done -- Turning on paging -
> - Ready -
> (XEN) Checking for initrd in /chosen
> (XEN) RAM: 0000000080000000 - 00000000ffefffff
> (XEN)
> (XEN) MODULE[0]: 0000000082000000 - 0000000082010000 Device Tree
> (XEN) MODULE[1]: 0000000081000000 - 0000000081544448 Kernel
> (XEN)  RESVD[0]: 0000000082000000 - 0000000082010000
> (XEN)
> (XEN) Command line: <NULL>
> (XEN) Placing Xen at 0x00000000ffc00000-0x00000000ffe00000
> (XEN) Update BOOTMOD_XEN from 00000000fd000000-00000000fd0f9701 =>
> 00000000ffc00000-00000000ffcf9701
> (XEN) Xen heap: 00000000fa000000-00000000fe000000 (16384 pages)
> (XEN) Dom heap: 507648 pages
> (XEN) Domain heap initialised
> (XEN) Platform: TEGRA124
> (XEN) No dtuart path configured
> (XEN) Bad console= option 'dtuart'
>  Xen 4.6-unstable
> (XEN) Xen version 4.6-unstable (root@) (arm-linux-gnueabihf-gcc
> (Ubuntu/Linaro 4.7.3-11ubuntu1) 4.7.3) debug=y Fri Mar 11 10:09:07 UTC 2016
> (XEN) Latest ChangeSet:
> (XEN) Processor: 413fc0f3: "ARM Limited", variant: 0x3, part 0xc0f, rev 0x3
> (XEN) 32-bit Execution:
> (XEN)   Processor Features: 00001131:00011011
> (XEN)     Instruction Sets: AArch32 A32 Thumb Thumb-2 ThumbEE Jazelle
> (XEN)     Extensions: GenericTimer Security
> (XEN)   Debug Features: 02010555
> (XEN)   Auxiliary Features: 00000000
> (XEN)   Memory Model Features: 10201105 40000000 01240000 02102211
> (XEN)  ISA Features: 02101110 13112111 21232041 11112131 10011142 00000000
> (XEN) Using PSCI-0.1 for SMP bringup
> (XEN) Generic Timer IRQ: phys=30 hyp=26 virt=27 Freq: 12000 KHz
> (XEN) GICv2 initialization:
> (XEN)         gic_dist_addr=0000000050041000
> (XEN)         gic_cpu_addr=0000000050042000
> (XEN)         gic_hyp_addr=0000000050044000
> (XEN)         gic_vcpu_addr=0000000050046000
> (XEN)         gic_maintenance_irq=25
> (XEN) GICv2: 192 lines, 4 cpus, secure (IID 0000043b).
> (XEN) Using scheduler: SMP Credit Scheduler (credit)
> (XEN) I/O virtualisation disabled
> (XEN) Allocated console ring of 32 KiB.
> (XEN) VFP implementer 0x41 architecture 4 part 0x30 variant 0xf rev 0x0
> (XEN) Bringing up CPU1
> - CPU 00000001 booting -
> - Xen starting in Hyp mode -
> - Setting up control registers -
> - CPU Init Done -- Turning on paging -
> - Ready -
> (XEN) CPU 1 booted.
> (XEN) Bringing up CPU2
> - CPU 00000002 booting -
> - Xen starting in Hyp mode -
> - Setting up control registers -
> - CPU Init Done -- Turning on paging -
> - Ready -
> (XEN) CPU 2 booted.
> (XEN) Bringing up CPU3
> - CPU 00000003 booting -
> - Xen starting in Hyp mode -
> - Setting up control registers -
> - CPU Init Done -- Turning on paging -
> - Ready -
> (XEN) CPU 3 booted.
> (XEN) Brought up 4 CPUs
> (XEN) P2M: 40-bit IPA
> (XEN) P2M: 3 levels with order-1 root, VTCR 0x80003558
> (XEN) *** LOADING DOMAIN 0 ***
> (XEN) Loading kernel from boot module @ 0000000081000000
> (XEN) Allocating 1:1 mappings totalling 128MB for dom0:
> (XEN) BANK[0] 0x00000088000000-0x00000090000000 (128MB)
> (XEN) Additional MMIO 40000-40040 (IRAM)
> (XEN) Additional MMIO 54200-54240 (Display A)
> (XEN) Additional MMIO 54240-54280 (Display B)
> (XEN) Additional MMIO 6000f-60010 (EXCEPTION VECTORS)
> (XEN) Additional MMIO 6000c-6000d (SYSREG)
> (XEN) Additional MMIO 1000-1001 (PCI CFG0)
> (XEN) Additional MMIO 1001-1002 (PCI CFG1)
> (XEN) Additional MMIO 12000-12010 (PCI IO)
> (XEN) Additional MMIO 13000-20000 (PCI MEM)
> (XEN) Additional MMIO 20000-40000 (PCI MEM (PREFETCH))
> (XEN) Additional IRQ 105 (DISPLAY)
> (XEN) TEGRA: Routing IRQ105 to dom0, ICTLR2, mask 0x000200
> (XEN) Additional IRQ 106 (DISPLAY B)
> (XEN) TEGRA: Routing IRQ106 to dom0, ICTLR2, mask 0x000400
> (XEN) Loading zImage from 0000000081000000 to
> 000000008fa00000-000000008ff44448
> (XEN) Allocating PPI 16 for event channel interrupt
> (XEN) Loading dom0 DTB to 0x000000008f800000-0x000000008f80f4a4
> (XEN) Scrubbing Free RAM on 1 nodes using 4 CPUs
> (XEN) ....done.
> (XEN) Initial low memory virq threshold set at 0x4000 pages.
> (XEN) Std. Loglevel: All
> (XEN) Guest Loglevel: All
> (XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input to
> Xen)
> (XEN) Freed 272kB init memory.
>
> After this last line the system just hangs with no output on the serial
> console.

But is dom0 booted up?
If you have network, can you connect to it?
If dom0 did boot up, then at least we know it's some configuration issue.
Again, I haven't tried on ARM yet, but I'd love to... :-)

Best,

Meng

-- 
Meng Xu
PhD Student in Computer and Information Science
University of Pennsylvania
http://www.cis.upenn.edu/~mengxu/

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Running Xen on Nvidia Jetson-TK1
  2016-03-12 15:27       ` Meng Xu
@ 2016-03-12 20:23         ` Dushyant Behl
  2016-03-13  2:10           ` Meng Xu
  0 siblings, 1 reply; 31+ messages in thread
From: Dushyant Behl @ 2016-03-12 20:23 UTC (permalink / raw)
  To: Meng Xu
  Cc: Julien Grall, Stefano Stabellini, Wei Liu, Dushyant K Behl, Xen Devel


[-- Attachment #1.1: Type: text/plain, Size: 8835 bytes --]

Hi Meng,

On Sat, Mar 12, 2016 at 8:57 PM, Meng Xu <mengxu@cis.upenn.edu> wrote:

> On Sat, Mar 12, 2016 at 9:20 AM, Dushyant Behl
> <myselfdushyantbehl@gmail.com> wrote:
> > Hi Julien,
> >
> > Thanks for the quick reply.
> >
> > On Thu, Mar 10, 2016 at 10:38 AM, Julien Grall <julien.grall@arm.com>
> wrote:
> >>
> >> Hi Dushyant,
> >>
> >> On 09/03/2016 20:37, Wei Liu wrote:
> >>>
> >>> On Tue, Mar 08, 2016 at 08:23:29AM +0000, Dushyant K Behl wrote:
> >>>>
> >>>> I'm working on a research project with IBM, and I want to run Xen on
> >>>> Nvidia
> >>>> Tegra Jetson-tk1 board.
> >>>> I looked at a post on this mailing list
> >>>> (http://lists.xenproject.org/archives/
> >>>> html/xen-devel/2015-03/msg01122.html),
> >>>> and I am using this git tree -
> >>>>
> >>>> git://xenbits.xen.org/people/ianc/xen.git
> >>>> and branch  - tegra-tk1-jetson-v1
> >>>>
> >>>> But when I try to boot Xen on the board I am not able to see any
> output
> >>>> (even
> >>>> with earlyprintk enabled).
> >>>> After jumping to Xen the board just resets without showing any output.
> >>>>
> >>>> I am using upstream u-boot with non secure mode enabled. I have also
> >>>> tested
> >>>> booting the Linux kernel on the same setup
> >>>> and Linux 4.0 is able to boot with all 4 cores in HYP mode and kvm
> >>>> enabled.
> >>>>
> >>>> Can anyone help me as to what I might have done wrong while using Xen?
> >>
> >>
> >> I never tried to boot Xen on Jetson-TK1 myself.
> >>
> >> Could you provide the command line you use to compile Xen (with
> >> earlyprintk enabled) and the U-boot runes?
> >
> >
> > I am running a ubuntu trusty schroot and I am using the Ubuntu/Linaro
> > arm-linux-gnueabihf-gcc 4.7.3
> > as the cross compiler to compile everything. The tree which I pointed
> > towards (in my previous mail)
> > contains the earlyprintk configurations for Jetson-TK1, so I am using
> this
> > command to compile Xen with earlyprintk -
> >
> > make dist-xen debug=y CONFIG_EARLY_PRINTK=jetson XEN_TARGET_ARCH=arm32
> >
> > I want to update my current stage with Xen, after using this toolchain I
> am
> > able to get Xen to print output
> > on the Jetson-TK1's serial console and Xen is able to boot correctly with
> > all 4 cores in HYP mode.
> >
> > But the problem is when Xen tries to boot the dom0 kernel and transfer
> > control, I receive no output on the serial port.
> > I am using Linux 4.1.0 as the dom0 kernel and the kernel is compiled with
> > Xen specific options enabled.
> > Also the same linux kernel is able to boot on the board without Xen.
> >
> > I am passing the dom0 kernel argument to Xen in the /chosen node in the
> > device tree using these commands  -
> >
> > fdt mknod /chosen module
> > fdt set /chosen/module compatible "xen,linux-zimage"
> "xen,multiboot-module"
> > fdt set /chosen/module reg <0x0 $kernel_addr_r 0x0 0x$filesize>
> > fdt set /chosen/module bootargs "$bootargs"
>
> I haven't run Xen on ARM yet. But just a random thought:
> Is it possible that you need to provide the console=hvc0 for the boot
> cmdline of dom0?
>
> dom0 needs share the serial port with Xen.


I have added the serial port in the bootargs passed to the kernel. The
bootargs
passed to the dom0 when executing with Xen are the same bootargs which I
pass
when I run the kernel standalone without Xen and at that time I am able to
see the
kernel bootlog and a tty console on the serial port.


> >
> > I am loading Xen at top of the ram and linux and device tree at their
> > default locations (near starting of ram).
> >
> > This is the Xen BootLog which I receive through the earlyprintk serial
> port
> > -
> >
> > - UART enabled -
> > - CPU 00000000 booting -
> > - Xen starting in Hyp mode -
> > - Zero BSS -
> > - Setting up control registers -
> > - CPU Init Done -- Turning on paging -
> > - Ready -
> > (XEN) Checking for initrd in /chosen
> > (XEN) RAM: 0000000080000000 - 00000000ffefffff
> > (XEN)
> > (XEN) MODULE[0]: 0000000082000000 - 0000000082010000 Device Tree
> > (XEN) MODULE[1]: 0000000081000000 - 0000000081544448 Kernel
> > (XEN)  RESVD[0]: 0000000082000000 - 0000000082010000
> > (XEN)
> > (XEN) Command line: <NULL>
> > (XEN) Placing Xen at 0x00000000ffc00000-0x00000000ffe00000
> > (XEN) Update BOOTMOD_XEN from 00000000fd000000-00000000fd0f9701 =>
> > 00000000ffc00000-00000000ffcf9701
> > (XEN) Xen heap: 00000000fa000000-00000000fe000000 (16384 pages)
> > (XEN) Dom heap: 507648 pages
> > (XEN) Domain heap initialised
> > (XEN) Platform: TEGRA124
> > (XEN) No dtuart path configured
> > (XEN) Bad console= option 'dtuart'
> >  Xen 4.6-unstable
> > (XEN) Xen version 4.6-unstable (root@) (arm-linux-gnueabihf-gcc
> > (Ubuntu/Linaro 4.7.3-11ubuntu1) 4.7.3) debug=y Fri Mar 11 10:09:07 UTC
> 2016
> > (XEN) Latest ChangeSet:
> > (XEN) Processor: 413fc0f3: "ARM Limited", variant: 0x3, part 0xc0f, rev
> 0x3
> > (XEN) 32-bit Execution:
> > (XEN)   Processor Features: 00001131:00011011
> > (XEN)     Instruction Sets: AArch32 A32 Thumb Thumb-2 ThumbEE Jazelle
> > (XEN)     Extensions: GenericTimer Security
> > (XEN)   Debug Features: 02010555
> > (XEN)   Auxiliary Features: 00000000
> > (XEN)   Memory Model Features: 10201105 40000000 01240000 02102211
> > (XEN)  ISA Features: 02101110 13112111 21232041 11112131 10011142
> 00000000
> > (XEN) Using PSCI-0.1 for SMP bringup
> > (XEN) Generic Timer IRQ: phys=30 hyp=26 virt=27 Freq: 12000 KHz
> > (XEN) GICv2 initialization:
> > (XEN)         gic_dist_addr=0000000050041000
> > (XEN)         gic_cpu_addr=0000000050042000
> > (XEN)         gic_hyp_addr=0000000050044000
> > (XEN)         gic_vcpu_addr=0000000050046000
> > (XEN)         gic_maintenance_irq=25
> > (XEN) GICv2: 192 lines, 4 cpus, secure (IID 0000043b).
> > (XEN) Using scheduler: SMP Credit Scheduler (credit)
> > (XEN) I/O virtualisation disabled
> > (XEN) Allocated console ring of 32 KiB.
> > (XEN) VFP implementer 0x41 architecture 4 part 0x30 variant 0xf rev 0x0
> > (XEN) Bringing up CPU1
> > - CPU 00000001 booting -
> > - Xen starting in Hyp mode -
> > - Setting up control registers -
> > - CPU Init Done -- Turning on paging -
> > - Ready -
> > (XEN) CPU 1 booted.
> > (XEN) Bringing up CPU2
> > - CPU 00000002 booting -
> > - Xen starting in Hyp mode -
> > - Setting up control registers -
> > - CPU Init Done -- Turning on paging -
> > - Ready -
> > (XEN) CPU 2 booted.
> > (XEN) Bringing up CPU3
> > - CPU 00000003 booting -
> > - Xen starting in Hyp mode -
> > - Setting up control registers -
> > - CPU Init Done -- Turning on paging -
> > - Ready -
> > (XEN) CPU 3 booted.
> > (XEN) Brought up 4 CPUs
> > (XEN) P2M: 40-bit IPA
> > (XEN) P2M: 3 levels with order-1 root, VTCR 0x80003558
> > (XEN) *** LOADING DOMAIN 0 ***
> > (XEN) Loading kernel from boot module @ 0000000081000000
> > (XEN) Allocating 1:1 mappings totalling 128MB for dom0:
> > (XEN) BANK[0] 0x00000088000000-0x00000090000000 (128MB)
> > (XEN) Additional MMIO 40000-40040 (IRAM)
> > (XEN) Additional MMIO 54200-54240 (Display A)
> > (XEN) Additional MMIO 54240-54280 (Display B)
> > (XEN) Additional MMIO 6000f-60010 (EXCEPTION VECTORS)
> > (XEN) Additional MMIO 6000c-6000d (SYSREG)
> > (XEN) Additional MMIO 1000-1001 (PCI CFG0)
> > (XEN) Additional MMIO 1001-1002 (PCI CFG1)
> > (XEN) Additional MMIO 12000-12010 (PCI IO)
> > (XEN) Additional MMIO 13000-20000 (PCI MEM)
> > (XEN) Additional MMIO 20000-40000 (PCI MEM (PREFETCH))
> > (XEN) Additional IRQ 105 (DISPLAY)
> > (XEN) TEGRA: Routing IRQ105 to dom0, ICTLR2, mask 0x000200
> > (XEN) Additional IRQ 106 (DISPLAY B)
> > (XEN) TEGRA: Routing IRQ106 to dom0, ICTLR2, mask 0x000400
> > (XEN) Loading zImage from 0000000081000000 to
> > 000000008fa00000-000000008ff44448
> > (XEN) Allocating PPI 16 for event channel interrupt
> > (XEN) Loading dom0 DTB to 0x000000008f800000-0x000000008f80f4a4
> > (XEN) Scrubbing Free RAM on 1 nodes using 4 CPUs
> > (XEN) ....done.
> > (XEN) Initial low memory virq threshold set at 0x4000 pages.
> > (XEN) Std. Loglevel: All
> > (XEN) Guest Loglevel: All
> > (XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch
> input to
> > Xen)
> > (XEN) Freed 272kB init memory.
> >
> > After this last line the system just hangs with no output on the serial
> > console.
>
> But is dom0 booted up?
> If you have network, can you connect to it?
> If dom0 did boot up, then at least we know it's some configuration issue.
> Again, I haven't tried on ARM yet, but I'd love to... :-)


Yes, I have network on the board and I have configured the board to get
fixed ip from my local
network but even after waiting sometime I am not able to see any network
response from the board.
So I guessed maybe the dom0 is not booting correctly.

Thanks,
Dushyant


>
> Best,
>
> Meng
>
> --
> Meng Xu
> PhD Student in Computer and Information Science
> University of Pennsylvania
> http://www.cis.upenn.edu/~mengxu/
>

[-- Attachment #1.2: Type: text/html, Size: 11571 bytes --]

[-- Attachment #2: Type: text/plain, Size: 126 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Running Xen on Nvidia Jetson-TK1
  2016-03-12 20:23         ` Dushyant Behl
@ 2016-03-13  2:10           ` Meng Xu
  2016-03-14  9:31             ` Dushyant Behl
  0 siblings, 1 reply; 31+ messages in thread
From: Meng Xu @ 2016-03-13  2:10 UTC (permalink / raw)
  To: Dushyant Behl
  Cc: Julien Grall, Stefano Stabellini, Wei Liu, Dushyant K Behl, Xen Devel

On Sat, Mar 12, 2016 at 3:23 PM, Dushyant Behl
<myselfdushyantbehl@gmail.com> wrote:
> Hi Meng,
>
> On Sat, Mar 12, 2016 at 8:57 PM, Meng Xu <mengxu@cis.upenn.edu> wrote:
>>
>> On Sat, Mar 12, 2016 at 9:20 AM, Dushyant Behl
>> <myselfdushyantbehl@gmail.com> wrote:
>> > Hi Julien,
>> >
>> > Thanks for the quick reply.
>> >
>> > On Thu, Mar 10, 2016 at 10:38 AM, Julien Grall <julien.grall@arm.com>
>> > wrote:
>> >>
>> >> Hi Dushyant,
>> >>
>> >> On 09/03/2016 20:37, Wei Liu wrote:
>> >>>
>> >>> On Tue, Mar 08, 2016 at 08:23:29AM +0000, Dushyant K Behl wrote:
>> >>>>
>> >>>> I'm working on a research project with IBM, and I want to run Xen on
>> >>>> Nvidia
>> >>>> Tegra Jetson-tk1 board.
>> >>>> I looked at a post on this mailing list
>> >>>> (http://lists.xenproject.org/archives/
>> >>>> html/xen-devel/2015-03/msg01122.html),
>> >>>> and I am using this git tree -
>> >>>>
>> >>>> git://xenbits.xen.org/people/ianc/xen.git
>> >>>> and branch  - tegra-tk1-jetson-v1
>> >>>>
>> >>>> But when I try to boot Xen on the board I am not able to see any
>> >>>> output
>> >>>> (even
>> >>>> with earlyprintk enabled).
>> >>>> After jumping to Xen the board just resets without showing any
>> >>>> output.
>> >>>>
>> >>>> I am using upstream u-boot with non secure mode enabled. I have also
>> >>>> tested
>> >>>> booting the Linux kernel on the same setup
>> >>>> and Linux 4.0 is able to boot with all 4 cores in HYP mode and kvm
>> >>>> enabled.
>> >>>>
>> >>>> Can anyone help me as to what I might have done wrong while using
>> >>>> Xen?
>> >>
>> >>
>> >> I never tried to boot Xen on Jetson-TK1 myself.
>> >>
>> >> Could you provide the command line you use to compile Xen (with
>> >> earlyprintk enabled) and the U-boot runes?
>> >
>> >
>> > I am running a ubuntu trusty schroot and I am using the Ubuntu/Linaro
>> > arm-linux-gnueabihf-gcc 4.7.3
>> > as the cross compiler to compile everything. The tree which I pointed
>> > towards (in my previous mail)
>> > contains the earlyprintk configurations for Jetson-TK1, so I am using
>> > this
>> > command to compile Xen with earlyprintk -
>> >
>> > make dist-xen debug=y CONFIG_EARLY_PRINTK=jetson XEN_TARGET_ARCH=arm32
>> >
>> > I want to update my current stage with Xen, after using this toolchain I
>> > am
>> > able to get Xen to print output
>> > on the Jetson-TK1's serial console and Xen is able to boot correctly
>> > with
>> > all 4 cores in HYP mode.
>> >
>> > But the problem is when Xen tries to boot the dom0 kernel and transfer
>> > control, I receive no output on the serial port.
>> > I am using Linux 4.1.0 as the dom0 kernel and the kernel is compiled
>> > with
>> > Xen specific options enabled.
>> > Also the same linux kernel is able to boot on the board without Xen.
>> >
>> > I am passing the dom0 kernel argument to Xen in the /chosen node in the
>> > device tree using these commands  -
>> >
>> > fdt mknod /chosen module
>> > fdt set /chosen/module compatible "xen,linux-zimage"
>> > "xen,multiboot-module"
>> > fdt set /chosen/module reg <0x0 $kernel_addr_r 0x0 0x$filesize>
>> > fdt set /chosen/module bootargs "$bootargs"
>>
>> I haven't run Xen on ARM yet. But just a random thought:
>> Is it possible that you need to provide the console=hvc0 for the boot
>> cmdline of dom0?
>>
>> dom0 needs share the serial port with Xen.
>
>
> I have added the serial port in the bootargs passed to the kernel. The
> bootargs
> passed to the dom0 when executing with Xen are the same bootargs which I
> pass
> when I run the kernel standalone without Xen and at that time I am able to
> see the
> kernel bootlog and a tty console on the serial port.

Ahha, that's the problem!

when Linux runs in native env., it will use serial port, say com1, you
can use console=com1 or console ttyS0 for the boot cmd.
However, when you run linux in dom0, linux won't see the hardware
ttyS0 directly. It must go through Xen to see it. So the linux's
cmdline in dom0 must be console=hvc0, instead of ttyS0 or com1.

Can you try this and see if it fix the problem?

>
>>
>> >
>> > I am loading Xen at top of the ram and linux and device tree at their
>> > default locations (near starting of ram).
>> >
>> > This is the Xen BootLog which I receive through the earlyprintk serial
>> > port
>> > -
>> >
>> > - UART enabled -
>> > - CPU 00000000 booting -
>> > - Xen starting in Hyp mode -
>> > - Zero BSS -
>> > - Setting up control registers -
>> > - CPU Init Done -- Turning on paging -
>> > - Ready -
>> > (XEN) Checking for initrd in /chosen
>> > (XEN) RAM: 0000000080000000 - 00000000ffefffff
>> > (XEN)
>> > (XEN) MODULE[0]: 0000000082000000 - 0000000082010000 Device Tree
>> > (XEN) MODULE[1]: 0000000081000000 - 0000000081544448 Kernel
>> > (XEN)  RESVD[0]: 0000000082000000 - 0000000082010000
>> > (XEN)
>> > (XEN) Command line: <NULL>
>> > (XEN) Placing Xen at 0x00000000ffc00000-0x00000000ffe00000
>> > (XEN) Update BOOTMOD_XEN from 00000000fd000000-00000000fd0f9701 =>
>> > 00000000ffc00000-00000000ffcf9701
>> > (XEN) Xen heap: 00000000fa000000-00000000fe000000 (16384 pages)
>> > (XEN) Dom heap: 507648 pages
>> > (XEN) Domain heap initialised
>> > (XEN) Platform: TEGRA124
>> > (XEN) No dtuart path configured
>> > (XEN) Bad console= option 'dtuart'
>> >  Xen 4.6-unstable
>> > (XEN) Xen version 4.6-unstable (root@) (arm-linux-gnueabihf-gcc
>> > (Ubuntu/Linaro 4.7.3-11ubuntu1) 4.7.3) debug=y Fri Mar 11 10:09:07 UTC
>> > 2016
>> > (XEN) Latest ChangeSet:
>> > (XEN) Processor: 413fc0f3: "ARM Limited", variant: 0x3, part 0xc0f, rev
>> > 0x3
>> > (XEN) 32-bit Execution:
>> > (XEN)   Processor Features: 00001131:00011011
>> > (XEN)     Instruction Sets: AArch32 A32 Thumb Thumb-2 ThumbEE Jazelle
>> > (XEN)     Extensions: GenericTimer Security
>> > (XEN)   Debug Features: 02010555
>> > (XEN)   Auxiliary Features: 00000000
>> > (XEN)   Memory Model Features: 10201105 40000000 01240000 02102211
>> > (XEN)  ISA Features: 02101110 13112111 21232041 11112131 10011142
>> > 00000000
>> > (XEN) Using PSCI-0.1 for SMP bringup
>> > (XEN) Generic Timer IRQ: phys=30 hyp=26 virt=27 Freq: 12000 KHz
>> > (XEN) GICv2 initialization:
>> > (XEN)         gic_dist_addr=0000000050041000
>> > (XEN)         gic_cpu_addr=0000000050042000
>> > (XEN)         gic_hyp_addr=0000000050044000
>> > (XEN)         gic_vcpu_addr=0000000050046000
>> > (XEN)         gic_maintenance_irq=25
>> > (XEN) GICv2: 192 lines, 4 cpus, secure (IID 0000043b).
>> > (XEN) Using scheduler: SMP Credit Scheduler (credit)
>> > (XEN) I/O virtualisation disabled
>> > (XEN) Allocated console ring of 32 KiB.
>> > (XEN) VFP implementer 0x41 architecture 4 part 0x30 variant 0xf rev 0x0
>> > (XEN) Bringing up CPU1
>> > - CPU 00000001 booting -
>> > - Xen starting in Hyp mode -
>> > - Setting up control registers -
>> > - CPU Init Done -- Turning on paging -
>> > - Ready -
>> > (XEN) CPU 1 booted.
>> > (XEN) Bringing up CPU2
>> > - CPU 00000002 booting -
>> > - Xen starting in Hyp mode -
>> > - Setting up control registers -
>> > - CPU Init Done -- Turning on paging -
>> > - Ready -
>> > (XEN) CPU 2 booted.
>> > (XEN) Bringing up CPU3
>> > - CPU 00000003 booting -
>> > - Xen starting in Hyp mode -
>> > - Setting up control registers -
>> > - CPU Init Done -- Turning on paging -
>> > - Ready -
>> > (XEN) CPU 3 booted.
>> > (XEN) Brought up 4 CPUs
>> > (XEN) P2M: 40-bit IPA
>> > (XEN) P2M: 3 levels with order-1 root, VTCR 0x80003558
>> > (XEN) *** LOADING DOMAIN 0 ***
>> > (XEN) Loading kernel from boot module @ 0000000081000000
>> > (XEN) Allocating 1:1 mappings totalling 128MB for dom0:
>> > (XEN) BANK[0] 0x00000088000000-0x00000090000000 (128MB)
>> > (XEN) Additional MMIO 40000-40040 (IRAM)
>> > (XEN) Additional MMIO 54200-54240 (Display A)
>> > (XEN) Additional MMIO 54240-54280 (Display B)
>> > (XEN) Additional MMIO 6000f-60010 (EXCEPTION VECTORS)
>> > (XEN) Additional MMIO 6000c-6000d (SYSREG)
>> > (XEN) Additional MMIO 1000-1001 (PCI CFG0)
>> > (XEN) Additional MMIO 1001-1002 (PCI CFG1)
>> > (XEN) Additional MMIO 12000-12010 (PCI IO)
>> > (XEN) Additional MMIO 13000-20000 (PCI MEM)
>> > (XEN) Additional MMIO 20000-40000 (PCI MEM (PREFETCH))
>> > (XEN) Additional IRQ 105 (DISPLAY)
>> > (XEN) TEGRA: Routing IRQ105 to dom0, ICTLR2, mask 0x000200
>> > (XEN) Additional IRQ 106 (DISPLAY B)
>> > (XEN) TEGRA: Routing IRQ106 to dom0, ICTLR2, mask 0x000400
>> > (XEN) Loading zImage from 0000000081000000 to
>> > 000000008fa00000-000000008ff44448
>> > (XEN) Allocating PPI 16 for event channel interrupt
>> > (XEN) Loading dom0 DTB to 0x000000008f800000-0x000000008f80f4a4
>> > (XEN) Scrubbing Free RAM on 1 nodes using 4 CPUs
>> > (XEN) ....done.
>> > (XEN) Initial low memory virq threshold set at 0x4000 pages.
>> > (XEN) Std. Loglevel: All
>> > (XEN) Guest Loglevel: All
>> > (XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch
>> > input to
>> > Xen)
>> > (XEN) Freed 272kB init memory.
>> >
>> > After this last line the system just hangs with no output on the serial
>> > console.
>>
>> But is dom0 booted up?
>> If you have network, can you connect to it?
>> If dom0 did boot up, then at least we know it's some configuration issue.
>> Again, I haven't tried on ARM yet, but I'd love to... :-)
>
>
> Yes, I have network on the board and I have configured the board to get
> fixed ip from my local
> network but even after waiting sometime I am not able to see any network
> response from the board.
> So I guessed maybe the dom0 is not booting correctly.

Hmm, probably... If Linux in dom0 have network on bare metal, it
should have network in dom0 after you boot Xen 4.5+.
Probably you can try the above suggestion and see if you can see some
interesting log?

Meng

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Running Xen on Nvidia Jetson-TK1
  2016-03-13  2:10           ` Meng Xu
@ 2016-03-14  9:31             ` Dushyant Behl
  2016-03-14 14:12               ` Konrad Rzeszutek Wilk
  0 siblings, 1 reply; 31+ messages in thread
From: Dushyant Behl @ 2016-03-14  9:31 UTC (permalink / raw)
  To: Meng Xu
  Cc: Julien Grall, Stefano Stabellini, Wei Liu, Dushyant K Behl, Xen Devel


[-- Attachment #1.1: Type: text/plain, Size: 10711 bytes --]

Hi Meng,

On Sun, Mar 13, 2016 at 7:40 AM, Meng Xu <xumengpanda@gmail.com> wrote:

> On Sat, Mar 12, 2016 at 3:23 PM, Dushyant Behl
> <myselfdushyantbehl@gmail.com> wrote:
> > Hi Meng,
> >
> > On Sat, Mar 12, 2016 at 8:57 PM, Meng Xu <mengxu@cis.upenn.edu> wrote:
> >>
> >> On Sat, Mar 12, 2016 at 9:20 AM, Dushyant Behl
> >> <myselfdushyantbehl@gmail.com> wrote:
> >> > Hi Julien,
> >> >
> >> > Thanks for the quick reply.
> >> >
> >> > On Thu, Mar 10, 2016 at 10:38 AM, Julien Grall <julien.grall@arm.com>
> >> > wrote:
> >> >>
> >> >> Hi Dushyant,
> >> >>
> >> >> On 09/03/2016 20:37, Wei Liu wrote:
> >> >>>
> >> >>> On Tue, Mar 08, 2016 at 08:23:29AM +0000, Dushyant K Behl wrote:
> >> >>>>
> >> >>>> I'm working on a research project with IBM, and I want to run Xen
> on
> >> >>>> Nvidia
> >> >>>> Tegra Jetson-tk1 board.
> >> >>>> I looked at a post on this mailing list
> >> >>>> (http://lists.xenproject.org/archives/
> >> >>>> html/xen-devel/2015-03/msg01122.html),
> >> >>>> and I am using this git tree -
> >> >>>>
> >> >>>> git://xenbits.xen.org/people/ianc/xen.git
> >> >>>> and branch  - tegra-tk1-jetson-v1
> >> >>>>
> >> >>>> But when I try to boot Xen on the board I am not able to see any
> >> >>>> output
> >> >>>> (even
> >> >>>> with earlyprintk enabled).
> >> >>>> After jumping to Xen the board just resets without showing any
> >> >>>> output.
> >> >>>>
> >> >>>> I am using upstream u-boot with non secure mode enabled. I have
> also
> >> >>>> tested
> >> >>>> booting the Linux kernel on the same setup
> >> >>>> and Linux 4.0 is able to boot with all 4 cores in HYP mode and kvm
> >> >>>> enabled.
> >> >>>>
> >> >>>> Can anyone help me as to what I might have done wrong while using
> >> >>>> Xen?
> >> >>
> >> >>
> >> >> I never tried to boot Xen on Jetson-TK1 myself.
> >> >>
> >> >> Could you provide the command line you use to compile Xen (with
> >> >> earlyprintk enabled) and the U-boot runes?
> >> >
> >> >
> >> > I am running a ubuntu trusty schroot and I am using the Ubuntu/Linaro
> >> > arm-linux-gnueabihf-gcc 4.7.3
> >> > as the cross compiler to compile everything. The tree which I pointed
> >> > towards (in my previous mail)
> >> > contains the earlyprintk configurations for Jetson-TK1, so I am using
> >> > this
> >> > command to compile Xen with earlyprintk -
> >> >
> >> > make dist-xen debug=y CONFIG_EARLY_PRINTK=jetson XEN_TARGET_ARCH=arm32
> >> >
> >> > I want to update my current stage with Xen, after using this
> toolchain I
> >> > am
> >> > able to get Xen to print output
> >> > on the Jetson-TK1's serial console and Xen is able to boot correctly
> >> > with
> >> > all 4 cores in HYP mode.
> >> >
> >> > But the problem is when Xen tries to boot the dom0 kernel and transfer
> >> > control, I receive no output on the serial port.
> >> > I am using Linux 4.1.0 as the dom0 kernel and the kernel is compiled
> >> > with
> >> > Xen specific options enabled.
> >> > Also the same linux kernel is able to boot on the board without Xen.
> >> >
> >> > I am passing the dom0 kernel argument to Xen in the /chosen node in
> the
> >> > device tree using these commands  -
> >> >
> >> > fdt mknod /chosen module
> >> > fdt set /chosen/module compatible "xen,linux-zimage"
> >> > "xen,multiboot-module"
> >> > fdt set /chosen/module reg <0x0 $kernel_addr_r 0x0 0x$filesize>
> >> > fdt set /chosen/module bootargs "$bootargs"
> >>
> >> I haven't run Xen on ARM yet. But just a random thought:
> >> Is it possible that you need to provide the console=hvc0 for the boot
> >> cmdline of dom0?
> >>
> >> dom0 needs share the serial port with Xen.
> >
> >
> > I have added the serial port in the bootargs passed to the kernel. The
> > bootargs
> > passed to the dom0 when executing with Xen are the same bootargs which I
> > pass
> > when I run the kernel standalone without Xen and at that time I am able
> to
> > see the
> > kernel bootlog and a tty console on the serial port.
>
> Ahha, that's the problem!
>
> when Linux runs in native env., it will use serial port, say com1, you
> can use console=com1 or console ttyS0 for the boot cmd.
> However, when you run linux in dom0, linux won't see the hardware
> ttyS0 directly. It must go through Xen to see it. So the linux's
> cmdline in dom0 must be console=hvc0, instead of ttyS0 or com1.
>
> Can you try this and see if it fix the problem?


Thanks for pointing this out, I changed the console name when booting linux
as dom0.

>
> >>
> >> >
> >> > I am loading Xen at top of the ram and linux and device tree at their
> >> > default locations (near starting of ram).
> >> >
> >> > This is the Xen BootLog which I receive through the earlyprintk serial
> >> > port
> >> > -
> >> >
> >> > - UART enabled -
> >> > - CPU 00000000 booting -
> >> > - Xen starting in Hyp mode -
> >> > - Zero BSS -
> >> > - Setting up control registers -
> >> > - CPU Init Done -- Turning on paging -
> >> > - Ready -
> >> > (XEN) Checking for initrd in /chosen
> >> > (XEN) RAM: 0000000080000000 - 00000000ffefffff
> >> > (XEN)
> >> > (XEN) MODULE[0]: 0000000082000000 - 0000000082010000 Device Tree
> >> > (XEN) MODULE[1]: 0000000081000000 - 0000000081544448 Kernel
> >> > (XEN)  RESVD[0]: 0000000082000000 - 0000000082010000
> >> > (XEN)
> >> > (XEN) Command line: <NULL>
> >> > (XEN) Placing Xen at 0x00000000ffc00000-0x00000000ffe00000
> >> > (XEN) Update BOOTMOD_XEN from 00000000fd000000-00000000fd0f9701 =>
> >> > 00000000ffc00000-00000000ffcf9701
> >> > (XEN) Xen heap: 00000000fa000000-00000000fe000000 (16384 pages)
> >> > (XEN) Dom heap: 507648 pages
> >> > (XEN) Domain heap initialised
> >> > (XEN) Platform: TEGRA124
> >> > (XEN) No dtuart path configured
> >> > (XEN) Bad console= option 'dtuart'
> >> >  Xen 4.6-unstable
> >> > (XEN) Xen version 4.6-unstable (root@) (arm-linux-gnueabihf-gcc
> >> > (Ubuntu/Linaro 4.7.3-11ubuntu1) 4.7.3) debug=y Fri Mar 11 10:09:07 UTC
> >> > 2016
> >> > (XEN) Latest ChangeSet:
> >> > (XEN) Processor: 413fc0f3: "ARM Limited", variant: 0x3, part 0xc0f,
> rev
> >> > 0x3
> >> > (XEN) 32-bit Execution:
> >> > (XEN)   Processor Features: 00001131:00011011
> >> > (XEN)     Instruction Sets: AArch32 A32 Thumb Thumb-2 ThumbEE Jazelle
> >> > (XEN)     Extensions: GenericTimer Security
> >> > (XEN)   Debug Features: 02010555
> >> > (XEN)   Auxiliary Features: 00000000
> >> > (XEN)   Memory Model Features: 10201105 40000000 01240000 02102211
> >> > (XEN)  ISA Features: 02101110 13112111 21232041 11112131 10011142
> >> > 00000000
> >> > (XEN) Using PSCI-0.1 for SMP bringup
> >> > (XEN) Generic Timer IRQ: phys=30 hyp=26 virt=27 Freq: 12000 KHz
> >> > (XEN) GICv2 initialization:
> >> > (XEN)         gic_dist_addr=0000000050041000
> >> > (XEN)         gic_cpu_addr=0000000050042000
> >> > (XEN)         gic_hyp_addr=0000000050044000
> >> > (XEN)         gic_vcpu_addr=0000000050046000
> >> > (XEN)         gic_maintenance_irq=25
> >> > (XEN) GICv2: 192 lines, 4 cpus, secure (IID 0000043b).
> >> > (XEN) Using scheduler: SMP Credit Scheduler (credit)
> >> > (XEN) I/O virtualisation disabled
> >> > (XEN) Allocated console ring of 32 KiB.
> >> > (XEN) VFP implementer 0x41 architecture 4 part 0x30 variant 0xf rev
> 0x0
> >> > (XEN) Bringing up CPU1
> >> > - CPU 00000001 booting -
> >> > - Xen starting in Hyp mode -
> >> > - Setting up control registers -
> >> > - CPU Init Done -- Turning on paging -
> >> > - Ready -
> >> > (XEN) CPU 1 booted.
> >> > (XEN) Bringing up CPU2
> >> > - CPU 00000002 booting -
> >> > - Xen starting in Hyp mode -
> >> > - Setting up control registers -
> >> > - CPU Init Done -- Turning on paging -
> >> > - Ready -
> >> > (XEN) CPU 2 booted.
> >> > (XEN) Bringing up CPU3
> >> > - CPU 00000003 booting -
> >> > - Xen starting in Hyp mode -
> >> > - Setting up control registers -
> >> > - CPU Init Done -- Turning on paging -
> >> > - Ready -
> >> > (XEN) CPU 3 booted.
> >> > (XEN) Brought up 4 CPUs
> >> > (XEN) P2M: 40-bit IPA
> >> > (XEN) P2M: 3 levels with order-1 root, VTCR 0x80003558
> >> > (XEN) *** LOADING DOMAIN 0 ***
> >> > (XEN) Loading kernel from boot module @ 0000000081000000
> >> > (XEN) Allocating 1:1 mappings totalling 128MB for dom0:
> >> > (XEN) BANK[0] 0x00000088000000-0x00000090000000 (128MB)
> >> > (XEN) Additional MMIO 40000-40040 (IRAM)
> >> > (XEN) Additional MMIO 54200-54240 (Display A)
> >> > (XEN) Additional MMIO 54240-54280 (Display B)
> >> > (XEN) Additional MMIO 6000f-60010 (EXCEPTION VECTORS)
> >> > (XEN) Additional MMIO 6000c-6000d (SYSREG)
> >> > (XEN) Additional MMIO 1000-1001 (PCI CFG0)
> >> > (XEN) Additional MMIO 1001-1002 (PCI CFG1)
> >> > (XEN) Additional MMIO 12000-12010 (PCI IO)
> >> > (XEN) Additional MMIO 13000-20000 (PCI MEM)
> >> > (XEN) Additional MMIO 20000-40000 (PCI MEM (PREFETCH))
> >> > (XEN) Additional IRQ 105 (DISPLAY)
> >> > (XEN) TEGRA: Routing IRQ105 to dom0, ICTLR2, mask 0x000200
> >> > (XEN) Additional IRQ 106 (DISPLAY B)
> >> > (XEN) TEGRA: Routing IRQ106 to dom0, ICTLR2, mask 0x000400
> >> > (XEN) Loading zImage from 0000000081000000 to
> >> > 000000008fa00000-000000008ff44448
> >> > (XEN) Allocating PPI 16 for event channel interrupt
> >> > (XEN) Loading dom0 DTB to 0x000000008f800000-0x000000008f80f4a4
> >> > (XEN) Scrubbing Free RAM on 1 nodes using 4 CPUs
> >> > (XEN) ....done.
> >> > (XEN) Initial low memory virq threshold set at 0x4000 pages.
> >> > (XEN) Std. Loglevel: All
> >> > (XEN) Guest Loglevel: All
> >> > (XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch
> >> > input to
> >> > Xen)
> >> > (XEN) Freed 272kB init memory.
> >> >
> >> > After this last line the system just hangs with no output on the
> serial
> >> > console.
> >>
> >> But is dom0 booted up?
> >> If you have network, can you connect to it?
> >> If dom0 did boot up, then at least we know it's some configuration
> issue.
> >> Again, I haven't tried on ARM yet, but I'd love to... :-)
> >
> >
> > Yes, I have network on the board and I have configured the board to get
> > fixed ip from my local
> > network but even after waiting sometime I am not able to see any network
> > response from the board.
> > So I guessed maybe the dom0 is not booting correctly.
>
> Hmm, probably... If Linux in dom0 have network on bare metal, it
> should have network in dom0 after you boot Xen 4.5+.
> Probably you can try the above suggestion and see if you can see some
> interesting log?
>

After changing the console name to hvc0 the only thing which I noticed
differently is
that after the last line where Xen frees some init memory, I am able to see
the linux
kernel decompression message -

"(XEN) DOM0: Uncompressing Linux... done, booting the kernel.

But after that the system just hangs the same way without any response on
the network either.

Thanks,
Dushyant

[-- Attachment #1.2: Type: text/html, Size: 15002 bytes --]

[-- Attachment #2: Type: text/plain, Size: 126 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Running Xen on Nvidia Jetson-TK1
  2016-03-14  9:31             ` Dushyant Behl
@ 2016-03-14 14:12               ` Konrad Rzeszutek Wilk
  2016-03-14 14:19                 ` Dushyant Behl
  0 siblings, 1 reply; 31+ messages in thread
From: Konrad Rzeszutek Wilk @ 2016-03-14 14:12 UTC (permalink / raw)
  To: Dushyant Behl
  Cc: Wei Liu, Stefano Stabellini, Dushyant K Behl, Xen Devel,
	Julien Grall, Meng Xu

> After changing the console name to hvc0 the only thing which I noticed
> differently is
> that after the last line where Xen frees some init memory, I am able to see
> the linux
> kernel decompression message -
> 
> "(XEN) DOM0: Uncompressing Linux... done, booting the kernel.
> 
> But after that the system just hangs the same way without any response on
> the network either.

Has Linux been compiled with the appropiate CONFIG_ parameters? That is you
have Xen enabled on it?

> 
> Thanks,
> Dushyant

> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Running Xen on Nvidia Jetson-TK1
  2016-03-14 14:12               ` Konrad Rzeszutek Wilk
@ 2016-03-14 14:19                 ` Dushyant Behl
  2016-03-17 14:52                   ` Julien Grall
  0 siblings, 1 reply; 31+ messages in thread
From: Dushyant Behl @ 2016-03-14 14:19 UTC (permalink / raw)
  To: Konrad Rzeszutek Wilk
  Cc: Wei Liu, Stefano Stabellini, Dushyant K Behl, Xen Devel,
	Julien Grall, Meng Xu

Hi Konrad,

On Mon, Mar 14, 2016 at 7:42 PM, Konrad Rzeszutek Wilk
<konrad.wilk@oracle.com> wrote:
>> After changing the console name to hvc0 the only thing which I noticed
>> differently is
>> that after the last line where Xen frees some init memory, I am able to see
>> the linux
>> kernel decompression message -
>>
>> "(XEN) DOM0: Uncompressing Linux... done, booting the kernel.
>>
>> But after that the system just hangs the same way without any response on
>> the network either.
>
> Has Linux been compiled with the appropiate CONFIG_ parameters? That is you
> have Xen enabled on it?

Yes, I have enabled these configuration parameters when compiling linux -

CONFIG_XEN_DOM0=y
CONFIG_XEN=y
CONFIG_XEN_BLKDEV_FRONTEND=y
CONFIG_XEN_BLKDEV_BACKEND=y
CONFIG_XEN_NETDEV_FRONTEND=y
CONFIG_XEN_NETDEV_BACKEND=y
CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y
CONFIG_HVC_XEN=y
CONFIG_HVC_XEN_FRONTEND=y
CONFIG_XEN_FBDEV_FRONTEND=y
CONFIG_XEN_BALLOON=y
CONFIG_XEN_SCRUB_PAGES=y
CONFIG_XEN_DEV_EVTCHN=y
CONFIG_XEN_BACKEND=y
CONFIG_XENFS=y
CONFIG_XEN_COMPAT_XENFS=y
CONFIG_XEN_SYS_HYPERVISOR=y
CONFIG_XEN_XENBUS_FRONTEND=y
CONFIG_XEN_GNTDEV=y
CONFIG_XEN_GRANT_DEV_ALLOC=y
CONFIG_SWIOTLB_XEN=y
CONFIG_XEN_PRIVCMD=y
CONFIG_XEN_AUTO_XLATE=y

Thanks,
Dushyant

>>
>> Thanks,
>> Dushyant
>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@lists.xen.org
>> http://lists.xen.org/xen-devel
>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Running Xen on Nvidia Jetson-TK1
  2016-03-14 14:19                 ` Dushyant Behl
@ 2016-03-17 14:52                   ` Julien Grall
  2016-03-18 15:01                     ` Dushyant Behl
  0 siblings, 1 reply; 31+ messages in thread
From: Julien Grall @ 2016-03-17 14:52 UTC (permalink / raw)
  To: Dushyant Behl, Konrad Rzeszutek Wilk
  Cc: Wei Liu, Dushyant K Behl, Xen Devel, Meng Xu, Stefano Stabellini

Hi Dushyant,

On 14/03/16 14:19, Dushyant Behl wrote:
> > Yes, I have enabled these configuration parameters when compiling linux -

The list of options looks good to me. I guess Linux is crashing before setting
up the console. Can you apply the below to Linux and post the log here?

Regards,

diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
index c963ba5..6f3b85b 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
@@ -1657,6 +1657,8 @@ static size_t cont_print_text(char *text, size_t size)
        return textlen;
 }
 
+#include <xen/hvc-console.h>
+
 asmlinkage int vprintk_emit(int facility, int level,
                            const char *dict, size_t dictlen,
                            const char *fmt, va_list args)
@@ -1724,6 +1726,7 @@ asmlinkage int vprintk_emit(int facility, int level,
         * prefix which might be passed-in as a parameter.
         */
        text_len = vscnprintf(text, sizeof(textbuf), fmt, args);
+       xen_raw_console_write(text);
 
        /* mark and strip a trailing newline */
        if (text_len && text[text_len-1] == '\n') {

-- 
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply related	[flat|nested] 31+ messages in thread

* Re: Running Xen on Nvidia Jetson-TK1
  2016-03-17 14:52                   ` Julien Grall
@ 2016-03-18 15:01                     ` Dushyant Behl
  2016-03-18 17:23                       ` Julien Grall
  0 siblings, 1 reply; 31+ messages in thread
From: Dushyant Behl @ 2016-03-18 15:01 UTC (permalink / raw)
  To: Julien Grall
  Cc: Wei Liu, Stefano Stabellini, Dushyant K Behl, Xen Devel, Meng Xu

Hi Julien,

On Thu, Mar 17, 2016 at 8:22 PM, Julien Grall <julien.grall@arm.com> wrote:
> Hi Dushyant,
>
> On 14/03/16 14:19, Dushyant Behl wrote:
>> > Yes, I have enabled these configuration parameters when compiling linux -
>
> The list of options looks good to me. I guess Linux is crashing before setting
> up the console. Can you apply the below to Linux and post the log here?

I applied your patch to Linux but still there is no output from the kernel.

But I have found location of the problem, I have a debugger attached
to the Jetson board
and using that I was able to find out that Linux is failing while
initializing the Tegra timer.

The call stack at the time of failing is  -

-   prefetchw (inline)
    arch_spin_lock (inline)
    do_raw_spin_lock_flags (inline)
    __raw_spin_lock_irqssave (inline)
    raw_spin_lock_irq_save (lock = 0xC0B746F0)
-   of_get_parent (node = 0xA00001D3)
-   of_get_address (dev = 0xDBBABC30, index = 0, size = 0xC0A83F30)
-   of_address_to_resource(dev = 0xDBBABC30, index = 0, r = 0xC0A83F50)
-   of_iomap (np = 0xDBBABC30, index = 0)
-   tegra20_init_timer (np = 0xDBBABC30)
-   clocksource_of_init()
-   start_kernel()

After this Linux jumps to floating point exception handler and then to
undefined instruction and fails.

Thanks,
Dushyant

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Running Xen on Nvidia Jetson-TK1
  2016-03-18 15:01                     ` Dushyant Behl
@ 2016-03-18 17:23                       ` Julien Grall
  2016-03-21 10:12                         ` Dushyant Behl
  0 siblings, 1 reply; 31+ messages in thread
From: Julien Grall @ 2016-03-18 17:23 UTC (permalink / raw)
  To: Dushyant Behl
  Cc: Wei Liu, Stefano Stabellini, Dushyant K Behl, Xen Devel, Meng Xu



On 18/03/16 15:01, Dushyant Behl wrote:
> Hi Julien,

Hi Dushyant,

> On Thu, Mar 17, 2016 at 8:22 PM, Julien Grall <julien.grall@arm.com> wrote:
>> On 14/03/16 14:19, Dushyant Behl wrote:
>>>> Yes, I have enabled these configuration parameters when compiling linux -
>>
>> The list of options looks good to me. I guess Linux is crashing before setting
>> up the console. Can you apply the below to Linux and post the log here?
>
> I applied your patch to Linux but still there is no output from the kernel.
>
> But I have found location of the problem, I have a debugger attached
> to the Jetson board
> and using that I was able to find out that Linux is failing while
> initializing the Tegra timer.
>
> The call stack at the time of failing is  -
>
> -   prefetchw (inline)
>      arch_spin_lock (inline)
>      do_raw_spin_lock_flags (inline)
>      __raw_spin_lock_irqssave (inline)
>      raw_spin_lock_irq_save (lock = 0xC0B746F0)
> -   of_get_parent (node = 0xA00001D3)
> -   of_get_address (dev = 0xDBBABC30, index = 0, size = 0xC0A83F30)
> -   of_address_to_resource(dev = 0xDBBABC30, index = 0, r = 0xC0A83F50)
> -   of_iomap (np = 0xDBBABC30, index = 0)
> -   tegra20_init_timer (np = 0xDBBABC30)
> -   clocksource_of_init()
> -   start_kernel()
>
> After this Linux jumps to floating point exception handler and then to
> undefined instruction and fails.

I don't know why Linux is receiving a floating point exception. However, 
DOM0 must not use the tegra timer as it doesn't support virtualization.

You need to ensure that DOM0 will use the arch timer instead. Xen 
provides some facilities to blacklist a device tree node (see blacklist 
dev in arm/platforms/tegra.c).

Regards,

-- 
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Running Xen on Nvidia Jetson-TK1
  2016-03-18 17:23                       ` Julien Grall
@ 2016-03-21 10:12                         ` Dushyant Behl
  2016-03-24 11:05                           ` Dushyant Behl
  2016-05-14 18:37                           ` Meng Xu
  0 siblings, 2 replies; 31+ messages in thread
From: Dushyant Behl @ 2016-03-21 10:12 UTC (permalink / raw)
  To: Julien Grall
  Cc: Wei Liu, Stefano Stabellini, Dushyant K Behl, Xen Devel, Meng Xu

Hi Julien,

On Fri, Mar 18, 2016 at 10:53 PM, Julien Grall <julien.grall@arm.com> wrote:
>
>
> On 18/03/16 15:01, Dushyant Behl wrote:
>>
>> Hi Julien,
>
>
> Hi Dushyant,
>
>> On Thu, Mar 17, 2016 at 8:22 PM, Julien Grall <julien.grall@arm.com>
>> wrote:
>>>
>>> On 14/03/16 14:19, Dushyant Behl wrote:
>>>>>
>>>>> Yes, I have enabled these configuration parameters when compiling linux
>>>>> -
>>>
>>>
>>> The list of options looks good to me. I guess Linux is crashing before
>>> setting
>>> up the console. Can you apply the below to Linux and post the log here?
>>
>>
>> I applied your patch to Linux but still there is no output from the
>> kernel.
>>
>> But I have found location of the problem, I have a debugger attached
>> to the Jetson board
>> and using that I was able to find out that Linux is failing while
>> initializing the Tegra timer.
>>
>> The call stack at the time of failing is  -
>>
>> -   prefetchw (inline)
>>      arch_spin_lock (inline)
>>      do_raw_spin_lock_flags (inline)
>>      __raw_spin_lock_irqssave (inline)
>>      raw_spin_lock_irq_save (lock = 0xC0B746F0)
>> -   of_get_parent (node = 0xA00001D3)
>> -   of_get_address (dev = 0xDBBABC30, index = 0, size = 0xC0A83F30)
>> -   of_address_to_resource(dev = 0xDBBABC30, index = 0, r = 0xC0A83F50)
>> -   of_iomap (np = 0xDBBABC30, index = 0)
>> -   tegra20_init_timer (np = 0xDBBABC30)
>> -   clocksource_of_init()
>> -   start_kernel()
>>
>> After this Linux jumps to floating point exception handler and then to
>> undefined instruction and fails.
>
>
> I don't know why Linux is receiving a floating point exception. However,
> DOM0 must not use the tegra timer as it doesn't support virtualization.
>
> You need to ensure that DOM0 will use the arch timer instead. Xen provides
> some facilities to blacklist a device tree node (see blacklist dev in
> arm/platforms/tegra.c).

I have blacklisted the tegra20_timer and now dom0 is able to pass that
step but now the dom0 kernel gets stuck in an infinite loop in the
function calibrate_delay_converge.

This is the call stack -
 -  calibrate_delay_converge
 -  calibrate_delay
 -  start_kernel

Right now I'm not sure about the exact point where it is going into
the infinite loop.

Thanks,
Dushyant Behl

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Running Xen on Nvidia Jetson-TK1
  2016-03-21 10:12                         ` Dushyant Behl
@ 2016-03-24 11:05                           ` Dushyant Behl
  2016-03-29 19:01                             ` Julien Grall
  2016-05-14 18:37                           ` Meng Xu
  1 sibling, 1 reply; 31+ messages in thread
From: Dushyant Behl @ 2016-03-24 11:05 UTC (permalink / raw)
  To: Julien Grall
  Cc: Wei Liu, Stefano Stabellini, Dushyant K Behl, Xen Devel, Meng Xu

Hi Everyone,

On Mon, Mar 21, 2016 at 3:42 PM, Dushyant Behl
<myselfdushyantbehl@gmail.com> wrote:
> Hi Julien,
>
> On Fri, Mar 18, 2016 at 10:53 PM, Julien Grall <julien.grall@arm.com> wrote:
>>
>>
>> On 18/03/16 15:01, Dushyant Behl wrote:
>>>
>>> Hi Julien,
>>
>>
>> Hi Dushyant,
>>
>>> On Thu, Mar 17, 2016 at 8:22 PM, Julien Grall <julien.grall@arm.com>
>>> wrote:
>>>>
>>>> On 14/03/16 14:19, Dushyant Behl wrote:
>>>>>>
>>>>>> Yes, I have enabled these configuration parameters when compiling linux
>>>>>> -
>>>>
>>>>
>>>> The list of options looks good to me. I guess Linux is crashing before
>>>> setting
>>>> up the console. Can you apply the below to Linux and post the log here?
>>>
>>>
>>> I applied your patch to Linux but still there is no output from the
>>> kernel.
>>>
>>> But I have found location of the problem, I have a debugger attached
>>> to the Jetson board
>>> and using that I was able to find out that Linux is failing while
>>> initializing the Tegra timer.
>>>
>>> The call stack at the time of failing is  -
>>>
>>> -   prefetchw (inline)
>>>      arch_spin_lock (inline)
>>>      do_raw_spin_lock_flags (inline)
>>>      __raw_spin_lock_irqssave (inline)
>>>      raw_spin_lock_irq_save (lock = 0xC0B746F0)
>>> -   of_get_parent (node = 0xA00001D3)
>>> -   of_get_address (dev = 0xDBBABC30, index = 0, size = 0xC0A83F30)
>>> -   of_address_to_resource(dev = 0xDBBABC30, index = 0, r = 0xC0A83F50)
>>> -   of_iomap (np = 0xDBBABC30, index = 0)
>>> -   tegra20_init_timer (np = 0xDBBABC30)
>>> -   clocksource_of_init()
>>> -   start_kernel()
>>>
>>> After this Linux jumps to floating point exception handler and then to
>>> undefined instruction and fails.
>>
>>
>> I don't know why Linux is receiving a floating point exception. However,
>> DOM0 must not use the tegra timer as it doesn't support virtualization.
>>
>> You need to ensure that DOM0 will use the arch timer instead. Xen provides
>> some facilities to blacklist a device tree node (see blacklist dev in
>> arm/platforms/tegra.c).
>
> I have blacklisted the tegra20_timer and now dom0 is able to pass that
> step but now the dom0 kernel gets stuck in an infinite loop in the
> function calibrate_delay_converge.
>
> This is the call stack -
>  -  calibrate_delay_converge
>  -  calibrate_delay
>  -  start_kernel
>
> Right now I'm not sure about the exact point where it is going into
> the infinite loop.

I was not receiving the dom0 logs because of a mistake in my dom0
bootargs. In the bootargs the option
for earlyprintk was not marked as Xen. Now that I've enabled it I'm
able to see some bootlog from dom0 linux.

At least now I'm able to figure out the reason of Linux running into
infinite loop.

It seems like Linux is not receiving any interrupts from the arch
timer and when it tries
to calibrate the timer delay then there's a loop where linux waits to
receive ticks to calculate
loops_per_jiffies and that's the point where dom0 is running into the
infinite loop.
(exact point is http://osxr.org:8080/linux/source/init/calibrate.c#0196)

This is the dom0 bootlog which I received after correcting the
earlyprintk argument -

(XEN) DOM0: Uncompressing Linux... done, booting the kernel.
(XEN) DOM0: [    0.000000] Booting Linux on physical CPU 0x0
(XEN) DOM0: [    0.000000] Initializing cgroup subsys cpu
(XEN) DOM0: [    0.000000] Initializing cgroup subsys cpuacct
(XEN) DOM0: [    0.000000] Linux version
4.1.0-196898-g2e68ed9-dirty(root@ubuntu-server) (gcc version 4.7.3
(Ubuntu/Linaro 4.7.3-11ubuntu
(XEN) DOM0: 1) ) #12 SMP PREEMPT Thu Mar 24 09:56:36 UTC 2016
(XEN) DOM0: [    0.000000] CPU: ARMv7 Processor [413fc0f3] revision 3
(ARMv7), cr=30c5387d
(XEN) DOM0: [    0.000000] CPU: PIPT / VIPT nonaliasing data cache,
PIPT instruction cache
(XEN) DOM0: [    0.000000] Machine model: NVIDIA Tegra124 Jetson TK1
(XEN) DOM0: [    0.000000] bootconsole [earlycon0] enabled
(XEN) DOM0: [    0.000000] cma: Reserved 64 MiB at 0x00000000bc000000
(XEN) DOM0: [    0.000000] Forcing write-allocate cache policy for SMP
(XEN) DOM0: [    0.000000] Memory policy: Data cache writealloc
(XEN) DOM0: [    0.000000] psci: probing for conduit method from DT.
(XEN) DOM0: [    0.000000] psci: PSCIv0.2 detected in firmware.
(XEN) DOM0: [    0.000000] psci: Using standard PSCI v0.2 function IDs
(XEN) DOM0: [    0.000000] PERCPU: Embedded 12 pages/cpu @dbb77000
s19712 r8192 d21248 u49152
(XEN) DOM0: [    0.000000] Built 1 zonelists in Zone order, mobility
grouping on.  Total pages: 130048
(XEN) DOM0: [    0.000000] Kernel command line: console=hvc0
console=tty1 earlyprintk=xen root=/dev/mmcblk0p1 rw rootwait
tegraid=40.1.1.0.0
(XEN) DOM0: [    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
(XEN) DOM0: [    0.000000] Dentry cache hash table entries: 65536
(order: 6, 262144 bytes)
(XEN) DOM0: [    0.000000] Inode-cache hash table entries: 32768
(order: 5, 131072 bytes)
(XEN) DOM0: [    0.000000] Memory: 441884K/524288K available (7657K
kernel code, 634K rwdata, 2584K rodata, 484K init, 383K bss, 16868K
reserved, 65536K cma-reserved, 0K highmem)
(XEN) DOM0: [    0.000000] Virtual kernel memory layout:
(XEN) DOM0: [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
(XEN) DOM0: [    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
(XEN) DOM0: [    0.000000]     vmalloc : 0xe0800000 - 0xff000000   ( 488 MB)
(XEN) DOM0: [    0.000000]     lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
(XEN) DOM0: [    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
(XEN) DOM0: [    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
(XEN) DOM0: [    0.000000]       .text : 0xc0008000 - 0xc0a08c10   (10244 kB)
(XEN) DOM0: [    0.000000]       .init : 0xc0a09000 - 0xc0a82000   ( 484 kB)
(XEN) DOM0: [    0.000000]       .data : 0xc0a82000 - 0xc0b20bec   ( 635 kB)
(XEN) DOM0: [    0.000000]        .bss : 0xc0b23000 - 0xc0b82ea0   ( 384 kB)
(XEN) DOM0: [    0.000000] Preemptible hierarchical RCU implementation.
(XEN) DOM0: [    0.000000] Build-time adjustment of leaf fanout to 32.
(XEN) DOM0: [    0.000000] NR_IRQS:16 nr_irqs:16 16
(XEN) DOM0: [    0.000000] of_irq_init: children remain, but no parents
(XEN) DOM0: [    0.000000] L2C: failed to init: -19
(XEN) DOM0: [    0.000000] irq: no irq domain found for /interrupt-controller !
(XEN) DOM0: [    0.000000] irq: no irq domain found for /interrupt-controller !
(XEN) DOM0: [    0.000000] irq: no irq domain found for /interrupt-controller !
(XEN) DOM0: [    0.000000] arch_timer: No interrupt available, giving up
(XEN) DOM0: [    0.000000] sched_clock: 32 bits at 100 Hz, resolution
10000000ns, wraps every 21474836475000000ns
(XEN) DOM0: [    0.000000] Console: colour dummy device 80x30
(XEN) DOM0: [    0.000000] console [tty1] enabled

Can anyone explain why Linux is not able to get any interrupts from
the arch timer?
Is this some problem with Xen's interrupt mappings or some issue with
the dom0 kernel?

Thanks,
Dushyant

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Running Xen on Nvidia Jetson-TK1
  2016-03-24 11:05                           ` Dushyant Behl
@ 2016-03-29 19:01                             ` Julien Grall
  2016-03-29 20:56                               ` Dushyant Behl
  0 siblings, 1 reply; 31+ messages in thread
From: Julien Grall @ 2016-03-29 19:01 UTC (permalink / raw)
  To: Dushyant Behl
  Cc: Wei Liu, Stefano Stabellini, Dushyant K Behl, Xen Devel, Meng Xu

Hello Dushyant,

On 24/03/16 11:05, Dushyant Behl wrote:
> I was not receiving the dom0 logs because of a mistake in my dom0
> bootargs. In the bootargs the option
> for earlyprintk was not marked as Xen. Now that I've enabled it I'm
> able to see some bootlog from dom0 linux.
>
> At least now I'm able to figure out the reason of Linux running into
> infinite loop.
>
> It seems like Linux is not receiving any interrupts from the arch
> timer and when it tries
> to calibrate the timer delay then there's a loop where linux waits to
> receive ticks to calculate
> loops_per_jiffies and that's the point where dom0 is running into the
> infinite loop.
> (exact point is http://osxr.org:8080/linux/source/init/calibrate.c#0196)
>
> This is the dom0 bootlog which I received after correcting the
> earlyprintk argument -

Can you provide the full log? So we can see if there is anything which 
could give us a hint about your problem.

>
> (XEN) DOM0: Uncompressing Linux... done, booting the kernel.
> (XEN) DOM0: [    0.000000] Booting Linux on physical CPU 0x0
> (XEN) DOM0: [    0.000000] Initializing cgroup subsys cpu
> (XEN) DOM0: [    0.000000] Initializing cgroup subsys cpuacct
> (XEN) DOM0: [    0.000000] Linux version
> 4.1.0-196898-g2e68ed9-dirty(root@ubuntu-server) (gcc version 4.7.3
> (Ubuntu/Linaro 4.7.3-11ubuntu
> (XEN) DOM0: 1) ) #12 SMP PREEMPT Thu Mar 24 09:56:36 UTC 2016
> (XEN) DOM0: [    0.000000] CPU: ARMv7 Processor [413fc0f3] revision 3
> (ARMv7), cr=30c5387d
> (XEN) DOM0: [    0.000000] CPU: PIPT / VIPT nonaliasing data cache,
> PIPT instruction cache
> (XEN) DOM0: [    0.000000] Machine model: NVIDIA Tegra124 Jetson TK1
> (XEN) DOM0: [    0.000000] bootconsole [earlycon0] enabled
> (XEN) DOM0: [    0.000000] cma: Reserved 64 MiB at 0x00000000bc000000
> (XEN) DOM0: [    0.000000] Forcing write-allocate cache policy for SMP
> (XEN) DOM0: [    0.000000] Memory policy: Data cache writealloc
> (XEN) DOM0: [    0.000000] psci: probing for conduit method from DT.
> (XEN) DOM0: [    0.000000] psci: PSCIv0.2 detected in firmware.
> (XEN) DOM0: [    0.000000] psci: Using standard PSCI v0.2 function IDs
> (XEN) DOM0: [    0.000000] PERCPU: Embedded 12 pages/cpu @dbb77000
> s19712 r8192 d21248 u49152
> (XEN) DOM0: [    0.000000] Built 1 zonelists in Zone order, mobility
> grouping on.  Total pages: 130048
> (XEN) DOM0: [    0.000000] Kernel command line: console=hvc0
> console=tty1 earlyprintk=xen root=/dev/mmcblk0p1 rw rootwait
> tegraid=40.1.1.0.0
> (XEN) DOM0: [    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
> (XEN) DOM0: [    0.000000] Dentry cache hash table entries: 65536
> (order: 6, 262144 bytes)
> (XEN) DOM0: [    0.000000] Inode-cache hash table entries: 32768
> (order: 5, 131072 bytes)
> (XEN) DOM0: [    0.000000] Memory: 441884K/524288K available (7657K
> kernel code, 634K rwdata, 2584K rodata, 484K init, 383K bss, 16868K
> reserved, 65536K cma-reserved, 0K highmem)
> (XEN) DOM0: [    0.000000] Virtual kernel memory layout:
> (XEN) DOM0: [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
> (XEN) DOM0: [    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
> (XEN) DOM0: [    0.000000]     vmalloc : 0xe0800000 - 0xff000000   ( 488 MB)
> (XEN) DOM0: [    0.000000]     lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
> (XEN) DOM0: [    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
> (XEN) DOM0: [    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
> (XEN) DOM0: [    0.000000]       .text : 0xc0008000 - 0xc0a08c10   (10244 kB)
> (XEN) DOM0: [    0.000000]       .init : 0xc0a09000 - 0xc0a82000   ( 484 kB)
> (XEN) DOM0: [    0.000000]       .data : 0xc0a82000 - 0xc0b20bec   ( 635 kB)
> (XEN) DOM0: [    0.000000]        .bss : 0xc0b23000 - 0xc0b82ea0   ( 384 kB)
> (XEN) DOM0: [    0.000000] Preemptible hierarchical RCU implementation.
> (XEN) DOM0: [    0.000000] Build-time adjustment of leaf fanout to 32.
> (XEN) DOM0: [    0.000000] NR_IRQS:16 nr_irqs:16 16
> (XEN) DOM0: [    0.000000] of_irq_init: children remain, but no parents
> (XEN) DOM0: [    0.000000] L2C: failed to init: -19
> (XEN) DOM0: [    0.000000] irq: no irq domain found for /interrupt-controller !
> (XEN) DOM0: [    0.000000] irq: no irq domain found for /interrupt-controller !
> (XEN) DOM0: [    0.000000] irq: no irq domain found for /interrupt-controller !
> (XEN) DOM0: [    0.000000] arch_timer: No interrupt available, giving up
> (XEN) DOM0: [    0.000000] sched_clock: 32 bits at 100 Hz, resolution
> 10000000ns, wraps every 21474836475000000ns
> (XEN) DOM0: [    0.000000] Console: colour dummy device 80x30
> (XEN) DOM0: [    0.000000] console [tty1] enabled
>
> Can anyone explain why Linux is not able to get any interrupts from
> the arch timer?
> Is this some problem with Xen's interrupt mappings or some issue with
> the dom0 kernel?

 From the log: "arch_timer: No interrupt available, giving up". So the 
kernel is not able to get the interrupt from device tree.
Which device-tree are you using for the board?

Regards,

-- 
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Running Xen on Nvidia Jetson-TK1
  2016-03-29 19:01                             ` Julien Grall
@ 2016-03-29 20:56                               ` Dushyant Behl
  2016-04-01 10:04                                 ` Julien Grall
  0 siblings, 1 reply; 31+ messages in thread
From: Dushyant Behl @ 2016-03-29 20:56 UTC (permalink / raw)
  To: Julien Grall
  Cc: Wei Liu, Stefano Stabellini, Dushyant K Behl, Xen Devel, Meng Xu

[-- Attachment #1: Type: text/plain, Size: 10025 bytes --]

Hi Julian,

Thanks for the reply.

On Wed, Mar 30, 2016 at 12:31 AM, Julien Grall <julien.grall@arm.com> wrote:
> Hello Dushyant,
>
> On 24/03/16 11:05, Dushyant Behl wrote:
>>
>> I was not receiving the dom0 logs because of a mistake in my dom0
>> bootargs. In the bootargs the option
>> for earlyprintk was not marked as Xen. Now that I've enabled it I'm
>> able to see some bootlog from dom0 linux.
>>
>> At least now I'm able to figure out the reason of Linux running into
>> infinite loop.
>>
>> It seems like Linux is not receiving any interrupts from the arch
>> timer and when it tries
>> to calibrate the timer delay then there's a loop where linux waits to
>> receive ticks to calculate
>> loops_per_jiffies and that's the point where dom0 is running into the
>> infinite loop.
>> (exact point is http://osxr.org:8080/linux/source/init/calibrate.c#0196)
>>
>> This is the dom0 bootlog which I received after correcting the
>> earlyprintk argument -
>
>
> Can you provide the full log? So we can see if there is anything which could
> give us a hint about your problem.

This is the complete log of Xen + Dom0 -

## Booting kernel from Legacy Image at fd000000 ...
   Image Name:   Xen unstable build
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    721776 Bytes = 704.9 KiB
   Load Address: fd000000
   Entry Point:  fd000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 82000000
   Booting using the fdt blob at 0x82000000
   Loading Kernel Image ... OK
   reserving fdt memory region: addr=82000000 size=10000
   Using Device Tree in place at 82000000, end 82012fff

Starting kernel ...

- UART enabled -
- CPU 00000000 booting -
- Xen starting in Hyp mode -
- Zero BSS -
- Setting up control registers -
- Turning on paging -
- Ready -
(XEN) Checking for initrd in /chosen
(XEN) RAM: 0000000080000000 - 00000000ffefffff
(XEN)
(XEN) MODULE[0]: 0000000082000000 - 0000000082010000 Device Tree
(XEN) MODULE[1]: 0000000081000000 - 0000000081544828 Kernel
console=hvc0 console=tty1 earlyprintk=xen root=/dev/mmcblk0p1 rw
rootwait tegraid=40.1.1.0.0
(XEN)  RESVD[0]: 0000000082000000 - 0000000082010000
(XEN)
(XEN) Command line: console=dtuart dtuart=serial0 dom0_mem=512M
(XEN) Placing Xen at 0x00000000ffc00000-0x00000000ffe00000
(XEN) Update BOOTMOD_XEN from 00000000fd000000-00000000fd0f9701 =>
00000000ffc00000-00000000ffcf9701
(XEN) Xen heap: 00000000fa000000-00000000fe000000 (16384 pages)
(XEN) Dom heap: 507648 pages
(XEN) Domain heap initialised
(XEN) Platform: TEGRA124
(XEN) Looking for dtuart at "s Xen 4.6-unstable
(XEN) Xen version 4.6-unstable (root@) (arm-linux-gnueabihf-gcc
(Ubuntu/Linaro 4.7.3-11ubuntu1) 4.7.3) debug=y Thu Mar 24 08:02:39 UTC
2016
(XEN) Latest ChangeSet:
(XEN) Processor: 413fc0f3: "ARM Limited", variant: 0x3, part 0xc0f, rev 0x3
(XEN) 32-bit Execution:
(XEN)   Processor Features: 00001131:00011011
(XEN)     Instruction Sets: AArch32 A32 Thumb Thumb-2 ThumbEE Jazelle
(XEN)     Extensions: GenericTimer Security
(XEN)   Debug Features: 02010555
(XEN)   Auxiliary Features: 00000000
(XEN)   Memory Model Features: 10201105 40000000 01240000 02102211
(XEN)  ISA Features: 02101110 13112111 21232041 11112131 10011142 00000000
(XEN) Using PSCI-0.1 for SMP bringup
(XEN) Generic Timer IRQ: phys=30 hyp=26 virt=27 Freq: 12000 KHz
(XEN) GICv2 initialization:
(XEN)         gic_dist_addr=0000000050041000
(XEN)         gic_cpu_addr=0000000050042000
(XEN)         gic_hyp_addr=0000000050044000
(XEN)         gic_vcpu_addr=0000000050046000
(XEN)         gic_maintenance_irq=25
(XEN) GICv2: 192 lines, 4 cpus, secure (IID 0000043b).
(XEN) Using scheduler: SMP Credit Scheduler (credit)
(XEN) I/O virtualisation disabled
(XEN) Allocated console ring of 32 KiB.
(XEN) VFP implementer 0x41 architecture 4 part 0x30 variant 0xf rev 0x0
(XEN) Bringing up CPU1
- CPU 00000001 booting -
- Xen starting in Hyp mode -
- Setting up control registers -
- Turning on paging -
- Ready -
(XEN) CPU 1 booted.
(XEN) Bringing up CPU2
- CPU 00000002 booting -
- Xen starting in Hyp mode -
- Setting up control registers -
- Turning on paging -
- Ready -
(XEN) CPU 2 booted.
(XEN) Bringing up CPU3
- CPU 00000003 booting -
- Xen starting in Hyp mode -
- Setting up control registers -
- Turning on paging -
- Ready -
(XEN) CPU 3 booted.
(XEN) Brought up 4 CPUs
(XEN) P2M: 40-bit IPA
(XEN) P2M: 3 levels with order-1 root, VTCR 0x80003558
(XEN) *** LOADING DOMAIN 0 ***
(XEN) Loading kernel from boot module @ 0000000081000000
(XEN) Allocating 1:1 mappings totalling 512MB for dom0:
(XEN) BANK[0] 0x000000a0000000-0x000000c0000000 (512MB)
(XEN) Additional MMIO 40000-40040 (IRAM)
(XEN) Additional MMIO 54200-54240 (Display A)
(XEN) Additional MMIO 54240-54280 (Display B)
(XEN) Additional MMIO 6000f-60010 (EXCEPTION VECTORS)
(XEN) Additional MMIO 6000c-6000d (SYSREG)
(XEN) Additional MMIO 1000-1001 (PCI CFG0)
(XEN) Additional MMIO 1001-1002 (PCI CFG1)
(XEN) Additional MMIO 12000-12010 (PCI IO)
(XEN) Additional MMIO 13000-20000 (PCI MEM)
(XEN) Additional MMIO 20000-40000 (PCI MEM (PREFETCH))
(XEN) Additional IRQ 105 (DISPLAY)
(XEN) TEGRA: Routing IRQ105 to dom0, ICTLR2, mask 0x000200
(XEN) Additional IRQ 106 (DISPLAY B)
(XEN) TEGRA: Routing IRQ106 to dom0, ICTLR2, mask 0x000400
(XEN) Loading zImage from 0000000081000000 to 00000000a7a00000-00000000a7f44828
(XEN) Allocating PPI 16 for event channel interrupt
(XEN) Loading dom0 DTB to 0x00000000a8000000-0x00000000a800f1f0
(XEN) Scrubbing Free RAM on 1 nodes using 4 CPUs
(XEN) ....done.
(XEN) Initial low memory virq threshold set at 0x4000 pages.
(XEN) Std. Loglevel: All
(XEN) Guest Loglevel: All
(XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch
input to Xen)
(XEN) Freed 272kB init memory.
(XEN) DOM0: Uncompressing Linux... done, booting the kernel.
(XEN) DOM0: [    0.000000] Booting Linux on physical CPU 0x0
(XEN) DOM0: [    0.000000] Initializing cgroup subsys cpu
(XEN) DOM0: [    0.000000] Initializing cgroup subsys cpuacct
(XEN) DOM0: [    0.000000] Linux version 4.1.0-196898-g2e68ed9-dirty
(root@ubuntu-server) (gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-11ubuntu
(XEN) DOM0: 1) ) #12 SMP PREEMPT Thu Mar 24 09:56:36 UTC 2016
(XEN) DOM0: [    0.000000] CPU: ARMv7 Processor [413fc0f3] revision 3
(ARMv7), cr=30c5387d
(XEN) DOM0: [    0.000000] CPU: PIPT / VIPT nonaliasing data cache,
PIPT instruction cache
(XEN) DOM0: [    0.000000] Machine model: NVIDIA Tegra124 Jetson TK1
(XEN) DOM0: [    0.000000] bootconsole [earlycon0] enabled
(XEN) DOM0: [    0.000000] cma: Reserved 64 MiB at 0x00000000bc000000
(XEN) DOM0: [    0.000000] Forcing write-allocate cache policy for SMP
(XEN) DOM0: [    0.000000] Memory policy: Data cache writealloc
(XEN) DOM0: [    0.000000] psci: probing for conduit method from DT.
(XEN) DOM0: [    0.000000] psci: PSCIv0.2 detected in firmware.
(XEN) DOM0: [    0.000000] psci: Using standard PSCI v0.2 function IDs
(XEN) DOM0: [    0.000000] PERCPU: Embedded 12 pages/cpu @dbb77000
s19712 r8192 d21248 u49152
(XEN) DOM0: [    0.000000] Built 1 zonelists in Zone order, mobility
grouping on.  Total pages: 130048
(XEN) DOM0: [    0.000000] Kernel command line: console=hvc0
console=tty1 earlyprintk=xen root=/dev/mmcblk0p1 rw rootwait
tegraid=40.1.1.0
(XEN) DOM0: .0
(XEN) DOM0: [    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
(XEN) DOM0: [    0.000000] Dentry cache hash table entries: 65536
(order: 6, 262144 bytes)
(XEN) DOM0: [    0.000000] Inode-cache hash table entries: 32768
(order: 5, 131072 bytes)
(XEN) DOM0: [    0.000000] Memory: 441884K/524288K available (7657K
kernel code, 634K rwdata, 2584K rodata, 484K init, 383K bss, 16868K re
(XEN) DOM0: served, 65536K cma-reserved, 0K highmem)
(XEN) DOM0: [    0.000000] Virtual kernel memory layout:
(XEN) DOM0: [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
(XEN) DOM0: [    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
(XEN) DOM0: [    0.000000]     vmalloc : 0xe0800000 - 0xff000000   ( 488 MB)
(XEN) DOM0: [    0.000000]     lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
(XEN) DOM0: [    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
(XEN) DOM0: [    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
(XEN) DOM0: [    0.000000]       .text : 0xc0008000 - 0xc0a08c10   (10244 kB)
(XEN) DOM0: [    0.000000]       .init : 0xc0a09000 - 0xc0a82000   ( 484 kB)
(XEN) DOM0: [    0.000000]       .data : 0xc0a82000 - 0xc0b20bec   ( 635 kB)
(XEN) DOM0: [    0.000000]        .bss : 0xc0b23000 - 0xc0b82ea0   ( 384 kB)
(XEN) DOM0: [    0.000000] Preemptible hierarchical RCU implementation.
(XEN) DOM0: [    0.000000]  Build-time adjustment of leaf fanout to 32.
(XEN) DOM0: [    0.000000] NR_IRQS:16 nr_irqs:16 16
(XEN) DOM0: [    0.000000] of_irq_init: children remain, but no parents
(XEN) DOM0: [    0.000000] L2C: failed to init: -19
(XEN) DOM0: [    0.000000] irq: no irq domain found for /interrupt-controller !
(XEN) DOM0: [    0.000000] irq: no irq domain found for /interrupt-controller !
(XEN) DOM0: [    0.000000] irq: no irq domain found for /interrupt-controller !
(XEN) DOM0: [    0.000000] arch_timer: No interrupt available, giving up
(XEN) DOM0: [    0.000000] sched_clock: 32 bits at 100 Hz, resolution
10000000ns, wraps every 21474836475000000ns
(XEN) DOM0: [    0.000000] Console: colour dummy device 80x30
(XEN) DOM0: [    0.000000] console [tty1] enabled
(XEN) DOM0: [    0.000000] bootconsole [earlycon0] disabled

>>
>> Can anyone explain why Linux is not able to get any interrupts from
>> the arch timer?
>> Is this some problem with Xen's interrupt mappings or some issue with
>> the dom0 kernel?
>
> From the log: "arch_timer: No interrupt available, giving up". So the kernel
> is not able to get the interrupt from device tree.
> Which device-tree are you using for the board?

I am using the device tree which is built with the Linux kernel
version 4.1.0 (tegra124-jetson-tk1.dtb),
I have also attached the device tree source with this mail, If you
want to have a look.

Thanks,
Dushyant

[-- Attachment #2: tegra124-jetson-tk1.dts --]
[-- Type: application/octet-stream, Size: 90268 bytes --]

/dts-v1/;

/ {
	#address-cells = <0x2>;
	#size-cells = <0x2>;
	compatible = "nvidia,jetson-tk1", "nvidia,tegra124";
	interrupt-parent = <0x1>;
	model = "NVIDIA Tegra124 Jetson TK1";

	chosen {
	};

	aliases {
		rtc0 = "/i2c@0,7000d000/pmic@40";
		rtc1 = "/rtc@0,7000e000";
		serial0 = "/serial@0,70006300";
	};

	memory {
		device_type = "memory";
		reg = <0x0 0x80000000 0x0 0x80000000>;
	};

	pcie-controller@0,01003000 {
		compatible = "nvidia,tegra124-pcie";
		device_type = "pci";
		reg = <0x0 0x1003000 0x0 0x800 0x0 0x1003800 0x0 0x800 0x0 0x2000000 0x0 0x10000000>;
		reg-names = "pads", "afi", "cs";
		interrupts = <0x0 0x62 0x4 0x0 0x63 0x4>;
		interrupt-names = "intr", "msi";
		#interrupt-cells = <0x1>;
		interrupt-map-mask = <0x0 0x0 0x0 0x0>;
		interrupt-map = <0x0 0x0 0x0 0x0 0x2 0x0 0x62 0x4>;
		bus-range = <0x0 0xff>;
		#address-cells = <0x3>;
		#size-cells = <0x2>;
		ranges = <0x82000000 0x0 0x1000000 0x0 0x1000000 0x0 0x1000 0x82000000 0x0 0x1001000 0x0 0x1001000 0x0 0x1000 0x81000000 0x0 0x0 0x0 0x12000000 0x0 0x10000 0x82000000 0x0 0x13000000 0x0 0x13000000 0x0 0xd000000 0xc2000000 0x0 0x20000000 0x0 0x20000000 0x0 0x20000000>;
		clocks = <0x3 0x46 0x3 0x48 0x3 0xe7 0x3 0x10c>;
		clock-names = "pex", "afi", "pll_e", "cml";
		resets = <0x3 0x46 0x3 0x48 0x3 0x4a>;
		reset-names = "pex", "afi", "pcie_x";
		status = "okay";
		phys = <0x4 0x0>;
		phy-names = "pcie";
		avddio-pex-supply = <0x5>;
		dvddio-pex-supply = <0x5>;
		avdd-pex-pll-supply = <0x5>;
		hvdd-pex-supply = <0x6>;
		hvdd-pex-pll-e-supply = <0x6>;
		vddio-pex-ctl-supply = <0x6>;
		avdd-pll-erefe-supply = <0x7>;

		pci@1,0 {
			device_type = "pci";
			assigned-addresses = <0x82000800 0x0 0x1000000 0x0 0x1000>;
			reg = <0x800 0x0 0x0 0x0 0x0>;
			status = "okay";
			#address-cells = <0x3>;
			#size-cells = <0x2>;
			ranges;
			nvidia,num-lanes = <0x2>;
		};

		pci@2,0 {
			device_type = "pci";
			assigned-addresses = <0x82001000 0x0 0x1001000 0x0 0x1000>;
			reg = <0x1000 0x0 0x0 0x0 0x0>;
			status = "okay";
			#address-cells = <0x3>;
			#size-cells = <0x2>;
			ranges;
			nvidia,num-lanes = <0x1>;
		};
	};

	host1x@0,50000000 {
		compatible = "nvidia,tegra124-host1x", "simple-bus";
		reg = <0x0 0x50000000 0x0 0x34000>;
		interrupts = <0x0 0x41 0x4 0x0 0x43 0x4>;
		clocks = <0x3 0x1c>;
		resets = <0x3 0x1c>;
		reset-names = "host1x";
		#address-cells = <0x2>;
		#size-cells = <0x2>;
		ranges = <0x0 0x54000000 0x0 0x54000000 0x0 0x1000000>;

		dc@0,54200000 {
			compatible = "nvidia,tegra124-dc";
			reg = <0x0 0x54200000 0x0 0x40000>;
			interrupts = <0x0 0x49 0x4>;
			clocks = <0x3 0x1b 0x3 0xd3>;
			clock-names = "dc", "parent";
			resets = <0x3 0x1b>;
			reset-names = "dc";
			iommus = <0x8 0x1>;
			nvidia,head = <0x0>;
		};

		dc@0,54240000 {
			compatible = "nvidia,tegra124-dc";
			reg = <0x0 0x54240000 0x0 0x40000>;
			interrupts = <0x0 0x4a 0x4>;
			clocks = <0x3 0x1a 0x3 0xd3>;
			clock-names = "dc", "parent";
			resets = <0x3 0x1a>;
			reset-names = "dc";
			iommus = <0x8 0x2>;
			nvidia,head = <0x1>;
		};

		hdmi@0,54280000 {
			compatible = "nvidia,tegra124-hdmi";
			reg = <0x0 0x54280000 0x0 0x40000>;
			interrupts = <0x0 0x4b 0x4>;
			clocks = <0x3 0x33 0x3 0xdd>;
			clock-names = "hdmi", "parent";
			resets = <0x3 0x33>;
			reset-names = "hdmi";
			status = "okay";
			hdmi-supply = <0x9>;
			pll-supply = <0xa>;
			vdd-supply = <0xb>;
			nvidia,ddc-i2c-bus = <0xc>;
			nvidia,hpd-gpio = <0xd 0x6f 0x0>;
		};

		sor@0,54540000 {
			compatible = "nvidia,tegra124-sor";
			reg = <0x0 0x54540000 0x0 0x40000>;
			interrupts = <0x0 0x4c 0x4>;
			clocks = <0x3 0xb6 0x3 0xdb 0x3 0x10f 0x3 0xc9>;
			clock-names = "sor", "parent", "dp", "safe";
			resets = <0x3 0xb6>;
			reset-names = "sor";
			status = "disabled";
		};

		dpaux@0,545c0000 {
			compatible = "nvidia,tegra124-dpaux";
			reg = <0x0 0x545c0000 0x0 0x40000>;
			interrupts = <0x0 0x9f 0x4>;
			clocks = <0x3 0xb5 0x3 0x10f>;
			clock-names = "dpaux", "parent";
			resets = <0x3 0xb5>;
			reset-names = "dpaux";
			status = "disabled";
		};
	};

	interrupt-controller@0,50041000 {
		compatible = "arm,cortex-a15-gic";
		#interrupt-cells = <0x3>;
		interrupt-controller;
		reg = <0x0 0x50041000 0x0 0x1000 0x0 0x50042000 0x0 0x1000 0x0 0x50044000 0x0 0x2000 0x0 0x50046000 0x0 0x2000>;
		interrupts = <0x1 0x9 0xf04>;
		interrupt-parent = <0x2>;
		linux,phandle = <0x2>;
		phandle = <0x2>;
	};

	gpu@0,57000000 {
		compatible = "nvidia,gk20a";
		reg = <0x0 0x57000000 0x0 0x1000000 0x0 0x58000000 0x0 0x1000000>;
		interrupts = <0x0 0x9d 0x4 0x0 0x9e 0x4>;
		interrupt-names = "stall", "nonstall";
		clocks = <0x3 0xb8 0x3 0x10b>;
		clock-names = "gpu", "pwr";
		resets = <0x3 0xb8>;
		reset-names = "gpu";
		status = "disabled";
	};

	interrupt-controller@60004000 {
		compatible = "nvidia,tegra124-ictlr", "nvidia,tegra30-ictlr";
		reg = <0x0 0x60004000 0x0 0x100 0x0 0x60004100 0x0 0x100 0x0 0x60004200 0x0 0x100 0x0 0x60004300 0x0 0x100 0x0 0x60004400 0x0 0x100>;
		interrupt-controller;
		#interrupt-cells = <0x3>;
		interrupt-parent = <0x2>;
		linux,phandle = <0x1>;
		phandle = <0x1>;
	};

	timer@0,60005000 {
		compatible = "nvidia,tegra124-timer", "nvidia,tegra20-timer";
		reg = <0x0 0x60005000 0x0 0x400>;
		interrupts = <0x0 0x0 0x4 0x0 0x1 0x4 0x0 0x29 0x4 0x0 0x2a 0x4 0x0 0x79 0x4 0x0 0x7a 0x4>;
		clocks = <0x3 0x5>;
	};

	clock@0,60006000 {
		compatible = "nvidia,tegra124-car";
		reg = <0x0 0x60006000 0x0 0x1000>;
		#clock-cells = <0x1>;
		#reset-cells = <0x1>;
		nvidia,external-memory-controller = <0xe>;
		linux,phandle = <0x3>;
		phandle = <0x3>;

		emc-timings-3 {
			nvidia,ram-code = <0x3>;

			timing-12750000 {
				clock-frequency = <0xc28cb0>;
				nvidia,parent-clock-frequency = <0x18519600>;
				clocks = <0x3 0xd3>;
				clock-names = "emc-parent";
			};

			timing-20400000 {
				clock-frequency = <0x1374780>;
				nvidia,parent-clock-frequency = <0x18519600>;
				clocks = <0x3 0xd3>;
				clock-names = "emc-parent";
			};

			timing-40800000 {
				clock-frequency = <0x26e8f00>;
				nvidia,parent-clock-frequency = <0x18519600>;
				clocks = <0x3 0xd3>;
				clock-names = "emc-parent";
			};

			timing-68000000 {
				clock-frequency = <0x40d9900>;
				nvidia,parent-clock-frequency = <0x18519600>;
				clocks = <0x3 0xd3>;
				clock-names = "emc-parent";
			};

			timing-102000000 {
				clock-frequency = <0x6146580>;
				nvidia,parent-clock-frequency = <0x18519600>;
				clocks = <0x3 0xd3>;
				clock-names = "emc-parent";
			};

			timing-204000000 {
				clock-frequency = <0xc28cb00>;
				nvidia,parent-clock-frequency = <0x18519600>;
				clocks = <0x3 0xd3>;
				clock-names = "emc-parent";
			};

			timing-300000000 {
				clock-frequency = <0x11e1a300>;
				nvidia,parent-clock-frequency = <0x23c34600>;
				clocks = <0x3 0xcd>;
				clock-names = "emc-parent";
			};

			timing-396000000 {
				clock-frequency = <0x179a7b00>;
				nvidia,parent-clock-frequency = <0x2f34f600>;
				clocks = <0x3 0xd1>;
				clock-names = "emc-parent";
			};

			timing-528000000 {
				clock-frequency = <0x1f78a400>;
				nvidia,parent-clock-frequency = <0x1f78a400>;
				clocks = <0x3 0x139>;
				clock-names = "emc-parent";
			};

			timing-600000000 {
				clock-frequency = <0x23c34600>;
				nvidia,parent-clock-frequency = <0x23c34600>;
				clocks = <0x3 0x13a>;
				clock-names = "emc-parent";
			};

			timing-792000000 {
				clock-frequency = <0x2f34f600>;
				nvidia,parent-clock-frequency = <0x2f34f600>;
				clocks = <0x3 0x139>;
				clock-names = "emc-parent";
			};

			timing-924000000 {
				clock-frequency = <0x37131f00>;
				nvidia,parent-clock-frequency = <0x37131f00>;
				clocks = <0x3 0x139>;
				clock-names = "emc-parent";
			};
		};
	};

	flow-controller@0,60007000 {
		compatible = "nvidia,tegra124-flowctrl";
		reg = <0x0 0x60007000 0x0 0x1000>;
	};

	actmon@0,6000c800 {
		compatible = "nvidia,tegra124-actmon";
		reg = <0x0 0x6000c800 0x0 0x400>;
		interrupts = <0x0 0x2d 0x4>;
		clocks = <0x3 0x77 0x3 0x39>;
		clock-names = "actmon", "emc";
		resets = <0x3 0x77>;
		reset-names = "actmon";
	};

	gpio@0,6000d000 {
		compatible = "nvidia,tegra124-gpio", "nvidia,tegra30-gpio";
		reg = <0x0 0x6000d000 0x0 0x1000>;
		interrupts = <0x0 0x20 0x4 0x0 0x21 0x4 0x0 0x22 0x4 0x0 0x23 0x4 0x0 0x37 0x4 0x0 0x57 0x4 0x0 0x59 0x4 0x0 0x7d 0x4>;
		#gpio-cells = <0x2>;
		gpio-controller;
		#interrupt-cells = <0x2>;
		interrupt-controller;
		linux,phandle = <0xd>;
		phandle = <0xd>;
	};

	dma@0,60020000 {
		compatible = "nvidia,tegra124-apbdma", "nvidia,tegra148-apbdma";
		reg = <0x0 0x60020000 0x0 0x1400>;
		interrupts = <0x0 0x68 0x4 0x0 0x69 0x4 0x0 0x6a 0x4 0x0 0x6b 0x4 0x0 0x6c 0x4 0x0 0x6d 0x4 0x0 0x6e 0x4 0x0 0x6f 0x4 0x0 0x70 0x4 0x0 0x71 0x4 0x0 0x72 0x4 0x0 0x73 0x4 0x0 0x74 0x4 0x0 0x75 0x4 0x0 0x76 0x4 0x0 0x77 0x4 0x0 0x80 0x4 0x0 0x81 0x4 0x0 0x82 0x4 0x0 0x83 0x4 0x0 0x84 0x4 0x0 0x85 0x4 0x0 0x86 0x4 0x0 0x87 0x4 0x0 0x88 0x4 0x0 0x89 0x4 0x0 0x8a 0x4 0x0 0x8b 0x4 0x0 0x8c 0x4 0x0 0x8d 0x4 0x0 0x8e 0x4 0x0 0x8f 0x4>;
		clocks = <0x3 0x22>;
		resets = <0x3 0x22>;
		reset-names = "dma";
		#dma-cells = <0x1>;
		linux,phandle = <0x10>;
		phandle = <0x10>;
	};

	apbmisc@0,70000800 {
		compatible = "nvidia,tegra124-apbmisc", "nvidia,tegra20-apbmisc";
		reg = <0x0 0x70000800 0x0 0x64 0x0 0x7000e864 0x0 0x4>;
	};

	pinmux@0,70000868 {
		compatible = "nvidia,tegra124-pinmux";
		reg = <0x0 0x70000868 0x0 0x164 0x0 0x70003000 0x0 0x434 0x0 0x70000820 0x0 0x8>;
		pinctrl-names = "boot";
		pinctrl-0 = <0xf>;

		pinmux {
			linux,phandle = <0xf>;
			phandle = <0xf>;

			clk_32k_out_pa0 {
				nvidia,pins = "clk_32k_out_pa0";
				nvidia,function = "soc";
				nvidia,pull = <0x2>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x1>;
			};

			uart3_cts_n_pa1 {
				nvidia,pins = "uart3_cts_n_pa1";
				nvidia,function = "gmi";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			dap2_fs_pa2 {
				nvidia,pins = "dap2_fs_pa2";
				nvidia,function = "i2s1";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x0>;
			};

			dap2_sclk_pa3 {
				nvidia,pins = "dap2_sclk_pa3";
				nvidia,function = "i2s1";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x0>;
			};

			dap2_din_pa4 {
				nvidia,pins = "dap2_din_pa4";
				nvidia,function = "i2s1";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x1>;
			};

			dap2_dout_pa5 {
				nvidia,pins = "dap2_dout_pa5";
				nvidia,function = "i2s1";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x0>;
			};

			sdmmc3_clk_pa6 {
				nvidia,pins = "sdmmc3_clk_pa6";
				nvidia,function = "sdmmc3";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
			};

			sdmmc3_cmd_pa7 {
				nvidia,pins = "sdmmc3_cmd_pa7";
				nvidia,function = "sdmmc3";
				nvidia,pull = <0x2>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
			};

			pb0 {
				nvidia,pins = "pb0";
				nvidia,function = "uartd";
				nvidia,pull = <0x2>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x1>;
			};

			pb1 {
				nvidia,pins = "pb1";
				nvidia,function = "uartd";
				nvidia,pull = <0x2>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x1>;
			};

			sdmmc3_dat3_pb4 {
				nvidia,pins = "sdmmc3_dat3_pb4";
				nvidia,function = "sdmmc3";
				nvidia,pull = <0x2>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
			};

			sdmmc3_dat2_pb5 {
				nvidia,pins = "sdmmc3_dat2_pb5";
				nvidia,function = "sdmmc3";
				nvidia,pull = <0x2>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
			};

			sdmmc3_dat1_pb6 {
				nvidia,pins = "sdmmc3_dat1_pb6";
				nvidia,function = "sdmmc3";
				nvidia,pull = <0x2>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
			};

			sdmmc3_dat0_pb7 {
				nvidia,pins = "sdmmc3_dat0_pb7";
				nvidia,function = "sdmmc3";
				nvidia,pull = <0x2>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
			};

			uart3_rts_n_pc0 {
				nvidia,pins = "uart3_rts_n_pc0";
				nvidia,function = "gmi";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			uart2_txd_pc2 {
				nvidia,pins = "uart2_txd_pc2";
				nvidia,function = "irda";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x0>;
			};

			uart2_rxd_pc3 {
				nvidia,pins = "uart2_rxd_pc3";
				nvidia,function = "irda";
				nvidia,pull = <0x2>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x1>;
			};

			gen1_i2c_scl_pc4 {
				nvidia,pins = "gen1_i2c_scl_pc4";
				nvidia,function = "i2c1";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
				nvidia,open-drain = <0x1>;
			};

			gen1_i2c_sda_pc5 {
				nvidia,pins = "gen1_i2c_sda_pc5";
				nvidia,function = "i2c1";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
				nvidia,open-drain = <0x1>;
			};

			pc7 {
				nvidia,pins = "pc7";
				nvidia,function = "rsvd1";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			pg0 {
				nvidia,pins = "pg0";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x1>;
			};

			pg1 {
				nvidia,pins = "pg1";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x1>;
			};

			pg2 {
				nvidia,pins = "pg2";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x1>;
			};

			pg3 {
				nvidia,pins = "pg3";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x1>;
			};

			pg4 {
				nvidia,pins = "pg4";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x1>;
			};

			pg5 {
				nvidia,pins = "pg5";
				nvidia,function = "spi4";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x0>;
			};

			pg6 {
				nvidia,pins = "pg6";
				nvidia,function = "spi4";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x0>;
			};

			pg7 {
				nvidia,pins = "pg7";
				nvidia,function = "spi4";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x1>;
			};

			ph0 {
				nvidia,pins = "ph0";
				nvidia,function = "gmi";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			ph1 {
				nvidia,pins = "ph1";
				nvidia,function = "pwm1";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x0>;
			};

			ph2 {
				nvidia,pins = "ph2";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x0>;
			};

			ph3 {
				nvidia,pins = "ph3";
				nvidia,function = "gmi";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			ph4 {
				nvidia,pins = "ph4";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x1>;
			};

			ph5 {
				nvidia,pins = "ph5";
				nvidia,function = "rsvd2";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			ph6 {
				nvidia,pins = "ph6";
				nvidia,function = "gmi";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			ph7 {
				nvidia,pins = "ph7";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
			};

			pi0 {
				nvidia,pins = "pi0";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x0>;
			};

			pi1 {
				nvidia,pins = "pi1";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x1>;
			};

			pi2 {
				nvidia,pins = "pi2";
				nvidia,function = "rsvd4";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			pi3 {
				nvidia,pins = "pi3";
				nvidia,function = "spi4";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x0>;
			};

			pi4 {
				nvidia,pins = "pi4";
				nvidia,function = "gmi";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			pi5 {
				nvidia,pins = "pi5";
				nvidia,function = "rsvd2";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			pi6 {
				nvidia,pins = "pi6";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x1>;
			};

			pi7 {
				nvidia,pins = "pi7";
				nvidia,function = "rsvd1";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			pj0 {
				nvidia,pins = "pj0";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x1>;
			};

			pj2 {
				nvidia,pins = "pj2";
				nvidia,function = "rsvd1";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			uart2_cts_n_pj5 {
				nvidia,pins = "uart2_cts_n_pj5";
				nvidia,function = "uartb";
				nvidia,pull = <0x2>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x1>;
			};

			uart2_rts_n_pj6 {
				nvidia,pins = "uart2_rts_n_pj6";
				nvidia,function = "uartb";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x0>;
			};

			pj7 {
				nvidia,pins = "pj7";
				nvidia,function = "uartd";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x0>;
			};

			pk0 {
				nvidia,pins = "pk0";
				nvidia,function = "rsvd1";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			pk1 {
				nvidia,pins = "pk1";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x0>;
			};

			pk2 {
				nvidia,pins = "pk2";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
			};

			pk3 {
				nvidia,pins = "pk3";
				nvidia,function = "gmi";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			pk4 {
				nvidia,pins = "pk4";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x0>;
			};

			spdif_out_pk5 {
				nvidia,pins = "spdif_out_pk5";
				nvidia,function = "rsvd2";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			spdif_in_pk6 {
				nvidia,pins = "spdif_in_pk6";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x0>;
			};

			pk7 {
				nvidia,pins = "pk7";
				nvidia,function = "uartd";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x0>;
			};

			dap1_fs_pn0 {
				nvidia,pins = "dap1_fs_pn0";
				nvidia,function = "rsvd4";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			dap1_din_pn1 {
				nvidia,pins = "dap1_din_pn1";
				nvidia,function = "rsvd4";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			dap1_dout_pn2 {
				nvidia,pins = "dap1_dout_pn2";
				nvidia,function = "sata";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x0>;
			};

			dap1_sclk_pn3 {
				nvidia,pins = "dap1_sclk_pn3";
				nvidia,function = "rsvd4";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			usb_vbus_en0_pn4 {
				nvidia,pins = "usb_vbus_en0_pn4";
				nvidia,function = "usb";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
				nvidia,open-drain = <0x0>;
			};

			usb_vbus_en1_pn5 {
				nvidia,pins = "usb_vbus_en1_pn5";
				nvidia,function = "usb";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
				nvidia,open-drain = <0x0>;
			};

			hdmi_int_pn7 {
				nvidia,pins = "hdmi_int_pn7";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x1>;
				nvidia,rcv-sel = <0x0>;
			};

			ulpi_data7_po0 {
				nvidia,pins = "ulpi_data7_po0";
				nvidia,function = "ulpi";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			ulpi_data0_po1 {
				nvidia,pins = "ulpi_data0_po1";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x1>;
			};

			ulpi_data1_po2 {
				nvidia,pins = "ulpi_data1_po2";
				nvidia,function = "ulpi";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			ulpi_data2_po3 {
				nvidia,pins = "ulpi_data2_po3";
				nvidia,function = "ulpi";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			ulpi_data3_po4 {
				nvidia,pins = "ulpi_data3_po4";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x1>;
			};

			ulpi_data4_po5 {
				nvidia,pins = "ulpi_data4_po5";
				nvidia,function = "ulpi";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			ulpi_data5_po6 {
				nvidia,pins = "ulpi_data5_po6";
				nvidia,function = "ulpi";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			ulpi_data6_po7 {
				nvidia,pins = "ulpi_data6_po7";
				nvidia,function = "ulpi";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			dap3_fs_pp0 {
				nvidia,pins = "dap3_fs_pp0";
				nvidia,function = "i2s2";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			dap3_din_pp1 {
				nvidia,pins = "dap3_din_pp1";
				nvidia,function = "i2s2";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			dap3_dout_pp2 {
				nvidia,pins = "dap3_dout_pp2";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x0>;
			};

			dap3_sclk_pp3 {
				nvidia,pins = "dap3_sclk_pp3";
				nvidia,function = "rsvd3";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			dap4_fs_pp4 {
				nvidia,pins = "dap4_fs_pp4";
				nvidia,function = "rsvd4";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			dap4_din_pp5 {
				nvidia,pins = "dap4_din_pp5";
				nvidia,function = "rsvd3";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			dap4_dout_pp6 {
				nvidia,pins = "dap4_dout_pp6";
				nvidia,function = "rsvd4";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			dap4_sclk_pp7 {
				nvidia,pins = "dap4_sclk_pp7";
				nvidia,function = "rsvd3";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			kb_col0_pq0 {
				nvidia,pins = "kb_col0_pq0";
				nvidia,pull = <0x2>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x1>;
			};

			kb_col1_pq1 {
				nvidia,pins = "kb_col1_pq1";
				nvidia,function = "rsvd2";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			kb_col2_pq2 {
				nvidia,pins = "kb_col2_pq2";
				nvidia,function = "rsvd2";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			kb_col3_pq3 {
				nvidia,pins = "kb_col3_pq3";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x1>;
			};

			kb_col4_pq4 {
				nvidia,pins = "kb_col4_pq4";
				nvidia,function = "sdmmc3";
				nvidia,pull = <0x2>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x1>;
			};

			kb_col5_pq5 {
				nvidia,pins = "kb_col5_pq5";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x1>;
			};

			kb_col6_pq6 {
				nvidia,pins = "kb_col6_pq6";
				nvidia,function = "rsvd2";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			kb_col7_pq7 {
				nvidia,pins = "kb_col7_pq7";
				nvidia,function = "rsvd2";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			kb_row0_pr0 {
				nvidia,pins = "kb_row0_pr0";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x0>;
			};

			kb_row1_pr1 {
				nvidia,pins = "kb_row1_pr1";
				nvidia,function = "rsvd2";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			kb_row2_pr2 {
				nvidia,pins = "kb_row2_pr2";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x0>;
			};

			kb_row3_pr3 {
				nvidia,pins = "kb_row3_pr3";
				nvidia,function = "kbc";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			kb_row4_pr4 {
				nvidia,pins = "kb_row4_pr4";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x1>;
			};

			kb_row5_pr5 {
				nvidia,pins = "kb_row5_pr5";
				nvidia,function = "rsvd3";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			kb_row6_pr6 {
				nvidia,pins = "kb_row6_pr6";
				nvidia,function = "displaya_alt";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x1>;
			};

			kb_row7_pr7 {
				nvidia,pins = "kb_row7_pr7";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x1>;
			};

			kb_row8_ps0 {
				nvidia,pins = "kb_row8_ps0";
				nvidia,function = "rsvd2";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			kb_row9_ps1 {
				nvidia,pins = "kb_row9_ps1";
				nvidia,function = "uarta";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x0>;
			};

			kb_row10_ps2 {
				nvidia,pins = "kb_row10_ps2";
				nvidia,function = "uarta";
				nvidia,pull = <0x2>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x1>;
			};

			kb_row11_ps3 {
				nvidia,pins = "kb_row11_ps3";
				nvidia,function = "rsvd2";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			kb_row12_ps4 {
				nvidia,pins = "kb_row12_ps4";
				nvidia,function = "rsvd2";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			kb_row13_ps5 {
				nvidia,pins = "kb_row13_ps5";
				nvidia,function = "rsvd2";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			kb_row14_ps6 {
				nvidia,pins = "kb_row14_ps6";
				nvidia,function = "rsvd2";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			kb_row15_ps7 {
				nvidia,pins = "kb_row15_ps7";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x1>;
			};

			kb_row16_pt0 {
				nvidia,pins = "kb_row16_pt0";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x0>;
			};

			kb_row17_pt1 {
				nvidia,pins = "kb_row17_pt1";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x1>;
			};

			gen2_i2c_scl_pt5 {
				nvidia,pins = "gen2_i2c_scl_pt5";
				nvidia,function = "i2c2";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
				nvidia,open-drain = <0x1>;
			};

			gen2_i2c_sda_pt6 {
				nvidia,pins = "gen2_i2c_sda_pt6";
				nvidia,function = "i2c2";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
				nvidia,open-drain = <0x1>;
			};

			sdmmc4_cmd_pt7 {
				nvidia,pins = "sdmmc4_cmd_pt7";
				nvidia,function = "sdmmc4";
				nvidia,pull = <0x2>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
			};

			pu0 {
				nvidia,pins = "pu0";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
			};

			pu1 {
				nvidia,pins = "pu1";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
			};

			pu2 {
				nvidia,pins = "pu2";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
			};

			pu3 {
				nvidia,pins = "pu3";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
			};

			pu4 {
				nvidia,pins = "pu4";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
			};

			pu5 {
				nvidia,pins = "pu5";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
			};

			pu6 {
				nvidia,pins = "pu6";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
			};

			pv0 {
				nvidia,pins = "pv0";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x1>;
			};

			pv1 {
				nvidia,pins = "pv1";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x1>;
			};

			sdmmc3_cd_n_pv2 {
				nvidia,pins = "sdmmc3_cd_n_pv2";
				nvidia,function = "sdmmc3";
				nvidia,pull = <0x2>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x1>;
			};

			sdmmc1_wp_n_pv3 {
				nvidia,pins = "sdmmc1_wp_n_pv3";
				nvidia,function = "sdmmc1";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			ddc_scl_pv4 {
				nvidia,pins = "ddc_scl_pv4";
				nvidia,function = "i2c4";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
				nvidia,rcv-sel = <0x0>;
			};

			ddc_sda_pv5 {
				nvidia,pins = "ddc_sda_pv5";
				nvidia,function = "i2c4";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
				nvidia,rcv-sel = <0x0>;
			};

			gpio_w2_aud_pw2 {
				nvidia,pins = "gpio_w2_aud_pw2";
				nvidia,function = "rsvd2";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			gpio_w3_aud_pw3 {
				nvidia,pins = "gpio_w3_aud_pw3";
				nvidia,function = "spi6";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			dap_mclk1_pw4 {
				nvidia,pins = "dap_mclk1_pw4";
				nvidia,function = "extperiph1";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x0>;
			};

			clk2_out_pw5 {
				nvidia,pins = "clk2_out_pw5";
				nvidia,function = "extperiph2";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x0>;
			};

			uart3_txd_pw6 {
				nvidia,pins = "uart3_txd_pw6";
				nvidia,function = "rsvd2";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			uart3_rxd_pw7 {
				nvidia,pins = "uart3_rxd_pw7";
				nvidia,function = "rsvd2";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			dvfs_pwm_px0 {
				nvidia,pins = "dvfs_pwm_px0";
				nvidia,function = "cldvfs";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x0>;
			};

			gpio_x1_aud_px1 {
				nvidia,pins = "gpio_x1_aud_px1";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x1>;
			};

			dvfs_clk_px2 {
				nvidia,pins = "dvfs_clk_px2";
				nvidia,function = "cldvfs";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x0>;
			};

			gpio_x3_aud_px3 {
				nvidia,pins = "gpio_x3_aud_px3";
				nvidia,function = "rsvd4";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			gpio_x4_aud_px4 {
				nvidia,pins = "gpio_x4_aud_px4";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x1>;
			};

			gpio_x5_aud_px5 {
				nvidia,pins = "gpio_x5_aud_px5";
				nvidia,function = "rsvd4";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			gpio_x6_aud_px6 {
				nvidia,pins = "gpio_x6_aud_px6";
				nvidia,function = "gmi";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			gpio_x7_aud_px7 {
				nvidia,pins = "gpio_x7_aud_px7";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x0>;
			};

			ulpi_clk_py0 {
				nvidia,pins = "ulpi_clk_py0";
				nvidia,function = "spi1";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x0>;
			};

			ulpi_dir_py1 {
				nvidia,pins = "ulpi_dir_py1";
				nvidia,function = "spi1";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x1>;
			};

			ulpi_nxt_py2 {
				nvidia,pins = "ulpi_nxt_py2";
				nvidia,function = "spi1";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x0>;
			};

			ulpi_stp_py3 {
				nvidia,pins = "ulpi_stp_py3";
				nvidia,function = "spi1";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x0>;
			};

			sdmmc1_dat3_py4 {
				nvidia,pins = "sdmmc1_dat3_py4";
				nvidia,function = "sdmmc1";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			sdmmc1_dat2_py5 {
				nvidia,pins = "sdmmc1_dat2_py5";
				nvidia,function = "sdmmc1";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			sdmmc1_dat1_py6 {
				nvidia,pins = "sdmmc1_dat1_py6";
				nvidia,function = "sdmmc1";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			sdmmc1_dat0_py7 {
				nvidia,pins = "sdmmc1_dat0_py7";
				nvidia,function = "rsvd2";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			sdmmc1_clk_pz0 {
				nvidia,pins = "sdmmc1_clk_pz0";
				nvidia,function = "rsvd3";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			sdmmc1_cmd_pz1 {
				nvidia,pins = "sdmmc1_cmd_pz1";
				nvidia,function = "sdmmc1";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			pwr_i2c_scl_pz6 {
				nvidia,pins = "pwr_i2c_scl_pz6";
				nvidia,function = "i2cpwr";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
				nvidia,open-drain = <0x1>;
			};

			pwr_i2c_sda_pz7 {
				nvidia,pins = "pwr_i2c_sda_pz7";
				nvidia,function = "i2cpwr";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
				nvidia,open-drain = <0x1>;
			};

			sdmmc4_dat0_paa0 {
				nvidia,pins = "sdmmc4_dat0_paa0";
				nvidia,function = "sdmmc4";
				nvidia,pull = <0x2>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
			};

			sdmmc4_dat1_paa1 {
				nvidia,pins = "sdmmc4_dat1_paa1";
				nvidia,function = "sdmmc4";
				nvidia,pull = <0x2>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
			};

			sdmmc4_dat2_paa2 {
				nvidia,pins = "sdmmc4_dat2_paa2";
				nvidia,function = "sdmmc4";
				nvidia,pull = <0x2>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
			};

			sdmmc4_dat3_paa3 {
				nvidia,pins = "sdmmc4_dat3_paa3";
				nvidia,function = "sdmmc4";
				nvidia,pull = <0x2>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
			};

			sdmmc4_dat4_paa4 {
				nvidia,pins = "sdmmc4_dat4_paa4";
				nvidia,function = "sdmmc4";
				nvidia,pull = <0x2>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
			};

			sdmmc4_dat5_paa5 {
				nvidia,pins = "sdmmc4_dat5_paa5";
				nvidia,function = "sdmmc4";
				nvidia,pull = <0x2>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
			};

			sdmmc4_dat6_paa6 {
				nvidia,pins = "sdmmc4_dat6_paa6";
				nvidia,function = "sdmmc4";
				nvidia,pull = <0x2>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
			};

			sdmmc4_dat7_paa7 {
				nvidia,pins = "sdmmc4_dat7_paa7";
				nvidia,function = "sdmmc4";
				nvidia,pull = <0x2>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
			};

			pbb0 {
				nvidia,pins = "pbb0";
				nvidia,function = "vimclk2_alt";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x0>;
			};

			cam_i2c_scl_pbb1 {
				nvidia,pins = "cam_i2c_scl_pbb1";
				nvidia,function = "i2c3";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
				nvidia,open-drain = <0x1>;
			};

			cam_i2c_sda_pbb2 {
				nvidia,pins = "cam_i2c_sda_pbb2";
				nvidia,function = "i2c3";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
				nvidia,open-drain = <0x1>;
			};

			pbb3 {
				nvidia,pins = "pbb3";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x0>;
			};

			pbb4 {
				nvidia,pins = "pbb4";
				nvidia,function = "vgp4";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x0>;
			};

			pbb5 {
				nvidia,pins = "pbb5";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x0>;
			};

			pbb6 {
				nvidia,pins = "pbb6";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x0>;
			};

			pbb7 {
				nvidia,pins = "pbb7";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x0>;
			};

			cam_mclk_pcc0 {
				nvidia,pins = "cam_mclk_pcc0";
				nvidia,function = "vi_alt3";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x0>;
			};

			pcc1 {
				nvidia,pins = "pcc1";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
			};

			pcc2 {
				nvidia,pins = "pcc2";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
			};

			sdmmc4_clk_pcc4 {
				nvidia,pins = "sdmmc4_clk_pcc4";
				nvidia,function = "sdmmc4";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
			};

			clk2_req_pcc5 {
				nvidia,pins = "clk2_req_pcc5";
				nvidia,function = "rsvd2";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			pex_l0_rst_n_pdd1 {
				nvidia,pins = "pex_l0_rst_n_pdd1";
				nvidia,function = "pe0";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x0>;
			};

			pex_l0_clkreq_n_pdd2 {
				nvidia,pins = "pex_l0_clkreq_n_pdd2";
				nvidia,function = "pe0";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x1>;
			};

			pex_wake_n_pdd3 {
				nvidia,pins = "pex_wake_n_pdd3";
				nvidia,function = "pe";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x1>;
			};

			pex_l1_rst_n_pdd5 {
				nvidia,pins = "pex_l1_rst_n_pdd5";
				nvidia,function = "pe1";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x0>;
			};

			pex_l1_clkreq_n_pdd6 {
				nvidia,pins = "pex_l1_clkreq_n_pdd6";
				nvidia,function = "pe1";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x1>;
			};

			clk3_out_pee0 {
				nvidia,pins = "clk3_out_pee0";
				nvidia,function = "extperiph3";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x0>;
			};

			clk3_req_pee1 {
				nvidia,pins = "clk3_req_pee1";
				nvidia,function = "rsvd2";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
			};

			dap_mclk1_req_pee2 {
				nvidia,pins = "dap_mclk1_req_pee2";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x0>;
			};

			hdmi_cec_pee3 {
				nvidia,pins = "hdmi_cec_pee3";
				nvidia,function = "cec";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
				nvidia,open-drain = <0x0>;
			};

			sdmmc3_clk_lb_out_pee4 {
				nvidia,pins = "sdmmc3_clk_lb_out_pee4";
				nvidia,function = "sdmmc3";
				nvidia,pull = <0x2>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
			};

			sdmmc3_clk_lb_in_pee5 {
				nvidia,pins = "sdmmc3_clk_lb_in_pee5";
				nvidia,function = "sdmmc3";
				nvidia,pull = <0x2>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
			};

			dp_hpd_pff0 {
				nvidia,pins = "dp_hpd_pff0";
				nvidia,function = "dp";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x1>;
			};

			usb_vbus_en2_pff1 {
				nvidia,pins = "usb_vbus_en2_pff1";
				nvidia,function = "rsvd2";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
				nvidia,open-drain = <0x0>;
			};

			pff2 {
				nvidia,pins = "pff2";
				nvidia,function = "rsvd2";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
				nvidia,open-drain = <0x0>;
			};

			core_pwr_req {
				nvidia,pins = "core_pwr_req";
				nvidia,function = "pwron";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x0>;
			};

			cpu_pwr_req {
				nvidia,pins = "cpu_pwr_req";
				nvidia,function = "cpu";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x0>;
			};

			pwr_int_n {
				nvidia,pins = "pwr_int_n";
				nvidia,function = "pmi";
				nvidia,pull = <0x2>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x1>;
			};

			reset_out_n {
				nvidia,pins = "reset_out_n";
				nvidia,function = "reset_out_n";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x1>;
			};

			owr {
				nvidia,pins = "owr";
				nvidia,function = "rsvd2";
				nvidia,pull = <0x1>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x0>;
				nvidia,rcv-sel = <0x0>;
			};

			clk_32k_in {
				nvidia,pins = "clk_32k_in";
				nvidia,function = "clk";
				nvidia,pull = <0x0>;
				nvidia,tristate = <0x1>;
				nvidia,enable-input = <0x1>;
			};

			jtag_rtck {
				nvidia,pins = "jtag_rtck";
				nvidia,function = "rtck";
				nvidia,pull = <0x2>;
				nvidia,tristate = <0x0>;
				nvidia,enable-input = <0x0>;
			};
		};
	};

	serial@0,70006000 {
		compatible = "nvidia,tegra124-uart", "nvidia,tegra20-uart";
		reg = <0x0 0x70006000 0x0 0x40>;
		reg-shift = <0x2>;
		interrupts = <0x0 0x24 0x4>;
		clocks = <0x3 0x6>;
		resets = <0x3 0x6>;
		reset-names = "serial";
		dmas = <0x10 0x8 0x10 0x8>;
		dma-names = "rx", "tx";
		status = "disabled";
	};

	serial@0,70006040 {
		compatible = "nvidia,tegra124-uart", "nvidia,tegra20-uart";
		reg = <0x0 0x70006040 0x0 0x40>;
		reg-shift = <0x2>;
		interrupts = <0x0 0x25 0x4>;
		clocks = <0x3 0xc0>;
		resets = <0x3 0x7>;
		reset-names = "serial";
		dmas = <0x10 0x9 0x10 0x9>;
		dma-names = "rx", "tx";
		status = "disabled";
	};

	serial@0,70006200 {
		compatible = "nvidia,tegra124-uart", "nvidia,tegra20-uart";
		reg = <0x0 0x70006200 0x0 0x40>;
		reg-shift = <0x2>;
		interrupts = <0x0 0x2e 0x4>;
		clocks = <0x3 0x37>;
		resets = <0x3 0x37>;
		reset-names = "serial";
		dmas = <0x10 0xa 0x10 0xa>;
		dma-names = "rx", "tx";
		status = "disabled";
	};

	serial@0,70006300 {
		compatible = "nvidia,tegra124-uart", "nvidia,tegra20-uart";
		reg = <0x0 0x70006300 0x0 0x40>;
		reg-shift = <0x2>;
		interrupts = <0x0 0x5a 0x4>;
		clocks = <0x3 0x41>;
		resets = <0x3 0x41>;
		reset-names = "serial";
		dmas = <0x10 0x13 0x10 0x13>;
		dma-names = "rx", "tx";
		status = "okay";
	};

	pwm@0,7000a000 {
		compatible = "nvidia,tegra124-pwm", "nvidia,tegra20-pwm";
		reg = <0x0 0x7000a000 0x0 0x100>;
		#pwm-cells = <0x2>;
		clocks = <0x3 0x11>;
		resets = <0x3 0x11>;
		reset-names = "pwm";
		status = "disabled";
	};

	i2c@0,7000c000 {
		compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
		reg = <0x0 0x7000c000 0x0 0x100>;
		interrupts = <0x0 0x26 0x4>;
		#address-cells = <0x1>;
		#size-cells = <0x0>;
		clocks = <0x3 0xc>;
		clock-names = "div-clk";
		resets = <0x3 0xc>;
		reset-names = "i2c";
		dmas = <0x10 0x15 0x10 0x15>;
		dma-names = "rx", "tx";
		status = "okay";
		clock-frequency = <0x186a0>;

		audio-codec@1c {
			compatible = "realtek,rt5639";
			reg = <0x1c>;
			interrupt-parent = <0xd>;
			interrupts = <0x3c 0x0>;
			realtek,ldo1-en-gpios = <0xd 0x8a 0x0>;
			linux,phandle = <0x24>;
			phandle = <0x24>;
		};

		temperature-sensor@4c {
			compatible = "ti,tmp451";
			reg = <0x4c>;
			interrupt-parent = <0xd>;
			interrupts = <0x46 0x8>;
		};

		eeprom@56 {
			compatible = "atmel,24c02";
			reg = <0x56>;
			pagesize = <0x8>;
		};
	};

	i2c@0,7000c400 {
		compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
		reg = <0x0 0x7000c400 0x0 0x100>;
		interrupts = <0x0 0x54 0x4>;
		#address-cells = <0x1>;
		#size-cells = <0x0>;
		clocks = <0x3 0x36>;
		clock-names = "div-clk";
		resets = <0x3 0x36>;
		reset-names = "i2c";
		dmas = <0x10 0x16 0x10 0x16>;
		dma-names = "rx", "tx";
		status = "okay";
		clock-frequency = <0x186a0>;
	};

	i2c@0,7000c500 {
		compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
		reg = <0x0 0x7000c500 0x0 0x100>;
		interrupts = <0x0 0x5c 0x4>;
		#address-cells = <0x1>;
		#size-cells = <0x0>;
		clocks = <0x3 0x43>;
		clock-names = "div-clk";
		resets = <0x3 0x43>;
		reset-names = "i2c";
		dmas = <0x10 0x17 0x10 0x17>;
		dma-names = "rx", "tx";
		status = "okay";
		clock-frequency = <0x186a0>;
	};

	i2c@0,7000c700 {
		compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
		reg = <0x0 0x7000c700 0x0 0x100>;
		interrupts = <0x0 0x78 0x4>;
		#address-cells = <0x1>;
		#size-cells = <0x0>;
		clocks = <0x3 0x67>;
		clock-names = "div-clk";
		resets = <0x3 0x67>;
		reset-names = "i2c";
		dmas = <0x10 0x1a 0x10 0x1a>;
		dma-names = "rx", "tx";
		status = "okay";
		clock-frequency = <0x186a0>;
		linux,phandle = <0xc>;
		phandle = <0xc>;
	};

	i2c@0,7000d000 {
		compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
		reg = <0x0 0x7000d000 0x0 0x100>;
		interrupts = <0x0 0x35 0x4>;
		#address-cells = <0x1>;
		#size-cells = <0x0>;
		clocks = <0x3 0x2f>;
		clock-names = "div-clk";
		resets = <0x3 0x2f>;
		reset-names = "i2c";
		dmas = <0x10 0x18 0x10 0x18>;
		dma-names = "rx", "tx";
		status = "okay";
		clock-frequency = <0x61a80>;

		pmic@40 {
			compatible = "ams,as3722";
			reg = <0x40>;
			interrupts = <0x0 0x56 0x4>;
			ams,system-power-controller;
			#interrupt-cells = <0x2>;
			interrupt-controller;
			gpio-controller;
			#gpio-cells = <0x2>;
			pinctrl-names = "default";
			pinctrl-0 = <0x11>;
			linux,phandle = <0x22>;
			phandle = <0x22>;

			pinmux {
				linux,phandle = <0x11>;
				phandle = <0x11>;

				gpio0 {
					pins = "gpio0";
					function = "gpio";
					bias-pull-down;
				};

				gpio1_2_4_7 {
					pins = "gpio1", "gpio2", "gpio4", "gpio7";
					function = "gpio";
					bias-pull-up;
				};

				gpio3_5_6 {
					pins = "gpio3", "gpio5", "gpio6";
					bias-high-impedance;
				};
			};

			regulators {
				vsup-sd2-supply = <0x12>;
				vsup-sd3-supply = <0x12>;
				vsup-sd4-supply = <0x12>;
				vsup-sd5-supply = <0x12>;
				vin-ldo0-supply = <0x13>;
				vin-ldo1-6-supply = <0x14>;
				vin-ldo2-5-7-supply = <0x15>;
				vin-ldo3-4-supply = <0x16>;
				vin-ldo9-10-supply = <0x12>;
				vin-ldo11-supply = <0x14>;

				sd0 {
					regulator-name = "+VDD_CPU_AP";
					regulator-min-microvolt = <0xaae60>;
					regulator-max-microvolt = <0x155cc0>;
					regulator-min-microamp = <0x3567e0>;
					regulator-max-microamp = <0x3567e0>;
					regulator-always-on;
					regulator-boot-on;
					ams,ext-control = <0x2>;
				};

				sd1 {
					regulator-name = "+VDD_CORE";
					regulator-min-microvolt = <0xaae60>;
					regulator-max-microvolt = <0x149970>;
					regulator-min-microamp = <0x2625a0>;
					regulator-max-microamp = <0x2625a0>;
					regulator-always-on;
					regulator-boot-on;
					ams,ext-control = <0x1>;
				};

				sd2 {
					regulator-name = "+1.35V_LP0(sd2)";
					regulator-min-microvolt = <0x149970>;
					regulator-max-microvolt = <0x149970>;
					regulator-always-on;
					regulator-boot-on;
					linux,phandle = <0x13>;
					phandle = <0x13>;
				};

				sd3 {
					regulator-name = "+1.35V_LP0(sd3)";
					regulator-min-microvolt = <0x149970>;
					regulator-max-microvolt = <0x149970>;
					regulator-always-on;
					regulator-boot-on;
				};

				sd4 {
					regulator-name = "+1.05V_RUN";
					regulator-min-microvolt = <0x100590>;
					regulator-max-microvolt = <0x100590>;
					linux,phandle = <0x5>;
					phandle = <0x5>;
				};

				sd5 {
					regulator-name = "+1.8V_VDDIO";
					regulator-min-microvolt = <0x1b7740>;
					regulator-max-microvolt = <0x1b7740>;
					regulator-boot-on;
					regulator-always-on;
					linux,phandle = <0x15>;
					phandle = <0x15>;
				};

				sd6 {
					regulator-name = "+VDD_GPU_AP";
					regulator-min-microvolt = <0x9eb10>;
					regulator-max-microvolt = <0x124f80>;
					regulator-min-microamp = <0x3567e0>;
					regulator-max-microamp = <0x3567e0>;
					regulator-boot-on;
					regulator-always-on;
				};

				ldo0 {
					regulator-name = "+1.05V_RUN_AVDD";
					regulator-min-microvolt = <0x100590>;
					regulator-max-microvolt = <0x100590>;
					regulator-boot-on;
					regulator-always-on;
					ams,ext-control = <0x1>;
					linux,phandle = <0x7>;
					phandle = <0x7>;
				};

				ldo1 {
					regulator-name = "+1.8V_RUN_CAM";
					regulator-min-microvolt = <0x1b7740>;
					regulator-max-microvolt = <0x1b7740>;
				};

				ldo2 {
					regulator-name = "+1.2V_GEN_AVDD";
					regulator-min-microvolt = <0x124f80>;
					regulator-max-microvolt = <0x124f80>;
					regulator-boot-on;
					regulator-always-on;
				};

				ldo3 {
					regulator-name = "+1.05V_LP0_VDD_RTC";
					regulator-min-microvolt = <0xf4240>;
					regulator-max-microvolt = <0xf4240>;
					regulator-boot-on;
					regulator-always-on;
					ams,enable-tracking;
				};

				ldo4 {
					regulator-name = "+2.8V_RUN_CAM";
					regulator-min-microvolt = <0x2ab980>;
					regulator-max-microvolt = <0x2ab980>;
				};

				ldo5 {
					regulator-name = "+1.2V_RUN_CAM_FRONT";
					regulator-min-microvolt = <0x124f80>;
					regulator-max-microvolt = <0x124f80>;
				};

				ldo6 {
					regulator-name = "+VDDIO_SDMMC3";
					regulator-min-microvolt = <0x1b7740>;
					regulator-max-microvolt = <0x325aa0>;
					linux,phandle = <0x1b>;
					phandle = <0x1b>;
				};

				ldo7 {
					regulator-name = "+1.05V_RUN_CAM_REAR";
					regulator-min-microvolt = <0x100590>;
					regulator-max-microvolt = <0x100590>;
				};

				ldo9 {
					regulator-name = "+3.3V_RUN_TOUCH";
					regulator-min-microvolt = <0x2ab980>;
					regulator-max-microvolt = <0x2ab980>;
				};

				ldo10 {
					regulator-name = "+2.8V_RUN_CAM_AF";
					regulator-min-microvolt = <0x2ab980>;
					regulator-max-microvolt = <0x2ab980>;
				};

				ldo11 {
					regulator-name = "+1.8V_RUN_VPP_FUSE";
					regulator-min-microvolt = <0x1b7740>;
					regulator-max-microvolt = <0x1b7740>;
				};
			};
		};
	};

	i2c@0,7000d100 {
		compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
		reg = <0x0 0x7000d100 0x0 0x100>;
		interrupts = <0x0 0x3f 0x4>;
		#address-cells = <0x1>;
		#size-cells = <0x0>;
		clocks = <0x3 0xa6>;
		clock-names = "div-clk";
		resets = <0x3 0xa6>;
		reset-names = "i2c";
		dmas = <0x10 0x1e 0x10 0x1e>;
		dma-names = "rx", "tx";
		status = "disabled";
	};

	spi@0,7000d400 {
		compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
		reg = <0x0 0x7000d400 0x0 0x200>;
		interrupts = <0x0 0x3b 0x4>;
		#address-cells = <0x1>;
		#size-cells = <0x0>;
		clocks = <0x3 0x29>;
		clock-names = "spi";
		resets = <0x3 0x29>;
		reset-names = "spi";
		dmas = <0x10 0xf 0x10 0xf>;
		dma-names = "rx", "tx";
		status = "okay";
	};

	spi@0,7000d600 {
		compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
		reg = <0x0 0x7000d600 0x0 0x200>;
		interrupts = <0x0 0x52 0x4>;
		#address-cells = <0x1>;
		#size-cells = <0x0>;
		clocks = <0x3 0x2c>;
		clock-names = "spi";
		resets = <0x3 0x2c>;
		reset-names = "spi";
		dmas = <0x10 0x10 0x10 0x10>;
		dma-names = "rx", "tx";
		status = "disabled";
	};

	spi@0,7000d800 {
		compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
		reg = <0x0 0x7000d800 0x0 0x200>;
		interrupts = <0x0 0x53 0x4>;
		#address-cells = <0x1>;
		#size-cells = <0x0>;
		clocks = <0x3 0x2e>;
		clock-names = "spi";
		resets = <0x3 0x2e>;
		reset-names = "spi";
		dmas = <0x10 0x11 0x10 0x11>;
		dma-names = "rx", "tx";
		status = "disabled";
	};

	spi@0,7000da00 {
		compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
		reg = <0x0 0x7000da00 0x0 0x200>;
		interrupts = <0x0 0x5d 0x4>;
		#address-cells = <0x1>;
		#size-cells = <0x0>;
		clocks = <0x3 0x44>;
		clock-names = "spi";
		resets = <0x3 0x44>;
		reset-names = "spi";
		dmas = <0x10 0x12 0x10 0x12>;
		dma-names = "rx", "tx";
		status = "okay";
		spi-max-frequency = <0x17d7840>;

		spi-flash@0 {
			compatible = "winbond,w25q32dw";
			reg = <0x0>;
			spi-max-frequency = <0x1312d00>;
		};
	};

	spi@0,7000dc00 {
		compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
		reg = <0x0 0x7000dc00 0x0 0x200>;
		interrupts = <0x0 0x5e 0x4>;
		#address-cells = <0x1>;
		#size-cells = <0x0>;
		clocks = <0x3 0x68>;
		clock-names = "spi";
		resets = <0x3 0x68>;
		reset-names = "spi";
		dmas = <0x10 0x1b 0x10 0x1b>;
		dma-names = "rx", "tx";
		status = "disabled";
	};

	spi@0,7000de00 {
		compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
		reg = <0x0 0x7000de00 0x0 0x200>;
		interrupts = <0x0 0x4f 0x4>;
		#address-cells = <0x1>;
		#size-cells = <0x0>;
		clocks = <0x3 0x69>;
		clock-names = "spi";
		resets = <0x3 0x69>;
		reset-names = "spi";
		dmas = <0x10 0x1c 0x10 0x1c>;
		dma-names = "rx", "tx";
		status = "disabled";
	};

	rtc@0,7000e000 {
		compatible = "nvidia,tegra124-rtc", "nvidia,tegra20-rtc";
		reg = <0x0 0x7000e000 0x0 0x100>;
		interrupts = <0x0 0x2 0x4>;
		clocks = <0x3 0x4>;
	};

	pmc@0,7000e400 {
		compatible = "nvidia,tegra124-pmc";
		reg = <0x0 0x7000e400 0x0 0x400>;
		clocks = <0x3 0x105 0x17>;
		clock-names = "pclk", "clk32k_in";
		nvidia,invert-interrupt;
		nvidia,suspend-mode = <0x1>;
		nvidia,cpu-pwr-good-time = <0x1f4>;
		nvidia,cpu-pwr-off-time = <0x12c>;
		nvidia,core-pwr-good-time = <0x281 0xf05>;
		nvidia,core-pwr-off-time = <0xee6c>;
		nvidia,core-power-req-active-high;
		nvidia,sys-clock-req-active-high;

		i2c-thermtrip {
			nvidia,i2c-controller-id = <0x4>;
			nvidia,bus-addr = <0x40>;
			nvidia,reg-addr = <0x36>;
			nvidia,reg-data = <0x2>;
		};
	};

	fuse@0,7000f800 {
		compatible = "nvidia,tegra124-efuse";
		reg = <0x0 0x7000f800 0x0 0x400>;
		clocks = <0x3 0xc6>;
		clock-names = "fuse";
		resets = <0x3 0x27>;
		reset-names = "fuse";
	};

	memory-controller@0,70019000 {
		compatible = "nvidia,tegra124-mc";
		reg = <0x0 0x70019000 0x0 0x1000>;
		clocks = <0x3 0x20>;
		clock-names = "mc";
		interrupts = <0x0 0x4d 0x4>;
		#iommu-cells = <0x1>;
		linux,phandle = <0x8>;
		phandle = <0x8>;

		emc-timings-3 {
			nvidia,ram-code = <0x3>;

			timing-12750000 {
				clock-frequency = <0xc28cb0>;
				nvidia,emem-configuration = <0x40040001 0x8000000a 0x1 0x1 0x2 0x0 0x2 0x1 0x3 0x8 0x3 0x2 0x3 0x6 0x6030203 0xa0502 0x77e30303 0x70000f03 0x1f0000>;
			};

			timing-20400000 {
				clock-frequency = <0x1374780>;
				nvidia,emem-configuration = <0x40020001 0x80000012 0x1 0x1 0x2 0x0 0x2 0x1 0x3 0x8 0x3 0x2 0x3 0x6 0x6030203 0xa0502 0x76230303 0x70000f03 0x1f0000>;
			};

			timing-40800000 {
				clock-frequency = <0x26e8f00>;
				nvidia,emem-configuration = <0xa0000001 0x80000017 0x1 0x1 0x2 0x0 0x2 0x1 0x3 0x8 0x3 0x2 0x3 0x6 0x6030203 0xa0502 0x74a30303 0x70000f03 0x1f0000>;
			};

			timing-68000000 {
				clock-frequency = <0x40d9900>;
				nvidia,emem-configuration = <0x1 0x8000001e 0x1 0x1 0x2 0x0 0x2 0x1 0x3 0x8 0x3 0x2 0x3 0x6 0x6030203 0xa0502 0x74230403 0x70000f03 0x1f0000>;
			};

			timing-102000000 {
				clock-frequency = <0x6146580>;
				nvidia,emem-configuration = <0x8000001 0x80000026 0x1 0x1 0x3 0x0 0x2 0x1 0x3 0x8 0x3 0x2 0x3 0x6 0x6030203 0xa0503 0x73c30504 0x70000f03 0x1f0000>;
			};

			timing-204000000 {
				clock-frequency = <0xc28cb00>;
				nvidia,emem-configuration = <0x1000003 0x80000040 0x1 0x1 0x4 0x2 0x3 0x1 0x3 0x8 0x3 0x2 0x4 0x6 0x6040203 0xa0504 0x73840a05 0x70000f03 0x1f0000>;
			};

			timing-300000000 {
				clock-frequency = <0x11e1a300>;
				nvidia,emem-configuration = <0x8000004 0x80000040 0x1 0x2 0x7 0x4 0x4 0x1 0x2 0x7 0x2 0x2 0x4 0x6 0x6040202 0xb0607 0x77450e08 0x70000f03 0x1f0000>;
			};

			timing-396000000 {
				clock-frequency = <0x179a7b00>;
				nvidia,emem-configuration = <0xf000005 0x80000040 0x1 0x2 0x9 0x5 0x6 0x1 0x2 0x8 0x2 0x2 0x4 0x6 0x6040202 0xd0709 0x7586120a 0x70000f03 0x1f0000>;
			};

			timing-528000000 {
				clock-frequency = <0x1f78a400>;
				nvidia,emem-configuration = <0xf000007 0x80000040 0x2 0x3 0xc 0x7 0x8 0x1 0x2 0x9 0x2 0x2 0x5 0x6 0x6050202 0x10090c 0x7428180d 0x70000f03 0x1f0000>;
			};

			timing-600000000 {
				clock-frequency = <0x23c34600>;
				nvidia,emem-configuration = <0x9 0x80000040 0x3 0x4 0xe 0x9 0xa 0x1 0x3 0xb 0x2 0x2 0x5 0x7 0x7050202 0x130b0e 0x73a91b0f 0x70000f03 0x1f0000>;
			};

			timing-792000000 {
				clock-frequency = <0x2f34f600>;
				nvidia,emem-configuration = <0xe00000b 0x80000040 0x4 0x5 0x13 0xc 0xd 0x2 0x3 0xc 0x2 0x2 0x6 0x8 0x8060202 0x170e13 0x736c2414 0x70000f02 0x1f0000>;
			};

			timing-924000000 {
				clock-frequency = <0x37131f00>;
				nvidia,emem-configuration = <0xe00000d 0x80000040 0x5 0x6 0x16 0xe 0xf 0x2 0x4 0xe 0x2 0x2 0x6 0x9 0x9060202 0x1a1016 0x734e2a17 0x70000f02 0x1f0000>;
			};
		};
	};

	emc@0,7001b000 {
		compatible = "nvidia,tegra124-emc";
		reg = <0x0 0x7001b000 0x0 0x1000>;
		nvidia,memory-controller = <0x8>;
		linux,phandle = <0xe>;
		phandle = <0xe>;

		emc-timings-3 {
			nvidia,ram-code = <0x3>;

			timing-12750000 {
				clock-frequency = <0xc28cb0>;
				nvidia,emc-auto-cal-config = <0xa1430000>;
				nvidia,emc-auto-cal-config2 = <0x0>;
				nvidia,emc-auto-cal-config3 = <0x0>;
				nvidia,emc-auto-cal-interval = <0x1fffff>;
				nvidia,emc-bgbias-ctl0 = <0x8>;
				nvidia,emc-cfg = <0x73240000>;
				nvidia,emc-cfg-2 = <0x8c5>;
				nvidia,emc-ctt-term-ctrl = <0x802>;
				nvidia,emc-mode-1 = <0x80100003>;
				nvidia,emc-mode-2 = <0x80200008>;
				nvidia,emc-mode-4 = <0x0>;
				nvidia,emc-mode-reset = <0x80001221>;
				nvidia,emc-mrs-wait-cnt = <0xe000e>;
				nvidia,emc-sel-dpd-ctrl = <0x40128>;
				nvidia,emc-xm2dqspadctrl2 = <0x130b118>;
				nvidia,emc-zcal-cnt-long = <0x42>;
				nvidia,emc-zcal-interval = <0x0>;
				nvidia,emc-configuration = <0x0 0x3 0x0 0x0 0x0 0x4 0xa 0x5 0xb 0x0 0x0 0x3 0x3 0x0 0x6 0x6 0x6 0x2 0x0 0x5 0x5 0x10000 0x3 0x0 0x0 0x0 0x0 0x4 0xc 0xd 0xf 0x60 0x0 0x18 0x2 0x2 0x1 0x0 0x7 0xf 0x5 0x5 0x4 0x5 0x4 0x0 0x0 0x5 0x5 0x64 0x0 0x0 0x0 0x106aa298 0x2c00a0 0x8000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xfc000 0xfc000 0xfc000 0xfc000 0xfc00 0xfc00 0xfc00 0xfc00 0x10000280 0x0 0x111111 0x0 0x0 0x77ffc081 0xe0e 0x81f1f108 0x7070004 0x3f 0x16eeeee 0x51451400 0x514514 0x514514 0x51451400 0x3f 0x7 0x0 0x42 0xe000e 0x0 0x3 0xf2f3 0x800001c5 0xa>;
			};

			timing-20400000 {
				clock-frequency = <0x1374780>;
				nvidia,emc-auto-cal-config = <0xa1430000>;
				nvidia,emc-auto-cal-config2 = <0x0>;
				nvidia,emc-auto-cal-config3 = <0x0>;
				nvidia,emc-auto-cal-interval = <0x1fffff>;
				nvidia,emc-bgbias-ctl0 = <0x8>;
				nvidia,emc-cfg = <0x73240000>;
				nvidia,emc-cfg-2 = <0x8c5>;
				nvidia,emc-ctt-term-ctrl = <0x802>;
				nvidia,emc-mode-1 = <0x80100003>;
				nvidia,emc-mode-2 = <0x80200008>;
				nvidia,emc-mode-4 = <0x0>;
				nvidia,emc-mode-reset = <0x80001221>;
				nvidia,emc-mrs-wait-cnt = <0xe000e>;
				nvidia,emc-sel-dpd-ctrl = <0x40128>;
				nvidia,emc-xm2dqspadctrl2 = <0x130b118>;
				nvidia,emc-zcal-cnt-long = <0x42>;
				nvidia,emc-zcal-interval = <0x0>;
				nvidia,emc-configuration = <0x0 0x5 0x0 0x0 0x0 0x4 0xa 0x5 0xb 0x0 0x0 0x3 0x3 0x0 0x6 0x6 0x6 0x2 0x0 0x5 0x5 0x10000 0x3 0x0 0x0 0x0 0x0 0x4 0xc 0xd 0xf 0x9a 0x0 0x26 0x2 0x2 0x1 0x0 0x7 0xf 0x6 0x6 0x4 0x5 0x4 0x0 0x0 0x5 0x5 0xa0 0x0 0x0 0x0 0x106aa298 0x2c00a0 0x8000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xfc000 0xfc000 0xfc000 0xfc000 0xfc00 0xfc00 0xfc00 0xfc00 0x10000280 0x0 0x111111 0x0 0x0 0x77ffc081 0xe0e 0x81f1f108 0x7070004 0x3f 0x16eeeee 0x51451400 0x514514 0x514514 0x51451400 0x3f 0xb 0x0 0x42 0xe000e 0x0 0x3 0xf2f3 0x8000023a 0xa>;
			};

			timing-40800000 {
				clock-frequency = <0x26e8f00>;
				nvidia,emc-auto-cal-config = <0xa1430000>;
				nvidia,emc-auto-cal-config2 = <0x0>;
				nvidia,emc-auto-cal-config3 = <0x0>;
				nvidia,emc-auto-cal-interval = <0x1fffff>;
				nvidia,emc-bgbias-ctl0 = <0x8>;
				nvidia,emc-cfg = <0x73240000>;
				nvidia,emc-cfg-2 = <0x8c5>;
				nvidia,emc-ctt-term-ctrl = <0x802>;
				nvidia,emc-mode-1 = <0x80100003>;
				nvidia,emc-mode-2 = <0x80200008>;
				nvidia,emc-mode-4 = <0x0>;
				nvidia,emc-mode-reset = <0x80001221>;
				nvidia,emc-mrs-wait-cnt = <0xe000e>;
				nvidia,emc-sel-dpd-ctrl = <0x40128>;
				nvidia,emc-xm2dqspadctrl2 = <0x130b118>;
				nvidia,emc-zcal-cnt-long = <0x42>;
				nvidia,emc-zcal-interval = <0x0>;
				nvidia,emc-configuration = <0x1 0xa 0x0 0x1 0x0 0x4 0xa 0x5 0xb 0x0 0x0 0x3 0x3 0x0 0x6 0x6 0x6 0x2 0x0 0x5 0x5 0x10000 0x3 0x0 0x0 0x0 0x0 0x4 0xc 0xd 0xf 0x134 0x0 0x4d 0x2 0x2 0x1 0x0 0x8 0xf 0xc 0xc 0x4 0x5 0x4 0x0 0x0 0x5 0x5 0x13f 0x0 0x0 0x0 0x106aa298 0x2c00a0 0x8000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xfc000 0xfc000 0xfc000 0xfc000 0xfc00 0xfc00 0xfc00 0xfc00 0x10000280 0x0 0x111111 0x0 0x0 0x77ffc081 0xe0e 0x81f1f108 0x7070004 0x3f 0x16eeeee 0x51451400 0x514514 0x514514 0x51451400 0x3f 0x15 0x0 0x42 0xe000e 0x0 0x3 0xf2f3 0x80000370 0xa>;
			};

			timing-68000000 {
				clock-frequency = <0x40d9900>;
				nvidia,emc-auto-cal-config = <0xa1430000>;
				nvidia,emc-auto-cal-config2 = <0x0>;
				nvidia,emc-auto-cal-config3 = <0x0>;
				nvidia,emc-auto-cal-interval = <0x1fffff>;
				nvidia,emc-bgbias-ctl0 = <0x8>;
				nvidia,emc-cfg = <0x73240000>;
				nvidia,emc-cfg-2 = <0x8c5>;
				nvidia,emc-ctt-term-ctrl = <0x802>;
				nvidia,emc-mode-1 = <0x80100003>;
				nvidia,emc-mode-2 = <0x80200008>;
				nvidia,emc-mode-4 = <0x0>;
				nvidia,emc-mode-reset = <0x80001221>;
				nvidia,emc-mrs-wait-cnt = <0xe000e>;
				nvidia,emc-sel-dpd-ctrl = <0x40128>;
				nvidia,emc-xm2dqspadctrl2 = <0x130b118>;
				nvidia,emc-zcal-cnt-long = <0x42>;
				nvidia,emc-zcal-interval = <0x0>;
				nvidia,emc-configuration = <0x3 0x11 0x0 0x2 0x0 0x4 0xa 0x5 0xb 0x0 0x0 0x3 0x3 0x0 0x6 0x6 0x6 0x2 0x0 0x5 0x5 0x10000 0x3 0x0 0x0 0x0 0x0 0x4 0xc 0xd 0xf 0x202 0x0 0x80 0x2 0x2 0x1 0x0 0xf 0xf 0x13 0x13 0x4 0x5 0x4 0x1 0x0 0x5 0x5 0x213 0x0 0x0 0x0 0x106aa298 0x2c00a0 0x8000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xfc000 0xfc000 0xfc000 0xfc000 0xfc00 0xfc00 0xfc00 0xfc00 0x10000280 0x0 0x111111 0x0 0x0 0x77ffc081 0xe0e 0x81f1f108 0x7070004 0x3f 0x16eeeee 0x51451400 0x514514 0x514514 0x51451400 0x3f 0x22 0x0 0x42 0xe000e 0x0 0x3 0xf2f3 0x8000050e 0xa>;
			};

			timing-102000000 {
				clock-frequency = <0x6146580>;
				nvidia,emc-auto-cal-config = <0xa1430000>;
				nvidia,emc-auto-cal-config2 = <0x0>;
				nvidia,emc-auto-cal-config3 = <0x0>;
				nvidia,emc-auto-cal-interval = <0x1fffff>;
				nvidia,emc-bgbias-ctl0 = <0x8>;
				nvidia,emc-cfg = <0x73240000>;
				nvidia,emc-cfg-2 = <0x8c5>;
				nvidia,emc-ctt-term-ctrl = <0x802>;
				nvidia,emc-mode-1 = <0x80100003>;
				nvidia,emc-mode-2 = <0x80200008>;
				nvidia,emc-mode-4 = <0x0>;
				nvidia,emc-mode-reset = <0x80001221>;
				nvidia,emc-mrs-wait-cnt = <0xe000e>;
				nvidia,emc-sel-dpd-ctrl = <0x40128>;
				nvidia,emc-xm2dqspadctrl2 = <0x130b118>;
				nvidia,emc-zcal-cnt-long = <0x42>;
				nvidia,emc-zcal-interval = <0x0>;
				nvidia,emc-configuration = <0x4 0x1a 0x0 0x3 0x1 0x4 0xa 0x5 0xb 0x1 0x1 0x3 0x3 0x0 0x6 0x6 0x6 0x2 0x0 0x5 0x5 0x10000 0x3 0x0 0x0 0x0 0x0 0x4 0xc 0xd 0xf 0x304 0x0 0xc1 0x2 0x2 0x1 0x0 0x18 0xf 0x1c 0x1c 0x4 0x5 0x4 0x2 0x0 0x5 0x5 0x31c 0x0 0x0 0x0 0x106aa298 0x2c00a0 0x8000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xfc000 0xfc000 0xfc000 0xfc000 0xfc00 0xfc00 0xfc00 0xfc00 0x10000280 0x0 0x111111 0x0 0x0 0x77ffc081 0xe0e 0x81f1f108 0x7070004 0x3f 0x16eeeee 0x51451400 0x514514 0x514514 0x51451400 0x3f 0x33 0x0 0x42 0xe000e 0x0 0x3 0xf2f3 0x80000713 0xa>;
			};

			timing-204000000 {
				clock-frequency = <0xc28cb00>;
				nvidia,emc-auto-cal-config = <0xa1430000>;
				nvidia,emc-auto-cal-config2 = <0x0>;
				nvidia,emc-auto-cal-config3 = <0x0>;
				nvidia,emc-auto-cal-interval = <0x1fffff>;
				nvidia,emc-bgbias-ctl0 = <0x8>;
				nvidia,emc-cfg = <0x73240000>;
				nvidia,emc-cfg-2 = <0x8cd>;
				nvidia,emc-ctt-term-ctrl = <0x802>;
				nvidia,emc-mode-1 = <0x80100003>;
				nvidia,emc-mode-2 = <0x80200008>;
				nvidia,emc-mode-4 = <0x0>;
				nvidia,emc-mode-reset = <0x80001221>;
				nvidia,emc-mrs-wait-cnt = <0xe000e>;
				nvidia,emc-sel-dpd-ctrl = <0x40128>;
				nvidia,emc-xm2dqspadctrl2 = <0x130b118>;
				nvidia,emc-zcal-cnt-long = <0x42>;
				nvidia,emc-zcal-interval = <0x20000>;
				nvidia,emc-configuration = <0x9 0x35 0x0 0x6 0x2 0x5 0xa 0x5 0xb 0x2 0x2 0x3 0x3 0x0 0x5 0x5 0x6 0x2 0x0 0x4 0x6 0x10000 0x3 0x0 0x0 0x0 0x0 0x3 0xd 0xf 0x11 0x607 0x0 0x181 0x2 0x2 0x1 0x0 0x32 0xf 0x38 0x38 0x4 0x5 0x4 0x6 0x0 0x5 0x5 0x638 0x0 0x0 0x0 0x106aa298 0x2c00a0 0x8000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x80000 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x8000 0x0 0x0 0x8000 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x90000 0x90000 0x90000 0x90000 0x9000 0x9000 0x9000 0x9000 0x10000280 0x0 0x111111 0x0 0x0 0x77ffc081 0x707 0x81f1f108 0x7070004 0x3f 0x16eeeee 0x51451400 0x514514 0x514514 0x51451400 0x3f 0x66 0x0 0x100 0xe000e 0x0 0x3 0xd2b3 0x80000d22 0xa>;
			};

			timing-300000000 {
				clock-frequency = <0x11e1a300>;
				nvidia,emc-auto-cal-config = <0xa1430000>;
				nvidia,emc-auto-cal-config2 = <0x0>;
				nvidia,emc-auto-cal-config3 = <0x0>;
				nvidia,emc-auto-cal-interval = <0x1fffff>;
				nvidia,emc-bgbias-ctl0 = <0x0>;
				nvidia,emc-cfg = <0x73340000>;
				nvidia,emc-cfg-2 = <0x8d5>;
				nvidia,emc-ctt-term-ctrl = <0x802>;
				nvidia,emc-mode-1 = <0x80100002>;
				nvidia,emc-mode-2 = <0x80200000>;
				nvidia,emc-mode-4 = <0x0>;
				nvidia,emc-mode-reset = <0x80000321>;
				nvidia,emc-mrs-wait-cnt = <0x173000e>;
				nvidia,emc-sel-dpd-ctrl = <0x40128>;
				nvidia,emc-xm2dqspadctrl2 = <0x1231339>;
				nvidia,emc-zcal-cnt-long = <0x42>;
				nvidia,emc-zcal-interval = <0x20000>;
				nvidia,emc-configuration = <0xd 0x4d 0x0 0x9 0x3 0x4 0x8 0x2 0x9 0x3 0x3 0x2 0x2 0x0 0x3 0x3 0x5 0x2 0x0 0x2 0x7 0x20000 0x3 0x0 0x0 0x0 0x0 0x1 0xe 0x10 0x12 0x8e4 0x0 0x239 0x1 0x8 0x1 0x0 0x4b 0xe 0x52 0x200 0x4 0x5 0x4 0x8 0x0 0x5 0x5 0x924 0x0 0x0 0x0 0x104ab098 0x2c00a0 0x8000 0x30000 0x30000 0x30000 0x30000 0x30000 0x30000 0x30000 0x30000 0x30000 0x30000 0x30000 0x30000 0x30000 0x30000 0x30000 0x30000 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x98000 0x98000 0x0 0x98000 0x98000 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x50000 0x50000 0x50000 0x50000 0x5000 0x5000 0x5000 0x5000 0x10000280 0x0 0x111111 0x0 0x0 0x77ffc081 0x505 0x81f1f108 0x7070004 0x0 0x16eeeee 0x51451420 0x514514 0x514514 0x51451400 0x3f 0x96 0x0 0x100 0x173000e 0x0 0x3 0x52a3 0x800012d7 0x9>;
			};

			timing-396000000 {
				clock-frequency = <0x179a7b00>;
				nvidia,emc-auto-cal-config = <0xa1430000>;
				nvidia,emc-auto-cal-config2 = <0x0>;
				nvidia,emc-auto-cal-config3 = <0x0>;
				nvidia,emc-auto-cal-interval = <0x1fffff>;
				nvidia,emc-bgbias-ctl0 = <0x0>;
				nvidia,emc-cfg = <0x73340000>;
				nvidia,emc-cfg-2 = <0x895>;
				nvidia,emc-ctt-term-ctrl = <0x802>;
				nvidia,emc-mode-1 = <0x80100002>;
				nvidia,emc-mode-2 = <0x80200000>;
				nvidia,emc-mode-4 = <0x0>;
				nvidia,emc-mode-reset = <0x80000521>;
				nvidia,emc-mrs-wait-cnt = <0x15b000e>;
				nvidia,emc-sel-dpd-ctrl = <0x40008>;
				nvidia,emc-xm2dqspadctrl2 = <0x1231339>;
				nvidia,emc-zcal-cnt-long = <0x42>;
				nvidia,emc-zcal-interval = <0x20000>;
				nvidia,emc-configuration = <0x11 0x66 0x0 0xc 0x4 0x4 0x8 0x2 0xa 0x4 0x4 0x2 0x2 0x0 0x3 0x3 0x5 0x2 0x0 0x1 0x8 0x20000 0x3 0x0 0x0 0x0 0x0 0x0 0xf 0x10 0x12 0xbd1 0x0 0x2f4 0x1 0x8 0x1 0x0 0x63 0xf 0x6c 0x200 0x4 0x5 0x4 0xb 0x0 0x5 0x5 0xc11 0x0 0x0 0x0 0x104ab098 0x2c00a0 0x8000 0x30000 0x30000 0x30000 0x30000 0x30000 0x30000 0x30000 0x30000 0x30000 0x30000 0x30000 0x30000 0x30000 0x30000 0x30000 0x30000 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x70000 0x70000 0x0 0x70000 0x70000 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x38000 0x38000 0x38000 0x38000 0x3800 0x3800 0x3800 0x3800 0x10000280 0x0 0x111111 0x0 0x0 0x77ffc081 0x505 0x81f1f108 0x7070004 0x0 0x16eeeee 0x51451420 0x514514 0x514514 0x51451400 0x3f 0xc6 0x0 0x100 0x15b000e 0x0 0x3 0x52a3 0x8000188b 0x9>;
			};

			timing-528000000 {
				clock-frequency = <0x1f78a400>;
				nvidia,emc-auto-cal-config = <0xa1430000>;
				nvidia,emc-auto-cal-config2 = <0x0>;
				nvidia,emc-auto-cal-config3 = <0x0>;
				nvidia,emc-auto-cal-interval = <0x1fffff>;
				nvidia,emc-bgbias-ctl0 = <0x0>;
				nvidia,emc-cfg = <0x73300000>;
				nvidia,emc-cfg-2 = <0x89d>;
				nvidia,emc-ctt-term-ctrl = <0x802>;
				nvidia,emc-mode-1 = <0x80100002>;
				nvidia,emc-mode-2 = <0x80200008>;
				nvidia,emc-mode-4 = <0x0>;
				nvidia,emc-mode-reset = <0x80000941>;
				nvidia,emc-mrs-wait-cnt = <0x139000e>;
				nvidia,emc-sel-dpd-ctrl = <0x40008>;
				nvidia,emc-xm2dqspadctrl2 = <0x123133d>;
				nvidia,emc-zcal-cnt-long = <0x42>;
				nvidia,emc-zcal-interval = <0x20000>;
				nvidia,emc-configuration = <0x18 0x88 0x0 0x10 0x6 0x6 0x9 0x2 0xd 0x6 0x6 0x2 0x2 0x0 0x3 0x3 0x6 0x2 0x0 0x1 0x9 0x30000 0x3 0x0 0x0 0x0 0x0 0x0 0x10 0x12 0x14 0xfd6 0x0 0x3f5 0x2 0xb 0x1 0x0 0x85 0x12 0x90 0x200 0x4 0x5 0x4 0x10 0x0 0x6 0x6 0x1017 0x0 0x0 0x0 0x104ab098 0xe01200b1 0x8000 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x54000 0x54000 0x0 0x54000 0x54000 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xc 0xc 0xc 0xc 0xc 0xc 0xc 0xc 0x100002a0 0x0 0x111111 0x0 0x0 0x77ffc085 0x505 0x81f1f108 0x7070004 0x0 0x16eeeee 0x51451420 0x514514 0x514514 0x51451400 0x606003f 0x0 0x0 0x100 0x139000e 0x0 0x3 0x42a0 0x80002062 0xa>;
			};

			timing-600000000 {
				clock-frequency = <0x23c34600>;
				nvidia,emc-auto-cal-config = <0xa1430000>;
				nvidia,emc-auto-cal-config2 = <0x0>;
				nvidia,emc-auto-cal-config3 = <0x0>;
				nvidia,emc-auto-cal-interval = <0x1fffff>;
				nvidia,emc-bgbias-ctl0 = <0x0>;
				nvidia,emc-cfg = <0x73300000>;
				nvidia,emc-cfg-2 = <0x89d>;
				nvidia,emc-ctt-term-ctrl = <0x802>;
				nvidia,emc-mode-1 = <0x80100002>;
				nvidia,emc-mode-2 = <0x80200010>;
				nvidia,emc-mode-4 = <0x0>;
				nvidia,emc-mode-reset = <0x80000b61>;
				nvidia,emc-mrs-wait-cnt = <0x127000e>;
				nvidia,emc-sel-dpd-ctrl = <0x40008>;
				nvidia,emc-xm2dqspadctrl2 = <0x121113d>;
				nvidia,emc-zcal-cnt-long = <0x42>;
				nvidia,emc-zcal-interval = <0x20000>;
				nvidia,emc-configuration = <0x1b 0x9b 0x0 0x13 0x7 0x7 0xb 0x3 0x10 0x7 0x7 0x2 0x2 0x0 0x5 0x5 0xa 0x2 0x0 0x3 0xb 0x70000 0x3 0x0 0x0 0x0 0x0 0x2 0x12 0x16 0x18 0x1208 0x0 0x482 0x2 0xd 0x1 0x0 0x97 0x15 0xa3 0x200 0x4 0x5 0x4 0x13 0x0 0x6 0x6 0x1248 0x0 0x0 0x0 0x104ab098 0xe00e00b1 0x8000 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x48000 0x48000 0x0 0x48000 0x48000 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0x100002a0 0x0 0x111111 0x0 0x0 0x77ffc085 0x505 0x81f1f108 0x7070004 0x0 0x16eeeee 0x51451420 0x514514 0x514514 0x51451400 0x606003f 0x0 0x0 0x100 0x127000e 0x0 0x3 0x40a0 0x800024aa 0xe>;
			};

			timing-792000000 {
				clock-frequency = <0x2f34f600>;
				nvidia,emc-auto-cal-config = <0xa1430000>;
				nvidia,emc-auto-cal-config2 = <0x0>;
				nvidia,emc-auto-cal-config3 = <0x0>;
				nvidia,emc-auto-cal-interval = <0x1fffff>;
				nvidia,emc-bgbias-ctl0 = <0x0>;
				nvidia,emc-cfg = <0x73300000>;
				nvidia,emc-cfg-2 = <0x89d>;
				nvidia,emc-ctt-term-ctrl = <0x802>;
				nvidia,emc-mode-1 = <0x80100002>;
				nvidia,emc-mode-2 = <0x80200018>;
				nvidia,emc-mode-4 = <0x0>;
				nvidia,emc-mode-reset = <0x80000d71>;
				nvidia,emc-mrs-wait-cnt = <0xf7000e>;
				nvidia,emc-sel-dpd-ctrl = <0x40000>;
				nvidia,emc-xm2dqspadctrl2 = <0x120113d>;
				nvidia,emc-zcal-cnt-long = <0x42>;
				nvidia,emc-zcal-interval = <0x20000>;
				nvidia,emc-configuration = <0x24 0xcd 0x0 0x19 0xa 0x8 0xd 0x4 0x13 0xa 0xa 0x4 0x2 0x0 0x6 0x6 0xb 0x2 0x0 0x2 0xd 0x80000 0x4 0x0 0x0 0x0 0x0 0x1 0x14 0x18 0x1a 0x17e2 0x0 0x5f8 0x3 0x11 0x1 0x0 0xc7 0x18 0xd7 0x200 0x5 0x6 0x5 0x19 0x0 0x8 0x8 0x1822 0x0 0x0 0x0 0x104ab098 0xe00700b1 0x8000 0x7fc008 0x7fc008 0x7fc008 0x7fc008 0x7fc008 0x7fc008 0x7fc008 0x7fc008 0x7fc008 0x7fc008 0x7fc008 0x7fc008 0x7fc008 0x7fc008 0x7fc008 0x7fc008 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x34000 0x34000 0x0 0x34000 0x34000 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x5 0x5 0x5 0x5 0x5 0x5 0x5 0x5 0x5 0x5 0x5 0x5 0x5 0x5 0x5 0x5 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x100002a0 0x0 0x111111 0x0 0x0 0x77ffc085 0x0 0x81f1f108 0x7070004 0x0 0x16eeeee 0x61861820 0x514514 0x514514 0x61861800 0x606003f 0x0 0x0 0x100 0xf7000e 0x0 0x4 0x4080 0x80003012 0xf>;
			};

			timing-924000000 {
				clock-frequency = <0x37131f00>;
				nvidia,emc-auto-cal-config = <0xa1430303>;
				nvidia,emc-auto-cal-config2 = <0x0>;
				nvidia,emc-auto-cal-config3 = <0x0>;
				nvidia,emc-auto-cal-interval = <0x1fffff>;
				nvidia,emc-bgbias-ctl0 = <0x0>;
				nvidia,emc-cfg = <0x73300000>;
				nvidia,emc-cfg-2 = <0x89d>;
				nvidia,emc-ctt-term-ctrl = <0x802>;
				nvidia,emc-mode-1 = <0x80100002>;
				nvidia,emc-mode-2 = <0x80200020>;
				nvidia,emc-mode-4 = <0x0>;
				nvidia,emc-mode-reset = <0x80000f15>;
				nvidia,emc-mrs-wait-cnt = <0xcd000e>;
				nvidia,emc-sel-dpd-ctrl = <0x40000>;
				nvidia,emc-xm2dqspadctrl2 = <0x120113d>;
				nvidia,emc-zcal-cnt-long = <0x4c>;
				nvidia,emc-zcal-interval = <0x20000>;
				nvidia,emc-configuration = <0x2b 0xf0 0x0 0x1e 0xb 0x9 0xf 0x5 0x16 0xb 0xb 0x4 0x2 0x0 0x7 0x7 0xd 0x2 0x0 0x2 0xf 0xa0000 0x4 0x0 0x0 0x0 0x0 0x1 0x16 0x1a 0x1c 0x1be7 0x0 0x6f9 0x4 0x15 0x1 0x0 0xe7 0x1b 0xfb 0x200 0x6 0x7 0x6 0x1e 0x0 0xa 0xa 0x1c28 0x0 0x0 0x0 0x104ab898 0xe00400b1 0x8000 0x7f800a 0x7f800a 0x7f800a 0x7f800a 0x7f800a 0x7f800a 0x7f800a 0x7f800a 0x7f800a 0x7f800a 0x7f800a 0x7f800a 0x7f800a 0x7f800a 0x7f800a 0x7f800a 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x2c000 0x2c000 0x0 0x2c000 0x2c000 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x100002a0 0x0 0x111111 0x0 0x0 0x77ffc085 0x0 0x81f1f108 0x7070004 0x0 0x16eeeee 0x5d75d720 0x514514 0x514514 0x5d75d700 0x606003f 0x0 0x0 0x128 0xcd000e 0x0 0x4 0x4080 0x800037ea 0x11>;
			};
		};
	};

	sata@0,70020000 {
		compatible = "nvidia,tegra124-ahci";
		reg = <0x0 0x70027000 0x0 0x2000 0x0 0x70020000 0x0 0x7000>;
		interrupts = <0x0 0x17 0x4>;
		clocks = <0x3 0x7c 0x3 0x7b 0x3 0x10d 0x3 0xe7>;
		clock-names = "sata", "sata-oob", "cml1", "pll_e";
		resets = <0x3 0x7c 0x3 0x7b 0x3 0x81>;
		reset-names = "sata", "sata-oob", "sata-cold";
		phys = <0x4 0x1>;
		phy-names = "sata-phy";
		status = "okay";
		hvdd-supply = <0x6>;
		vddio-supply = <0x5>;
		avdd-supply = <0x5>;
		target-5v-supply = <0x18>;
		target-12v-supply = <0x19>;
	};

	hda@0,70030000 {
		compatible = "nvidia,tegra124-hda", "nvidia,tegra30-hda";
		reg = <0x0 0x70030000 0x0 0x10000>;
		interrupts = <0x0 0x51 0x4>;
		clocks = <0x3 0x7d 0x3 0x80 0x3 0x6f>;
		clock-names = "hda", "hda2hdmi", "hda2codec_2x";
		resets = <0x3 0x7d 0x3 0x80 0x3 0x6f>;
		reset-names = "hda", "hda2hdmi", "hda2codec_2x";
		status = "okay";
	};

	padctl@0,7009f000 {
		compatible = "nvidia,tegra124-xusb-padctl";
		reg = <0x0 0x7009f000 0x0 0x1000>;
		resets = <0x3 0x8e>;
		reset-names = "padctl";
		#phy-cells = <0x1>;
		pinctrl-0 = <0x1a>;
		pinctrl-names = "default";
		linux,phandle = <0x4>;
		phandle = <0x4>;

		pinmux {
			linux,phandle = <0x1a>;
			phandle = <0x1a>;

			usb3 {
				nvidia,lanes = "pcie-0", "pcie-1";
				nvidia,function = "usb3";
				nvidia,iddq = <0x0>;
			};

			pcie {
				nvidia,lanes = "pcie-2", "pcie-3", "pcie-4";
				nvidia,function = "pcie";
				nvidia,iddq = <0x0>;
			};

			sata {
				nvidia,lanes = "sata-0";
				nvidia,function = "sata";
				nvidia,iddq = <0x0>;
			};
		};
	};

	sdhci@0,700b0000 {
		compatible = "nvidia,tegra124-sdhci";
		reg = <0x0 0x700b0000 0x0 0x200>;
		interrupts = <0x0 0xe 0x4>;
		clocks = <0x3 0xe>;
		resets = <0x3 0xe>;
		reset-names = "sdhci";
		status = "disabled";
	};

	sdhci@0,700b0200 {
		compatible = "nvidia,tegra124-sdhci";
		reg = <0x0 0x700b0200 0x0 0x200>;
		interrupts = <0x0 0xf 0x4>;
		clocks = <0x3 0x9>;
		resets = <0x3 0x9>;
		reset-names = "sdhci";
		status = "disabled";
	};

	sdhci@0,700b0400 {
		compatible = "nvidia,tegra124-sdhci";
		reg = <0x0 0x700b0400 0x0 0x200>;
		interrupts = <0x0 0x13 0x4>;
		clocks = <0x3 0x45>;
		resets = <0x3 0x45>;
		reset-names = "sdhci";
		status = "okay";
		cd-gpios = <0xd 0xaa 0x1>;
		power-gpios = <0xd 0x88 0x0>;
		wp-gpios = <0xd 0x84 0x0>;
		bus-width = <0x4>;
		vqmmc-supply = <0x1b>;
	};

	sdhci@0,700b0600 {
		compatible = "nvidia,tegra124-sdhci";
		reg = <0x0 0x700b0600 0x0 0x200>;
		interrupts = <0x0 0x1f 0x4>;
		clocks = <0x3 0xf>;
		resets = <0x3 0xf>;
		reset-names = "sdhci";
		status = "okay";
		bus-width = <0x8>;
		non-removable;
	};

	thermal-sensor@0,700e2000 {
		compatible = "nvidia,tegra124-soctherm";
		reg = <0x0 0x700e2000 0x0 0x1000>;
		interrupts = <0x0 0x30 0x4>;
		clocks = <0x3 0x64 0x3 0x4e>;
		clock-names = "tsensor", "soctherm";
		resets = <0x3 0x4e>;
		reset-names = "soctherm";
		#thermal-sensor-cells = <0x1>;
		linux,phandle = <0x20>;
		phandle = <0x20>;
	};

	ahub@0,70300000 {
		compatible = "nvidia,tegra124-ahub";
		reg = <0x0 0x70300000 0x0 0x200 0x0 0x70300800 0x0 0x800 0x0 0x70300200 0x0 0x600>;
		interrupts = <0x0 0x67 0x4>;
		clocks = <0x3 0x6a 0x3 0x6b>;
		clock-names = "d_audio", "apbif";
		resets = <0x3 0x6a 0x3 0x6b 0x3 0x1e 0x3 0xb 0x3 0x12 0x3 0x65 0x3 0x66 0x3 0x6c 0x3 0x6d 0x3 0x6e 0x3 0xa 0x3 0x99 0x3 0xb9 0x3 0x9a 0x3 0xb4 0x3 0xba 0x3 0xbb 0x3 0xbc 0x3 0xbd 0x3 0xbe 0x3 0xbf>;
		reset-names = "d_audio", "apbif", "i2s0", "i2s1", "i2s2", "i2s3", "i2s4", "dam0", "dam1", "dam2", "spdif", "amx", "amx1", "adx", "adx1", "afc0", "afc1", "afc2", "afc3", "afc4", "afc5";
		dmas = <0x10 0x1 0x10 0x1 0x10 0x2 0x10 0x2 0x10 0x3 0x10 0x3 0x10 0x4 0x10 0x4 0x10 0x6 0x10 0x6 0x10 0x7 0x10 0x7 0x10 0xc 0x10 0xc 0x10 0xd 0x10 0xd 0x10 0xe 0x10 0xe 0x10 0x1d 0x10 0x1d>;
		dma-names = "rx0", "tx0", "rx1", "tx1", "rx2", "tx2", "rx3", "tx3", "rx4", "tx4", "rx5", "tx5", "rx6", "tx6", "rx7", "tx7", "rx8", "tx8", "rx9", "tx9";
		ranges;
		#address-cells = <0x2>;
		#size-cells = <0x2>;

		i2s@0,70301000 {
			compatible = "nvidia,tegra124-i2s";
			reg = <0x0 0x70301000 0x0 0x100>;
			nvidia,ahub-cif-ids = <0x4 0x4>;
			clocks = <0x3 0x1e>;
			resets = <0x3 0x1e>;
			reset-names = "i2s";
			status = "disabled";
		};

		i2s@0,70301100 {
			compatible = "nvidia,tegra124-i2s";
			reg = <0x0 0x70301100 0x0 0x100>;
			nvidia,ahub-cif-ids = <0x5 0x5>;
			clocks = <0x3 0xb>;
			resets = <0x3 0xb>;
			reset-names = "i2s";
			status = "okay";
			linux,phandle = <0x23>;
			phandle = <0x23>;
		};

		i2s@0,70301200 {
			compatible = "nvidia,tegra124-i2s";
			reg = <0x0 0x70301200 0x0 0x100>;
			nvidia,ahub-cif-ids = <0x6 0x6>;
			clocks = <0x3 0x12>;
			resets = <0x3 0x12>;
			reset-names = "i2s";
			status = "disabled";
		};

		i2s@0,70301300 {
			compatible = "nvidia,tegra124-i2s";
			reg = <0x0 0x70301300 0x0 0x100>;
			nvidia,ahub-cif-ids = <0x7 0x7>;
			clocks = <0x3 0x65>;
			resets = <0x3 0x65>;
			reset-names = "i2s";
			status = "disabled";
		};

		i2s@0,70301400 {
			compatible = "nvidia,tegra124-i2s";
			reg = <0x0 0x70301400 0x0 0x100>;
			nvidia,ahub-cif-ids = <0x8 0x8>;
			clocks = <0x3 0x66>;
			resets = <0x3 0x66>;
			reset-names = "i2s";
			status = "disabled";
		};
	};

	usb@0,7d000000 {
		compatible = "nvidia,tegra124-ehci", "nvidia,tegra30-ehci", "usb-ehci";
		reg = <0x0 0x7d000000 0x0 0x4000>;
		interrupts = <0x0 0x14 0x4>;
		phy_type = "utmi";
		clocks = <0x3 0x16>;
		resets = <0x3 0x16>;
		reset-names = "usb";
		nvidia,phy = <0x1c>;
		status = "disabled";
	};

	usb-phy@0,7d000000 {
		compatible = "nvidia,tegra124-usb-phy", "nvidia,tegra30-usb-phy";
		reg = <0x0 0x7d000000 0x0 0x4000 0x0 0x7d000000 0x0 0x4000>;
		phy_type = "utmi";
		clocks = <0x3 0x16 0x3 0xde 0x3 0x16>;
		clock-names = "reg", "pll_u", "utmi-pads";
		resets = <0x3 0x16 0x3 0x16>;
		reset-names = "usb", "utmi-pads";
		nvidia,hssync-start-delay = <0x0>;
		nvidia,idle-wait-delay = <0x11>;
		nvidia,elastic-limit = <0x10>;
		nvidia,term-range-adj = <0x6>;
		nvidia,xcvr-setup = <0x9>;
		nvidia,xcvr-lsfslew = <0x0>;
		nvidia,xcvr-lsrslew = <0x3>;
		nvidia,hssquelch-level = <0x2>;
		nvidia,hsdiscon-level = <0x5>;
		nvidia,xcvr-hsslew = <0xc>;
		nvidia,has-utmi-pad-registers;
		status = "disabled";
		linux,phandle = <0x1c>;
		phandle = <0x1c>;
	};

	usb@0,7d004000 {
		compatible = "nvidia,tegra124-ehci", "nvidia,tegra30-ehci", "usb-ehci";
		reg = <0x0 0x7d004000 0x0 0x4000>;
		interrupts = <0x0 0x15 0x4>;
		phy_type = "utmi";
		clocks = <0x3 0x3a>;
		resets = <0x3 0x3a>;
		reset-names = "usb";
		nvidia,phy = <0x1d>;
		status = "okay";
	};

	usb-phy@0,7d004000 {
		compatible = "nvidia,tegra124-usb-phy", "nvidia,tegra30-usb-phy";
		reg = <0x0 0x7d004000 0x0 0x4000 0x0 0x7d000000 0x0 0x4000>;
		phy_type = "utmi";
		clocks = <0x3 0x3a 0x3 0xde 0x3 0x16>;
		clock-names = "reg", "pll_u", "utmi-pads";
		resets = <0x3 0x3a 0x3 0x16>;
		reset-names = "usb", "utmi-pads";
		nvidia,hssync-start-delay = <0x0>;
		nvidia,idle-wait-delay = <0x11>;
		nvidia,elastic-limit = <0x10>;
		nvidia,term-range-adj = <0x6>;
		nvidia,xcvr-setup = <0x9>;
		nvidia,xcvr-lsfslew = <0x0>;
		nvidia,xcvr-lsrslew = <0x3>;
		nvidia,hssquelch-level = <0x2>;
		nvidia,hsdiscon-level = <0x5>;
		nvidia,xcvr-hsslew = <0xc>;
		status = "okay";
		linux,phandle = <0x1d>;
		phandle = <0x1d>;
	};

	usb@0,7d008000 {
		compatible = "nvidia,tegra124-ehci", "nvidia,tegra30-ehci", "usb-ehci";
		reg = <0x0 0x7d008000 0x0 0x4000>;
		interrupts = <0x0 0x61 0x4>;
		phy_type = "utmi";
		clocks = <0x3 0x3b>;
		resets = <0x3 0x3b>;
		reset-names = "usb";
		nvidia,phy = <0x1e>;
		status = "okay";
	};

	usb-phy@0,7d008000 {
		compatible = "nvidia,tegra124-usb-phy", "nvidia,tegra30-usb-phy";
		reg = <0x0 0x7d008000 0x0 0x4000 0x0 0x7d000000 0x0 0x4000>;
		phy_type = "utmi";
		clocks = <0x3 0x3b 0x3 0xde 0x3 0x16>;
		clock-names = "reg", "pll_u", "utmi-pads";
		resets = <0x3 0x3b 0x3 0x16>;
		reset-names = "usb", "utmi-pads";
		nvidia,hssync-start-delay = <0x0>;
		nvidia,idle-wait-delay = <0x11>;
		nvidia,elastic-limit = <0x10>;
		nvidia,term-range-adj = <0x6>;
		nvidia,xcvr-setup = <0x9>;
		nvidia,xcvr-lsfslew = <0x0>;
		nvidia,xcvr-lsrslew = <0x3>;
		nvidia,hssquelch-level = <0x2>;
		nvidia,hsdiscon-level = <0x5>;
		nvidia,xcvr-hsslew = <0xc>;
		status = "okay";
		vbus-supply = <0x1f>;
		linux,phandle = <0x1e>;
		phandle = <0x1e>;
	};

	cpus {
		#address-cells = <0x1>;
		#size-cells = <0x0>;

		cpu@0 {
			device_type = "cpu";
			compatible = "arm,cortex-a15";
			reg = <0x0>;
		};

		cpu@1 {
			device_type = "cpu";
			compatible = "arm,cortex-a15";
			reg = <0x1>;
		};

		cpu@2 {
			device_type = "cpu";
			compatible = "arm,cortex-a15";
			reg = <0x2>;
		};

		cpu@3 {
			device_type = "cpu";
			compatible = "arm,cortex-a15";
			reg = <0x3>;
		};
	};

	thermal-zones {

		cpu {
			polling-delay-passive = <0x3e8>;
			polling-delay = <0x3e8>;
			thermal-sensors = <0x20 0x0>;

			trips {

				trip@0 {
					temperature = <0x18a88>;
					hysteresis = <0x0>;
					type = "critical";
				};
			};

			cooling-maps {
			};
		};

		mem {
			polling-delay-passive = <0x3e8>;
			polling-delay = <0x3e8>;
			thermal-sensors = <0x20 0x1>;

			trips {

				trip@0 {
					temperature = <0x18a88>;
					hysteresis = <0x0>;
					type = "critical";
				};
			};

			cooling-maps {
			};
		};

		gpu {
			polling-delay-passive = <0x3e8>;
			polling-delay = <0x3e8>;
			thermal-sensors = <0x20 0x2>;

			trips {

				trip@0 {
					temperature = <0x18a88>;
					hysteresis = <0x0>;
					type = "critical";
				};
			};

			cooling-maps {
			};
		};

		pllx {
			polling-delay-passive = <0x3e8>;
			polling-delay = <0x3e8>;
			thermal-sensors = <0x20 0x3>;
		};
	};

	timer {
		compatible = "arm,armv7-timer";
		interrupts = <0x1 0xd 0xf08 0x1 0xe 0xf08 0x1 0xb 0xf08 0x1 0xa 0xf08>;
		interrupt-parent = <0x2>;
	};

	clocks {
		compatible = "simple-bus";
		#address-cells = <0x1>;
		#size-cells = <0x0>;

		clock@0 {
			compatible = "fixed-clock";
			reg = <0x0>;
			#clock-cells = <0x0>;
			clock-frequency = <0x8000>;
			linux,phandle = <0x17>;
			phandle = <0x17>;
		};
	};

	gpio-keys {
		compatible = "gpio-keys";

		power {
			label = "Power";
			gpios = <0xd 0x80 0x1>;
			linux,code = <0x74>;
			debounce-interval = <0xa>;
			gpio-key,wakeup;
		};
	};

	regulators {
		compatible = "simple-bus";
		#address-cells = <0x1>;
		#size-cells = <0x0>;

		regulator@0 {
			compatible = "regulator-fixed";
			reg = <0x0>;
			regulator-name = "+VDD_MUX";
			regulator-min-microvolt = <0xb71b00>;
			regulator-max-microvolt = <0xb71b00>;
			regulator-always-on;
			regulator-boot-on;
			linux,phandle = <0x21>;
			phandle = <0x21>;
		};

		regulator@1 {
			compatible = "regulator-fixed";
			reg = <0x1>;
			regulator-name = "+5V_SYS";
			regulator-min-microvolt = <0x4c4b40>;
			regulator-max-microvolt = <0x4c4b40>;
			regulator-always-on;
			regulator-boot-on;
			vin-supply = <0x21>;
			linux,phandle = <0x12>;
			phandle = <0x12>;
		};

		regulator@2 {
			compatible = "regulator-fixed";
			reg = <0x2>;
			regulator-name = "+3.3V_SYS";
			regulator-min-microvolt = <0x325aa0>;
			regulator-max-microvolt = <0x325aa0>;
			regulator-always-on;
			regulator-boot-on;
			vin-supply = <0x21>;
			linux,phandle = <0x16>;
			phandle = <0x16>;
		};

		regulator@3 {
			compatible = "regulator-fixed";
			reg = <0x3>;
			regulator-name = "+3.3V_RUN";
			regulator-min-microvolt = <0x325aa0>;
			regulator-max-microvolt = <0x325aa0>;
			regulator-always-on;
			regulator-boot-on;
			gpio = <0x22 0x1 0x0>;
			enable-active-high;
			vin-supply = <0x16>;
			linux,phandle = <0x14>;
			phandle = <0x14>;
		};

		regulator@4 {
			compatible = "regulator-fixed";
			reg = <0x4>;
			regulator-name = "+3.3V_AVDD_HDMI_AP_GATED";
			regulator-min-microvolt = <0x325aa0>;
			regulator-max-microvolt = <0x325aa0>;
			vin-supply = <0x14>;
			linux,phandle = <0xb>;
			phandle = <0xb>;
		};

		regulator@7 {
			compatible = "regulator-fixed";
			reg = <0x7>;
			regulator-name = "+USB0_VBUS_SW";
			regulator-min-microvolt = <0x4c4b40>;
			regulator-max-microvolt = <0x4c4b40>;
			gpio = <0xd 0x6c 0x0>;
			enable-active-high;
			gpio-open-drain;
			vin-supply = <0x12>;
		};

		regulator@8 {
			compatible = "regulator-fixed";
			reg = <0x8>;
			regulator-name = "+5V_USB_HS";
			regulator-min-microvolt = <0x4c4b40>;
			regulator-max-microvolt = <0x4c4b40>;
			gpio = <0xd 0x6d 0x0>;
			enable-active-high;
			gpio-open-drain;
			vin-supply = <0x12>;
			linux,phandle = <0x1f>;
			phandle = <0x1f>;
		};

		regulator@10 {
			compatible = "regulator-fixed";
			reg = <0xa>;
			regulator-name = "+3.3V_LP0";
			regulator-min-microvolt = <0x325aa0>;
			regulator-max-microvolt = <0x325aa0>;
			regulator-always-on;
			regulator-boot-on;
			gpio = <0x22 0x2 0x0>;
			enable-active-high;
			vin-supply = <0x16>;
			linux,phandle = <0x6>;
			phandle = <0x6>;
		};

		regulator@11 {
			compatible = "regulator-fixed";
			reg = <0xb>;
			regulator-name = "+1.05V_RUN_AVDD_HDMI_PLL";
			regulator-min-microvolt = <0x100590>;
			regulator-max-microvolt = <0x100590>;
			gpio = <0xd 0x3f 0x1>;
			vin-supply = <0x5>;
			linux,phandle = <0xa>;
			phandle = <0xa>;
		};

		regulator@12 {
			compatible = "regulator-fixed";
			reg = <0xc>;
			regulator-name = "+5V_HDMI_CON";
			regulator-min-microvolt = <0x4c4b40>;
			regulator-max-microvolt = <0x4c4b40>;
			gpio = <0xd 0x56 0x0>;
			enable-active-high;
			vin-supply = <0x12>;
			linux,phandle = <0x9>;
			phandle = <0x9>;
		};

		regulator@13 {
			compatible = "regulator-fixed";
			reg = <0xd>;
			regulator-name = "+5V_SATA";
			regulator-min-microvolt = <0x4c4b40>;
			regulator-max-microvolt = <0x4c4b40>;
			gpio = <0xd 0xf2 0x0>;
			enable-active-high;
			vin-supply = <0x12>;
			linux,phandle = <0x18>;
			phandle = <0x18>;
		};

		regulator@14 {
			compatible = "regulator-fixed";
			reg = <0xe>;
			regulator-name = "+12V_SATA";
			regulator-min-microvolt = <0xb71b00>;
			regulator-max-microvolt = <0xb71b00>;
			gpio = <0xd 0xf2 0x0>;
			enable-active-high;
			vin-supply = <0x21>;
			linux,phandle = <0x19>;
			phandle = <0x19>;
		};
	};

	sound {
		compatible = "nvidia,tegra-audio-rt5640-jetson-tk1", "nvidia,tegra-audio-rt5640";
		nvidia,model = "NVIDIA Tegra Jetson TK1";
		nvidia,audio-routing = "Headphones", "HPOR", "Headphones", "HPOL", "Mic Jack", "MICBIAS1", "IN2P", "Mic Jack";
		nvidia,i2s-controller = <0x23>;
		nvidia,audio-codec = <0x24>;
		nvidia,hp-det-gpios = <0xd 0x8f 0x1>;
		clocks = <0x3 0xd8 0x3 0xd9 0x3 0x78>;
		clock-names = "pll_a", "pll_a_out0", "mclk";
	};
};

[-- Attachment #3: Type: text/plain, Size: 126 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Running Xen on Nvidia Jetson-TK1
  2016-03-29 20:56                               ` Dushyant Behl
@ 2016-04-01 10:04                                 ` Julien Grall
  2016-04-07  7:48                                   ` Dushyant Behl
  0 siblings, 1 reply; 31+ messages in thread
From: Julien Grall @ 2016-04-01 10:04 UTC (permalink / raw)
  To: Dushyant Behl
  Cc: sstabellini, Wei Liu, Stefano Stabellini, Dushyant K Behl,
	Xen Devel, Meng Xu

Hello Dushyant,

On 29/03/16 21:56, Dushyant Behl wrote:
> On Wed, Mar 30, 2016 at 12:31 AM, Julien Grall <julien.grall@arm.com> wrote:
>> On 24/03/16 11:05, Dushyant Behl wrote:

> (XEN) DOM0: [    0.000000] irq: no irq domain found for /interrupt-controller !
> (XEN) DOM0: [    0.000000] irq: no irq domain found for /interrupt-controller !
> (XEN) DOM0: [    0.000000] irq: no irq domain found for /interrupt-controller !
> (XEN) DOM0: [    0.000000] arch_timer: No interrupt available, giving up

It looks like to me that Xen is not recreating the device-tree 
correctly. I would look into the kernel to find what is expected.

Regards,

-- 
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Running Xen on Nvidia Jetson-TK1
  2016-04-01 10:04                                 ` Julien Grall
@ 2016-04-07  7:48                                   ` Dushyant Behl
  2016-04-08 10:10                                     ` Julien Grall
  0 siblings, 1 reply; 31+ messages in thread
From: Dushyant Behl @ 2016-04-07  7:48 UTC (permalink / raw)
  To: Julien Grall
  Cc: sstabellini, Wei Liu, Ian Campbell, Stefano Stabellini,
	Dushyant K Behl, Xen Devel, Meng Xu

Hello,

On Fri, Apr 1, 2016 at 3:34 PM, Julien Grall <julien.grall@arm.com> wrote:
> Hello Dushyant,
>
> On 29/03/16 21:56, Dushyant Behl wrote:
>>
>> On Wed, Mar 30, 2016 at 12:31 AM, Julien Grall <julien.grall@arm.com>
>> wrote:
>>>
>>> On 24/03/16 11:05, Dushyant Behl wrote:
>
>
>> (XEN) DOM0: [    0.000000] irq: no irq domain found for
>> /interrupt-controller !
>> (XEN) DOM0: [    0.000000] irq: no irq domain found for
>> /interrupt-controller !
>> (XEN) DOM0: [    0.000000] irq: no irq domain found for
>> /interrupt-controller !
>> (XEN) DOM0: [    0.000000] arch_timer: No interrupt available, giving up
>
>
> It looks like to me that Xen is not recreating the device-tree correctly. I
> would look into the kernel to find what is expected.

This looks like a possible bug (or some missing feature) in Xen's
device tree creation which could
take some time to handle, so if I could be of any more help to you
with this issue please let me know.

[I've cc'ed Ian Campbell in this mail (Sorry for cc'ing you explicitly)]

Ian,

Actually, I want to run Xen on the Tegra Jetson board for some project
of mine but currently Linux-4.1 is
failing as dom0 because its not able to receive interrupts from the arch_timer.
This link contains the dom0 failure boot log -
http://lists.xenproject.org/archives/html/xen-devel/2016-03/msg03715.html

In your patch for *Hacky* support for Jetsok-TK1 you said that you
were able to run guests on
Jetson-tk1 board with Xen. Can I know which kernel version you used as
dom0 (and possibly domU guests)?

Thanks and Regards,
Dushyant Behl

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Running Xen on Nvidia Jetson-TK1
  2016-04-07  7:48                                   ` Dushyant Behl
@ 2016-04-08 10:10                                     ` Julien Grall
  2016-04-08 12:27                                       ` Ian Campbell
  2016-05-14  2:09                                       ` Meng Xu
  0 siblings, 2 replies; 31+ messages in thread
From: Julien Grall @ 2016-04-08 10:10 UTC (permalink / raw)
  To: Dushyant Behl
  Cc: sstabellini, Wei Liu, Stefano Stabellini, Dushyant K Behl,
	Xen Devel, Meng Xu, ijc



On 07/04/16 08:48, Dushyant Behl wrote:
> Hello,

Hi Dushyant,

> On Fri, Apr 1, 2016 at 3:34 PM, Julien Grall <julien.grall@arm.com> wrote:
>> Hello Dushyant,
>>
>> On 29/03/16 21:56, Dushyant Behl wrote:
>>>
>>> On Wed, Mar 30, 2016 at 12:31 AM, Julien Grall <julien.grall@arm.com>
>>> wrote:
>>>>
>>>> On 24/03/16 11:05, Dushyant Behl wrote:
>>
>>
>>> (XEN) DOM0: [    0.000000] irq: no irq domain found for
>>> /interrupt-controller !
>>> (XEN) DOM0: [    0.000000] irq: no irq domain found for
>>> /interrupt-controller !
>>> (XEN) DOM0: [    0.000000] irq: no irq domain found for
>>> /interrupt-controller !
>>> (XEN) DOM0: [    0.000000] arch_timer: No interrupt available, giving up
>>
>>
>> It looks like to me that Xen is not recreating the device-tree correctly. I
>> would look into the kernel to find what is expected.
>
> This looks like a possible bug (or some missing feature) in Xen's
> device tree creation which could
> take some time to handle, so if I could be of any more help to you
> with this issue please let me know.

There was a conversation on #xen-arm few days ago about this problem.
Xen doesn't correctly recreate the GIC node which result in a loop 
between the interrupt controller. Can you try the below patch?

http://dev.ktemkin.com/misc/xenarm-gic-parents.patch

>
> [I've cc'ed Ian Campbell in this mail (Sorry for cc'ing you explicitly)]

Ian's citrix e-mail is not valid anymore. I have CC'ed the new one.

> Ian,
>
> Actually, I want to run Xen on the Tegra Jetson board for some project
> of mine but currently Linux-4.1 is
> failing as dom0 because its not able to receive interrupts from the arch_timer.
> This link contains the dom0 failure boot log -
> http://lists.xenproject.org/archives/html/xen-devel/2016-03/msg03715.html
>
> In your patch for *Hacky* support for Jetsok-TK1 you said that you
> were able to run guests on
> Jetson-tk1 board with Xen. Can I know which kernel version you used as
> dom0 (and possibly domU guests)?

Regards,

-- 
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Running Xen on Nvidia Jetson-TK1
  2016-04-08 10:10                                     ` Julien Grall
@ 2016-04-08 12:27                                       ` Ian Campbell
  2016-04-14 15:54                                         ` Dushyant Behl
  2016-05-14  2:09                                       ` Meng Xu
  1 sibling, 1 reply; 31+ messages in thread
From: Ian Campbell @ 2016-04-08 12:27 UTC (permalink / raw)
  To: Julien Grall, Dushyant Behl
  Cc: sstabellini, Wei Liu, Stefano Stabellini, Dushyant K Behl,
	Xen Devel, Meng Xu

On Fri, 2016-04-08 at 11:10 +0100, Julien Grall wrote:

> > In your patch for *Hacky* support for Jetsok-TK1 you said that you
> > were able to run guests on
> > Jetson-tk1 board with Xen. Can I know which kernel version you used as
> > dom0 (and possibly domU guests)?

I'm afraid I don't remember. It would probably either have been some
current-ish upstream kernel from the time, or possibly a Debian kernel
from around the time. So maybe something 3.16-ish?

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Running Xen on Nvidia Jetson-TK1
  2016-04-08 12:27                                       ` Ian Campbell
@ 2016-04-14 15:54                                         ` Dushyant Behl
  2016-05-14 18:43                                           ` Meng Xu
  0 siblings, 1 reply; 31+ messages in thread
From: Dushyant Behl @ 2016-04-14 15:54 UTC (permalink / raw)
  To: Ian Campbell
  Cc: sstabellini, Wei Liu, Stefano Stabellini, Dushyant K Behl,
	Xen Devel, Julien Grall, Meng Xu

Hi Everyone,

On Fri, Apr 8, 2016 at 5:57 PM, Ian Campbell <ijc@hellion.org.uk> wrote:
>> > In your patch for *Hacky* support for Jetsok-TK1 you said that you
>> > were able to run guests on
>> > Jetson-tk1 board with Xen. Can I know which kernel version you used as
>> > dom0 (and possibly domU guests)?
>
> I'm afraid I don't remember. It would probably either have been some
> current-ish upstream kernel from the time, or possibly a Debian kernel
> from around the time. So maybe something 3.16-ish?

@Ian Thanks for the Reply.

@Julien, Thanks a lot, your patch for GIC dtb node worked and the
linux kernel is now able to enable the arch timer.
(Although I needed to modify the code manually as the tree I'm using
is older Xen-4.6, and maybe the patch was against the latest version
of xen).

The kernel is able to initialize itself but it fails while initializing some
nvidia devices in the boot process. I've posted the log here,
Could this also be an issue with the device tree or this is something
related to the kernel?

- UART enabled -
- CPU 00000000 booting -
- Xen starting in Hyp mode -
- Zero BSS -
- Setting up control registers -
- Turning on paging -
- Ready -
(XEN) Checking for initrd in /chosen
(XEN) RAM: 0000000080000000 - 00000000ffefffff
(XEN)
(XEN) MODULE[0]: 0000000082000000 - 0000000082010000 Device Tree
(XEN) MODULE[1]: 0000000081000000 - 00000000815443f0 Kernel
console=hvc0 root=/dev/mmcblk0p1 rw rootwait
(XEN)  RESVD[0]: 0000000082000000 - 0000000082010000
(XEN)
(XEN) Command line: console=dtuart dtuart=serial0 dom0_mem=512M
sync_console log_lvl=all guest_loglvl=all
(XEN) Placing Xen at 0x00000000ffc00000-0x00000000ffe00000
(XEN) Update BOOTMOD_XEN from 00000000fd000000-00000000fd0f9701 =>
00000000ffc00000-00000000ffcf9701
(XEN) Xen heap: 00000000fa000000-00000000fe000000 (16384 pages)
(XEN) Dom heap: 507648 pages
(XEN) Domain heap initialised
(XEN) Platform: TEGRA124
(XEN) Looking for dtuart at "s Xen 4.6-unstable
(XEN) Xen version 4.6-unstable (root@) (arm-linux-gnueabihf-gcc
(Ubuntu/Linaro 4.7.3-11ubuntu1) 4.7.3) debug=y Mon Apr 11 09:20:25 UTC
2016
(XEN) Latest ChangeSet:
(XEN) Console output is synchronous.
(XEN) Processor: 413fc0f3: "ARM Limited", variant: 0x3, part 0xc0f, rev 0x3
(XEN) 32-bit Execution:
(XEN)   Processor Features: 00001131:00011011
(XEN)     Instruction Sets: AArch32 A32 Thumb Thumb-2 ThumbEE Jazelle
(XEN)     Extensions: GenericTimer Security
(XEN)   Debug Features: 02010555
(XEN)   Auxiliary Features: 00000000
(XEN)   Memory Model Features: 10201105 40000000 01240000 02102211
(XEN)  ISA Features: 02101110 13112111 21232041 11112131 10011142 00000000
(XEN) Using PSCI-0.1 for SMP bringup
(XEN) Generic Timer IRQ: phys=30 hyp=26 virt=27 Freq: 12000 KHz
(XEN) GICv2 initialization:
(XEN)         gic_dist_addr=0000000050041000
(XEN)         gic_cpu_addr=0000000050042000
(XEN)         gic_hyp_addr=0000000050044000
(XEN)         gic_vcpu_addr=0000000050046000
(XEN)         gic_maintenance_irq=25
(XEN) GICv2: 192 lines, 4 cpus, secure (IID 0000043b).
(XEN) Using scheduler: SMP Credit Scheduler (credit)
(XEN) I/O virtualisation disabled
(XEN) Allocated console ring of 32 KiB.
(XEN) VFP implementer 0x41 architecture 4 part 0x30 variant 0xf rev 0x0
(XEN) Bringing up CPU1
- CPU 00000001 booting -
- Xen starting in Hyp mode -
- Setting up control registers -
- Turning on paging -
- Ready -
(XEN) CPU 1 booted.
(XEN) Bringing up CPU2
- CPU 00000002 booting -
- Xen starting in Hyp mode -
- Setting up control registers -
- Turning on paging -
- Ready -
(XEN) CPU 2 booted.
(XEN) Bringing up CPU3
- CPU 00000003 booting -
- Xen starting in Hyp mode -
- Setting up control registers -
- Turning on paging -
- Ready -
(XEN) CPU 3 booted.
(XEN) Brought up 4 CPUs
(XEN) P2M: 40-bit IPA
(XEN) P2M: 3 levels with order-1 root, VTCR 0x80003558
(XEN) *** LOADING DOMAIN 0 ***
(XEN) Loading kernel from boot module @ 0000000081000000
(XEN) zImage: no appended dtb
(XEN) zImage32 Probe successful
(XEN) Allocating 1:1 mappings totalling 512MB for dom0:
(XEN) BANK[0] 0x000000a0000000-0x000000c0000000 (512MB)
(XEN) Additional MMIO 40000-40040 (IRAM)
(XEN) Additional MMIO 54200-54240 (Display A)
(XEN) Additional MMIO 54240-54280 (Display B)
(XEN) Additional MMIO 6000f-60010 (EXCEPTION VECTORS)
(XEN) Additional MMIO 6000c-6000d (SYSREG)
(XEN) Additional MMIO 1000-1001 (PCI CFG0)
(XEN) Additional MMIO 1001-1002 (PCI CFG1)
(XEN) Additional MMIO 12000-12010 (PCI IO)
(XEN) Additional MMIO 13000-20000 (PCI MEM)
(XEN) Additional MMIO 20000-40000 (PCI MEM (PREFETCH))
(XEN) Additional IRQ 105 (DISPLAY)
(XEN) TEGRA: Routing IRQ105 to dom0, ICTLR2, mask 0x000200
(XEN) Additional IRQ 106 (DISPLAY B)
(XEN) TEGRA: Routing IRQ106 to dom0, ICTLR2, mask 0x000400
(XEN) Loading zImage from 0000000081000000 to 00000000a7a00000-00000000a7f443f0
(XEN) Allocating PPI 16 for event channel interrupt
(XEN) Loading dom0 DTB to 0x00000000a8000000-0x00000000a800f1d0
(XEN) Scrubbing Free RAM on 1 nodes using 4 CPUs
(XEN) ....done.
(XEN) Initial low memory virq threshold set at 0x4000 pages.
(XEN) Std. Loglevel: All
(XEN) Guest Loglevel: All
(XEN) **********************************************
(XEN) ******* WARNING: CONSOLE OUTPUT IS SYNCHRONOUS
(XEN) ******* This option is intended to aid debugging of Xen by ensuring
(XEN) ******* that all output is synchronously delivered on the serial line.
(XEN) ******* However it can introduce SIGNIFICANT latencies and affect
(XEN) ******* timekeeping. It is NOT recommended for production use!
(XEN) **********************************************
(XEN) 3... 2... 1...
(XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch
input to Xen)
(XEN) Freed 272kB init memory.
(XEN) DOM0: Uncompressing Linux... done, booting the 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 4.1.0-196898-g2e68ed9-dirty
(root@ubuntu-server) (gcc version 4.7.3 (Ubuntu/Linaro
4.7.3-11ubuntu1) ) #3 SMP PREEMPT Wed Apr 13 08:28:23 UTC 2016
[    0.000000] CPU: ARMv7 Processor [413fc0f3] revision 3 (ARMv7), cr=30c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
[    0.000000] Machine model: NVIDIA Tegra124 Jetson TK1
[    0.000000] cma: Reserved 64 MiB at 0x00000000bc000000
[    0.000000] Forcing write-allocate cache policy for SMP
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv0.2 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] PERCPU: Embedded 12 pages/cpu @dbb77000 s19712 r8192
d21248 u49152
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.
Total pages: 130048
[    0.000000] Kernel command line: console=hvc0 root=/dev/mmcblk0p1 rw rootwait
[    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Memory: 441884K/524288K available (7657K kernel code,
634K rwdata, 2584K rodata, 484K init, 383K bss, 16868K reserved,
65536K cma-reserved, 0K highmem)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xe0800000 - 0xff000000   ( 488 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc0a08c10   (10244 kB)
[    0.000000]       .init : 0xc0a09000 - 0xc0a82000   ( 484 kB)
[    0.000000]       .data : 0xc0a82000 - 0xc0b20bec   ( 635 kB)
[    0.000000]        .bss : 0xc0b23000 - 0xc0b82ea0   ( 384 kB)
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000]  Build-time adjustment of leaf fanout to 32.
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000000] /interrupt-controller@60004000: 160 interrupts
forwarded to /interrupt-controller
[    0.000000] L2C: failed to init: -19
[    0.000000] Architected cp15 timer(s) running at 12.00MHz (virt).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff
max_cycles: 0x2c47f4ee7, max_idle_ns: 440795202497 ns
[    0.000005] sched_clock: 56 bits at 12MHz, resolution 83ns, wraps
every 4398046511096ns
[    0.000018] Switching to timer-based delay loop, resolution 83ns
[    0.000500] Console: colour dummy device 80x30
[    0.000521] Calibrating delay loop (skipped), value calculated
using timer frequency.. 24.00 BogoMIPS (lpj=120000)
[    0.000536] pid_max: default: 32768 minimum: 301
[    0.000948] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000959] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.002350] Initializing cgroup subsys freezer
[    0.002376] Initializing cgroup subsys debug
[    0.002431] CPU: Testing write buffer coherency: ok
[    0.002752] /cpus/cpu@0 missing clock-frequency property
[    0.002794] /cpus/cpu@1 missing clock-frequency property
[    0.002835] /cpus/cpu@2 missing clock-frequency property
[    0.002877] /cpus/cpu@3 missing clock-frequency property
[    0.002890] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.003106] Xen 4.6 support found, events_irq=19
gnttab_frame=0x0000000068000000
[    0.003265] xen:grant_table: Grant tables using version 1 layout
[    0.003313] Grant table initialized
[    0.003378] xen:events: Using FIFO-based ABI
[    0.003398] Xen: initializing cpu0
[    0.003496] Setting up static identity map for 0xa0008480 - 0xa0008518
[    0.020405] Tegra Revision: A01 SKU: 129 CPU Process: 1 Core Process: 1
[    0.030786] Xen: initializing cpu1
[    0.030840] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.040798] Xen: initializing cpu2
[    0.040851] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
[    0.050839] Xen: initializing cpu3
[    0.050890] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
[    0.051037] Brought up 4 CPUs
[    0.051063] SMP: Total of 4 processors activated (96.00 BogoMIPS).
[    0.051071] CPU: All CPU(s) started in SVC mode.
[    0.052162] devtmpfs: initialized
[    0.100284] VFP support v0.3: implementor 41 architecture 4 part 30
variant f rev 0
[    0.101016] clocksource: jiffies: mask: 0xffffffff max_cycles:
0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.103189] pinctrl core: initialized pinctrl subsystem
[    0.105124] NET: Registered protocol family 16
[    0.106377] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.108915] xen:swiotlb_xen: Warning: only able to allocate 4 MB
for software IO TLB
[    0.110050] software IO TLB [mem 0xbac00000-0xbb000000] (4MB)
mapped at [dac00000-daffffff]
[    0.133440] hw-breakpoint: Failed to enable monitor mode on CPU 1.
[    0.183494] xen:balloon: Initialising balloon driver
[    0.184060] xen_balloon: Initialising balloon driver
[    0.187333] +USB0_VBUS_SW: Failed to request enable GPIO108: -517
[    0.187556] reg-fixed-voltage regulators:regulator@7: Failed to
register regulator: -517
[    0.188011] +5V_USB_HS: Failed to request enable GPIO109: -517
[    0.188224] reg-fixed-voltage regulators:regulator@8: Failed to
register regulator: -517
[    0.188785] +1.05V_RUN_AVDD_HDMI_PLL: Failed to request enable GPIO63: -517
[    0.188995] reg-fixed-voltage regulators:regulator@11: Failed to
register regulator: -517
[    0.189447] +5V_HDMI_CON: Failed to request enable GPIO86: -517
[    0.189655] reg-fixed-voltage regulators:regulator@12: Failed to
register regulator: -517
[    0.190105] +5V_SATA: Failed to request enable GPIO242: -517
[    0.190352] reg-fixed-voltage regulators:regulator@13: Failed to
register regulator: -517
[    0.190806] +12V_SATA: Failed to request enable GPIO242: -517
[    0.191013] reg-fixed-voltage regulators:regulator@14: Failed to
register regulator: -517
[    0.192568] arm-lpae io-pgtable: selftest: pgsize_bitmap 0x40201000, IAS 32
[    0.192786] arm-lpae io-pgtable: selftest: pgsize_bitmap 0x40201000, IAS 36
[    0.192994] arm-lpae io-pgtable: selftest: pgsize_bitmap 0x40201000, IAS 40
[    0.193217] arm-lpae io-pgtable: selftest: pgsize_bitmap 0x40201000, IAS 42
[    0.193467] arm-lpae io-pgtable: selftest: pgsize_bitmap 0x40201000, IAS 44
[    0.193673] arm-lpae io-pgtable: selftest: pgsize_bitmap 0x40201000, IAS 48
[    0.193892] arm-lpae io-pgtable: selftest: pgsize_bitmap 0x02004000, IAS 32
[    0.194553] arm-lpae io-pgtable: selftest: pgsize_bitmap 0x02004000, IAS 36
[    0.195292] arm-lpae io-pgtable: selftest: pgsize_bitmap 0x02004000, IAS 40
[    0.195949] arm-lpae io-pgtable: selftest: pgsize_bitmap 0x02004000, IAS 42
[    0.196604] arm-lpae io-pgtable: selftest: pgsize_bitmap 0x02004000, IAS 44
[    0.197262] arm-lpae io-pgtable: selftest: pgsize_bitmap 0x02004000, IAS 48
[    0.197974] arm-lpae io-pgtable: selftest: pgsize_bitmap 0x20010000, IAS 32
[    0.200524] arm-lpae io-pgtable: selftest: pgsize_bitmap 0x20010000, IAS 36
[    0.203036] arm-lpae io-pgtable: selftest: pgsize_bitmap 0x20010000, IAS 40
[    0.205604] arm-lpae io-pgtable: selftest: pgsize_bitmap 0x20010000, IAS 42
[    0.208285] arm-lpae io-pgtable: selftest: pgsize_bitmap 0x20010000, IAS 44
[    0.210797] arm-lpae io-pgtable: selftest: pgsize_bitmap 0x20010000, IAS 48
[    0.213295] arm-lpae io-pgtable: selftest: completed with 18 PASS 0 FAIL
[    0.214020] vgaarb: loaded
[    0.215731] SCSI subsystem initialized
[    0.216928] usbcore: registered new interface driver usbfs
[    0.217108] usbcore: registered new interface driver hub
[    0.217316] usbcore: registered new device driver usb
[    0.221769] Linux video capture interface: v2.00
[    0.221900] pps_core: LinuxPPS API ver. 1 registered
[    0.221908] pps_core: Software ver. 5.3.6 - Copyright 2005-2007
Rodolfo Giometti <giometti@linux.it>
[    0.221980] PTP clock support registered
[    0.223885] Advanced Linux Sound Architecture Driver Initialized.
[    0.225412] Bluetooth: Core ver 2.20
[    0.225493] NET: Registered protocol family 31
[    0.225502] Bluetooth: HCI device and connection manager initialized
[    0.225533] Bluetooth: HCI socket layer initialized
[    0.225555] Bluetooth: L2CAP socket layer initialized
[    0.225611] Bluetooth: SCO socket layer initialized
[    0.226236] cfg80211: Calling CRDA to update world regulatory domain
[    0.227195] clocksource: Switched to clocksource arch_sys_counter
[    0.362983] NET: Registered protocol family 2
[    0.364477] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
[    0.364539] TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
[    0.364637] TCP: Hash tables configured (established 4096 bind 4096)
[    0.364907] UDP hash table entries: 256 (order: 1, 8192 bytes)
[    0.364935] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[    0.365428] NET: Registered protocol family 1
[    0.366382] RPC: Registered named UNIX socket transport module.
[    0.366392] RPC: Registered udp transport module.
[    0.366399] RPC: Registered tcp transport module.
[    0.366406] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.370824] futex hash table entries: 1024 (order: 4, 65536 bytes)
[    0.374618] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.383547] io scheduler noop registered (default)
[    0.394250] tegra-pcie 1003000.pcie-controller: 2x1, 1x1 configuration
[    0.394303] tegra-pcie 1003000.pcie-controller: Failed to get
supply 'avddio-pex': -517
[    0.406173] tegra-apbdma 60020000.dma: Tegra20 APB DMA driver
register 32 channels
[    0.406682] tegra-pmc 7000e400.pmc: emergency thermal reset enabled
[    0.408157] xen:xen_evtchn: Event-channel device installed
[    1.317385] console [hvc0] enabled
[    1.320937] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    1.333011] [drm] Initialized drm 1.1.0 20060810
[    1.368145] tegra-hdmi 54280000.hdmi: failed to get HDMI regulator
[    1.388139] loop: module loaded
[    1.390403] at24 0-0056: 256 byte 24c02 EEPROM, writable, 8 bytes/write
[    2.387235] tegra-i2c 7000d000.i2c: i2c transfer timed out
[    2.390845] as3722 4-0040: ASIC_ID1 read failed: -110
[    2.396044] as3722: probe of 4-0040 failed with error -110
[    2.402569] tegra-ahci 70027000.sata: Failed to get supply 'avdd': -517
[    2.408180] tegra-ahci 70027000.sata: Failed to get regulators
[    3.387251] cfg80211: Calling CRDA to update world regulatory domain
[    3.417234] ------------[ cut here ]------------
[    3.419967] WARNING: CPU: 1 PID: 1 at
drivers/spi/spi-tegra114.c:838
tegra_spi_transfer_one_message+0x410/0x438()
[    3.430302] Modules linked in:
[    3.433392] CPU: 1 PID: 1 Comm: swapper/0 Not tainted
4.1.0-196898-g2e68ed9-dirty #3
[    3.441203] Hardware name: NVIDIA Tegra SoC (Flattened Device Tree)
[    3.447560] [<c00177d8>] (unwind_backtrace) from [<c0013040>]
(show_stack+0x10/0x14)
[    3.455327] [<c0013040>] (show_stack) from [<c073b7e8>]
(dump_stack+0x84/0xd0)
[    3.462622] [<c073b7e8>] (dump_stack) from [<c0028b84>]
(warn_slowpath_common+0x78/0xb4)
[    3.470766] [<c0028b84>] (warn_slowpath_common) from [<c0028bdc>]
(warn_slowpath_null+0x1c/0x24)
[    3.479606] [<c0028bdc>] (warn_slowpath_null) from [<c03ed068>]
(tegra_spi_transfer_one_message+0x410/0x438)
[    3.489485] [<c03ed068>] (tegra_spi_transfer_one_message) from
[<c03e9d68>] (__spi_pump_messages+0x36c/0x674)
[    3.499462] [<c03e9d68>] (__spi_pump_messages) from [<c03ea194>]
(__spi_sync+0x124/0x1a8)
[    3.507701] [<c03ea194>] (__spi_sync) from [<c03ea2ec>]
(spi_write_then_read+0xc4/0x174)
[    3.515814] [<c03ea2ec>] (spi_write_then_read) from [<c03e6904>]
(m25p80_read_reg+0x34/0x64)
[    3.524321] [<c03e6904>] (m25p80_read_reg) from [<c03e6fec>]
(spi_nor_read_id+0x20/0xa8)
[    3.532483] [<c03e6fec>] (spi_nor_read_id) from [<c03e7ac8>]
(spi_nor_scan+0x2a8/0x80c)
[    3.540524] [<c03e7ac8>] (spi_nor_scan) from [<c03e6840>]
(m25p_probe+0xb0/0x140)
[    3.548065] [<c03e6840>] (m25p_probe) from [<c03e96c8>]
(spi_drv_probe+0x5c/0x74)
[    3.555600] [<c03e96c8>] (spi_drv_probe) from [<c037db44>]
(driver_probe_device+0x1c8/0x26c)
[    3.564106] [<c037db44>] (driver_probe_device) from [<c037c244>]
(bus_for_each_drv+0x44/0x8c)
[    3.572684] [<c037c244>] (bus_for_each_drv) from [<c037d904>]
(__device_attach+0x88/0xd8)
[    3.580917] [<c037d904>] (__device_attach) from [<c037d0bc>]
(bus_probe_device+0x84/0x8c)
[    3.589149] [<c037d0bc>] (bus_probe_device) from [<c037b5fc>]
(device_add+0x33c/0x524)
[    3.597110] [<c037b5fc>] (device_add) from [<c03e9540>]
(spi_add_device+0x88/0x130)
[    3.604835] [<c03e9540>] (spi_add_device) from [<c03eab64>]
(of_register_spi_device+0x208/0x2f8)
[    3.613676] [<c03eab64>] (of_register_spi_device) from [<c03eb034>]
(spi_register_master+0x214/0x444)
[    3.622950] [<c03eb034>] (spi_register_master) from [<c03eb290>]
(devm_spi_register_master+0x2c/0x68)
[    3.632222] [<c03eb290>] (devm_spi_register_master) from
[<c03ebdc8>] (tegra_spi_probe+0x29c/0x350)
[    3.641322] [<c03ebdc8>] (tegra_spi_probe) from [<c037f230>]
(platform_drv_probe+0x48/0xa4)
[    3.649728] [<c037f230>] (platform_drv_probe) from [<c037db44>]
(driver_probe_device+0x1c8/0x26c)
[    3.658671] [<c037db44>] (driver_probe_device) from [<c037dc74>]
(__driver_attach+0x8c/0x90)
[    3.667135] [<c037dc74>] (__driver_attach) from [<c037c2e0>]
(bus_for_each_dev+0x54/0x88)
[    3.675382] [<c037c2e0>] (bus_for_each_dev) from [<c037d2a0>]
(bus_add_driver+0xe8/0x1f4)
[    3.683622] [<c037d2a0>] (bus_add_driver) from [<c037e6a0>]
(driver_register+0x78/0xf4)
[    3.691693] [<c037e6a0>] (driver_register) from [<c00096c4>]
(do_one_initcall+0x80/0x1d0)
[    3.699908] [<c00096c4>] (do_one_initcall) from [<c0a09dc8>]
(kernel_init_freeable+0x110/0x1dc)
[    3.708663] [<c0a09dc8>] (kernel_init_freeable) from [<c0736770>]
(kernel_init+0x8/0xec)
[    3.716795] [<c0736770>] (kernel_init) from [<c000fde8>]
(ret_from_fork+0x14/0x2c)
[    3.724439] ---[ end trace e92698c5376bfefb ]---
[    3.729108] spi-tegra114 7000da00.spi: spi trasfer timeout, err 0
[    3.735272] spi_master spi32765: failed to transfer one message from queue
[    3.742195] m25p80 spi32765.0: error -5 reading 9f
[    3.747049] m25p80: probe of spi32765.0 failed with error -5
[    3.754768] CAN device driver interface
[    3.756829] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.2.15-k
[    3.763827] igb: Copyright (c) 2007-2014 Intel Corporation.
[    3.769830] xen_netfront: Initialising Xen virtual ethernet driver
[    3.776009] pegasus: v0.9.3 (2013/04/25), Pegasus/Pegasus II USB
Ethernet driver
[    3.783289] usbcore: registered new interface driver pegasus
[    3.789058] usbcore: registered new interface driver asix
[    3.794455] usbcore: registered new interface driver ax88179_178a
[    3.800637] usbcore: registered new interface driver cdc_ether
[    3.806555] usbcore: registered new interface driver smsc75xx
[    3.812372] usbcore: registered new interface driver smsc95xx
[    3.818129] usbcore: registered new interface driver net1080
[    3.823837] usbcore: registered new interface driver cdc_subset
[    3.829849] usbcore: registered new interface driver zaurus
[    3.835520] usbcore: registered new interface driver cdc_ncm
[    3.841358] tegra-phy 7d004000.usb-phy: no vbus regulator
[    3.847023] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    3.853106] ehci-pci: EHCI PCI platform driver
[    3.857735] tegra-ehci: Tegra EHCI driver
[    3.862029] tegra-ehci 7d004000.usb: EHCI Host Controller
[    3.867164] tegra-ehci 7d004000.usb: new USB bus registered,
assigned bus number 1
[    3.875088] tegra-ehci 7d004000.usb: irq 342, io mem 0x7d004000
[    3.897244] tegra-ehci 7d004000.usb: USB 2.0 started, EHCI 1.10
[    3.903016] hub 1-0:1.0: USB hub found
[    3.905146] hub 1-0:1.0: 1 port detected
[    3.910543] usbcore: registered new interface driver cdc_acm
[    3.914781] cdc_acm: USB Abstract Control Model driver for USB
modems and ISDN adapters
[    3.923002] usbcore: registered new interface driver cdc_wdm
[    3.928802] usbcore: registered new interface driver usb-storage
[    3.935427] mousedev: PS/2 mouse device common for all mice
[    3.943355] tegra_rtc 7000e000.rtc: rtc core: registered 7000e000.rtc as rtc1
[    3.948720] tegra_rtc 7000e000.rtc: Tegra internal Real Time Clock
[    3.955257] i2c /dev entries driver
[    3.960738] usbcore: registered new interface driver uvcvideo
[    3.964583] USB Video Class driver (1.1.1)
[    3.968790] gspca_main: v2.14.0 registered
[    3.973727] 0-004c supply vcc not found, using dummy regulator
[    4.977235] tegra-i2c 7000c000.i2c: i2c transfer timed out
[    4.980846] lm90 0-004c: Register 0x4 read failed (-110)
[    4.986196] lm90 0-004c: Failed to read convrate register!
[    5.987234] tegra-i2c 7000c000.i2c: i2c transfer timed out
[    6.547246] cfg80211: Calling CRDA to update world regulatory domain
[    6.987237] tegra-i2c 7000c000.i2c: i2c transfer timed out
[    6.990842] lm90 0-004c: Register 0x3 read failed (-110)
[    6.996198] lm90 0-004c: Initialization failed!
[    7.002041] sdhci: Secure Digital Host Controller Interface driver
[    7.007027] sdhci: Copyright(c) Pierre Ossman
[    7.011481] sdhci-pltfm: SDHCI platform and OF driver helper
[    7.017580] sdhci-tegra 700b0400.sdhci: Got CD GPIO
[    7.022128] sdhci-tegra 700b0400.sdhci: Got WP GPIO
[    7.027105] mmc0: Unknown controller version (3). You may
experience problems.
[    7.034491] sdhci-tegra 700b0400.sdhci: No vmmc regulator found
[    7.040550] mmc0: Unknown controller version (3). You may
experience problems.
[    7.047721] sdhci-tegra 700b0600.sdhci: No vmmc regulator found
[    7.053570] sdhci-tegra 700b0600.sdhci: No vqmmc regulator found
[    7.059654] mmc0: Invalid maximum block size, assuming 512 bytes
[    7.117253] mmc0: SDHCI controller on 700b0600.sdhci
[700b0600.sdhci] using ADMA 64-bit
[    7.124468] usbcore: registered new interface driver usbhid
[    7.128999] usbhid: USB HID core driver
[    8.537237] tegra-i2c 7000c000.i2c: i2c transfer timed out
[    8.540847] rt5640 0-001c: Device with ID register c0af9d34 is not rt5640/39
[    8.551341] tegra30-i2s 70301100.i2s: DMA channels sourced from
device 70300000.ahub
[    8.557838] tegra-snd-rt5640 sound: ASoC: CODEC DAI rt5640-aif1 not
registered
[    8.564464] tegra-snd-rt5640 sound: snd_soc_register_card failed (-517)
[    8.573237] NET: Registered protocol family 10
[    8.577517] mip6: Mobile IPv6
[    8.578820] sit: IPv6 over IPv4 tunneling driver
[    8.586541] NET: Registered protocol family 17
[    8.589192] NET: Registered protocol family 15
[    8.593603] can: controller area network core (rev 20120528 abi 9)
[    8.600037] NET: Registered protocol family 29
[    8.604351] can: raw protocol (rev 20120528)
[    8.608697] can: broadcast manager protocol (rev 20120528 t)
[    8.614418] can: netlink gateway (rev 20130117) max_hops=1
[    8.620197] Bluetooth: RFCOMM socket layer initialized
[    8.625156] Bluetooth: RFCOMM ver 1.11
[    8.628991] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    8.634341] Bluetooth: BNEP socket layer initialized
[    8.639374] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[    8.645349] Bluetooth: HIDP socket layer initialized
[    8.650678] Registering SWP/SWPB emulation handler
[    8.661218] tegra-pcie 1003000.pcie-controller: 2x1, 1x1 configuration
[    8.665886] tegra-pcie 1003000.pcie-controller: Failed to get
supply 'avddio-pex': -517
[    8.674354] +5V_SYS: supplied by +VDD_MUX
[    8.678090] +5V_HDMI_CON: supplied by +5V_SYS
[    8.682576] reg-fixed-voltage regulators:regulator@11: Failed to
resolve vin-supply for +1.05V_RUN_AVDD_HDMI_PLL
[    8.692649] tegra-hdmi 54280000.hdmi: failed to get PLL regulator
[    8.699325] tegra-ahci 70027000.sata: Failed to get supply 'avdd': -517
[    8.705454] tegra-ahci 70027000.sata: Failed to get regulators
[    8.711824] +5V_USB_HS: supplied by +5V_SYS
[    8.716182] tegra-ehci 7d008000.usb: EHCI Host Controller
[    8.721165] tegra-ehci 7d008000.usb: new USB bus registered,
assigned bus number 2
[    8.729155] tegra-ehci 7d008000.usb: irq 343, io mem 0x7d008000
[    8.747246] tegra-ehci 7d008000.usb: USB 2.0 started, EHCI 1.10
[    8.753009] hub 2-0:1.0: USB hub found
[    8.755139] hub 2-0:1.0: 1 port detected
[    8.760236] sdhci-tegra 700b0400.sdhci: Got CD GPIO
[    8.764021] sdhci-tegra 700b0400.sdhci: Got WP GPIO
[    8.769021] mmc1: Unknown controller version (3). You may
experience problems.
[    8.776370] sdhci-tegra 700b0400.sdhci: No vmmc regulator found
[    8.782726] tegra-snd-rt5640 sound: ASoC: CODEC DAI rt5640-aif1 not
registered
[    8.789521] tegra-snd-rt5640 sound: snd_soc_register_card failed (-517)
[    8.796977] tegra-pcie 1003000.pcie-controller: 2x1, 1x1 configuration
[    8.802818] tegra-pcie 1003000.pcie-controller: Failed to get
supply 'avddio-pex': -517
[    8.811291] reg-fixed-voltage regulators:regulator@11: Failed to
resolve vin-supply for +1.05V_RUN_AVDD_HDMI_PLL
[    8.821048] tegra-hdmi 54280000.hdmi: failed to get PLL regulator
[    8.827691] tegra-ahci 70027000.sata: Failed to get supply 'avdd': -517
[    8.833857] tegra-ahci 70027000.sata: Failed to get regulators
[    8.840805] input: gpio-keys as /devices/soc0/gpio-keys/input/input0
[    8.846820] hctosys: unable to open rtc device (rtc0)
[    8.847331] sdhci-tegra 700b0400.sdhci: Got CD GPIO
[    8.847369] sdhci-tegra 700b0400.sdhci: Got WP GPIO
[    8.847471] mmc1: Unknown controller version (3). You may
experience problems.
[    8.851403] sdhci-tegra 700b0400.sdhci: No vmmc regulator found
[    8.852328] tegra-snd-rt5640 sound: ASoC: CODEC DAI rt5640-aif1 not
registered
[    8.852340] tegra-snd-rt5640 sound: snd_soc_register_card failed (-517)
[    8.854009] tegra-pcie 1003000.pcie-controller: 2x1, 1x1 configuration
[    8.854062] tegra-pcie 1003000.pcie-controller: Failed to get
supply 'avddio-pex': -517
[    8.855019] reg-fixed-voltage regulators:regulator@11: Failed to
resolve vin-supply for +1.05V_RUN_AVDD_HDMI_PLL
[    8.855030] tegra-hdmi 54280000.hdmi: failed to get PLL regulator
[    8.856050] tegra-ahci 70027000.sata: Failed to get supply 'avdd': -517
[    8.856059] tegra-ahci 70027000.sata: Failed to get regulators
[    8.951051] +12V_SATA: disabling
[    8.952391] +5V_SATA: disabling
[    8.955596] +5V_HDMI_CON: disabling
[    8.959166] +1.05V_RUN_AVDD_HDMI_PLL: disabling
[    8.963742] +USB0_VBUS_SW: disabling
[    8.967400] +3.3V_AVDD_HDMI_

Thanks and Regards,
Dushyant

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Running Xen on Nvidia Jetson-TK1
  2016-03-08  8:23 Running Xen on Nvidia Jetson-TK1 Dushyant K Behl
  2016-03-09 13:37 ` Wei Liu
@ 2016-05-12  1:00 ` Meng Xu
  2016-05-12  9:19   ` Dushyant Behl
  1 sibling, 1 reply; 31+ messages in thread
From: Meng Xu @ 2016-05-12  1:00 UTC (permalink / raw)
  To: Dushyant K Behl; +Cc: xen-devel

Hi Dushyant,

On Tue, Mar 8, 2016 at 3:23 AM, Dushyant K Behl <dushyantbehl@in.ibm.com> wrote:
>
> Hi All,
>
> I'm working on a research project with IBM, and I want to run Xen on Nvidia Tegra Jetson-tk1 board.
> I looked at a post on this mailing list (http://lists.xenproject.org/archives/html/xen-devel/2015-03/msg01122.html),
> and I am using this git tree -
>
> git://xenbits.xen.org/people/ianc/xen.git
> and branch  - tegra-tk1-jetson-v1
>
> But when I try to boot Xen on the board I am not able to see any output (even with earlyprintk enabled).
> After jumping to Xen the board just resets without showing any output.
>
> I am using upstream u-boot with non secure mode enabled.


I just got the Jetson TK1 board and I'm trying to run Xen on it.

May I know which u-boot repo and which branch you used to enable the
non-secure mode? If you could also share your u-boot config file, that
will be awesome!

The u-boot from NVIDEA didn't turn on the HYP mode. I tried the
git://git.denx.de/u-boot.git, tag v2016.03, but the board won't boot
after I flashed the uboot. No message at all... :-(
If I use NVIDEA's uboot, I can boot into the linux kernel without problem.

Thank you very much for your help and time!

Best Regards,

Meng

-- 
-----------
Meng Xu
PhD Student in Computer and Information Science
University of Pennsylvania
http://www.cis.upenn.edu/~mengxu/

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Running Xen on Nvidia Jetson-TK1
  2016-05-12  1:00 ` Meng Xu
@ 2016-05-12  9:19   ` Dushyant Behl
  0 siblings, 0 replies; 31+ messages in thread
From: Dushyant Behl @ 2016-05-12  9:19 UTC (permalink / raw)
  To: Meng Xu; +Cc: xen-devel

Hi Meng,

On Thu, May 12, 2016 at 6:30 AM, Meng Xu <xumengpanda@gmail.com> wrote:
> Hi Dushyant,
>
> On Tue, Mar 8, 2016 at 3:23 AM, Dushyant K Behl <dushyantbehl@in.ibm.com> wrote:
>
> May I know which u-boot repo and which branch you used to enable the
> non-secure mode? If you could also share your u-boot config file, that
> will be awesome!

I'm using the u-boot from mainline git://git.denx.de/u-boot.git on my
Jetson board, I'm using the tegra-uboot-flasher-scripts from Nvidia
(https://github.com/NVIDIA/tegra-uboot-flasher-scripts)
to flash u-boot and they use the denx mainline branch with default
Jetson-TK1 configuration.

> The u-boot from NVIDEA didn't turn on the HYP mode. I tried the
> git://git.denx.de/u-boot.git, tag v2016.03, but the board won't boot
> after I flashed the uboot. No message at all... :-(
> If I use NVIDEA's uboot, I can boot into the linux kernel without problem.

The default configuration of u-boot doesn't enables HYP mode when you boot
the kernel. You can change that in the configuration by disabling

CONFIG_ARMV7_BOOT_SEC_DEFAULT in the config file.

But you can also achieve the same thing by setting the environment
variable in u-boot

"bootm_boot_mode=nonsec"

now booting the linux kernel through bootm command will boot it in HYP mode.
I'm also using the bootm_boot_mode variable set to nonsec without
changing the default
configuration of u-boot.

I had some problems booting the L4T kernel in HYP mode on Jetson, so I was using
the linux kernel from Jan Kiszka's development tree -
http://git.kiszka.org/linux.git/,  branch queues/assorted
which has some of the PSCI patches required to boot linux. Although If
you do get the
mainline linux or l4t kernel to boot in nonsec mode or on Xen, please
do let me know.

Thanks,
Dushyant

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Running Xen on Nvidia Jetson-TK1
  2016-04-08 10:10                                     ` Julien Grall
  2016-04-08 12:27                                       ` Ian Campbell
@ 2016-05-14  2:09                                       ` Meng Xu
  2016-05-14 17:36                                         ` Dushyant Behl
  1 sibling, 1 reply; 31+ messages in thread
From: Meng Xu @ 2016-05-14  2:09 UTC (permalink / raw)
  To: Julien Grall
  Cc: sstabellini, Wei Liu, Stefano Stabellini, Dushyant K Behl,
	Xen Devel, ijc, Dushyant Behl

Hi Julien and Dushyant,

>>>
>>>> (XEN) DOM0: [    0.000000] irq: no irq domain found for
>>>> /interrupt-controller !
>>>> (XEN) DOM0: [    0.000000] irq: no irq domain found for
>>>> /interrupt-controller !
>>>> (XEN) DOM0: [    0.000000] irq: no irq domain found for
>>>> /interrupt-controller !
>>>> (XEN) DOM0: [    0.000000] arch_timer: No interrupt available, giving up
>>>
>>>
>>>
>>> It looks like to me that Xen is not recreating the device-tree correctly.
>>> I
>>> would look into the kernel to find what is expected.
>>
>>
>> This looks like a possible bug (or some missing feature) in Xen's
>> device tree creation which could
>> take some time to handle, so if I could be of any more help to you
>> with this issue please let me know.
>
>
> There was a conversation on #xen-arm few days ago about this problem.

Is there a way that we can see the conversation on #xen-arm?
I hope to better understand the problem.

> Xen doesn't correctly recreate the GIC node which result in a loop between
> the interrupt controller. Can you try the below patch?
>
> http://dev.ktemkin.com/misc/xenarm-gic-parents.patch

It seems this link is invalid now...
Has this patch been upstreamed?

Hi Dushyant,
Could you help repost this patch in this email if it's not that large?
(Since we used the same repo, which is IanC's, it may be even better
if you could kindly share the patch based on the tegra-tk1-jetson-v1
branch of Ian's repo.?)


Hi Julien,
Do you have some suggestions on how we can debug and fix the issue
related to the device tree?

I saw that there may still be some issues with the NVIDIA devices as
Dushyant described after he applied the patch.
Right now, I have the exact same board as Dushyant has. I think I may
encounter the exact same issue as he did. So I'm wondering if there is
some documentation/tutorial/notes that we can learn about how to debug
the issues.

Thank you both very much for your help and time!

Best Regards,

Meng

-----------
Meng Xu
PhD Student in Computer and Information Science
University of Pennsylvania
http://www.cis.upenn.edu/~mengxu/

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Running Xen on Nvidia Jetson-TK1
  2016-05-14  2:09                                       ` Meng Xu
@ 2016-05-14 17:36                                         ` Dushyant Behl
  2016-05-14 18:34                                           ` Meng Xu
  0 siblings, 1 reply; 31+ messages in thread
From: Dushyant Behl @ 2016-05-14 17:36 UTC (permalink / raw)
  To: Meng Xu
  Cc: sstabellini, Wei Liu, Stefano Stabellini, Dushyant K Behl,
	Xen Devel, Julien Grall, Ian Campbell

[-- Attachment #1: Type: text/plain, Size: 531 bytes --]

Hey Meng,

On Sat, May 14, 2016 at 7:39 AM, Meng Xu <xumengpanda@gmail.com> wrote:
>>
>> http://dev.ktemkin.com/misc/xenarm-gic-parents.patch
>
> It seems this link is invalid now...
> Has this patch been upstreamed?
>
> Hi Dushyant,
> Could you help repost this patch in this email if it's not that large?
> (Since we used the same repo, which is IanC's, it may be even better
> if you could kindly share the patch based on the tegra-tk1-jetson-v1
> branch of Ian's repo.?)

The patch is attached with the mail.

Thanks,
Dushyant

[-- Attachment #2: xenarm-gic-parents.patch --]
[-- Type: application/octet-stream, Size: 1227 bytes --]

diff --git a/sources/xen-ijc-tegra-hacking/xen/arch/arm/domain_build.c b/sources/xen-ijc-tegra-hacking/xen/arch/arm/domain_build.c
index ee27930..ce56410 100644
--- a/sources/xen-ijc-tegra-hacking/xen/arch/arm/domain_build.c
+++ b/sources/xen-ijc-tegra-hacking/xen/arch/arm/domain_build.c
@@ -784,8 +784,8 @@ static int make_gic_node(const struct domain *d, void *fdt,
 {
     const struct dt_device_node *gic = dt_interrupt_controller;
     int res = 0;
-    const void *addrcells;
-    u32 addrcells_len;
+    const void *addrcells, *iparent;
+    u32 addrcells_len, iparent_len;
 
     /*
      * Xen currently supports only a single GIC. Discard any secondary
@@ -815,6 +815,16 @@ static int make_gic_node(const struct domain *d, void *fdt,
             return res;
     }
 
+    // TODO: Ideally, the GIC's parent should always be equal to its phandle.
+    // Perhaps we should validate this?
+    iparent = dt_get_property(gic, "interrupt-parent", &iparent_len);
+    if ( iparent )
+    {
+        res = fdt_property(fdt, "interrupt-parent", iparent, iparent_len);
+        if ( res )
+          return res;
+    }
+
     addrcells = dt_get_property(gic, "#address-cells", &addrcells_len);
     if ( addrcells )
     {

[-- Attachment #3: Type: text/plain, Size: 126 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply related	[flat|nested] 31+ messages in thread

* Re: Running Xen on Nvidia Jetson-TK1
  2016-05-14 17:36                                         ` Dushyant Behl
@ 2016-05-14 18:34                                           ` Meng Xu
  0 siblings, 0 replies; 31+ messages in thread
From: Meng Xu @ 2016-05-14 18:34 UTC (permalink / raw)
  To: Dushyant Behl
  Cc: sstabellini, Wei Liu, Stefano Stabellini, Dushyant K Behl,
	Xen Devel, Julien Grall, Ian Campbell

Hi Dushyant,

On Sat, May 14, 2016 at 1:36 PM, Dushyant Behl
<myselfdushyantbehl@gmail.com> wrote:
> Hey Meng,
>
> On Sat, May 14, 2016 at 7:39 AM, Meng Xu <xumengpanda@gmail.com> wrote:
>>>
>>> http://dev.ktemkin.com/misc/xenarm-gic-parents.patch
>>
>> It seems this link is invalid now...
>> Has this patch been upstreamed?
>>
>> Hi Dushyant,
>> Could you help repost this patch in this email if it's not that large?
>> (Since we used the same repo, which is IanC's, it may be even better
>> if you could kindly share the patch based on the tegra-tk1-jetson-v1
>> branch of Ian's repo.?)
>
> The patch is attached with the mail.
>

Thank you so much for your help! I applied the patch and the kernel
can have further progress in booting.

I'm replying to your last email about the issue I'm facing to, which
seems not same with what you saw.

Best Regards,

Meng
-----------
Meng Xu
PhD Student in Computer and Information Science
University of Pennsylvania
http://www.cis.upenn.edu/~mengxu/

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Running Xen on Nvidia Jetson-TK1
  2016-03-21 10:12                         ` Dushyant Behl
  2016-03-24 11:05                           ` Dushyant Behl
@ 2016-05-14 18:37                           ` Meng Xu
  2016-05-14 18:58                             ` Dushyant Behl
  1 sibling, 1 reply; 31+ messages in thread
From: Meng Xu @ 2016-05-14 18:37 UTC (permalink / raw)
  To: Dushyant Behl
  Cc: Wei Liu, Stefano Stabellini, Dushyant K Behl, Xen Devel, Julien Grall

Hi Dushyant,

>>> On Thu, Mar 17, 2016 at 8:22 PM, Julien Grall <julien.grall@arm.com>
>>> wrote:
>>>>
>>>> On 14/03/16 14:19, Dushyant Behl wrote:
>>>>>>
>>>>>> Yes, I have enabled these configuration parameters when compiling linux
>>>>>> -
>>>>
>>>>
>>>> The list of options looks good to me. I guess Linux is crashing before
>>>> setting
>>>> up the console. Can you apply the below to Linux and post the log here?
>>>
>>>
>>> I applied your patch to Linux but still there is no output from the
>>> kernel.
>>>
>>> But I have found location of the problem, I have a debugger attached
>>> to the Jetson board
>>> and using that I was able to find out that Linux is failing while
>>> initializing the Tegra timer.
>>>
>>> The call stack at the time of failing is  -
>>>
>>> -   prefetchw (inline)
>>>      arch_spin_lock (inline)
>>>      do_raw_spin_lock_flags (inline)
>>>      __raw_spin_lock_irqssave (inline)
>>>      raw_spin_lock_irq_save (lock = 0xC0B746F0)
>>> -   of_get_parent (node = 0xA00001D3)
>>> -   of_get_address (dev = 0xDBBABC30, index = 0, size = 0xC0A83F30)
>>> -   of_address_to_resource(dev = 0xDBBABC30, index = 0, r = 0xC0A83F50)
>>> -   of_iomap (np = 0xDBBABC30, index = 0)
>>> -   tegra20_init_timer (np = 0xDBBABC30)
>>> -   clocksource_of_init()
>>> -   start_kernel()
>>>
>>> After this Linux jumps to floating point exception handler and then to
>>> undefined instruction and fails.
>>
>>
>> I don't know why Linux is receiving a floating point exception. However,
>> DOM0 must not use the tegra timer as it doesn't support virtualization.
>>
>> You need to ensure that DOM0 will use the arch timer instead. Xen provides
>> some facilities to blacklist a device tree node (see blacklist dev in
>> arm/platforms/tegra.c).
>
> I have blacklisted the tegra20_timer

I guess you blocked the "tegra20-timer" (which uses "-" instead of
"_") right as shown in the following patch? Am I right?

diff --git a/xen/arch/arm/platforms/tegra.c b/xen/arch/arm/platforms/tegra.c

index 5ec9dda..8477ad1 100644

--- a/xen/arch/arm/platforms/tegra.c

+++ b/xen/arch/arm/platforms/tegra.c

@@ -431,6 +431,7 @@ static const struct dt_device_match
tegra_blacklist_dev[] __initconst =

      * UART to dom0, so don't map any of them.

      */

     DT_MATCH_COMPATIBLE("nvidia,tegra20-uart"),

+    DT_MATCH_COMPATIBLE("nvidia,tegra20-timer"),

     { /* sentinel */ },

 };

Thanks and Best Regards,

Meng
-----------
Meng Xu
PhD Student in Computer and Information Science
University of Pennsylvania
http://www.cis.upenn.edu/~mengxu/

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Running Xen on Nvidia Jetson-TK1
  2016-04-14 15:54                                         ` Dushyant Behl
@ 2016-05-14 18:43                                           ` Meng Xu
  2016-05-14 19:03                                             ` Dushyant Behl
  0 siblings, 1 reply; 31+ messages in thread
From: Meng Xu @ 2016-05-14 18:43 UTC (permalink / raw)
  To: Dushyant Behl
  Cc: sstabellini, Wei Liu, Dushyant K Behl, Stefano Stabellini,
	Xen Devel, Julien Grall, Ian Campbell

On Thu, Apr 14, 2016 at 11:54 AM, Dushyant Behl
<myselfdushyantbehl@gmail.com> wrote:
> Hi Everyone,
>
> On Fri, Apr 8, 2016 at 5:57 PM, Ian Campbell <ijc@hellion.org.uk> wrote:
>>> > In your patch for *Hacky* support for Jetsok-TK1 you said that you
>>> > were able to run guests on
>>> > Jetson-tk1 board with Xen. Can I know which kernel version you used as
>>> > dom0 (and possibly domU guests)?
>>
>> I'm afraid I don't remember. It would probably either have been some
>> current-ish upstream kernel from the time, or possibly a Debian kernel
>> from around the time. So maybe something 3.16-ish?
>
> @Ian Thanks for the Reply.
>
> @Julien, Thanks a lot, your patch for GIC dtb node worked and the
> linux kernel is now able to enable the arch timer.
> (Although I needed to modify the code manually as the tree I'm using
> is older Xen-4.6, and maybe the patch was against the latest version
> of xen).
>
> The kernel is able to initialize itself but it fails while initializing some
> nvidia devices in the boot process. I've posted the log here,

Thanks to Dyshyant's help, I see the similar log as Dushyant attached
in his email.

> Could this also be an issue with the device tree or this is something
> related to the kernel?

I plan to try the L4T kernel and see if the problem still exist.

But I have a quick  question:
With the following kernel booting log, did your dom0 boot up successfully?
I mean, can you log into your dom0 now?

>
> - UART enabled -
> - CPU 00000000 booting -
> - Xen starting in Hyp mode -
> - Zero BSS -
> - Setting up control registers -
> - Turning on paging -
> - Ready -
> (XEN) Checking for initrd in /chosen
> (XEN) RAM: 0000000080000000 - 00000000ffefffff
> (XEN)
> (XEN) MODULE[0]: 0000000082000000 - 0000000082010000 Device Tree
> (XEN) MODULE[1]: 0000000081000000 - 00000000815443f0 Kernel
> console=hvc0 root=/dev/mmcblk0p1 rw rootwait
> (XEN)  RESVD[0]: 0000000082000000 - 0000000082010000
> (XEN)
> (XEN) Command line: console=dtuart dtuart=serial0 dom0_mem=512M
> sync_console log_lvl=all guest_loglvl=all
> (XEN) Placing Xen at 0x00000000ffc00000-0x00000000ffe00000
> (XEN) Update BOOTMOD_XEN from 00000000fd000000-00000000fd0f9701 =>
> 00000000ffc00000-00000000ffcf9701
> (XEN) Xen heap: 00000000fa000000-00000000fe000000 (16384 pages)
> (XEN) Dom heap: 507648 pages
> (XEN) Domain heap initialised
> (XEN) Platform: TEGRA124
> (XEN) Looking for dtuart at "s Xen 4.6-unstable
> (XEN) Xen version 4.6-unstable (root@) (arm-linux-gnueabihf-gcc
> (Ubuntu/Linaro 4.7.3-11ubuntu1) 4.7.3) debug=y Mon Apr 11 09:20:25 UTC
> 2016
> (XEN) Latest ChangeSet:
> (XEN) Console output is synchronous.
> (XEN) Processor: 413fc0f3: "ARM Limited", variant: 0x3, part 0xc0f, rev 0x3
> (XEN) 32-bit Execution:
> (XEN)   Processor Features: 00001131:00011011
> (XEN)     Instruction Sets: AArch32 A32 Thumb Thumb-2 ThumbEE Jazelle
> (XEN)     Extensions: GenericTimer Security
> (XEN)   Debug Features: 02010555
> (XEN)   Auxiliary Features: 00000000
> (XEN)   Memory Model Features: 10201105 40000000 01240000 02102211
> (XEN)  ISA Features: 02101110 13112111 21232041 11112131 10011142 00000000
> (XEN) Using PSCI-0.1 for SMP bringup
> (XEN) Generic Timer IRQ: phys=30 hyp=26 virt=27 Freq: 12000 KHz
> (XEN) GICv2 initialization:
> (XEN)         gic_dist_addr=0000000050041000
> (XEN)         gic_cpu_addr=0000000050042000
> (XEN)         gic_hyp_addr=0000000050044000
> (XEN)         gic_vcpu_addr=0000000050046000
> (XEN)         gic_maintenance_irq=25
> (XEN) GICv2: 192 lines, 4 cpus, secure (IID 0000043b).
> (XEN) Using scheduler: SMP Credit Scheduler (credit)
> (XEN) I/O virtualisation disabled
> (XEN) Allocated console ring of 32 KiB.
> (XEN) VFP implementer 0x41 architecture 4 part 0x30 variant 0xf rev 0x0
> (XEN) Bringing up CPU1
> - CPU 00000001 booting -
> - Xen starting in Hyp mode -
> - Setting up control registers -
> - Turning on paging -
> - Ready -
> (XEN) CPU 1 booted.
> (XEN) Bringing up CPU2
> - CPU 00000002 booting -
> - Xen starting in Hyp mode -
> - Setting up control registers -
> - Turning on paging -
> - Ready -
> (XEN) CPU 2 booted.
> (XEN) Bringing up CPU3
> - CPU 00000003 booting -
> - Xen starting in Hyp mode -
> - Setting up control registers -
> - Turning on paging -
> - Ready -
> (XEN) CPU 3 booted.
> (XEN) Brought up 4 CPUs
> (XEN) P2M: 40-bit IPA
> (XEN) P2M: 3 levels with order-1 root, VTCR 0x80003558
> (XEN) *** LOADING DOMAIN 0 ***
> (XEN) Loading kernel from boot module @ 0000000081000000
> (XEN) zImage: no appended dtb
> (XEN) zImage32 Probe successful
> (XEN) Allocating 1:1 mappings totalling 512MB for dom0:
> (XEN) BANK[0] 0x000000a0000000-0x000000c0000000 (512MB)
> (XEN) Additional MMIO 40000-40040 (IRAM)
> (XEN) Additional MMIO 54200-54240 (Display A)
> (XEN) Additional MMIO 54240-54280 (Display B)
> (XEN) Additional MMIO 6000f-60010 (EXCEPTION VECTORS)
> (XEN) Additional MMIO 6000c-6000d (SYSREG)
> (XEN) Additional MMIO 1000-1001 (PCI CFG0)
> (XEN) Additional MMIO 1001-1002 (PCI CFG1)
> (XEN) Additional MMIO 12000-12010 (PCI IO)
> (XEN) Additional MMIO 13000-20000 (PCI MEM)
> (XEN) Additional MMIO 20000-40000 (PCI MEM (PREFETCH))
> (XEN) Additional IRQ 105 (DISPLAY)
> (XEN) TEGRA: Routing IRQ105 to dom0, ICTLR2, mask 0x000200
> (XEN) Additional IRQ 106 (DISPLAY B)
> (XEN) TEGRA: Routing IRQ106 to dom0, ICTLR2, mask 0x000400
> (XEN) Loading zImage from 0000000081000000 to 00000000a7a00000-00000000a7f443f0
> (XEN) Allocating PPI 16 for event channel interrupt
> (XEN) Loading dom0 DTB to 0x00000000a8000000-0x00000000a800f1d0
> (XEN) Scrubbing Free RAM on 1 nodes using 4 CPUs
> (XEN) ....done.
> (XEN) Initial low memory virq threshold set at 0x4000 pages.
> (XEN) Std. Loglevel: All
> (XEN) Guest Loglevel: All
> (XEN) **********************************************
> (XEN) ******* WARNING: CONSOLE OUTPUT IS SYNCHRONOUS
> (XEN) ******* This option is intended to aid debugging of Xen by ensuring
> (XEN) ******* that all output is synchronously delivered on the serial line.
> (XEN) ******* However it can introduce SIGNIFICANT latencies and affect
> (XEN) ******* timekeeping. It is NOT recommended for production use!
> (XEN) **********************************************
> (XEN) 3... 2... 1...
> (XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch
> input to Xen)
> (XEN) Freed 272kB init memory.
> (XEN) DOM0: Uncompressing Linux... done, booting the 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 4.1.0-196898-g2e68ed9-dirty
> (root@ubuntu-server) (gcc version 4.7.3 (Ubuntu/Linaro
> 4.7.3-11ubuntu1) ) #3 SMP PREEMPT Wed Apr 13 08:28:23 UTC 2016
> [    0.000000] CPU: ARMv7 Processor [413fc0f3] revision 3 (ARMv7), cr=30c5387d
> [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
> [    0.000000] Machine model: NVIDIA Tegra124 Jetson TK1
> [    0.000000] cma: Reserved 64 MiB at 0x00000000bc000000
> [    0.000000] Forcing write-allocate cache policy for SMP
> [    0.000000] Memory policy: Data cache writealloc
> [    0.000000] psci: probing for conduit method from DT.
> [    0.000000] psci: PSCIv0.2 detected in firmware.
> [    0.000000] psci: Using standard PSCI v0.2 function IDs
> [    0.000000] PERCPU: Embedded 12 pages/cpu @dbb77000 s19712 r8192
> d21248 u49152
> [    0.000000] Built 1 zonelists in Zone order, mobility grouping on.
> Total pages: 130048
> [    0.000000] Kernel command line: console=hvc0 root=/dev/mmcblk0p1 rw rootwait
> [    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
> [    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
> [    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
> [    0.000000] Memory: 441884K/524288K available (7657K kernel code,
> 634K rwdata, 2584K rodata, 484K init, 383K bss, 16868K reserved,
> 65536K cma-reserved, 0K highmem)
> [    0.000000] Virtual kernel memory layout:
> [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
> [    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
> [    0.000000]     vmalloc : 0xe0800000 - 0xff000000   ( 488 MB)
> [    0.000000]     lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
> [    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
> [    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
> [    0.000000]       .text : 0xc0008000 - 0xc0a08c10   (10244 kB)
> [    0.000000]       .init : 0xc0a09000 - 0xc0a82000   ( 484 kB)
> [    0.000000]       .data : 0xc0a82000 - 0xc0b20bec   ( 635 kB)
> [    0.000000]        .bss : 0xc0b23000 - 0xc0b82ea0   ( 384 kB)
> [    0.000000] Preemptible hierarchical RCU implementation.
> [    0.000000]  Build-time adjustment of leaf fanout to 32.
> [    0.000000] NR_IRQS:16 nr_irqs:16 16
> [    0.000000] /interrupt-controller@60004000: 160 interrupts
> forwarded to /interrupt-controller
> [    0.000000] L2C: failed to init: -19
> [    0.000000] Architected cp15 timer(s) running at 12.00MHz (virt).
> [    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff
> max_cycles: 0x2c47f4ee7, max_idle_ns: 440795202497 ns
> [    0.000005] sched_clock: 56 bits at 12MHz, resolution 83ns, wraps
> every 4398046511096ns
> [    0.000018] Switching to timer-based delay loop, resolution 83ns
> [    0.000500] Console: colour dummy device 80x30
> [    0.000521] Calibrating delay loop (skipped), value calculated
> using timer frequency.. 24.00 BogoMIPS (lpj=120000)
> [    0.000536] pid_max: default: 32768 minimum: 301
> [    0.000948] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
> [    0.000959] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
> [    0.002350] Initializing cgroup subsys freezer
> [    0.002376] Initializing cgroup subsys debug
> [    0.002431] CPU: Testing write buffer coherency: ok
> [    0.002752] /cpus/cpu@0 missing clock-frequency property
> [    0.002794] /cpus/cpu@1 missing clock-frequency property
> [    0.002835] /cpus/cpu@2 missing clock-frequency property
> [    0.002877] /cpus/cpu@3 missing clock-frequency property
> [    0.002890] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
> [    0.003106] Xen 4.6 support found, events_irq=19
> gnttab_frame=0x0000000068000000
> [    0.003265] xen:grant_table: Grant tables using version 1 layout
> [    0.003313] Grant table initialized
> [    0.003378] xen:events: Using FIFO-based ABI
> [    0.003398] Xen: initializing cpu0
> [    0.003496] Setting up static identity map for 0xa0008480 - 0xa0008518
> [    0.020405] Tegra Revision: A01 SKU: 129 CPU Process: 1 Core Process: 1
> [    0.030786] Xen: initializing cpu1
> [    0.030840] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
> [    0.040798] Xen: initializing cpu2
> [    0.040851] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
> [    0.050839] Xen: initializing cpu3
> [    0.050890] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
> [    0.051037] Brought up 4 CPUs
> [    0.051063] SMP: Total of 4 processors activated (96.00 BogoMIPS).
> [    0.051071] CPU: All CPU(s) started in SVC mode.
> [    0.052162] devtmpfs: initialized
> [    0.100284] VFP support v0.3: implementor 41 architecture 4 part 30
> variant f rev 0
> [    0.101016] clocksource: jiffies: mask: 0xffffffff max_cycles:
> 0xffffffff, max_idle_ns: 19112604462750000 ns
> [    0.103189] pinctrl core: initialized pinctrl subsystem
> [    0.105124] NET: Registered protocol family 16
> [    0.106377] DMA: preallocated 256 KiB pool for atomic coherent allocations
> [    0.108915] xen:swiotlb_xen: Warning: only able to allocate 4 MB
> for software IO TLB
> [    0.110050] software IO TLB [mem 0xbac00000-0xbb000000] (4MB)
> mapped at [dac00000-daffffff]
> [    0.133440] hw-breakpoint: Failed to enable monitor mode on CPU 1.
> [    0.183494] xen:balloon: Initialising balloon driver
> [    0.184060] xen_balloon: Initialising balloon driver
> [    0.187333] +USB0_VBUS_SW: Failed to request enable GPIO108: -517
> [    0.187556] reg-fixed-voltage regulators:regulator@7: Failed to
> register regulator: -517
> [    0.188011] +5V_USB_HS: Failed to request enable GPIO109: -517
> [    0.188224] reg-fixed-voltage regulators:regulator@8: Failed to
> register regulator: -517
> [    0.188785] +1.05V_RUN_AVDD_HDMI_PLL: Failed to request enable GPIO63: -517
> [    0.188995] reg-fixed-voltage regulators:regulator@11: Failed to
> register regulator: -517
> [    0.189447] +5V_HDMI_CON: Failed to request enable GPIO86: -517
> [    0.189655] reg-fixed-voltage regulators:regulator@12: Failed to
> register regulator: -517
> [    0.190105] +5V_SATA: Failed to request enable GPIO242: -517
> [    0.190352] reg-fixed-voltage regulators:regulator@13: Failed to
> register regulator: -517
> [    0.190806] +12V_SATA: Failed to request enable GPIO242: -517
> [    0.191013] reg-fixed-voltage regulators:regulator@14: Failed to
> register regulator: -517
> [    0.192568] arm-lpae io-pgtable: selftest: pgsize_bitmap 0x40201000, IAS 32
> [    0.192786] arm-lpae io-pgtable: selftest: pgsize_bitmap 0x40201000, IAS 36
> [    0.192994] arm-lpae io-pgtable: selftest: pgsize_bitmap 0x40201000, IAS 40
> [    0.193217] arm-lpae io-pgtable: selftest: pgsize_bitmap 0x40201000, IAS 42
> [    0.193467] arm-lpae io-pgtable: selftest: pgsize_bitmap 0x40201000, IAS 44
> [    0.193673] arm-lpae io-pgtable: selftest: pgsize_bitmap 0x40201000, IAS 48
> [    0.193892] arm-lpae io-pgtable: selftest: pgsize_bitmap 0x02004000, IAS 32
> [    0.194553] arm-lpae io-pgtable: selftest: pgsize_bitmap 0x02004000, IAS 36
> [    0.195292] arm-lpae io-pgtable: selftest: pgsize_bitmap 0x02004000, IAS 40
> [    0.195949] arm-lpae io-pgtable: selftest: pgsize_bitmap 0x02004000, IAS 42
> [    0.196604] arm-lpae io-pgtable: selftest: pgsize_bitmap 0x02004000, IAS 44
> [    0.197262] arm-lpae io-pgtable: selftest: pgsize_bitmap 0x02004000, IAS 48
> [    0.197974] arm-lpae io-pgtable: selftest: pgsize_bitmap 0x20010000, IAS 32
> [    0.200524] arm-lpae io-pgtable: selftest: pgsize_bitmap 0x20010000, IAS 36
> [    0.203036] arm-lpae io-pgtable: selftest: pgsize_bitmap 0x20010000, IAS 40
> [    0.205604] arm-lpae io-pgtable: selftest: pgsize_bitmap 0x20010000, IAS 42
> [    0.208285] arm-lpae io-pgtable: selftest: pgsize_bitmap 0x20010000, IAS 44
> [    0.210797] arm-lpae io-pgtable: selftest: pgsize_bitmap 0x20010000, IAS 48
> [    0.213295] arm-lpae io-pgtable: selftest: completed with 18 PASS 0 FAIL
> [    0.214020] vgaarb: loaded
> [    0.215731] SCSI subsystem initialized
> [    0.216928] usbcore: registered new interface driver usbfs
> [    0.217108] usbcore: registered new interface driver hub
> [    0.217316] usbcore: registered new device driver usb
> [    0.221769] Linux video capture interface: v2.00
> [    0.221900] pps_core: LinuxPPS API ver. 1 registered
> [    0.221908] pps_core: Software ver. 5.3.6 - Copyright 2005-2007
> Rodolfo Giometti <giometti@linux.it>
> [    0.221980] PTP clock support registered
> [    0.223885] Advanced Linux Sound Architecture Driver Initialized.
> [    0.225412] Bluetooth: Core ver 2.20
> [    0.225493] NET: Registered protocol family 31
> [    0.225502] Bluetooth: HCI device and connection manager initialized
> [    0.225533] Bluetooth: HCI socket layer initialized
> [    0.225555] Bluetooth: L2CAP socket layer initialized
> [    0.225611] Bluetooth: SCO socket layer initialized
> [    0.226236] cfg80211: Calling CRDA to update world regulatory domain
> [    0.227195] clocksource: Switched to clocksource arch_sys_counter
> [    0.362983] NET: Registered protocol family 2
> [    0.364477] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
> [    0.364539] TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
> [    0.364637] TCP: Hash tables configured (established 4096 bind 4096)
> [    0.364907] UDP hash table entries: 256 (order: 1, 8192 bytes)
> [    0.364935] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
> [    0.365428] NET: Registered protocol family 1
> [    0.366382] RPC: Registered named UNIX socket transport module.
> [    0.366392] RPC: Registered udp transport module.
> [    0.366399] RPC: Registered tcp transport module.
> [    0.366406] RPC: Registered tcp NFSv4.1 backchannel transport module.
> [    0.370824] futex hash table entries: 1024 (order: 4, 65536 bytes)
> [    0.374618] squashfs: version 4.0 (2009/01/31) Phillip Lougher
> [    0.383547] io scheduler noop registered (default)
> [    0.394250] tegra-pcie 1003000.pcie-controller: 2x1, 1x1 configuration
> [    0.394303] tegra-pcie 1003000.pcie-controller: Failed to get
> supply 'avddio-pex': -517
> [    0.406173] tegra-apbdma 60020000.dma: Tegra20 APB DMA driver
> register 32 channels
> [    0.406682] tegra-pmc 7000e400.pmc: emergency thermal reset enabled
> [    0.408157] xen:xen_evtchn: Event-channel device installed
> [    1.317385] console [hvc0] enabled
> [    1.320937] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
> [    1.333011] [drm] Initialized drm 1.1.0 20060810
> [    1.368145] tegra-hdmi 54280000.hdmi: failed to get HDMI regulator
> [    1.388139] loop: module loaded
> [    1.390403] at24 0-0056: 256 byte 24c02 EEPROM, writable, 8 bytes/write
> [    2.387235] tegra-i2c 7000d000.i2c: i2c transfer timed out

On my Jetson TK1 board, it starts to fail at this as well, although
the log is not exactly the same. I guess that's because we may use
different .config file for the same linux repo..

> [    2.390845] as3722 4-0040: ASIC_ID1 read failed: -110
> [    2.396044] as3722: probe of 4-0040 failed with error -110
> [    2.402569] tegra-ahci 70027000.sata: Failed to get supply 'avdd': -517
> [    2.408180] tegra-ahci 70027000.sata: Failed to get regulators
> [    3.387251] cfg80211: Calling CRDA to update world regulatory domain
> [    3.417234] ------------[ cut here ]------------
> [    3.419967] WARNING: CPU: 1 PID: 1 at
> drivers/spi/spi-tegra114.c:838
> tegra_spi_transfer_one_message+0x410/0x438()
> [    3.430302] Modules linked in:
> [    3.433392] CPU: 1 PID: 1 Comm: swapper/0 Not tainted
> 4.1.0-196898-g2e68ed9-dirty #3
> [    3.441203] Hardware name: NVIDIA Tegra SoC (Flattened Device Tree)
> [    3.447560] [<c00177d8>] (unwind_backtrace) from [<c0013040>]
> (show_stack+0x10/0x14)
> [    3.455327] [<c0013040>] (show_stack) from [<c073b7e8>]
> (dump_stack+0x84/0xd0)
> [    3.462622] [<c073b7e8>] (dump_stack) from [<c0028b84>]
> (warn_slowpath_common+0x78/0xb4)
> [    3.470766] [<c0028b84>] (warn_slowpath_common) from [<c0028bdc>]
> (warn_slowpath_null+0x1c/0x24)
> [    3.479606] [<c0028bdc>] (warn_slowpath_null) from [<c03ed068>]
> (tegra_spi_transfer_one_message+0x410/0x438)
> [    3.489485] [<c03ed068>] (tegra_spi_transfer_one_message) from
> [<c03e9d68>] (__spi_pump_messages+0x36c/0x674)
> [    3.499462] [<c03e9d68>] (__spi_pump_messages) from [<c03ea194>]
> (__spi_sync+0x124/0x1a8)
> [    3.507701] [<c03ea194>] (__spi_sync) from [<c03ea2ec>]
> (spi_write_then_read+0xc4/0x174)
> [    3.515814] [<c03ea2ec>] (spi_write_then_read) from [<c03e6904>]
> (m25p80_read_reg+0x34/0x64)
> [    3.524321] [<c03e6904>] (m25p80_read_reg) from [<c03e6fec>]
> (spi_nor_read_id+0x20/0xa8)
> [    3.532483] [<c03e6fec>] (spi_nor_read_id) from [<c03e7ac8>]
> (spi_nor_scan+0x2a8/0x80c)
> [    3.540524] [<c03e7ac8>] (spi_nor_scan) from [<c03e6840>]
> (m25p_probe+0xb0/0x140)
> [    3.548065] [<c03e6840>] (m25p_probe) from [<c03e96c8>]
> (spi_drv_probe+0x5c/0x74)
> [    3.555600] [<c03e96c8>] (spi_drv_probe) from [<c037db44>]
> (driver_probe_device+0x1c8/0x26c)
> [    3.564106] [<c037db44>] (driver_probe_device) from [<c037c244>]
> (bus_for_each_drv+0x44/0x8c)
> [    3.572684] [<c037c244>] (bus_for_each_drv) from [<c037d904>]
> (__device_attach+0x88/0xd8)
> [    3.580917] [<c037d904>] (__device_attach) from [<c037d0bc>]
> (bus_probe_device+0x84/0x8c)
> [    3.589149] [<c037d0bc>] (bus_probe_device) from [<c037b5fc>]
> (device_add+0x33c/0x524)
> [    3.597110] [<c037b5fc>] (device_add) from [<c03e9540>]
> (spi_add_device+0x88/0x130)
> [    3.604835] [<c03e9540>] (spi_add_device) from [<c03eab64>]
> (of_register_spi_device+0x208/0x2f8)
> [    3.613676] [<c03eab64>] (of_register_spi_device) from [<c03eb034>]
> (spi_register_master+0x214/0x444)
> [    3.622950] [<c03eb034>] (spi_register_master) from [<c03eb290>]
> (devm_spi_register_master+0x2c/0x68)
> [    3.632222] [<c03eb290>] (devm_spi_register_master) from
> [<c03ebdc8>] (tegra_spi_probe+0x29c/0x350)
> [    3.641322] [<c03ebdc8>] (tegra_spi_probe) from [<c037f230>]
> (platform_drv_probe+0x48/0xa4)
> [    3.649728] [<c037f230>] (platform_drv_probe) from [<c037db44>]
> (driver_probe_device+0x1c8/0x26c)
> [    3.658671] [<c037db44>] (driver_probe_device) from [<c037dc74>]
> (__driver_attach+0x8c/0x90)
> [    3.667135] [<c037dc74>] (__driver_attach) from [<c037c2e0>]
> (bus_for_each_dev+0x54/0x88)
> [    3.675382] [<c037c2e0>] (bus_for_each_dev) from [<c037d2a0>]
> (bus_add_driver+0xe8/0x1f4)
> [    3.683622] [<c037d2a0>] (bus_add_driver) from [<c037e6a0>]
> (driver_register+0x78/0xf4)
> [    3.691693] [<c037e6a0>] (driver_register) from [<c00096c4>]
> (do_one_initcall+0x80/0x1d0)
> [    3.699908] [<c00096c4>] (do_one_initcall) from [<c0a09dc8>]
> (kernel_init_freeable+0x110/0x1dc)
> [    3.708663] [<c0a09dc8>] (kernel_init_freeable) from [<c0736770>]
> (kernel_init+0x8/0xec)
> [    3.716795] [<c0736770>] (kernel_init) from [<c000fde8>]
> (ret_from_fork+0x14/0x2c)
> [    3.724439] ---[ end trace e92698c5376bfefb ]---
> [    3.729108] spi-tegra114 7000da00.spi: spi trasfer timeout, err 0
> [    3.735272] spi_master spi32765: failed to transfer one message from queue
> [    3.742195] m25p80 spi32765.0: error -5 reading 9f
> [    3.747049] m25p80: probe of spi32765.0 failed with error -5
> [    3.754768] CAN device driver interface
> [    3.756829] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.2.15-k
> [    3.763827] igb: Copyright (c) 2007-2014 Intel Corporation.
> [    3.769830] xen_netfront: Initialising Xen virtual ethernet driver
> [    3.776009] pegasus: v0.9.3 (2013/04/25), Pegasus/Pegasus II USB
> Ethernet driver
> [    3.783289] usbcore: registered new interface driver pegasus
> [    3.789058] usbcore: registered new interface driver asix
> [    3.794455] usbcore: registered new interface driver ax88179_178a
> [    3.800637] usbcore: registered new interface driver cdc_ether
> [    3.806555] usbcore: registered new interface driver smsc75xx
> [    3.812372] usbcore: registered new interface driver smsc95xx
> [    3.818129] usbcore: registered new interface driver net1080
> [    3.823837] usbcore: registered new interface driver cdc_subset
> [    3.829849] usbcore: registered new interface driver zaurus
> [    3.835520] usbcore: registered new interface driver cdc_ncm
> [    3.841358] tegra-phy 7d004000.usb-phy: no vbus regulator
> [    3.847023] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
> [    3.853106] ehci-pci: EHCI PCI platform driver
> [    3.857735] tegra-ehci: Tegra EHCI driver
> [    3.862029] tegra-ehci 7d004000.usb: EHCI Host Controller
> [    3.867164] tegra-ehci 7d004000.usb: new USB bus registered,
> assigned bus number 1
> [    3.875088] tegra-ehci 7d004000.usb: irq 342, io mem 0x7d004000
> [    3.897244] tegra-ehci 7d004000.usb: USB 2.0 started, EHCI 1.10
> [    3.903016] hub 1-0:1.0: USB hub found
> [    3.905146] hub 1-0:1.0: 1 port detected
> [    3.910543] usbcore: registered new interface driver cdc_acm
> [    3.914781] cdc_acm: USB Abstract Control Model driver for USB
> modems and ISDN adapters
> [    3.923002] usbcore: registered new interface driver cdc_wdm
> [    3.928802] usbcore: registered new interface driver usb-storage
> [    3.935427] mousedev: PS/2 mouse device common for all mice
> [    3.943355] tegra_rtc 7000e000.rtc: rtc core: registered 7000e000.rtc as rtc1
> [    3.948720] tegra_rtc 7000e000.rtc: Tegra internal Real Time Clock
> [    3.955257] i2c /dev entries driver
> [    3.960738] usbcore: registered new interface driver uvcvideo
> [    3.964583] USB Video Class driver (1.1.1)
> [    3.968790] gspca_main: v2.14.0 registered
> [    3.973727] 0-004c supply vcc not found, using dummy regulator
> [    4.977235] tegra-i2c 7000c000.i2c: i2c transfer timed out
> [    4.980846] lm90 0-004c: Register 0x4 read failed (-110)
> [    4.986196] lm90 0-004c: Failed to read convrate register!
> [    5.987234] tegra-i2c 7000c000.i2c: i2c transfer timed out
> [    6.547246] cfg80211: Calling CRDA to update world regulatory domain
> [    6.987237] tegra-i2c 7000c000.i2c: i2c transfer timed out
> [    6.990842] lm90 0-004c: Register 0x3 read failed (-110)
> [    6.996198] lm90 0-004c: Initialization failed!
> [    7.002041] sdhci: Secure Digital Host Controller Interface driver
> [    7.007027] sdhci: Copyright(c) Pierre Ossman
> [    7.011481] sdhci-pltfm: SDHCI platform and OF driver helper
> [    7.017580] sdhci-tegra 700b0400.sdhci: Got CD GPIO
> [    7.022128] sdhci-tegra 700b0400.sdhci: Got WP GPIO
> [    7.027105] mmc0: Unknown controller version (3). You may
> experience problems.
> [    7.034491] sdhci-tegra 700b0400.sdhci: No vmmc regulator found
> [    7.040550] mmc0: Unknown controller version (3). You may
> experience problems.
> [    7.047721] sdhci-tegra 700b0600.sdhci: No vmmc regulator found
> [    7.053570] sdhci-tegra 700b0600.sdhci: No vqmmc regulator found
> [    7.059654] mmc0: Invalid maximum block size, assuming 512 bytes
> [    7.117253] mmc0: SDHCI controller on 700b0600.sdhci
> [700b0600.sdhci] using ADMA 64-bit
> [    7.124468] usbcore: registered new interface driver usbhid
> [    7.128999] usbhid: USB HID core driver
> [    8.537237] tegra-i2c 7000c000.i2c: i2c transfer timed out
> [    8.540847] rt5640 0-001c: Device with ID register c0af9d34 is not rt5640/39
> [    8.551341] tegra30-i2s 70301100.i2s: DMA channels sourced from
> device 70300000.ahub
> [    8.557838] tegra-snd-rt5640 sound: ASoC: CODEC DAI rt5640-aif1 not
> registered
> [    8.564464] tegra-snd-rt5640 sound: snd_soc_register_card failed (-517)
> [    8.573237] NET: Registered protocol family 10
> [    8.577517] mip6: Mobile IPv6
> [    8.578820] sit: IPv6 over IPv4 tunneling driver
> [    8.586541] NET: Registered protocol family 17
> [    8.589192] NET: Registered protocol family 15
> [    8.593603] can: controller area network core (rev 20120528 abi 9)
> [    8.600037] NET: Registered protocol family 29
> [    8.604351] can: raw protocol (rev 20120528)
> [    8.608697] can: broadcast manager protocol (rev 20120528 t)
> [    8.614418] can: netlink gateway (rev 20130117) max_hops=1
> [    8.620197] Bluetooth: RFCOMM socket layer initialized
> [    8.625156] Bluetooth: RFCOMM ver 1.11
> [    8.628991] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
> [    8.634341] Bluetooth: BNEP socket layer initialized
> [    8.639374] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
> [    8.645349] Bluetooth: HIDP socket layer initialized
> [    8.650678] Registering SWP/SWPB emulation handler
> [    8.661218] tegra-pcie 1003000.pcie-controller: 2x1, 1x1 configuration
> [    8.665886] tegra-pcie 1003000.pcie-controller: Failed to get
> supply 'avddio-pex': -517
> [    8.674354] +5V_SYS: supplied by +VDD_MUX
> [    8.678090] +5V_HDMI_CON: supplied by +5V_SYS
> [    8.682576] reg-fixed-voltage regulators:regulator@11: Failed to
> resolve vin-supply for +1.05V_RUN_AVDD_HDMI_PLL
> [    8.692649] tegra-hdmi 54280000.hdmi: failed to get PLL regulator
> [    8.699325] tegra-ahci 70027000.sata: Failed to get supply 'avdd': -517
> [    8.705454] tegra-ahci 70027000.sata: Failed to get regulators
> [    8.711824] +5V_USB_HS: supplied by +5V_SYS
> [    8.716182] tegra-ehci 7d008000.usb: EHCI Host Controller
> [    8.721165] tegra-ehci 7d008000.usb: new USB bus registered,
> assigned bus number 2
> [    8.729155] tegra-ehci 7d008000.usb: irq 343, io mem 0x7d008000
> [    8.747246] tegra-ehci 7d008000.usb: USB 2.0 started, EHCI 1.10
> [    8.753009] hub 2-0:1.0: USB hub found
> [    8.755139] hub 2-0:1.0: 1 port detected
> [    8.760236] sdhci-tegra 700b0400.sdhci: Got CD GPIO
> [    8.764021] sdhci-tegra 700b0400.sdhci: Got WP GPIO
> [    8.769021] mmc1: Unknown controller version (3). You may
> experience problems.
> [    8.776370] sdhci-tegra 700b0400.sdhci: No vmmc regulator found
> [    8.782726] tegra-snd-rt5640 sound: ASoC: CODEC DAI rt5640-aif1 not
> registered
> [    8.789521] tegra-snd-rt5640 sound: snd_soc_register_card failed (-517)
> [    8.796977] tegra-pcie 1003000.pcie-controller: 2x1, 1x1 configuration
> [    8.802818] tegra-pcie 1003000.pcie-controller: Failed to get
> supply 'avddio-pex': -517
> [    8.811291] reg-fixed-voltage regulators:regulator@11: Failed to
> resolve vin-supply for +1.05V_RUN_AVDD_HDMI_PLL
> [    8.821048] tegra-hdmi 54280000.hdmi: failed to get PLL regulator
> [    8.827691] tegra-ahci 70027000.sata: Failed to get supply 'avdd': -517
> [    8.833857] tegra-ahci 70027000.sata: Failed to get regulators
> [    8.840805] input: gpio-keys as /devices/soc0/gpio-keys/input/input0
> [    8.846820] hctosys: unable to open rtc device (rtc0)
> [    8.847331] sdhci-tegra 700b0400.sdhci: Got CD GPIO
> [    8.847369] sdhci-tegra 700b0400.sdhci: Got WP GPIO
> [    8.847471] mmc1: Unknown controller version (3). You may
> experience problems.
> [    8.851403] sdhci-tegra 700b0400.sdhci: No vmmc regulator found
> [    8.852328] tegra-snd-rt5640 sound: ASoC: CODEC DAI rt5640-aif1 not
> registered
> [    8.852340] tegra-snd-rt5640 sound: snd_soc_register_card failed (-517)
> [    8.854009] tegra-pcie 1003000.pcie-controller: 2x1, 1x1 configuration
> [    8.854062] tegra-pcie 1003000.pcie-controller: Failed to get
> supply 'avddio-pex': -517
> [    8.855019] reg-fixed-voltage regulators:regulator@11: Failed to
> resolve vin-supply for +1.05V_RUN_AVDD_HDMI_PLL
> [    8.855030] tegra-hdmi 54280000.hdmi: failed to get PLL regulator
> [    8.856050] tegra-ahci 70027000.sata: Failed to get supply 'avdd': -517
> [    8.856059] tegra-ahci 70027000.sata: Failed to get regulators
> [    8.951051] +12V_SATA: disabling
> [    8.952391] +5V_SATA: disabling
> [    8.955596] +5V_HDMI_CON: disabling
> [    8.959166] +1.05V_RUN_AVDD_HDMI_PLL: disabling
> [    8.963742] +USB0_VBUS_SW: disabling
> [    8.967400] +3.3V_AVDD_HDMI_
>

The last several dom0 log messages are:

[    5.398512] sdhci: Copyright(c) Pierre Ossman

6sdhci-pltfm: SDHCI platform and OF driver helper

[    5.398574] sdhci-pltfm: SDHCI platform and OF driver helper

sdhci-tegra 700b0400.sdhci: Got CD GPIO

[    5.399032] sdhci-tegra 700b0400.sdhci: Got CD GPIO

sdhci-tegra 700b0400.sdhci: Got WP GPIO

[    5.399109] sdhci-tegra 700b0400.sdhci: Got WP GPIO

3mmc0: Unknown controller version (3). You may experience problems.

[    5.399231] mmc0: Unknown controller version (3). You may
experience problems.

sdhci-tegra 700b0400.sdhci: No vmmc regulator found

[    5.399443] sdhci-tegra 700b0400.sdhci: No vmmc regulator found

3mmc0: Unknown controller version (3). You may experience problems.

[    5.399731] mmc0: Unknown controller version (3). You may
experience problems.

sdhci-tegra 700b0600.sdhci: No vmmc regulator found

[    5.399868] sdhci-tegra 700b0600.sdhci: No vmmc regulator found

sdhci-tegra 700b0600.sdhci: No vqmmc regulator found

[    5.399931] sdhci-tegra 700b0600.sdhci: No vqmmc regulator found

4mmc0: Invalid maximum block size, assuming 512 bytes

[    5.399993] mmc0: Invalid maximum block size, assuming 512 bytes

6mmc0: SDHCI controller on 700b0600.sdhci [700b0600.sdhci] using ADMA 64-bit

[    5.446794] mmc0: SDHCI controller on 700b0600.sdhci
[700b0600.sdhci] using ADMA 64-bit

6usbcore: registered new interface driver usbhid

[    5.448020] usbcore: registered new interface driver usbhid

6usbhid: USB HID core driver

[    5.448075] usbhid: USB HID core driver

6cfg80211: Calling CRDA to update world regulatory domain

[    6.536872] cfg80211: Calling CRDA to update world regulatory domain

tegra-hda 70030000.hda: azx_get_response timeout, switching to polling
mode: last cmd=0x300f0001

[    8.526885] tegra-hda 70030000.hda: azx_get_response timeout,
switching to polling mode: last cmd=0x300f0001

6input: tegra-hda HDMI/DP,pcm=3 as /devices/soc0/70030000.hda/sound/card0/input0

[    8.968688] input: tegra-hda HDMI/DP,pcm=3 as
/devices/soc0/70030000.hda/sound/card0/input0

6cfg80211: Calling CRDA to update world regulatory domain

[    9.696855] cfg80211: Calling CRDA to update world regulatory domain

tegra-i2c 7000c000.i2c:

----
From Dushyant's log, I saw the "tegra-i2c 7000c000.i2c:" will finally
time out. However, in my case, I didn't see the time out happens.

Thanks and Best Regards,

Meng
-----------
Meng Xu
PhD Student in Computer and Information Science
University of Pennsylvania
http://www.cis.upenn.edu/~mengxu/

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Running Xen on Nvidia Jetson-TK1
  2016-05-14 18:37                           ` Meng Xu
@ 2016-05-14 18:58                             ` Dushyant Behl
  0 siblings, 0 replies; 31+ messages in thread
From: Dushyant Behl @ 2016-05-14 18:58 UTC (permalink / raw)
  To: Meng Xu
  Cc: Wei Liu, Stefano Stabellini, Dushyant K Behl, Xen Devel, Julien Grall

On Sun, May 15, 2016 at 12:07 AM, Meng Xu <mengxu@cis.upenn.edu> wrote:
>>> some facilities to blacklist a device tree node (see blacklist dev in
>>> arm/platforms/tegra.c).
>>
>> I have blacklisted the tegra20_timer
>
> I guess you blocked the "tegra20-timer" (which uses "-" instead of
> "_") right as shown in the following patch? Am I right?

That was a typo in the email but I had blocked the correct timer, without
blacklisting the tegra timer the linux only boots to a few steps and
fails, in my next
bootlog linux booted a lot further and then failed due to some other reason.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Running Xen on Nvidia Jetson-TK1
  2016-05-14 18:43                                           ` Meng Xu
@ 2016-05-14 19:03                                             ` Dushyant Behl
  0 siblings, 0 replies; 31+ messages in thread
From: Dushyant Behl @ 2016-05-14 19:03 UTC (permalink / raw)
  To: Meng Xu
  Cc: sstabellini, Wei Liu, Dushyant K Behl, Stefano Stabellini,
	Xen Devel, Julien Grall, Ian Campbell

On Sun, May 15, 2016 at 12:13 AM, Meng Xu <mengxu@cis.upenn.edu> wrote:
> But I have a quick  question:
> With the following kernel booting log, did your dom0 boot up successfully?
> I mean, can you log into your dom0 now?

No, I was not able to boot the dom0 kernel successfully hence I was
not able to login into the dom0 linux.

Thanks,
Dushyant

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 31+ messages in thread

end of thread, other threads:[~2016-05-14 19:03 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-03-08  8:23 Running Xen on Nvidia Jetson-TK1 Dushyant K Behl
2016-03-09 13:37 ` Wei Liu
2016-03-10  5:08   ` Julien Grall
2016-03-12 14:20     ` Dushyant Behl
2016-03-12 15:27       ` Meng Xu
2016-03-12 20:23         ` Dushyant Behl
2016-03-13  2:10           ` Meng Xu
2016-03-14  9:31             ` Dushyant Behl
2016-03-14 14:12               ` Konrad Rzeszutek Wilk
2016-03-14 14:19                 ` Dushyant Behl
2016-03-17 14:52                   ` Julien Grall
2016-03-18 15:01                     ` Dushyant Behl
2016-03-18 17:23                       ` Julien Grall
2016-03-21 10:12                         ` Dushyant Behl
2016-03-24 11:05                           ` Dushyant Behl
2016-03-29 19:01                             ` Julien Grall
2016-03-29 20:56                               ` Dushyant Behl
2016-04-01 10:04                                 ` Julien Grall
2016-04-07  7:48                                   ` Dushyant Behl
2016-04-08 10:10                                     ` Julien Grall
2016-04-08 12:27                                       ` Ian Campbell
2016-04-14 15:54                                         ` Dushyant Behl
2016-05-14 18:43                                           ` Meng Xu
2016-05-14 19:03                                             ` Dushyant Behl
2016-05-14  2:09                                       ` Meng Xu
2016-05-14 17:36                                         ` Dushyant Behl
2016-05-14 18:34                                           ` Meng Xu
2016-05-14 18:37                           ` Meng Xu
2016-05-14 18:58                             ` Dushyant Behl
2016-05-12  1:00 ` Meng Xu
2016-05-12  9:19   ` Dushyant Behl

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).