AnsweredAssumed Answered

yocto eval board device tree works, known-good device tree doesn't

Question asked by David Luberger on Oct 11, 2018
Latest reply on Oct 19, 2018 by David Luberger

I know the device tree blob file i have works fine when i use it with multiple other kernel builds of various versions, even when i build the linux-imx 4.9.11 provided at git.freescale.com.  That's when I build the kernel directly from source, using make imx_v7_defconfig, then make menuconfig, then make from within in the kernel source directory.

 

But once again, yocto is proving to be the bane of my existence.  I ran the yocto build for fsl-validation-gui with the machine set as imx6ul-14x14-evk and it comes right up on the imx6ull eval board (yes, that's ULL, not UL board but the machine setting in yocto is UL not ULL, because my custom board uses a UL).  Once again, I had to wait all night for the build to finish, and I put the sd card image on my sd card and the ULL eval board comes right up, everything on it works. However, when I use my custom device tree file that I know works with any other kernel build, i get errors all over the place when the kernel comes up (see below).  it seems that my device tree isn't working at all. None of the pinctrl groups are being seen, and so naturally even the filesystem can't come up because it can't see the SD card.  Again, this exact same device tree blob file works perfectly fine on other builds when building directly from source, and this kernel works on the ULL eval board when i use the device tree provided by yocto.  I tried running "make" from the yocto kernel source directory, and it gives me nothing but errors, so it seems i'm stuck with whatever the yocto build provides, and as always, there's no documentation anywhere that gives me a clear concise process for modifying yocto in order to work with my custom hardware (albeit hardware based directly on the eval board).

 

Help!

 

 

Starting kernel ...

Booting Linux on physical CPU 0x0
Linux version 4.1.15+gb63f3f5 (user@user-desktop) (gcc version 5.3.0 (GCC) ) #1 SMP PREEMPT Tue Oct 9 12:42:18 EDT 2018
CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c53c7d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine model: Meriam 6150 Embedded Computing Platform
Reserved memory: created CMA memory pool at 0x9c000000, size 64 MiB
Reserved memory: initialized node linux,cma, compatible id shared-dma-pool
Memory policy: Data cache writealloc
PERCPU: Embedded 12 pages/cpu @9bbb1000 s16908 r8192 d24052 u49152
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 130048
Kernel command line: console=ttymxc0,115200 root=/dev/mmcblk0p2 rootwait rw
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 442036K/524288K available (7725K kernel code, 425K rwdata, 2828K rodata, 428K init, 440K bss, 16716K reserved, 65536K cma-reserved, 0K highmem)
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
vmalloc : 0xa0800000 - 0xff000000 (1512 MB)
lowmem : 0x80000000 - 0xa0000000 ( 512 MB)
pkmap : 0x7fe00000 - 0x80000000 ( 2 MB)
modules : 0x7f000000 - 0x7fe00000 ( 14 MB)
.text : 0x80008000 - 0x80a569f8 (10555 kB)
.init : 0x80a57000 - 0x80ac2000 ( 428 kB)
.data : 0x80ac2000 - 0x80b2c520 ( 426 kB)
.bss : 0x80b2f000 - 0x80b9d250 ( 441 kB)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Preemptible hierarchical RCU implementation.
Additional per-CPU info printed with stalls.
RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=1.
RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
NR_IRQS:16 nr_irqs:16 16
mxc_clocksource_init 3000000
Switching to timer-based delay loop, resolution 333ns
sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 715827882841ns
clocksource mxc_timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 637086815595 ns
Console: colour dummy device 80x30
Calibrating delay loop (skipped), value calculated using timer frequency.. 6.00 BogoMIPS (lpj=30000)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
CPU: Testing write buffer coherency: ok
/cpus/cpu@0 missing clock-frequency property
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0x80008280 - 0x800082d8
Brought up 1 CPUs
SMP: Total of 1 processors activated (6.00 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
devtmpfs: initialized
VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
clocksource jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
cpuidle: using governor ladder
cpuidle: using governor menu
hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
hw-breakpoint: maximum watchpoint size is 8 bytes.
imx6ul-pinctrl 20e0000.iomuxc: no groups defined in /soc/aips-bus@02000000/iomuxc@020e0000/csi1grp
imx6ul-pinctrl 20e0000.iomuxc: no groups defined in /soc/aips-bus@02000000/iomuxc@020e0000/dvfsgrp
imx6ul-pinctrl 20e0000.iomuxc: no groups defined in /soc/aips-bus@02000000/iomuxc@020e0000/enet1grp
imx6ul-pinctrl 20e0000.iomuxc: no groups defined in /soc/aips-bus@02000000/iomuxc@020e0000/enet2grp
imx6ul-pinctrl 20e0000.iomuxc: no groups defined in /soc/aips-bus@02000000/iomuxc@020e0000/flexcan1grp
imx6ul-pinctrl 20e0000.iomuxc: no groups defined in /soc/aips-bus@02000000/iomuxc@020e0000/flexcan2grp
imx6ul-pinctrl 20e0000.iomuxc: no groups defined in /soc/aips-bus@02000000/iomuxc@020e0000/i2c1grp
imx6ul-pinctrl 20e0000.iomuxc: no groups defined in /soc/aips-bus@02000000/iomuxc@020e0000/i2c2grp
imx6ul-pinctrl 20e0000.iomuxc: no groups defined in /soc/aips-bus@02000000/iomuxc@020e0000/lcdifdatgrp
imx6ul-pinctrl 20e0000.iomuxc: no groups defined in /soc/aips-bus@02000000/iomuxc@020e0000/lcdifctrlgrp
imx6ul-pinctrl 20e0000.iomuxc: no groups defined in /soc/aips-bus@02000000/iomuxc@020e0000/qspigrp
imx6ul-pinctrl 20e0000.iomuxc: no groups defined in /soc/aips-bus@02000000/iomuxc@020e0000/sai2grp
imx6ul-pinctrl 20e0000.iomuxc: no groups defined in /soc/aips-bus@02000000/iomuxc@020e0000/pf1550
imx6ul-pinctrl 20e0000.iomuxc: no groups defined in /soc/aips-bus@02000000/iomuxc@020e0000/pwm1grp
imx6ul-pinctrl 20e0000.iomuxc: no groups defined in /soc/aips-bus@02000000/iomuxc@020e0000/sim2grp
imx6ul-pinctrl 20e0000.iomuxc: no groups defined in /soc/aips-bus@02000000/iomuxc@020e0000/spi4grp
imx6ul-pinctrl 20e0000.iomuxc: no groups defined in /soc/aips-bus@02000000/iomuxc@020e0000/tscgrp
imx6ul-pinctrl 20e0000.iomuxc: no groups defined in /soc/aips-bus@02000000/iomuxc@020e0000/uart1grp
imx6ul-pinctrl 20e0000.iomuxc: no groups defined in /soc/aips-bus@02000000/iomuxc@020e0000/uart2grp
imx6ul-pinctrl 20e0000.iomuxc: no groups defined in /soc/aips-bus@02000000/iomuxc@020e0000/uart2dtegrp
imx6ul-pinctrl 20e0000.iomuxc: no groups defined in /soc/aips-bus@02000000/iomuxc@020e0000/usbotg1idgrp
imx6ul-pinctrl 20e0000.iomuxc: no groups defined in /soc/aips-bus@02000000/iomuxc@020e0000/usdhc1grp
imx6ul-pinctrl 20e0000.iomuxc: no groups defined in /soc/aips-bus@02000000/iomuxc@020e0000/usdhc1grp100mhz
imx6ul-pinctrl 20e0000.iomuxc: no groups defined in /soc/aips-bus@02000000/iomuxc@020e0000/usdhc1grp200mhz
imx6ul-pinctrl 20e0000.iomuxc: no groups defined in /soc/aips-bus@02000000/iomuxc@020e0000/usdhc2grp
imx6ul-pinctrl 20e0000.iomuxc: no groups defined in /soc/aips-bus@02000000/iomuxc@020e0000/usdhc2grp_8bit
imx6ul-pinctrl 20e0000.iomuxc: no groups defined in /soc/aips-bus@02000000/iomuxc@020e0000/usdhc2grp_8bit_100mhz
imx6ul-pinctrl 20e0000.iomuxc: no groups defined in /soc/aips-bus@02000000/iomuxc@020e0000/usdhc2grp_8bit_200mhz
imx6ul-pinctrl 20e0000.iomuxc: no groups defined in /soc/aips-bus@02000000/iomuxc@020e0000/wdoggrp
imx6ul-pinctrl 20e0000.iomuxc: no groups defined in /soc/aips-bus@02000000/iomuxc@020e0000/sim2grp-1
imx6ul-pinctrl 20e0000.iomuxc: no groups defined in /soc/aips-bus@02000000/iomuxc@020e0000/kppgrp
imx6ul-pinctrl 20e0000.iomuxc: no groups defined in /soc/aips-bus@02000000/iomuxc@020e0000/tsc2007grp
imx6ul-pinctrl 20e0000.iomuxc: no groups defined in /soc/aips-bus@02000000/iomuxc@020e0000/tca8418grp
imx6ul-pinctrl 20e0000.iomuxc: no groups defined in /soc/aips-bus@02000000/iomuxc@020e0000/wifigrp
imx6ul-pinctrl 20e0000.iomuxc: initialized IMX pinctrl driver
mxs-dma 1804000.dma-apbh: initialized
imx6ul-pinctrl 20e0000.iomuxc: unable to find group for node dvfsgrp
vgaarb: loaded
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
imx6ul-pinctrl 20e0000.iomuxc: unable to find group for node i2c1grp
i2c i2c-0: IMX I2C adapter registered
i2c i2c-0: can't use DMA
Linux video capture interface: v2.00
pps_core: LinuxPPS API ver. 1 registered
pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
PTP clock support registered
MIPI CSI2 driver module loaded
Advanced Linux Sound Architecture Driver Initialized.
Bluetooth: Core ver 2.20
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: L2CAP socket layer initialized
Bluetooth: SCO socket layer initialized
Switched to clocksource mxc_timer1
NET: Registered protocol family 2
TCP established hash table entries: 4096 (order: 2, 16384 bytes)
TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
UDP hash table entries: 256 (order: 1, 8192 bytes)
UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
imx rpmsg driver is registered.
Bus freq driver module loaded
futex hash table entries: 256 (order: 2, 16384 bytes)
VFS: Disk quotas dquot_6.6.0
VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
NFS: Registering the id_resolver key type
Key type id_resolver registered
Key type id_legacy registered
jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
fuse init (API version 7.23)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
imx-weim 21b8000.weim: Driver registered.
imx6ul-pinctrl 20e0000.iomuxc: unable to find group for node pwm1grp
backlight supply power not found, using dummy regulator
MIPI DSI driver module loaded
MIPI DSI driver module loaded
imx6ul-pinctrl 20e0000.iomuxc: unable to find group for node lcdifdatgrp
21c8000.lcdif supply lcd not found, using dummy regulator
mxsfb 21c8000.lcdif: failed to find mxc display driver
imx6ul-pinctrl 20e0000.iomuxc: unable to find group for node lcdifdatgrp
mxsfb: probe of 21c8000.lcdif failed with error -22
imx-sdma 20ec000.sdma: no event needs to be remapped
imx-sdma 20ec000.sdma: loaded firmware 3.3
imx-sdma 20ec000.sdma: initialized
imx6ul-pinctrl 20e0000.iomuxc: unable to find group for node uart1grp
2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 19, base_baud = 5000000) is a IMX
console [ttymxc0] enabled
imx6ul-pinctrl 20e0000.iomuxc: unable to find group for node uart2grp
21e8000.serial: ttymxc1 at MMIO 0x21e8000 (irq = 216, base_baud = 5000000) is a IMX
imx sema4 driver is registered.
[drm] Initialized drm 1.1.0 20060810
[drm] Initialized vivante 1.0.0 20120216 on minor 0
brd: module loaded
loop: module loaded
imx6ul-pinctrl 20e0000.iomuxc: unable to find group for node qspigrp
CAN device driver interface
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-pci: EHCI PCI platform driver
ehci-mxc: Freescale On-Chip EHCI Host driver
usbcore: registered new interface driver usb-storage
usbcore: registered new interface driver usb_ehset_test
2184800.usbmisc supply vbus-wakeup not found, using dummy regulator
imx6ul-pinctrl 20e0000.iomuxc: unable to find group for node usbotg1idgrp
imx6ul-pinctrl 20e0000.iomuxc: unable to find group for node usbotg1idgrp
2184000.usb supply vbus not found, using dummy regulator
mousedev: PS/2 mouse device common for all mice
imx6ul-pinctrl 20e0000.iomuxc: unable to find group for node kppgrp
input: 20b8000.kpp as /devices/platform/soc/2000000.aips-bus/20b8000.kpp/input/input0
input: 20cc000.snvs:snvs-powerkey as /devices/platform/soc/2000000.aips-bus/20cc000.snvs/20cc000.snvs:snvs-powerkey/input/input1
imx6ul-pinctrl 20e0000.iomuxc: unable to find group for node tsc2007grp
input: TSC2007 Touchscreen as /devices/platform/soc/2100000.aips-bus/21a0000.i2c/i2c-0/0-0049/input/input2
snvs_rtc 20cc000.snvs:snvs-rtc-lp: rtc core: registered 20cc000.snvs:snvs-r as rtc0
i2c /dev entries driver
IR NEC protocol handler initialized
IR RC5(x/sz) protocol handler initialized
IR RC6 protocol handler initialized
IR JVC protocol handler initialized
IR Sony protocol handler initialized
IR SANYO protocol handler initialized
IR Sharp protocol handler initialized
IR MCE Keyboard/mouse protocol handler initialized
IR XMP protocol handler initialized
pxp-v4l2 pxp_v4l2: initialized
imx6ul-pinctrl 20e0000.iomuxc: unable to find group for node wdoggrp
imx2-wdt 20bc000.wdog: timeout 60 sec (nowayout=0)
Bluetooth: HCI UART driver ver 2.3
Bluetooth: HCI UART protocol H4 registered
Bluetooth: HCI UART protocol BCSP registered
Bluetooth: HCI UART protocol ATH3K registered
usbcore: registered new interface driver bcm203x
usbcore: registered new interface driver btusb
usbcore: registered new interface driver ath3k
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci-pltfm: SDHCI platform and OF driver helper
imx6ul-pinctrl 20e0000.iomuxc: unable to find group for node usdhc1grp
imx6ul-pinctrl 20e0000.iomuxc: unable to find group for node usdhc1grp
sdhci-esdhc-imx: probe of 2190000.usdhc failed with error -22
imx6ul-pinctrl 20e0000.iomuxc: unable to find group for node usdhc2grp
imx6ul-pinctrl 20e0000.iomuxc: unable to find group for node usdhc2grp
sdhci-esdhc-imx: probe of 2194000.usdhc failed with error -22
snvs-secvio 20cc000.caam-snvs: can't get snvs clock
snvs-secvio 20cc000.caam-snvs: violation handlers armed - non-secure state
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
fsl-asrc 2034000.asrc: failed to get dma script clock
fsl-asrc: probe of 2034000.asrc failed with error -2
NET: Registered protocol family 26
NET: Registered protocol family 10
sit: IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
can: controller area network core (rev 20120528 abi 9)
NET: Registered protocol family 29
can: raw protocol (rev 20120528)
can: broadcast manager protocol (rev 20120528 t)
can: netlink gateway (rev 20130117) max_hops=1
Bluetooth: RFCOMM TTY layer initialized
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM ver 1.11
Bluetooth: BNEP (Ethernet Emulation) ver 1.3
Bluetooth: BNEP filters: protocol multicast
Bluetooth: BNEP socket layer initialized
Bluetooth: HIDP (Human Interface Emulation) ver 1.2
Bluetooth: HIDP socket layer initialized
8021q: 802.1Q VLAN Support v1.8
Key type dns_resolver registered
Failed to disable 696MHz OPP
snvs_rtc 20cc000.snvs:snvs-rtc-lp: setting system clock to 1970-01-01 00:00:00 UTC (0)
gpio_dvfs: disabling
wlreg_on: disabling
ALSA device list:
No soundcards found.
Waiting for root device /dev/mmcblk0p2...

Outcomes