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.

PROCESSOR-SDK-AM437X: Custom hardware crashes seemingly randomly during kernel boot

Part Number: PROCESSOR-SDK-AM437X

sdk 6.0.0.7 sk-evm was starting place for custom board.

We have done two prototypes starting from the am437-sk-evm.  The first prototype had many peripherals and started right up and was stable. The second prototype has fewer peripherals:

-No external RTC crystal.  (removed lines in: arch/arm/mach-omap2/omap_hwmod_43xx_data.cp2/omap_hwmod_43xx_data.c

-No ethernet (hope to use usb wireless)

-No camera, audio. 

-sd card moved from mmc0 to mmc1 so we can in the future boot from mmc flash on mmc0.

-currently no touchscreen attached.

-uProcessor/sram layout preserved.

I have been looking at this for a couple of weeks.  But kernel locks up, in what seems to be random places (including after command prompt).

I have tried to follow two videos on using jtag to catch fault but so far have had no luck. 

 I am enclosing dts and bootlog, hoping someone can give me some pointers on where to look next?

6644.alxminbootlogt.txt
U-Boot SPL 2019.01-g99d81d6-dirty (Jul 07 2020 - 14:54:18 -0400)
Trying to boot from MMC1
SPL: Please implement spl_start_uboot() for your board
SPL: Direct Linux boot not active!


U-Boot 2019.01-g99d81d6-dirty (Jul 07 2020 - 14:54:18 -0400)

CPU  : AM437X-GP rev 1.2
Model: TI AM437x GP EVM
DRAM:  1 GiB
PMIC:  TPS65218
NAND:  0 MiB
MMC:   OMAP SD/MMC: 0
Loading Environment from FAT... *** Warning - bad CRC, using default environment

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

Warning: ethernet@4a100000 using MAC address from ROM
eth0: ethernet@4a100000
Hit any key to stop autoboot:  0
** Invalid partition 5 **
** Invalid partition 5 **
--booting partition: 0:2
switch to partitions #0, OK
mmc0 is current device
SD/MMC found on device 0
** Unable to read file boot.scr **
** Unable to read file uEnv.txt **
switch to partitions #0, OK
mmc0 is current device
SD/MMC found on device 0
4276736 bytes read in 221 ms (18.5 MiB/s)
43888 bytes read in 3 ms (14 MiB/s)
## Flattened Device Tree blob at 88000000
   Booting using the fdt blob at 0x88000000
   Loading Device Tree to 8fff2000, end 8ffffb6f ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.19.38-g4dae378bbe (jsp@rover) (gcc version 8.3.0 (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36))) #1 PREEMPT Wed Jul 8 12:05:33 EDT 2020
[    0.000000] CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt: Machine model: TI AM437x SK EVM
[    0.000000] Memory policy: Data cache writeback
[    0.000000] efi: Getting EFI parameters from FDT:
[    0.000000] efi: UEFI not found.
[    0.000000] cma: Reserved 48 MiB at 0xbd000000
[    0.000000] On node 0 totalpages: 262144
[    0.000000]   Normal zone: 1728 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 196608 pages, LIFO batch:63
[    0.000000]   HighMem zone: 65536 pages, LIFO batch:15
[    0.000000] CPU: All CPU(s) started in SVC mode.
[    0.000000] AM437x ES1.2 (sgx neon)
[    0.000000] random: get_random_bytes called from start_kernel+0xa0/0x420 with crng_init=0
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 260416
[    0.000000] Kernel command line: console=ttyO0,115200n8 root=PARTUUID=031fe8d4-02 rw rootfstype=ext4 rootwait
[    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: 976340K/1048576K available (8192K kernel code, 307K rwdata, 2684K rodata, 1024K init, 257K bss, 23084K reserved, 49152K cma-reserved, 212992K 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 : 0x(ptrval) - 0x(ptrval)   (9184 kB)
[    0.000000]       .init : 0x(ptrval) - 0x(ptrval)   (1024 kB)
[    0.000000]       .data : 0x(ptrval) - 0x(ptrval)   ( 308 kB)
[    0.000000]        .bss : 0x(ptrval) - 0x(ptrval)   ( 258 kB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000]  Tasks RCU enabled.
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 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 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.000012] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[    0.000028] clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[    0.000036] OMAP clocksource: timer1 at 24000000 Hz
[    0.000379] clocksource: 32k_counter: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 58327039986419 ns
[    0.000389] OMAP clocksource: 32k_counter at 32768 Hz
[    0.000719] Console: colour dummy device 80x30
[    0.000744] WARNING: Your 'console=ttyO0' has been replaced by 'ttyS0'
[    0.000750] This ensures that you still see kernel messages. Please
[    0.000754] update your kernel commandline.
[    0.000796] Calibrating delay loop... 1987.37 BogoMIPS (lpj=9936896)
[    0.060176] pid_max: default: 32768 minimum: 301
[    0.060354] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.060377] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.061113] CPU: Testing write buffer coherency: ok
[    0.061168] CPU0: Spectre v2: using BPIALL workaround
[    0.062015] Setting up static identity map for 0x80100000 - 0x80100060
[    0.062152] rcu: Hierarchical SRCU implementation.
[    0.062469] EFI services will not be available.
[    0.063356] devtmpfs: initialized
[    0.070467] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
[    0.070837] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.070858] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.073968] pinctrl core: initialized pinctrl subsystem
[    0.074626] DMI not present or invalid.
[    0.075025] NET: Registered protocol family 16
[    0.076635] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.144727] cpuidle: using governor ladder
[    0.144761] cpuidle: using governor menu
[    0.150387] gpio gpiochip0: (gpio-0-31): added GPIO chardev (254:0)
[    0.150485] gpiochip_setup_dev: registered GPIOs 0 to 31 on device: gpiochip0 (gpio-0-31)
[    0.150526] OMAP GPIO hardware version 0.1
[    0.151250] gpio gpiochip1: (gpio-32-63): added GPIO chardev (254:1)
[    0.151335] gpiochip_setup_dev: registered GPIOs 32 to 63 on device: gpiochip1 (gpio-32-63)
[    0.151991] gpio gpiochip2: (gpio-64-95): added GPIO chardev (254:2)
[    0.152059] gpiochip_setup_dev: registered GPIOs 64 to 95 on device: gpiochip2 (gpio-64-95)
[    0.152707] gpio gpiochip3: (gpio-96-127): added GPIO chardev (254:3)
[    0.152773] gpiochip_setup_dev: registered GPIOs 96 to 127 on device: gpiochip3 (gpio-96-127)
[    0.153402] gpio gpiochip4: (gpio-128-159): added GPIO chardev (254:4)
[    0.153475] gpiochip_setup_dev: registered GPIOs 128 to 159 on device: gpiochip4 (gpio-128-159)
[    0.154083] gpio gpiochip5: (gpio-160-191): added GPIO chardev (254:5)
[    0.154159] gpiochip_setup_dev: registered GPIOs 160 to 191 on device: gpiochip5 (gpio-160-191)
[    0.158416] omap_gpio gpios: can't get irq resource ret=-6
[    0.158612] No ATAGs?
[    0.158630] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
[    0.158640] hw-breakpoint: maximum watchpoint size is 4 bytes.
[    0.170777] edma 49000000.edma: TI EDMA DMA engine driver
[    0.173236] usbcore: registered new interface driver usbfs
[    0.173293] usbcore: registered new interface driver hub
[    0.173397] usbcore: registered new device driver usb
[    0.173769] media: Linux media interface: v0.10
[    0.173805] videodev: Linux video capture interface: v2.00
[    0.173888] pps_core: LinuxPPS API ver. 1 registered
[    0.173896] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.173917] PTP clock support registered
[    0.173948] EDAC MC: Ver: 3.0.0
[    0.174624] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
[    0.174944] Advanced Linux Sound Architecture Driver Initialized.
[    0.175980] clocksource: Switched to clocksource timer1
[    0.182863] NET: Registered protocol family 2
[    0.183545] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes)
[    0.183576] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
[    0.183635] TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
[    0.183708] TCP: Hash tables configured (established 8192 bind 8192)
[    0.183879] UDP hash table entries: 512 (order: 1, 8192 bytes)
[    0.183903] UDP-Lite hash table entries: 512 (order: 1, 8192 bytes)
[    0.184045] NET: Registered protocol family 1
[    0.184562] RPC: Registered named UNIX socket transport module.
[    0.184575] RPC: Registered udp transport module.
[    0.184581] RPC: Registered tcp transport module.
[    0.184587] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.184599] PCI: CLS 0 bytes, default 64
[    0.186415] Initialise system trusted keyrings
[    0.186641] workingset: timestamp_bits=14 max_order=18 bucket_order=4
[    0.190309] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.190983] NFS: Registering the id_resolver key type
[    0.191014] Key type id_resolver registered
[    0.191020] Key type id_legacy registered
[    0.191059] ntfs: driver 2.1.32 [Flags: R/O].
[    0.191464] pstore: using deflate compression
[    0.193113] Key type asymmetric registered
[    0.193128] Asymmetric key parser 'x509' registered
[    0.193186] bounce: pool size: 64 pages
[    0.193244] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
[    0.193256] io scheduler noop registered
[    0.193262] io scheduler deadline registered
[    0.193483] io scheduler cfq registered (default)
[    0.193494] io scheduler mq-deadline registered
[    0.193501] io scheduler kyber registered
[    0.195240] pinctrl-single 44e10800.pinmux: 199 pins, size 796
[    0.197702] pwm-backlight backlight: GPIO lookup for consumer enable
[    0.197719] pwm-backlight backlight: using device tree for GPIO lookup
[    0.197742] of_get_named_gpiod_flags: can't parse 'enable-gpios' property of node '/backlight[0]'
[    0.197755] of_get_named_gpiod_flags: can't parse 'enable-gpio' property of node '/backlight[0]'
[    0.197765] pwm-backlight backlight: using lookup tables for GPIO lookup
[    0.197774] pwm-backlight backlight: No GPIO consumer enable found
[    0.197794] pwm-backlight backlight: backlight supply power not found, using dummy regulator
[    0.197860] pwm-backlight backlight: Linked as a consumer to regulator.0
[    0.236267] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
[    0.238994] omap8250 44e09000.serial: No clock speed specified: using default: 48000000
[    0.239658] 44e09000.serial: ttyS0 at MMIO 0x44e09000 (irq = 31, base_baud = 3000000) is a 8250
[    1.118460] console [ttyS0] enabled
[    1.123737] omap_rng 48310000.rng: Random Number Generator ver. 20
[    1.131102] omapdss_dss 4832a000.dss: 4832a000.dss supply vdda_video not found, using dummy regulator
[    1.140490] omapdss_dss 4832a000.dss: Linked as a consumer to regulator.0
[    1.147421] omapdss_dss 4832a000.dss: Dropping the link to regulator.0
[    1.156396] panel-simple display: display supply power not found, using dummy regulator
[    1.164494] panel-simple display: Linked as a consumer to regulator.0
[    1.171055] panel-simple display: GPIO lookup for consumer enable
[    1.177212] panel-simple display: using device tree for GPIO lookup
[    1.183541] of_get_named_gpiod_flags: parsed 'enable-gpios' property of node '/display[0]' - status (0)
[    1.193069] gpio gpiochip5: Persistence not supported for GPIO 8
[    1.209436] brd: module loaded
[    1.220640] loop: module loaded
[    1.225925] mdio_bus fixed-0: GPIO lookup for consumer reset
[    1.231757] mdio_bus fixed-0: using lookup tables for GPIO lookup
[    1.237916] mdio_bus fixed-0: No GPIO consumer reset found
[    1.243439] libphy: Fixed MDIO Bus: probed
[    1.249173] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.255734] ehci-pci: EHCI PCI platform driver
[    1.261140] i2c /dev entries driver
[    1.266291] cpuidle: enable-method property 'ti,am4372' found operations
[    1.273433] sdhci: Secure Digital Host Controller Interface driver
[    1.279680] sdhci: Copyright(c) Pierre Ossman
[    1.284534] omap_hsmmc 48060000.mmc: GPIO lookup for consumer cd
[    1.290604] omap_hsmmc 48060000.mmc: using device tree for GPIO lookup
[    1.297203] of_get_named_gpiod_flags: parsed 'cd-gpios' property of node '/ocp@44000000/mmc@48060000[0]' - status (0)
[    1.307928] gpio gpiochip0: Persistence not supported for GPIO 6
[    1.313968] omap_gpio 44e07000.gpio: Could not set line 6 debounce to 200000 microseconds (-22)
[    1.322719] omap_hsmmc 48060000.mmc: Got CD GPIO
[    1.327367] omap_hsmmc 48060000.mmc: GPIO lookup for consumer wp
[    1.333398] omap_hsmmc 48060000.mmc: using device tree for GPIO lookup
[    1.339972] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp@44000000/mmc@48060000[0]'
[    1.349944] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp@44000000/mmc@48060000[0]'
[    1.359823] omap_hsmmc 48060000.mmc: using lookup tables for GPIO lookup
[    1.366562] omap_hsmmc 48060000.mmc: No GPIO consumer wp found
[    1.373018] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.379363] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds/led1[0]' - status (0)
[    1.388454] gpio gpiochip2: Persistence not supported for GPIO 2
[    1.394485] no flags found for gpios
[    1.398203] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds/led2[0]' - status (0)
[    1.407230] gpio gpiochip2: Persistence not supported for GPIO 3
[    1.413258] no flags found for gpios
[    1.416929] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds/led4[0]' - status (0)
[    1.425932] gpio gpiochip2: Persistence not supported for GPIO 0
[    1.431974] no flags found for gpios
[    1.435645] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds/led5[0]' - status (0)
[    1.444694] gpio gpiochip3: Persistence not supported for GPIO 15
[    1.450825] no flags found for gpios
[    1.454483] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds/led7[0]' - status (0)
[    1.463499] gpio gpiochip2: Persistence not supported for GPIO 5
[    1.469538] no flags found for gpios
[    1.473191] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds/led9[0]' - status (0)
[    1.482205] gpio-69 (am437x:yellow:alert): gpiod_request: status -16
[    1.488989] leds-gpio: probe of leds failed with error -16
[    1.494776] ledtrig-cpu: registered to indicate activity on CPUs
[    1.503216] NET: Registered protocol family 10
[    1.508741] Segment Routing with IPv6
[    1.512496] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    1.519124] NET: Registered protocol family 17
[    1.523859] Key type dns_resolver registered
[    1.528454] omap_voltage_late_init: Voltage driver support not added
[    1.535604] Loading compiled-in X.509 certificates
[    1.580621] vdds_ddr: Bringing 1350000uV into 1500000-1500000uV
[    1.589583] omap_i2c 44e0b000.i2c: bus 0 rev0.12 at 400 kHz
[    1.596533] omap_i2c 4802a000.i2c: bus 1 rev0.12 at 400 kHz
[    1.602639] omapdss_dss 4832a000.dss: 4832a000.dss supply vdda_video not found, using dummy regulator
[    1.612103] omapdss_dss 4832a000.dss: Linked as a consumer to regulator.0
[    1.619036] DSS: OMAP DSS rev 2.0
[    1.623339] omapdss_dss 4832a000.dss: bound 4832a400.dispc (ops dispc_component_ops)
[    1.631631] omapdrm omapdrm.0: DMM not available, disable DMM support
[    1.638411] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    1.645060] [drm] No driver support for vblank timestamp query.
[    1.738979] Console: switching to colour frame buffer device 60x34
[    1.772238] omapdrm omapdrm.0: fb0: omapdrm frame buffer device
[    1.778904] [drm] Initialized omapdrm 1.0.0 20110917 for omapdrm.0 on minor 0
[    1.786567] cpu cpu0: Linked as a consumer to regulator.2
[    1.792064] cpu cpu0: Dropping the link to regulator.2
[    1.797437] cpu cpu0: Linked as a consumer to regulator.2
[    1.804023] omap_hsmmc 48060000.mmc: GPIO lookup for consumer cd
[    1.810179] omap_hsmmc 48060000.mmc: using device tree for GPIO lookup
[    1.816821] of_get_named_gpiod_flags: parsed 'cd-gpios' property of node '/ocp@44000000/mmc@48060000[0]' - status (0)
[    1.827577] gpio gpiochip0: Persistence not supported for GPIO 6
[    1.833618] omap_gpio 44e07000.gpio: Could not set line 6 debounce to 200000 microseconds (-22)
[    1.842371] omap_hsmmc 48060000.mmc: Got CD GPIO
[    1.847030] omap_hsmmc 48060000.mmc: GPIO lookup for consumer wp
[    1.853062] omap_hsmmc 48060000.mmc: using device tree for GPIO lookup
[    1.859651] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp@44000000/mmc@48060000[0]'
[    1.869628] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp@44000000/mmc@48060000[0]'
[    1.879512] omap_hsmmc 48060000.mmc: using lookup tables for GPIO lookup
[    1.886254] omap_hsmmc 48060000.mmc: No GPIO consumer wp found
[    1.892449] omap_hsmmc 48060000.mmc: Linked as a consumer to regulator.4
[    1.926441] hctosys: unable to open rtc device (rtc0)
[    1.932958] ALSA device list:
[    1.935962]   No soundcards found.
[    1.941317] Waiting for root device PARTUUID=031fe8d4-02...
[    2.006055] mmc0: host does not support reading read-only switch, assuming write-enable
[    2.019040] mmc0: new high speed SDHC card at address aaaa
[    2.026309] mmcblk0: mmc0:aaaa SC32G 29.7 GiB
[    2.036467]  mmcblk0: p1 p2
[    2.068741] random: fast init done
[    2.110404] EXT4-fs (mmcblk0p2): recovery complete
[    2.115274] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[    2.124002] VFS: Mounted root (ext4 filesystem) on device 179:2.
[    2.141588] devtmpfs: mounted
[    2.146484] Freeing unused kernel memory: 1024K
[    2.151193] Run /sbin/init as init process
[    2.499415] systemd[1]: System time before build time, advancing clock.
[    2.548844] systemd[1]: systemd 239 running in system mode. (+PAM -AUDIT -SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP -GCRYPT -GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID -ELFUTILS +KMOD -IDN2 -IDN -PCRE2 default-hierarchy=hybrid)
[    2.571031] systemd[1]: Detected architecture arm.

Welcome to Arago 2019.05!

[    2.619399] systemd[1]: Set hostname to <am437x-evm>.
[    2.927577] systemd[1]: File /lib/systemd/system/systemd-journald.service:36 configures an IP firewall (IPAddressDeny=any), but the local system does not support BPF/cgroup based firewalling.
[    2.944780] systemd[1]: Proceeding WITHOUT firewalling in effect! (This warning is only shown for the first loaded unit using IP firewalling.)
[    3.369705] random: systemd: uninitialized urandom read (16 bytes read)
[    3.377292] systemd[1]: Listening on udev Control Socket.
[  OK  ] Listening on udev Control Socket.
[    3.406354] random: systemd: uninitialized urandom read (16 bytes read)
[    3.418409] systemd[1]: Created slice system-serial\x2dgetty.slice.
[  OK  ] Created slice system-serial\x2dgetty.slice.
[    3.446858] random: systemd: uninitialized urandom read (16 bytes read)
[    3.455484] systemd[1]: Created slice User and Session Slice.
[  OK  ] Created slice User and Session Slice.
[    3.487232] systemd[1]: Listening on Network Service Netlink Socket.
[  OK  ] Listening on Network Service Netlink Socket.
[    3.527425] systemd[1]: Listening on udev Kernel Socket.
[  OK  ] Listening on udev Kernel Socket.
[  OK  ] Listening on Journal Socket (/dev/log).
[  OK  ] Listening on initctl Compatibility Named Pipe.
[  OK  ] Reached target Remote File Systems.
[  OK  ] Reached target Slices.
[  OK  ] Started Dispatch Password Requests to Console Directory Watch.
[  OK  ] Started Forward Password Requests to Wall Directory Watch.
[  OK  ] Reached target Paths.
[  OK  ] Created slice system-getty.slice.
[  OK  ] Listening on Process Core Dump Socket.
[  OK  ] Listening on Journal Socket.
         Starting Create list of required st�ce nodes for the current kernel...
         Mounting Kernel Debug File System...
         Starting Journal Service...
         Mounting POSIX Message Queue File System...
         Starting udev Coldplug all Devices...
         Starting Load Kernel Modules...
[  OK  ] Started Hardware RNG Entropy Gatherer Daemon.
         Starting Remount Root and Kernel File Systems...
[  OK  ] Reached target Swap.
[    4.234987] cmemk: loading out-of-tree module taints kernel.
[    4.246121] random: crng init done
[    4.249555] random: 7 urandom warning(s) missed due to ratelimiting
         Mounting Temporary Directory (/tmp)...
[    4.278094] CMEMK module: reference Linux version 4.19.38
[    4.344237] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
[    4.365059] no physical memory specified
[  OK  ] Started Create list of required sta�vice no[    4.397230] cmemk initialized
des for the current kernel.
[  OK  ] Mounted Kernel Debug File System.
[  OK  ] Mounted POSIX Message Queue File System.
[    4.456666] cryptodev: driver 1.9 loaded.
[  OK  ] Started Remount Root and Kernel File Systems.
[    4.489234] usbcore: registered new interface driver ftdi_sio
[    4.495097] usbserial: USB Serial support registered for FTDI USB Serial Device
[  OK  ] Mounted Temporary Directory (/tmp).
[  OK  ] Started Journal Service.
[    4.547390] uio_module_drv: disagrees about version of symbol module_layout
         Starting Flush Journal to Persistent Storage...
         Starting Rebuild Hardware Database...
         Starting Create System Users...
[FAILED] Failed to start Load Kernel Modules.
See 'systemctl status systemd-modules-load.service' for details.
[    4.817037] systemd-journald[67]: Received request to flush runtime journal from PID 1
         Mounting Kernel Configuration File System...
         Starting Apply Kernel Variables...
[  OK  ] Started Flush Journal to Persistent Storage.
[  OK  ] Started Create System Users.
[  OK  ] Mounted Kernel Configuration File System.
         Starting Create Static Device Nodes in /dev...
[  OK  ] Started Apply Kernel Variables.
[  OK  ] Started Create Static Device Nodes in /dev.
[  OK  ] Reached target Local File Systems (Pre).
         Mounting /var/volatile...
         Mounting /media/ram...
[  OK  ] Reached target Containers.
[  OK  ] Mounted /var/volatile.
[  OK  ] Mounted /media/ram.
         Starting Load/Save Random Seed...
[  OK  ] Reached target Local File Systems.
         Starting Rebuild Dynamic Linker Cache...
         Starting Rebuild Journal Catalog...
         Starting Create Volatile Files and Directories...
[  OK  ] Started Load/Save Random Seed.
[  OK  ] Started Rebuild Journal Catalog.
[  OK  ] Started Create Volatile Files and Directories.
         Starting Update UTMP about System Boot/Shutdown...
         Starting Run pending postinsts...
         Starting Network Time Synchronization...
[  OK  ] Started Update UTMP about System Boot/Shutdown.
[  OK  ] Started Network Time Synchronization.
[  OK  ] Reached target System Time Synchronized.
[  OK  ] Started udev Coldplug all Devices.
[  OK  ] Started Rebuild Hardware Database.
         Starting udev Kernel Device Manager...
[  OK  ] Started udev Kernel Device Manager.
         Starting Network Service...
[  OK  ] Started Rebuild Dynamic Linker Cache.
         Starting Update is Completed...
[  OK  ] Started Network Service.
         Starting Network Name Resolution...
         Starting Wait for Network to be Configured...
[  OK  ] Started Update is Completed.
[  OK  ] Started Network Name Resolution.
[  OK  ] Reached target Host and Network Name Lookups.
[  OK  ] Reached target Network.
[   12.451437] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
[   12.460321] remoteproc remoteproc0: wkup_m3 is available
[   12.774562] remoteproc remoteproc0: powering up wkup_m3
[   12.819460] pixcir_ts 1-005c: GPIO lookup for consumer attb
[   12.825073] pixcir_ts 1-005c: using device tree for GPIO lookup
[  OK  ] Found device /dev/ttyS0.
[   12.869140] remoteproc remoteproc0: Booting fw image am335x-pm-firmware.elf, size 242896
[   12.943624] remoteproc remoteproc0: remote processor wkup_m3 is now up
[   12.950285] wkup_m3_ipc 44e11324.wkup_m3_ipc: CM3 Firmware Version = 0x192
[   12.976143] of_get_named_gpiod_flags: can't parse 'attb-gpios' property of node '/ocp@44000000/i2c@4802a000/pixcir_ts@5c[0]'
[   13.009060] CAN device driver interface
[   13.086423] of_get_named_gpiod_flags: parsed 'attb-gpio' property of node '/ocp@44000000/i2c@4802a000/pixcir_ts@5c[0]' - status (0)
[   13.103835] c_can_platform 481cc000.can: c_can_platform device registered (regs=1e20c71e, irq=50)
[   13.251784] gpio gpiochip0: Persistence not supported for GPIO 31
[   13.336236] pixcir_ts 1-005c: GPIO lookup for consumer reset
[   13.341939] pixcir_ts 1-005c: using device tree for GPIO lookup
[   13.456373] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp@44000000/i2c@4802a000/pixcir_ts@5c[0]'
[   13.561045] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp@44000000/i2c@4802a000/pixcir_ts@5c[0]'
[   13.630050] omap-sham 53100000.sham: hw accel on OMAP rev 0.0
[   13.665414] pvrsrvkm: disagrees about version of symbol module_layout
[   13.677428] omap-aes 53501000.aes: OMAP AES hw accel rev: 0.1
[   13.710957] omap-des 53701000.des: OMAP DES hw accel rev: 0.33
[   13.752290] pixcir_ts 1-005c: using lookup tables for GPIO lookup
[   13.765898] omap-aes 53501000.aes: will run requests pump with realtime priority
[   13.784915] pvrsrvkm: disagrees about version of symbol module_layout
[   13.792308] omap-des 53701000.des: will run requests pump with realtime priority
[   13.809330] pixcir_ts 1-005c: No GPIO consumer reset found
[   13.814863] pixcir_ts 1-005c: GPIO lookup for consumer wake
[   13.956155] pixcir_ts 1-005c: using device tree for GPIO lookup
[   13.962152] of_get_named_gpiod_flags: can't parse 'wake-gpios' property of node '/ocp@44000000/i2c@4802a000/pixcir_ts@5c[0]'
[   14.125201] PM: no-rtc available, rtc-only mode disabled.
[   14.206223] of_get_named_gpiod_flags: can't parse 'wake-gpio' property of node '/ocp@44000000/i2c@4802a000/pixcir_ts@5c[0]'
[   14.339483] pixcir_ts 1-005c: using lookup tables for GPIO lookup
[   14.423510] pixcir_ts 1-005c: No GPIO consumer wake found
[   14.536138] pixcir_ts 1-005c: GPIO lookup for consumer enable
[   14.541932] pixcir_ts 1-005c: using device tree for GPIO lookup
[   14.676734] of_get_named_gpiod_flags: can't parse 'enable-gpios' property of node '/ocp@44000000/i2c@4802a000/pixcir_ts@5c[0]'
[   14.852281] of_get_named_gpiod_flags: can't parse 'enable-gpio' property of node '/ocp@44000000/i2c@4802a000/pixcir_ts@5c[0]'
[   15.029758] pixcir_ts 1-005c: using lookup tables for GPIO lookup
[   15.035899] pixcir_ts 1-005c: No GPIO consumer enable found
[   15.286181] pixcir_ts 1-005c: pixcir_set_power_mode: can't read reg 0x33 : -121
[   15.293539] pixcir_ts 1-005c: Failed to set IDLE mode
[   15.388795] pixcir_ts: probe of 1-005c failed with error -121
[***   ] (1 of 2) A start job is running for�pending postinsts (16s / no limit)[   19.560290] dwc3 48390000.usb: Failed to get clk 'ref': -2
[   19.666571] dwc3 48390000.usb: Failed to get clk 'ref': -2
[   19.819833] dwc3 48390000.usb: Failed to get clk 'ref': -2
[   19.873242] remoteproc remoteproc1: 54434000.pru is available
[   19.889891] dwc3 48390000.usb: Failed to get clk 'ref': -2
[   19.960540] pru-rproc 54434000.pru: PRU rproc node pru@54434000 probed successfully
[   20.026972] dwc3 48390000.usb: Failed to get clk 'ref': -2
[   20.034098] remoteproc remoteproc2: 54438000.pru is available
[   20.086410] pru-rproc 54438000.pru: PRU rproc node pru@54438000 probed successfully
[   20.094919] dwc3 48390000.usb: Failed to get clk 'ref': -2
[   20.114010] remoteproc remoteproc3: 54474000.pru is available
[ ***  ] (2 of 2) A start job is running for� to be Configured (16s / no limit)[   20.131493] pru-rproc 54474000.pru: PRU rproc node pru@54474000 probed successfully
[   20.165403] dwc3 48390000.usb: Failed to get clk 'ref': -2
[   20.173993] remoteproc remoteproc4: 54478000.pru is available
[   20.195122] pru-rproc 54478000.pru: PRU rproc node pru@54478000 probed successfully
[   20.250742] dwc3 48390000.usb: Failed to get clk 'ref': -2
[  OK  ] Started Run pending postinsts.
[  OK  ] Listening on Load/Save RF Kill Switch Status /dev/rfkill Watch.
[  OK  ] Created slice system-systemd\x2dfsck.slice.
         Starting File System Check on /dev/mmcblk0p1...

alx-min-000dts.txt
/**
 * @file alx-min-000.dts
 *
 * This is the linux version of the dts file for alx-min version 000.
 *
 * @author James Pawlyk
 *
 * @brief linux dts file for ALx-MIN platform
 *
 * @Copyright (c) 2020 ASCO Power Technologies, L.P.
 *    All rights of design or invention are reserved.
 **/

/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 = "ALX Min 000";*/
	model = "TI AM437x SK EVM";
	compatible = "ti,am437x-sk-evm","ti,am4372","ti,am43";

	aliases {
		display0 = &lcd0;
	};

	chosen {
		stdout-path = &uart0;
	};

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


	/* 
        leds
    */
	leds {
		compatible = "gpio-leds";

		pinctrl-names = "default";
		pinctrl-0 = <&led_pins_default>;
        status = "okay";

		led1 {
			label = "am437x:blue:loadons2";
			gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>;	/* Bank 3, pin 16 (H23) */
			default-state = "off";
		};

		led2 {
			label = "am437x:blue:s2ok";
			gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>;	/* Bank 3, pin 17 (M24) */
			default-state = "off";
		};

		led4 {
			label = "am437x:blue:s1ok";
			gpios = <&gpio2 0 GPIO_ACTIVE_HIGH>;	/* Bank 1, pin 0 (B5) */
			default-state = "off";
		};

		led5 {      
			label = "am437x:blue:heartbeat";
			gpios = <&gpio3 15 GPIO_ACTIVE_HIGH>;	/* Bank 3, pin 15 (N22) */
			default-state = "off";
		};

		led7 {
			label = "am437x:yellow:alert";
			gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>;	/* Bank 1, pin 1 (A5) */
			default-state = "off";
		};

		led9 {
			label = "am437x:yellow:notauto";
			gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>;	/* Bank 1, pin 1 (A5) */
			default-state = "off";
		};
		
		led11 {      // bl 1  led 11 no name
			label = "am437x:blue:usr11";
			gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>;	/* Bank 3, pin 14 (N24) */
			linux,default-trigger = "cpu0";
			default-state = "off";
		};

	};

    /*
        gpios 
    */
	gpios {
        compatible = "ti,am4372-gpio","ti,omap4-gpio";

		pinctrl-names = "default", "sleep";
		pinctrl-1 = <&gpio_pins_default>;
    
    };


	/* LCD Display (pasted GP EVM into here) */
    lcd0: display {
        compatible = "microtips,awt_480272t43pc09", "panel-dpi";
        ////compatible = "osddisplays,osd057T0559-34ts", "panel-dpi";

		label = "lcd";

		pinctrl-names = "default";
		//pinctrl-0 = <&lcd_pins>;  //don't think we need ths

        //// this enables the lcd power supply chip.
		enable-gpios = <&gpio5 8 GPIO_ACTIVE_HIGH>; /* GPIO5.8 (D25) */

        //// mini panel
		panel-timing {
			clock-frequency = <9000000>;
			hactive = <480>;
			vactive = <272>;
			hfront-porch = <5>;
			hback-porch = <35>;
			hsync-len = <5>;
			vback-porch = <4>;
			vfront-porch = <8>;
			vsync-len = <4>;
			hsync-active = <0>;
			vsync-active = <0>;
			de-active = <1>;
			pixelclk-active = <1>;
		};

        // john panel  is this needed?
        //panel-info {
            //ac-bias           = <255>;
            //ac-bias-intrpt    = <0>;
            //dma-burst-sz      = <24>;
            //bpp               = <24>;
            //fdd               = <0x80>;
            //sync-edge         = <0>;
            //sync-ctrl         = <1>;
            //raster-order      = <0>;
            //fifo-th           = <0>;
        //};

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

};



&am43xx_pinmux {
    pinctrl-names = "default", "sleep";
	//pinctrl-0 = <&unused_pins>; 

	/* LED Outputs Modified Pins and Added LED4 and LED5*/
	led_pins_default: led_pins_default {
		pinctrl-single,pins = <
			AM4372_IOPAD(0x890, PIN_OUTPUT | MUX_MODE7) /* (A9) gpmc_advn_ale.gpio2[2] */		/* L1  LOAD on S2 */
			AM4372_IOPAD(0x894, PIN_OUTPUT | MUX_MODE7) /* (E10) gpmc_oen_ren.gpio2[3] */		/* L2  S2 Ok */
			AM4372_IOPAD(0x888, PIN_OUTPUT | MUX_MODE7) /* (B12) gpmc_csn3.gpio2[0] */		    /* L4  S1 Ok */
			AM4372_IOPAD(0x994, PIN_OUTPUT | MUX_MODE7) /* (N22) mcasp0_fsx.gpio3[15] */   		/* L5  OS HEARTBEAT*/
			AM4372_IOPAD(0x898, PIN_OUTPUT | MUX_MODE7) /* (D10) gpmc_wen.gpio2[4] */		    /* L7  ALERT */
			AM4372_IOPAD(0x89c, PIN_OUTPUT | MUX_MODE7) /* (C10) gpmc_be0n.gpio2[5] */		    /* L9  NOT IN AUTO */
			AM4372_IOPAD(0x990, PIN_OUTPUT | MUX_MODE7) /* (N24) mcasp0_aclkx.gpio3[14] */   	/* L11 SPARE*/
		>;
	};

	i2c0_pins_default: i2c0_pins_default {
		pinctrl-single,pins = <
			AM4372_IOPAD(0x98c, PIN_INPUT | MUX_MODE0) /* (Y22) I2C0_SCL.I2C0_SCL */
			AM4372_IOPAD(0x988, PIN_INPUT | MUX_MODE0) /* (AB24) I2C0_SDA.I2C0_SDA */
		>;
	};

	i2c1_pins_default: i2c1_pins_default {
		pinctrl-single,pins = <
			AM4372_IOPAD(0x95c, PIN_INPUT | MUX_MODE2) /* (T20) spi0_cs0.I2C1_SCL */
			AM4372_IOPAD(0x958, PIN_INPUT | MUX_MODE2) /* (T21) spi0_d1.I2C1_SDA */
		>;
	};

	/* sd card */
	sd_mmc0_pins_default: sd_mmc0_pins_default {
		pinctrl-single,pins = <
			AM4372_IOPAD(0x900, PIN_INPUT | MUX_MODE0) /* (D1) mmc0_clk.mmc0_clk */
			AM4372_IOPAD(0x904, PIN_INPUT | MUX_MODE0) /* (D2) mmc0_cmd.mmc0_cmd */
			AM4372_IOPAD(0x8fc, PIN_INPUT | MUX_MODE0) /* (C1) mmc0_dat0.mmc0_dat0 */
			AM4372_IOPAD(0x8f8, PIN_INPUT | MUX_MODE0) /* (C2) mmc0_dat1.mmc0_dat1 */
			AM4372_IOPAD(0x8f4, PIN_INPUT | MUX_MODE0) /* (B2) mmc0_dat2.mmc0_dat2 */
			AM4372_IOPAD(0x8f0, PIN_INPUT | MUX_MODE0) /* (B1) mmc0_dat3.mmc0_dat3 */
			AM4372_IOPAD(0x960, PIN_INPUT | MUX_MODE5) /* (R25) spi0_cs1.mmc0_sdcd */
		>;
	};

	/* emmc flash */
	//mmc1_pins_default: mmc1_pins_default {
		//pinctrl-single,pins = <
			//AM4372_IOPAD(0x880, PIN_INPUT | MUX_MODE2) /* (B9) gpmc_csn1.mmc1_clk */
			//AM4372_IOPAD(0x884, PIN_INPUT | MUX_MODE2) /* (F10) gpmc_csn2.mmc1_cmd */
			//AM4372_IOPAD(0x800, PIN_INPUT | MUX_MODE1) /* (B5) gpmc_ad0.mmc1_dat0 */
			//AM4372_IOPAD(0x804, PIN_INPUT | MUX_MODE1) /* (A5) gpmc_ad1.mmc1_dat1 */
			//AM4372_IOPAD(0x808, PIN_INPUT | MUX_MODE1) /* (B6) gpmc_ad2.mmc1_dat2 */
			//AM4372_IOPAD(0x80c, PIN_INPUT | MUX_MODE1) /* (A6) gpmc_ad3.mmc1_dat3 */
			//AM4372_IOPAD(0x810, PIN_INPUT | MUX_MODE1) /* (B7) gpmc_ad4.mmc1_dat4 */
			//AM4372_IOPAD(0x814, PIN_INPUT | MUX_MODE1) /* (A7) gpmc_ad5.mmc1_dat5 */
			//AM4372_IOPAD(0x818, PIN_INPUT | MUX_MODE1) /* (C8) gpmc_ad6.mmc1_dat6 */
			//AM4372_IOPAD(0x81c, PIN_INPUT | MUX_MODE1) /* (B8) gpmc_ad7.mmc1_dat7 */
            //// mmc rstN H20  needed?   gpio ?
		//>;
	//};

	gpio_pins_default: gpio_pins_default {
		pinctrl-single,pins = <

            // gpio 0-31
			//AM4372_IOPAD(0x9a8, PIN_INPUT | MUX_MODE9) /* (M25) mcasp  axr1.gpio0[2] */       	/* motion in */
			//AM4372_IOPAD(0x9ac, PIN_INPUT | MUX_MODE9) /* (L24) mcasp0_ahclkx.gpio0[3] */		/* gpio3_21 j901*/
			////AM4372_IOPAD(0x964, PIN_INPUT | MUX_MODE7) /* (G24) eCAP0_in_PWM0_out.gpio0[7] */	/* X lcd backlight moved  */
			//AM4372_IOPAD(0x9a0, PIN_INPUT | MUX_MODE9) /* (L23) mcasp0_aclkr.gpio0[18] */		/* gpio3_18 j901*/
			//AM4372_IOPAD(0x9a4, PIN_INPUT | MUX_MODE9) /* (K23) mcasp0_fsr.gpio0[19] */		/* gpio3_19 j901*/
			//AM4372_IOPAD(0xa74, PIN_INPUT | MUX_MODE7) /* (C24) xdma_event_intr1.gpio0[20] */	/* power fail*/
			////AM4372_IOPAD(0xa78, PIN_INPUT | MUX_MODE7) /* (H20) clkreq.gpio0[24] */		/* X mmc resetN not used*/
			////AM4372_IOPAD(0x870, PIN_INPUT | MUX_MODE7) /* (A2) gpmc_wait0.gpio0[30] */		/* moved usb0 vbus detect otg TODO*/
			////AM4372_IOPAD(0x874, PIN_INPUT | MUX_MODE7) /* (B3) gpmc_wpn.gpio0[31] */		/* X moved touch intn*/

            // gpio 1 32-63
			AM4372_IOPAD(0x878, PIN_INPUT | MUX_MODE7) /* (A3) gpmc_be1n.gpio1[28] */		/* X moved (not used)touch wake*/
			AM4372_IOPAD(0x87c, PIN_INPUT | MUX_MODE7) /* (A8) gpmc_csn0.gpio1[29] */		/* moved ETH 1 INTN  TODO is this how is this used*/

            // gpio 2 64-95 
			AM4372_IOPAD(0x89c, PIN_INPUT | MUX_MODE7) /* (C10) gpmc_be0n_cle.gpio2[5] */		/* j901 17*/

            // gpio 3 96 - 127
			AM4372_IOPAD(0x998, PIN_INPUT | MUX_MODE7) /* (H23) mcasp0_axr0.gpio3[16] */  /* moved LCD EN*/
			AM4372_IOPAD(0x99c, PIN_INPUT | MUX_MODE7) /* (M24) mcasp0_ahclkr.gpio3[17] *//* moved RS485 DE */


            // gpio 4 128 - 159
			AM4372_IOPAD(0x9b8, PIN_INPUT | MUX_MODE7) /* (AC18) cam0_field.gpio4[2] */   	/* s1 DIP A */
			AM4372_IOPAD(0x9bc, PIN_INPUT | MUX_MODE7) /* (AD17) cam0_wen.gpio4[3] */   	/* s1 DIP_B */
			AM4372_IOPAD(0x9c4, PIN_INPUT | MUX_MODE7) /* (AB19) cam0_data8.gpio4[5] */   	/* s1 DIP_C */
			AM4372_IOPAD(0x9c8, PIN_INPUT | MUX_MODE7) /* (AA19) cam0_data9.gpio4[6] */   	/* s1 DiP D*/
			//AM4372_IOPAD(0x9cc, PIN_INPUT | MUX_MODE7) /* (AC24) cam1_data9.gpio4[7] */   /* BT_RESET*/
			//AM4372_IOPAD(0x9d0, PIN_INPUT | MUX_MODE7) /* (AD24) cam1_data8.gpio4[8] */   /* moved WLAN_EN*/
			//AM4372_IOPAD(0x9d4, PIN_INPUT | MUX_MODE7) /* (AD25) cam1_hd.gpio4[9] */   	/* CAM POWER ON ??*/
			AM4372_IOPAD(0x9d8, PIN_INPUT | MUX_MODE7) /* (AC23) cam1_vd.gpio4[10] */   	/* TP 503*/
			AM4372_IOPAD(0x9dc, PIN_INPUT | MUX_MODE7) /* (AE21) cam1_pclk.gpio4[11] */   	/* TP_SPARE5 */
			//AM4372_IOPAD(0x9e0, PIN_INPUT | MUX_MODE7) /* (AC25) cam1_field.gpio4[12] */  /* move spi2 cs1 j901 */
			//AM4372_IOPAD(0x9e4, PIN_INPUT | MUX_MODE7) /* (AB25) cam1_wen.gpio4[13] */   	/* moved WLAN_IRQ*/
			//AM4372_IOPAD(0x9e8, PIN_INPUT | MUX_MODE7) /* (AB20) cam1_data0.gpio4[14] */  /* i2c2 */
			//AM4372_IOPAD(0x9ec, PIN_INPUT | MUX_MODE7) /* (AC21) cam1_data1.gpio4[15] */  /*  i2c2*/

            // gpio 5 160 - 191
			AM4372_IOPAD(0xa50, PIN_INPUT | MUX_MODE7) /* (P25) spi4_sclk.gpio5[4] */	/* iso din0*/
			AM4372_IOPAD(0xa54, PIN_INPUT | MUX_MODE7) /* (R24) spi4_d0.gpio5[5] */		/* iso din1*/
			AM4372_IOPAD(0xa58, PIN_INPUT | MUX_MODE7) /* (P24) spi4_d1.gpio5[6] */		/* spare out 2.5 j901*/
			AM4372_IOPAD(0xa5c, PIN_INPUT | MUX_MODE7) /* (N25) spi4_cs0.gpio5[7] */	/* tp_902*/
			//AM4372_IOPAD(0xa38, PIN_INPUT | MUX_MODE7) /* (D25) gpio5_8.gpio5[8] */	/* tp_903  jsp: this pin has something to do w lcd careful! */
			AM4372_IOPAD(0xa3c, PIN_INPUT | MUX_MODE7) /* (F24) gpio5_9.gpio5[9] */		/* relay 0*/
			AM4372_IOPAD(0xa40, PIN_INPUT | MUX_MODE7) /* (G20) gpio5_10.gpio5[10] */	/* relay 1*/
			AM4372_IOPAD(0xa44, PIN_INPUT | MUX_MODE7) /* (F23) gpio5_11.gpio5[11] */	/* buzzer*/
			AM4372_IOPAD(0xa48, PIN_INPUT | MUX_MODE7) /* (E25) gpio5_12.gpio5[12] */	/* usb0_OVERCURN ??*/
			AM4372_IOPAD(0xa4c, PIN_INPUT | MUX_MODE7) /* (E24) gpio5_13.gpio5[13] */	/* usb 1 overcur ??*/
		>;
	};

	/* Backlight PWM */
	ecap0_pins: backlight_pins {
		pinctrl-single,pins = <
			AM4372_IOPAD(0x964, PIN_INPUT | MUX_MODE7) /* (G24) eCAP0_in_PWM0_out.gpio0[7] */
		>;
	};

	/* Touch Screen Interrupt Pin */
	pixcir_ts_pins: pixcir_ts_pins {
		pinctrl-single,pins = <
			AM4372_IOPAD(0x874, PIN_INPUT | MUX_MODE7) /* (B3) gpmc_wpn.gpio0[31] */
		>;
	};

	/* On GP this is used to select between HMI and lcd not needed?*/
	//lcd_pins: lcd_pins {
		//pinctrl-single,pins = <
			///* GPIO 5_8 to select LCD / HDMI */
			//AM4372_IOPAD(0xa38 (PIN_OUTPUT_PULLUP | MUX_MODE7)
		//>;
	//};
	

	dcan0_pins_default: dcan0_pins_default {
		pinctrl-single,pins = <
			AM4372_IOPAD(0x97c, PIN_INPUT | MUX_MODE2) /* (L22) uart1_rtsn.dcan0_rx */
			AM4372_IOPAD(0x978, PIN_OUTPUT | MUX_MODE2) /* (K22) uart1_ctsn.dcan0_tx */
		>;
	};

	/* Optional sleep pin settings. Must manually enter values in the below skeleton. */
	//dcan0_pins_sleep: dcan0_pins_sleep {
		//pinctrl-single,pins = <
			//AM4372_IOPAD(0x97c,  ) /* (L22) uart1_rtsn.dcan0_rx */
			//AM4372_IOPAD(0x978,  ) /* (K22) uart1_ctsn.dcan0_tx */
		//>;
	//};

    // display
	dss_pins: dss_pins {
		pinctrl-single,pins = <
			AM4372_IOPAD(0x8e0, PIN_OUTPUT | MUX_MODE0) /* (B23) dss_vsync.dss_vsync */
			AM4372_IOPAD(0x8e4, PIN_OUTPUT | MUX_MODE0) /* (A23) dss_hsync.dss_hsync */
			AM4372_IOPAD(0x8e8, PIN_OUTPUT | MUX_MODE0) /* (A22) dss_pclk.dss_pclk */
			AM4372_IOPAD(0x8ec, PIN_OUTPUT | MUX_MODE0) /* (A24) dss_ac_bias_en.dss_ac_bias_en */
			AM4372_IOPAD(0x8a0, PIN_OUTPUT | MUX_MODE0) /* (B22) dss_data0.dss_data0 */
			AM4372_IOPAD(0x8a4, PIN_OUTPUT | MUX_MODE0) /* (A21) dss_data1.dss_data1 */
			AM4372_IOPAD(0x8a8, PIN_OUTPUT | MUX_MODE0) /* (B21) dss_data2.dss_data2 */
			AM4372_IOPAD(0x8ac, PIN_OUTPUT | MUX_MODE0) /* (C21) dss_data3.dss_data3 */
			AM4372_IOPAD(0x8b0, PIN_OUTPUT | MUX_MODE0) /* (A20) dss_data4.dss_data4 */
			AM4372_IOPAD(0x8b4, PIN_OUTPUT | MUX_MODE0) /* (B20) dss_data5.dss_data5 */
			AM4372_IOPAD(0x8b8, PIN_OUTPUT | MUX_MODE0) /* (C20) dss_data6.dss_data6 */
			AM4372_IOPAD(0x8bc, PIN_OUTPUT | MUX_MODE0) /* (E19) dss_data7.dss_data7 */
			AM4372_IOPAD(0x8c0, PIN_OUTPUT | MUX_MODE0) /* (A19) dss_data8.dss_data8 */
			AM4372_IOPAD(0x8c4, PIN_OUTPUT | MUX_MODE0) /* (B19) dss_data9.dss_data9 */
			AM4372_IOPAD(0x8c8, PIN_OUTPUT | MUX_MODE0) /* (A18) dss_data10.dss_data10 */
			AM4372_IOPAD(0x8cc, PIN_OUTPUT | MUX_MODE0) /* (B18) dss_data11.dss_data11 */
			AM4372_IOPAD(0x8d0, PIN_OUTPUT | MUX_MODE0) /* (C19) dss_data12.dss_data12 */
			AM4372_IOPAD(0x8d4, PIN_OUTPUT | MUX_MODE0) /* (D19) dss_data13.dss_data13 */
			AM4372_IOPAD(0x8d8, PIN_OUTPUT | MUX_MODE0) /* (C17) dss_data14.dss_data14 */
			AM4372_IOPAD(0x8dc, PIN_OUTPUT | MUX_MODE0) /* (D17) dss_data15.dss_data15 */
			AM4372_IOPAD(0x83c, PIN_OUTPUT | MUX_MODE1) /* (A11) gpmc_ad15.dss_data16 */
			AM4372_IOPAD(0x838, PIN_OUTPUT | MUX_MODE1) /* (B11) gpmc_ad14.dss_data17 */
			AM4372_IOPAD(0x834, PIN_OUTPUT | MUX_MODE1) /* (C11) gpmc_ad13.dss_data18 */
			AM4372_IOPAD(0x830, PIN_OUTPUT | MUX_MODE1) /* (E11) gpmc_ad12.dss_data19 */
			AM4372_IOPAD(0x82c, PIN_OUTPUT | MUX_MODE1) /* (D11) gpmc_ad11.dss_data20 */
			AM4372_IOPAD(0x828, PIN_OUTPUT | MUX_MODE1) /* (F11) gpmc_ad10.dss_data21 */
			AM4372_IOPAD(0x824, PIN_OUTPUT | MUX_MODE1) /* (A10) gpmc_ad9.dss_data22 */
			AM4372_IOPAD(0x820, PIN_OUTPUT | MUX_MODE1) /* (B10) gpmc_ad8.dss_data23 */
		>;
	};

	/* Optional sleep pin settings. Must manually enter values in the below skeleton. */
	//dss_pins_sleep: dss_pins_sleep {
		//pinctrl-single,pins = <
			//AM4372_IOPAD(0x8e0,  ) /* (B23) dss_vsync.dss_vsync */
			//AM4372_IOPAD(0x8e4,  ) /* (A23) dss_hsync.dss_hsync */
			//AM4372_IOPAD(0x8e8,  ) /* (A22) dss_pclk.dss_pclk */
			//AM4372_IOPAD(0x8ec,  ) /* (A24) dss_ac_bias_en.dss_ac_bias_en */
			//AM4372_IOPAD(0x8a0,  ) /* (B22) dss_data0.dss_data0 */
			//AM4372_IOPAD(0x8a4,  ) /* (A21) dss_data1.dss_data1 */
			//AM4372_IOPAD(0x8a8,  ) /* (B21) dss_data2.dss_data2 */
			//AM4372_IOPAD(0x8ac,  ) /* (C21) dss_data3.dss_data3 */
			//AM4372_IOPAD(0x8b0,  ) /* (A20) dss_data4.dss_data4 */
			//AM4372_IOPAD(0x8b4,  ) /* (B20) dss_data5.dss_data5 */
			//AM4372_IOPAD(0x8b8,  ) /* (C20) dss_data6.dss_data6 */
			//AM4372_IOPAD(0x8bc,  ) /* (E19) dss_data7.dss_data7 */
			//AM4372_IOPAD(0x8c0,  ) /* (A19) dss_data8.dss_data8 */
			//AM4372_IOPAD(0x8c4,  ) /* (B19) dss_data9.dss_data9 */
			//AM4372_IOPAD(0x8c8,  ) /* (A18) dss_data10.dss_data10 */
			//AM4372_IOPAD(0x8cc,  ) /* (B18) dss_data11.dss_data11 */
			//AM4372_IOPAD(0x8d0,  ) /* (C19) dss_data12.dss_data12 */
			//AM4372_IOPAD(0x8d4,  ) /* (D19) dss_data13.dss_data13 */
			//AM4372_IOPAD(0x8d8,  ) /* (C17) dss_data14.dss_data14 */
			//AM4372_IOPAD(0x8dc,  ) /* (D17) dss_data15.dss_data15 */
			//AM4372_IOPAD(0x83c,  ) /* (A11) gpmc_ad15.dss_data16 */
			//AM4372_IOPAD(0x838,  ) /* (B11) gpmc_ad14.dss_data17 */
			//AM4372_IOPAD(0x834,  ) /* (C11) gpmc_ad13.dss_data18 */
			//AM4372_IOPAD(0x830,  ) /* (E11) gpmc_ad12.dss_data19 */
			//AM4372_IOPAD(0x82c,  ) /* (D11) gpmc_ad11.dss_data20 */
			//AM4372_IOPAD(0x828,  ) /* (F11) gpmc_ad10.dss_data21 */
			//AM4372_IOPAD(0x824,  ) /* (A10) gpmc_ad9.dss_data22 */
			//AM4372_IOPAD(0x820,  ) /* (B10) gpmc_ad8.dss_data23 */
		//>;
	//};

	/* not used?  just on header j901 */
	//spi2_pins_default: spi2_pins_default {
		//pinctrl-single,pins = <
			//AM4372_IOPAD(0xa60, PIN_INPUT | MUX_MODE0) /* (N20) spi2_sclk.spi2_sclk */
			//AM4372_IOPAD(0xa64, PIN_INPUT | MUX_MODE0) /* (P22) spi2_d0.spi2_d0 */
			//AM4372_IOPAD(0xa68, PIN_INPUT | MUX_MODE0) /* (P20) spi2_d1.spi2_d1 */
			//AM4372_IOPAD(0xa6c, PIN_OUTPUT | MUX_MODE0) /* (T23) spi2_cs0.spi2_cs0 */
		//>;
	//};

	/*
		none of the following clocks seem to be represtented in
		the prototype boards... jsp
	*/

	/* Optional sleep pin settings. Must manually enter values in the below skeleton. */
	//osc1_pins_sleep: osc1_pins_sleep {
		//pinctrl-single,pins = <
			//AM4372_IOPAD(0xaac,  ) /* (AE5) RTC_XTALIN.OSC1_IN */
			//AM4372_IOPAD(0xab0,  ) /* (AE4) RTC_XTALOUT.OSC1_OUT */
		//>;
	//};

	//osc0_pins_default: osc0_pins_default {
		//pinctrl-single,pins = <
			//AM4372_IOPAD(0xa88, PIN_INPUT | MUX_MODE0) /* (C25) XTALIN.OSC0_IN */
			//AM4372_IOPAD(0xa8c, PIN_OUTPUT | MUX_MODE0) /* (B25) XTALOUT.OSC0_OUT */
		//>;
	//};

	/* Optional sleep pin settings. Must manually enter values in the below skeleton. */
	//osc0_pins_sleep: osc0_pins_sleep {
		//pinctrl-single,pins = <
			//AM4372_IOPAD(0xa88,  ) /* (C25) XTALIN.OSC0_IN */
			//AM4372_IOPAD(0xa8c,  ) /* (B25) XTALOUT.OSC0_OUT */
		//>;
	//};


    /* uart 1 isolated 485 uart */  /* remove for test jsp */
	//uart1_pins_default: uart1_pins_default {
		//pinctrl-single,pins = <
			//AM4372_IOPAD(0x980, PIN_INPUT | MUX_MODE0) /* (K21) uart1_rxd.uart1_rxd */
			//AM4372_IOPAD(0x984, PIN_OUTPUT | MUX_MODE0) /* (L21) uart1_txd.uart1_txd */
		//>;
	//};

	/* uart 3 BlE */
	//uart3_pins_default: uart3_pins_default {
	//	pinctrl-single,pins = <
	//		AM4372_IOPAD(0xa28, PIN_INPUT | MUX_MODE0) /* (H25) uart3_rxd.uart3_rxd */
	//		AM4372_IOPAD(0xa2c, PIN_OUTPUT | MUX_MODE0) /* (H24) uart3_txd.uart3_txd */
	//		AM4372_IOPAD(0xa30, PIN_INPUT | MUX_MODE0) /* (H22) uart3_ctsn.uart3_ctsn */
	//		AM4372_IOPAD(0xa34, PIN_OUTPUT | MUX_MODE0) /* (K24) uart3_rtsn.uart3_rtsn */
     //       // ac24 ble reset  
	//	>;
	//};

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

	/* Mass Storage USB*/
	usb1_pins_default: usb1_pins_default {
		pinctrl-single,pins = <
			AM4372_IOPAD(0xac4, PIN_OUTPUT | MUX_MODE0) /* (F25) USB1_DRVVBUS.USB1_DRVVBUS */
		>;
	};

};

/* I2C0 - Includes: Power Supply TPS65218, EEPROM CAT24C256, Temperature and Humidity Sensor - HDC1080 */
&i2c0 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&i2c0_pins_default>;
	clock-frequency = <400000>;

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

		dcdc1: regulator-dcdc1 {
			compatible = "ti,tps65218-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 {
			compatible = "ti,tps65218-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 {
			compatible = "ti,tps65218-dcdc3";
			regulator-name = "vdds_ddr";
			regulator-min-microvolt = <1500000>;
			regulator-max-microvolt = <1500000>;
			regulator-boot-on;
			regulator-always-on;
		};

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

		ldo1: regulator-ldo1 {
			compatible = "ti,tps65218-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>;
		};
	};

	/* EEPROM - CAT24C256 */
	at24@50 {
		compatible = "at24,24c256";
		pagesize = <64>;
		reg = <0x50>;
	};
};

/* I2C1 - Includes: Capacative Touch, Audio, Expansion Header */
&i2c1 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&i2c1_pins_default>;
	clock-frequency = <400000>;

	/* 7" Touchscreen From GP EVM - Modified */
	pixcir_ts@5c {
		compatible = "pixcir,pixcir_tangoc";
		pinctrl-names = "default";
		pinctrl-0 = <&pixcir_ts_pins>;
		reg = <0x5c>;
		interrupt-parent = <&gpio0>; /* P0.31 (B3) Touch_IntN */
		interrupts = <31 0>;

        // review jsp
		attb-gpio = <&gpio0 31 GPIO_ACTIVE_HIGH>;  /* P0.31 (B3) Touch_IntN */
//		reset-gpios = <&gpio1 28 GPIO_ACTIVE_LOW>; /* P1.28 (A3) Touch_Wake */

		touchscreen-size-x = <1024>;
		touchscreen-size-y = <600>;
    };
	
};

&epwmss0 {
	status = "okay";
};

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

/* GPIO0 */
&gpio0 {
	status = "okay";
};

/* GPIO1 */
&gpio1 {
	status = "okay";
};

/* GPIO2 */
&gpio2 {
	status = "okay";
};

/* GPIO3 */
&gpio3 {
	status = "okay";
};

/* GPIO4 */
&gpio4 {
	status = "okay";
};

/* GPIO5 */
&gpio5 {
	status = "okay";
};


/* jsp this was named &mmc1 on alx-hmi-000 and sk */
/* old commentSD Card Interface - Uses name of MMC1, but pins are mapped to MMC0*/
/* mmc0 sd card interface  */
&mmc1 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&sd_mmc0_pins_default>;

	vmmc-supply = <&dcdc4>;
	bus-width = <4>;
	cd-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
};

/* mmc1 emmc flash */
//&mmc2 {
    /*
     * jsp TODO this comment obsolete from gp-evm?
	 * When enabling eMMC, disable GPMC/NAND and set
	 * SelEMMCorNAND to output-high
	 */
	//status = "okay";
	////vmmc-supply = <&evm_v3_3d>; //jsp TODO?
	//bus-width = <8>;
	//pinctrl-names = "default", "sleep";
	//pinctrl-0 = <&mmc1_pins_default>;
	////pinctrl-1 = <&mmc1_pins_sleep>;
	//ti,non-removable;
//};


/* ? */
//&usb2_phy1 {
	//status = "okay";
//};

/* Name USB1 - Uses USB0 Pins */
&usb1 {
	dr_mode = "peripheral";
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&usb0_pins_default>;
};

/* ? */

/* Error Locator Module */
&elm {
	status = "okay";
};

&dss {
	status = "okay";

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

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

/* CAN0 */
&dcan0 {
	pinctrl-names = "default";
	pinctrl-0 = <&dcan0_pins_default>;
	status = "okay";
};

/* RTC */
//&rtc {
	//status = "okay";
//};

/* WDT */
//&wdt {
	//status = "okay";
//};

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

&pruss_soc_bus {
	status = "okay";

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

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

};

&sgx {
	status = "okay";
};