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.

Linux/PROCESSOR-SDK-AM437X: Dual EMAC issue

Part Number: PROCESSOR-SDK-AM437X
Other Parts Discussed in Thread: DP83620, TPS65218, AM4372, TLV320AIC3106

Tool/software: Linux

HI all,

I am using a customised board GC150 based on am437x processor. I am using ti-linux-sdk-04.00.00.04.  I have modified the dts as per my board the two ethernet ports are getting detected as mdio PHY 1 and 2 but link is not detected. None of ethernet is working, link led is also not glowing. here i have attached the required details.

root@am437x-evm:~# uname -a
Linux am437x-evm 4.9.28-geed43d1050 #7 PREEMPT Fri Sep 1 20:15:16 IST 2017 armv7l GNU/Linux

root@am437x-evm:~# ethtool eth0
Settings for eth0:
        Supported ports: [ TP MII ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
        Supported pause frame use: No
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Speed: 10Mb/s
        Duplex: Half
        Port: MII
        PHYAD: 1
        Transceiver: external
        Auto-negotiation: on
        Supports Wake-on: d
        Wake-on: d
        Current message level: 0x00000000 (0)
                              
        Link detected: no

root@am437x-evm:~# ethtool -S eth0                                                                                                             
NIC statistics:
     Good Rx Frames: 0
     Broadcast Rx Frames: 0
     Multicast Rx Frames: 0
     Pause Rx Frames: 0
     Rx CRC Errors: 0
     Rx Align/Code Errors: 0
     Oversize Rx Frames: 0
     Rx Jabbers: 0
     Undersize (Short) Rx Frames: 0
     Rx Fragments: 0
     Rx Octets: 0
     Good Tx Frames: 0
     Broadcast Tx Frames: 0
     Multicast Tx Frames: 0
     Pause Tx Frames: 0
     Deferred Tx Frames: 0
     Collisions: 0
     Single Collision Tx Frames: 0
     Multiple Collision Tx Frames: 0
     Excessive Collisions: 0
     Late Collisions: 0
     Tx Underrun: 0
     Carrier Sense Errors: 0
     Tx Octets: 0
     Rx + Tx 64 Octet Frames: 0
     Rx + Tx 65-127 Octet Frames: 0
     Rx + Tx 128-255 Octet Frames: 0
     Rx + Tx 256-511 Octet Frames: 0
     Rx + Tx 512-1023 Octet Frames: 0
     Rx + Tx 1024-Up Octet Frames: 0
     Net Octets: 0
     Rx Start of Frame Overruns: 0
     Rx Middle of Frame Overruns: 0
     Rx DMA Overruns: 0
     Rx DMA chan 0: head_enqueue: 1
     Rx DMA chan 0: tail_enqueue: 127
     Rx DMA chan 0: pad_enqueue: 0
     Rx DMA chan 0: misqueued: 0
     Rx DMA chan 0: desc_alloc_fail: 0
     Rx DMA chan 0: pad_alloc_fail: 0
     Rx DMA chan 0: runt_receive_buf: 0
     Rx DMA chan 0: runt_transmit_bu: 0
     Rx DMA chan 0: empty_dequeue: 0
     Rx DMA chan 0: busy_dequeue: 0
     Rx DMA chan 0: good_dequeue: 0
     Rx DMA chan 0: requeue: 0
     Rx DMA chan 0: teardown_dequeue: 0
     Tx DMA chan 0: head_enqueue: 0
     Tx DMA chan 0: tail_enqueue: 0
     Tx DMA chan 0: pad_enqueue: 0
     Tx DMA chan 0: misqueued: 0
     Tx DMA chan 0: desc_alloc_fail: 0
     Tx DMA chan 0: pad_alloc_fail: 0
     Tx DMA chan 0: runt_receive_buf: 0
     Tx DMA chan 0: runt_transmit_bu: 0
     Tx DMA chan 0: empty_dequeue: 0
     Tx DMA chan 0: busy_dequeue: 0
     Tx DMA chan 0: good_dequeue: 0
     Tx DMA chan 0: requeue: 0
     Tx DMA chan 0: teardown_dequeue: 0

root@am437x-evm:~# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr C4:BE:84:CB:5E:69  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:139

root@am437x-evm:~#

root@am437x-evm:~# ifconfig eth1
eth1      Link encap:Ethernet  HWaddr C4:BE:84:CB:5E:6B  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

root@am437x-evm:~#

root@am437x-evm:~# ethtool eth1
Settings for eth1:
        Supported ports: [ TP MII ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
        Supported pause frame use: No
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Speed: 10Mb/s
        Duplex: Half
        Port: MII
        PHYAD: 2
        Transceiver: external
        Auto-negotiation: on
        Supports Wake-on: d
        Wake-on: d
        Current message level: 0x00000000 (0)
                               
        Link detected: no
root@am437x-evm:~#

root@am437x-evm:~# dmesg |grep mdio
[    1.298583] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6
[    1.304725] davinci_mdio 4a101000.mdio: detected phy mask fffffff9
[    1.312430] libphy: 4a101000.mdio: probed
[    1.316486] davinci_mdio 4a101000.mdio: phy[1]: device 4a101000.mdio:01, driver TI DP83620 10/100 Mbps PHY
[    1.326288] davinci_mdio 4a101000.mdio: phy[2]: device 4a101000.mdio:02, driver TI DP83620 10/100 Mbps PHY
[    9.919321] TI DP83620 10/100 Mbps PHY 4a101000.mdio:01: attached PHY driver [TI DP83620 10/100 Mbps PHY] (mii_bus:phy_addr=4a101000.mdio:0)
[   10.189002] TI DP83620 10/100 Mbps PHY 4a101000.mdio:02: attached PHY driver [TI DP83620 10/100 Mbps PHY] (mii_bus:phy_addr=4a101000.mdio:0)

root@am437x-evm:~# dmesg |grep cpsw
[    1.336983] cpsw 4a100000.ethernet: Detected MACID = c4:be:84:cb:5e:69
[    1.343864] cpsw 4a100000.ethernet: cpts: overflow check period 500 (jiffies)
[    1.352317] cpsw 4a100000.ethernet: cpsw: Detected MACID = c4:be:84:cb:5e:6b
[    9.819227] net eth0: initializing cpsw version 1.15 (0)
[    9.819238] net eth0: initialized cpsw ale version 1.4
[   10.095738] net eth1: initializing cpsw version 1.15 (0)


I have attached the serial log and dts file is next post. Any suggestion on why its not working where i am going wrong.

  • Here is the serial log of device booting:

    U-Boot SPL 2016.05-00135-gae10f78-dirty (Sep 01 2017 - 18:59:52)
    Trying to boot from MMC1
    SPL: Please implement spl_start_uboot() for your board
    SPL: Direct Linux boot not active!
    reading u-boot.img
    reading u-boot.img
    reading u-boot.img
    reading u-boot.img


    U-Boot 2016.05-00135-gae10f78-dirty (Sep 01 2017 - 14:43:10 +0530)

    DRAM: 256 MiB
    PMIC: TPS65218
    MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
    reading uboot.env

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

    Net: Could not get PHY for ethernet@4a100000: addr 4

    Warning: ethernet@4a100000 using MAC address from ROM
    eth0: ethernet@4a100000
    Hit any key to stop autoboot: 0
    switch to partitions #0, OK
    mmc0(part 0) is current device
    SD/MMC found on device 0
    reading boot.scr
    ** Unable to read file boot.scr **
    reading uEnv.txt
    ** Unable to read file uEnv.txt **
    switch to partitions #0, OK
    mmc0(part 0) is current device
    SD/MMC found on device 0
    3842544 bytes read in 384 ms (9.5 MiB/s)
    49757 bytes read in 18 ms (2.6 MiB/s)
    Booting from mmc0 ...
    Kernel image @ 0x82000000 [ 0x000000 - 0x3aa1f0 ]
    ## Flattened Device Tree blob at 88000000
    Booting using the fdt blob at 0x88000000
    Loading Device Tree to 8ef0d000, end 8ef1c25c ... OK

    Starting kernel ...

    [ 0.000000] Booting Linux on physical CPU 0x0
    [ 0.000000] Linux version 4.9.28-geed43d1050 (mistral@CPU579U) (gcc version 6.2.1 20161016 (Linaro GCC 6.2-2016.11) ) #7 PREEMPT Fri Sep 1 7
    [ 0.000000] CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c5387d
    [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [ 0.000000] OF: fdt:Machine model: TI AM437x SK EVM
    [ 0.000000] cma: Reserved 24 MiB at 0x8d000000
    [ 0.000000] Memory policy: Data cache writeback
    [ 0.000000] CPU: All CPU(s) started in SVC mode.
    [ 0.000000] AM437x ES1.2 (neon)
    [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 64960
    [ 0.000000] Kernel command line: console=ttyO0,115200n8 root=/dev/mmcblk0p2 rw rootwait
    [ 0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
    [ 0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
    [ 0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
    [ 0.000000] Memory: 221848K/262144K available (8192K kernel code, 313K rwdata, 2564K rodata, 1024K init, 272K bss, 15720K reserved, 24576K )
    [ 0.000000] Virtual kernel memory layout:
    [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
    [ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
    [ 0.000000] vmalloc : 0xd0800000 - 0xff800000 ( 752 MB)
    [ 0.000000] lowmem : 0xc0000000 - 0xd0000000 ( 256 MB)
    [ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
    [ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
    [ 0.000000] .text : 0xc0008000 - 0xc0900000 (9184 kB)
    [ 0.000000] .init : 0xc0c00000 - 0xc0d00000 (1024 kB)
    [ 0.000000] .data : 0xc0d00000 - 0xc0d4e768 ( 314 kB)
    [ 0.000000] .bss : 0xc0d50000 - 0xc0d94128 ( 273 kB)
    [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, 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] L2C: platform modifies aux control register: 0x0e030000 -> 0x3e430000
    [ 0.000000] L2C: DT/platform modifies aux control register: 0x0e030000 -> 0x3e430000
    [ 0.000000] L2C-310 erratum 769419 enabled
    [ 0.000000] L2C-310 enabling early BRESP for Cortex-A9
    [ 0.000000] OMAP L2C310: ROM does not support power control setting
    [ 0.000000] L2C-310 dynamic clock gating disabled, standby mode disabled
    [ 0.000000] L2C-310 cache controller enabled, 16 ways, 256 kB
    [ 0.000000] L2C-310: CACHE_ID 0x410000c9, AUX_CTRL 0x4e430000
    [ 0.000000] OMAP clockevent source: timer2 at 24000000 Hz
    [ 0.000013] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
    [ 0.000036] clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
    [ 0.000048] OMAP clocksource: timer1 at 24000000 Hz
    [ 0.000780] clocksource: 32k_counter: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 58327039986419 ns
    [ 0.000794] OMAP clocksource: 32k_counter at 32768 Hz
    [ 0.001409] Console: colour dummy device 80x30
    [ 0.001439] WARNING: Your 'console=ttyO0' has been replaced by 'ttyS0'
    [ 0.001448] This ensures that you still see kernel messages. Please
    [ 0.001455] update your kernel commandline.
    [ 0.001474] Calibrating delay loop... 1196.85 BogoMIPS (lpj=5984256)
    [ 0.090271] pid_max: default: 32768 minimum: 301
    [ 0.090421] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [ 0.090436] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [ 0.091331] CPU: Testing write buffer coherency: ok
    [ 0.091709] Setting up static identity map for 0x80100000 - 0x80100060
    [ 0.093546] devtmpfs: initialized
    [ 0.109635] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
    [ 0.110015] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [ 0.110044] futex hash table entries: 256 (order: -1, 3072 bytes)
    [ 0.112335] pinctrl core: initialized pinctrl subsystem
    [ 0.113620] NET: Registered protocol family 16
    [ 0.116153] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [ 0.230263] cpuidle: using governor ladder
    [ 0.260253] cpuidle: using governor menu
    [ 0.269977] OMAP GPIO hardware version 0.1
    [ 0.284503] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
    [ 0.284525] hw-breakpoint: maximum watchpoint size is 4 bytes.
    [ 0.329450] edma 49000000.edma: TI EDMA DMA engine driver
    [ 0.333476] vgaarb: loaded
    [ 0.334071] SCSI subsystem initialized
    [ 0.334407] usbcore: registered new interface driver usbfs
    [ 0.334488] usbcore: registered new interface driver hub
    [ 0.334600] usbcore: registered new device driver usb
    [ 0.335229] omap_i2c 44e0b000.i2c: could not find pctldev for node /ocp@44000000/l4_wkup@44c00000/scm@210000/pinmux@800/i2c0_pins, deferrine
    [ 0.335299] omap_i2c 4802a000.i2c: could not find pctldev for node /ocp@44000000/l4_wkup@44c00000/scm@210000/pinmux@800/i2c1_pins, deferrine
    [ 0.335425] media: Linux media interface: v0.10
    [ 0.335500] Linux video capture interface: v2.00
    [ 0.335553] pps_core: LinuxPPS API ver. 1 registered
    [ 0.335562] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [ 0.335591] PTP clock support registered
    [ 0.335811] EDAC MC: Ver: 3.0.0
    [ 0.336890] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
    [ 0.337287] Advanced Linux Sound Architecture Driver Initialized.
    [ 0.338559] clocksource: Switched to clocksource timer1
    [ 0.350477] NET: Registered protocol family 2
    [ 0.351321] TCP established hash table entries: 2048 (order: 1, 8192 bytes)
    [ 0.351362] TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
    [ 0.351401] TCP: Hash tables configured (established 2048 bind 2048)
    [ 0.351496] UDP hash table entries: 256 (order: 0, 4096 bytes)
    [ 0.351519] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
    [ 0.351684] NET: Registered protocol family 1
    [ 0.352115] RPC: Registered named UNIX socket transport module.
    [ 0.352132] RPC: Registered udp transport module.
    [ 0.352141] RPC: Registered tcp transport module.
    [ 0.352149] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [ 0.355017] workingset: timestamp_bits=14 max_order=16 bucket_order=2
    [ 0.363011] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [ 0.363981] NFS: Registering the id_resolver key type
    [ 0.364024] Key type id_resolver registered
    [ 0.364033] Key type id_legacy registered
    [ 0.364087] ntfs: driver 2.1.32 [Flags: R/O].
    [ 0.366163] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
    [ 0.366184] io scheduler noop registered
    [ 0.366194] io scheduler deadline registered
    [ 0.366372] io scheduler cfq registered (default)
    [ 0.369550] pinctrl-single 44e10800.pinmux: please update dts to use #pinctrl-cells = <1>
    [ 0.370335] pinctrl-single 44e10800.pinmux: 199 pins at pa f9e10800 size 796
    [ 0.373431] backlight supply power not found, using dummy regulator
    [ 0.441887] Serial: 8250/16550 driver, 10 ports, IRQ sharing disabled
    [ 0.445182] omap8250 44e09000.serial: No clock speed specified: using default: 48000000
    [ 0.446087] 44e09000.serial: ttyS0 at MMIO 0x44e09000 (irq = 30, base_baud = 3000000) is a 8250
    [ 1.113364] console [ttyS0] enabled
    [ 1.118132] [drm] Initialized
    [ 1.122864] 4832a000.dss supply vdda_video not found, using dummy regulator
    [ 1.130077] OMAP DSS rev 2.0
    [ 1.133152] omapdss_dss 4832a000.dss: bound 4832a400.dispc (ops dispc_component_ops)
    [ 1.151874] loop: module loaded
    [ 1.158717] m25p80 spi0.0: mx66l51235l (65536 Kbytes)
    [ 1.163876] 7 ofpart partitions found on MTD device spi0.0
    [ 1.169417] Creating 7 MTD partitions on "spi0.0":
    [ 1.174246] 0x000000000000-0x000000080000 : "QSPI.U_BOOT"
    [ 1.181028] 0x000000080000-0x000000100000 : "QSPI.U_BOOT.backup"
    [ 1.188336] 0x000000100000-0x000000110000 : "QSPI.U-BOOT-SPL_OS"
    [ 1.195714] 0x000000110000-0x000000120000 : "QSPI.U_BOOT_ENV"
    [ 1.202797] 0x000000120000-0x000000130000 : "QSPI.U-BOOT-ENV.backup"
    [ 1.210453] 0x000000130000-0x000000930000 : "QSPI.KERNEL"
    [ 1.217119] 0x000000930000-0x000004000000 : "QSPI.FILESYSTEM"
    [ 1.225027] libphy: Fixed MDIO Bus: probed
    [ 1.298631] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6
    [ 1.304773] davinci_mdio 4a101000.mdio: detected phy mask fffffff9
    [ 1.312513] libphy: 4a101000.mdio: probed
    [ 1.316567] davinci_mdio 4a101000.mdio: phy[1]: device 4a101000.mdio:01, driver TI DP83620 10/100 Mbps PHY
    [ 1.326367] davinci_mdio 4a101000.mdio: phy[2]: device 4a101000.mdio:02, driver TI DP83620 10/100 Mbps PHY
    [ 1.337080] cpsw 4a100000.ethernet: Detected MACID = c4:be:84:cb:5e:69
    [ 1.343952] cpsw 4a100000.ethernet: cpts: overflow check period 500 (jiffies)
    [ 1.352404] cpsw 4a100000.ethernet: cpsw: Detected MACID = c4:be:84:cb:5e:6b
    [ 1.360745] pegasus: v0.9.3 (2013/04/25), Pegasus/Pegasus II USB Ethernet driver
    [ 1.368284] usbcore: registered new interface driver pegasus
    [ 1.374097] usbcore: registered new interface driver asix
    [ 1.379612] usbcore: registered new interface driver ax88179_178a
    [ 1.385787] usbcore: registered new interface driver cdc_ether
    [ 1.391741] usbcore: registered new interface driver smsc75xx
    [ 1.397585] usbcore: registered new interface driver smsc95xx
    [ 1.403431] usbcore: registered new interface driver net1080
    [ 1.409183] usbcore: registered new interface driver cdc_subset
    [ 1.415176] usbcore: registered new interface driver zaurus
    [ 1.421018] usbcore: registered new interface driver cdc_ncm
    [ 1.429144] dwc3 48390000.usb: Configuration mismatch. dr_mode forced to gadget
    [ 1.441299] dwc3 483d0000.usb: Configuration mismatch. dr_mode forced to gadget
    [ 1.452745] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
    [ 1.459387] ehci-pci: EHCI PCI platform driver
    [ 1.463945] ehci-platform: EHCI generic platform driver
    [ 1.469495] ehci-omap: OMAP-EHCI Host Controller driver
    [ 1.474883] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
    [ 1.481146] ohci-pci: OHCI PCI platform driver
    [ 1.485687] ohci-platform: OHCI generic platform driver
    [ 1.491658] usbcore: registered new interface driver usb-storage
    [ 1.497870] using random self ethernet address
    [ 1.502380] using random host ethernet address
    [ 1.507570] usb0: HOST MAC aa:3b:6c:1a:7b:21
    [ 1.512014] usb0: MAC 66:5a:ed:eb:bf:2f
    [ 1.515900] using random self ethernet address
    [ 1.520397] using random host ethernet address
    [ 1.524966] g_ether gadget: Ethernet Gadget, version: Memorial Day 2008
    [ 1.531683] g_ether gadget: g_ether ready
    [ 1.536558] mousedev: PS/2 mouse device common for all mice
    [ 1.543162] i2c /dev entries driver
    [ 1.549345] cpuidle: enable-method property 'ti,am4372' found operations
    [ 1.556620] sdhci: Secure Digital Host Controller Interface driver
    [ 1.562924] sdhci: Copyright(c) Pierre Ossman
    [ 1.618907] Synopsys Designware Multimedia Card Interface Driver
    [ 1.625509] sdhci-pltfm: SDHCI platform and OF driver helper
    [ 1.632939] ledtrig-cpu: registered to indicate activity on CPUs
    [ 1.639369] usbcore: registered new interface driver usbhid
    [ 1.644973] usbhid: USB HID core driver
    [ 1.651115] NET: Registered protocol family 10
    [ 1.657282] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
    [ 1.664238] NET: Registered protocol family 17
    [ 1.669151] Key type dns_resolver registered
    [ 1.673654] omap_voltage_late_init: Voltage driver support not added
    [ 1.680605] ThumbEE CPU extension supported.
    [ 1.684914] Registering SWP/SWPB emulation handler
    [ 1.759783] omap_i2c 44e0b000.i2c: bus 0 rev0.12 at 100 kHz
    [ 1.767331] omap_i2c 4802a000.i2c: bus 1 rev0.12 at 400 kHz
    [ 1.885556] mmc0: new high speed MMC card at address 0001
    [ 1.892063] hctosys: unable to open rtc device (rtc0)
    [ 1.892847] ALSA device list:
    [ 1.892852] No soundcards found.
    [ 1.905195] Waiting for root device /dev/mmcblk0p2...
    [ 1.911237] mmcblk0: mmc0:0001 Q2J54A 3.59 GiB
    [ 1.917288] mmcblk0boot0: mmc0:0001 Q2J54A partition 1 16.0 MiB
    [ 1.925730] mmcblk0boot1: mmc0:0001 Q2J54A partition 2 16.0 MiB
    [ 1.934555] mmcblk0: p1 p2
    [ 2.029552] EXT4-fs (mmcblk0p2): mounting ext3 file system using the ext4 subsystem
    [ 2.038604] random: fast init done
    [ 2.049980] mmc1: host does not support reading read-only switch, assuming write-enable
    [ 2.059116] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
    [ 2.067406] mmc1: new high speed SDHC card at address aaaa
    [ 2.073740] mmcblk1: mmc1:aaaa SS08G 7.40 GiB
    [ 2.079263] mmcblk1: p1 p2
    [ 2.083433] VFS: Mounted root (ext3 filesystem) on device 179:2.
    [ 2.095651] devtmpfs: mounted
    [ 2.100790] Freeing unused kernel memory: 1024K (c0c00000 - c0d00000)
    [ 2.311779] systemd[1]: System time before build time, advancing clock.
    [ 2.367835] systemd[1]: systemd 230 running in system mode. (+PAM -AUDIT -SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP -GCR)
    [ 2.386823] systemd[1]: Detected architecture arm.

    Welcome to Arago 2017.05!

    [ 2.424291] systemd[1]: Set hostname to <am437x-evm>.
    [ 2.903423] systemd[1]: sysinit.target: Found ordering cycle on sysinit.target/start
    [ 2.911425] systemd[1]: sysinit.target: Found dependency on alignment.service/start
    [ 2.919200] systemd[1]: sysinit.target: Found dependency on basic.target/start
    [ 2.926468] systemd[1]: sysinit.target: Found dependency on sockets.target/start
    [ 2.933933] systemd[1]: sysinit.target: Found dependency on avahi-daemon.socket/start
    [ 2.941829] systemd[1]: sysinit.target: Found dependency on sysinit.target/start
    [ 2.949287] systemd[1]: sysinit.target: Breaking ordering cycle by deleting job alignment.service/start
    [ SKIP ] Ordering cycle found, skipping alignment.service
    [ OK ] Created slice System Slice.
    [ OK ] Created slice system-getty.slice.
    [ OK ] Started Forward Password Requests to Wall Directory Watch.
    [ OK ] Listening on Syslog Socket.
    [ OK ] Listening on /dev/initctl Compatibility Named Pipe.
    [ OK ] Listening on Network Service Netlink Socket.
    [ OK ] Listening on udev Control Socket.
    [ OK ] Reached target Remote File Systems.
    [ OK ] Listening on Journal Socket (/dev/log).
    [ OK ] Started Dispatch Password Requests to Console Directory Watch.
    [ OK ] Reached target Paths.
    [ OK ] Created slice User and Session Slice.
    [ OK ] Reached target Slices.
    [ OK ] Created slice system-serial\x2dgetty.slice.
    [ OK ] Reached target Swap.
    [ OK ] Listening on udev Kernel Socket.
    [ OK ] Listening on Journal Socket.
    Mounting Temporary Directory...
    Starting Setup Virtual Console...
    Mounting POSIX Message Queue File System...
    Starting Create list of required st... nodes for the current kernel...
    Mounting Debug File System...
    Starting Journal Service...
    Starting Remount Root and Kernel File Systems...
    Starting Load Kernel Modules...
    [ 3.748210] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
    [ OK ] Mounted POSIX Message Queue File System.
    [ 3.833773] cmemk: loading out-of-tree module taints kernel.
    [ OK ] Mounted Debug File System.
    [ 3.861283] CMEMK module: reference Linux version 4.9.28
    [ 3.879656] no physical memory specified
    [ 3.883628] cmemk initialized
    [ OK ] Mounted Temporary Directory.
    [ 3.909375] cryptodev: driver 1.8 loaded.
    [ OK ] Started Setup Virtual Console.
    [ OK ] Started Create list of required sta...ce nodes for the current kernel.
    [ OK ] Started Remount Root and Kernel File Systems.
    [ OK ] Started Load Kernel Modules.
    [ OK ] Started Journal Service.
    Mounting Configuration File System...
    Starting Apply Kernel Variables...
    Starting udev Coldplug all Devices...
    Starting Flush Journal to Persistent Storage...
    Starting Create Static Device Nodes in /dev...
    [ OK ] Mounted Configuration File System.
    [ OK ] Started Apply Kernel Variables.
    [ OK ] Started Create Static Device Nodes in /dev.
    [ 4.439683] systemd-journald[91]: Received request to flush runtime journal from PID 1
    [ OK ] Started Flush Journal to Persistent Storage.
    Starting udev Kernel Device Manager...
    [ OK ] Reached target Local File Systems (Pre).
    Mounting /var/volatile...
    Mounting /media/ram...
    [ OK ] Mounted /var/volatile.
    [ OK ] Mounted /media/ram.
    [ OK ] Started udev Kernel Device Manager.
    Starting Load/Save Random Seed...
    [ OK ] Reached target Local File Systems.
    Starting Create Volatile Files and Directories...
    [ OK ] Started Load/Save Random Seed.
    [ OK ] Started Create Volatile Files and Directories.
    Starting Update UTMP about System Boot/Shutdown...
    Starting Network Time Synchronization...
    [ OK ] Started Update UTMP about System Boot/Shutdown.
    [ OK ] Started Network Time Synchronization.
    Starting Synchronize System and HW clocks...
    [ OK ] Reached target System Time Synchronized.
    [FAILED] Failed to start Synchronize System and HW clocks.
    See 'systemctl status sync-clocks.service' for details.
    [ 6.163988] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
    [ 6.236559] remoteproc remoteproc0: wkup_m3 is available
    [ OK ] Started udev Coldplug all Devices.
    [ OK ] Reached target System Initialization.
    [ OK ] Listening on RPCbind Server Activation Socket.
    [ 6.324890] omap_rtc 44e3e000.rtc: already running
    [ 6.352110] omap_rtc 44e3e000.rtc: rtc core: registered 44e3e000.rtc as rtc0
    [ OK ] Listening on dropbear.socket.
    [ OK ] Listening on D-Bus System Message Bus Socket.
    [ OK ] Started Daily Cleanup of Temporary Directories.
    [ 6.480445] remoteproc remoteproc0: powering up wkup_m3
    [ OK ] Reached target Timers.
    [ OK ] Listening on Avahi mDNS/DNS-SD Stack Activation Socket.
    [ OK ] Reached target Sockets.
    [ 6.554009] remoteproc remoteproc0: Booting fw image am335x-pm-firmware.elf, size 224344
    [ OK ] Reached target Basic System.
    [ 6.630432] remoteproc remoteproc0: remote processor wkup_m3 is now up
    [ 6.640451] wkup_m3_ipc 44e11324.wkup_m3_ipc: CM3 Firmware Version = 0x192
    [ OK ] Started System Logging Service.
    [ OK ] Started D-Bus System Message Bus.
    [ 7.510104] omap_rng 48310000.rng: OMAP Random Number Generator ver. 20
    Starting Network Service...
    [ OK ] Started Kernel Logging Service.
    Starting Login Service...
    Starting Telephony service...
    Starting Print notice about GPLv3 packages...
    Starting uim-sysfs.service...
    Starting Avahi mDNS/DNS-SD Stack...
    [ 8.088714] omap_i2c 4802a000.i2c: timeout waiting for bus ready
    [ 8.094780] ov2659 1-0030: Sensor soft reset failed
    [ OK ] Started Network Service.
    [ OK ] Found device /dev/ttyS0.
    [ 8.370622] IPv6: ADDRCONF(NETDEV_UP): usb0: link is not ready
    [ 8.756627] Bluetooth: Core ver 2.22
    [ OK ] Started Telephony service.
    [ OK ] Started Avahi mDNS/DNS-SD Stack.
    [ OK ] Started Login Service.
    [ OK ] Reached target Network.
    [ 8.916797] NET: Registered protocol family 31
    Starting Lightning Fast Webserver With Light System Requirements[ 9.014508] Bluetooth: HCI device and connection manager initialized
    ...
    Starting Simple Network Management Protocol (SNMP) Daemon....
    [ 9.208714] Bluetooth: HCI socket layer initialized
    [ 9.216625] Bluetooth: L2CAP socket layer initialized
    [ OK ] Started strongSwan IPsec IKEv1/IKEv2 daemon using ipsec.conf.
    Starting Permit User Sessions...
    [ 9.479880] Bluetooth: SCO socket layer initialized
    [ 9.558706] omap_i2c 4802a000.i2c: timeout waiting for bus ready
    [ 9.564774] edt_ft5x06 1-0038: touchscreen probe failed
    [ 9.627342] omap-sham 53100000.sham: hw accel on OMAP rev 0.0
    Starting Enable and configure wl18xx bluetooth stack...
    [ 9.888886] edt_ft5x06: probe of 1-0038 failed with error -110
    Starting Network Name Resolution...
    [ 10.170919] omap-aes 53501000.aes: OMAP AES hw accel rev: 0.1
    [ OK ] Started Lightning Fast Webserver With Light System Requirements.
    [ OK ] Started Permit User Sessions.
    [ 10.337138] omap-aes 53501000.aes: will run requests pump with realtime priority
    [ 10.406037] net eth0: initializing cpsw version 1.15 (0)
    [ 10.406049] net eth0: initialized cpsw ale version 1.4
    [ 10.406054] net eth0: ALE Table size 1024
    [ 10.499048] TI DP83620 10/100 Mbps PHY 4a101000.mdio:01: attached PHY driver [TI DP83620 10/100 Mbps PHY] (mii_bus:phy_addr=4a101000.mdio:0)
    [ 10.507116] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
    [ 10.720583] net eth1: initializing cpsw version 1.15 (0)
    [ 10.819178] TI DP83620 10/100 Mbps PHY 4a101000.mdio:02: attached PHY driver [TI DP83620 10/100 Mbps PHY] (mii_bus:phy_addr=4a101000.mdio:0)
    [ 10.823471] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
    [ 11.060833] input: matrix_keypad0 as /devices/platform/matrix_keypad0/input/input1
    [ 11.126780] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
    [ 11.200826] NET: Registered protocol family 15
    [ 11.486426] PM: bootloader does not support rtc-only!
    [ 11.793636] EXT4-fs (mmcblk1p2): mounting ext3 file system using the ext4 subsystem
    [ 11.844595] EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Opts: (null)
    [ 12.006223] FAT-fs (mmcblk1p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
    [ 12.387643] Initializing XFRM netlink socket
    [ OK ] Started Network Name Resolution.
    [ 12.541200] omap-des 53701000.des: OMAP DES hw accel rev: 0.33
    [ 12.626590] omap-des 53701000.des: will run requests pump with realtime priority
    [ OK ] Started Enable and configure wl18xx bluetooth stack.
    [ 12.833605] omap_hwmod: gfx: failed to hardreset
    [ 13.230282] pvrsrvkm 56000000.sgx: Unable to reset SGX!
    [ OK ] Started Simple Network Management Protocol (SNMP) Daemon..
    [ 13.349168] omap_hwmod: gfx: _wait_target_ready failed: -16
    [ 13.498688] pvrsrvkm 56000000.sgx: use pm_runtime_put_sync_suspend() in driver?
    [ 13.623546] PVR_K:(Error): EnableSGXClocks: pm_runtime_get_sync failed (16)
    [ 13.743176] PVR_K:(Error): SysInitialise: Failed to Enable system clocks (175)
    [ OK ] Listening on Load/Save RF Kill Switch Status /dev/rfkill Watch.
    [ OK ] Created slice system-systemd\x2dbacklight.slice.
    Starting Load/Save Screen Backlight...htness of backlight:backlight...
    [ OK ] Started Serial Getty on ttyS0.
    [ OK ] Started Getty on tty1.
    [ OK ] Reached target Login Prompts.
    [ OK ] Started Load/Save Screen Backlight Brightness of backlight:backlight.
    [ 15.878655] random: crng init done
    [ 18.030814] ti-pruss 54400000.pruss: creating PRU cores and other child platform devices
    [ 18.125076] irq: no irq domain found for /ocp@44000000/pruss_soc_bus@54426000/pruss@54400000/intc@54420000 !
    [ 18.243215] irq: no irq domain found for /ocp@44000000/pruss_soc_bus@54426000/pruss@54400000/intc@54420000 !
    [ 18.365267] ti-pruss 54440000.pruss: creating PRU cores and other child platform devices
    [ 18.424870] irq: no irq domain found for /ocp@44000000/pruss_soc_bus@54426000/pruss@54440000/intc@54460000 !
    [ 18.503472] irq: no irq domain found for /ocp@44000000/pruss_soc_bus@54426000/pruss@54440000/intc@54460000 !
    [ 18.711632] remoteproc remoteproc1: 54434000.pru0 is available
    [ 18.717597] pru-rproc 54434000.pru0: PRU rproc node /ocp@44000000/pruss_soc_bus@54426000/pruss@54400000/pru@54434000 probed successfully
    [ 18.857523] remoteproc remoteproc2: 54438000.pru1 is available
    [ 18.901861] pru-rproc 54438000.pru1: PRU rproc node /ocp@44000000/pruss_soc_bus@54426000/pruss@54400000/pru@54438000 probed successfully
    [ 18.988998] remoteproc remoteproc3: 54474000.pru0 is available
    [ 18.994947] pru-rproc 54474000.pru0: PRU rproc node /ocp@44000000/pruss_soc_bus@54426000/pruss@54440000/pru@54474000 probed successfully
    [ 19.118908] remoteproc remoteproc4: 54478000.pru1 is available
    [ 19.124856] pru-rproc 54478000.pru1: PRU rproc node /ocp@44000000/pruss_soc_bus@54426000/pruss@54440000/pru@54478000 probed successfully
    ***************************************************************
    ***************************************************************
    NOTICE: This file system contains the following GPLv3 packages:
    autoconf
    binutils
    cpp-symlinks
    cpp
    dosfstools
    g++-symlinks
    g++
    gawk-dev
    gawk
    gcc-symlinks
    gcc
    gdb
    gdbserver
    gstreamer1.0-libav
    hidapi
    libcairo-perf-utils
    libgmp10
    libidn11
    libmpc3
    libmpfr4
    libreadline-dev
    libreadline6
    m4-dev
    m4
    make
    nettle
    swig-dev
    swig

    If you do not wish to distribute GPLv3 components please remove
    the above packages prior to distribution. This can be done using
    the opkg remove command. i.e.:
    opkg remove <package>
    Where <package> is the name printed in the list above

    NOTE: If the package is a dependency of another package you
    will be notified of the dependent packages. You should
    use the --force-removal-of-dependent-packages option to
    also remove the dependent packages as well
    ***************************************************************
    ***************************************************************

    _____ _____ _ _
    | _ |___ ___ ___ ___ | _ |___ ___ |_|___ ___| |_
    | | _| .'| . | . | | __| _| . | | | -_| _| _|
    |__|__|_| |__,|_ |___| |__| |_| |___|_| |___|___|_|
    |___| |___|

    Arago Project http://arago-project.org am437x-evm ttyS0

    Arago 2017.05 am437x-evm ttyS0

    am437x-evm login: root
    root@am437x-evm:~# ifconfig
    eth0 Link encap:Ethernet HWaddr C4:BE:84:CB:5E:69
    UP BROADCAST MULTICAST MTU:1500 Metric:1
    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
    Interrupt:139

    eth1 Link encap:Ethernet HWaddr C4:BE:84:CB:5E:6B
    UP BROADCAST MULTICAST MTU:1500 Metric:1
    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

    lo Link encap:Local Loopback
    inet addr:127.0.0.1 Mask:255.0.0.0
    inet6 addr: ::1%763860/128 Scope:Host
    UP LOOPBACK RUNNING MTU:65536 Metric:1
    RX packets:160 errors:0 dropped:0 overruns:0 frame:0
    TX packets:160 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1
    RX bytes:12160 (11.8 KiB) TX bytes:12160 (11.8 KiB)

    usb0 Link encap:Ethernet HWaddr 66:5A:ED:EB:BF:2F
    UP BROADCAST MULTICAST MTU:1500 Metric:1
    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

    root@am437x-evm:~#
  • The dts file i am using for GC150 is :

    /*
    * 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.
    */

    /* AM437x GC150 */

    /dts-v1/;

    #include "am4372.dtsi"
    #include <dt-bindings/pinctrl/am43xx.h>
    #include <dt-bindings/pwm/pwm.h>
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/input/input.h>

    / {
    model = "TI AM437x SK EVM";
    compatible = "ti,am437x-sk-evm","ti,am4372","ti,am43";

    aliases {
    display0 = &lcd0;
    };

    chosen {
    stdout-path = &uart0;
    };

    /* fixed 32k external oscillator clock */
    clk_32k_rtc: clk_32k_rtc {
    #clock-cells = <0>;
    compatible = "fixed-clock";
    clock-frequency = <32768>;
    };

    lcd_bl: backlight {
    compatible = "pwm-backlight";
    pwms = <&ecap0 0 50000 PWM_POLARITY_INVERTED>;
    brightness-levels = <0 51 53 56 62 75 101 152 255>;
    default-brightness-level = <8>;
    };

    /* Used in SK EVM, but not used on GC150 so disabling sound node
    sound {
    compatible = "simple-audio-card";
    simple-audio-card,name = "AM437x-SK-EVM";
    simple-audio-card,widgets =
    "Headphone", "Headphone Jack",
    "Line", "Line In";
    simple-audio-card,routing =
    "Headphone Jack", "HPLOUT",
    "Headphone Jack", "HPROUT",
    "LINE1L", "Line In",
    "LINE1R", "Line In";
    simple-audio-card,format = "dsp_b";
    simple-audio-card,bitclock-master = <&sound_master>;
    simple-audio-card,frame-master = <&sound_master>;
    simple-audio-card,bitclock-inversion;

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

    sound_master: simple-audio-card,codec {
    sound-dai = <&tlv320aic3106>;
    system-clock-frequency = <24000000>;
    };
    };*/

    matrix_keypad: matrix_keypad0 {
    compatible = "gpio-matrix-keypad";

    pinctrl-names = "default";
    pinctrl-0 = <&matrix_keypad_pins>;

    debounce-delay-ms = <5>;
    col-scan-delay-us = <5>;

    row-gpios = <&gpio5 5 GPIO_ACTIVE_HIGH /* Bank5, pin5 */
    &gpio5 6 GPIO_ACTIVE_HIGH>; /* Bank5, pin6 */

    col-gpios = <&gpio5 13 GPIO_ACTIVE_HIGH /* Bank5, pin13 */
    &gpio5 4 GPIO_ACTIVE_HIGH>; /* Bank5, pin4 */

    linux,keymap = <
    MATRIX_KEY(0, 0, KEY_DOWN)
    MATRIX_KEY(0, 1, KEY_RIGHT)
    MATRIX_KEY(1, 0, KEY_LEFT)
    MATRIX_KEY(1, 1, KEY_UP)
    >;
    };

    leds {
    compatible = "gpio-leds";

    pinctrl-names = "default";
    pinctrl-0 = <&leds_pins>;

    led0 {
    label = "am437x-sk:red:heartbeat";
    gpios = <&gpio5 0 GPIO_ACTIVE_HIGH>; /* Bank 5, pin 0 */
    linux,default-trigger = "heartbeat";
    default-state = "off";
    };

    led1 {
    label = "am437x-sk:green:mmc1";
    gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>; /* Bank 5, pin 1 */
    linux,default-trigger = "mmc0";
    default-state = "off";
    };

    led2 {
    label = "am437x-sk:blue:cpu0";
    gpios = <&gpio5 2 GPIO_ACTIVE_HIGH>; /* Bank 5, pin 2 */
    linux,default-trigger = "cpu0";
    default-state = "off";
    };

    led3 {
    label = "am437x-sk:blue:usr3";
    gpios = <&gpio5 3 GPIO_ACTIVE_HIGH>; /* Bank 5, pin 3 */
    default-state = "off";
    };
    };

    lcd0: display {
    compatible = "newhaven,nhd-4.3-480272ef-atxl", "panel-dpi";
    label = "lcd";

    pinctrl-names = "default";
    pinctrl-0 = <&lcd_pins>;

    backlight = <&lcd_bl>;

    enable-gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;

    panel-timing {
    clock-frequency = <9000000>;
    hactive = <480>;
    vactive = <272>;
    hfront-porch = <2>;
    hback-porch = <2>;
    hsync-len = <41>;
    vfront-porch = <2>;
    vback-porch = <2>;
    vsync-len = <10>;
    hsync-active = <0>;
    vsync-active = <0>;
    de-active = <1>;
    pixelclk-active = <1>;
    };

    port {
    lcd_in: endpoint {
    remote-endpoint = <&dpi_out>;
    };
    };
    };
    };

    &am43xx_pinmux {
    matrix_keypad_pins: matrix_keypad_pins {
    pinctrl-single,pins = <
    AM4372_IOPAD(0xa4c, PIN_OUTPUT | MUX_MODE7) /* gpio5_13.gpio5_13 */
    AM4372_IOPAD(0xa50, PIN_OUTPUT | MUX_MODE7) /* spi4_sclk.gpio5_4 */
    AM4372_IOPAD(0xa54, PIN_INPUT | MUX_MODE7) /* spi4_d0.gpio5_5 */
    AM4372_IOPAD(0xa58, PIN_INPUT | MUX_MODE7) /* spi4_d1.gpio5_5 */
    >;
    };

    leds_pins: leds_pins {
    pinctrl-single,pins = <
    AM4372_IOPAD(0xa28, PIN_OUTPUT | MUX_MODE7) /* uart3_rxd.gpio5_2 */
    AM4372_IOPAD(0xa2c, PIN_OUTPUT | MUX_MODE7) /* uart3_txd.gpio5_3 */
    AM4372_IOPAD(0xa30, PIN_OUTPUT | MUX_MODE7) /* uart3_ctsn.gpio5_0 */
    AM4372_IOPAD(0xa34, PIN_OUTPUT | MUX_MODE7) /* uart3_rtsn.gpio5_1 */
    >;
    };

    i2c0_pins: i2c0_pins {
    pinctrl-single,pins = <
    AM4372_IOPAD(0x988, PIN_INPUT | SLEWCTRL_FAST | MUX_MODE0) /* i2c0_sda.i2c0_sda */
    AM4372_IOPAD(0x98c, PIN_INPUT | SLEWCTRL_FAST | MUX_MODE0) /* i2c0_scl.i2c0_scl */
    >;
    };

    i2c1_pins: i2c1_pins {
    pinctrl-single,pins = <
    AM4372_IOPAD(0x95c, PIN_INPUT | SLEWCTRL_FAST | MUX_MODE2) /* spi0_cs0.i2c1_scl */
    AM4372_IOPAD(0x958, PIN_INPUT | SLEWCTRL_FAST | MUX_MODE2) /* spi0_d1.i2c1_sda */
    >;
    };

    /* As in GC150 emmc is connected to mmc0 pins */
    on_board_emmc_pins_default: on_board_emmc_pins_default {
    pinctrl-single,pins = <
    AM4372_IOPAD(0x8f0, PIN_INPUT_PULLUP | MUX_MODE0 ) /*(B1)mmc0_dat3.mmc0_dat3 */
    AM4372_IOPAD(0x8f4, PIN_INPUT_PULLUP | MUX_MODE0 ) /*(B2)mmc0_dat2.mmc0_dat2 */
    AM4372_IOPAD(0x8f8, PIN_INPUT_PULLUP | MUX_MODE0 ) /*(C2)mmc0_dat1.mmc0_dat1 */
    AM4372_IOPAD(0x8fc, PIN_INPUT_PULLUP | MUX_MODE0 ) /*(C1)mmc0_dat0.mmc0_dat0 */
    AM4372_IOPAD(0x900, PIN_INPUT | MUX_MODE0 ) /*(D1)mmc0_clk.mmc0_clk */
    AM4372_IOPAD(0x904, PIN_INPUT_PULLUP | MUX_MODE0 ) /*(D2)mmc0_cmd.mmc0_cmd */
    AM4372_IOPAD(0x92c, PIN_INPUT_PULLUP | MUX_MODE3 ) /*(D14)mii1_tx_clk.mmc0_dat7*/
    AM4372_IOPAD(0x930, PIN_INPUT_PULLUP | MUX_MODE3 ) /*(D13)mii1_rx_clk.mmc0_dat6*/
    AM4372_IOPAD(0x934, PIN_INPUT_PULLUP | MUX_MODE3 ) /*(C14)mii1_rxd3.mmc0_dat5 */
    AM4372_IOPAD(0x938, PIN_INPUT_PULLUP | MUX_MODE3 ) /*(E16)mii1_rxd2.mmc0_dat4 */
    >;
    };

    /* the sk-evm device tree pin assignments for the MMC0 device */
    mmc1_pins: pinmux_mmc1_pins {
    pinctrl-single,pins = <
    AM4372_IOPAD(0x8f0, PIN_INPUT | MUX_MODE0) /* mmc0_dat3.mmc0_dat3 */
    AM4372_IOPAD(0x8f4, PIN_INPUT | MUX_MODE0) /* mmc0_dat2.mmc0_dat2 */
    AM4372_IOPAD(0x8f8, PIN_INPUT | MUX_MODE0) /* mmc0_dat1.mmc0_dat1 */
    AM4372_IOPAD(0x8fc, PIN_INPUT | MUX_MODE0) /* mmc0_dat0.mmc0_dat0 */
    AM4372_IOPAD(0x900, PIN_INPUT | MUX_MODE0) /* mmc0_clk.mmc0_clk */
    AM4372_IOPAD(0x904, PIN_INPUT | MUX_MODE0) /* mmc0_cmd.mmc0_cmd */
    AM4372_IOPAD(0x960, PIN_INPUT | MUX_MODE7) /* spi0_cs1.gpio0_6 */
    >;
    };

    /* In GC150 SD-card is connected to mmc1 pins */
    mmc1_pins_default: mmc1_pins_default {
    pinctrl-single,pins = <
    AM4372_IOPAD(0x880, PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn1.mmc1_clk */
    AM4372_IOPAD(0x884, PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn2.mmc1_cmd */
    AM4372_IOPAD(0x800, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad0.mmc1_dat0 */
    AM4372_IOPAD(0x804, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad1.mmc1_dat1 */
    AM4372_IOPAD(0x808, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad2.mmc1_dat2 */
    AM4372_IOPAD(0x80c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad3.mmc1_dat3 */
    AM4372_IOPAD(0x994, PIN_INPUT | MUX_MODE7 ) /* (N22)mmc1_sdcd.gpio3_15 */
    >;
    };

    ecap0_pins: backlight_pins {
    pinctrl-single,pins = <
    AM4372_IOPAD(0x964, PIN_OUTPUT | MUX_MODE0) /* eCAP0_in_PWM0_out.eCAP0_in_PWM0_out */
    >;
    };

    edt_ft5306_ts_pins: edt_ft5306_ts_pins {
    pinctrl-single,pins = <
    /* AM4372_IOPAD(0x874, PIN_INPUT | MUX_MODE7) /* gpmc_wpn.gpio0_31 */
    AM4372_IOPAD(0x878, PIN_OUTPUT | MUX_MODE7) /* gpmc_be1n.gpio1_28 */
    >;
    };

    vpfe0_pins_default: vpfe0_pins_default {
    pinctrl-single,pins = <
    AM4372_IOPAD(0x9b0, PIN_INPUT_PULLUP | MUX_MODE0) /* cam0_hd mode 0*/
    AM4372_IOPAD(0x9b4, PIN_INPUT_PULLUP | MUX_MODE0) /* cam0_vd mode 0*/
    AM4372_IOPAD(0x9b8, PIN_INPUT_PULLUP | MUX_MODE0) /* cam0_field mode 0*/
    AM4372_IOPAD(0x9bc, PIN_INPUT_PULLUP | MUX_MODE0) /* cam0_wen mode 0*/
    AM4372_IOPAD(0x9c0, PIN_INPUT_PULLUP | MUX_MODE0) /* cam0_pclk mode 0*/
    AM4372_IOPAD(0x9c4, PIN_INPUT_PULLUP | MUX_MODE0) /* cam0_data8 mode 0*/
    AM4372_IOPAD(0x9c8, PIN_INPUT_PULLUP | MUX_MODE0) /* cam0_data9 mode 0*/
    AM4372_IOPAD(0xa08, PIN_INPUT_PULLUP | MUX_MODE0) /* cam0_data0 mode 0*/
    AM4372_IOPAD(0xa0c, PIN_INPUT_PULLUP | MUX_MODE0) /* cam0_data1 mode 0*/
    AM4372_IOPAD(0xa10, PIN_INPUT_PULLUP | MUX_MODE0) /* cam0_data2 mode 0*/
    AM4372_IOPAD(0xa14, PIN_INPUT_PULLUP | MUX_MODE0) /* cam0_data3 mode 0*/
    AM4372_IOPAD(0xa18, PIN_INPUT_PULLUP | MUX_MODE0) /* cam0_data4 mode 0*/
    AM4372_IOPAD(0xa1c, PIN_INPUT_PULLUP | MUX_MODE0) /* cam0_data5 mode 0*/
    AM4372_IOPAD(0xa20, PIN_INPUT_PULLUP | MUX_MODE0) /* cam0_data6 mode 0*/
    AM4372_IOPAD(0xa24, PIN_INPUT_PULLUP | MUX_MODE0) /* cam0_data7 mode 0*/
    >;
    };

    vpfe0_pins_sleep: vpfe0_pins_sleep {
    pinctrl-single,pins = <
    AM4372_IOPAD(0x9b0, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
    AM4372_IOPAD(0x9b4, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
    AM4372_IOPAD(0x9b8, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
    AM4372_IOPAD(0x9bc, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
    AM4372_IOPAD(0x9c0, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
    AM4372_IOPAD(0x9c4, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
    AM4372_IOPAD(0x9c8, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
    AM4372_IOPAD(0xa08, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
    AM4372_IOPAD(0xa0c, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
    AM4372_IOPAD(0xa10, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
    AM4372_IOPAD(0xa14, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
    AM4372_IOPAD(0xa18, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
    AM4372_IOPAD(0xa1c, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
    AM4372_IOPAD(0xa20, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
    AM4372_IOPAD(0xa24, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
    >;
    };

    clkout1_pin: pinmux_clkout1_pin {
    pinctrl-single,pins = <
    0x270 (PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* XDMA_EVENT_INTR0/CLKOUT1 */
    >;
    };

    cpsw_default: cpsw_default {
    pinctrl-single,pins = <
    /* Slave 1 */
    AM4372_IOPAD(0x92c, PIN_OUTPUT | MUX_MODE2) /* mii1_txclk.rmii1_tclk */
    AM4372_IOPAD(0x914, PIN_OUTPUT | MUX_MODE2) /* mii1_txen.rgmii1_tctl */
    AM4372_IOPAD(0x928, PIN_OUTPUT | MUX_MODE2) /* mii1_txd0.rgmii1_td0 */
    AM4372_IOPAD(0x924, PIN_OUTPUT | MUX_MODE2) /* mii1_txd1.rgmii1_td1 */
    AM4372_IOPAD(0x920, PIN_OUTPUT | MUX_MODE2) /* mii1_txd0.rgmii1_td2 */
    AM4372_IOPAD(0x91c, PIN_OUTPUT | MUX_MODE2) /* mii1_txd1.rgmii1_td3 */
    AM4372_IOPAD(0x930, PIN_INPUT | MUX_MODE2) /* mii1_rxclk.rmii1_rclk */
    AM4372_IOPAD(0x918, PIN_INPUT | MUX_MODE2) /* mii1_rxdv.rgmii1_rctl */
    AM4372_IOPAD(0x940, PIN_INPUT | MUX_MODE2) /* mii1_rxd0.rgmii1_rd0 */
    AM4372_IOPAD(0x93c, PIN_INPUT | MUX_MODE2) /* mii1_rxd1.rgmii1_rd1 */
    AM4372_IOPAD(0x938, PIN_INPUT | MUX_MODE2) /* mii1_rxd0.rgmii1_rd2 */
    AM4372_IOPAD(0x934, PIN_INPUT | MUX_MODE2) /* mii1_rxd1.rgmii1_rd3 */

    /* Slave 2 */
    AM4372_IOPAD(0x858, PIN_OUTPUT | MUX_MODE2) /* gpmc_a6.rgmii2_tclk */
    AM4372_IOPAD(0x840, PIN_OUTPUT | MUX_MODE2) /* gpmc_a0.rgmii2_tctl */
    AM4372_IOPAD(0x854, PIN_OUTPUT | MUX_MODE2) /* gpmc_a5.rgmii2_td0 */
    AM4372_IOPAD(0x850, PIN_OUTPUT | MUX_MODE2) /* gpmc_a4.rgmii2_td1 */
    AM4372_IOPAD(0x84c, PIN_OUTPUT | MUX_MODE2) /* gpmc_a3.rgmii2_td2 */
    AM4372_IOPAD(0x848, PIN_OUTPUT | MUX_MODE2) /* gpmc_a2.rgmii2_td3 */
    AM4372_IOPAD(0x85c, PIN_INPUT | MUX_MODE2) /* gpmc_a7.rgmii2_rclk */
    AM4372_IOPAD(0x844, PIN_INPUT | MUX_MODE2) /* gpmc_a1.rgmii2_rtcl */
    AM4372_IOPAD(0x86c, PIN_INPUT | MUX_MODE2) /* gpmc_a11.rgmii2_rd0 */
    AM4372_IOPAD(0x868, PIN_INPUT | MUX_MODE2) /* gpmc_a10.rgmii2_rd1 */
    AM4372_IOPAD(0x864, PIN_INPUT | MUX_MODE2) /* gpmc_a9.rgmii2_rd2 */
    AM4372_IOPAD(0x860, PIN_INPUT | MUX_MODE2) /* gpmc_a8.rgmii2_rd3 */
    >;
    };

    cpsw_sleep: cpsw_sleep {
    pinctrl-single,pins = <
    /* Slave 1 reset value */
    AM4372_IOPAD(0x92c, PIN_INPUT_PULLDOWN | MUX_MODE7)
    AM4372_IOPAD(0x914, PIN_INPUT_PULLDOWN | MUX_MODE7)
    AM4372_IOPAD(0x928, PIN_INPUT_PULLDOWN | MUX_MODE7)
    AM4372_IOPAD(0x924, PIN_INPUT_PULLDOWN | MUX_MODE7)
    AM4372_IOPAD(0x920, PIN_INPUT_PULLDOWN | MUX_MODE7)
    AM4372_IOPAD(0x91c, PIN_INPUT_PULLDOWN | MUX_MODE7)
    AM4372_IOPAD(0x930, PIN_INPUT_PULLDOWN | MUX_MODE7)
    AM4372_IOPAD(0x918, PIN_INPUT_PULLDOWN | MUX_MODE7)
    AM4372_IOPAD(0x940, PIN_INPUT_PULLDOWN | MUX_MODE7)
    AM4372_IOPAD(0x93c, PIN_INPUT_PULLDOWN | MUX_MODE7)
    AM4372_IOPAD(0x938, PIN_INPUT_PULLDOWN | MUX_MODE7)
    AM4372_IOPAD(0x934, PIN_INPUT_PULLDOWN | MUX_MODE7)

    /* Slave 2 reset value */
    AM4372_IOPAD(0x858, PIN_INPUT_PULLDOWN | MUX_MODE7)
    AM4372_IOPAD(0x840, PIN_INPUT_PULLDOWN | MUX_MODE7)
    AM4372_IOPAD(0x854, PIN_INPUT_PULLDOWN | MUX_MODE7)
    AM4372_IOPAD(0x850, PIN_INPUT_PULLDOWN | MUX_MODE7)
    AM4372_IOPAD(0x84c, PIN_INPUT_PULLDOWN | MUX_MODE7)
    AM4372_IOPAD(0x848, PIN_INPUT_PULLDOWN | MUX_MODE7)
    AM4372_IOPAD(0x85c, PIN_INPUT_PULLDOWN | MUX_MODE7)
    AM4372_IOPAD(0x844, PIN_INPUT_PULLDOWN | MUX_MODE7)
    AM4372_IOPAD(0x86c, PIN_INPUT_PULLDOWN | MUX_MODE7)
    AM4372_IOPAD(0x868, PIN_INPUT_PULLDOWN | MUX_MODE7)
    AM4372_IOPAD(0x864, PIN_INPUT_PULLDOWN | MUX_MODE7)
    AM4372_IOPAD(0x860, PIN_INPUT_PULLDOWN | MUX_MODE7)
    >;
    };

    /* Ethernet pin-mux for GC150 */
    ethernet_phy_pins_default: ethernet_phy_pins_default {
    pinctrl-single,pins = <
    /* phy 1 */
    AM4372_IOPAD(0x90c, PIN_INPUT | MUX_MODE1 ) /* (B14) mii1_crs.rmii1_crs_dv */
    AM4372_IOPAD(0x910, PIN_INPUT | MUX_MODE1 ) /* (B13) mii1_rx_er.rmii1_rxer */
    AM4372_IOPAD(0x914, PIN_OUTPUT | MUX_MODE1 ) /* (A13) mii1_tx_en.rmii1_txen */
    AM4372_IOPAD(0x924, PIN_OUTPUT | MUX_MODE1 ) /* (A14) mii1_txd1.rmii1_txd1 */
    AM4372_IOPAD(0x928, PIN_OUTPUT | MUX_MODE1 ) /* (B15) mii1_txd0.rmii1_txd0 */
    AM4372_IOPAD(0x93c, PIN_INPUT | MUX_MODE1 ) /* (B16) mii1_rxd1.rmii1_rxd1 */
    AM4372_IOPAD(0x940, PIN_INPUT | MUX_MODE1 ) /* (F17) mii1_rxd0.rmii1_rxd0 */
    AM4372_IOPAD(0x944, PIN_INPUT | MUX_MODE0 ) /*(A16) rmii1_ref_clk.rmii1_refclk*/

    /* phy 2 */
    AM4372_IOPAD(0x840, PIN_OUTPUT | MUX_MODE3 ) /* (C3) gpmc_a0.rmii2_txen */
    AM4372_IOPAD(0x850, PIN_OUTPUT | MUX_MODE3 ) /* (D7) gpmc_a4.rmii2_txd1 */
    AM4372_IOPAD(0x854, PIN_OUTPUT | MUX_MODE3 ) /* (E7) gpmc_a5.rmii2_txd0 */
    AM4372_IOPAD(0x86c, PIN_INPUT | MUX_MODE3 ) /* (D8) gpmc_a11.rmii2_rxd0 */
    AM4372_IOPAD(0x868, PIN_INPUT | MUX_MODE3 ) /* (G8) gpmc_a10.rmii2_rxd1 */
    AM4372_IOPAD(0x870, PIN_INPUT | MUX_MODE3 ) /* (A2) gpmc_wait0.rmii2_crs_dv */
    AM4372_IOPAD(0x874, PIN_INPUT | MUX_MODE3 ) /* (B3) gpmc_wpn.rmii2_rxer */
    AM4372_IOPAD(0x908, PIN_INPUT | MUX_MODE1 ) /* (D16) mii1_col.rmii2_refclk */
    >;
    };

    davinci_mdio_default: davinci_mdio_default {
    pinctrl-single,pins = <
    /* MDIO */
    AM4372_IOPAD(0x948, PIN_INPUT | SLEWCTRL_FAST | MUX_MODE0) /* mdio_data.mdio_data */
    AM4372_IOPAD(0x94c, PIN_OUTPUT | MUX_MODE0) /* mdio_clk.mdio_clk */
    >;
    };

    davinci_mdio_sleep: davinci_mdio_sleep {
    pinctrl-single,pins = <
    /* MDIO reset value */
    AM4372_IOPAD(0x948, PIN_INPUT_PULLDOWN | MUX_MODE7)
    AM4372_IOPAD(0x94c, PIN_INPUT_PULLDOWN | MUX_MODE7)
    >;
    };

    dss_pins: dss_pins {
    pinctrl-single,pins = <
    AM4372_IOPAD(0x820, PIN_OUTPUT | MUX_MODE1) /* gpmc ad 8 -> DSS DATA 23 */
    AM4372_IOPAD(0x824, PIN_OUTPUT | MUX_MODE1)
    AM4372_IOPAD(0x828, PIN_OUTPUT | MUX_MODE1)
    AM4372_IOPAD(0x82c, PIN_OUTPUT | MUX_MODE1)
    AM4372_IOPAD(0x830, PIN_OUTPUT | MUX_MODE1)
    AM4372_IOPAD(0x834, PIN_OUTPUT | MUX_MODE1)
    AM4372_IOPAD(0x838, PIN_OUTPUT | MUX_MODE1)
    AM4372_IOPAD(0x83c, PIN_OUTPUT | MUX_MODE1) /* gpmc ad 15 -> DSS DATA 16 */
    AM4372_IOPAD(0x8a0, PIN_OUTPUT | MUX_MODE0) /* DSS DATA 0 */
    AM4372_IOPAD(0x8a4, PIN_OUTPUT | MUX_MODE0)
    AM4372_IOPAD(0x8a8, PIN_OUTPUT | MUX_MODE0)
    AM4372_IOPAD(0x8ac, PIN_OUTPUT | MUX_MODE0)
    AM4372_IOPAD(0x8b0, PIN_OUTPUT | MUX_MODE0)
    AM4372_IOPAD(0x8b4, PIN_OUTPUT | MUX_MODE0)
    AM4372_IOPAD(0x8b8, PIN_OUTPUT | MUX_MODE0)
    AM4372_IOPAD(0x8bc, PIN_OUTPUT | MUX_MODE0)
    AM4372_IOPAD(0x8c0, PIN_OUTPUT | MUX_MODE0)
    AM4372_IOPAD(0x8c4, PIN_OUTPUT | MUX_MODE0)
    AM4372_IOPAD(0x8c8, PIN_OUTPUT | MUX_MODE0)
    AM4372_IOPAD(0x8cc, PIN_OUTPUT | MUX_MODE0)
    AM4372_IOPAD(0x8d0, PIN_OUTPUT | MUX_MODE0)
    AM4372_IOPAD(0x8d4, PIN_OUTPUT | MUX_MODE0)
    AM4372_IOPAD(0x8d8, PIN_OUTPUT | MUX_MODE0)
    AM4372_IOPAD(0x8dc, PIN_OUTPUT | MUX_MODE0) /* DSS DATA 15 */
    AM4372_IOPAD(0x8e0, PIN_OUTPUT | MUX_MODE0) /* DSS VSYNC */
    AM4372_IOPAD(0x8e4, PIN_OUTPUT | MUX_MODE0) /* DSS HSYNC */
    AM4372_IOPAD(0x8e8, PIN_OUTPUT | MUX_MODE0) /* DSS PCLK */
    AM4372_IOPAD(0x8ec, PIN_OUTPUT | MUX_MODE0) /* DSS AC BIAS EN */

    >;
    };

    qspi_pins: qspi_pins {
    pinctrl-single,pins = <
    AM4372_IOPAD(0x87c, PIN_OUTPUT | MUX_MODE3) /* gpmc_csn0.qspi_csn */
    AM4372_IOPAD(0x888, PIN_OUTPUT | MUX_MODE2) /* gpmc_csn3.qspi_clk */
    AM4372_IOPAD(0x890, PIN_INPUT | MUX_MODE3) /* gpmc_advn_ale.qspi_d0 */
    AM4372_IOPAD(0x894, PIN_INPUT | MUX_MODE3) /* gpmc_oen_ren.qspi_d1 */
    AM4372_IOPAD(0x898, PIN_INPUT | MUX_MODE3) /* gpmc_wen.qspi_d2 */
    AM4372_IOPAD(0x89c, PIN_INPUT | MUX_MODE3) /* gpmc_be0n_cle.qspi_d3 */
    >;
    };

    mcasp1_pins: mcasp1_pins {
    pinctrl-single,pins = <
    AM4372_IOPAD(0x90c, PIN_INPUT_PULLDOWN | MUX_MODE4) /* mii1_crs.mcasp1_aclkx */
    AM4372_IOPAD(0x910, PIN_INPUT_PULLDOWN | MUX_MODE4) /* mii1_rxerr.mcasp1_fsx */
    AM4372_IOPAD(0x908, PIN_OUTPUT_PULLDOWN | MUX_MODE4) /* mii1_col.mcasp1_axr2 */
    AM4372_IOPAD(0x944, PIN_INPUT_PULLDOWN | MUX_MODE4) /* rmii1_ref_clk.mcasp1_axr3 */
    >;
    };

    mcasp1_pins_sleep: mcasp1_pins_sleep {
    pinctrl-single,pins = <
    AM4372_IOPAD(0x90c, PIN_INPUT_PULLDOWN | MUX_MODE7)
    AM4372_IOPAD(0x910, PIN_INPUT_PULLDOWN | MUX_MODE7)
    AM4372_IOPAD(0x908, PIN_INPUT_PULLDOWN | MUX_MODE7)
    AM4372_IOPAD(0x944, PIN_INPUT_PULLDOWN | MUX_MODE7)
    >;
    };

    lcd_pins: lcd_pins {
    pinctrl-single,pins = <
    AM4372_IOPAD(0x81c, PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpcm_ad7.gpio1_7 */
    >;
    };

    usb1_pins: usb1_pins {
    pinctrl-single,pins = <
    AM4372_IOPAD(0xac0, PIN_OUTPUT | MUX_MODE0) /* usb0_drvvbus.usb0_drvvbus */
    >;
    };

    usb2_pins: usb2_pins {
    pinctrl-single,pins = <
    AM4372_IOPAD(0xac4, PIN_OUTPUT | MUX_MODE0) /* usb0_drvvbus.usb0_drvvbus */
    >;
    };
    };

    &i2c0 {
    status = "okay";
    pinctrl-names = "default";
    pinctrl-0 = <&i2c0_pins>;
    clock-frequency = <100000>;

    tps@24 {
    compatible = "ti,tps65218";
    reg = <0x24>;
    interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
    interrupt-controller;
    #interrupt-cells = <2>;

    dcdc1: regulator-dcdc1 {
    /* VDD_CORE limits min of OPP50 and max of OPP100 */
    regulator-name = "vdd_core";
    regulator-min-microvolt = <912000>;
    regulator-max-microvolt = <1144000>;
    regulator-boot-on;
    regulator-always-on;
    };

    dcdc2: regulator-dcdc2 {
    /* VDD_MPU limits min of OPP50 and max of OPP_NITRO */
    regulator-name = "vdd_mpu";
    regulator-min-microvolt = <912000>;
    regulator-max-microvolt = <1378000>;
    regulator-boot-on;
    regulator-always-on;
    };

    dcdc3: regulator-dcdc3 {
    regulator-name = "vdds_ddr";
    regulator-min-microvolt = <1500000>;
    regulator-max-microvolt = <1500000>;
    regulator-boot-on;
    regulator-always-on;
    regulator-state-mem {
    regulator-on-in-suspend;
    };
    regulator-state-disk {
    regulator-off-in-suspend;
    };
    };

    dcdc4: regulator-dcdc4 {
    regulator-name = "v3_3d";
    regulator-min-microvolt = <3300000>;
    regulator-max-microvolt = <3300000>;
    regulator-boot-on;
    regulator-always-on;
    };

    dcdc5: regulator-dcdc5 {
    compatible = "ti,tps65218-dcdc5";
    regulator-name = "v1_0bat";
    regulator-min-microvolt = <1000000>;
    regulator-max-microvolt = <1000000>;
    regulator-boot-on;
    regulator-always-on;
    regulator-state-mem {
    regulator-on-in-suspend;
    };
    };

    dcdc6: regulator-dcdc6 {
    compatible = "ti,tps65218-dcdc6";
    regulator-name = "v1_8bat";
    regulator-min-microvolt = <1800000>;
    regulator-max-microvolt = <1800000>;
    regulator-boot-on;
    regulator-always-on;
    regulator-state-mem {
    regulator-on-in-suspend;
    };
    };

    ldo1: regulator-ldo1 {
    regulator-name = "v1_8d";
    regulator-min-microvolt = <1800000>;
    regulator-max-microvolt = <1800000>;
    regulator-boot-on;
    regulator-always-on;
    };

    power-button {
    compatible = "ti,tps65218-pwrbutton";
    status = "okay";
    interrupts = <3 IRQ_TYPE_EDGE_BOTH>;
    };
    };

    at24@50 {
    compatible = "at24,24c256";
    pagesize = <64>;
    reg = <0x50>;
    };
    };

    &i2c1 {
    status = "okay";
    pinctrl-names = "default";
    pinctrl-0 = <&i2c1_pins>;
    clock-frequency = <400000>;

    ov2659@30 {
    compatible = "ovti,ov2659";
    reg = <0x30>;
    pinctrl-names = "default";
    pinctrl-0 = <&clkout1_pin>;

    clocks = <&clkout1_mux_ck>;
    clock-names = "xvclk";
    assigned-clocks = <&clkout1_mux_ck>;
    assigned-clock-parents = <&clkout1_osc_div_ck>;

    port {
    ov2659_1: endpoint {
    remote-endpoint = <&vpfe0_ep>;
    link-frequencies = /bits/ 64 <70000000>;
    };
    };
    };

    edt-ft5306@38 {
    status = "okay";
    compatible = "edt,edt-ft5306", "edt,edt-ft5x06";
    pinctrl-names = "default";
    pinctrl-0 = <&edt_ft5306_ts_pins>;

    reg = <0x38>;
    interrupt-parent = <&gpio0>;
    interrupts = <31 IRQ_TYPE_EDGE_FALLING>;

    reset-gpios = <&gpio1 28 GPIO_ACTIVE_LOW>;

    touchscreen-size-x = <480>;
    touchscreen-size-y = <272>;
    };

    tlv320aic3106: tlv320aic3106@1b {
    #sound-dai-cells = <0>;
    compatible = "ti,tlv320aic3106";
    reg = <0x1b>;
    status = "okay";

    /* Regulators */
    AVDD-supply = <&dcdc4>;
    IOVDD-supply = <&dcdc4>;
    DRVDD-supply = <&dcdc4>;
    DVDD-supply = <&ldo1>;
    };

    lis331dlh@18 {
    compatible = "st,lis331dlh";
    reg = <0x18>;
    status = "okay";

    Vdd-supply = <&dcdc4>;
    Vdd_IO-supply = <&dcdc4>;
    interrupts-extended = <&gpio1 6 0>, <&gpio2 1 0>;
    };
    };

    &epwmss0 {
    status = "okay";
    };

    &ecap0 {
    status = "okay";
    pinctrl-names = "default";
    pinctrl-0 = <&ecap0_pins>;
    };

    &gpio0 {
    status = "okay";
    };

    &gpio1 {
    status = "okay";
    };

    &gpio5 {
    status = "okay";
    };

    /* EMMC is connected to MMC0 in GC150 */
    &mmc1 {
    status = "okay";
    pinctrl-names = "default";
    pinctrl-0 = <&on_board_emmc_pins_default>;
    /* SK EVM pins for MMC0 pinctrl-0 = <&mmc1_pins>;*/
    vmmc-supply = <&dcdc4>;
    bus-width = <8>;
    ti,non-removable;
    /*cd-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;*/
    };

    /* SD Card is connected to MMC1 in GC150 */
    &mmc2 {
    status = "okay";
    pinctrl-names = "default";
    pinctrl-0 = <&mmc1_pins_default>;
    vmmc-supply = <&dcdc4>;
    bus-width = <4>;
    /*cd-gpios = <&gpio3 15 GPIO_ACTIVE_LOW>;*/
    };

    &usb2_phy1 {
    status = "okay";
    };

    &usb1 {
    dr_mode = "otg";
    status = "okay";
    pinctrl-names = "default";
    pinctrl-0 = <&usb1_pins>;
    };

    &usb2_phy2 {
    status = "okay";
    };

    &usb2 {
    dr_mode = "host";
    status = "okay";
    pinctrl-names = "default";
    pinctrl-0 = <&usb2_pins>;
    };

    &qspi {
    status = "okay";
    pinctrl-names = "default";
    pinctrl-0 = <&qspi_pins>;

    spi-max-frequency = <48000000>;
    m25p80@0 {
    compatible = "mx66l51235l";
    spi-max-frequency = <48000000>;
    reg = <0>;
    spi-cpol;
    spi-cpha;
    spi-tx-bus-width = <1>;
    spi-rx-bus-width = <4>;
    #address-cells = <1>;
    #size-cells = <1>;

    /* MTD partition table.
    * The ROM checks the first 512KiB
    * for a valid file to boot(XIP).
    */
    partition@0 {
    label = "QSPI.U_BOOT";
    reg = <0x00000000 0x000080000>;
    };
    partition@1 {
    label = "QSPI.U_BOOT.backup";
    reg = <0x00080000 0x00080000>;
    };
    partition@2 {
    label = "QSPI.U-BOOT-SPL_OS";
    reg = <0x00100000 0x00010000>;
    };
    partition@3 {
    label = "QSPI.U_BOOT_ENV";
    reg = <0x00110000 0x00010000>;
    };
    partition@4 {
    label = "QSPI.U-BOOT-ENV.backup";
    reg = <0x00120000 0x00010000>;
    };
    partition@5 {
    label = "QSPI.KERNEL";
    reg = <0x00130000 0x0800000>;
    };
    partition@6 {
    label = "QSPI.FILESYSTEM";
    reg = <0x00930000 0x36D0000>;
    };
    };
    };

    &mac {
    status = "okay";
    pinctrl-names = "default";
    pinctrl-0 = <&ethernet_phy_pins_default>;
    /* for SK EVM pinctrl-0 = <&cpsw_default>;*/
    /* for SK EVM pinctrl-1 = <&cpsw_sleep>;*/
    slaves = <2>;
    dual_emac;
    /* reset-gpio = <&gpio1 4 GPIO_ACTIVE_HIGH>;*/
    };

    &davinci_mdio {
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&davinci_mdio_default>;
    pinctrl-1 = <&davinci_mdio_sleep>;
    status = "okay";
    };

    &cpsw_emac0 {
    phy_id = <&davinci_mdio>, <1>;
    phy-mode = "rmii";
    interrupt-parent = <&gpio1>;
    interrupts = <4 0>;
    dual_emac_res_vlan = <1>;
    };

    &cpsw_emac1 {
    phy_id = <&davinci_mdio>, <2>;
    phy-mode = "rmii";
    interrupt-parent = <&gpio1>;
    interrupts = <5 0>;
    dual_emac_res_vlan = <2>;
    };

    &elm {
    status = "okay";
    };

    /* not used on GC150
    &mcasp1 {
    #sound-dai-cells = <0>;
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&mcasp1_pins>;
    pinctrl-1 = <&mcasp1_pins_sleep>;

    status = "okay";

    op-mode = <0>;
    tdm-slots = <2>;
    serial-dir = <
    0 0 1 2
    >;

    tx-num-evt = <1>;
    rx-num-evt = <1>;
    };*/

    &dss {
    status = "okay";

    pinctrl-names = "default";
    pinctrl-0 = <&dss_pins>;

    port {
    dpi_out: endpoint@0 {
    remote-endpoint = <&lcd_in>;
    data-lines = <24>;
    };
    };
    };

    &rtc {
    clocks = <&clk_32k_rtc>, <&clk_32768_ck>;
    clock-names = "ext-clk", "int-clk";
    status = "okay";
    };

    &wdt {
    status = "okay";
    };

    &cpu {
    cpu0-supply = <&dcdc2>;
    };

    &vpfe0 {
    status = "okay";
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&vpfe0_pins_default>;
    pinctrl-1 = <&vpfe0_pins_sleep>;

    /* Camera port */
    port {
    vpfe0_ep: endpoint {
    remote-endpoint = <&ov2659_1>;
    ti,am437x-vpfe-interface = <0>;
    bus-width = <8>;
    hsync-active = <0>;
    vsync-active = <0>;
    };
    };
    };

    &wkup_m3_ipc {
    ti,scale-data-fw = "am43x-evm-scale-data.bin";
    };

    &pruss_soc_bus {
    status = "okay";

    pruss1: pruss@54400000 {
    status = "okay";

    pru1_0: pru@54434000 {
    status = "okay";
    };

    pru1_1: pru@54438000 {
    status = "okay";
    };
    };

    pruss0: pruss@54440000 {
    status = "okay";

    pru0_0: pru@54474000 {
    status = "okay";
    };

    pru0_1: pru@54478000 {
    status = "okay";
    };
    };
    };

    &sgx {
    status = "okay";
    };
  • The software team have been notified. They will respond here.