This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM572x Linux hangs after starting second CPU

Other Parts Discussed in Thread: BEAGLEBOARD-X15, DRA752, AM5728, PMP, DRA742, TPS51200, TPD12S015, TLV320AIC3104, TMP102

Hello there,

at the moment i'm working with an AM5728AABCxx-PG1.1 on a custom board. (Before that, i was working with a BeagleBoard-x15 to verify some stuff, and to make friend with the new linux-kernel...)

I am using Linux-4.1.13 and U-Boot 2016.05

The problem is: my linux kernel hangs after trying to bring up the second cpu.

U-Boot SPL 2016.05-dirty (Jul 06 2016 - 16:11:14)
DRA752 ES1.1
Trying to boot from MMC1
reading args
spl_load_image_fat_os: error reading image args, err - -1
reading u-boot.img
reading u-boot.img


U-Boot 2016.05-dirty (Jul 06 2016 - 16:11:14 +0200)

CPU  : DRA752 ES1.1
Model: TI AM5728 BeagleBoard-X15
Board: UNKNOWN(BeagleBoard X15?) REV UNKNOWN
I2C:   ready
DRAM:  1 GiB
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
reading uboot.env

** Unable to read "uboot.env" from mmc0:1 **
Using default environment

i2c_write: error waiting for addr ACK (status=0x116)
SCSI:  SATA link 0 timeout.
AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl SATA mode
flags: 64bit ncq stag pm led clo only pmp pio slum part ccc apst
scanning bus for devices...
Found 0 device(s).
Net:   emif_status: 40000004
dmm_lisa_hwinfo: 204
<ethaddr> not set. Validating first E-fuse MAC
cpsw
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc0 is current device
SD/MMC found on device 0
reading boot.scr
** Unable to read file boot.scr **
reading uEnv.txt
129 bytes read in 7 ms (17.6 KiB/s)
Loaded env from uEnv.txt
Importing environment from mmc0 ...
Booting from network ...
cpsw Waiting for PHY auto negotiation to complete....... done
link up on port 0, speed 1000, full duplex
Using cpsw device
TFTP from server 192.168.3.23; our IP address is 192.168.3.120
Filename 'zImage'.
Load address: 0x82000000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ###########################################################
         429.7 KiB/s
done
Bytes transferred = 2630736 (282450 hex)
link up on port 0, speed 1000, full duplex
Using cpsw device
TFTP from server 192.168.3.23; our IP address is 192.168.3.120
Filename 'FPC57.dtb'.
Load address: 0x88000000
Loading: ##################
         3 MiB/s
done
Bytes transferred = 90036 (15fb4 hex)
Kernel image @ 0x82000000 [ 0x000000 - 0x282450 ]
## Flattened Device Tree blob at 88000000
   Booting using the fdt blob at 0x88000000
   Loading Device Tree to 8ffe7000, end 8fffffb3 ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 4.1.13-g8dc6617 (fpc@VSRV-ENTW-FPC57-TK) (gcc version 5.2.1 20151005 (Linaro GCC 5.2-2015.11-2) ) #61 SMP PREEMPT Fri Jul 8 18:14:11 CEST 2016
[    0.000000] CPU: ARMv7 Processor [412fc0f2] revision 2 (ARMv7), cr=10c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
[    0.000000] Machine model: TI AM572x EVM
[    0.000000] bootconsole [earlycon0] enabled
[    0.000000] Reserved memory: created CMA memory pool at 0x95800000, size 56 MiB
[    0.000000] Reserved memory: initialized node ipu2_cma@95800000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created CMA memory pool at 0x99000000, size 64 MiB
[    0.000000] Reserved memory: initialized node dsp1_cma@99000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created CMA memory pool at 0x9d000000, size 32 MiB
[    0.000000] Reserved memory: initialized node ipu1_cma@9d000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created CMA memory pool at 0x9f000000, size 8 MiB
[    0.000000] Reserved memory: initialized node dsp2_cma@9f000000, compatible id shared-dma-pool
[    0.000000] cma: Reserved 16 MiB at 0xbe800000
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] DRA752 ES1.1
[    0.000000] PERCPU: Embedded 12 pages/cpu @eee2a000 s17280 r8192 d23680 u49152
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 210770
[    0.000000] Kernel command line: console=ttyS2,115200n8 earlyprintk=serial,uart3,115200 root=/dev/nfs nfsroot=192.168.3.23:/export/rootfs,nolock rw ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off
[    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Memory: 645136K/849920K available (5023K kernel code, 277K rwdata, 1516K rodata, 292K init, 8211K bss, 24560K reserved, 180224K cma-reserved, 251904K highmem)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc066afa4   (6540 kB)
[    0.000000]       .init : 0xc066b000 - 0xc06b4000   ( 292 kB)
[    0.000000]       .data : 0xc06b4000 - 0xc06f9660   ( 278 kB)
[    0.000000]        .bss : 0xc06fc000 - 0xc0f00d84   (8212 kB)
[    0.000000] Running RCU self tests
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000]  RCU lockdep checking is enabled.
[    0.000000]  Additional per-CPU info printed with stalls.
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000000] OMAP clockevent source: timer1 at 32768 Hz
[    0.000000] clocksource 32k_counter: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 58327039986419 ns
[    0.000030] sched_clock: 32 bits at 32kHz, resolution 30517ns, wraps every 65535999984741ns
[    0.008666] OMAP clocksource: 32k_counter at 32768 Hz
[    0.014465] Architected cp15 timer(s) running at 6.14MHz (virt).
[    0.020751] clocksource arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x16af5adb9, max_idle_ns: 440795202250 ns
[    0.031804] sched_clock: 56 bits at 6MHz, resolution 162ns, wraps every 4398046511023ns
[    0.040105] Switching to timer-based delay loop, resolution 162ns
[    0.047400] Console: colour dummy device 80x30
[    0.052079] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
[    0.060124] ... MAX_LOCKDEP_SUBCLASSES:  8
[    0.064424] ... MAX_LOCK_DEPTH:          48
[    0.068811] ... MAX_LOCKDEP_KEYS:        8191
[    0.073376] ... CLASSHASH_SIZE:          4096
[    0.077941] ... MAX_LOCKDEP_ENTRIES:     32768
[    0.082594] ... MAX_LOCKDEP_CHAINS:      65536
[    0.087248] ... CHAINHASH_SIZE:          32768
[    0.091901]  memory used by lock dependency info: 5167 kB
[    0.097535]  per task-struct memory footprint: 1152 bytes
[    0.103185] Calibrating delay loop (skipped), value calculated using timer frequency.. 12.29 BogoMIPS (lpj=24590)
[    0.113822] pid_max: default: 32768 minimum: 301
[    0.119044] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.125941] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.135088] Initializing cgroup subsys blkio
[    0.139595] Initializing cgroup subsys memory
[    0.144222] Initializing cgroup subsys devices
[    0.148922] Initializing cgroup subsys freezer
[    0.153669] CPU: Testing write buffer coherency: ok
[    0.159556] /cpus/cpu@0 missing clock-frequency property
[    0.165158] /cpus/cpu@1 missing clock-frequency property
[    0.170716] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.176671] Setting up static identity map for 0x80008340 - 0x80008398

at this moment the system becomes unpredictable. Sometimes it ends up in __dabt_svc, sometimes in a spinlock, sometimes it's unable to handle a kernel paging request.

So what can i do now?

/cpus/cpu@0 missing clock-frequency property
/cpus/cpu@1 missing clock-frequency property

Those two lines are bewildering me a bit. As a device-tree i'm using a customized version of the "am57xx-beagle-x15.dtb"

Therefore the CPU-frequencies should be known from "clocks = <&dpll_mpu_ck>" in the file "dra74x.dtsi".

Anyways, here's the rest of the log (don't mind my DEBUG messages):


[    0.200150] DEBUG: start cpu_up()
[    0.203371] DEBUG: start _cpu_up(1)
[    0.211952] DEBUG: start __cpu_notify
[    0.215836] DEBUG: call __raw_notifier_call_chain(0x100000003,0xee077edcffffffff,0x1,0x1c06b6494,0xee077ed8ee077f0c)
[    0.227565] DEBUG: finish __cpu_notify
[    0.231691] DEBUG: cpu_notify
[    0.231695] DEBUG: start __cpu_notify
[    0.231701] DEBUG: call __raw_notifier_call_chain(0x10000000a,0xffffffff,0x10000000a,0xc06fc28800000001,0xee0a3fb0ee0a3fc4)
[    0.231728] DEBUG: finish __cpu_notify
[    0.231735] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.231835] DEBUG: 2  hcpu=1
[    0.263190] DEBUG: cpu_notify
[    0.266331] DEBUG: start __cpu_notify
[    0.270175] DEBUG: call __raw_notifier_call_chain(0x100000002,0xffffffff,0x100000002,0x1c06b6494,0xee077ec0ee077ed4)
[    0.281229] Unhandled fault: alignment exception (0x001) at 0x00000001
[    0.281396] DEBUG: finish __cpu_notify
[    0.281400] DEBUG: 3
[    0.281413] DEBUG: finished _cpu_up()
[    0.281414] Brought up 2 CPUs
[    0.281422] SMP: Total of 2 processors activated (24.59 BogoMIPS).
[    0.281427] CPU: All CPU(s) started in SVC mode.
[    0.312450] pgd = c0004000
[    0.315310] [00000001] *pgd=00000000
[    0.319070] Internal error: : 1 [#1] PREEMPT SMP ARM
[    0.324249] Modules linked in:
[    0.327475] CPU: 1 PID: 0 Comm: swapper/1 Not tainted 4.1.13-g8dc6617 #61
[    0.334524] Hardware name: Generic DRA74X (Flattened Device Tree)
[    0.340862] task: ee09cac0 ti: ee0a2000 task.ti: ee0a2000
[    0.346490] PC is at __und_svc+0x10/0x48
[    0.350603] LR is at trace_hardirqs_on_caller+0x158/0x1fc
[    0.356228] pc : [<c0013f10>]    lr : [<c0083fcc>]    psr: 20000093
[    0.356228] sp : ee0a3e74  ip : ee0a3eb8  fp : ee0a3ed4
[    0.368182] r10: 00000001  r9 : eee39790  r8 : ee09c040
[    0.373627] r7 : 00000001  r6 : 00000001  r5 : ee09cac0  r4 : c04ed834
[    0.380409] r3 : ee0a3eb8  r2 : 00000000  r1 : 00000001  r0 : 00000001
[    0.387193] Flags: nzCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
[    0.394866] Control: 10c5387d  Table: 8000406a  DAC: 00000015
[    0.400846] Process swapper/1 (pid: 0, stack limit = 0xee0a2218)
[    0.407094] Stack: (0xee0a3e74 to 0xee0a4000)
[    0.411650] 3e60:                                              00000001 00000000 ee0a3eb8
[    0.420129] 3e80: c04ed834 ee09cac0 00000001 00000001 ee09c040 eee39790 00000001 ee0a3ed4
[    0.428606] 3ea0: ee0a3eb8 eee39790 ee0a3ed4 ee0a3eb8 c0083fcc c0083de8 eee39780 c06d6818
[    0.437083] 3ec0: ee0a9540 00000001 ee0a3ee4 ee0a3ed8 c0084084 c0083e80 ee0a3efc ee0a3ee8
[    0.445561] 3ee0: c04ed834 c008407c eee39780 c06d6818 ee0a3f2c ee0a3f00 c0059b70 c04ed814
[    0.454040] 3f00: 00000001 00000000 c0059af0 ee0a3f18 eee39780 ee09cac0 00000000 c06d6818
[    0.462517] 3f20: ee0a3f6c ee0a3f30 c04e7bfc c0059afc eee377d0 00000000 10c237d7 00000000
[    0.470996] 3f40: ee0a3f5c ee0a2000 c06b64f8 c06b6494 00000000 00000000 ee0a3fa0 c04f1550
[    0.479473] 3f60: ee0a3f84 ee0a3f70 c04e8090 c04e7880 ffffe000 c06b64f8 ee0a3f9c ee0a3f88
[    0.487951] 3f80: c04e84bc c04e8058 ee0a2000 c06b64f8 ee0a3fd4 ee0a3fa0 c0078c24 c04e849c
[    0.496428] 3fa0: c06d6818 c06b1780 c06b6500 c06fc288 c06f90ca 412fc0f2 c06b0d88 c06ae384
[    0.504906] 3fc0: ee0a3fa8 c06fc288 ee0a3ff4 ee0a3fd8 c001516c c0078ae8 ae08006a 00000015
[    0.513386] 3fe0: 10c0387d c06fc288 00000000 ee0a3ff8 8000956c c0015008 15242000 40008000
[    0.521859] Backtrace:
[    0.524463] [<c0083e74>] (trace_hardirqs_on_caller) from [<c0084084>] (trace_hardirqs_on+0x14/0x18)
[    0.533830]  r7:00000001 r6:ee0a9540 r5:c06d6818 r4:eee39780
[    0.539747] [<c0084070>] (trace_hardirqs_on) from [<c04ed834>] (_raw_spin_unlock_irq+0x2c/0x64)
[    0.548766] [<c04ed808>] (_raw_spin_unlock_irq) from [<c0059b70>] (finish_task_switch+0x80/0x128)
[    0.557954]  r5:c06d6818 r4:eee39780
[    0.561718] [<c0059af0>] (finish_task_switch) from [<c04e7bfc>] (__schedule+0x388/0x7d8)
[    0.570104]  r7:c06d6818 r6:00000000 r5:ee09cac0 r4:eee39780
[    0.576016] [<c04e7874>] (__schedule) from [<c04e8090>] (schedule+0x44/0x9c)
[    0.583334]  r10:c04f1550 r9:ee0a3fa0 r8:00000000 r7:00000000 r6:c06b6494 r5:c06b64f8
[    0.591474]  r4:ee0a2000
[    0.594162] [<c04e804c>] (schedule) from [<c04e84bc>] (schedule_preempt_disabled+0x2c/0x44)
[    0.602815]  r5:c06b64f8 r4:ffffe000
[    0.606579] [<c04e8490>] (schedule_preempt_disabled) from [<c0078c24>] (cpu_startup_entry+0x148/0x324)
[    0.616212]  r5:c06b64f8 r4:ee0a2000
[    0.619975] [<c0078adc>] (cpu_startup_entry) from [<c001516c>] (secondary_start_kernel+0x170/0x178)
[    0.629341]  r7:c06fc288
[    0.632031] [<c0014ffc>] (secondary_start_kernel) from [<8000956c>] (0x8000956c)
[    0.639703]  r7:c06fc288 r6:10c0387d r5:00000015 r4:ae08006a
[    0.645614] Code: e24dd044 e31d0004 024dd004 e88d1ffe (e8900038)
[    0.651967] ---[ end trace 779656412eaa2046 ]---
[    0.656792] Kernel panic - not syncing: Attempted to kill the idle task!
[    0.663757] CPU0: stopping
[    0.666626] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G      D         4.1.13-g8dc6617 #61
[    0.674923] Hardware name: Generic DRA74X (Flattened Device Tree)
[    0.681259] Backtrace:
[    0.683868] [<c0013190>] (dump_backtrace) from [<c00133b4>] (show_stack+0x18/0x1c)
[    0.691720]  r7:fa212000 r6:00000000 r5:00000000 r4:c06de740
[    0.697634] [<c001339c>] (show_stack) from [<c04e6c78>] (dump_stack+0x8c/0xcc)
[    0.705134] [<c04e6bec>] (dump_stack) from [<c0015550>] (handle_IPI+0x154/0x164)
[    0.712808]  r5:00000000 r4:c06afcf4
[    0.716572] [<c00153fc>] (handle_IPI) from [<c00094c0>] (gic_handle_irq+0x60/0x64)
[    0.724424]  r7:fa212000 r6:ee077ca8 r5:c06b7014 r4:fa21200c
[    0.730336] [<c0009460>] (gic_handle_irq) from [<c0013e84>] (__irq_svc+0x44/0x7c)
[    0.738100] Exception stack(0xee077ca8 to 0xee077cf0)
[    0.743370] 7ca0:                   00000000 fffffef0 00000002 00000003 00000001 c00b75fc
[    0.751849] 7cc0: 00000002 00000003 00000001 00000000 c06b6494 ee077d24 ee077c20 ee077cf0
[    0.760327] 7ce0: c0083e4c c00b7b5c 20000013 ffffffff
[    0.765592]  r7:ee077cdc r6:ffffffff r5:20000013 r4:c00b7b5c
[    0.771510] [<c00b7a0c>] (smp_call_function_single) from [<c00b808c>] (smp_call_function_many+0x280/0x2d0)
[    0.781501]  r7:00000001 r6:c06b6494 r5:00000000 r4:c06b6d68
[    0.787415] [<c00b7e0c>] (smp_call_function_many) from [<c00b8124>] (smp_call_function+0x48/0x7c)
[    0.796602]  r10:00000268 r9:000000d0 r8:00000008 r7:00000000 r6:0000001b r5:00000036
[    0.804744]  r4:ffffe000
[    0.807434] [<c00b80dc>] (smp_call_function) from [<c00b8218>] (kick_all_cpus_sync+0x24/0x28)
[    0.816266]  r5:00000036 r4:ee044c40
[    0.820033] [<c00b81f4>] (kick_all_cpus_sync) from [<c010aff8>] (__do_tune_cpucache+0x44/0x2cc)
[    0.829049] [<c010afb4>] (__do_tune_cpucache) from [<c010b2ac>] (do_tune_cpucache+0x2c/0xdc)
[    0.837791]  r10:00000268 r9:00000008 r8:0000001b r7:00000036 r6:000000d0 r5:ee044c40
[    0.845931]  r4:ee044c40
[    0.848622] [<c010b280>] (do_tune_cpucache) from [<c010b3c4>] (enable_cpucache+0x68/0x114)
[    0.857187]  r10:00000268 r9:00000008 r8:00040000 r7:000000d0 r6:00000036 r5:0000001b
[    0.865327]  r4:ee044c40
[    0.868020] [<c010b35c>] (enable_cpucache) from [<c04e541c>] (setup_cpu_cache+0x130/0x1f8)
[    0.876584]  r7:ee044c40 r6:c0ee0300 r5:000000d0 r4:ee044c40
[    0.882499] [<c04e52ec>] (setup_cpu_cache) from [<c010bb30>] (__kmem_cache_create+0x29c/0x3cc)
[    0.891420]  r9:00000008 r8:00040000 r7:ee044c40 r6:ee077e80 r5:00000008 r4:00000006
[    0.899479] [<c010b894>] (__kmem_cache_create) from [<c00f1844>] (do_kmem_cache_create+0x7c/0x13c)
[    0.908756]  r10:c05f9bbc r9:00000268 r8:00000268 r7:00000008 r6:c0ee01f8 r5:00000000
[    0.916896]  r4:ee044c40
[    0.919585] [<c00f17c8>] (do_kmem_cache_create) from [<c00f19e4>] (kmem_cache_create+0xe0/0x190)
[    0.928683]  r10:c05f9bbc r9:00000000 r8:00000000 r7:00000268 r6:c05f9bbc r5:00040000
[    0.936824]  r4:00040000 r3:00000008
[    0.940588] [<c00f1904>] (kmem_cache_create) from [<c06811ac>] (shmem_init+0x4c/0xbc)
[    0.948706]  r10:00000000 r9:00000000 r8:00000001 r7:00000001 r6:c06acfc8 r5:00009400
[    0.956846]  r4:c0ee0134
[    0.959537] [<c0681160>] (shmem_init) from [<c066befc>] (kernel_init_freeable+0x198/0x2e0)
[    0.968101]  r5:00009400 r4:00009b20
[    0.971866] [<c066bd64>] (kernel_init_freeable) from [<c04e479c>] (kernel_init+0x18/0xe8)
[    0.980341]  r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c04e4784
[    0.988481]  r4:c06fc000
[    0.991172] [<c04e4784>] (kernel_init) from [<c000fc38>] (ret_from_fork+0x14/0x3c)
[    0.999023]  r5:c04e4784 r4:00000000
[    1.002787] ---[ end Kernel panic - not syncing: Attempted to kill the idle task!

Any suggestions?

Best regards, Tim

  • Hi,


    yes i am using the actual version

    greetz Tim

  • Hi Tim,

    The following lines:

    Tim Kurz said:
    /cpus/cpu@0 missing clock-frequency property
    /cpus/cpu@1 missing clock-frequency property

    should not be a problem. I tested this on my AM572x GP EVM, running the prebuilt images, and the dmesg log is as follows:

    [    0.002078] /cpus/cpu@0 missing clock-frequency property                                                                                                  

    [    0.002128] /cpus/cpu@1 missing clock-frequency property                                                                                                  

    [    0.002138] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000                                                                                              

    [    0.002174] Setting up static identity map for 0x800082c0 - 0x80008318                                                                                    

    [    0.060693] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001                                                                                              

    [    0.060761] Brought up 2 CPUs                                                                                                                            

    [    0.060774] SMP: Total of 2 processors activated (24.59 BogoMIPS).                                                                                        

    [    0.060781] CPU: All CPU(s) started in SVC mode.                                                                                                          

    [    0.061159] devtmpfs: initialized                      

    In my opinion your problem resides here:
     

    Tim Kurz said:
    [    0.281229] Unhandled fault: alignment exception (0x001) at 0x00000001

    Could you post your .dts file?

    Best Regards,

    Yordan                                                                                 

  • Hi Yordan,

    I happyly realized, that since our last chat, the SDK am57xx-evm-linux-sdk-src-03.00.00.04.tar.gz was uploaded.

    I rebuilt the Kernel with tisdk_am57xx-evm_defconfig and added the low level debugging function OMAP4/5_UART3.

    With this new verison the bringing up of the secound CPU seems to work prperly.

    Starting kernel ...

    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Initializing cgroup subsys cpuset
    [    0.000000] Initializing cgroup subsys cpu
    [    0.000000] Initializing cgroup subsys cpuacct
    [    0.000000] Linux version 4.4.12-g3639bea54a (fpc@VSRV-ENTW-FPC57-TK) (gcc version 5.2.1 20151005 (Linaro GCC 5.2-2015.11-2) ) #1 SMP PREEMPT Thu Jul 14 12:15:20 CEST 2016
    [    0.000000] CPU: ARMv7 Processor [412fc0f2] revision 2 (ARMv7), cr=30c5387d
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
    [    0.000000] Machine model: TI AM5728 BeagleBoard-X15 rev B1
    [    0.000000] bootconsole [earlycon0] enabled
    [    0.000000] Reserved memory: created CMA memory pool at 0x0000000095800000, size 56 MiB
    [    0.000000] Reserved memory: initialized node ipu2_cma@95800000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created CMA memory pool at 0x0000000099000000, size 64 MiB
    [    0.000000] Reserved memory: initialized node dsp1_cma@99000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created CMA memory pool at 0x000000009d000000, size 32 MiB
    [    0.000000] Reserved memory: initialized node ipu1_cma@9d000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created CMA memory pool at 0x000000009f000000, size 8 MiB
    [    0.000000] Reserved memory: initialized node dsp2_cma@9f000000, compatible id shared-dma-pool
    [    0.000000] cma: Reserved 24 MiB at 0x00000000be000000
    [    0.000000] Forcing write-allocate cache policy for SMP
    [    0.000000] Memory policy: Data cache writealloc
    [    0.000000] OMAP4: Map 0x00000000bfd00000 to fe600000 for dram barrier
    [    0.000000] DRA752 ES1.1
    [    0.000000] PERCPU: Embedded 12 pages/cpu @ef638000 s19200 r8192 d21760 u49152
    [    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 210496
    [    0.000000] Kernel command line: console=ttyS2,115200n8 earlyprintk=serial,uart3,115200 root=/dev/nfs nfsroot=192.168.3.23:/export/rootfs,nolock rw ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off
    [    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
    [    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
    [    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
    [    0.000000] Memory: 641536K/848896K available (6483K kernel code, 301K rwdata, 2328K rodata, 352K init, 283K bss, 18944K reserved, 188416K cma-reserved, 234496K highmem)
    [    0.000000] Virtual kernel memory layout:
    [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    [    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    [    0.000000]     vmalloc : 0xf0800000 - 0xff800000   ( 240 MB)
    [    0.000000]     lowmem  : 0xc0000000 - 0xf0000000   ( 768 MB)
    [    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    [    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
    [    0.000000]       .text : 0xc0008000 - 0xc08a3044   (8813 kB)
    [    0.000000]       .init : 0xc08a4000 - 0xc08fc000   ( 352 kB)
    [    0.000000]       .data : 0xc08fc000 - 0xc09477e8   ( 302 kB)
    [    0.000000]        .bss : 0xc0949000 - 0xc098ff40   ( 284 kB)
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
    [    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] OMAP clockevent source: timer1 at 32786 Hz
    [    0.000000] Architected cp15 timer(s) running at 6.14MHz (virt).
    [    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x16af5adb9, max_idle_ns: 440795202250 ns
    [    0.000004] sched_clock: 56 bits at 6MHz, resolution 162ns, wraps every 4398046511023ns
    [    0.008305] Switching to timer-based delay loop, resolution 162ns
    [    0.014940] clocksource: 32k_counter: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 58327039986419 ns
    [    0.025198] OMAP clocksource: 32k_counter at 32768 Hz
    [    0.030886] Console: colour dummy device 80x30
    [    0.035542] Calibrating delay loop (skipped), value calculated using timer frequency.. 12.29 BogoMIPS (lpj=61475)
    [    0.046176] pid_max: default: 32768 minimum: 301
    [    0.051084] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.057970] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.065831] Initializing cgroup subsys io
    [    0.070052] Initializing cgroup subsys memory
    [    0.074623] Initializing cgroup subsys devices
    [    0.079272] Initializing cgroup subsys freezer
    [    0.083930] Initializing cgroup subsys perf_event
    [    0.088846] Initializing cgroup subsys pids
    [    0.093238] CPU: Testing write buffer coherency: ok
    [    0.098522] /cpus/cpu@0 missing clock-frequency property
    [    0.104065] /cpus/cpu@1 missing clock-frequency property
    [    0.109620] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
    [    0.115537] Setting up static identity map for 0x80008380 - 0x800083d8
    [    0.202654] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
    [    0.202724] Brought up 2 CPUs
    [    0.211743] SMP: Total of 2 processors activated (24.59 BogoMIPS).
    [    0.218182] CPU: All CPU(s) started in SVC mode.
    [    0.223323] devtmpfs: initialized
    [    0.250791] VFP support v0.3: implementor 41 architecture 4 part 30 variant f rev 0
    [    0.259593] omap_hwmod: l3_main_2 using broken dt data from ocp
    [    0.292742] Unable to handle kernel paging request at virtual address ee88dc98
    [    0.300237] pgd = c0003000
    [    0.303097] [ee88dc98] *pgd=80000080007003, *pmd=400000ae80071d(bad)
    [    0.309713] Internal error: Oops: 8000020e [#1] PREEMPT SMP ARM
    [    0.315872] Modules linked in:
    [    0.319094] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.4.12-g3639bea54a #1
    [    0.326321] Hardware name: Generic DRA74X (Flattened Device Tree)
    [    0.332657] task: ee888000 ti: ee88c000 task.ti: ee88c000
    [    0.338282] PC is at 0xee88dc98
    [    0.341590] LR is at __of_find_property+0x44/0x6c
    [    0.346502] pc : [<ee88dc98>]    lr : [<c0511410>]    psr: 00000093
    [    0.346502] sp : ee88dc98  ip : ee88dca8  fp : ee88dca4
    [    0.358455] r10: ee88dd70  r9 : c090b9ec  r8 : 00000000
    [    0.363900] r7 : c07dcd1c  r6 : 00000000  r5 : c07dcd1c  r4 : ef674f10
    [    0.370680] r3 : 0000006e  r2 : 00000068  r1 : c07dcd1d  r0 : c0850b55
    [    0.377463] Flags: nzcv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
    [    0.385137] Control: 30c5387d  Table: 80003000  DAC: fffffffd
    [    0.391116] Process swapper/0 (pid: 1, stack limit = 0xee88c218)
    [    0.397363] Stack: (0xee88dc98 to 0xee88e000)
    [    0.401917] dc80:                                                       ee88dcc4 ee88dca8
    [    0.410395] dca0: c0511410 c02acc94 c0984f00 ef674d7c a0000013 c07dcd1c ee88dcec ee88dcc8
    [    0.418871] dcc0: c0511474 c05113d8 00000000 ef674d7c 00000000 00000000 00000000 c090b9ec
    [    0.427348] dce0: ee88dd14 ee88dcf0 c0512524 c0511444 00000000 ef674d7c ee88dd74 c07dcd1c
    [    0.435825] dd00: ffffffea c090b9ec ee88dd5c ee88dd18 c0024214 c0512510 00000000 ee88dd28
    [    0.444302] dd20: c0511a48 ee88dd74 c0984f00 ef666bd4 ee88dd5c ef674d7c ef666bd4 ee88dd74
    [    0.452777] dd40: c07dcd1c ffffffea c090b9ec ee88ddb8 ee88dda4 ee88dd60 c00242a4 c00241e4
    [    0.461254] dd60: 00000000 ee88dd70 c0511a48 ee88ddbc 00000000 00000000 ee88dda4 ef666bd4
    [    0.469730] dd80: ef666ab8 ee88ddbc c07dcd1c ffffffea c090b9ec ee88de00 ee88ddec ee88dda8
    [    0.478206] dda0: c00242a4 c00241e4 00000000 ee88ddb8 c0511a48 ee88de04 c0984f00 ef655900
    [    0.486682] ddc0: ee88ddec ef666ab8 ef655900 ee88de04 c07dcd1c ffffffea c090b9ec ee88de48
    [    0.495158] dde0: ee88de34 ee88ddf0 c00242a4 c00241e4 00000000 ee88de00 c0511a48 ee88de4c
    [    0.503634] de00: 00000000 00000000 ee88de34 ef655900 ef6556fc ee88de4c c07dcd1c 00000002
    [    0.512110] de20: c090b9ec ee88de84 ee88de7c ee88de38 c00242a4 c00241e4 00000001 ee88de48
    [    0.520587] de40: c0514f5c ee88de80 ef6556fc cffe5c36 ee88de7c c090b9ec c0903840 c0901670
    [    0.529063] de60: ee994900 000000af c08a4600 00000000 ee88deb4 ee88de80 c08b0fb4 c00241e4
    [    0.537540] de80: 00000000 00000000 c08b1460 c090b9ec c0903840 c0901670 ee994900 000000af
    [    0.546016] dea0: c08a4600 00000000 ee88decc ee88deb8 c08b14a8 c08b0f5c c0901670 c08b1460
    [    0.554492] dec0: ee88df4c ee88ded0 c000982c c08b146c ee88def4 ee88dee0 c08a461c c02ace44
    [    0.562968] dee0: c08a1500 ef6527f3 ee88df4c ee88def8 c004f63c c08a460c ee88df34 c07e2ca4
    [    0.571444] df00: c07e2cf0 c07e2698 00000001 00000001 00000000 c08a0788 c08510dc 00000000
    [    0.579920] df20: 00000000 c0949000 c0949000 c08f5e68 c08e7820 000000af c08a4600 00000002
    [    0.588397] df40: ee88df94 ee88df50 c08a4f64 c00097a0 00000001 00000001 00000000 c08a4600
    [    0.596872] df60: 38411365 c08a0788 64133628 c0949000 c06559e8 00000000 00000000 00000000
    [    0.605349] df80: 00000000 00000000 ee88dfac ee88df98 c0655a00 c08a4da0 00000000 c06559e8
    [    0.613825] dfa0: 00000000 ee88dfb0 c000fb88 c06559f4 00000000 00000000 00000000 00000000
    [    0.622303] dfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    [    0.630780] dfe0: 00000000 00000000 00000000 00000000 00000013 00000000 014dc690 54201d30
    [    0.639252] Backtrace:
    [    0.641855] [<c02acc88>] (strcmp) from [<c0511410>] (__of_find_property+0x44/0x6c)
    [    0.649710] [<c05113cc>] (__of_find_property) from [<c0511474>] (of_find_property+0x3c/0x54)
    [    0.658452]  r7:c07dcd1c r6:a0000013 r5:ef674d7c r4:c0984f00
    [    0.664361] [<c0511438>] (of_find_property) from [<c0512524>] (of_property_read_string_helper+0x20/0xe0)
    [    0.674171]  r9:c090b9ec r8:00000000 r7:00000000 r6:00000000 r5:ef674d7c r4:00000000
    [    0.682223] [<c0512504>] (of_property_read_string_helper) from [<c0024214>] (of_dev_hwmod_lookup+0x3c/0x128)
    [    0.692390]  r9:c090b9ec r8:ffffffea r7:c07dcd1c r6:ee88dd74 r5:ef674d7c r4:00000000
    [    0.700439] [<c00241d8>] (of_dev_hwmod_lookup) from [<c00242a4>] (of_dev_hwmod_lookup+0xcc/0x128)
    [    0.709626]  r10:ee88ddb8 r9:c090b9ec r8:ffffffea r7:c07dcd1c r6:ee88dd74 r5:ef666bd4
    [    0.717759]  r4:ef674d7c
    [    0.720446] [<c00241d8>] (of_dev_hwmod_lookup) from [<c00242a4>] (of_dev_hwmod_lookup+0xcc/0x128)
    [    0.729633]  r10:ee88de00 r9:c090b9ec r8:ffffffea r7:c07dcd1c r6:ee88ddbc r5:ef666ab8
    [    0.737765]  r4:ef666bd4
    [    0.740451] [<c00241d8>] (of_dev_hwmod_lookup) from [<c00242a4>] (of_dev_hwmod_lookup+0xcc/0x128)
    [    0.749638]  r10:ee88de48 r9:c090b9ec r8:ffffffea r7:c07dcd1c r6:ee88de04 r5:ef655900
    [    0.757769]  r4:ef666ab8
    [    0.760455] [<c00241d8>] (of_dev_hwmod_lookup) from [<c00242a4>] (of_dev_hwmod_lookup+0xcc/0x128)
    [    0.769642]  r10:ee88de84 r9:c090b9ec r8:00000002 r7:c07dcd1c r6:ee88de4c r5:ef6556fc
    [    0.777774]  r4:ef655900
    [    0.780462] [<c00241d8>] (of_dev_hwmod_lookup) from [<c08b0fb4>] (_init.constprop.23+0x64/0x428)
    [    0.789559]  r10:00000000 r9:c08a4600 r8:000000af r7:ee994900 r6:c0901670 r5:c0903840
    [    0.797691]  r4:c090b9ec
    [    0.800379] [<c08b0f50>] (_init.constprop.23) from [<c08b14a8>] (__omap_hwmod_setup_all+0x48/0x98)
    [    0.809654]  r10:00000000 r9:c08a4600 r8:000000af r7:ee994900 r6:c0901670 r5:c0903840
    [    0.817786]  r4:c090b9ec
    [    0.820474] [<c08b1460>] (__omap_hwmod_setup_all) from [<c000982c>] (do_one_initcall+0x98/0x1e4)
    [    0.829571]  r5:c08b1460 r4:c0901670
    [    0.833332] [<c0009794>] (do_one_initcall) from [<c08a4f64>] (kernel_init_freeable+0x1d0/0x264)
    [    0.842340]  r10:00000002 r9:c08a4600 r8:000000af r7:c08e7820 r6:c08f5e68 r5:c0949000
    [    0.850473]  r4:c0949000
    [    0.853162] [<c08a4d94>] (kernel_init_freeable) from [<c0655a00>] (kernel_init+0x18/0xf4)
    [    0.861636]  r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c06559e8
    [    0.869767]  r4:c0949000
    [    0.872455] [<c06559e8>] (kernel_init) from [<c000fb88>] (ret_from_fork+0x14/0x2c)
    [    0.880304]  r5:c06559e8 r4:00000000
    [    0.884063] Code: 00000093 ffffffff c0511a48 c0514f70 (ee88dcc4)
    [    0.890411] ---[ end trace fe72582a2c3282c0 ]---
    [    0.895235] note: swapper/0[1] exited with preempt_count 1
    [    0.900978] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
    [    0.900978]
    [    0.910528] CPU1: stopping
    [    0.913394] CPU: 1 PID: 0 Comm: swapper/1 Tainted: G      D         4.4.12-g3639bea54a #1
    [    0.921870] Hardware name: Generic DRA74X (Flattened Device Tree)
    [    0.928204] Backtrace:
    [    0.930814] [<c001319c>] (dump_backtrace) from [<c0013398>] (show_stack+0x18/0x1c)
    [    0.938665]  r7:ee8b3f40 r6:20000193 r5:00000000 r4:c091ac0c
    [    0.944578] [<c0013380>] (show_stack) from [<c02a5ed0>] (dump_stack+0x90/0xa4)
    [    0.952078] [<c02a5e40>] (dump_stack) from [<c0016504>] (handle_IPI+0x188/0x19c)
    [    0.959748]  r7:ee8b3f40 r6:00000000 r5:00000001 r4:c08f8424
    [    0.965654] [<c001637c>] (handle_IPI) from [<c00094c8>] (gic_handle_irq+0x78/0x7c)
    [    0.973504]  r7:fa212000 r6:ee8b3f40 r5:fa21200c r4:c08fe890
    [    0.979407] [<c0009450>] (gic_handle_irq) from [<c0013e80>] (__irq_svc+0x40/0x74)
    [    0.987168] Exception stack(0xee8b3f40 to 0xee8b3f88)
    [    0.992437] 3f40: 00000001 00000000 00000000 c00208c0 ee8b2000 c08fe4ac 00000000 00000000
    [    1.000914] 3f60: ee8b3fb0 c065f234 c08fe4f8 ee8b3f9c ee8b3fa0 ee8b3f90 c0010614 c0010618
    [    1.009389] 3f80: 60000013 ffffffff
    [    1.013050]  r9:c065f234 r8:ee8b3fb0 r7:ee8b3f74 r6:ffffffff r5:60000013 r4:c0010618
    [    1.021105] [<c00105d8>] (arch_cpu_idle) from [<c006f574>] (default_idle_call+0x28/0x34)
    [    1.029496] [<c006f54c>] (default_idle_call) from [<c006f7d8>] (cpu_startup_entry+0x204/0x264)
    [    1.038421] [<c006f5d4>] (cpu_startup_entry) from [<c00160e8>] (secondary_start_kernel+0x16c/0x178)
    [    1.047786]  r7:c09492a8
    [    1.050472] [<c0015f7c>] (secondary_start_kernel) from [<8000956c>] (0x8000956c)
    [    1.058143]  r7:c09492a8 r6:30c0387d r5:00000000 r4:ae843d00
    [    1.064052] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
    [    1.064052]                

    I'm using the file am57xx-beagle-x15-revb1.dts (included in the newest SDK) without any reconfigurations.         

    [    0.259593] omap_hwmod: l3_main_2 using broken dt data from ocp

    This line is caused by a misconfiguration of the device-tree, am i correct?

    How to fix that?

    By the way: my custom board distinguishes from the beagle-board-x15 in several aspects:

    -The Power-Sequencing is done by a self programmed PIC, instead of a PMIC.

    -There are no temperature sensors

    Is there any way to print out a bit more of debug information while the kernel is doing his stuff with the device tree?

    best regards,

    Tim

  • Hi Tim,

    Tim Kurz said:
    [    0.259593] omap_hwmod: l3_main_2 using broken dt data from ocp

    This line is caused by a misconfiguration of the device-tree, am i correct?

    How to fix that?

     

    Yes, this indicates a wrong configuration in the device tree file. Could you share your dts? 

    Tim Kurz said:
    Is there any way to print out a bit more of debug information while the kernel is doing his stuff with the device tree?

    What first comes to mind is to add some debug prints in the suspected modules drivers, specifically the *_probe_dt() functions. 

    Best Regards, 
    Yordan 

  • Hi Yordan,


    the problem definetly belongs to the second cpu.

    i disabled "Kernel Features" -> "Symmetric Multi-Progessing"

    and my u-boot gives the command parameter to the kernel: maxcpus=1

    Now the System boots stable. At first this shall be enough for me. i just want to bring up the hardware now.

    The following is my logfile by now:

    Starting kernel ...

    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Initializing cgroup subsys cpuset
    [    0.000000] Initializing cgroup subsys cpu
    [    0.000000] Initializing cgroup subsys cpuacct
    [    0.000000] Linux version 4.4.12-g3639bea54a (fpc@VSRV-ENTW-FPC57-TK) (gcc version 5.2.1 20151005 (Linaro GCC 5.2-2015.11-2) ) #2 Wed Jul 20 11:46:37 CEST 2016
    [    0.000000] CPU: ARMv7 Processor [412fc0f2] revision 2 (ARMv7), cr=10c53c7d
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
    [    0.000000] Machine model: TI AM5728 BeagleBoard-X15
    [    0.000000] bootconsole [earlycon0] enabled
    [    0.000000] Reserved memory: created CMA memory pool at 0x95800000, size 56 MiB
    [    0.000000] Reserved memory: initialized node ipu2_cma@95800000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created CMA memory pool at 0x99000000, size 64 MiB
    [    0.000000] Reserved memory: initialized node dsp1_cma@99000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created CMA memory pool at 0x9d000000, size 32 MiB
    [    0.000000] Reserved memory: initialized node ipu1_cma@9d000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created CMA memory pool at 0x9f000000, size 8 MiB
    [    0.000000] Reserved memory: initialized node dsp2_cma@9f000000, compatible id shared-dma-pool
    [    0.000000] cma: Reserved 16 MiB at 0xbe800000
    [    0.000000] Memory policy: Data cache writeback
    [    0.000000] OMAP4: Map 0xbfe00000 to fe600000 for dram barrier
    [    0.000000] ------------[ cut here ]------------
    [    0.000000] WARNING: CPU: 0 PID: 0 at arch/arm/kernel/devtree.c:149 arm_dt_init_cpu_maps+0xbc/0x12c()
    [    0.000000] DT /cpu 2 nodes greater than max cores 1, capping them
    [    0.000000] Modules linked in:
    [    0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 4.4.12-g3639bea54a #2
    [    0.000000] Hardware name: Generic DRA74X (Flattened Device Tree)
    [    0.000000] [<c0015ce8>] (unwind_backtrace) from [<c0013a14>] (show_stack+0x10/0x14)
    [    0.000000] [<c0013a14>] (show_stack) from [<c003b1dc>] (warn_slowpath_common+0x78/0xb0)
    [    0.000000] [<c003b1dc>] (warn_slowpath_common) from [<c003b244>] (warn_slowpath_fmt+0x30/0x40)
    [    0.000000] [<c003b244>] (warn_slowpath_fmt) from [<c087207c>] (arm_dt_init_cpu_maps+0xbc/0x12c)
    [    0.000000] [<c087207c>] (arm_dt_init_cpu_maps) from [<c08712d8>] (setup_arch+0x748/0x9c8)
    [    0.000000] [<c08712d8>] (setup_arch) from [<c086d964>] (start_kernel+0x88/0x3d0)
    [    0.000000] [<c086d964>] (start_kernel) from [<80008078>] (0x80008078)
    [    0.000000] ---[ end trace cb88537fdc8fa200 ]---
    [    0.000000] CPU: All CPU(s) started in SVC mode.
    [    0.000000] DRA752 ES1.1
    [    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 210752
    [    0.000000] Kernel command line: console=ttyS2,115200n8 earlyprintk=serial,uart3,115200 maxcpus=1 root=PARTUUID=00000000-02 rw rootfstype=ext4 rootwait
    [    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
    [    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
    [    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
    [    0.000000] Memory: 642516K/849920K available (6371K kernel code, 764K rwdata, 2220K rodata, 404K init, 8239K bss, 27180K reserved, 180224K cma-reserved, 243712K highmem)
    [    0.000000] Virtual kernel memory layout:
    [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    [    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    [    0.000000]     vmalloc : 0xf0800000 - 0xff800000   ( 240 MB)
    [    0.000000]     lowmem  : 0xc0000000 - 0xf0000000   ( 768 MB)
    [    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    [    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
    [    0.000000]       .text : 0xc0008000 - 0xc086c16c   (8593 kB)
    [    0.000000]       .init : 0xc086d000 - 0xc08d2000   ( 404 kB)
    [    0.000000]       .data : 0xc08d2000 - 0xc0991088   ( 765 kB)
    [    0.000000]        .bss : 0xc0993000 - 0xc119ee00   (8240 kB)
    [    0.000000] Running RCU self tests
    [    0.000000] NR_IRQS:16 nr_irqs:16 16
    [    0.000000] OMAP clockevent source: timer1 at 32786 Hz
    [    0.000000] Architected cp15 timer(s) running at 6.14MHz (virt).
    [    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x16af5adb9, max_idle_ns: 440795202250 ns
    [    0.000004] sched_clock: 56 bits at 6MHz, resolution 162ns, wraps every 4398046511023ns
    [    0.008303] Switching to timer-based delay loop, resolution 162ns
    [    0.015058] clocksource: 32k_counter: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 58327039986419 ns
    [    0.025315] OMAP clocksource: 32k_counter at 32768 Hz
    [    0.031555] Console: colour dummy device 80x30
    [    0.036208] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
    [    0.044245] ... MAX_LOCKDEP_SUBCLASSES:  8
    [    0.048529] ... MAX_LOCK_DEPTH:          48
    [    0.052902] ... MAX_LOCKDEP_KEYS:        8191
    [    0.057458] ... CLASSHASH_SIZE:          4096
    [    0.062008] ... MAX_LOCKDEP_ENTRIES:     32768
    [    0.066647] ... MAX_LOCKDEP_CHAINS:      65536
    [    0.071292] ... CHAINHASH_SIZE:          32768
    [    0.075931]  memory used by lock dependency info: 5167 kB
    [    0.081558]  per task-struct memory footprint: 1536 bytes
    [    0.087188] Calibrating delay loop (skipped), value calculated using timer frequency.. 12.29 BogoMIPS (lpj=61475)
    [    0.097812] pid_max: default: 32768 minimum: 301
    [    0.102758] Security Framework initialized
    [    0.107109] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.113981] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.123229] Initializing cgroup subsys io
    [    0.127474] Initializing cgroup subsys memory
    [    0.132065] Initializing cgroup subsys devices
    [    0.136751] Initializing cgroup subsys freezer
    [    0.141460] Initializing cgroup subsys perf_event
    [    0.146411] CPU: Testing write buffer coherency: ok
    [    0.152485] Setting up static identity map for 0x800082c0 - 0x80008330
    [    0.162589] devtmpfs: initialized
    [    0.224538] VFP support v0.3: implementor 41 architecture 4 part 30 variant f rev 0
    [    0.233893] omap_hwmod: l3_main_2 using broken dt data from ocp
    [    0.501477] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [    0.516022] pinctrl core: initialized pinctrl subsystem
    [    0.524775] NET: Registered protocol family 16
    [    0.532466] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [    0.540730] cpuidle: using governor ladder
    [    0.545038] cpuidle: using governor menu
    [    0.563761] OMAP GPIO hardware version 0.1
    [    0.578876] irq: no irq domain found for /ocp/l4@4a000000/scm@2000/pinmux@1400 !
    [    0.621005] No ATAGs?
    [    0.623168] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
    [    0.631748] hw-breakpoint: maximum watchpoint size is 8 bytes.
    [    0.638245] omap4_sram_init:Unable to allocate sram needed to handle errata I688
    [    0.645932] omap4_sram_init:Unable to get sram pool needed to handle errata I688
    [    0.654753] OMAP DMA hardware revision 0.0
    [    0.679990] omap-dma-engine 4a056000.dma-controller: OMAP DMA engine driver
    [    0.688518] edma 43300000.edma: memcpy is disabled
    [    0.703972] edma 43300000.edma: TI EDMA DMA engine driver
    [    0.714663] SCSI subsystem initialized
    [    0.720694] palmas 0-0058: Irq flag is 0x00000008
    [    0.746048] palmas 0-0058: POLARITY_CTRL updat failed: -121
    [    0.753144] palmas: probe of 0-0058 failed with error -121
    [    0.759290] omap_i2c 48070000.i2c: bus 0 rev0.12 at 400 kHz
    [    0.766032] omap_i2c 48060000.i2c: bus 2 rev0.12 at 400 kHz
    [    0.772084] pps_core: LinuxPPS API ver. 1 registered
    [    0.777259] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.786755] PTP clock support registered
    [    0.792820] clocksource: Switched to clocksource arch_sys_counter
    [    0.885570] NET: Registered protocol family 2
    [    0.891180] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
    [    0.898619] TCP bind hash table entries: 8192 (order: 6, 294912 bytes)
    [    0.907641] TCP: Hash tables configured (established 8192 bind 8192)
    [    0.914384] UDP hash table entries: 512 (order: 3, 40960 bytes)
    [    0.920837] UDP-Lite hash table entries: 512 (order: 3, 40960 bytes)
    [    0.928235] NET: Registered protocol family 1
    [    0.933788] RPC: Registered named UNIX socket transport module.
    [    0.939947] RPC: Registered udp transport module.
    [    0.944872] RPC: Registered tcp transport module.
    [    0.949781] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.958112] hw perfevents: enabled with armv7_cortex_a15 PMU driver, 7 counters available
    [    0.969845] futex hash table entries: 256 (order: 1, 11264 bytes)
    [    0.976346] audit: initializing netlink subsys (disabled)
    [    0.982072] audit: type=2000 audit(0.869:1): initialized
    [    0.989832] VFS: Disk quotas dquot_6.6.0
    [    0.994000] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
    [    1.002412] NFS: Registering the id_resolver key type
    [    1.007896] Key type id_resolver registered
    [    1.012272] Key type id_legacy registered
    [    1.016587] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
    [    1.027076] bounce: pool size: 64 pages
    [    1.031140] io scheduler noop registered
    [    1.035279] io scheduler deadline registered
    [    1.039760] io scheduler cfq registered (default)
    [    1.051963] omap_hwmod: ocp2scp3: _wait_target_disable failed
    [    1.065232] omap_hwmod: ocp2scp1: _wait_target_disable failed
    [    1.074419] pinctrl-single 4a003400.pinmux: 282 pins at pa fc003400 size 1128
    [    1.093323] omap_hwmod: ocp2scp3: _wait_target_disable failed
    [    1.105385] omap_hwmod: ocp2scp1: _wait_target_disable failed
    [    1.111509] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
    [    1.124151] console [ttyS2] disabled
    [    1.128099] 48020000.serial: ttyS2 at MMIO 0x48020000 (irq = 301, base_baud = 3000000) is a 8250
    [    1.137396] console [ttyS2] enabled
    [    1.137396] console [ttyS2] enabled
    [    1.144564] bootconsole [earlycon0] disabled
    [    1.144564] bootconsole [earlycon0] disabled
    [    1.174439] brd: module loaded
    [    1.189240] loop: module loaded
    [    1.194569] ahci 4a140000.sata: SSS flag set, parallel bus scan disabled
    [    1.201317] ahci 4a140000.sata: AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl platform mode
    [    1.209898] ahci 4a140000.sata: flags: 64bit ncq sntf stag pm led clo only pmp pio slum part ccc apst
    [    1.221277] scsi host0: ahci
    [    1.224918] ata1: SATA max UDMA/133 mmio [mem 0x4a140000-0x4a1410ff] port 0x100 irq 340
    [    1.233576] mtdoops: mtd device (mtddev=name/number) must be supplied
    [    1.292859] davinci_mdio 48485000.mdio: davinci mdio revision 1.6
    [    1.298979] davinci_mdio 48485000.mdio: detected phy mask fffffff6
    [    1.310671] libphy: 48485000.mdio: probed
    [    1.314717] davinci_mdio 48485000.mdio: phy[0]: device 48485000.mdio:00, driver unknown
    [    1.322755] davinci_mdio 48485000.mdio: phy[3]: device 48485000.mdio:03, driver unknown
    [    1.331578] cpsw 48484000.ethernet: Detected MACID = a0:f6:fd:cd:40:56
    [    1.339509] cpsw 48484000.ethernet: cpsw: Detected MACID = a0:f6:fd:cd:40:57
    [    1.348341] mousedev: PS/2 mouse device common for all mice
    [    1.353956] i2c /dev entries driver
    [    1.359664] omap_hsmmc 4809c000.mmc: Got CD GPIO
    [    1.365394] omap_hsmmc 480b4000.mmc: could not find pctldev for node /ocp/padconf@4844a000/mmc2_iodelay_ddr_3_3v_conf, deferring probe
    [    1.377810] ledtrig-cpu: registered to indicate activity on CPUs
    [    1.385158] oprofile: using timer interrupt.
    [    1.389820] Initializing XFRM netlink socket
    [    1.394291] NET: Registered protocol family 10
    [    1.400569] sit: IPv6 over IPv4 tunneling driver
    [    1.406347] NET: Registered protocol family 17
    [    1.410849] NET: Registered protocol family 15
    [    1.415516] Key type dns_resolver registered
    [    1.419912] omap_voltage_late_init: Voltage driver support not added
    [    1.426315] sr_dev_init: Unable to get voltage domain pointer for VDD core
    [    1.433227] sr_dev_init: Unable to get voltage domain pointer for VDD mpu
    [    1.440557] Power Management for TI OMAP4+ devices.
    [    1.445751] ThumbEE CPU extension supported.
    [    1.450046] SmartReflex Class3 initialized
    [    1.457324] omap_hsmmc 4809c000.mmc: Got CD GPIO
    [    1.463177] omap_hsmmc 480b4000.mmc: could not find pctldev for node /ocp/padconf@4844a000/mmc2_iodelay_ddr_3_3v_conf, deferring probe
    [    1.482016] omap_hwmod: gpio6: _wait_target_disable failed
    [    1.488435] hctosys: unable to open rtc device (rtc0)
    [    1.493526] sr_init: No PMIC hook to init smartreflex
    [    1.498767] sr_init: platform driver register failed for SR
    [    1.542967] vdd_3v3: disabling
    [    1.546040] aic_dvdd_fixed: disabling
    [    1.549743] pbias_mmc_omap5: disabling
    [    1.592870] ata1: SATA link down (SStatus 0 SControl 300)
    [    1.598786] Waiting for root device PARTUUID=00000000-02...

    I want the Kernel to mount the Filesystem on the SD-Card.

    Could you please give me a hint, why its not working?

    I packed the different Device-Tree-Includes into one file to make it more clear and user-friendly for me.
    Here is the file:

    #define THERMAL_ZONES 0
    #define SOUND 0


    /dts-v1/;
    /***************************************************************************************/

    /*skeleton.dtsi*/
    /*
     * Skeleton device tree; the bare minimum needed to boot; just include and
     * add a compatible value.  The bootloader will typically populate the memory
     * node.
     */

    / {
        #address-cells = <1>;
        #size-cells = <1>;
        chosen { };
        aliases { };
        memory { device_type = "memory"; reg = <0 0>; };
    };

    /***************************************************************************************/
    /*dra7.dtsi*/
    /*
     * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
     *
     * This program is free software; you can redistribute it and/or modify
     * it under the terms of the GNU General Public License version 2 as
     * published by the Free Software Foundation.
     * Based on "omap4.dtsi"
     */

    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/pinctrl/dra.h>

    #define MAX_SOURCES 400

    / {
        #address-cells = <2>;
        #size-cells = <2>;

        compatible = "ti,dra7xx";
        interrupt-parent = <&crossbar_mpu>;

        aliases {
            i2c0 = &i2c1;
            i2c1 = &i2c2;
            i2c2 = &i2c3;
            i2c3 = &i2c4;
            i2c4 = &i2c5;
            serial0 = &uart1;
            serial1 = &uart2;
            serial2 = &uart3;
            serial3 = &uart4;
            serial4 = &uart5;
            serial5 = &uart6;
            serial6 = &uart7;
            serial7 = &uart8;
            serial8 = &uart9;
            serial9 = &uart10;
            ethernet0 = &cpsw_emac0;
            ethernet1 = &cpsw_emac1;
            d_can0 = &dcan1;
            d_can1 = &dcan2;
        };

        timer {
            compatible = "arm,armv7-timer";
            interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
                     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
                     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
                     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>;
            interrupt-parent = <&gic>;
        };

        gic: interrupt-controller@48211000 {
            compatible = "arm,cortex-a15-gic";
            interrupt-controller;
            #interrupt-cells = <3>;
            reg = <0x0 0x48211000 0x0 0x1000>,
                  <0x0 0x48212000 0x0 0x1000>,
                  <0x0 0x48214000 0x0 0x2000>,
                  <0x0 0x48216000 0x0 0x2000>;
            interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>;
            interrupt-parent = <&gic>;
        };

        wakeupgen: interrupt-controller@48281000 {
            compatible = "ti,omap5-wugen-mpu", "ti,omap4-wugen-mpu";
            interrupt-controller;
            #interrupt-cells = <3>;
            reg = <0x0 0x48281000 0x0 0x1000>;
            interrupt-parent = <&gic>;
        };

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

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

                operating-points-v2 = <&cpu0_opp_table>;
                cpu-opp-domain = <&oppdm_mpu>;
                ti,syscon-efuse = <&scm_wkup 0x20c 0xf80000 19>;
                ti,syscon-rev = <&scm_wkup 0x204>;

                clocks = <&dpll_mpu_ck>;
                clock-names = "cpu";

                clock-latency = <300000>; /* From omap-cpufreq driver */

                /* cooling options */
                cooling-min-level = <0>;
                cooling-max-level = <2>;
                #cooling-cells = <2>; /* min followed by max */
            };
        };

        cpu0_opp_table: opp_table0 {
            compatible = "operating-points-v2";
            opp-shared;

            opp_nom@1000000000 {
                opp-hz = /bits/ 64 <1000000000>;
                opp-microvolt = <1060000 850000 1150000>;
                opp-supported-hw = <0xFF 0x01>;
                opp-suspend;
            };

            opp_od@1176000000 {
                opp-hz = /bits/ 64 <1176000000>;
                opp-microvolt = <1160000 885000 1160000>;
                opp-supported-hw = <0xFF 0x02>;
            };

            opp_high@1500000000 {
                opp-hz = /bits/ 64 <1500000000>;
                opp-microvolt = <1210000 950000 1250000>;
                opp-supported-hw = <0xFF 0x04>;
            };
        };

        /*
         * The soc node represents the soc top level view. It is used for IPs
         * that are not memory mapped in the MPU view or for the MPU itself.
         */
        soc {
            compatible = "ti,omap-infra";
            mpu {
                compatible = "ti,omap5-mpu";
                ti,hwmods = "mpu";
            };
        };

        /*
         * XXX: Use a flat representation of the SOC interconnect.
         * The real OMAP interconnect network is quite complex.
         * Since it will not bring real advantage to represent that in DT for
         * the moment, just use a fake OCP bus entry to represent the whole bus
         * hierarchy.
         */
        ocp {
            compatible = "ti,dra7-l3-noc", "simple-bus";
            #address-cells = <1>;
            #size-cells = <1>;
            ranges = <0x0 0x0 0x0 0xc0000000>;
            ti,hwmods = "l3_main_1", "l3_main_2";
            reg = <0x0 0x44000000 0x0 0x1000000>,
                  <0x0 0x45000000 0x0 0x1000>;
            interrupts-extended = <&crossbar_mpu GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
                          <&wakeupgen GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;

            l4_cfg: l4@4a000000 {
                compatible = "ti,dra7-l4-cfg", "simple-bus";
                #address-cells = <1>;
                #size-cells = <1>;
                ranges = <0 0x4a000000 0x22c000>;

                scm: scm@2000 {
                    compatible = "ti,dra7-scm-core", "simple-bus";
                    reg = <0x2000 0x2000>;
                    #address-cells = <1>;
                    #size-cells = <1>;
                    ranges = <0 0x2000 0x2000>;

                    scm_conf: scm_conf@0 {
                        compatible = "syscon", "simple-bus";
                        reg = <0x0 0x1400>;
                        #address-cells = <1>;
                        #size-cells = <1>;
                        ranges = <0 0x0 0x1400>;

                        pbias_regulator: pbias_regulator {
                            compatible = "ti,pbias-dra7", "ti,pbias-omap";
                            reg = <0xe00 0x4>;
                            syscon = <&scm_conf>;
                            pbias_mmc_reg: pbias_mmc_omap5 {
                                regulator-name = "pbias_mmc_omap5";
                                regulator-min-microvolt = <1800000>;
                                regulator-max-microvolt = <3000000>;
                            };
                        };

                        scm_conf_clocks: clocks {
                            #address-cells = <1>;
                            #size-cells = <0>;
                        };
                    };

                    dra7_pmx_core: pinmux@1400 {
                        compatible = "ti,dra7-padconf",
                                 "pinctrl-single";
                        reg = <0x1400 0x0468>;
                        #address-cells = <1>;
                        #size-cells = <0>;
                        #interrupt-cells = <1>;
                        interrupt-controller;
                        pinctrl-single,register-width = <32>;
                        pinctrl-single,function-mask = <0x3fffffff>;
                    };

                    scm_conf1: scm_conf@1c04 {
                        compatible = "syscon";
                        reg = <0x1c04 0x0020>;
                    };

                    scm_conf_pcie: scm_conf@1c24 {
                        compatible = "syscon";
                        reg = <0x1c24 0x0024>;
                    };

                    sdma_xbar: dma-router@b78 {
                        compatible = "ti,dra7-dma-crossbar";
                        reg = <0xb78 0xfc>;
                        #dma-cells = <1>;
                        dma-requests = <205>;
                        ti,dma-safe-map = <0>;
                        dma-masters = <&sdma>;
                    };

                    edma_xbar: dma-router@c78 {
                        compatible = "ti,dra7-dma-crossbar";
                        reg = <0xc78 0x7c>;
                        #dma-cells = <2>;
                        dma-requests = <204>;
                        ti,dma-safe-map = <0>;
                        dma-masters = <&edma>;
                    };
                };

                cm_core_aon: cm_core_aon@5000 {
                    compatible = "ti,dra7-cm-core-aon";
                    reg = <0x5000 0x2000>;

                    cm_core_aon_clocks: clocks {
                        #address-cells = <1>;
                        #size-cells = <0>;
                    };

                    cm_core_aon_clockdomains: clockdomains {
                    };
                };

                cm_core: cm_core@8000 {
                    compatible = "ti,dra7-cm-core";
                    reg = <0x8000 0x3000>;

                    cm_core_clocks: clocks {
                        #address-cells = <1>;
                        #size-cells = <0>;
                    };

                    cm_core_clockdomains: clockdomains {
                    };
                };
            };

            l4_wkup: l4@4ae00000 {
                compatible = "ti,dra7-l4-wkup", "simple-bus";
                #address-cells = <1>;
                #size-cells = <1>;
                ranges = <0 0x4ae00000 0x3f000>;

                counter32k: counter@4000 {
                    compatible = "ti,omap-counter32k";
                    reg = <0x4000 0x40>;
                    ti,hwmods = "counter_32k";
                };

                prm: prm@6000 {
                    compatible = "ti,dra7-prm";
                    reg = <0x6000 0x3000>;
                    interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;

                    prm_clocks: clocks {
                        #address-cells = <1>;
                        #size-cells = <0>;
                    };

                    prm_clockdomains: clockdomains {
                    };
                };

                scm_wkup: scm_conf@c000 {
                    compatible = "syscon";
                    reg = <0xc000 0x1000>;
                };
            };

            axi@0 {
                compatible = "simple-bus";
                #size-cells = <1>;
                #address-cells = <1>;
                ranges = <0x51000000 0x51000000 0x3000
                      0x0         0x20000000 0x10000000>;
                pcie1: pcie@51000000 {
                    compatible = "ti,dra7-pcie";
                    reg = <0x51000000 0x2000>, <0x51002000 0x14c>, <0x1000 0x2000>;
                    reg-names = "rc_dbics", "ti_conf", "config";
                    interrupts = <0 232 0x4>, <0 233 0x4>;
                    #address-cells = <3>;
                    #size-cells = <2>;
                    device_type = "pci";
                    ranges = <0x81000000 0 0          0x03000 0 0x00010000
                          0x82000000 0 0x20013000 0x13000 0 0xffed000>;
                    #interrupt-cells = <1>;
                    num-lanes = <1>;
                    ti,hwmods = "pcie1";
                    phys = <&pcie1_phy>;
                    phy-names = "pcie-phy0";
                    interrupt-map-mask = <0 0 0 7>;
                    interrupt-map = <0 0 0 1 &pcie1_intc 1>,
                            <0 0 0 2 &pcie1_intc 2>,
                            <0 0 0 3 &pcie1_intc 3>,
                            <0 0 0 4 &pcie1_intc 4>;
                    pcie1_intc: interrupt-controller {
                        interrupt-controller;
                        #address-cells = <0>;
                        #interrupt-cells = <1>;
                    };
                };
            };

            axi@1 {
                compatible = "simple-bus";
                #size-cells = <1>;
                #address-cells = <1>;
                ranges = <0x51800000 0x51800000 0x3000
                      0x0         0x30000000 0x10000000>;
                status = "disabled";
                pcie@51000000 {
                    compatible = "ti,dra7-pcie";
                    reg = <0x51800000 0x2000>, <0x51802000 0x14c>, <0x1000 0x2000>;
                    reg-names = "rc_dbics", "ti_conf", "config";
                    interrupts = <0 355 0x4>, <0 356 0x4>;
                    #address-cells = <3>;
                    #size-cells = <2>;
                    device_type = "pci";
                    ranges = <0x81000000 0 0          0x03000 0 0x00010000
                          0x82000000 0 0x30013000 0x13000 0 0xffed000>;
                    #interrupt-cells = <1>;
                    num-lanes = <1>;
                    ti,hwmods = "pcie2";
                    phys = <&pcie2_phy>;
                    phy-names = "pcie-phy0";
                    interrupt-map-mask = <0 0 0 7>;
                    interrupt-map = <0 0 0 1 &pcie2_intc 1>,
                            <0 0 0 2 &pcie2_intc 2>,
                            <0 0 0 3 &pcie2_intc 3>,
                            <0 0 0 4 &pcie2_intc 4>;
                    pcie2_intc: interrupt-controller {
                        interrupt-controller;
                        #address-cells = <0>;
                        #interrupt-cells = <1>;
                    };
                };
            };

            ocmcram1: ocmcram@40300000 {
                compatible = "mmio-sram";
                reg = <0x40300000 0x80000>;
                ranges = <0x0 0x40300000 0x80000>;
                #address-cells = <1>;
                #size-cells = <1>;
                /*
                 * This is a placeholder for an optional reserved
                 * region for use by secure software. The size
                 * of this region is not known until runtime so it
                 * is set as zero to either be updated to reserve
                 * space or left unchanged to leave all SRAM for use.
                 * On HS parts that that require the reserved region
                 * either the bootloader can update the size to
                 * the required amount or the node can be overriden
                 * from the board dts file for the secure platform.
                 */
                sram-hs@0 {
                    compatible = "ti,secure-ram";
                    reg = <0x0 0x0>;
                };
            };

            /*
             * NOTE: ocmcram2 and ocmcram3 are not available on all
             * DRA7xx and AM57xx variants. Confirm availability in
             * the data manual for the exact part number in use
             * before enabling these nodes in the board dts file.
             */
            ocmcram2: ocmcram@40400000 {
                status = "disabled";
                compatible = "mmio-sram";
                reg = <0x40400000 0x100000>;
                ranges = <0x0 0x40400000 0x100000>;
                #address-cells = <1>;
                #size-cells = <1>;
            };

            ocmcram3: ocmcram@40500000 {
                status = "disabled";
                compatible = "mmio-sram";
                reg = <0x40500000 0x100000>;
                ranges = <0x0 0x40500000 0x100000>;
                #address-cells = <1>;
                #size-cells = <1>;
            };

            bandgap: bandgap@4a0021e0 {
                reg = <0x4a0021e0 0xc
                    0x4a00232c 0xc
                    0x4a002380 0x2c
                    0x4a0023C0 0x3c
                    0x4a002564 0x8
                    0x4a002574 0x50>;
                    compatible = "ti,dra752-bandgap";
                    interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
                    #thermal-sensor-cells = <1>;
            };

            dsp1_system: dsp_system@40d00000 {
                compatible = "syscon";
                reg = <0x40d00000 0x100>;
            };

            dra7_iodelay_core: padconf@4844a000 {
                compatible = "ti,dra7-iodelay";
                reg = <0x4844a000 0x0d1c>;
                #address-cells = <1>;
                #size-cells = <0>;
            };

            sdma: dma-controller@4a056000 {
                compatible = "ti,omap4430-sdma";
                reg = <0x4a056000 0x1000>;
                interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
                #dma-cells = <1>;
                dma-channels = <32>;
                dma-requests = <127>;
            };

            edma: edma@43300000 {
                compatible = "ti,edma3-tpcc";
                ti,hwmods = "tpcc";
                reg = <0x43300000 0x100000>;
                reg-names = "edma3_cc";
                interrupts = <GIC_SPI 361 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH>;
                interrupt-names = "edma3_ccint", "emda3_mperr",
                          "edma3_ccerrint";
                dma-requests = <64>;
                #dma-cells = <2>;

                ti,tptcs = <&edma_tptc0 7>, <&edma_tptc1 0>;

                /*
                 * memcpy is disabled, can be enabled with:
                 * ti,edma-memcpy-channels = <20 21>;
                 * for example. Note that these channels need to be
                 * masked in the xbar as well.
                 */
            };

            edma_tptc0: tptc@43400000 {
                compatible = "ti,edma3-tptc";
                ti,hwmods = "tptc0";
                reg =    <0x43400000 0x100000>;
                interrupts = <GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>;
                interrupt-names = "edma3_tcerrint";
            };

            edma_tptc1: tptc@43500000 {
                compatible = "ti,edma3-tptc";
                ti,hwmods = "tptc1";
                reg =    <0x43500000 0x100000>;
                interrupts = <GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>;
                interrupt-names = "edma3_tcerrint";
            };

            gpio1: gpio@4ae10000 {
                compatible = "ti,omap4-gpio";
                reg = <0x4ae10000 0x200>;
                interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "gpio1";
                gpio-controller;
                #gpio-cells = <2>;
                interrupt-controller;
                #interrupt-cells = <2>;
            };

            gpio2: gpio@48055000 {
                compatible = "ti,omap4-gpio";
                reg = <0x48055000 0x200>;
                interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "gpio2";
                gpio-controller;
                #gpio-cells = <2>;
                interrupt-controller;
                #interrupt-cells = <2>;
            };

            gpio3: gpio@48057000 {
                compatible = "ti,omap4-gpio";
                reg = <0x48057000 0x200>;
                interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "gpio3";
                gpio-controller;
                #gpio-cells = <2>;
                interrupt-controller;
                #interrupt-cells = <2>;
            };

            gpio4: gpio@48059000 {
                compatible = "ti,omap4-gpio";
                reg = <0x48059000 0x200>;
                interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "gpio4";
                gpio-controller;
                #gpio-cells = <2>;
                interrupt-controller;
                #interrupt-cells = <2>;
            };

            gpio5: gpio@4805b000 {
                compatible = "ti,omap4-gpio";
                reg = <0x4805b000 0x200>;
                interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "gpio5";
                gpio-controller;
                #gpio-cells = <2>;
                interrupt-controller;
                #interrupt-cells = <2>;
            };

            gpio6: gpio@4805d000 {
                compatible = "ti,omap4-gpio";
                reg = <0x4805d000 0x200>;
                interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "gpio6";
                gpio-controller;
                #gpio-cells = <2>;
                interrupt-controller;
                #interrupt-cells = <2>;
            };

            gpio7: gpio@48051000 {
                compatible = "ti,omap4-gpio";
                reg = <0x48051000 0x200>;
                interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "gpio7";
                gpio-controller;
                #gpio-cells = <2>;
                interrupt-controller;
                #interrupt-cells = <2>;
            };

            gpio8: gpio@48053000 {
                compatible = "ti,omap4-gpio";
                reg = <0x48053000 0x200>;
                interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "gpio8";
                gpio-controller;
                #gpio-cells = <2>;
                interrupt-controller;
                #interrupt-cells = <2>;
            };

            uart1: serial@4806a000 {
                compatible = "ti,dra742-uart", "ti,omap4-uart";
                reg = <0x4806a000 0x100>;
                interrupts-extended = <&crossbar_mpu GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "uart1";
                clock-frequency = <48000000>;
                status = "disabled";
                dmas = <&edma_xbar 49 0>, <&edma_xbar 50 0>;
                dma-names = "tx", "rx";
            };

            uart2: serial@4806c000 {
                compatible = "ti,dra742-uart", "ti,omap4-uart";
                reg = <0x4806c000 0x100>;
                interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "uart2";
                clock-frequency = <48000000>;
                status = "disabled";
                dmas = <&edma_xbar 51 0>, <&edma_xbar 52 0>;
                dma-names = "tx", "rx";
            };

            uart3: serial@48020000 {
                compatible = "ti,dra742-uart", "ti,omap4-uart";
                reg = <0x48020000 0x100>;
                interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "uart3";
                clock-frequency = <48000000>;
                status = "disabled";
                dmas = <&edma_xbar 53 0>, <&edma_xbar 54 0>;
                dma-names = "tx", "rx";
            };

            uart4: serial@4806e000 {
                compatible = "ti,dra742-uart", "ti,omap4-uart";
                reg = <0x4806e000 0x100>;
                interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "uart4";
                clock-frequency = <48000000>;
                            status = "disabled";
                dmas = <&edma_xbar 55 0>, <&edma_xbar 56 0>;
                dma-names = "tx", "rx";
            };

            uart5: serial@48066000 {
                compatible = "ti,dra742-uart", "ti,omap4-uart";
                reg = <0x48066000 0x100>;
                interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "uart5";
                clock-frequency = <48000000>;
                status = "disabled";
                dmas = <&edma_xbar 63 0>, <&edma_xbar 64 0>;
                dma-names = "tx", "rx";
            };

            uart6: serial@48068000 {
                compatible = "ti,dra742-uart", "ti,omap4-uart";
                reg = <0x48068000 0x100>;
                interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "uart6";
                clock-frequency = <48000000>;
                status = "disabled";
                dmas = <&edma_xbar 79 0>, <&edma_xbar 80 0>;
                dma-names = "tx", "rx";
            };

            uart7: serial@48420000 {
                compatible = "ti,dra742-uart", "ti,omap4-uart";
                reg = <0x48420000 0x100>;
                interrupts = <GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "uart7";
                clock-frequency = <48000000>;
                status = "disabled";
            };

            uart8: serial@48422000 {
                compatible = "ti,dra742-uart", "ti,omap4-uart";
                reg = <0x48422000 0x100>;
                interrupts = <GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "uart8";
                clock-frequency = <48000000>;
                status = "disabled";
            };

            uart9: serial@48424000 {
                compatible = "ti,dra742-uart", "ti,omap4-uart";
                reg = <0x48424000 0x100>;
                interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "uart9";
                clock-frequency = <48000000>;
                status = "disabled";
            };

            uart10: serial@4ae2b000 {
                compatible = "ti,dra742-uart", "ti,omap4-uart";
                reg = <0x4ae2b000 0x100>;
                interrupts = <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "uart10";
                clock-frequency = <48000000>;
                status = "disabled";
            };

            mailbox1: mailbox@4a0f4000 {
                compatible = "ti,omap4-mailbox";
                reg = <0x4a0f4000 0x200>;
                interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "mailbox1";
                #mbox-cells = <1>;
                ti,mbox-num-users = <3>;
                ti,mbox-num-fifos = <8>;
                status = "disabled";
            };

            mailbox2: mailbox@4883a000 {
                compatible = "ti,omap4-mailbox";
                reg = <0x4883a000 0x200>;
                interrupts = <GIC_SPI 237 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 240 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "mailbox2";
                #mbox-cells = <1>;
                ti,mbox-num-users = <4>;
                ti,mbox-num-fifos = <12>;
                status = "disabled";
            };

            mailbox3: mailbox@4883c000 {
                compatible = "ti,omap4-mailbox";
                reg = <0x4883c000 0x200>;
                interrupts = <GIC_SPI 241 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 242 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "mailbox3";
                #mbox-cells = <1>;
                ti,mbox-num-users = <4>;
                ti,mbox-num-fifos = <12>;
                status = "disabled";
            };

            mailbox4: mailbox@4883e000 {
                compatible = "ti,omap4-mailbox";
                reg = <0x4883e000 0x200>;
                interrupts = <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "mailbox4";
                #mbox-cells = <1>;
                ti,mbox-num-users = <4>;
                ti,mbox-num-fifos = <12>;
                status = "disabled";
            };

            mailbox5: mailbox@48840000 {
                compatible = "ti,omap4-mailbox";
                reg = <0x48840000 0x200>;
                interrupts = <GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 250 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "mailbox5";
                #mbox-cells = <1>;
                ti,mbox-num-users = <4>;
                ti,mbox-num-fifos = <12>;
                status = "disabled";
            };

            mailbox6: mailbox@48842000 {
                compatible = "ti,omap4-mailbox";
                reg = <0x48842000 0x200>;
                interrupts = <GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "mailbox6";
                #mbox-cells = <1>;
                ti,mbox-num-users = <4>;
                ti,mbox-num-fifos = <12>;
                status = "disabled";
            };

            mailbox7: mailbox@48844000 {
                compatible = "ti,omap4-mailbox";
                reg = <0x48844000 0x200>;
                interrupts = <GIC_SPI 257 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 258 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 259 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "mailbox7";
                #mbox-cells = <1>;
                ti,mbox-num-users = <4>;
                ti,mbox-num-fifos = <12>;
                status = "disabled";
            };

            mailbox8: mailbox@48846000 {
                compatible = "ti,omap4-mailbox";
                reg = <0x48846000 0x200>;
                interrupts = <GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 262 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 264 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "mailbox8";
                #mbox-cells = <1>;
                ti,mbox-num-users = <4>;
                ti,mbox-num-fifos = <12>;
                status = "disabled";
            };

            mailbox9: mailbox@4885e000 {
                compatible = "ti,omap4-mailbox";
                reg = <0x4885e000 0x200>;
                interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 266 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 267 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "mailbox9";
                #mbox-cells = <1>;
                ti,mbox-num-users = <4>;
                ti,mbox-num-fifos = <12>;
                status = "disabled";
            };

            mailbox10: mailbox@48860000 {
                compatible = "ti,omap4-mailbox";
                reg = <0x48860000 0x200>;
                interrupts = <GIC_SPI 269 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 270 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 271 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "mailbox10";
                #mbox-cells = <1>;
                ti,mbox-num-users = <4>;
                ti,mbox-num-fifos = <12>;
                status = "disabled";
            };

            mailbox11: mailbox@48862000 {
                compatible = "ti,omap4-mailbox";
                reg = <0x48862000 0x200>;
                interrupts = <GIC_SPI 273 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 274 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 275 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 276 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "mailbox11";
                #mbox-cells = <1>;
                ti,mbox-num-users = <4>;
                ti,mbox-num-fifos = <12>;
                status = "disabled";
            };

            mailbox12: mailbox@48864000 {
                compatible = "ti,omap4-mailbox";
                reg = <0x48864000 0x200>;
                interrupts = <GIC_SPI 277 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 278 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 279 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 280 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "mailbox12";
                #mbox-cells = <1>;
                ti,mbox-num-users = <4>;
                ti,mbox-num-fifos = <12>;
                status = "disabled";
            };

            mailbox13: mailbox@48802000 {
                compatible = "ti,omap4-mailbox";
                reg = <0x48802000 0x200>;
                interrupts = <GIC_SPI 379 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 380 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 381 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 382 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "mailbox13";
                #mbox-cells = <1>;
                ti,mbox-num-users = <4>;
                ti,mbox-num-fifos = <12>;
                status = "disabled";
            };

            timer1: timer@4ae18000 {
                compatible = "ti,omap5430-timer";
                reg = <0x4ae18000 0x80>;
                interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "timer1";
                ti,timer-alwon;
            };

            timer2: timer@48032000 {
                compatible = "ti,omap5430-timer";
                reg = <0x48032000 0x80>;
                interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "timer2";
            };

            timer3: timer@48034000 {
                compatible = "ti,omap5430-timer";
                reg = <0x48034000 0x80>;
                interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "timer3";
            };

            timer4: timer@48036000 {
                compatible = "ti,omap5430-timer";
                reg = <0x48036000 0x80>;
                interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "timer4";
            };

            timer5: timer@48820000 {
                compatible = "ti,omap5430-timer";
                reg = <0x48820000 0x80>;
                interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "timer5";
            };

            timer6: timer@48822000 {
                compatible = "ti,omap5430-timer";
                reg = <0x48822000 0x80>;
                interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "timer6";
            };

            timer7: timer@48824000 {
                compatible = "ti,omap5430-timer";
                reg = <0x48824000 0x80>;
                interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "timer7";
            };

            timer8: timer@48826000 {
                compatible = "ti,omap5430-timer";
                reg = <0x48826000 0x80>;
                interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "timer8";
            };

            timer9: timer@4803e000 {
                compatible = "ti,omap5430-timer";
                reg = <0x4803e000 0x80>;
                interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "timer9";
            };

            timer10: timer@48086000 {
                compatible = "ti,omap5430-timer";
                reg = <0x48086000 0x80>;
                interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "timer10";
            };

            timer11: timer@48088000 {
                compatible = "ti,omap5430-timer";
                reg = <0x48088000 0x80>;
                interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "timer11";
            };

            timer12: timer@4ae20000 {
                compatible = "ti,omap5430-timer";
                reg = <0x4ae20000 0x80>;
                interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "timer12";
                ti,timer-alwon;
                ti,timer-secure;
            };

            timer13: timer@48828000 {
                compatible = "ti,omap5430-timer";
                reg = <0x48828000 0x80>;
                interrupts = <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "timer13";
                status = "disabled";
            };

            timer14: timer@4882a000 {
                compatible = "ti,omap5430-timer";
                reg = <0x4882a000 0x80>;
                interrupts = <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "timer14";
                status = "disabled";
            };

            timer15: timer@4882c000 {
                compatible = "ti,omap5430-timer";
                reg = <0x4882c000 0x80>;
                interrupts = <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "timer15";
                status = "disabled";
            };

            timer16: timer@4882e000 {
                compatible = "ti,omap5430-timer";
                reg = <0x4882e000 0x80>;
                interrupts = <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "timer16";
                status = "disabled";
            };

            wdt2: wdt@4ae14000 {
                compatible = "ti,omap3-wdt";
                reg = <0x4ae14000 0x80>;
                interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "wd_timer2";
            };

            hwspinlock: spinlock@4a0f6000 {
                compatible = "ti,omap4-hwspinlock";
                reg = <0x4a0f6000 0x1000>;
                ti,hwmods = "spinlock";
                #hwlock-cells = <1>;
            };

            dmm@4e000000 {
                compatible = "ti,omap5-dmm";
                reg = <0x4e000000 0x800>;
                interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "dmm";
            };

            ipu1: ipu@58820000 {
                compatible = "ti,dra7-ipu";
                reg = <0x58820000 0x10000>;
                reg-names = "l2ram";
                ti,hwmods = "ipu1";
                iommus = <&mmu_ipu1>;
                ti,rproc-standby-info = <0x4a005520>;
                status = "disabled";
            };

            ipu2: ipu@55020000 {
                compatible = "ti,dra7-ipu";
                reg = <0x55020000 0x10000>;
                reg-names = "l2ram";
                ti,hwmods = "ipu2";
                iommus = <&mmu_ipu2>;
                ti,rproc-standby-info = <0x4a008920>;
                status = "disabled";
            };

            dsp1: dsp@40800000 {
                compatible = "ti,dra7-dsp";
                reg = <0x40800000 0x48000>,
                      <0x40e00000 0x8000>,
                      <0x40f00000 0x8000>;
                reg-names = "l2ram", "l1pram", "l1dram";
                ti,hwmods = "dsp1";
                syscon-bootreg = <&scm_conf 0x55c>;
                iommus = <&mmu0_dsp1>, <&mmu1_dsp1>;
                ti,rproc-standby-info = <0x4a005420>;
                status = "disabled";
            };

            sgx: sgx@0x56000000 {
                compatible = "ti,dra7-sgx544", "img,sgx544";
                reg = <0x5600fe00 0x200>;
                reg-names = "gpu_ocp_base";
                interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "gpu";
                clocks = <&l3_iclk_div>, <&gpu_core_gclk_mux>,
                     <&gpu_hyd_gclk_mux>;
                clock-names = "iclk", "fclk1", "fclk2";
            };

            i2c1: i2c@48070000 {
                compatible = "ti,omap4-i2c";
                reg = <0x48070000 0x100>;
                interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
                #address-cells = <1>;
                #size-cells = <0>;
                ti,hwmods = "i2c1";
                status = "disabled";
            };

            i2c2: i2c@48072000 {
                compatible = "ti,omap4-i2c";
                reg = <0x48072000 0x100>;
                interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
                #address-cells = <1>;
                #size-cells = <0>;
                ti,hwmods = "i2c2";
                status = "disabled";
            };

            i2c3: i2c@48060000 {
                compatible = "ti,omap4-i2c";
                reg = <0x48060000 0x100>;
                interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
                #address-cells = <1>;
                #size-cells = <0>;
                ti,hwmods = "i2c3";
                status = "disabled";
            };

            i2c4: i2c@4807a000 {
                compatible = "ti,omap4-i2c";
                reg = <0x4807a000 0x100>;
                interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
                #address-cells = <1>;
                #size-cells = <0>;
                ti,hwmods = "i2c4";
                status = "disabled";
            };

            i2c5: i2c@4807c000 {
                compatible = "ti,omap4-i2c";
                reg = <0x4807c000 0x100>;
                interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
                #address-cells = <1>;
                #size-cells = <0>;
                ti,hwmods = "i2c5";
                status = "disabled";
            };

            mmc1: mmc@4809c000 {
                compatible = "ti,dra7-hsmmc", "ti,omap4-hsmmc";
                reg = <0x4809c000 0x400>;
                interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "mmc1";
                ti,dual-volt;
                ti,needs-special-reset;
                dmas = <&sdma_xbar 61>, <&sdma_xbar 62>;
                dma-names = "tx", "rx";
                status = "disabled";
                pbias-supply = <&pbias_mmc_reg>;
                sd-uhs-sdr104;
                sd-uhs-sdr50;
                sd-uhs-ddr50;
                sd-uhs-sdr25;
                sd-uhs-sdr12;
            };

            mmc2: mmc@480b4000 {
                compatible = "ti,dra7-hsmmc", "ti,omap4-hsmmc";
                reg = <0x480b4000 0x400>;
                interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "mmc2";
                ti,needs-special-reset;
                dmas = <&sdma_xbar 47>, <&sdma_xbar 48>;
                dma-names = "tx", "rx";
                status = "disabled";
                sd-uhs-sdr25;
                sd-uhs-sdr12;
                mmc-hs200-1_8v;
                mmc-ddr-1_8v;
            };

            mmc3: mmc@480ad000 {
                compatible = "ti,dra7-hsmmc", "ti,omap4-hsmmc";
                reg = <0x480ad000 0x400>;
                interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "mmc3";
                ti,needs-special-reset;
                dmas = <&sdma_xbar 77>, <&sdma_xbar 78>;
                dma-names = "tx", "rx";
                status = "disabled";
                sd-uhs-sdr12;
                sd-uhs-sdr25;
                sd-uhs-sdr50;
            };

            mmc4: mmc@480d1000 {
                compatible = "ti,dra7-hsmmc", "ti,omap4-hsmmc";
                reg = <0x480d1000 0x400>;
                interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "mmc4";
                ti,needs-special-reset;
                dmas = <&sdma_xbar 57>, <&sdma_xbar 58>;
                dma-names = "tx", "rx";
                status = "disabled";
                sd-uhs-sdr12;
                sd-uhs-sdr25;
            };

            mmu0_dsp1: mmu@40d01000 {
                compatible = "ti,dra7-dsp-iommu";
                reg = <0x40d01000 0x100>;
                interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "mmu0_dsp1";
                #iommu-cells = <0>;
                ti,syscon-mmuconfig = <&dsp1_system 0x0>;
                status = "disabled";
            };

            mmu1_dsp1: mmu@40d02000 {
                compatible = "ti,dra7-dsp-iommu";
                reg = <0x40d02000 0x100>;
                interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "mmu1_dsp1";
                #iommu-cells = <0>;
                ti,syscon-mmuconfig = <&dsp1_system 0x1>;
                status = "disabled";
            };

            mmu_ipu1: mmu@58882000 {
                compatible = "ti,dra7-iommu";
                reg = <0x58882000 0x100>;
                interrupts = <GIC_SPI 395 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "mmu_ipu1";
                #iommu-cells = <0>;
                ti,iommu-bus-err-back;
                status = "disabled";
            };

            mmu_ipu2: mmu@55082000 {
                compatible = "ti,dra7-iommu";
                reg = <0x55082000 0x100>;
                interrupts = <GIC_SPI 396 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "mmu_ipu2";
                #iommu-cells = <0>;
                ti,iommu-bus-err-back;
                status = "disabled";
            };

            pruss1: pruss@4b200000 {
                compatible = "ti,am5728-pruss";
                ti,hwmods = "pruss1";
                reg = <0x4b200000 0x2000>,
                      <0x4b202000 0x2000>,
                      <0x4b210000 0x8000>,
                      <0x4b220000 0x2000>,
                      <0x4b226000 0x2000>,
                      <0x4b22e000 0x31c>,
                      <0x4b232000 0x58>;
                reg-names = "dram0", "dram1", "shrdram2", "intc", "cfg",
                        "iep", "mii_rt";
                #address-cells = <1>;
                #size-cells = <1>;
                ranges;
                status = "disabled";

                pruss1_intc: intc@4b220000 {
                    compatible = "ti,am5728-pruss-intc";
                    interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>;
                    interrupt-names = "host2", "host3", "host4",
                              "host5", "host6", "host7",
                              "host8", "host9";
                    interrupt-controller;
                    #interrupt-cells = <1>;
                };

                pru1_0: pru0@4b234000 {
                    compatible = "ti,am5728-pru";
                    reg = <0x4b234000 0x3000>,
                          <0x4b222000 0x400>,
                          <0x4b222400 0x100>;
                    reg-names = "iram", "control", "debug";
                    status = "disabled";
                };

                pru1_1: pru1@4b238000 {
                    compatible = "ti,am5728-pru";
                    reg = <0x4b238000 0x3000>,
                          <0x4b224000 0x400>,
                          <0x4b224400 0x100>;
                    reg-names = "iram", "control", "debug";
                    status = "disabled";
                };

                pruss1_mdio: mdio@4b232400 {
                    compatible = "ti,davinci_mdio";
                    #address-cells = <1>;
                    #size-cells = <0>;
                    clocks = <&dpll_gmac_h13x2_ck>;
                    clock-names = "fck";
                    bus_freq = <1000000>;
                    reg = <0x4b232400 0x90>;
                    status = "disabled";
                };
            };

            pruss2: pruss@4b280000 {
                compatible = "ti,am5728-pruss";
                ti,hwmods = "pruss2";
                reg = <0x4b280000 0x2000>,
                      <0x4b282000 0x2000>,
                      <0x4b290000 0x8000>,
                      <0x4b2a0000 0x2000>,
                      <0x4b2a6000 0x2000>,
                      <0x4b2ae000 0x31c>,
                      <0x4b2b2000 0x58>;
                reg-names = "dram0", "dram1", "shrdram2", "intc", "cfg",
                        "iep", "mii_rt";
                #address-cells = <1>;
                #size-cells = <1>;
                ranges;
                status = "disabled";

                pruss2_intc: intc@4b2a0000 {
                    compatible = "ti,am5728-pruss-intc";
                    interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH>;
                    interrupt-names = "host2", "host3", "host4",
                              "host5", "host6", "host7",
                              "host8", "host9";
                    interrupt-controller;
                    #interrupt-cells = <1>;
                };

                pru2_0: pru0@4b2b4000 {
                    compatible = "ti,am5728-pru";
                    reg = <0x4b2b4000 0x3000>,
                          <0x4b2a2000 0x400>,
                          <0x4b2a2400 0x100>;
                    reg-names = "iram", "control", "debug";
                    status = "disabled";
                };

                pru2_1: pru1@4b2b8000 {
                    compatible = "ti,am5728-pru";
                    reg = <0x4b2b8000 0x3000>,
                          <0x4b2a4000 0x400>,
                          <0x4b2a4400 0x100>;
                    reg-names = "iram", "control", "debug";
                    status = "disabled";
                };

                pruss2_mdio: mdio@4b2b2400 {
                    compatible = "ti,davinci_mdio";
                    #address-cells = <1>;
                    #size-cells = <0>;
                    clocks = <&dpll_gmac_h13x2_ck>;
                    clock-names = "fck";
                    bus_freq = <1000000>;
                    reg = <0x4b2b2400 0x90>;
                    status = "disabled";
                };
            };

            abb_mpu: regulator-abb-mpu {
                compatible = "ti,abb-v3";
                regulator-name = "abb_mpu";
                #address-cells = <0>;
                #size-cells = <0>;
                clocks = <&sys_clkin1>;
                ti,settling-time = <50>;
                ti,clock-cycles = <16>;

                reg = <0x4ae07ddc 0x4>, <0x4ae07de0 0x4>,
                      <0x4ae06014 0x4>, <0x4a003b20 0xc>,
                      <0x4ae0c158 0x4>;
                reg-names = "setup-address", "control-address",
                        "int-address", "efuse-address",
                        "ldo-address";
                ti,tranxdone-status-mask = <0x80>;
                /* LDOVBBMPU_FBB_MUX_CTRL */
                ti,ldovbb-override-mask = <0x400>;
                /* LDOVBBMPU_FBB_VSET_OUT */
                ti,ldovbb-vset-mask = <0x1F>;

                /*
                 * NOTE: only FBB mode used but actual vset will
                 * determine final biasing
                 */
                ti,abb_info = <
                /*uV        ABB    efuse    rbb_m fbb_m    vset_m*/
                1060000        0    0x0    0 0x02000000 0x01F00000
                1160000        0    0x4    0 0x02000000 0x01F00000
                1210000        0    0x8    0 0x02000000 0x01F00000
                >;
            };

            abb_ivahd: regulator-abb-ivahd {
                compatible = "ti,abb-v3";
                regulator-name = "abb_ivahd";
                #address-cells = <0>;
                #size-cells = <0>;
                clocks = <&sys_clkin1>;
                ti,settling-time = <50>;
                ti,clock-cycles = <16>;

                reg = <0x4ae07e34 0x4>, <0x4ae07e24 0x4>,
                      <0x4ae06010 0x4>, <0x4a0025cc 0xc>,
                      <0x4a002470 0x4>;
                reg-names = "setup-address", "control-address",
                        "int-address", "efuse-address",
                        "ldo-address";
                ti,tranxdone-status-mask = <0x40000000>;
                /* LDOVBBIVA_FBB_MUX_CTRL */
                ti,ldovbb-override-mask = <0x400>;
                /* LDOVBBIVA_FBB_VSET_OUT */
                ti,ldovbb-vset-mask = <0x1F>;

                /*
                 * NOTE: only FBB mode used but actual vset will
                 * determine final biasing
                 */
                ti,abb_info = <
                /*uV        ABB    efuse    rbb_m fbb_m    vset_m*/
                1055000        0    0x0    0 0x02000000 0x01F00000
                1150000        0    0x4    0 0x02000000 0x01F00000
                1250000        0    0x8    0 0x02000000 0x01F00000
                >;
            };

            abb_dspeve: regulator-abb-dspeve {
                compatible = "ti,abb-v3";
                regulator-name = "abb_dspeve";
                #address-cells = <0>;
                #size-cells = <0>;
                clocks = <&sys_clkin1>;
                ti,settling-time = <50>;
                ti,clock-cycles = <16>;

                reg = <0x4ae07e30 0x4>, <0x4ae07e20 0x4>,
                      <0x4ae06010 0x4>, <0x4a0025e0 0xc>,
                      <0x4a00246c 0x4>;
                reg-names = "setup-address", "control-address",
                        "int-address", "efuse-address",
                        "ldo-address";
                ti,tranxdone-status-mask = <0x20000000>;
                /* LDOVBBDSPEVE_FBB_MUX_CTRL */
                ti,ldovbb-override-mask = <0x400>;
                /* LDOVBBDSPEVE_FBB_VSET_OUT */
                ti,ldovbb-vset-mask = <0x1F>;

                /*
                 * NOTE: only FBB mode used but actual vset will
                 * determine final biasing
                 */
                ti,abb_info = <
                /*uV        ABB    efuse    rbb_m fbb_m    vset_m*/
                1055000        0    0x0    0 0x02000000 0x01F00000
                1150000        0    0x4    0 0x02000000 0x01F00000
                1250000        0    0x8    0 0x02000000 0x01F00000
                >;
            };

            abb_gpu: regulator-abb-gpu {
                compatible = "ti,abb-v3";
                regulator-name = "abb_gpu";
                #address-cells = <0>;
                #size-cells = <0>;
                clocks = <&sys_clkin1>;
                ti,settling-time = <50>;
                ti,clock-cycles = <16>;

                reg = <0x4ae07de4 0x4>, <0x4ae07de8 0x4>,
                      <0x4ae06010 0x4>, <0x4a003b08 0xc>,
                      <0x4ae0c154 0x4>;
                reg-names = "setup-address", "control-address",
                        "int-address", "efuse-address",
                        "ldo-address";
                ti,tranxdone-status-mask = <0x10000000>;
                /* LDOVBBGPU_FBB_MUX_CTRL */
                ti,ldovbb-override-mask = <0x400>;
                /* LDOVBBGPU_FBB_VSET_OUT */
                ti,ldovbb-vset-mask = <0x1F>;

                /*
                 * NOTE: only FBB mode used but actual vset will
                 * determine final biasing
                 */
                ti,abb_info = <
                /*uV        ABB    efuse    rbb_m fbb_m    vset_m*/
                1090000        0    0x0    0 0x02000000 0x01F00000
                1210000        0    0x4    0 0x02000000 0x01F00000
                1280000        0    0x8    0 0x02000000 0x01F00000
                >;
            };

            oppdm_mpu: oppdm@4a003b20 {
                compatible = "ti,omap5-oppdm";
                #oppdm-cells = <0>;
                vbb-supply = <&abb_mpu>;
                reg = <0x4a003b20 0xc>;
                ti,efuse-settings = <
                /* uV   offset */
                1060000 0x0
                1160000 0x4
                1210000 0x8
                >;
                ti,absolute-max-voltage-uv = <1500000>;
            };

            oppdm_ivahd: oppdm@4a0025cc {
                compatible = "ti,omap5-oppdm";
                #oppdm-cells = <0>;
                vbb-supply = <&abb_ivahd>;
                reg = <0x4a0025cc 0xc>;
                ti,efuse-settings = <
                /* uV   offset */
                1055000 0x0
                1150000 0x4
                1250000 0x8
                >;
                ti,absolute-max-voltage-uv = <1500000>;
            };

            oppdm_dspeve: oppdm@4a0025e0 {
                compatible = "ti,omap5-oppdm";
                #oppdm-cells = <0>;
                vbb-supply = <&abb_dspeve>;
                reg = <0x4a0025e0 0xc>;
                ti,efuse-settings = <
                /* uV   offset */
                1055000 0x0
                1150000 0x4
                1250000 0x8
                >;
                ti,absolute-max-voltage-uv = <1500000>;
            };

            oppdm_gpu: oppdm@4a003b08 {
                compatible = "ti,omap5-oppdm";
                #oppdm-cells = <0>;
                vbb-supply = <&abb_gpu>;
                reg = <0x4a003b08 0xc>;
                ti,efuse-settings = <
                /* uV   offset */
                1090000 0x0
                1210000 0x4
                1280000 0x8
                >;
                ti,absolute-max-voltage-uv = <1500000>;
            };

            oppdm_core: oppdm@4a0025f4 {
                compatible = "ti,omap5-core-oppdm";
                #oppdm-cells = <0>;
                reg = <0x4a0025f4 0x4>;
                ti,efuse-settings = <
                /* uV   offset */
                1090000 0x0
                >;
                ti,absolute-max-voltage-uv = <1500000>;
            };

            mcspi1: spi@48098000 {
                compatible = "ti,omap4-mcspi";
                reg = <0x48098000 0x200>;
                interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
                #address-cells = <1>;
                #size-cells = <0>;
                ti,hwmods = "mcspi1";
                ti,spi-num-cs = <4>;
                dmas = <&sdma_xbar 35>,
                       <&sdma_xbar 36>,
                       <&sdma_xbar 37>,
                       <&sdma_xbar 38>,
                       <&sdma_xbar 39>,
                       <&sdma_xbar 40>,
                       <&sdma_xbar 41>,
                       <&sdma_xbar 42>;
                dma-names = "tx0", "rx0", "tx1", "rx1",
                        "tx2", "rx2", "tx3", "rx3";
                status = "disabled";
            };

            mcspi2: spi@4809a000 {
                compatible = "ti,omap4-mcspi";
                reg = <0x4809a000 0x200>;
                interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
                #address-cells = <1>;
                #size-cells = <0>;
                ti,hwmods = "mcspi2";
                ti,spi-num-cs = <2>;
                dmas = <&sdma_xbar 43>,
                       <&sdma_xbar 44>,
                       <&sdma_xbar 45>,
                       <&sdma_xbar 46>;
                dma-names = "tx0", "rx0", "tx1", "rx1";
                status = "disabled";
            };

            mcspi3: spi@480b8000 {
                compatible = "ti,omap4-mcspi";
                reg = <0x480b8000 0x200>;
                interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
                #address-cells = <1>;
                #size-cells = <0>;
                ti,hwmods = "mcspi3";
                ti,spi-num-cs = <2>;
                dmas = <&sdma_xbar 15>, <&sdma_xbar 16>;
                dma-names = "tx0", "rx0";
                status = "disabled";
            };

            mcspi4: spi@480ba000 {
                compatible = "ti,omap4-mcspi";
                reg = <0x480ba000 0x200>;
                interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
                #address-cells = <1>;
                #size-cells = <0>;
                ti,hwmods = "mcspi4";
                ti,spi-num-cs = <1>;
                dmas = <&sdma_xbar 70>, <&sdma_xbar 71>;
                dma-names = "tx0", "rx0";
                status = "disabled";
            };

            qspi: qspi@4b300000 {
                compatible = "ti,dra7xxx-qspi";
                reg = <0x4b300000 0x100>,
                      <0x5c000000 0x4000000>;
                reg-names = "qspi_base", "qspi_mmap";
                syscon-chipselects = <&scm_conf 0x558>;
                #address-cells = <1>;
                #size-cells = <0>;
                ti,hwmods = "qspi";
                clocks = <&qspi_gfclk_div>;
                clock-names = "fck";
                num-cs = <4>;
                interrupts = <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>;
                status = "disabled";
            };

            /* OCP2SCP3 */
            ocp2scp@4a090000 {
                compatible = "ti,omap-ocp2scp";
                #address-cells = <1>;
                #size-cells = <1>;
                ranges;
                reg = <0x4a090000 0x20>;
                ti,hwmods = "ocp2scp3";
                sata_phy: phy@4A096000 {
                    compatible = "ti,phy-pipe3-sata";
                    reg = <0x4A096000 0x80>, /* phy_rx */
                          <0x4A096400 0x64>, /* phy_tx */
                          <0x4A096800 0x40>; /* pll_ctrl */
                    reg-names = "phy_rx", "phy_tx", "pll_ctrl";
                    syscon-phy-power = <&scm_conf 0x374>;
                    clocks = <&sys_clkin1>, <&sata_ref_clk>;
                    clock-names = "sysclk", "refclk";
                    syscon-pllreset = <&scm_conf 0x3fc>;
                    #phy-cells = <0>;
                };

                pcie1_phy: pciephy@4a094000 {
                    compatible = "ti,phy-pipe3-pcie";
                    reg = <0x4a094000 0x80>, /* phy_rx */
                          <0x4a094400 0x64>; /* phy_tx */
                    reg-names = "phy_rx", "phy_tx";
                    syscon-phy-power = <&scm_conf_pcie 0x1c>;
                    syscon-pcs = <&scm_conf_pcie 0x10>;
                    clocks = <&dpll_pcie_ref_ck>,
                         <&dpll_pcie_ref_m2ldo_ck>,
                         <&optfclk_pciephy1_32khz>,
                         <&optfclk_pciephy1_clk>,
                         <&optfclk_pciephy1_div_clk>,
                         <&optfclk_pciephy_div>,
                         <&sys_clkin1>;
                    clock-names = "dpll_ref", "dpll_ref_m2",
                              "wkupclk", "refclk",
                              "div-clk", "phy-div", "sysclk";
                    #phy-cells = <0>;
                };

                pcie2_phy: pciephy@4a095000 {
                    compatible = "ti,phy-pipe3-pcie";
                    reg = <0x4a095000 0x80>, /* phy_rx */
                          <0x4a095400 0x64>; /* phy_tx */
                    reg-names = "phy_rx", "phy_tx";
                    syscon-phy-power = <&scm_conf_pcie 0x20>;
                    syscon-pcs = <&scm_conf_pcie 0x10>;
                    clocks = <&dpll_pcie_ref_ck>,
                         <&dpll_pcie_ref_m2ldo_ck>,
                         <&optfclk_pciephy2_32khz>,
                         <&optfclk_pciephy2_clk>,
                         <&optfclk_pciephy2_div_clk>,
                         <&optfclk_pciephy_div>,
                         <&sys_clkin1>;
                    clock-names = "dpll_ref", "dpll_ref_m2",
                              "wkupclk", "refclk",
                              "div-clk", "phy-div", "sysclk";
                    #phy-cells = <0>;
                    status = "disabled";
                };
            };

            sata: sata@4a141100 {
                compatible = "snps,dwc-ahci";
                reg = <0x4a140000 0x1100>, <0x4a141100 0x7>;
                interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
                phys = <&sata_phy>;
                phy-names = "sata-phy";
                clocks = <&sata_ref_clk>;
                ti,hwmods = "sata";
            };

            rtc: rtc@48838000 {
                compatible = "ti,am3352-rtc";
                reg = <0x48838000 0x100>;
                interrupts = <GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "rtcss";
                clocks = <&sys_32k_ck>;
            };

            /* OCP2SCP1 */
            ocp2scp@4a080000 {
                compatible = "ti,omap-ocp2scp";
                #address-cells = <1>;
                #size-cells = <1>;
                ranges;
                reg = <0x4a080000 0x20>;
                ti,hwmods = "ocp2scp1";

                usb2_phy1: phy@4a084000 {
                    compatible = "ti,dra7x-usb2", "ti,omap-usb2";
                    reg = <0x4a084000 0x400>;
                    syscon-phy-power = <&scm_conf 0x300>;
                    clocks = <&usb_phy1_always_on_clk32k>,
                         <&usb_otg_ss1_refclk960m>;
                    clock-names =    "wkupclk",
                            "refclk";
                    #phy-cells = <0>;
                };

                usb2_phy2: phy@4a085000 {
                    compatible = "ti,dra7x-usb2-phy2",
                             "ti,omap-usb2";
                    reg = <0x4a085000 0x400>;
                    syscon-phy-power = <&scm_conf 0xe74>;
                    clocks = <&usb_phy2_always_on_clk32k>,
                         <&usb_otg_ss2_refclk960m>;
                    clock-names =    "wkupclk",
                            "refclk";
                    #phy-cells = <0>;
                };

                usb3_phy1: phy@4a084400 {
                    compatible = "ti,omap-usb3";
                    reg = <0x4a084400 0x80>,
                          <0x4a084800 0x64>,
                          <0x4a084c00 0x40>;
                    reg-names = "phy_rx", "phy_tx", "pll_ctrl";
                    syscon-phy-power = <&scm_conf 0x370>;
                    clocks = <&usb_phy3_always_on_clk32k>,
                         <&sys_clkin1>,
                         <&usb_otg_ss1_refclk960m>;
                    clock-names =    "wkupclk",
                            "sysclk",
                            "refclk";
                    #phy-cells = <0>;
                };
            };

            omap_dwc3_1: omap_dwc3_1@48880000 {
                compatible = "ti,dwc3";
                ti,hwmods = "usb_otg_ss1";
                reg = <0x48880000 0x10000>;
                interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
                #address-cells = <1>;
                #size-cells = <1>;
                utmi-mode = <2>;
                ranges;
                usb1: usb@48890000 {
                    compatible = "snps,dwc3";
                    reg = <0x48890000 0x17000>;
                    interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
                    interrupt-names = "peripheral",
                              "host",
                              "otg";
                    phys = <&usb2_phy1>, <&usb3_phy1>;
                    phy-names = "usb2-phy", "usb3-phy";
                    tx-fifo-resize;
                    maximum-speed = "super-speed";
                    dr_mode = "otg";
                    snps,dis_u3_susphy_quirk;
                    snps,dis_u2_susphy_quirk;
                };
            };

            omap_dwc3_2: omap_dwc3_2@488c0000 {
                compatible = "ti,dwc3";
                ti,hwmods = "usb_otg_ss2";
                reg = <0x488c0000 0x10000>;
                interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
                #address-cells = <1>;
                #size-cells = <1>;
                utmi-mode = <2>;
                ranges;
                usb2: usb@488d0000 {
                    compatible = "snps,dwc3";
                    reg = <0x488d0000 0x17000>;
                    interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
                    interrupt-names = "peripheral",
                              "host",
                              "otg";
                    phys = <&usb2_phy2>;
                    phy-names = "usb2-phy";
                    tx-fifo-resize;
                    maximum-speed = "high-speed";
                    dr_mode = "otg";
                    snps,dis_u3_susphy_quirk;
                    snps,dis_u2_susphy_quirk;
                };
            };

            /* IRQ for DWC3_3 and DWC3_4 need IRQ crossbar */
            omap_dwc3_3: omap_dwc3_3@48900000 {
                compatible = "ti,dwc3";
                ti,hwmods = "usb_otg_ss3";
                reg = <0x48900000 0x10000>;
                interrupts = <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH>;
                #address-cells = <1>;
                #size-cells = <1>;
                utmi-mode = <2>;
                ranges;
                status = "disabled";
                usb3: usb@48910000 {
                    compatible = "snps,dwc3";
                    reg = <0x48910000 0x17000>;
                    interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH>;
                    interrupt-names = "peripheral",
                              "host",
                              "otg";
                    tx-fifo-resize;
                    maximum-speed = "high-speed";
                    dr_mode = "otg";
                    snps,dis_u3_susphy_quirk;
                    snps,dis_u2_susphy_quirk;
                };
            };

            elm: elm@48078000 {
                compatible = "ti,am3352-elm";
                reg = <0x48078000 0xfc0>;      /* device IO registers */
                interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "elm";
                status = "disabled";
            };

            gpmc: gpmc@50000000 {
                compatible = "ti,am3352-gpmc";
                ti,hwmods = "gpmc";
                reg = <0x50000000 0x37c>;      /* device IO registers */
                interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
                dmas = <&edma_xbar 4 0>;
                dma-names = "rxtx";
                gpmc,num-cs = <8>;
                gpmc,num-waitpins = <2>;
                #address-cells = <2>;
                #size-cells = <1>;
                interrupt-controller;
                #interrupt-cells = <2>;
                gpio-controller;
                #gpio-cells = <2>;
                status = "disabled";
            };

            atl: atl@4843c000 {
                compatible = "ti,dra7-atl";
                reg = <0x4843c000 0x3ff>;
                ti,hwmods = "atl";
                ti,provided-clocks = <&atl_clkin0_ck>, <&atl_clkin1_ck>,
                             <&atl_clkin2_ck>, <&atl_clkin3_ck>;
                clocks = <&atl_gfclk_mux>;
                clock-names = "fck";
                status = "disabled";
            };

            mcasp1: mcasp@48460000 {
                compatible = "ti,dra7-mcasp-audio";
                ti,hwmods = "mcasp1";
                reg = <0x48460000 0x2000>,
                      <0x45800000 0x1000>;
                reg-names = "mpu","dat";
                interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
                interrupt-names = "tx", "rx";
                dmas = <&edma_xbar 129 1>, <&edma_xbar 128 1>;
                dma-names = "tx", "rx";
                clocks = <&mcasp1_aux_gfclk_mux>, <&mcasp1_ahclkx_mux>,
                     <&mcasp1_ahclkr_mux>;
                clock-names = "fck", "ahclkx", "ahclkr";
                status = "disabled";
            };

            mcasp2: mcasp@48464000 {
                compatible = "ti,dra7-mcasp-audio";
                ti,hwmods = "mcasp2";
                reg = <0x48464000 0x2000>,
                      <0x45c00000 0x1000>;
                reg-names = "mpu","dat";
                interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
                interrupt-names = "tx", "rx";
                dmas = <&edma_xbar 131 1>, <&edma_xbar 130 1>;
                dma-names = "tx", "rx";
                clocks = <&mcasp2_aux_gfclk_mux>, <&mcasp2_ahclkx_mux>,
                     <&mcasp2_ahclkr_mux>;
                clock-names = "fck", "ahclkx", "ahclkr";
                status = "disabled";
            };

            mcasp3: mcasp@48468000 {
                compatible = "ti,dra7-mcasp-audio";
                ti,hwmods = "mcasp3";
                reg = <0x48468000 0x2000>,
                      <0x46000000 0x1000>;
                reg-names = "mpu","dat";
                interrupts = <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>;
                interrupt-names = "tx", "rx";
                dmas = <&edma_xbar 133 1>, <&edma_xbar 132 1>;
                dma-names = "tx", "rx";
                clocks = <&mcasp3_aux_gfclk_mux>, <&mcasp3_ahclkx_mux>;
                clock-names = "fck", "ahclkx";
                status = "disabled";
            };

            mcasp4: mcasp@4846c000 {
                compatible = "ti,dra7-mcasp-audio";
                ti,hwmods = "mcasp4";
                reg = <0x4846c000 0x2000>,
                      <0x48436000 0x1000>;
                reg-names = "mpu","dat";
                interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
                interrupt-names = "tx", "rx";
                dmas = <&edma_xbar 135 1>, <&edma_xbar 134 1>;
                dma-names = "tx", "rx";
                clocks = <&mcasp4_aux_gfclk_mux>, <&mcasp4_ahclkx_mux>;
                clock-names = "fck", "ahclkx";
                status = "disabled";
            };

            mcasp5: mcasp@48470000 {
                compatible = "ti,dra7-mcasp-audio";
                ti,hwmods = "mcasp5";
                reg = <0x48470000 0x2000>,
                      <0x4843a000 0x1000>;
                reg-names = "mpu","dat";
                interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
                interrupt-names = "tx", "rx";
                dmas = <&edma_xbar 137 1>, <&edma_xbar 136 1>;
                dma-names = "tx", "rx";
                clocks = <&mcasp5_aux_gfclk_mux>, <&mcasp5_ahclkx_mux>;
                clock-names = "fck", "ahclkx";
                status = "disabled";
            };

            mcasp6: mcasp@48474000 {
                compatible = "ti,dra7-mcasp-audio";
                ti,hwmods = "mcasp6";
                reg = <0x48474000 0x2000>,
                      <0x4844c000 0x1000>;
                reg-names = "mpu","dat";
                interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>;
                interrupt-names = "tx", "rx";
                dmas = <&edma_xbar 139 1>, <&edma_xbar 138 1>;
                dma-names = "tx", "rx";
                clocks = <&mcasp6_aux_gfclk_mux>, <&mcasp6_ahclkx_mux>;
                clock-names = "fck", "ahclkx";
                status = "disabled";
            };

            mcasp7: mcasp@48478000 {
                compatible = "ti,dra7-mcasp-audio";
                ti,hwmods = "mcasp7";
                reg = <0x48478000 0x2000>,
                      <0x48450000 0x1000>;
                reg-names = "mpu","dat";
                interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
                interrupt-names = "tx", "rx";
                dmas = <&edma_xbar 141 1>, <&edma_xbar 140 1>;
                dma-names = "tx", "rx";
                clocks = <&mcasp7_aux_gfclk_mux>, <&mcasp7_ahclkx_mux>;
                clock-names = "fck", "ahclkx";
                status = "disabled";
            };

            mcasp8: mcasp@4847c000 {
                compatible = "ti,dra7-mcasp-audio";
                ti,hwmods = "mcasp8";
                reg = <0x4847c000 0x2000>,
                      <0x48454000 0x1000>;
                reg-names = "mpu","dat";
                interrupts = <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>;
                interrupt-names = "tx", "rx";
                dmas = <&edma_xbar 143 1>, <&edma_xbar 142 1>;
                dma-names = "tx", "rx";
                clocks = <&mcasp8_aux_gfclk_mux>, <&mcasp8_ahclkx_mux>;
                clock-names = "fck", "ahclkx";
                status = "disabled";
            };

            crossbar_mpu: crossbar@4a002a48 {
                compatible = "ti,irq-crossbar";
                reg = <0x4a002a48 0x130>;
                interrupt-controller;
                interrupt-parent = <&wakeupgen>;
                #interrupt-cells = <3>;
                ti,max-irqs = <160>;
                ti,max-crossbar-sources = <MAX_SOURCES>;
                ti,reg-size = <2>;
                ti,irqs-reserved = <0 1 2 3 5 6 131 132>;
                ti,irqs-skip = <10 133 139 140>;
                ti,irqs-safe-map = <0>;
            };

            mac: ethernet@48484000 {
                compatible = "ti,dra7-cpsw","ti,cpsw";
                ti,hwmods = "gmac";
                clocks = <&dpll_gmac_ck>, <&gmac_gmii_ref_clk_div>;
                clock-names = "fck", "cpts";
                cpdma_channels = <8>;
                ale_entries = <1024>;
                bd_ram_size = <0x2000>;
                no_bd_ram = <0>;
                rx_descs = <64>;
                mac_control = <0x20>;
                slaves = <2>;
                active_slave = <0>;
                cpts_clock_mult = <0x80000000>;
                cpts_clock_shift = <29>;
                reg = <0x48484000 0x1000
                       0x48485200 0x2E00>;
                #address-cells = <1>;
                #size-cells = <1>;

                /*
                 * Do not allow gating of cpsw clock as workaround
                 * for errata i877. Keeping internal clock disabled
                 * causes the device switching characteristics
                 * to degrade over time and eventually fail to meet
                 * the data manual delay time/skew specs.
                 */
                ti,no-idle;

                /*
                 * rx_thresh_pend
                 * rx_pend
                 * tx_pend
                 * misc_pend
                 */
                interrupts = <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>;
                ranges;
                syscon = <&scm_conf>;
                status = "disabled";

                davinci_mdio: mdio@48485000 {
                    compatible = "ti,davinci_mdio";
                    #address-cells = <1>;
                    #size-cells = <0>;
                    ti,hwmods = "davinci_mdio";
                    bus_freq = <1000000>;
                    reg = <0x48485000 0x100>;
                };

                cpsw_emac0: slave@48480200 {
                    /* Filled in by U-Boot */
                    mac-address = [ 00 00 00 00 00 00 ];
                };

                cpsw_emac1: slave@48480300 {
                    /* Filled in by U-Boot */
                    mac-address = [ 00 00 00 00 00 00 ];
                };

                phy_sel: cpsw-phy-sel@4a002554 {
                    compatible = "ti,dra7xx-cpsw-phy-sel";
                    reg= <0x4a002554 0x4>;
                    reg-names = "gmii-sel";
                };
            };

            dcan1: can@481cc000 {
                compatible = "ti,dra7-d_can";
                ti,hwmods = "dcan1";
                reg = <0x4ae3c000 0x2000>;
                syscon-raminit = <&scm_conf 0x558 0>;
                interrupts = <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&dcan1_sys_clk_mux>;
                status = "disabled";
            };

            dcan2: can@481d0000 {
                compatible = "ti,dra7-d_can";
                ti,hwmods = "dcan2";
                reg = <0x48480000 0x2000>;
                syscon-raminit = <&scm_conf 0x558 1>;
                interrupts = <GIC_SPI 225 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&sys_clkin1>;
                status = "disabled";
            };

            dss: dss@58000000 {
                compatible = "ti,dra7-dss";
                /* 'reg' defined in dra72x.dtsi and dra74x.dtsi */
                /* 'clocks' defined in dra72x.dtsi and dra74x.dtsi */
                status = "disabled";
                ti,hwmods = "dss_core";
                /* CTRL_CORE_DSS_PLL_CONTROL */
                syscon-pll-ctrl = <&scm_conf 0x538>;
                #address-cells = <1>;
                #size-cells = <1>;
                ranges;

                dispc@58001000 {
                    compatible = "ti,dra7-dispc";
                    reg = <0x58001000 0x1000>;
                    interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
                    ti,hwmods = "dss_dispc";
                    clocks = <&dss_dss_clk>;
                    clock-names = "fck";
                    /* CTRL_CORE_SMA_SW_1 */
                    syscon-pol = <&scm_conf 0x534>;
                };

                hdmi: encoder@58060000 {
                    compatible = "ti,dra7-hdmi";
                    reg = <0x58040000 0x200>,
                          <0x58040200 0x80>,
                          <0x58040300 0x80>,
                          <0x58060000 0x19000>;
                    reg-names = "wp", "pll", "phy", "core";
                    interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
                    status = "disabled";
                    ti,hwmods = "dss_hdmi";
                    clocks = <&dss_48mhz_clk>, <&dss_hdmi_clk>;
                    clock-names = "fck", "sys_clk";
                    dmas = <&sdma_xbar 76>;
                    dma-names = "audio_tx";
                };
            };

            vpe {
                compatible = "ti,vpe";
                ti,hwmods = "vpe";
                clocks = <&dpll_core_h23x2_ck>;
                clock-names = "fck";
                reg = <0x489d0000 0x120>,
                      <0x489d0300 0x20>,
                      <0x489d0400 0x20>,
                      <0x489d0500 0x20>,
                      <0x489d0600 0x3c>,
                      <0x489d0700 0x80>,
                      <0x489d5700 0x18>,
                      <0x489dd000 0x400>;
                reg-names = "vpe_top",
                        "vpe_chr_us0",
                        "vpe_chr_us1",
                        "vpe_chr_us2",
                        "vpe_dei",
                        "sc",
                        "csc",
                        "vpdma";
                interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
                #address-cells = <1>;
                #size-cells = <0>;
            };

            vip1: vip@0x48970000 {
                compatible = "ti,vip1";
                reg = <0x48970000 0x114>,
                      <0x48975500 0xD8>,
                      <0x48975700 0x18>,
                      <0x48975800 0x80>,
                      <0x48975a00 0xD8>,
                      <0x48975c00 0x18>,
                      <0x48975d00 0x80>,
                      <0x4897d000 0x400>;
                reg-names = "vip",
                        "parser0",
                        "csc0",
                        "sc0",
                        "parser1",
                        "csc1",
                        "sc1",
                        "vpdma";
                ti,hwmods = "vip1";
                interrupts = <GIC_SPI 351 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 392 IRQ_TYPE_LEVEL_HIGH>;
                /* CTRL_CORE_SMA_SW_1 */
                syscon-pol = <&scm_conf 0x534>;
                #address-cells = <1>;
                #size-cells = <0>;
                status = "disabled";
                vin1a: port@0 {
                    #address-cells = <1>;
                    #size-cells = <0>;
                    reg = <0>;
                    status = "disabled";
                };
                vin2a: port@1 {
                    #address-cells = <1>;
                    #size-cells = <0>;
                    reg = <1>;
                    status = "disabled";
                };
                vin1b: port@2 {
                    #address-cells = <1>;
                    #size-cells = <0>;
                    reg = <2>;
                    status = "disabled";
                };
                vin2b: port@3 {
                    #address-cells = <1>;
                    #size-cells = <0>;
                    reg = <3>;
                    status = "disabled";
                };
            };

            epwmss0: epwmss@4843e000 {
                compatible = "ti,dra7xx-pwmss", "ti,am33xx-pwmss";
                reg = <0x4843e000 0x30>;
                ti,hwmods = "epwmss0";
                #address-cells = <1>;
                #size-cells = <1>;
                status = "disabled";
                ranges;

                ehrpwm0: pwm@4843e200 {
                    compatible = "ti,dra7xx-ehrpwm",
                             "ti,am33xx-ehrpwm";
                    #pwm-cells = <3>;
                    reg = <0x4843e200 0x80>;
                    clocks = <&ehrpwm0_tbclk>;
                    clock-names = "tbclk";
                    status = "disabled";
                };

                ecap0: ecap@4843e100 {
                    compatible = "ti,dra7xx-ecap",
                             "ti,am33xx-ecap";
                    #pwm-cells = <3>;
                    reg = <0x4843e100 0x80>;
                    status = "disabled";
                };
            };

            epwmss1: epwmss@48440000 {
                compatible = "ti,dra7xx-pwmss", "ti,am33xx-pwmss";
                reg = <0x48440000 0x30>;
                ti,hwmods = "epwmss1";
                #address-cells = <1>;
                #size-cells = <1>;
                status = "disabled";
                ranges;

                ehrpwm1: pwm@48440200 {
                    compatible = "ti,dra7xx-ehrpwm",
                             "ti,am33xx-ehrpwm";
                    #pwm-cells = <3>;
                    reg = <0x48440200 0x80>;
                    clocks = <&ehrpwm1_tbclk>;
                    clock-names = "tbclk";
                    status = "disabled";
                };

                ecap1: ecap@48440100 {
                    compatible = "ti,dra7xx-ecap",
                             "ti,am33xx-ecap";
                    #pwm-cells = <3>;
                    reg = <0x48440100 0x80>;
                    status = "disabled";
                };
            };

            epwmss2: epwmss@48442000 {
                compatible = "ti,dra7xx-pwmss", "ti,am33xx-pwmss";
                reg = <0x48442000 0x30>;
                ti,hwmods = "epwmss2";
                #address-cells = <1>;
                #size-cells = <1>;
                status = "disabled";
                ranges;

                ehrpwm2: pwm@48442200 {
                    compatible = "ti,dra7xx-ehrpwm",
                             "ti,am33xx-ehrpwm";
                    #pwm-cells = <3>;
                    reg = <0x48442200 0x80>;
                    clocks = <&ehrpwm2_tbclk>;
                    clock-names = "tbclk";
                    status = "disabled";
                };

                ecap2: ecap@48442100 {
                    compatible = "ti,dra7xx-ecap",
                             "ti,am33xx-ecap";
                    #pwm-cells = <3>;
                    reg = <0x48442100 0x80>;
                    status = "disabled";
                };
            };

            aes1: aes@4b500000 {
                compatible = "ti,omap4-aes";
                ti,hwmods = "aes1";
                reg = <0x4b500000 0xa0>;
                interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
                dmas = <&edma_xbar 111 0>, <&edma_xbar 110 0>;
                dma-names = "tx", "rx";
                clocks = <&l3_iclk_div>;
                clock-names = "fck";
            };

            aes2: aes@4b700000 {
                compatible = "ti,omap4-aes";
                ti,hwmods = "aes2";
                reg = <0x4b700000 0xa0>;
                interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
                dmas = <&edma_xbar 114 0>, <&edma_xbar 113 0>;
                dma-names = "tx", "rx";
                clocks = <&l3_iclk_div>;
                clock-names = "fck";
            };

            des: des@480a5000 {
                compatible = "ti,omap4-des";
                ti,hwmods = "des";
                reg = <0x480a5000 0xa0>;
                interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
                dmas = <&sdma_xbar 117>, <&sdma_xbar 116>;
                dma-names = "tx", "rx";
                clocks = <&l3_iclk_div>;
                clock-names = "fck";
            };

            sham: sham@53100000 {
                compatible = "ti,omap5-sham";
                ti,hwmods = "sham";
                reg = <0x4b101000 0x300>;
                interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
                dmas = <&edma_xbar 119 0>;
                dma-names = "rx";
                clocks = <&l3_iclk_div>;
                clock-names = "fck";
            };

            rng: rng@48090000 {
                compatible = "ti,omap4-rng";
                ti,hwmods = "rng";
                reg = <0x48090000 0x2000>;
                interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&l3_iclk_div>;
                clock-names = "fck";
            };
        };
    #if THERMAL_ZONES
        thermal_zones: thermal-zones {
            #include "omap4-cpu-thermal.dtsi"
            #include "omap5-gpu-thermal.dtsi"
            #include "omap5-core-thermal.dtsi"
            #include "dra7-dspeve-thermal.dtsi"
            #include "dra7-iva-thermal.dtsi"
        };
    #endif
    };

    #if THERMAL_ZONES
    &cpu_thermal {
        polling-delay = <500>; /* milliseconds */
    };
    #endif

    /************************************************************************************/
    /*dra7xx-clocks.dtsi*/
    /*
     * Device Tree Source for DRA7xx clock data
     *
     * Copyright (C) 2013 Texas Instruments, Inc.
     *
     * This program is free software; you can redistribute it and/or modify
     * it under the terms of the GNU General Public License version 2 as
     * published by the Free Software Foundation.
     */
    &cm_core_aon_clocks {
        atl_clkin0_ck: atl_clkin0_ck {
            #clock-cells = <0>;
            compatible = "ti,dra7-atl-clock";
            clocks = <&atl_gfclk_mux>;
        };

        atl_clkin1_ck: atl_clkin1_ck {
            #clock-cells = <0>;
            compatible = "ti,dra7-atl-clock";
            clocks = <&atl_gfclk_mux>;
        };

        atl_clkin2_ck: atl_clkin2_ck {
            #clock-cells = <0>;
            compatible = "ti,dra7-atl-clock";
            clocks = <&atl_gfclk_mux>;
        };

        atl_clkin3_ck: atl_clkin3_ck {
            #clock-cells = <0>;
            compatible = "ti,dra7-atl-clock";
            clocks = <&atl_gfclk_mux>;
        };

        hdmi_clkin_ck: hdmi_clkin_ck {
            #clock-cells = <0>;
            compatible = "fixed-clock";
            clock-frequency = <0>;
        };

        mlb_clkin_ck: mlb_clkin_ck {
            #clock-cells = <0>;
            compatible = "fixed-clock";
            clock-frequency = <0>;
        };

        mlbp_clkin_ck: mlbp_clkin_ck {
            #clock-cells = <0>;
            compatible = "fixed-clock";
            clock-frequency = <0>;
        };

        pciesref_acs_clk_ck: pciesref_acs_clk_ck {
            #clock-cells = <0>;
            compatible = "fixed-clock";
            clock-frequency = <100000000>;
        };

        ref_clkin0_ck: ref_clkin0_ck {
            #clock-cells = <0>;
            compatible = "fixed-clock";
            clock-frequency = <0>;
        };

        ref_clkin1_ck: ref_clkin1_ck {
            #clock-cells = <0>;
            compatible = "fixed-clock";
            clock-frequency = <0>;
        };

        ref_clkin2_ck: ref_clkin2_ck {
            #clock-cells = <0>;
            compatible = "fixed-clock";
            clock-frequency = <0>;
        };

        ref_clkin3_ck: ref_clkin3_ck {
            #clock-cells = <0>;
            compatible = "fixed-clock";
            clock-frequency = <0>;
        };

        rmii_clk_ck: rmii_clk_ck {
            #clock-cells = <0>;
            compatible = "fixed-clock";
            clock-frequency = <0>;
        };

        sdvenc_clkin_ck: sdvenc_clkin_ck {
            #clock-cells = <0>;
            compatible = "fixed-clock";
            clock-frequency = <0>;
        };

        secure_32k_clk_src_ck: secure_32k_clk_src_ck {
            #clock-cells = <0>;
            compatible = "fixed-clock";
            clock-frequency = <32768>;
        };

        sys_clk32_crystal_ck: sys_clk32_crystal_ck {
            #clock-cells = <0>;
            compatible = "fixed-clock";
            clock-frequency = <32768>;
        };

        sys_clk32_pseudo_ck: sys_clk32_pseudo_ck {
            #clock-cells = <0>;
            compatible = "fixed-factor-clock";
            clocks = <&sys_clkin1>;
            clock-mult = <1>;
            clock-div = <610>;
        };

        virt_12000000_ck: virt_12000000_ck {
            #clock-cells = <0>;
            compatible = "fixed-clock";
            clock-frequency = <12000000>;
        };

        virt_13000000_ck: virt_13000000_ck {
            #clock-cells = <0>;
            compatible = "fixed-clock";
            clock-frequency = <13000000>;
        };

        virt_16800000_ck: virt_16800000_ck {
            #clock-cells = <0>;
            compatible = "fixed-clock";
            clock-frequency = <16800000>;
        };

        virt_19200000_ck: virt_19200000_ck {
            #clock-cells = <0>;
            compatible = "fixed-clock";
            clock-frequency = <19200000>;
        };

        virt_20000000_ck: virt_20000000_ck {
            #clock-cells = <0>;
            compatible = "fixed-clock";
            clock-frequency = <20000000>;
        };

        virt_26000000_ck: virt_26000000_ck {
            #clock-cells = <0>;
            compatible = "fixed-clock";
            clock-frequency = <26000000>;
        };

        virt_27000000_ck: virt_27000000_ck {
            #clock-cells = <0>;
            compatible = "fixed-clock";
            clock-frequency = <27000000>;
        };

        virt_38400000_ck: virt_38400000_ck {
            #clock-cells = <0>;
            compatible = "fixed-clock";
            clock-frequency = <38400000>;
        };

        sys_clkin2: sys_clkin2 {
            #clock-cells = <0>;
            compatible = "fixed-clock";
            clock-frequency = <22579200>;
        };

        usb_otg_clkin_ck: usb_otg_clkin_ck {
            #clock-cells = <0>;
            compatible = "fixed-clock";
            clock-frequency = <0>;
        };

        video1_clkin_ck: video1_clkin_ck {
            #clock-cells = <0>;
            compatible = "fixed-clock";
            clock-frequency = <0>;
        };

        video1_m2_clkin_ck: video1_m2_clkin_ck {
            #clock-cells = <0>;
            compatible = "fixed-clock";
            clock-frequency = <0>;
        };

        video2_clkin_ck: video2_clkin_ck {
            #clock-cells = <0>;
            compatible = "fixed-clock";
            clock-frequency = <0>;
        };

        video2_m2_clkin_ck: video2_m2_clkin_ck {
            #clock-cells = <0>;
            compatible = "fixed-clock";
            clock-frequency = <0>;
        };

        dpll_abe_ck: dpll_abe_ck {
            #clock-cells = <0>;
            compatible = "ti,omap4-dpll-m4xen-clock";
            clocks = <&abe_dpll_clk_mux>, <&abe_dpll_bypass_clk_mux>;
            reg = <0x01e0>, <0x01e4>, <0x01ec>, <0x01e8>;
        };

        dpll_abe_x2_ck: dpll_abe_x2_ck {
            #clock-cells = <0>;
            compatible = "ti,omap4-dpll-x2-clock";
            clocks = <&dpll_abe_ck>;
        };

        dpll_abe_m2x2_ck: dpll_abe_m2x2_ck {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&dpll_abe_x2_ck>;
            ti,max-div = <31>;
            ti,autoidle-shift = <8>;
            reg = <0x01f0>;
            ti,index-starts-at-one;
            ti,invert-autoidle-bit;
        };

        abe_clk: abe_clk {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&dpll_abe_m2x2_ck>;
            ti,max-div = <4>;
            reg = <0x0108>;
            ti,index-power-of-two;
        };

        dpll_abe_m2_ck: dpll_abe_m2_ck {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&dpll_abe_ck>;
            ti,max-div = <31>;
            ti,autoidle-shift = <8>;
            reg = <0x01f0>;
            ti,index-starts-at-one;
            ti,invert-autoidle-bit;
        };

        dpll_abe_m3x2_ck: dpll_abe_m3x2_ck {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&dpll_abe_x2_ck>;
            ti,max-div = <31>;
            ti,autoidle-shift = <8>;
            reg = <0x01f4>;
            ti,index-starts-at-one;
            ti,invert-autoidle-bit;
        };

        dpll_core_byp_mux: dpll_core_byp_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&sys_clkin1>, <&dpll_abe_m3x2_ck>;
            ti,bit-shift = <23>;
            reg = <0x012c>;
        };

        dpll_core_ck: dpll_core_ck {
            #clock-cells = <0>;
            compatible = "ti,omap4-dpll-core-clock";
            clocks = <&sys_clkin1>, <&dpll_core_byp_mux>;
            reg = <0x0120>, <0x0124>, <0x012c>, <0x0128>;
        };

        dpll_core_x2_ck: dpll_core_x2_ck {
            #clock-cells = <0>;
            compatible = "ti,omap4-dpll-x2-clock";
            clocks = <&dpll_core_ck>;
        };

        dpll_core_h12x2_ck: dpll_core_h12x2_ck {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&dpll_core_x2_ck>;
            ti,max-div = <63>;
            ti,autoidle-shift = <8>;
            reg = <0x013c>;
            ti,index-starts-at-one;
            ti,invert-autoidle-bit;
        };

        mpu_dpll_hs_clk_div: mpu_dpll_hs_clk_div {
            #clock-cells = <0>;
            compatible = "fixed-factor-clock";
            clocks = <&dpll_core_h12x2_ck>;
            clock-mult = <1>;
            clock-div = <1>;
        };

        dpll_mpu_ck: dpll_mpu_ck {
            #clock-cells = <0>;
            compatible = "ti,omap5-mpu-dpll-clock";
            clocks = <&sys_clkin1>, <&mpu_dpll_hs_clk_div>;
            reg = <0x0160>, <0x0164>, <0x016c>, <0x0168>;
        };

        dpll_mpu_m2_ck: dpll_mpu_m2_ck {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&dpll_mpu_ck>;
            ti,max-div = <31>;
            ti,autoidle-shift = <8>;
            reg = <0x0170>;
            ti,index-starts-at-one;
            ti,invert-autoidle-bit;
        };

        mpu_dclk_div: mpu_dclk_div {
            #clock-cells = <0>;
            compatible = "fixed-factor-clock";
            clocks = <&dpll_mpu_m2_ck>;
            clock-mult = <1>;
            clock-div = <1>;
        };

        dsp_dpll_hs_clk_div: dsp_dpll_hs_clk_div {
            #clock-cells = <0>;
            compatible = "fixed-factor-clock";
            clocks = <&dpll_core_h12x2_ck>;
            clock-mult = <1>;
            clock-div = <1>;
        };

        dpll_dsp_byp_mux: dpll_dsp_byp_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&sys_clkin1>, <&dsp_dpll_hs_clk_div>;
            ti,bit-shift = <23>;
            reg = <0x0240>;
        };

        dpll_dsp_ck: dpll_dsp_ck {
            #clock-cells = <0>;
            compatible = "ti,omap4-dpll-clock";
            clocks = <&sys_clkin1>, <&dpll_dsp_byp_mux>;
            reg = <0x0234>, <0x0238>, <0x0240>, <0x023c>;
            assigned-clocks = <&dpll_dsp_ck>;
            assigned-clock-rates = <600000000>;
        };

        dpll_dsp_m2_ck: dpll_dsp_m2_ck {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&dpll_dsp_ck>;
            ti,max-div = <31>;
            ti,autoidle-shift = <8>;
            reg = <0x0244>;
            ti,index-starts-at-one;
            ti,invert-autoidle-bit;
            assigned-clocks = <&dpll_dsp_m2_ck>;
            assigned-clock-rates = <600000000>;
        };

        iva_dpll_hs_clk_div: iva_dpll_hs_clk_div {
            #clock-cells = <0>;
            compatible = "fixed-factor-clock";
            clocks = <&dpll_core_h12x2_ck>;
            clock-mult = <1>;
            clock-div = <1>;
        };

        dpll_iva_byp_mux: dpll_iva_byp_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&sys_clkin1>, <&iva_dpll_hs_clk_div>;
            ti,bit-shift = <23>;
            reg = <0x01ac>;
        };

        dpll_iva_ck: dpll_iva_ck {
            #clock-cells = <0>;
            compatible = "ti,omap4-dpll-clock";
            clocks = <&sys_clkin1>, <&dpll_iva_byp_mux>;
            reg = <0x01a0>, <0x01a4>, <0x01ac>, <0x01a8>;
            assigned-clocks = <&dpll_iva_ck>;
            assigned-clock-rates = <1165000000>;
        };

        dpll_iva_m2_ck: dpll_iva_m2_ck {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&dpll_iva_ck>;
            ti,max-div = <31>;
            ti,autoidle-shift = <8>;
            reg = <0x01b0>;
            ti,index-starts-at-one;
            ti,invert-autoidle-bit;
            assigned-clocks = <&dpll_iva_m2_ck>;
            assigned-clock-rates = <388333334>;
        };

        iva_dclk: iva_dclk {
            #clock-cells = <0>;
            compatible = "fixed-factor-clock";
            clocks = <&dpll_iva_m2_ck>;
            clock-mult = <1>;
            clock-div = <1>;
        };

        dpll_gpu_byp_mux: dpll_gpu_byp_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&sys_clkin1>, <&dpll_abe_m3x2_ck>;
            ti,bit-shift = <23>;
            reg = <0x02e4>;
        };

        dpll_gpu_ck: dpll_gpu_ck {
            #clock-cells = <0>;
            compatible = "ti,omap4-dpll-clock";
            clocks = <&sys_clkin1>, <&dpll_gpu_byp_mux>;
            reg = <0x02d8>, <0x02dc>, <0x02e4>, <0x02e0>;
        };

        dpll_gpu_m2_ck: dpll_gpu_m2_ck {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&dpll_gpu_ck>;
            ti,max-div = <31>;
            ti,autoidle-shift = <8>;
            reg = <0x02e8>;
            ti,index-starts-at-one;
            ti,invert-autoidle-bit;
        };

        dpll_core_m2_ck: dpll_core_m2_ck {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&dpll_core_ck>;
            ti,max-div = <31>;
            ti,autoidle-shift = <8>;
            reg = <0x0130>;
            ti,index-starts-at-one;
            ti,invert-autoidle-bit;
        };

        core_dpll_out_dclk_div: core_dpll_out_dclk_div {
            #clock-cells = <0>;
            compatible = "fixed-factor-clock";
            clocks = <&dpll_core_m2_ck>;
            clock-mult = <1>;
            clock-div = <1>;
        };

        dpll_ddr_byp_mux: dpll_ddr_byp_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&sys_clkin1>, <&dpll_abe_m3x2_ck>;
            ti,bit-shift = <23>;
            reg = <0x021c>;
        };

        dpll_ddr_ck: dpll_ddr_ck {
            #clock-cells = <0>;
            compatible = "ti,omap4-dpll-clock";
            clocks = <&sys_clkin1>, <&dpll_ddr_byp_mux>;
            reg = <0x0210>, <0x0214>, <0x021c>, <0x0218>;
        };

        dpll_ddr_m2_ck: dpll_ddr_m2_ck {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&dpll_ddr_ck>;
            ti,max-div = <31>;
            ti,autoidle-shift = <8>;
            reg = <0x0220>;
            ti,index-starts-at-one;
            ti,invert-autoidle-bit;
        };

        dpll_gmac_byp_mux: dpll_gmac_byp_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&sys_clkin1>, <&dpll_abe_m3x2_ck>;
            ti,bit-shift = <23>;
            reg = <0x02b4>;
        };

        dpll_gmac_ck: dpll_gmac_ck {
            #clock-cells = <0>;
            compatible = "ti,omap4-dpll-clock";
            clocks = <&sys_clkin1>, <&dpll_gmac_byp_mux>;
            reg = <0x02a8>, <0x02ac>, <0x02b4>, <0x02b0>;
        };

        dpll_gmac_m2_ck: dpll_gmac_m2_ck {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&dpll_gmac_ck>;
            ti,max-div = <31>;
            ti,autoidle-shift = <8>;
            reg = <0x02b8>;
            ti,index-starts-at-one;
            ti,invert-autoidle-bit;
        };

        video2_dclk_div: video2_dclk_div {
            #clock-cells = <0>;
            compatible = "fixed-factor-clock";
            clocks = <&video2_m2_clkin_ck>;
            clock-mult = <1>;
            clock-div = <1>;
        };

        video1_dclk_div: video1_dclk_div {
            #clock-cells = <0>;
            compatible = "fixed-factor-clock";
            clocks = <&video1_m2_clkin_ck>;
            clock-mult = <1>;
            clock-div = <1>;
        };

        hdmi_dclk_div: hdmi_dclk_div {
            #clock-cells = <0>;
            compatible = "fixed-factor-clock";
            clocks = <&hdmi_clkin_ck>;
            clock-mult = <1>;
            clock-div = <1>;
        };

        per_dpll_hs_clk_div: per_dpll_hs_clk_div {
            #clock-cells = <0>;
            compatible = "fixed-factor-clock";
            clocks = <&dpll_abe_m3x2_ck>;
            clock-mult = <1>;
            clock-div = <2>;
        };

        usb_dpll_hs_clk_div: usb_dpll_hs_clk_div {
            #clock-cells = <0>;
            compatible = "fixed-factor-clock";
            clocks = <&dpll_abe_m3x2_ck>;
            clock-mult = <1>;
            clock-div = <3>;
        };

        eve_dpll_hs_clk_div: eve_dpll_hs_clk_div {
            #clock-cells = <0>;
            compatible = "fixed-factor-clock";
            clocks = <&dpll_core_h12x2_ck>;
            clock-mult = <1>;
            clock-div = <1>;
        };

        dpll_eve_byp_mux: dpll_eve_byp_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&sys_clkin1>, <&eve_dpll_hs_clk_div>;
            ti,bit-shift = <23>;
            reg = <0x0290>;
        };

        dpll_eve_ck: dpll_eve_ck {
            #clock-cells = <0>;
            compatible = "ti,omap4-dpll-clock";
            clocks = <&sys_clkin1>, <&dpll_eve_byp_mux>;
            reg = <0x0284>, <0x0288>, <0x0290>, <0x028c>;
        };

        dpll_eve_m2_ck: dpll_eve_m2_ck {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&dpll_eve_ck>;
            ti,max-div = <31>;
            ti,autoidle-shift = <8>;
            reg = <0x0294>;
            ti,index-starts-at-one;
            ti,invert-autoidle-bit;
        };

        eve_dclk_div: eve_dclk_div {
            #clock-cells = <0>;
            compatible = "fixed-factor-clock";
            clocks = <&dpll_eve_m2_ck>;
            clock-mult = <1>;
            clock-div = <1>;
        };

        dpll_core_h13x2_ck: dpll_core_h13x2_ck {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&dpll_core_x2_ck>;
            ti,max-div = <63>;
            ti,autoidle-shift = <8>;
            reg = <0x0140>;
            ti,index-starts-at-one;
            ti,invert-autoidle-bit;
        };

        dpll_core_h14x2_ck: dpll_core_h14x2_ck {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&dpll_core_x2_ck>;
            ti,max-div = <63>;
            ti,autoidle-shift = <8>;
            reg = <0x0144>;
            ti,index-starts-at-one;
            ti,invert-autoidle-bit;
        };

        dpll_core_h22x2_ck: dpll_core_h22x2_ck {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&dpll_core_x2_ck>;
            ti,max-div = <63>;
            ti,autoidle-shift = <8>;
            reg = <0x0154>;
            ti,index-starts-at-one;
            ti,invert-autoidle-bit;
        };

        dpll_core_h23x2_ck: dpll_core_h23x2_ck {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&dpll_core_x2_ck>;
            ti,max-div = <63>;
            ti,autoidle-shift = <8>;
            reg = <0x0158>;
            ti,index-starts-at-one;
            ti,invert-autoidle-bit;
        };

        dpll_core_h24x2_ck: dpll_core_h24x2_ck {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&dpll_core_x2_ck>;
            ti,max-div = <63>;
            ti,autoidle-shift = <8>;
            reg = <0x015c>;
            ti,index-starts-at-one;
            ti,invert-autoidle-bit;
        };

        dpll_ddr_x2_ck: dpll_ddr_x2_ck {
            #clock-cells = <0>;
            compatible = "ti,omap4-dpll-x2-clock";
            clocks = <&dpll_ddr_ck>;
        };

        dpll_ddr_h11x2_ck: dpll_ddr_h11x2_ck {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&dpll_ddr_x2_ck>;
            ti,max-div = <63>;
            ti,autoidle-shift = <8>;
            reg = <0x0228>;
            ti,index-starts-at-one;
            ti,invert-autoidle-bit;
        };

        dpll_dsp_x2_ck: dpll_dsp_x2_ck {
            #clock-cells = <0>;
            compatible = "ti,omap4-dpll-x2-clock";
            clocks = <&dpll_dsp_ck>;
        };

        dpll_dsp_m3x2_ck: dpll_dsp_m3x2_ck {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&dpll_dsp_x2_ck>;
            ti,max-div = <31>;
            ti,autoidle-shift = <8>;
            reg = <0x0248>;
            ti,index-starts-at-one;
            ti,invert-autoidle-bit;
            assigned-clocks = <&dpll_dsp_m3x2_ck>;
            assigned-clock-rates = <400000000>;
        };

        dpll_gmac_x2_ck: dpll_gmac_x2_ck {
            #clock-cells = <0>;
            compatible = "ti,omap4-dpll-x2-clock";
            clocks = <&dpll_gmac_ck>;
        };

        dpll_gmac_h11x2_ck: dpll_gmac_h11x2_ck {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&dpll_gmac_x2_ck>;
            ti,max-div = <63>;
            ti,autoidle-shift = <8>;
            reg = <0x02c0>;
            ti,index-starts-at-one;
            ti,invert-autoidle-bit;
        };

        dpll_gmac_h12x2_ck: dpll_gmac_h12x2_ck {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&dpll_gmac_x2_ck>;
            ti,max-div = <63>;
            ti,autoidle-shift = <8>;
            reg = <0x02c4>;
            ti,index-starts-at-one;
            ti,invert-autoidle-bit;
        };

        dpll_gmac_h13x2_ck: dpll_gmac_h13x2_ck {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&dpll_gmac_x2_ck>;
            ti,max-div = <63>;
            ti,autoidle-shift = <8>;
            reg = <0x02c8>;
            ti,index-starts-at-one;
            ti,invert-autoidle-bit;
        };

        dpll_gmac_m3x2_ck: dpll_gmac_m3x2_ck {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&dpll_gmac_x2_ck>;
            ti,max-div = <31>;
            ti,autoidle-shift = <8>;
            reg = <0x02bc>;
            ti,index-starts-at-one;
            ti,invert-autoidle-bit;
        };

        gmii_m_clk_div: gmii_m_clk_div {
            #clock-cells = <0>;
            compatible = "fixed-factor-clock";
            clocks = <&dpll_gmac_h11x2_ck>;
            clock-mult = <1>;
            clock-div = <2>;
        };

        hdmi_clk2_div: hdmi_clk2_div {
            #clock-cells = <0>;
            compatible = "fixed-factor-clock";
            clocks = <&hdmi_clkin_ck>;
            clock-mult = <1>;
            clock-div = <1>;
        };

        hdmi_div_clk: hdmi_div_clk {
            #clock-cells = <0>;
            compatible = "fixed-factor-clock";
            clocks = <&hdmi_clkin_ck>;
            clock-mult = <1>;
            clock-div = <1>;
        };

        l3_iclk_div: l3_iclk_div {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            ti,max-div = <2>;
            ti,bit-shift = <4>;
            reg = <0x0100>;
            clocks = <&dpll_core_h12x2_ck>;
            ti,index-power-of-two;
        };

        l4_root_clk_div: l4_root_clk_div {
            #clock-cells = <0>;
            compatible = "fixed-factor-clock";
            clocks = <&l3_iclk_div>;
            clock-mult = <1>;
            clock-div = <2>;
        };

        video1_clk2_div: video1_clk2_div {
            #clock-cells = <0>;
            compatible = "fixed-factor-clock";
            clocks = <&video1_clkin_ck>;
            clock-mult = <1>;
            clock-div = <1>;
        };

        video1_div_clk: video1_div_clk {
            #clock-cells = <0>;
            compatible = "fixed-factor-clock";
            clocks = <&video1_clkin_ck>;
            clock-mult = <1>;
            clock-div = <1>;
        };

        video2_clk2_div: video2_clk2_div {
            #clock-cells = <0>;
            compatible = "fixed-factor-clock";
            clocks = <&video2_clkin_ck>;
            clock-mult = <1>;
            clock-div = <1>;
        };

        video2_div_clk: video2_div_clk {
            #clock-cells = <0>;
            compatible = "fixed-factor-clock";
            clocks = <&video2_clkin_ck>;
            clock-mult = <1>;
            clock-div = <1>;
        };

        ipu1_gfclk_mux: ipu1_gfclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&dpll_abe_m2x2_ck>, <&dpll_core_h22x2_ck>;
            ti,bit-shift = <24>;
            reg = <0x0520>;
            assigned-clocks = <&ipu1_gfclk_mux>;
            assigned-clock-parents = <&dpll_core_h22x2_ck>;
        };

        mcasp1_ahclkr_mux: mcasp1_ahclkr_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&abe_24m_fclk>, <&abe_sys_clk_div>, <&func_24m_clk>, <&atl_clkin3_ck>, <&atl_clkin2_ck>, <&atl_clkin1_ck>, <&atl_clkin0_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&mlb_clk>, <&mlbp_clk>;
            ti,bit-shift = <28>;
            reg = <0x0550>;
        };

        mcasp1_ahclkx_mux: mcasp1_ahclkx_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&abe_24m_fclk>, <&abe_sys_clk_div>, <&func_24m_clk>, <&atl_clkin3_ck>, <&atl_clkin2_ck>, <&atl_clkin1_ck>, <&atl_clkin0_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&mlb_clk>, <&mlbp_clk>;
            ti,bit-shift = <24>;
            reg = <0x0550>;
        };

        mcasp1_aux_gfclk_mux: mcasp1_aux_gfclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&per_abe_x1_gfclk2_div>, <&video1_clk2_div>, <&video2_clk2_div>, <&hdmi_clk2_div>;
            ti,bit-shift = <22>;
            reg = <0x0550>;
        };

        timer5_gfclk_mux: timer5_gfclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&timer_sys_clk_div>, <&sys_32k_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&abe_giclk_div>, <&video1_div_clk>, <&video2_div_clk>, <&hdmi_div_clk>, <&clkoutmux0_clk_mux>;
            ti,bit-shift = <24>;
            reg = <0x0558>;
        };

        timer6_gfclk_mux: timer6_gfclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&timer_sys_clk_div>, <&sys_32k_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&abe_giclk_div>, <&video1_div_clk>, <&video2_div_clk>, <&hdmi_div_clk>, <&clkoutmux0_clk_mux>;
            ti,bit-shift = <24>;
            reg = <0x0560>;
        };

        timer7_gfclk_mux: timer7_gfclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&timer_sys_clk_div>, <&sys_32k_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&abe_giclk_div>, <&video1_div_clk>, <&video2_div_clk>, <&hdmi_div_clk>, <&clkoutmux0_clk_mux>;
            ti,bit-shift = <24>;
            reg = <0x0568>;
        };

        timer8_gfclk_mux: timer8_gfclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&timer_sys_clk_div>, <&sys_32k_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&abe_giclk_div>, <&video1_div_clk>, <&video2_div_clk>, <&hdmi_div_clk>, <&clkoutmux0_clk_mux>;
            ti,bit-shift = <24>;
            reg = <0x0570>;
        };

        uart6_gfclk_mux: uart6_gfclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&func_48m_fclk>, <&dpll_per_m2x2_ck>;
            ti,bit-shift = <24>;
            reg = <0x0580>;
        };

        dummy_ck: dummy_ck {
            #clock-cells = <0>;
            compatible = "fixed-clock";
            clock-frequency = <0>;
        };
    };
    &prm_clocks {
        sys_clkin1: sys_clkin1 {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&virt_12000000_ck>, <&virt_20000000_ck>, <&virt_16800000_ck>, <&virt_19200000_ck>, <&virt_26000000_ck>, <&virt_27000000_ck>, <&virt_38400000_ck>;
            reg = <0x0110>;
            ti,index-starts-at-one;
        };

        abe_dpll_sys_clk_mux: abe_dpll_sys_clk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&sys_clkin1>, <&sys_clkin2>;
            reg = <0x0118>;
        };

        abe_dpll_bypass_clk_mux: abe_dpll_bypass_clk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&abe_dpll_sys_clk_mux>, <&sys_32k_ck>;
            reg = <0x0114>;
        };

        abe_dpll_clk_mux: abe_dpll_clk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&abe_dpll_sys_clk_mux>, <&sys_32k_ck>;
            reg = <0x010c>;
        };

        abe_24m_fclk: abe_24m_fclk {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&dpll_abe_m2x2_ck>;
            reg = <0x011c>;
            ti,dividers = <8>, <16>;
        };

        aess_fclk: aess_fclk {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&abe_clk>;
            reg = <0x0178>;
            ti,max-div = <2>;
        };

        abe_giclk_div: abe_giclk_div {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&aess_fclk>;
            reg = <0x0174>;
            ti,max-div = <2>;
        };

        abe_lp_clk_div: abe_lp_clk_div {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&dpll_abe_m2x2_ck>;
            reg = <0x01d8>;
            ti,dividers = <16>, <32>;
        };

        abe_sys_clk_div: abe_sys_clk_div {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&sys_clkin1>;
            reg = <0x0120>;
            ti,max-div = <2>;
        };

        adc_gfclk_mux: adc_gfclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&sys_clkin1>, <&sys_clkin2>, <&sys_32k_ck>;
            reg = <0x01dc>;
        };

        sys_clk1_dclk_div: sys_clk1_dclk_div {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&sys_clkin1>;
            ti,max-div = <64>;
            reg = <0x01c8>;
            ti,index-power-of-two;
        };

        sys_clk2_dclk_div: sys_clk2_dclk_div {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&sys_clkin2>;
            ti,max-div = <64>;
            reg = <0x01cc>;
            ti,index-power-of-two;
        };

        per_abe_x1_dclk_div: per_abe_x1_dclk_div {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&dpll_abe_m2_ck>;
            ti,max-div = <64>;
            reg = <0x01bc>;
            ti,index-power-of-two;
        };

        dsp_gclk_div: dsp_gclk_div {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&dpll_dsp_m2_ck>;
            ti,max-div = <64>;
            reg = <0x018c>;
            ti,index-power-of-two;
        };

        gpu_dclk: gpu_dclk {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&dpll_gpu_m2_ck>;
            ti,max-div = <64>;
            reg = <0x01a0>;
            ti,index-power-of-two;
        };

        emif_phy_dclk_div: emif_phy_dclk_div {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&dpll_ddr_m2_ck>;
            ti,max-div = <64>;
            reg = <0x0190>;
            ti,index-power-of-two;
        };

        gmac_250m_dclk_div: gmac_250m_dclk_div {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&dpll_gmac_m2_ck>;
            ti,max-div = <64>;
            reg = <0x019c>;
            ti,index-power-of-two;
        };

        l3init_480m_dclk_div: l3init_480m_dclk_div {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&dpll_usb_m2_ck>;
            ti,max-div = <64>;
            reg = <0x01ac>;
            ti,index-power-of-two;
        };

        usb_otg_dclk_div: usb_otg_dclk_div {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&usb_otg_clkin_ck>;
            ti,max-div = <64>;
            reg = <0x0184>;
            ti,index-power-of-two;
        };

        sata_dclk_div: sata_dclk_div {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&sys_clkin1>;
            ti,max-div = <64>;
            reg = <0x01c0>;
            ti,index-power-of-two;
        };

        pcie2_dclk_div: pcie2_dclk_div {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&dpll_pcie_ref_m2_ck>;
            ti,max-div = <64>;
            reg = <0x01b8>;
            ti,index-power-of-two;
        };

        pcie_dclk_div: pcie_dclk_div {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&apll_pcie_m2_ck>;
            ti,max-div = <64>;
            reg = <0x01b4>;
            ti,index-power-of-two;
        };

        emu_dclk_div: emu_dclk_div {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&sys_clkin1>;
            ti,max-div = <64>;
            reg = <0x0194>;
            ti,index-power-of-two;
        };

        secure_32k_dclk_div: secure_32k_dclk_div {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&secure_32k_clk_src_ck>;
            ti,max-div = <64>;
            reg = <0x01c4>;
            ti,index-power-of-two;
        };

        clkoutmux0_clk_mux: clkoutmux0_clk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&sys_clk1_dclk_div>, <&sys_clk2_dclk_div>, <&per_abe_x1_dclk_div>, <&mpu_dclk_div>, <&dsp_gclk_div>, <&iva_dclk>, <&gpu_dclk>, <&core_dpll_out_dclk_div>, <&emif_phy_dclk_div>, <&gmac_250m_dclk_div>, <&video2_dclk_div>, <&video1_dclk_div>, <&hdmi_dclk_div>, <&func_96m_aon_dclk_div>, <&l3init_480m_dclk_div>, <&usb_otg_dclk_div>, <&sata_dclk_div>, <&pcie2_dclk_div>, <&pcie_dclk_div>, <&emu_dclk_div>, <&secure_32k_dclk_div>, <&eve_dclk_div>;
            reg = <0x0158>;
        };

        clkoutmux1_clk_mux: clkoutmux1_clk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&sys_clk1_dclk_div>, <&sys_clk2_dclk_div>, <&per_abe_x1_dclk_div>, <&mpu_dclk_div>, <&dsp_gclk_div>, <&iva_dclk>, <&gpu_dclk>, <&core_dpll_out_dclk_div>, <&emif_phy_dclk_div>, <&gmac_250m_dclk_div>, <&video2_dclk_div>, <&video1_dclk_div>, <&hdmi_dclk_div>, <&func_96m_aon_dclk_div>, <&l3init_480m_dclk_div>, <&usb_otg_dclk_div>, <&sata_dclk_div>, <&pcie2_dclk_div>, <&pcie_dclk_div>, <&emu_dclk_div>, <&secure_32k_dclk_div>, <&eve_dclk_div>;
            reg = <0x015c>;
        };

        clkoutmux2_clk_mux: clkoutmux2_clk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&sys_clk1_dclk_div>, <&sys_clk2_dclk_div>, <&per_abe_x1_dclk_div>, <&mpu_dclk_div>, <&dsp_gclk_div>, <&iva_dclk>, <&gpu_dclk>, <&core_dpll_out_dclk_div>, <&emif_phy_dclk_div>, <&gmac_250m_dclk_div>, <&video2_dclk_div>, <&video1_dclk_div>, <&hdmi_dclk_div>, <&func_96m_aon_dclk_div>, <&l3init_480m_dclk_div>, <&usb_otg_dclk_div>, <&sata_dclk_div>, <&pcie2_dclk_div>, <&pcie_dclk_div>, <&emu_dclk_div>, <&secure_32k_dclk_div>, <&eve_dclk_div>;
            reg = <0x0160>;
        };

        custefuse_sys_gfclk_div: custefuse_sys_gfclk_div {
            #clock-cells = <0>;
            compatible = "fixed-factor-clock";
            clocks = <&sys_clkin1>;
            clock-mult = <1>;
            clock-div = <2>;
        };

        eve_clk: eve_clk {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&dpll_eve_m2_ck>, <&dpll_dsp_m3x2_ck>;
            reg = <0x0180>;
        };

        hdmi_dpll_clk_mux: hdmi_dpll_clk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&sys_clkin1>, <&sys_clkin2>;
            reg = <0x0164>;
        };

        mlb_clk: mlb_clk {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&mlb_clkin_ck>;
            ti,max-div = <64>;
            reg = <0x0134>;
            ti,index-power-of-two;
        };

        mlbp_clk: mlbp_clk {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&mlbp_clkin_ck>;
            ti,max-div = <64>;
            reg = <0x0130>;
            ti,index-power-of-two;
        };

        per_abe_x1_gfclk2_div: per_abe_x1_gfclk2_div {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&dpll_abe_m2_ck>;
            ti,max-div = <64>;
            reg = <0x0138>;
            ti,index-power-of-two;
        };

        timer_sys_clk_div: timer_sys_clk_div {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&sys_clkin1>;
            reg = <0x0144>;
            ti,max-div = <2>;
        };

        video1_dpll_clk_mux: video1_dpll_clk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&sys_clkin1>, <&sys_clkin2>;
            reg = <0x0168>;
        };

        video2_dpll_clk_mux: video2_dpll_clk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&sys_clkin1>, <&sys_clkin2>;
            reg = <0x016c>;
        };

        wkupaon_iclk_mux: wkupaon_iclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&sys_clkin1>, <&abe_lp_clk_div>;
            reg = <0x0108>;
        };

        gpio1_dbclk: gpio1_dbclk {
            #clock-cells = <0>;
            compatible = "ti,gate-clock";
            clocks = <&sys_32k_ck>;
            ti,bit-shift = <8>;
            reg = <0x1838>;
        };

        dcan1_sys_clk_mux: dcan1_sys_clk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&sys_clkin1>, <&sys_clkin2>;
            ti,bit-shift = <24>;
            reg = <0x1888>;
        };

        timer1_gfclk_mux: timer1_gfclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&timer_sys_clk_div>, <&sys_32k_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&abe_giclk_div>, <&video1_div_clk>, <&video2_div_clk>, <&hdmi_div_clk>;
            ti,bit-shift = <24>;
            reg = <0x1840>;
        };

        uart10_gfclk_mux: uart10_gfclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&func_48m_fclk>, <&dpll_per_m2x2_ck>;
            ti,bit-shift = <24>;
            reg = <0x1880>;
        };
    };
    &cm_core_clocks {
        dpll_pcie_ref_ck: dpll_pcie_ref_ck {
            #clock-cells = <0>;
            compatible = "ti,omap4-dpll-clock";
            clocks = <&sys_clkin1>, <&sys_clkin1>;
            reg = <0x0200>, <0x0204>, <0x020c>, <0x0208>;
        };

        dpll_pcie_ref_m2ldo_ck: dpll_pcie_ref_m2ldo_ck {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&dpll_pcie_ref_ck>;
            ti,max-div = <31>;
            ti,autoidle-shift = <8>;
            reg = <0x0210>;
            ti,index-starts-at-one;
            ti,invert-autoidle-bit;
        };

        apll_pcie_in_clk_mux: apll_pcie_in_clk_mux@4ae06118 {
            compatible = "ti,mux-clock";
            clocks = <&dpll_pcie_ref_m2ldo_ck>, <&pciesref_acs_clk_ck>;
            #clock-cells = <0>;
            reg = <0x021c 0x4>;
            ti,bit-shift = <7>;
        };

        apll_pcie_ck: apll_pcie_ck {
            #clock-cells = <0>;
            compatible = "ti,dra7-apll-clock";
            clocks = <&apll_pcie_in_clk_mux>, <&dpll_pcie_ref_ck>;
            reg = <0x021c>, <0x0220>;
        };

        optfclk_pciephy1_32khz: optfclk_pciephy1_32khz@4a0093b0 {
            compatible = "ti,gate-clock";
            clocks = <&sys_32k_ck>;
            #clock-cells = <0>;
            reg = <0x13b0>;
            ti,bit-shift = <8>;
        };

        optfclk_pciephy2_32khz: optfclk_pciephy2_32khz@4a0093b8 {
            compatible = "ti,gate-clock";
            clocks = <&sys_32k_ck>;
            #clock-cells = <0>;
            reg = <0x13b8>;
            ti,bit-shift = <8>;
        };

        optfclk_pciephy_div: optfclk_pciephy_div@4a00821c {
            compatible = "ti,divider-clock";
            clocks = <&apll_pcie_ck>;
            #clock-cells = <0>;
            reg = <0x021c>;
            ti,dividers = <2>, <1>;
            ti,bit-shift = <8>;
            ti,max-div = <2>;
        };

        optfclk_pciephy1_clk: optfclk_pciephy1_clk@4a0093b0 {
            compatible = "ti,gate-clock";
            clocks = <&apll_pcie_ck>;
            #clock-cells = <0>;
            reg = <0x13b0>;
            ti,bit-shift = <9>;
        };

        optfclk_pciephy2_clk: optfclk_pciephy2_clk@4a0093b8 {
            compatible = "ti,gate-clock";
            clocks = <&apll_pcie_ck>;
            #clock-cells = <0>;
            reg = <0x13b8>;
            ti,bit-shift = <9>;
        };

        optfclk_pciephy1_div_clk: optfclk_pciephy1_div_clk@4a0093b0 {
            compatible = "ti,gate-clock";
            clocks = <&optfclk_pciephy_div>;
            #clock-cells = <0>;
            reg = <0x13b0>;
            ti,bit-shift = <10>;
        };

        optfclk_pciephy2_div_clk: optfclk_pciephy2_div_clk@4a0093b8 {
            compatible = "ti,gate-clock";
            clocks = <&optfclk_pciephy_div>;
            #clock-cells = <0>;
            reg = <0x13b8>;
            ti,bit-shift = <10>;
        };

        apll_pcie_clkvcoldo: apll_pcie_clkvcoldo {
            #clock-cells = <0>;
            compatible = "fixed-factor-clock";
            clocks = <&apll_pcie_ck>;
            clock-mult = <1>;
            clock-div = <1>;
        };

        apll_pcie_clkvcoldo_div: apll_pcie_clkvcoldo_div {
            #clock-cells = <0>;
            compatible = "fixed-factor-clock";
            clocks = <&apll_pcie_ck>;
            clock-mult = <1>;
            clock-div = <1>;
        };

        apll_pcie_m2_ck: apll_pcie_m2_ck {
            #clock-cells = <0>;
            compatible = "fixed-factor-clock";
            clocks = <&apll_pcie_ck>;
            clock-mult = <1>;
            clock-div = <1>;
        };

        dpll_per_byp_mux: dpll_per_byp_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&sys_clkin1>, <&per_dpll_hs_clk_div>;
            ti,bit-shift = <23>;
            reg = <0x014c>;
        };

        dpll_per_ck: dpll_per_ck {
            #clock-cells = <0>;
            compatible = "ti,omap4-dpll-clock";
            clocks = <&sys_clkin1>, <&dpll_per_byp_mux>;
            reg = <0x0140>, <0x0144>, <0x014c>, <0x0148>;
        };

        dpll_per_m2_ck: dpll_per_m2_ck {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&dpll_per_ck>;
            ti,max-div = <31>;
            ti,autoidle-shift = <8>;
            reg = <0x0150>;
            ti,index-starts-at-one;
            ti,invert-autoidle-bit;
        };

        func_96m_aon_dclk_div: func_96m_aon_dclk_div {
            #clock-cells = <0>;
            compatible = "fixed-factor-clock";
            clocks = <&dpll_per_m2_ck>;
            clock-mult = <1>;
            clock-div = <1>;
        };

        dpll_usb_byp_mux: dpll_usb_byp_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&sys_clkin1>, <&usb_dpll_hs_clk_div>;
            ti,bit-shift = <23>;
            reg = <0x018c>;
        };

        dpll_usb_ck: dpll_usb_ck {
            #clock-cells = <0>;
            compatible = "ti,omap4-dpll-j-type-clock";
            clocks = <&sys_clkin1>, <&dpll_usb_byp_mux>;
            reg = <0x0180>, <0x0184>, <0x018c>, <0x0188>;
        };

        dpll_usb_m2_ck: dpll_usb_m2_ck {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&dpll_usb_ck>;
            ti,max-div = <127>;
            ti,autoidle-shift = <8>;
            reg = <0x0190>;
            ti,index-starts-at-one;
            ti,invert-autoidle-bit;
        };

        dpll_pcie_ref_m2_ck: dpll_pcie_ref_m2_ck {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&dpll_pcie_ref_ck>;
            ti,max-div = <127>;
            ti,autoidle-shift = <8>;
            reg = <0x0210>;
            ti,index-starts-at-one;
            ti,invert-autoidle-bit;
        };

        dpll_per_x2_ck: dpll_per_x2_ck {
            #clock-cells = <0>;
            compatible = "ti,omap4-dpll-x2-clock";
            clocks = <&dpll_per_ck>;
        };

        dpll_per_h11x2_ck: dpll_per_h11x2_ck {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&dpll_per_x2_ck>;
            ti,max-div = <63>;
            ti,autoidle-shift = <8>;
            reg = <0x0158>;
            ti,index-starts-at-one;
            ti,invert-autoidle-bit;
        };

        dpll_per_h12x2_ck: dpll_per_h12x2_ck {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&dpll_per_x2_ck>;
            ti,max-div = <63>;
            ti,autoidle-shift = <8>;
            reg = <0x015c>;
            ti,index-starts-at-one;
            ti,invert-autoidle-bit;
        };

        dpll_per_h13x2_ck: dpll_per_h13x2_ck {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&dpll_per_x2_ck>;
            ti,max-div = <63>;
            ti,autoidle-shift = <8>;
            reg = <0x0160>;
            ti,index-starts-at-one;
            ti,invert-autoidle-bit;
        };

        dpll_per_h14x2_ck: dpll_per_h14x2_ck {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&dpll_per_x2_ck>;
            ti,max-div = <63>;
            ti,autoidle-shift = <8>;
            reg = <0x0164>;
            ti,index-starts-at-one;
            ti,invert-autoidle-bit;
        };

        dpll_per_m2x2_ck: dpll_per_m2x2_ck {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&dpll_per_x2_ck>;
            ti,max-div = <31>;
            ti,autoidle-shift = <8>;
            reg = <0x0150>;
            ti,index-starts-at-one;
            ti,invert-autoidle-bit;
        };

        dpll_usb_clkdcoldo: dpll_usb_clkdcoldo {
            #clock-cells = <0>;
            compatible = "fixed-factor-clock";
            clocks = <&dpll_usb_ck>;
            clock-mult = <1>;
            clock-div = <1>;
        };

        func_128m_clk: func_128m_clk {
            #clock-cells = <0>;
            compatible = "fixed-factor-clock";
            clocks = <&dpll_per_h11x2_ck>;
            clock-mult = <1>;
            clock-div = <2>;
        };

        func_12m_fclk: func_12m_fclk {
            #clock-cells = <0>;
            compatible = "fixed-factor-clock";
            clocks = <&dpll_per_m2x2_ck>;
            clock-mult = <1>;
            clock-div = <16>;
        };

        func_24m_clk: func_24m_clk {
            #clock-cells = <0>;
            compatible = "fixed-factor-clock";
            clocks = <&dpll_per_m2_ck>;
            clock-mult = <1>;
            clock-div = <4>;
        };

        func_48m_fclk: func_48m_fclk {
            #clock-cells = <0>;
            compatible = "fixed-factor-clock";
            clocks = <&dpll_per_m2x2_ck>;
            clock-mult = <1>;
            clock-div = <4>;
        };

        func_96m_fclk: func_96m_fclk {
            #clock-cells = <0>;
            compatible = "fixed-factor-clock";
            clocks = <&dpll_per_m2x2_ck>;
            clock-mult = <1>;
            clock-div = <2>;
        };

        l3init_60m_fclk: l3init_60m_fclk {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&dpll_usb_m2_ck>;
            reg = <0x0104>;
            ti,dividers = <1>, <8>;
        };

        clkout2_clk: clkout2_clk {
            #clock-cells = <0>;
            compatible = "ti,gate-clock";
            clocks = <&clkoutmux2_clk_mux>;
            ti,bit-shift = <8>;
            reg = <0x06b0>;
        };

        l3init_960m_gfclk: l3init_960m_gfclk {
            #clock-cells = <0>;
            compatible = "ti,gate-clock";
            clocks = <&dpll_usb_clkdcoldo>;
            ti,bit-shift = <8>;
            reg = <0x06c0>;
        };

        dss_32khz_clk: dss_32khz_clk {
            #clock-cells = <0>;
            compatible = "ti,gate-clock";
            clocks = <&sys_32k_ck>;
            ti,bit-shift = <11>;
            reg = <0x1120>;
        };

        dss_48mhz_clk: dss_48mhz_clk {
            #clock-cells = <0>;
            compatible = "ti,gate-clock";
            clocks = <&func_48m_fclk>;
            ti,bit-shift = <9>;
            reg = <0x1120>;
        };

        dss_dss_clk: dss_dss_clk {
            #clock-cells = <0>;
            compatible = "ti,gate-clock";
            clocks = <&dpll_per_h12x2_ck>;
            ti,bit-shift = <8>;
            reg = <0x1120>;
            ti,set-rate-parent;
        };

        dss_hdmi_clk: dss_hdmi_clk {
            #clock-cells = <0>;
            compatible = "ti,gate-clock";
            clocks = <&hdmi_dpll_clk_mux>;
            ti,bit-shift = <10>;
            reg = <0x1120>;
        };

        dss_video1_clk: dss_video1_clk {
            #clock-cells = <0>;
            compatible = "ti,gate-clock";
            clocks = <&video1_dpll_clk_mux>;
            ti,bit-shift = <12>;
            reg = <0x1120>;
        };

        dss_video2_clk: dss_video2_clk {
            #clock-cells = <0>;
            compatible = "ti,gate-clock";
            clocks = <&video2_dpll_clk_mux>;
            ti,bit-shift = <13>;
            reg = <0x1120>;
        };

        gpio2_dbclk: gpio2_dbclk {
            #clock-cells = <0>;
            compatible = "ti,gate-clock";
            clocks = <&sys_32k_ck>;
            ti,bit-shift = <8>;
            reg = <0x1760>;
        };

        gpio3_dbclk: gpio3_dbclk {
            #clock-cells = <0>;
            compatible = "ti,gate-clock";
            clocks = <&sys_32k_ck>;
            ti,bit-shift = <8>;
            reg = <0x1768>;
        };

        gpio4_dbclk: gpio4_dbclk {
            #clock-cells = <0>;
            compatible = "ti,gate-clock";
            clocks = <&sys_32k_ck>;
            ti,bit-shift = <8>;
            reg = <0x1770>;
        };

        gpio5_dbclk: gpio5_dbclk {
            #clock-cells = <0>;
            compatible = "ti,gate-clock";
            clocks = <&sys_32k_ck>;
            ti,bit-shift = <8>;
            reg = <0x1778>;
        };

        gpio6_dbclk: gpio6_dbclk {
            #clock-cells = <0>;
            compatible = "ti,gate-clock";
            clocks = <&sys_32k_ck>;
            ti,bit-shift = <8>;
            reg = <0x1780>;
        };

        gpio7_dbclk: gpio7_dbclk {
            #clock-cells = <0>;
            compatible = "ti,gate-clock";
            clocks = <&sys_32k_ck>;
            ti,bit-shift = <8>;
            reg = <0x1810>;
        };

        gpio8_dbclk: gpio8_dbclk {
            #clock-cells = <0>;
            compatible = "ti,gate-clock";
            clocks = <&sys_32k_ck>;
            ti,bit-shift = <8>;
            reg = <0x1818>;
        };

        mmc1_clk32k: mmc1_clk32k {
            #clock-cells = <0>;
            compatible = "ti,gate-clock";
            clocks = <&sys_32k_ck>;
            ti,bit-shift = <8>;
            reg = <0x1328>;
        };

        mmc2_clk32k: mmc2_clk32k {
            #clock-cells = <0>;
            compatible = "ti,gate-clock";
            clocks = <&sys_32k_ck>;
            ti,bit-shift = <8>;
            reg = <0x1330>;
        };

        mmc3_clk32k: mmc3_clk32k {
            #clock-cells = <0>;
            compatible = "ti,gate-clock";
            clocks = <&sys_32k_ck>;
            ti,bit-shift = <8>;
            reg = <0x1820>;
        };

        mmc4_clk32k: mmc4_clk32k {
            #clock-cells = <0>;
            compatible = "ti,gate-clock";
            clocks = <&sys_32k_ck>;
            ti,bit-shift = <8>;
            reg = <0x1828>;
        };

        sata_ref_clk: sata_ref_clk {
            #clock-cells = <0>;
            compatible = "ti,gate-clock";
            clocks = <&sys_clkin1>;
            ti,bit-shift = <8>;
            reg = <0x1388>;
        };

        usb_otg_ss1_refclk960m: usb_otg_ss1_refclk960m {
            #clock-cells = <0>;
            compatible = "ti,gate-clock";
            clocks = <&l3init_960m_gfclk>;
            ti,bit-shift = <8>;
            reg = <0x13f0>;
        };

        usb_otg_ss2_refclk960m: usb_otg_ss2_refclk960m {
            #clock-cells = <0>;
            compatible = "ti,gate-clock";
            clocks = <&l3init_960m_gfclk>;
            ti,bit-shift = <8>;
            reg = <0x1340>;
        };

        usb_phy1_always_on_clk32k: usb_phy1_always_on_clk32k {
            #clock-cells = <0>;
            compatible = "ti,gate-clock";
            clocks = <&sys_32k_ck>;
            ti,bit-shift = <8>;
            reg = <0x0640>;
        };

        usb_phy2_always_on_clk32k: usb_phy2_always_on_clk32k {
            #clock-cells = <0>;
            compatible = "ti,gate-clock";
            clocks = <&sys_32k_ck>;
            ti,bit-shift = <8>;
            reg = <0x0688>;
        };

        usb_phy3_always_on_clk32k: usb_phy3_always_on_clk32k {
            #clock-cells = <0>;
            compatible = "ti,gate-clock";
            clocks = <&sys_32k_ck>;
            ti,bit-shift = <8>;
            reg = <0x0698>;
        };

        atl_dpll_clk_mux: atl_dpll_clk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&sys_32k_ck>, <&video1_clkin_ck>, <&video2_clkin_ck>, <&hdmi_clkin_ck>;
            ti,bit-shift = <24>;
            reg = <0x0c00>;
        };

        atl_gfclk_mux: atl_gfclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&l3_iclk_div>, <&dpll_abe_m2_ck>, <&atl_dpll_clk_mux>;
            ti,bit-shift = <26>;
            reg = <0x0c00>;
        };

        rmii_50mhz_clk_mux: rmii_50mhz_clk_mux@13d0 {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&dpll_gmac_h11x2_ck>, <&rmii_clk_ck>;
            ti,bit-shift = <24>;
            reg = <0x13d0>;
        };

        gmac_gmii_ref_clk_div: gmac_gmii_ref_clk_div {
            #clock-cells = <0>;
            compatible = "fixed-factor-clock";
            clocks = <&dpll_gmac_m2_ck>;
            clock-mult = <1>;
            clock-div = <2>;
        };

        gmac_rft_clk_mux: gmac_rft_clk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&video1_clkin_ck>, <&video2_clkin_ck>, <&dpll_abe_m2_ck>, <&hdmi_clkin_ck>, <&l3_iclk_div>;
            ti,bit-shift = <25>;
            reg = <0x13d0>;
        };

        gpu_core_gclk_mux: gpu_core_gclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&dpll_core_h14x2_ck>, <&dpll_per_h14x2_ck>, <&dpll_gpu_m2_ck>;
            ti,bit-shift = <24>;
            reg = <0x1220>;
        };

        gpu_hyd_gclk_mux: gpu_hyd_gclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&dpll_core_h14x2_ck>, <&dpll_per_h14x2_ck>, <&dpll_gpu_m2_ck>;
            ti,bit-shift = <26>;
            reg = <0x1220>;
        };

        l3instr_ts_gclk_div: l3instr_ts_gclk_div {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&wkupaon_iclk_mux>;
            ti,bit-shift = <24>;
            reg = <0x0e50>;
            ti,dividers = <8>, <16>, <32>;
        };

        mcasp2_ahclkr_mux: mcasp2_ahclkr_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&abe_24m_fclk>, <&abe_sys_clk_div>, <&func_24m_clk>, <&atl_clkin3_ck>, <&atl_clkin2_ck>, <&atl_clkin1_ck>, <&atl_clkin0_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&mlb_clk>, <&mlbp_clk>;
            ti,bit-shift = <28>;
            reg = <0x1860>;
        };

        mcasp2_ahclkx_mux: mcasp2_ahclkx_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&abe_24m_fclk>, <&abe_sys_clk_div>, <&func_24m_clk>, <&atl_clkin3_ck>, <&atl_clkin2_ck>, <&atl_clkin1_ck>, <&atl_clkin0_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&mlb_clk>, <&mlbp_clk>;
            ti,bit-shift = <24>;
            reg = <0x1860>;
        };

        mcasp2_aux_gfclk_mux: mcasp2_aux_gfclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&per_abe_x1_gfclk2_div>, <&video1_clk2_div>, <&video2_clk2_div>, <&hdmi_clk2_div>;
            ti,bit-shift = <22>;
            reg = <0x1860>;
        };

        mcasp3_ahclkx_mux: mcasp3_ahclkx_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&abe_24m_fclk>, <&abe_sys_clk_div>, <&func_24m_clk>, <&atl_clkin3_ck>, <&atl_clkin2_ck>, <&atl_clkin1_ck>, <&atl_clkin0_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&mlb_clk>, <&mlbp_clk>;
            ti,bit-shift = <24>;
            reg = <0x1868>;
        };

        mcasp3_aux_gfclk_mux: mcasp3_aux_gfclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&per_abe_x1_gfclk2_div>, <&video1_clk2_div>, <&video2_clk2_div>, <&hdmi_clk2_div>;
            ti,bit-shift = <22>;
            reg = <0x1868>;
        };

        mcasp4_ahclkx_mux: mcasp4_ahclkx_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&abe_24m_fclk>, <&abe_sys_clk_div>, <&func_24m_clk>, <&atl_clkin3_ck>, <&atl_clkin2_ck>, <&atl_clkin1_ck>, <&atl_clkin0_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&mlb_clk>, <&mlbp_clk>;
            ti,bit-shift = <24>;
            reg = <0x1898>;
        };

        mcasp4_aux_gfclk_mux: mcasp4_aux_gfclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&per_abe_x1_gfclk2_div>, <&video1_clk2_div>, <&video2_clk2_div>, <&hdmi_clk2_div>;
            ti,bit-shift = <22>;
            reg = <0x1898>;
        };

        mcasp5_ahclkx_mux: mcasp5_ahclkx_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&abe_24m_fclk>, <&abe_sys_clk_div>, <&func_24m_clk>, <&atl_clkin3_ck>, <&atl_clkin2_ck>, <&atl_clkin1_ck>, <&atl_clkin0_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&mlb_clk>, <&mlbp_clk>;
            ti,bit-shift = <24>;
            reg = <0x1878>;
        };

        mcasp5_aux_gfclk_mux: mcasp5_aux_gfclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&per_abe_x1_gfclk2_div>, <&video1_clk2_div>, <&video2_clk2_div>, <&hdmi_clk2_div>;
            ti,bit-shift = <22>;
            reg = <0x1878>;
        };

        mcasp6_ahclkx_mux: mcasp6_ahclkx_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&abe_24m_fclk>, <&abe_sys_clk_div>, <&func_24m_clk>, <&atl_clkin3_ck>, <&atl_clkin2_ck>, <&atl_clkin1_ck>, <&atl_clkin0_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&mlb_clk>, <&mlbp_clk>;
            ti,bit-shift = <24>;
            reg = <0x1904>;
        };

        mcasp6_aux_gfclk_mux: mcasp6_aux_gfclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&per_abe_x1_gfclk2_div>, <&video1_clk2_div>, <&video2_clk2_div>, <&hdmi_clk2_div>;
            ti,bit-shift = <22>;
            reg = <0x1904>;
        };

        mcasp7_ahclkx_mux: mcasp7_ahclkx_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&abe_24m_fclk>, <&abe_sys_clk_div>, <&func_24m_clk>, <&atl_clkin3_ck>, <&atl_clkin2_ck>, <&atl_clkin1_ck>, <&atl_clkin0_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&mlb_clk>, <&mlbp_clk>;
            ti,bit-shift = <24>;
            reg = <0x1908>;
        };

        mcasp7_aux_gfclk_mux: mcasp7_aux_gfclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&per_abe_x1_gfclk2_div>, <&video1_clk2_div>, <&video2_clk2_div>, <&hdmi_clk2_div>;
            ti,bit-shift = <22>;
            reg = <0x1908>;
        };

        mcasp8_ahclkx_mux: mcasp8_ahclkx_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&abe_24m_fclk>, <&abe_sys_clk_div>, <&func_24m_clk>, <&atl_clkin3_ck>, <&atl_clkin2_ck>, <&atl_clkin1_ck>, <&atl_clkin0_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&mlb_clk>, <&mlbp_clk>;
            ti,bit-shift = <22>;
            reg = <0x1890>;
        };

        mcasp8_aux_gfclk_mux: mcasp8_aux_gfclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&per_abe_x1_gfclk2_div>, <&video1_clk2_div>, <&video2_clk2_div>, <&hdmi_clk2_div>;
            ti,bit-shift = <24>;
            reg = <0x1890>;
        };

        mmc1_fclk_mux: mmc1_fclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&func_128m_clk>, <&dpll_per_m2x2_ck>;
            ti,bit-shift = <24>;
            reg = <0x1328>;
        };

        mmc1_fclk_div: mmc1_fclk_div {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&mmc1_fclk_mux>;
            ti,bit-shift = <25>;
            ti,max-div = <4>;
            reg = <0x1328>;
            ti,index-power-of-two;
        };

        mmc2_fclk_mux: mmc2_fclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&func_128m_clk>, <&dpll_per_m2x2_ck>;
            ti,bit-shift = <24>;
            reg = <0x1330>;
        };

        mmc2_fclk_div: mmc2_fclk_div {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&mmc2_fclk_mux>;
            ti,bit-shift = <25>;
            ti,max-div = <4>;
            reg = <0x1330>;
            ti,index-power-of-two;
        };

        mmc3_gfclk_mux: mmc3_gfclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&func_48m_fclk>, <&dpll_per_m2x2_ck>;
            ti,bit-shift = <24>;
            reg = <0x1820>;
        };

        mmc3_gfclk_div: mmc3_gfclk_div {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&mmc3_gfclk_mux>;
            ti,bit-shift = <25>;
            ti,max-div = <4>;
            reg = <0x1820>;
            ti,index-power-of-two;
        };

        mmc4_gfclk_mux: mmc4_gfclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&func_48m_fclk>, <&dpll_per_m2x2_ck>;
            ti,bit-shift = <24>;
            reg = <0x1828>;
        };

        mmc4_gfclk_div: mmc4_gfclk_div {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&mmc4_gfclk_mux>;
            ti,bit-shift = <25>;
            ti,max-div = <4>;
            reg = <0x1828>;
            ti,index-power-of-two;
        };

        qspi_gfclk_mux: qspi_gfclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&func_128m_clk>, <&dpll_per_h13x2_ck>;
            ti,bit-shift = <24>;
            reg = <0x1838>;
        };

        qspi_gfclk_div: qspi_gfclk_div {
            #clock-cells = <0>;
            compatible = "ti,divider-clock";
            clocks = <&qspi_gfclk_mux>;
            ti,bit-shift = <25>;
            ti,max-div = <4>;
            reg = <0x1838>;
            ti,index-power-of-two;
        };

        timer10_gfclk_mux: timer10_gfclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&timer_sys_clk_div>, <&sys_32k_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&abe_giclk_div>, <&video1_div_clk>, <&video2_div_clk>, <&hdmi_div_clk>;
            ti,bit-shift = <24>;
            reg = <0x1728>;
        };

        timer11_gfclk_mux: timer11_gfclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&timer_sys_clk_div>, <&sys_32k_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&abe_giclk_div>, <&video1_div_clk>, <&video2_div_clk>, <&hdmi_div_clk>;
            ti,bit-shift = <24>;
            reg = <0x1730>;
        };

        timer13_gfclk_mux: timer13_gfclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&timer_sys_clk_div>, <&sys_32k_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&abe_giclk_div>, <&video1_div_clk>, <&video2_div_clk>, <&hdmi_div_clk>;
            ti,bit-shift = <24>;
            reg = <0x17c8>;
        };

        timer14_gfclk_mux: timer14_gfclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&timer_sys_clk_div>, <&sys_32k_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&abe_giclk_div>, <&video1_div_clk>, <&video2_div_clk>, <&hdmi_div_clk>;
            ti,bit-shift = <24>;
            reg = <0x17d0>;
        };

        timer15_gfclk_mux: timer15_gfclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&timer_sys_clk_div>, <&sys_32k_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&abe_giclk_div>, <&video1_div_clk>, <&video2_div_clk>, <&hdmi_div_clk>;
            ti,bit-shift = <24>;
            reg = <0x17d8>;
        };

        timer16_gfclk_mux: timer16_gfclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&timer_sys_clk_div>, <&sys_32k_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&abe_giclk_div>, <&video1_div_clk>, <&video2_div_clk>, <&hdmi_div_clk>;
            ti,bit-shift = <24>;
            reg = <0x1830>;
        };

        timer2_gfclk_mux: timer2_gfclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&timer_sys_clk_div>, <&sys_32k_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&abe_giclk_div>, <&video1_div_clk>, <&video2_div_clk>, <&hdmi_div_clk>;
            ti,bit-shift = <24>;
            reg = <0x1738>;
        };

        timer3_gfclk_mux: timer3_gfclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&timer_sys_clk_div>, <&sys_32k_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&abe_giclk_div>, <&video1_div_clk>, <&video2_div_clk>, <&hdmi_div_clk>;
            ti,bit-shift = <24>;
            reg = <0x1740>;
        };

        timer4_gfclk_mux: timer4_gfclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&timer_sys_clk_div>, <&sys_32k_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&abe_giclk_div>, <&video1_div_clk>, <&video2_div_clk>, <&hdmi_div_clk>;
            ti,bit-shift = <24>;
            reg = <0x1748>;
        };

        timer9_gfclk_mux: timer9_gfclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&timer_sys_clk_div>, <&sys_32k_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&abe_giclk_div>, <&video1_div_clk>, <&video2_div_clk>, <&hdmi_div_clk>;
            ti,bit-shift = <24>;
            reg = <0x1750>;
        };

        uart1_gfclk_mux: uart1_gfclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&func_48m_fclk>, <&dpll_per_m2x2_ck>;
            ti,bit-shift = <24>;
            reg = <0x1840>;
        };

        uart2_gfclk_mux: uart2_gfclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&func_48m_fclk>, <&dpll_per_m2x2_ck>;
            ti,bit-shift = <24>;
            reg = <0x1848>;
        };

        uart3_gfclk_mux: uart3_gfclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&func_48m_fclk>, <&dpll_per_m2x2_ck>;
            ti,bit-shift = <24>;
            reg = <0x1850>;
        };

        uart4_gfclk_mux: uart4_gfclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&func_48m_fclk>, <&dpll_per_m2x2_ck>;
            ti,bit-shift = <24>;
            reg = <0x1858>;
        };

        uart5_gfclk_mux: uart5_gfclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&func_48m_fclk>, <&dpll_per_m2x2_ck>;
            ti,bit-shift = <24>;
            reg = <0x1870>;
        };

        uart7_gfclk_mux: uart7_gfclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&func_48m_fclk>, <&dpll_per_m2x2_ck>;
            ti,bit-shift = <24>;
            reg = <0x18d0>;
        };

        uart8_gfclk_mux: uart8_gfclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&func_48m_fclk>, <&dpll_per_m2x2_ck>;
            ti,bit-shift = <24>;
            reg = <0x18e0>;
        };

        uart9_gfclk_mux: uart9_gfclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&func_48m_fclk>, <&dpll_per_m2x2_ck>;
            ti,bit-shift = <24>;
            reg = <0x18e8>;
        };

        vip1_gclk_mux: vip1_gclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&l3_iclk_div>, <&dpll_core_h23x2_ck>;
            ti,bit-shift = <24>;
            reg = <0x1020>;
        };

        vip2_gclk_mux: vip2_gclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&l3_iclk_div>, <&dpll_core_h23x2_ck>;
            ti,bit-shift = <24>;
            reg = <0x1028>;
        };

        vip3_gclk_mux: vip3_gclk_mux {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&l3_iclk_div>, <&dpll_core_h23x2_ck>;
            ti,bit-shift = <24>;
            reg = <0x1030>;
        };
    };

    &cm_core_clockdomains {
        coreaon_clkdm: coreaon_clkdm {
            compatible = "ti,clockdomain";
            clocks = <&dpll_usb_ck>;
        };
    };

    &scm_conf_clocks {
        dss_deshdcp_clk: dss_deshdcp_clk {
            #clock-cells = <0>;
            compatible = "ti,gate-clock";
            clocks = <&l3_iclk_div>;
            ti,bit-shift = <0>;
            reg = <0x558>;
        };

        sys_32k_ck: sys_32k_ck {
            #clock-cells = <0>;
            compatible = "ti,mux-clock";
            clocks = <&sys_clk32_crystal_ck>, <&sys_clk32_pseudo_ck>, <&sys_clk32_pseudo_ck>, <&sys_clk32_pseudo_ck>;
            ti,bit-shift = <8>;
            reg = <0x6c4>;
        };

        ehrpwm0_tbclk: ehrpwm0_tbclk {
            #clock-cells = <0>;
            compatible = "ti,gate-clock";
            clocks = <&l4_root_clk_div>;
            ti,bit-shift = <20>;
            reg = <0x0558>;
        };

        ehrpwm1_tbclk: ehrpwm1_tbclk {
            #clock-cells = <0>;
            compatible = "ti,gate-clock";
            clocks = <&l4_root_clk_div>;
            ti,bit-shift = <21>;
            reg = <0x0558>;
        };

        ehrpwm2_tbclk: ehrpwm2_tbclk {
            #clock-cells = <0>;
            compatible = "ti,gate-clock";
            clocks = <&l4_root_clk_div>;
            ti,bit-shift = <22>;
            reg = <0x0558>;
        };
    };

    /************************************************************************************/
    /*am57xx-commercial-grade.dtsi*/
    #if THERMAL_ZONES
    &cpu_alert0 {
        temperature = <80000>; /* milliCelsius */
    };

    &cpu_crit {
        temperature = <90000>; /* milliCelsius */
    };

    &gpu_crit {
        temperature = <90000>; /* milliCelsius */
    };

    &core_crit {
        temperature = <90000>; /* milliCelsius */
    };

    &dspeve_crit {
        temperature = <90000>; /* milliCelsius */
    };

    &iva_crit {
        temperature = <90000>; /* milliCelsius */
    };
    #endif
    /*************************************************************************************/
    /*am57xx-evm-cmem.dtsi*/
    / {
            reserved-memory {
                    #address-cells = <2>;
                    #size-cells = <2>;
                    ranges;

                    cmem_block_mem_0: cmem_block_mem@a0000000 {
                            reg = <0x0 0xa0000000 0x0 0x0c000000>;
                            no-map;
                            status = "okay";
                    };

            cmem_block_mem_1_ocmc3: cmem_block_mem@40500000 {
                reg = <0x0 0x40500000 0x0 0x100000>;
                no-map;
                status = "okay";
            };
            };

            cmem {
                    compatible = "ti,cmem";
                    #address-cells = <1>;
                    #size-cells = <0>;

            #pool-size-cells = <2>;

                    status = "okay";

                    cmem_block_0: cmem_block@0 {
                            reg = <0>;
                            memory-region = <&cmem_block_mem_0>;
                            cmem-buf-pools = <1 0x0 0x0c000000>;
                    };

            cmem_block_1: cmem_block@1 {
                reg = <1>;
                memory-region = <&cmem_block_mem_1_ocmc3>;
            };
            };
    };

    /**************************************************************************************/
    /*dra74.dtsi*/
    /*
     * Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com/
     *
     * This program is free software; you can redistribute it and/or modify
     * it under the terms of the GNU General Public License version 2 as
     * published by the Free Software Foundation.
     * Based on "omap4.dtsi"
     */

    / {
        compatible = "ti,dra742", "ti,dra74", "ti,dra7";

        cpus {
            cpu@1 {
                device_type = "cpu";
                compatible = "arm,cortex-a15";
                reg = <1>;
                operating-points-v2 = <&cpu0_opp_table>;
            };
        };

        aliases {
            rproc0 = &ipu1;
            rproc1 = &ipu2;
            rproc2 = &dsp1;
            rproc3 = &dsp2;
        };

        pmu {
            compatible = "arm,cortex-a15-pmu";
            interrupt-parent = <&wakeupgen>;
            interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
                     <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>;
        };

        ocp {
            dsp2_system: dsp_system@41500000 {
                compatible = "syscon";
                reg = <0x41500000 0x100>;
            };

            omap_dwc3_4: omap_dwc3_4@48940000 {
                compatible = "ti,dwc3";
                ti,hwmods = "usb_otg_ss4";
                reg = <0x48940000 0x10000>;
                interrupts = <GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH>;
                #address-cells = <1>;
                #size-cells = <1>;
                utmi-mode = <2>;
                ranges;
                status = "disabled";
                usb4: usb@48950000 {
                    compatible = "snps,dwc3";
                    reg = <0x48950000 0x17000>;
                    interrupts = <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH>;
                    interrupt-names = "peripheral",
                              "host",
                              "otg";
                    tx-fifo-resize;
                    maximum-speed = "high-speed";
                    dr_mode = "otg";
                };
            };

            mmu0_dsp2: mmu@41501000 {
                compatible = "ti,dra7-dsp-iommu";
                reg = <0x41501000 0x100>;
                interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "mmu0_dsp2";
                #iommu-cells = <0>;
                ti,syscon-mmuconfig = <&dsp2_system 0x0>;
                status = "disabled";
            };

            mmu1_dsp2: mmu@41502000 {
                compatible = "ti,dra7-dsp-iommu";
                reg = <0x41502000 0x100>;
                interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
                ti,hwmods = "mmu1_dsp2";
                #iommu-cells = <0>;
                ti,syscon-mmuconfig = <&dsp2_system 0x1>;
                status = "disabled";
            };

            dsp2: dsp@41000000 {
                compatible = "ti,dra7-dsp";
                reg = <0x41000000 0x48000>,
                      <0x41600000 0x8000>,
                      <0x41700000 0x8000>;
                reg-names = "l2ram", "l1pram", "l1dram";
                ti,hwmods = "dsp2";
                syscon-bootreg = <&scm_conf 0x560>;
                iommus = <&mmu0_dsp2>, <&mmu1_dsp2>;
                ti,rproc-standby-info = <0x4a005620>;
                status = "disabled";
            };

            vip2: vip@0x48990000 {
                compatible = "ti,vip2";
                reg = <0x48990000 0x114>,
                      <0x48995500 0xD8>,
                      <0x48995700 0x18>,
                      <0x48995800 0x80>,
                      <0x48995a00 0xD8>,
                      <0x48995c00 0x18>,
                      <0x48995d00 0x80>,
                      <0x4899d000 0x400>;
                reg-names = "vip",
                        "parser0",
                        "csc0",
                        "sc0",
                        "parser1",
                        "csc1",
                        "sc1",
                        "vpdma";
                ti,hwmods = "vip2";
                interrupts = <GIC_SPI 352 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 393 IRQ_TYPE_LEVEL_HIGH>;
                /* CTRL_CORE_SMA_SW_1 */
                syscon-pol = <&scm_conf 0x534>;
                #address-cells = <1>;
                #size-cells = <0>;
                status = "disabled";
                vin3a: port@0 {
                    #address-cells = <1>;
                    #size-cells = <0>;
                    reg = <0>;
                    status = "disabled";
                };
                vin4a: port@1 {
                    #address-cells = <1>;
                    #size-cells = <0>;
                    reg = <1>;
                    status = "disabled";
                };
                vin3b: port@2 {
                    #address-cells = <1>;
                    #size-cells = <0>;
                    reg = <2>;
                    status = "disabled";
                };
                vin4b: port@3 {
                    #address-cells = <1>;
                    #size-cells = <0>;
                    reg = <3>;
                    status = "disabled";
                };
            };

            vip3: vip@0x489b0000 {
                compatible = "ti,vip3";
                reg = <0x489b0000 0x114>,
                      <0x489b5500 0xD8>,
                      <0x489b5700 0x18>,
                      <0x489b5800 0x80>,
                      <0x489b5a00 0xD8>,
                      <0x489b5c00 0x18>,
                      <0x489b5d00 0x80>,
                      <0x489bd000 0x400>;
                reg-names = "vip",
                        "parser0",
                        "csc0",
                        "sc0",
                        "parser1",
                        "csc1",
                        "sc1",
                        "vpdma";
                ti,hwmods = "vip3";
                interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 394 IRQ_TYPE_LEVEL_HIGH>;
                /* CTRL_CORE_SMA_SW_1 */
                syscon-pol = <&scm_conf 0x534>;
                #address-cells = <1>;
                #size-cells = <0>;
                status = "disabled";
                vin5a: port@0 {
                    #address-cells = <1>;
                    #size-cells = <0>;
                    reg = <0>;
                    status = "disabled";
                };
                vin6a: port@1 {
                    #address-cells = <1>;
                    #size-cells = <0>;
                    reg = <1>;
                    status = "disabled";
                };
            };
        };
    };

    &dss {
        reg = <0x58000000 0x80>,
              <0x58004054 0x4>,
              <0x58004300 0x20>,
              <0x58009054 0x4>,
              <0x58009300 0x20>;
        reg-names = "dss", "pll1_clkctrl", "pll1",
                "pll2_clkctrl", "pll2";

        clocks = <&dss_dss_clk>,
             <&dss_video1_clk>,
             <&dss_video2_clk>;
        clock-names = "fck", "video1_clk", "video2_clk";
    };

    &mailbox3 {
        mbox_pru1_0: mbox_pru1_0 {
            ti,mbox-tx = <0 0 0>;
            ti,mbox-rx = <1 0 0>;
            status = "disabled";
        };
        mbox_pru1_1: mbox_pru1_1 {
            ti,mbox-tx = <2 0 0>;
            ti,mbox-rx = <3 0 0>;
            status = "disabled";
        };
    };

    &mailbox4 {
        mbox_pru2_0: mbox_pru2_0 {
            ti,mbox-tx = <0 0 0>;
            ti,mbox-rx = <1 0 0>;
            status = "disabled";
        };
        mbox_pru2_1: mbox_pru2_1 {
            ti,mbox-tx = <2 0 0>;
            ti,mbox-rx = <3 0 0>;
            status = "disabled";
        };
    };

    &mailbox5 {
        mbox_ipu1_ipc3x: mbox_ipu1_ipc3x {
            ti,mbox-tx = <6 2 2>;
            ti,mbox-rx = <4 2 2>;
            status = "disabled";
        };
        mbox_dsp1_ipc3x: mbox_dsp1_ipc3x {
            ti,mbox-tx = <5 2 2>;
            ti,mbox-rx = <1 2 2>;
            status = "disabled";
        };
    };

    &mailbox6 {
        mbox_ipu2_ipc3x: mbox_ipu2_ipc3x {
            ti,mbox-tx = <6 2 2>;
            ti,mbox-rx = <4 2 2>;
            status = "disabled";
        };
        mbox_dsp2_ipc3x: mbox_dsp2_ipc3x {
            ti,mbox-tx = <5 2 2>;
            ti,mbox-rx = <1 2 2>;
            status = "disabled";
        };
    };

    /********************************************************************************************/
    /*am57xx-beagle-x15-common.dtsi*/
    /*
     * Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com/
     *
     * This program is free software; you can redistribute it and/or modify
     * it under the terms of the GNU General Public License version 2 as
     * published by the Free Software Foundation.
     */

    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/interrupt-controller/irq.h>

    / {
        model = "TI AM5728 BeagleBoard-X15";
        compatible = "ti,am572x-beagle-x15", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7";

        aliases {
            rtc0 = &mcp_rtc;
            rtc1 = &tps659038_rtc;
            rtc2 = &rtc;
            display0 = &hdmi0;
        };

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

        reserved-memory {
            #address-cells = <2>;
            #size-cells = <2>;
            ranges;

            ipu2_cma_pool: ipu2_cma@95800000 {
                compatible = "shared-dma-pool";
                reg = <0x0 0x95800000 0x0 0x3800000>;
                reusable;
                status = "okay";
            };

            dsp1_cma_pool: dsp1_cma@99000000 {
                compatible = "shared-dma-pool";
                reg = <0x0 0x99000000 0x0 0x4000000>;
                reusable;
                status = "okay";
            };

            ipu1_cma_pool: ipu1_cma@9d000000 {
                compatible = "shared-dma-pool";
                reg = <0x0 0x9d000000 0x0 0x2000000>;
                reusable;
                status = "okay";
            };

            dsp2_cma_pool: dsp2_cma@9f000000 {
                compatible = "shared-dma-pool";
                reg = <0x0 0x9f000000 0x0 0x800000>;
                reusable;
                status = "okay";
            };
        };

        vdd_3v3: fixedregulator-vdd_3v3 {
            compatible = "regulator-fixed";
            regulator-name = "vdd_3v3";
            vin-supply = <&regen1>;
            regulator-min-microvolt = <3300000>;
            regulator-max-microvolt = <3300000>;
        };

        aic_dvdd: fixedregulator-aic_dvdd {
            compatible = "regulator-fixed";
            regulator-name = "aic_dvdd_fixed";
            vin-supply = <&vdd_3v3>;
            regulator-min-microvolt = <1800000>;
            regulator-max-microvolt = <1800000>;
        };

        vtt_fixed: fixedregulator-vtt {
            /* TPS51200 */
            compatible = "regulator-fixed";
            regulator-name = "vtt_fixed";
            vin-supply = <&smps3_reg>;
            regulator-min-microvolt = <3300000>;
            regulator-max-microvolt = <3300000>;
            regulator-always-on;
            regulator-boot-on;
            enable-active-high;
            gpio = <&gpio7 11 GPIO_ACTIVE_HIGH>;
        };

        leds {
            compatible = "gpio-leds";
            led@0 {
                label = "beagle-x15:usr0";
                gpios = <&gpio7 9 GPIO_ACTIVE_HIGH>;
                linux,default-trigger = "heartbeat";
                default-state = "off";
            };

            led@1 {
                label = "beagle-x15:usr1";
                gpios = <&gpio7 8 GPIO_ACTIVE_HIGH>;
                linux,default-trigger = "cpu0";
                default-state = "off";
            };

            led@2 {
                label = "beagle-x15:usr2";
                gpios = <&gpio7 14 GPIO_ACTIVE_HIGH>;
                linux,default-trigger = "mmc0";
                default-state = "off";
            };

            led@3 {
                label = "beagle-x15:usr3";
                gpios = <&gpio7 15 GPIO_ACTIVE_HIGH>;
                linux,default-trigger = "ide-disk";
                default-state = "off";
            };
        };

        gpio_fan: gpio_fan {
            /* Based on 5v 500mA AFB02505HHB */
            compatible = "gpio-fan";
            gpios =  <&tps659038_gpio 2 GPIO_ACTIVE_HIGH>;
            gpio-fan,speed-map = <0     0>,
                         <13000 1>;
            #cooling-cells = <2>;
        };

        hdmi0: connector {
            compatible = "hdmi-connector";
            label = "hdmi";

            type = "a";

            port {
                hdmi_connector_in: endpoint {
                    remote-endpoint = <&tpd12s015_out>;
                };
            };
        };

        tpd12s015: encoder {
            compatible = "ti,tpd12s015";

            gpios = <&gpio7 10 GPIO_ACTIVE_HIGH>,    /* gpio7_10, CT CP HPD */
                <&gpio6 28 GPIO_ACTIVE_HIGH>,    /* gpio6_28, LS OE */
                <&gpio7 12 GPIO_ACTIVE_HIGH>;    /* gpio7_12/sp1_cs2, HPD */

            ports {
                #address-cells = <1>;
                #size-cells = <0>;

                port@0 {
                    reg = <0>;

                    tpd12s015_in: endpoint {
                        remote-endpoint = <&hdmi_out>;
                    };
                };

                port@1 {
                    reg = <1>;

                    tpd12s015_out: endpoint {
                        remote-endpoint = <&hdmi_connector_in>;
                    };
                };
            };
        };
    #if SOUND
        sound0: sound@0 {
            compatible = "simple-audio-card";
            simple-audio-card,name = "BeagleBoard-X15";
            simple-audio-card,widgets =
                "Line", "Line Out",
                "Line", "Line In";
            simple-audio-card,routing =
                "Line Out",    "LLOUT",
                "Line Out",    "RLOUT",
                "MIC2L",    "Line In",
                "MIC2R",    "Line In";
            simple-audio-card,format = "dsp_b";
            simple-audio-card,bitclock-master = <&sound0_master>;
            simple-audio-card,frame-master = <&sound0_master>;
            simple-audio-card,bitclock-inversion;

            simple-audio-card,cpu {
                sound-dai = <&mcasp3>;
            };

            sound0_master: simple-audio-card,codec {
                sound-dai = <&tlv320aic3104>;
                clocks = <&clkout2_clk>;
            };
        };
    #endif
    };

    &i2c1 {
        status = "okay";
        clock-frequency = <400000>;

        tps659038: tps659038@58 {
            compatible = "ti,tps659038";
            reg = <0x58>;
            interrupt-parent = <&gpio1>;
            interrupts = <0 IRQ_TYPE_LEVEL_LOW>;

            #interrupt-cells = <2>;
            interrupt-controller;

            ti,system-power-controller;

            tps659038_pmic {
                compatible = "ti,tps659038-pmic";

                regulators {
                    smps12_reg: smps12 {
                        /* VDD_MPU */
                        regulator-name = "smps12";
                        regulator-min-microvolt = < 850000>;
                        regulator-max-microvolt = <1250000>;
                        regulator-always-on;
                        regulator-boot-on;
                    };

                    smps3_reg: smps3 {
                        /* VDD_DDR */
                        regulator-name = "smps3";
                        regulator-min-microvolt = <1350000>;
                        regulator-max-microvolt = <1350000>;
                        regulator-always-on;
                        regulator-boot-on;
                    };

                    smps45_reg: smps45 {
                        /* VDD_DSPEVE, VDD_IVA, VDD_GPU */
                        regulator-name = "smps45";
                        regulator-min-microvolt = < 850000>;
                        regulator-max-microvolt = <1250000>;
                        regulator-always-on;
                        regulator-boot-on;
                    };

                    smps6_reg: smps6 {
                        /* VDD_CORE */
                        regulator-name = "smps6";
                        regulator-min-microvolt = <850000>;
                        regulator-max-microvolt = <1150000>;
                        regulator-always-on;
                        regulator-boot-on;
                    };

                    /* SMPS7 unused */

                    smps8_reg: smps8 {
                        /* VDD_1V8 */
                        regulator-name = "smps8";
                        regulator-min-microvolt = <1800000>;
                        regulator-max-microvolt = <1800000>;
                        regulator-always-on;
                        regulator-boot-on;
                    };

                    /* SMPS9 unused */

                    ldo1_reg: ldo1 {
                        /* VDD_SD / VDDSHV8  */
                        regulator-name = "ldo1";
                        regulator-min-microvolt = <1800000>;
                        regulator-max-microvolt = <3300000>;
                        regulator-boot-on;
                        regulator-always-on;
                    };

                    ldo2_reg: ldo2 {
                        /* VDD_SHV5 */
                        regulator-name = "ldo2";
                        regulator-min-microvolt = <3300000>;
                        regulator-max-microvolt = <3300000>;
                        regulator-always-on;
                        regulator-boot-on;
                    };

                    ldo3_reg: ldo3 {
                        /* VDDA_1V8_PHYA */
                        regulator-name = "ldo3";
                        regulator-min-microvolt = <1800000>;
                        regulator-max-microvolt = <1800000>;
                        regulator-always-on;
                        regulator-boot-on;
                    };

                    ldo4_reg: ldo4 {
                        /* VDDA_1V8_PHYB */
                        regulator-name = "ldo4";
                        regulator-min-microvolt = <1800000>;
                        regulator-max-microvolt = <1800000>;
                        regulator-always-on;
                        regulator-boot-on;
                    };

                    ldo9_reg: ldo9 {
                        /* VDD_RTC */
                        regulator-name = "ldo9";
                        regulator-min-microvolt = <1050000>;
                        regulator-max-microvolt = <1050000>;
                        regulator-always-on;
                        regulator-boot-on;
                    };

                    ldoln_reg: ldoln {
                        /* VDDA_1V8_PLL */
                        regulator-name = "ldoln";
                        regulator-min-microvolt = <1800000>;
                        regulator-max-microvolt = <1800000>;
                        regulator-always-on;
                        regulator-boot-on;
                    };

                    ldousb_reg: ldousb {
                        /* VDDA_3V_USB: VDDA_USBHS33 */
                        regulator-name = "ldousb";
                        regulator-min-microvolt = <3300000>;
                        regulator-max-microvolt = <3300000>;
                        regulator-boot-on;
                    };

                    regen1: regen1 {
                        /* VDD_3V3_ON */
                        regulator-name = "regen1";
                        regulator-boot-on;
                        regulator-always-on;
                    };
                };
            };

            tps659038_rtc: tps659038_rtc {
                compatible = "ti,palmas-rtc";
                interrupt-parent = <&tps659038>;
                interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
                wakeup-source;
            };

            tps659038_pwr_button: tps659038_pwr_button {
                compatible = "ti,palmas-pwrbutton";
                interrupt-parent = <&tps659038>;
                interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
                wakeup-source;
                ti,palmas-long-press-seconds = <12>;
            };

            tps659038_gpio: tps659038_gpio {
                compatible = "ti,palmas-gpio";
                gpio-controller;
                #gpio-cells = <2>;
            };

            extcon_usb2: tps659038_usb {
                compatible = "ti,palmas-usb-vid";
                ti,enable-vbus-detection;
                vbus-gpio = <&gpio4 21 GPIO_ACTIVE_HIGH>;
            };

        };

        tmp102: tmp102@48 {
            compatible = "ti,tmp102";
            reg = <0x48>;
            interrupt-parent = <&gpio7>;
            interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
            #thermal-sensor-cells = <1>;
        };

        tlv320aic3104: tlv320aic3104@18 {
            #sound-dai-cells = <0>;
            compatible = "ti,tlv320aic3104";
            reg = <0x18>;

            assigned-clocks = <&clkoutmux2_clk_mux>;
            assigned-clock-parents = <&sys_clk2_dclk_div>;

            adc-settle-ms = <40>;
            AVDD-supply = <&vdd_3v3>;
            IOVDD-supply = <&vdd_3v3>;
            DRVDD-supply = <&vdd_3v3>;
            DVDD-supply = <&aic_dvdd>;

            status = "okay";
        };
    };

    &i2c3 {
        status = "okay";
        clock-frequency = <400000>;

        mcp_rtc: rtc@6f {
            compatible = "microchip,mcp7941x";
            reg = <0x6f>;
            interrupts-extended = <&crossbar_mpu GIC_SPI 2 IRQ_TYPE_EDGE_RISING>,
                          <&dra7_pmx_core 0x424>;
            interrupt-names = "irq", "wakeup";

            vcc-supply = <&vdd_3v3>;
            wakeup-source;
        };
    };

    &gpio7 {
        ti,no-reset-on-init;
        ti,no-idle-on-init;
    };

    &uart3 {
        status = "okay";
        interrupts-extended = <&crossbar_mpu GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
                      <&dra7_pmx_core 0x3f8>;
    };

    &mac {
        status = "okay";
        dual_emac;
    };

    &cpsw_emac0 {
        phy_id = <&davinci_mdio>, <1>;
        phy-mode = "rgmii";
        dual_emac_res_vlan = <1>;
    };

    &cpsw_emac1 {
        phy_id = <&davinci_mdio>, <2>;
        phy-mode = "rgmii";
        dual_emac_res_vlan = <2>;
    };

    &mmc1 {
        status = "okay";

        vmmc-supply = <&ldo1_reg>;
        bus-width = <4>;
        cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>; /* gpio 219 */
    };

    &mmc2 {
        status = "okay";

        vmmc-supply = <&vdd_3v3>;
        bus-width = <8>;
        ti,non-removable;
        cap-mmc-dual-data-rate;
    };

    &sata {
        status = "okay";
    };

    &usb2_phy1 {
        phy-supply = <&ldousb_reg>;
    };

    &usb2_phy2 {
        phy-supply = <&ldousb_reg>;
    };

    &usb1 {
        dr_mode = "host";
    };

    &omap_dwc3_2 {
        extcon = <&extcon_usb2>;
    };

    &usb2 {
        /*
         * Stand alone usage is peripheral only.
         * However, with some resistor modifications
         * this port can be used via expansion connectors
         * as "host" or "dual-role". If so, provide
         * the necessary dr_mode override in the expansion
         * board's DT.
         */
        dr_mode = "peripheral";
    };
    #if THERMAL_ZONES
    &cpu_trips {
        cpu_alert1: cpu_alert1 {
            temperature = <50000>; /* millicelsius */
            hysteresis = <2000>; /* millicelsius */
            type = "active";
        };
    };

    &cpu_cooling_maps {
        map1 {
            trip = <&cpu_alert1>;
            cooling-device = <&gpio_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
        };
    };

    &thermal_zones {
        board_thermal: board_thermal {
            polling-delay-passive = <1250>; /* milliseconds */
            polling-delay = <1500>; /* milliseconds */

                    /* sensor       ID */
            thermal-sensors = <&tmp102     0>;

            board_trips: trips {
                board_alert0: board_alert {
                    temperature = <40000>; /* millicelsius */
                    hysteresis = <2000>; /* millicelsius */
                    type = "active";
                };

                board_crit: board_crit {
                    temperature = <105000>; /* millicelsius */
                    hysteresis = <0>; /* millicelsius */
                    type = "critical";
                };
            };

            board_cooling_maps: cooling-maps {
                map0 {
                    trip = <&board_alert0>;
                    cooling-device =
                      <&gpio_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
                };
            };
           };
    };
    #endif
    &oppdm_mpu {
        vdd-supply = <&smps12_reg>;
    };

    &oppdm_dspeve {
        vdd-supply = <&smps45_reg>;
    };

    &oppdm_gpu {
        vdd-supply = <&smps45_reg>;
    };

    &oppdm_ivahd {
        vdd-supply = <&smps45_reg>;
    };

    &oppdm_core {
        vdd-supply = <&smps6_reg>;
    };

    &dss {
        status = "ok";

        vdda_video-supply = <&ldoln_reg>;
    };

    &hdmi {
        status = "ok";
        vdda-supply = <&ldo4_reg>;

        port {
            hdmi_out: endpoint {
                remote-endpoint = <&tpd12s015_in>;
            };
        };
    };

    &mcasp3 {
        #sound-dai-cells = <0>;
        assigned-clocks = <&mcasp3_ahclkx_mux>;
        assigned-clock-parents = <&sys_clkin2>;
        status = "okay";

        op-mode = <0>;    /* MCASP_IIS_MODE */
        tdm-slots = <2>;
        /* 4 serializers */
        serial-dir = <    /* 0: INACTIVE, 1: TX, 2: RX */
            1 2 0 0
        >;
        tx-num-evt = <32>;
        rx-num-evt = <32>;
    };

    &mailbox3 {
        status = "okay";
        mbox_pru1_0: mbox_pru1_0 {
            status = "okay";
        };
        mbox_pru1_1: mbox_pru1_1 {
            status = "okay";
        };
    };

    &mailbox4 {
        status = "okay";
        mbox_pru2_0: mbox_pru2_0 {
            status = "okay";
        };
        mbox_pru2_1: mbox_pru2_1 {
            status = "okay";
        };
    };

    &mailbox5 {
        status = "okay";
        mbox_ipu1_ipc3x: mbox_ipu1_ipc3x {
            status = "okay";
        };
        mbox_dsp1_ipc3x: mbox_dsp1_ipc3x {
            status = "okay";
        };
    };

    &mailbox6 {
        status = "okay";
        mbox_ipu2_ipc3x: mbox_ipu2_ipc3x {
            status = "okay";
        };
        mbox_dsp2_ipc3x: mbox_dsp2_ipc3x {
            status = "okay";
        };
    };

    &mmu0_dsp1 {
        status = "okay";
    };

    &mmu1_dsp1 {
        status = "okay";
    };

    &mmu0_dsp2 {
        status = "okay";
    };

    &mmu1_dsp2 {
        status = "okay";
    };

    &mmu_ipu1 {
        status = "okay";
    };

    &mmu_ipu2 {
        status = "okay";
    };

    &ipu2 {
        status = "okay";
        memory-region = <&ipu2_cma_pool>;
        mboxes = <&mailbox6 &mbox_ipu2_ipc3x>;
        timers = <&timer3>;
        watchdog-timers = <&timer4>, <&timer9>;
    };

    &ipu1 {
        status = "okay";
        memory-region = <&ipu1_cma_pool>;
        mboxes = <&mailbox5 &mbox_ipu1_ipc3x>;
        timers = <&timer11>;
    };

    &dsp1 {
        status = "okay";
        memory-region = <&dsp1_cma_pool>;
        mboxes = <&mailbox5 &mbox_dsp1_ipc3x>;
        timers = <&timer5>;
    };

    &dsp2 {
        status = "okay";
        memory-region = <&dsp2_cma_pool>;
        mboxes = <&mailbox6 &mbox_dsp2_ipc3x>;
        timers = <&timer6>;
    };

    &pruss1 {
        status = "okay";
        pru1_0: pru0@4b234000 {
            mboxes = <&mailbox3 &mbox_pru1_0>;
            status = "okay";
        };

        pru1_1: pru1@4b238000 {
            mboxes = <&mailbox3 &mbox_pru1_1>;
            status = "okay";
        };
    };

    &pruss2 {
        status = "okay";
        pru2_0: pru0@4b2b4000 {
            mboxes = <&mailbox4 &mbox_pru2_0>;
            status = "okay";
        };

        pru2_1: pru1@4b2b8000 {
            mboxes = <&mailbox4 &mbox_pru2_1>;
            status = "okay";
        };
    };
    /******************************************************************************/
    /*am57xx-beagle-x15.dts*/
    /*
     * Copyright (C) 2014-2016 Texas Instruments Incorporated - http://www.ti.com/
     *
     * This program is free software; you can redistribute it and/or modify
     * it under the terms of the GNU General Public License version 2 as
     * published by the Free Software Foundation.
     */

    / {
        model = "TI AM5728 BeagleBoard-X15";
    };

    &dra7_pmx_core {

        mmc1_pins_default: mmc1_pins_default {
            pinctrl-single,pins = <
                DRA7XX_CORE_IOPAD(0x3754, (PIN_INPUT_PULLUP | MUX_MODE0)) /* mmc1_clk.clk */
                DRA7XX_CORE_IOPAD(0x3758, (PIN_INPUT_PULLUP | MUX_MODE0)) /* mmc1_cmd.cmd */
                DRA7XX_CORE_IOPAD(0x375c, (PIN_INPUT_PULLUP | MUX_MODE0)) /* mmc1_dat0.dat0 */
                DRA7XX_CORE_IOPAD(0x3760, (PIN_INPUT_PULLUP | MUX_MODE0)) /* mmc1_dat1.dat1 */
                DRA7XX_CORE_IOPAD(0x3764, (PIN_INPUT_PULLUP | MUX_MODE0)) /* mmc1_dat2.dat2 */
                DRA7XX_CORE_IOPAD(0x3768, (PIN_INPUT_PULLUP | MUX_MODE0)) /* mmc1_dat3.dat3 */
            >;
        };

        mmc1_pins_hs: pinmux_mmc1_hs_pins {
            pinctrl-single,pins = <
                DRA7XX_CORE_IOPAD(0x3754, (PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0)) /* mmc1_clk.clk */
                DRA7XX_CORE_IOPAD(0x3758, (PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0)) /* mmc1_cmd.cmd */
                DRA7XX_CORE_IOPAD(0x375c, (PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0)) /* mmc1_dat0.dat0 */
                DRA7XX_CORE_IOPAD(0x3760, (PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0)) /* mmc1_dat1.dat1 */
                DRA7XX_CORE_IOPAD(0x3764, (PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0)) /* mmc1_dat2.dat2 */
                DRA7XX_CORE_IOPAD(0x3768, (PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0)) /* mmc1_dat3.dat3 */
            >;
        };

        mmc2_pins_default: mmc2_pins_default {
            pinctrl-single,pins = <
                DRA7XX_CORE_IOPAD(0x349c, (PIN_INPUT_PULLUP | MUX_MODE1)) /* gpmc_a23.mmc2_clk */
                DRA7XX_CORE_IOPAD(0x34b0, (PIN_INPUT_PULLUP | MUX_MODE1)) /* gpmc_cs1.mmc2_cmd */
                DRA7XX_CORE_IOPAD(0x34a0, (PIN_INPUT_PULLUP | MUX_MODE1)) /* gpmc_a24.mmc2_dat0 */
                DRA7XX_CORE_IOPAD(0x34a4, (PIN_INPUT_PULLUP | MUX_MODE1)) /* gpmc_a25.mmc2_dat1 */
                DRA7XX_CORE_IOPAD(0x34a8, (PIN_INPUT_PULLUP | MUX_MODE1)) /* gpmc_a26.mmc2_dat2 */
                DRA7XX_CORE_IOPAD(0x34ac, (PIN_INPUT_PULLUP | MUX_MODE1)) /* gpmc_a27.mmc2_dat3 */
                DRA7XX_CORE_IOPAD(0x348c, (PIN_INPUT_PULLUP | MUX_MODE1)) /* gpmc_a19.mmc2_dat4 */
                DRA7XX_CORE_IOPAD(0x3490, (PIN_INPUT_PULLUP | MUX_MODE1)) /* gpmc_a20.mmc2_dat5 */
                DRA7XX_CORE_IOPAD(0x3494, (PIN_INPUT_PULLUP | MUX_MODE1)) /* gpmc_a21.mmc2_dat6 */
                DRA7XX_CORE_IOPAD(0x3498, (PIN_INPUT_PULLUP | MUX_MODE1)) /* gpmc_a22.mmc2_dat7 */
            >;
        };

        mmc2_pins_hs: mmc2_pins_hs {
            pinctrl-single,pins = <
                DRA7XX_CORE_IOPAD(0x349c, (PIN_INPUT_PULLUP | MUX_MODE1)) /* gpmc_a23.mmc2_clk */
                DRA7XX_CORE_IOPAD(0x34b0, (PIN_INPUT_PULLUP | MUX_MODE1)) /* gpmc_cs1.mmc2_cmd */
                DRA7XX_CORE_IOPAD(0x34a0, (PIN_INPUT_PULLUP | MUX_MODE1)) /* gpmc_a24.mmc2_dat0 */
                DRA7XX_CORE_IOPAD(0x34a4, (PIN_INPUT_PULLUP | MUX_MODE1)) /* gpmc_a25.mmc2_dat1 */
                DRA7XX_CORE_IOPAD(0x34a8, (PIN_INPUT_PULLUP | MUX_MODE1)) /* gpmc_a26.mmc2_dat2 */
                DRA7XX_CORE_IOPAD(0x34ac, (PIN_INPUT_PULLUP | MUX_MODE1)) /* gpmc_a27.mmc2_dat3 */
                DRA7XX_CORE_IOPAD(0x348c, (PIN_INPUT_PULLUP | MUX_MODE1)) /* gpmc_a19.mmc2_dat4 */
                DRA7XX_CORE_IOPAD(0x3490, (PIN_INPUT_PULLUP | MUX_MODE1)) /* gpmc_a20.mmc2_dat5 */
                DRA7XX_CORE_IOPAD(0x3494, (PIN_INPUT_PULLUP | MUX_MODE1)) /* gpmc_a21.mmc2_dat6 */
                DRA7XX_CORE_IOPAD(0x3498, (PIN_INPUT_PULLUP | MUX_MODE1)) /* gpmc_a22.mmc2_dat7 */
            >;
        };

        mmc2_pins_ddr_3_3v: pinmux_mmc2_ddr_3_3v_pins {
            pinctrl-single,pins = <
                DRA7XX_CORE_IOPAD(0x349c, (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE1)) /* gpmc_a23.mmc2_clk */
                DRA7XX_CORE_IOPAD(0x34b0, (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE1)) /* gpmc_cs1.mmc2_cmd */
                DRA7XX_CORE_IOPAD(0x34a0, (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE1)) /* gpmc_a24.mmc2_dat0 */
                DRA7XX_CORE_IOPAD(0x34a4, (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE1)) /* gpmc_a25.mmc2_dat1 */
                DRA7XX_CORE_IOPAD(0x34a8, (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE1)) /* gpmc_a26.mmc2_dat2 */
                DRA7XX_CORE_IOPAD(0x34ac, (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE1)) /* gpmc_a27.mmc2_dat3 */
                DRA7XX_CORE_IOPAD(0x348c, (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE1)) /* gpmc_a19.mmc2_dat4 */
                DRA7XX_CORE_IOPAD(0x3490, (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE1)) /* gpmc_a20.mmc2_dat5 */
                DRA7XX_CORE_IOPAD(0x3494, (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE1)) /* gpmc_a21.mmc2_dat6 */
                DRA7XX_CORE_IOPAD(0x3498, (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE1)) /* gpmc_a22.mmc2_dat7 */
            >;
        };
    };

    &dra7_iodelay_core {
        mmc2_iodelay_ddr_3_3v_conf: mmc2_iodelay_ddr_3_3v_conf {
            pinctrl-single,pins = <
                0x18c (A_DELAY(0) | G_DELAY(120))    /* CFG_GPMC_A19_IN */
                0x190 (A_DELAY(0) | G_DELAY(0))        /* CFG_GPMC_A19_OEN */
                0x194 (A_DELAY(174) | G_DELAY(0))    /* CFG_GPMC_A19_OUT */
                0x1a4 (A_DELAY(265) | G_DELAY(360))    /* CFG_GPMC_A20_IN */
                0x1a8 (A_DELAY(0) | G_DELAY(0))        /* CFG_GPMC_A20_OEN */
                0x1ac (A_DELAY(168) | G_DELAY(0))    /* CFG_GPMC_A20_OUT */
                0x1b0 (A_DELAY(0) | G_DELAY(120))    /* CFG_GPMC_A21_IN */
                0x1b4 (A_DELAY(0) | G_DELAY(0))        /* CFG_GPMC_A21_OEN */
                0x1b8 (A_DELAY(136) | G_DELAY(0))    /* CFG_GPMC_A21_OUT */
                0x1bc (A_DELAY(0) | G_DELAY(120))    /* CFG_GPMC_A22_IN */
                0x1c0 (A_DELAY(0) | G_DELAY(0))        /* CFG_GPMC_A22_OEN */
                0x1c4 (A_DELAY(0) | G_DELAY(0))        /* CFG_GPMC_A22_OUT */
                0x1c8 (A_DELAY(287) | G_DELAY(420))    /* CFG_GPMC_A23_IN */
                0x1d0 (A_DELAY(879) | G_DELAY(0))    /* CFG_GPMC_A23_OUT */
                0x1d4 (A_DELAY(144) | G_DELAY(240))    /* CFG_GPMC_A24_IN */
                0x1d8 (A_DELAY(0) | G_DELAY(0))        /* CFG_GPMC_A24_OEN */
                0x1dc (A_DELAY(0) | G_DELAY(0))        /* CFG_GPMC_A24_OUT */
                0x1e0 (A_DELAY(0) | G_DELAY(0))        /* CFG_GPMC_A25_IN */
                0x1e4 (A_DELAY(0) | G_DELAY(0))        /* CFG_GPMC_A25_OEN */
                0x1e8 (A_DELAY(34) | G_DELAY(0))    /* CFG_GPMC_A25_OUT */
                0x1ec (A_DELAY(0) | G_DELAY(120))    /* CFG_GPMC_A26_IN */
                0x1f0 (A_DELAY(0) | G_DELAY(0))        /* CFG_GPMC_A26_OEN */
                0x1f4 (A_DELAY(120) | G_DELAY(0))    /* CFG_GPMC_A26_OUT */
                0x1f8 (A_DELAY(120) | G_DELAY(180))    /* CFG_GPMC_A27_IN */
                0x1fc (A_DELAY(0) | G_DELAY(0))        /* CFG_GPMC_A27_OEN */
                0x200 (A_DELAY(0) | G_DELAY(0))        /* CFG_GPMC_A27_OUT */
                0x360 (A_DELAY(0) | G_DELAY(0))        /* CFG_GPMC_CS1_IN */
                0x364 (A_DELAY(0) | G_DELAY(0))        /* CFG_GPMC_CS1_OEN */
                0x368 (A_DELAY(11) | G_DELAY(0))    /* CFG_GPMC_CS1_OUT */
            >;
        };
    };

    &tpd12s015 {
        gpios = <&gpio7 10 GPIO_ACTIVE_HIGH>,    /* gpio7_10, CT CP HPD */
            <&gpio6 28 GPIO_ACTIVE_HIGH>,    /* gpio6_28, LS OE */
            <&gpio7 12 GPIO_ACTIVE_HIGH>;    /* gpio7_12/sp1_cs2, HPD */
    };

    &mmc1 {
        pinctrl-names = "default", "hs";
        pinctrl-0 = <&mmc1_pins_default>;
        pinctrl-1 = <&mmc1_pins_hs>;

        vmmc-supply = <&ldo1_reg>;
        max-frequency = <96000000>;
        /delete-property/ sd-uhs-sdr104;
        /delete-property/ sd-uhs-sdr50;
        /delete-property/ sd-uhs-ddr50;
        /delete-property/ sd-uhs-sdr25;
        /delete-property/ sd-uhs-sdr12;
    };

    &mmc2 {
        pinctrl-names = "default", "hs", "ddr_1_8v";
        pinctrl-0 = <&mmc2_pins_default>;
        pinctrl-1 = <&mmc2_pins_hs>;
        pinctrl-2 = <&mmc2_pins_ddr_3_3v &mmc2_iodelay_ddr_3_3v_conf>;

        max-frequency = <96000000>;
        /delete-property/ mmc-hs200-1_8v;
    };
    /*****************************************************************************************/

  • Hey there,

    the problem is fixed.

    On our custom board, we have a PIC instead of a PMIC to do the power-sequencing and voltage regulation stuff.

    The problem was in the device tree in the line:

    vmmc_aux-supply = <&ldo1_reg>;

    This deactivated the MMC, because there is no PMIC for the needed voltage.

    BUT the problem with the second CPU stlil exists.

  • Hi Tim,

    Since you're not using the PMIC, I have several questions..  Can you attach your kernel defconfig?

    If CPUFREQ driver is enabled, what MPU voltage are you using?  If not, what is the MPU frequency and voltage?

    Regards,
    Mike

  • Hi Tim,

    have you ever found the reason why your board crashes with a second CPU enabled?

    We're having a VERY similar (if not the same) issue with the OMAP5:

    It will freeze if we enable speeds over 1GHz (with both processors).
    It works 100% stable if we only run up to 1GHz AND it also runs fine with 1,5GHz if we disable the second processor.

    However, we're using the TWL6035 (so the recommended PMIC for the OMAP5).

    What could the cause be?

    Quick summary:

    * 2 CPUs: up to 1GHz: System runs stable
    * 2 CPUs: higher than 1GHz: System crashes as soon as it switches to a higher speed than 1GHz (about 6 seconds after the boot process)

    * 1 CPU: System runs stable with all frequencies and full load (also 1,5GHz)

  • Michael,

    Are you able to verify the MPU voltage scales up with frequency?

    If the PMIC is properly scaling voltage, are you able to measure voltage drop between the PMIC and processor?

    This can be a voltage issue, i.e., voltage is not high enough for the target frequency.

    Have you tried any intermediate frequencies, such as 1176MHz?

    For questions with OMAP5 you can contact your local FAE for more assisstance.

    Regards,
    Mike
  • Hi Michael,

    thanks for your reply!

    Well, the PMIC (PALMAS) measures the voltage directly at the OMAP5 and adjusts it accordingly.
    So it does NOT simply send out 1,25V, but it sends out enough so that 1,25V will arrive at the OMAP5.

    Therefore, the voltage should be stable.

    Measuring VSYS input at he PALMAS shows a stable voltage (unless they are to short for our oscillator)