Yocto Pyro with Wandboard rev D1

Discussion of your EDM baseboard, your add-on boards or other peripherals for your wandboard.

Yocto Pyro with Wandboard rev D1

Postby a.turowski » Wed Jun 07, 2017 9:38 am

Hi all,
As already described in other topics like http://forums.wandboard.org/viewtopic.php?f=3&t=1470&p=5598#p5598 or http://forums.wandboard.org/viewtopic.php?f=8&t=1460 recently released Wandboard rev D1 hardware is different from previous revisions. Recent Yocto releases didn't caught up just yet and they don't support this hardware out of the box. I decided to modify Yocto Pyro to provide just that. Here is what needs to be done.

1) Get Yocto Pyro source as well as Freescale provided layers by executing:
Code: Select all
mkdir pyro-wandboard

Code: Select all
cd pyro-wandboard

Code: Select all
repo init -u https://github.com/Freescale/fsl-community-bsp-platform -b pyro

Code: Select all
repo sync


Freescale layers support wandboard machine and its is configuration is described in sources/meta-freescale-3rdparty/conf/machine/wandboard.conf file.

2) From software point of view the main difference between older revisions and new rev D1 is described in Device Tree Blob for Linux kernel. Modify sources/meta-freescale-3rdparty/conf/machine/wandboard.conf file by adding
Code: Select all
imx6dl-wandboard-revd1.dtb \

Code: Select all
imx6q-wandboard-revd1.dtb \

lines. Now bitbake will try to compile DTBs for rev D1.

3) Currently Yocto Pyro points to commit in Linux kernel source where DTBs for rev D1 don't exist yet. Modify sources/meta-freescale-3rdparty/recipes-kernel/linux/linux-wandboard_4.1.15.bb recipe by changing commit hash as follows:
Code: Select all
SRCREV = "e355954c784b4b1cbcaa5780927d8ce9f809a488"


Now when you execute bitbake, it will build rev D1 DTBs and include them in the final image.

4) The last hurdle to jump over is to convince u-boot to load correct DTBs during booting process. I haven't have time to modify uboot code yet. Wandboard developers had it already done it in their Yocto build published in http://www.wandboard.org/index.php/downloads. Here is how to manually force u-boot to load rev D1 files:
- reset Wandboard
- press space when u-boot prompt/countdown appears on serial console
- in U-Boot prompt execute
Code: Select all
setenv findfdt "setenv fdtfile imx6dl-wandboard-revd1.dtb"; boot
if your Wandboard is DualLite type
or
Code: Select all
setenv findfdt "setenv fdtfile imx6q-wandboard-revd1.dtb"; boot
if your Wandboard is Quad type

Uboot then will load correct DTB, Linux will boot and Ethernet (and other things) will work.
a.turowski
 
Posts: 1
Joined: Wed Jun 07, 2017 8:47 am

Re: Yocto Pyro with Wandboard rev D1

Postby eiger824 » Tue Jun 13, 2017 8:23 am

Hey @a.turowski!!

Thank you so much for this tutorial! I've recently had many problems making my new Wandboard Dual Rev. D1 boot with Yocto. Mainly, as you describe, due to loading wrong dtb (the one belonging to Rev. C1).

I believe that when creating the sdcard image, in the boot partition there is a extlinux.conf file where the fdtfile variable is set to the corresponding dtb. There might be a chance to hardcode the new, updated-revision dtb :)

I haven't tried it myself yet but I'll try to do it later today, I just saw your post now! I'll write here with what I discover!

Thanks again for your post :)

/eiger824
eiger824
 
Posts: 10
Joined: Tue Jun 13, 2017 8:18 am

Re: Yocto Pyro with Wandboard rev D1

Postby eiger824 » Wed Jun 14, 2017 6:41 am

Hey again!

I tried to make a build with Yocto pyro last night, successfully loaded the dtb I wanted, i.e.,
Code: Select all
imx6dl-wandboard-revd1.dtb

but it freezes because no "init" is provided to the kernel, right at the end (I have never had to provide the init param i previous Yocto builds with other machines). See boot log below. Any hints? Have you encountered the same problem? I am bitbaking the
core-image-minimal
to start with.

Code: Select all
picocom v1.7

port is        : /dev/ttyS0
flowcontrol    : none
baudrate is    : 115200
parity is      : none
databits are   : 8
escape is      : C-a
local echo is  : no
noinit is      : no
noreset is     : no
nolock is      : no
send_cmd is    : sz -vv
receive_cmd is : rz -vv
imap is        :
omap is        :
emap is        : crcrlf,delbs,

Terminal ready

U-Boot SPL 2017.03+fslc+gac3b20c (Jun 13 2017 - 23:23:51)
Trying to boot from MMC1


U-Boot 2017.03+fslc+gac3b20c (Jun 13 2017 - 23:23:51 +0200)

CPU:   Freescale i.MX6DL rev1.3 at 792 MHz
Reset cause: POR
Board: Wandboard rev B1
I2C:   ready
DRAM:  1 GiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
*** Warning - bad CRC, using default environment

No panel detected: default to HDMI
Display: HDMI (1024x768)
In:    serial
Out:   serial
Err:   serial
Net:   FEC [PRIME]
Hit any key to stop autoboot:  0
=> setenv findfdt "setenv fdtfile imx6dl-wandboard-revd1.dtb"; boot
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
reading /extlinux/extlinux.conf
197 bytes read in 18 ms (9.8 KiB/s)
1:   Poky (Yocto Project Reference Distro)
Retrieving file: /extlinux/../zImage
reading /extlinux/../zImage
6438104 bytes read in 329 ms (18.7 MiB/s)
append: root=PARTUUID=c0066c30-01 rootwait rw console=ttymxc0,115200
Retrieving file: /extlinux/../imx6dl-wandboard-revd1.dtb
reading /extlinux/../imx6dl-wandboard-revd1.dtb
40799 bytes read in 32 ms (1.2 MiB/s)
## Flattened Device Tree blob at 18000000
   Booting using the fdt blob at 0x18000000
   Using Device Tree in place at 18000000, end 1800cf5e

Starting kernel ...

Booting Linux on physical CPU 0x0
Linux version 4.1.15-1.1.0-ga-wandboard+ge355954c (oe-user@oe-host) (gcc version 6.3.0 (GCC) ) #1 SMP PREEMPT Tue Jun 13 23:22:30 CEST 2017
CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine model: Wandboard i.MX6DL/SOLO rev.D1
Reserved memory: created CMA memory pool at 0x3c000000, size 320 MiB
Reserved memory: initialized node linux,cma, compatible id shared-dma-pool
Memory policy: Data cache writealloc
PERCPU: Embedded 12 pages/cpu @ab71f000 s17420 r8192 d23540 u49152
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260096
Kernel command line: root=PARTUUID=c0066c30-01 rootwait rw console=ttymxc0,115200
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 698804K/1048576K available (8045K kernel code, 408K rwdata, 2816K rodata, 432K init, 444K bss, 22092K reserved, 327680K cma-reserved, 0K highmem)
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    vmalloc : 0xc0800000 - 0xff000000   (1000 MB)
    lowmem  : 0x80000000 - 0xc0000000   (1024 MB)
    pkmap   : 0x7fe00000 - 0x80000000   (   2 MB)
    modules : 0x7f000000 - 0x7fe00000   (  14 MB)
      .text : 0x80008000 - 0x80aa38e8   (10863 kB)
      .init : 0x80aa4000 - 0x80b10000   ( 432 kB)
      .data : 0x80b10000 - 0x80b761e0   ( 409 kB)
       .bss : 0x80b79000 - 0x80be80e0   ( 445 kB)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
Preemptible hierarchical RCU implementation.
   Additional per-CPU info printed with stalls.
   RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
NR_IRQS:16 nr_irqs:16 16
L2C-310 erratum 769419 enabled
L2C-310 enabling early BRESP for Cortex-A9
L2C-310 full line of zeros enabled for Cortex-A9
L2C-310 ID prefetch enabled, offset 16 lines
L2C-310 dynamic clock gating enabled, standby mode enabled
L2C-310 cache controller enabled, 16 ways, 512 kB
L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x76450001
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: 2048 (order: 1, 8192 bytes)
Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
CPU: Testing write buffer coherency: ok
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0x10008280 - 0x100082d8
CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
Brought up 2 CPUs
SMP: Total of 2 processors activated (12.00 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
devtmpfs: initialized
VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
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
CPU identified as i.MX6DL, silicon rev 1.3
hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
hw-breakpoint: maximum watchpoint size is 4 bytes.
imx6dl-pinctrl 20e0000.iomuxc: initialized IMX pinctrl driver
imx-gpc 20dc000.gpc: no fsl,ldo-bypass found!
mxs-dma 110000.dma-apbh: initialized
vgaarb: loaded
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
2000000.aips-bus:usbphy_nop1 supply vcc not found, using dummy regulator
2000000.aips-bus:usbphy_nop2 supply vcc not found, using dummy regulator
i2c i2c-0: IMX I2C adapter registered
i2c i2c-0: can't use DMA
i2c i2c-1: IMX I2C adapter registered
i2c i2c-1: can't use DMA
i2c i2c-2: IMX I2C adapter registered
i2c i2c-2: 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
imx-ipuv3 2400000.ipu: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)
mxc_mipi_csi2 21dc000.mipi_csi: i.MX MIPI CSI2 driver probed
mxc_mipi_csi2 21dc000.mipi_csi: i.MX MIPI CSI2 dphy version is 0x3130302a
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: 8192 (order: 3, 32768 bytes)
TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
UDP hash table entries: 512 (order: 2, 16384 bytes)
UDP-Lite hash table entries: 512 (order: 2, 16384 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.
CPU PMU: Failed to parse /soc/pmu/interrupt-affinity[0]
hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available
imx rpmsg driver is registered.
Bus freq driver module loaded
futex hash table entries: 512 (order: 3, 32768 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.
backlight_lcd supply power not found, using dummy regulator
backlight_lvds supply power not found, using dummy regulator
MIPI DSI driver module loaded
MIPI DSI driver module loaded
mxc_sdc_fb fb@0: registered mxc display driver ldb
imx-ipuv3 2400000.ipu: WARNING: adapt panel end blank lines
imx-ipuv3 2400000.ipu: IPU DMFC DP HIGH RESOLUTION: 1(0,1), 5B(2~5), 5F(6,7)
imx-ipuv3 2400000.ipu: WARNING: adapt panel end blank lines
Console: switching to colour frame buffer device 128x37
mxc_hdmi 20e0000.hdmi_video: Detected HDMI controller 0x13:0x1a:0xa0:0xc1
fbcvt: 1920x1080@60: CVT Name - 2.073M9
mxc_sdc_fb fb@1: registered mxc display driver hdmi
imx-sdma 20ec000.sdma: no iram assigned, using external mem
imx-sdma 20ec000.sdma: no event needs to be remapped
imx-sdma 20ec000.sdma: loaded firmware 3.3
imx-sdma 20ec000.sdma: initialized
pfuze100-regulator 2-0008: Full layer: 2, Metal layer: 1
pfuze100-regulator 2-0008: FAB: 0, FIN: 0
pfuze100-regulator 2-0008: pfuze100 found.
2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 25, base_baud = 5000000) is a IMX
console [ttymxc0] enabled
21ec000.serial: ttymxc2 at MMIO 0x21ec000 (irq = 298, 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
spi_imx 2008000.ecspi: probed
CAN device driver interface
pps pps0: new PPS source ptp0
libphy: fec_enet_mii_bus: probed
fec 2188000.ethernet eth0: registered PHC device 0
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
2184200.usb supply vbus not found, using dummy regulator
ci_hdrc ci_hdrc.1: EHCI Host Controller
ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 1
ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
mousedev: PS/2 mouse device common for all mice
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
mxc_v4l2_output v4l2_out: V4L2 device registered as video16
mxc_v4l2_output v4l2_out: V4L2 device registered as video17
mxc_v4l2_output v4l2_out: V4L2 device registered as video18
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
usbcore: registered new interface driver btusb
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci-pltfm: SDHCI platform and OF driver helper
/soc/aips-bus@02100000/usdhc@02190000: voltage-ranges unspecified
sdhci-esdhc-imx 2190000.usdhc: could not get ultra high speed state, work on normal mode
sdhci-esdhc-imx 2190000.usdhc: Got CD GPIO
sdhci-esdhc-imx 2190000.usdhc: No vmmc regulator found
sdhci-esdhc-imx 2190000.usdhc: No vqmmc regulator found
mmc0: SDHCI controller on 2190000.usdhc [2190000.usdhc] using ADMA
/soc/aips-bus@02100000/usdhc@02194000: voltage-ranges unspecified
sdhci-esdhc-imx 2194000.usdhc: assigned as wifi host
sdhci-esdhc-imx 2194000.usdhc: No vmmc regulator found
sdhci-esdhc-imx 2194000.usdhc: No vqmmc regulator found
mmc1: SDHCI controller on 2194000.usdhc [2194000.usdhc] using ADMA
/soc/aips-bus@02100000/usdhc@02198000: voltage-ranges unspecified
sdhci-esdhc-imx 2198000.usdhc: could not get ultra high speed state, work on normal mode
sdhci-esdhc-imx 2198000.usdhc: Got CD GPIO
sdhci-esdhc-imx 2198000.usdhc: No vmmc regulator found
sdhci-esdhc-imx 2198000.usdhc: No vqmmc regulator found
mmc2: SDHCI controller on 2198000.usdhc [2198000.usdhc] using ADMA
mxc_vpu 2040000.vpu_fsl: VPU initialized
mxc_vdoa 21e4000.vdoa: i.MX Video Data Order Adapter(VDOA) driver probed
mxc_hdmi_cec soc:hdmi_cec@00120000: HDMI CEC initialized
caam 2100000.caam: Entropy delay = 3200
mmc2: host does not support reading read-only switch, assuming write-enable
mmc2: new high speed SDHC card at address 0007
mmcblk2: mmc2:0007 SD16G 14.4 GiB
 mmcblk2: p1 p2
caam 2100000.caam: Instantiated RNG4 SH0
caam 2100000.caam: Instantiated RNG4 SH1
caam 2100000.caam: device ID = 0x0a16010000000100 (Era -524)
caam 2100000.caam: job rings = 2, qi = 0
caam algorithms registered in /proc/crypto
caam_jr 2101000.jr0: registering rng-caam
platform caam_sm: blkkey_ex: 4 keystore units available
platform caam_sm: 64-bit clear key:
platform caam_sm: [0000] 00 01 02 03 04 0f 06 07
platform caam_sm: 64-bit black key:
platform caam_sm: [0000] c9 2b 73 96 03 66 fa 07
platform caam_sm: [0008] 58 06 ac a4 ee 3d 6a 3b
platform caam_sm: 128-bit clear key:
platform caam_sm: [0000] 00 01 02 03 04 0f 06 07
platform caam_sm: [0008] 08 09 0a 0b 0c 0d 0e 0f
platform caam_sm: 128-bit black key:
platform caam_sm: [0000] a1 e5 b3 7c fc ca 51 17
platform caam_sm: [0008] c7 0e df eb 57 7d d2 b7
platform caam_sm: 192-bit clear key:
platform caam_sm: [0000] 00 01 02 03 04 0f 06 07
platform caam_sm: [0008] 08 09 0a 0b 0c 0d 0e 0f
platform caam_sm: [0016] 10 11 12 13 14 15 16 17
platform caam_sm: 192-bit black key:
platform caam_sm: [0000] d7 0d f9 9c 9d c1 60 59
platform caam_sm: [0008] fe de 60 e6 0e ce 75 af
platform caam_sm: [0016] a0 d5 fc 40 19 86 1f c0
platform caam_sm: [0024] 65 da d5 56 60 e5 11 d9
platform caam_sm: 256-bit clear key:
platform caam_sm: [0000] 00 01 02 03 04 0f 06 07
platform caam_sm: [0008] 08 09 0a 0b 0c 0d 0e 0f
platform caam_sm: [0016] 10 11 12 13 14 15 16 17
platform caam_sm: [0024] 18 19 1a 1b 1c 1d 1e 1f
platform caam_sm: 256-bit black key:
platform caam_sm: [0000] aa 9f 7d 5e 02 b9 8c 25
platform caam_sm: [0008] 35 8b 51 63 2a 72 30 de
platform caam_sm: [0016] 15 86 e8 aa e1 2f f6 6f
platform caam_sm: [0024] bc 04 d3 92 5c ae fd c1
platform caam_sm: 64-bit unwritten blob:
platform caam_sm: [0000] 00 00 00 00 00 00 00 00
platform caam_sm: [0008] 00 00 00 00 00 00 00 00
platform caam_sm: [0016] 00 00 00 00 00 00 00 00
platform caam_sm: [0024] 00 00 00 00 00 00 00 00
platform caam_sm: [0032] 00 00 00 00 00 00 00 00
platform caam_sm: [0040] 00 00 00 00 00 00 00 00
platform caam_sm: [0048] 00 00 00 00 00 00 00 00
platform caam_sm: [0056] 00 00 00 00 00 00 00 00
platform caam_sm: [0064] 00 00 00 00 00 00 00 00
platform caam_sm: [0072] 00 00 00 00 00 00 00 00
platform caam_sm: [0080] 00 00 00 00 00 00 00 00
platform caam_sm: [0088] 00 00 00 00 00 00 00 00
platform caam_sm: 128-bit unwritten blob:
platform caam_sm: [0000] 00 00 00 00 00 00 00 00
platform caam_sm: [0008] 00 00 00 00 00 00 00 00
platform caam_sm: [0016] 00 00 00 00 00 00 00 00
platform caam_sm: [0024] 00 00 00 00 00 00 00 00
platform caam_sm: [0032] 00 00 00 00 00 00 00 00
platform caam_sm: [0040] 00 00 00 00 00 00 00 00
platform caam_sm: [0048] 00 00 00 00 00 00 00 00
platform caam_sm: [0056] 00 00 00 00 00 00 00 00
platform caam_sm: [0064] 00 00 00 00 00 00 00 00
platform caam_sm: [0072] 00 00 00 00 00 00 00 00
platform caam_sm: [0080] 00 00 00 00 00 00 00 00
platform caam_sm: [0088] 00 00 00 00 00 00 00 00
platform caam_sm: 196-bit unwritten blob:
platform caam_sm: [0000] 00 00 00 00 00 00 00 00
platform caam_sm: [0008] 00 00 00 00 00 00 00 00
platform caam_sm: [0016] 00 00 00 00 00 00 00 00
platform caam_sm: [0024] 00 00 00 00 00 00 00 00
platform caam_sm: [0032] 00 00 00 00 00 00 00 00
platform caam_sm: [0040] 00 00 00 00 00 00 00 00
platform caam_sm: [0048] 00 00 00 00 00 00 00 00
platform caam_sm: [0056] 00 00 00 00 00 00 00 00
platform caam_sm: [0064] 00 00 00 00 00 00 00 00
platform caam_sm: [0072] 00 00 00 00 00 00 00 00
platform caam_sm: [0080] 00 00 00 00 00 00 00 00
platform caam_sm: [0088] 00 00 00 00 00 00 00 00
platform caam_sm: 256-bit unwritten blob:
platform caam_sm: [0000] 00 00 00 00 00 00 00 00
platform caam_sm: [0008] 00 00 00 00 00 00 00 00
platform caam_sm: [0016] 00 00 00 00 00 00 00 00
platform caam_sm: [0024] 00 00 00 00 00 00 00 00
platform caam_sm: [0032] 00 00 00 00 00 00 00 00
platform caam_sm: [0040] 00 00 00 00 00 00 00 00
platform caam_sm: [0048] 00 00 00 00 00 00 00 00
platform caam_sm: [0056] 00 00 00 00 00 00 00 00
platform caam_sm: [0064] 00 00 00 00 00 00 00 00
platform caam_sm: [0072] 00 00 00 00 00 00 00 00
platform caam_sm: [0080] 00 00 00 00 00 00 00 00
platform caam_sm: [0088] 00 00 00 00 00 00 00 00
platform caam_sm: 64-bit black key in blob:
platform caam_sm: [0000] a5 62 d3 af b9 d4 08 e1
platform caam_sm: [0008] c7 bd 51 99 12 70 33 81
platform caam_sm: [0016] b9 48 98 bf 38 02 80 0e
platform caam_sm: [0024] cf c3 f7 6e 70 76 18 37
platform caam_sm: [0032] ed 30 fc 82 22 58 a9 a9
platform caam_sm: [0040] 0a 76 9b 25 4a c3 48 be
platform caam_sm: [0048] 2f f5 a0 9d d0 87 16 58
platform caam_sm: [0056] 00 00 00 00 00 00 00 00
platform caam_sm: [0064] 00 00 00 00 00 00 00 00
platform caam_sm: [0072] 00 00 00 00 00 00 00 00
platform caam_sm: [0080] 00 00 00 00 00 00 00 00
platform caam_sm: [0088] 00 00 00 00 00 00 00 00
platform caam_sm: 128-bit black key in blob:
platform caam_sm: [0000] 3f ff 45 e5 fa e4 dc ba
platform caam_sm: [0008] 3b e7 4b a0 91 20 be a1
platform caam_sm: [0016] b1 9e 7c fb 58 66 62 b7
platform caam_sm: [0024] 6f 7f f3 61 03 c4 59 f0
platform caam_sm: [0032] bc 55 0b 0b ea 4d ba e5
platform caam_sm: [0040] 9f 4e e2 fa 78 f7 33 eb
platform caam_sm: [0048] 53 b0 62 a9 09 5a ee 46
platform caam_sm: [0056] 2f 24 04 4b ed 13 a2 79
platform caam_sm: [0064] 00 00 00 00 00 00 00 00
platform caam_sm: [0072] 00 00 00 00 00 00 00 00
platform caam_sm: [0080] 00 00 00 00 00 00 00 00
platform caam_sm: [0088] 00 00 00 00 00 00 00 00
platform caam_sm: 192-bit black key in blob:
platform caam_sm: [0000] 59 c6 70 9e 50 38 6b 46
platform caam_sm: [0008] d0 18 76 12 e7 16 32 2a
platform caam_sm: [0016] 90 db 3d 8f c7 af f0 e7
platform caam_sm: [0024] 3f ed da b1 68 fd 2c 6a
platform caam_sm: [0032] c7 05 89 1d dd e0 2d 50
platform caam_sm: [0040] dd 5d ac ef 72 9b 76 d4
platform caam_sm: [0048] 69 35 1f ba 0f f6 a8 67
platform caam_sm: [0056] 1a ee 05 1b d3 75 29 64
platform caam_sm: [0064] 63 00 1d 46 6f 8e fd 3e
platform caam_sm: [0072] 00 00 00 00 00 00 00 00
platform caam_sm: [0080] 00 00 00 00 00 00 00 00
platform caam_sm: [0088] 00 00 00 00 00 00 00 00
platform caam_sm: 256-bit black key in blob:
platform caam_sm: [0000] 1c 3c 77 b2 7d 0e 2f da
platform caam_sm: [0008] 2a da 3f 3b 1e 28 96 13
platform caam_sm: [0016] 13 63 b3 30 da ff 99 f3
platform caam_sm: [0024] 9d 43 aa a4 2a 59 0d da
platform caam_sm: [0032] de d1 10 c1 08 bd b4 b4
platform caam_sm: [0040] 76 d8 6b e2 1b 6e d4 90
platform caam_sm: [0048] 64 7b 48 ac be cb 2c cb
platform caam_sm: [0056] 32 13 23 b9 51 3c 60 05
platform caam_sm: [0064] fd ef d4 1e ec ac d2 31
platform caam_sm: [0072] 51 16 d7 dc 12 db 5d 29
platform caam_sm: [0080] 00 00 00 00 00 00 00 00
platform caam_sm: [0088] 00 00 00 00 00 00 00 00
platform caam_sm: restored 64-bit black key:
platform caam_sm: [0000] b0 c1 56 fb 77 86 dd 7c
platform caam_sm: [0008] 2d bd 86 c7 c4 08 9d 13
platform caam_sm: restored 128-bit black key:
platform caam_sm: [0000] a1 e5 b3 7c fc ca 51 17
platform caam_sm: [0008] c7 0e df eb 57 7d d2 b7
platform caam_sm: restored 192-bit black key:
platform caam_sm: [0000] d7 0d f9 9c 9d c1 60 59
platform caam_sm: [0008] fe de 60 e6 0e ce 75 af
platform caam_sm: [0016] 10 8e 5a 49 87 10 c2 f0
platform caam_sm: [0024] 8a 02 22 26 c3 c8 7d a9
platform caam_sm: restored 256-bit black key:
platform caam_sm: [0000] aa 9f 7d 5e 02 b9 8c 25
platform caam_sm: [0008] 35 8b 51 63 2a 72 30 de
platform caam_sm: [0016] 15 86 e8 aa e1 2f f6 6f
platform caam_sm: [0024] bc 04 d3 92 5c ae fd c1
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
sgtl5000 1-000a: sgtl5000 revision 0x11
fsl-asrc 2034000.asrc: driver registered
sgtl5000 1-000a: Using internal LDO instead of VDDD
imx-sgtl5000 sound: sgtl5000 <-> 2028000.ssi mapping ok
imx-spdif sound-spdif: snd-soc-dummy-dai <-> 2004000.spdif mapping ok
imx-audio-hdmi sound-hdmi: hdmi-hifi <-> soc:hdmi_audio@00120000 mapping ok
NET: Registered protocol family 26
nf_conntrack version 0.5.0 (16038 buckets, 64152 max)
ip_tables: (C) 2000-2006 Netfilter Core Team
NET: Registered protocol family 10
ip6_tables: (C) 2000-2006 Netfilter Core Team
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
rfkill-bcm43xx bt_rfkill: bt_rfkill device registered.
Key type dns_resolver registered
snvs_rtc 20cc000.snvs:snvs-rtc-lp: setting system clock to 1970-01-01 00:00:01 UTC (1)
VGEN1: disabling
SWBST: disabling
SW4: disabling
wlreg_on: disabling
usb_otg_vbus: disabling
ALSA device list:
  #0: audio-sgtl5000
  #1: imx-spdif
  #2: imx-hdmi-soc
VFS: Mounted root (vfat filesystem) on device 179:1.
devtmpfs: error mounting -2
Freeing unused kernel memory: 432K (80aa4000 - 80b10000)
Kernel panic - not syncing: No working init found.  Try passing init= option to kernel. See Linux Documentation/init.txt for guidance.
CPU1: stopping
CPU: 1 PID: 0 Comm: swapper/1 Not tainted 4.1.15-1.1.0-ga-wandboard+ge355954c #1
Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
[<80016874>] (unwind_backtrace) from [<80012648>] (show_stack+0x10/0x14)
[<80012648>] (show_stack) from [<807a7ad8>] (dump_stack+0x74/0xb4)
[<807a7ad8>] (dump_stack) from [<8001575c>] (handle_IPI+0x178/0x18c)
[<8001575c>] (handle_IPI) from [<8000949c>] (gic_handle_irq+0x58/0x5c)
[<8000949c>] (gic_handle_irq) from [<80013140>] (__irq_svc+0x40/0x74)
Exception stack(0xa8093f50 to 0xa8093f98)
3f40:                                     00000000 80bc0128 00000001 a8092000
3f60: ab72de90 00000001 b6fcf0b0 00000000 b5ef443a 00000000 00000001 00000000
3f80: 00000000 a8093f98 807adb8c 8052ab08 20000113 ffffffff
[<80013140>] (__irq_svc) from [<8052ab08>] (cpuidle_enter_state+0xc4/0x1f4)
[<8052ab08>] (cpuidle_enter_state) from [<80064628>] (cpu_startup_entry+0x1f8/0x318)
[<80064628>] (cpu_startup_entry) from [<1000952c>] (0x1000952c)
---[ end Kernel panic - not syncing: No working init found.  Try passing init= option to kernel. See Linux Documentation/init.txt for guidance.
------------[ cut here ]------------
WARNING: CPU: 0 PID: 1 at /home/eiger824/fsl-community-bsp/build/tmp/work-shared/wandboard/kernel-source/kernel/time/tick-broadcast.c:621 tick_handle_oneshot_broadcast+0x1b4/0x1dc()
Modules linked in:
CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.1.15-1.1.0-ga-wandboard+ge355954c #1
Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
[<80016874>] (unwind_backtrace) from [<80012648>] (show_stack+0x10/0x14)
[<80012648>] (show_stack) from [<807a7ad8>] (dump_stack+0x74/0xb4)
[<807a7ad8>] (dump_stack) from [<80035058>] (warn_slowpath_common+0x80/0xb0)
[<80035058>] (warn_slowpath_common) from [<80035124>] (warn_slowpath_null+0x1c/0x24)
[<80035124>] (warn_slowpath_null) from [<80089920>] (tick_handle_oneshot_broadcast+0x1b4/0x1dc)
[<80089920>] (tick_handle_oneshot_broadcast) from [<8002121c>] (mxc_timer_interrupt+0x2c/0x34)
[<8002121c>] (mxc_timer_interrupt) from [<8006d1ec>] (handle_irq_event_percpu+0x8c/0x140)
[<8006d1ec>] (handle_irq_event_percpu) from [<8006d2dc>] (handle_irq_event+0x3c/0x5c)
[<8006d2dc>] (handle_irq_event) from [<8006ff68>] (handle_fasteoi_irq+0xe0/0x198)
[<8006ff68>] (handle_fasteoi_irq) from [<8006c878>] (generic_handle_irq+0x2c/0x3c)
[<8006c878>] (generic_handle_irq) from [<8006cb30>] (__handle_domain_irq+0x7c/0xec)
[<8006cb30>] (__handle_domain_irq) from [<80009468>] (gic_handle_irq+0x24/0x5c)
[<80009468>] (gic_handle_irq) from [<80013140>] (__irq_svc+0x40/0x74)
Exception stack(0xa8071e70 to 0xa8071eb8)
1e60:                                     00000000 8098be80 80b7c000 00000000
1e80: 00000282 00000000 00000010 a8070000 00000001 80b12080 a8008000 00000000
1ea0: 00000001 a8071eb8 80038230 80038240 20000113 ffffffff
[<80013140>] (__irq_svc) from [<80038240>] (__do_softirq+0x9c/0x230)
[<80038240>] (__do_softirq) from [<8003868c>] (irq_exit+0xc0/0xfc)
[<8003868c>] (irq_exit) from [<8006cb34>] (__handle_domain_irq+0x80/0xec)
[<8006cb34>] (__handle_domain_irq) from [<80009468>] (gic_handle_irq+0x24/0x5c)
[<80009468>] (gic_handle_irq) from [<80013140>] (__irq_svc+0x40/0x74)
Exception stack(0xa8071f40 to 0xa8071f88)
1f40: 0000008f 60000193 00000001 a8070000 00000000 807a3b7c 80b7bb68 00000000
1f60: 00000000 00000000 00000000 00000000 00000001 a8071f88 807a5940 807a5944
1f80: 20000113 ffffffff
[<80013140>] (__irq_svc) from [<807a5944>] (panic+0x16c/0x1cc)
[<807a5944>] (panic) from [<807a3c64>] (cpu_die+0x0/0x80)
[<807a3c64>] (cpu_die) from [<8000f428>] (ret_from_fork+0x14/0x2c)
---[ end trace 84d922f81d3a422c ]---


Any help is much appreciated!

Regards,
/eiger824
eiger824
 
Posts: 10
Joined: Tue Jun 13, 2017 8:18 am

Re: Yocto Pyro with Wandboard rev D1

Postby eiger824 » Sun Jul 02, 2017 3:01 pm

**UPDATE**
In order to avoid entering u-Boot and typing
Code: Select all
setenv findfdt "setenv fdtfile <dtbfile>"

one can set the FDT variable in the extlinux.conf file in the boot partition of the SD card. This will make u-Boot load the desired <dtbfile>.

See class recipe http://cgit.openembedded.org/openembedded-core/tree/meta/classes/uboot-extlinux-config.bbclass?h=master for further useful variables.

/eiger824
eiger824
 
Posts: 10
Joined: Tue Jun 13, 2017 8:18 am

Re: Yocto Pyro with Wandboard rev D1

Postby eiger824 » Tue Jul 04, 2017 5:50 am

**UPDATE 2**

It turns out that the default root= variable in the kernel command line was pointing to the FAT (boot) partition of the sdcard, that is why it always failed to mount the ext3 rootfs and hence the Kernel panic of not finding the init program.

What I did was, again in the extlinux.conf file in the boot partition, to set the root variable to the second partition of the SD card like:

Code: Select all
root=/dev/mmcblk2p2


This can also be achieved during a build if the following variable(s) are set in the local.conf file:

Code: Select all
UBOOT_EXTLINUX_ROOT = "root=/dev/mmcblk2p2"
UBOOT_EXTLINUX_FDT = "../imx6dl-wandboard-revd1.dtb"


Happy debugging!
/eiger824
eiger824
 
Posts: 10
Joined: Tue Jun 13, 2017 8:18 am

Re: Yocto Pyro with Wandboard rev D1

Postby pompomJuice » Thu Jul 13, 2017 9:50 am

For those of you that don't use the wandboard kernel, but need the more generic one that looks like the kernel from freescale. I found this kernel:

https://github.com/TechNexion/linux/tre ... 5_2.0.0_ga
pompomJuice
 
Posts: 3
Joined: Mon May 29, 2017 3:02 pm

Re: Yocto Pyro with Wandboard rev D1

Postby Gera » Wed Sep 13, 2017 12:32 pm

Recently I bought a Wandboard QuadPLUS to study Yocto and Linux with embedded systems. First of all, I just want to build a minimal working image, so I started building the core-image-minimal, but I got a problem with it. All ends with the output to the terminal:
U-Boot SPL 2017.03+fslc+gac3b20cdbe (Sep 12 2017 - 18:00:54)

Here is my sequence of actions:
1) I've downloaded the BSP source
Code: Select all
$ mkdir fsl-community-bsp
$ cd fsl-community-bsp
$ repo init -u https://github.com/Freescale/fsl-community-bsp-platform -b pyro
$ repo sync


2) source setup-environment
Code: Select all
$ MACHINE="wandboard" DISTRO="fslc-framebuffer" source setup-environment wandboard-qplus


3) I've edited the configuration files and a recipe.
a. ~/fsl-community-bsp/wandboard-qplus/conf/local.conf
Code: Select all
MACHINE ??= 'wandboard'
DISTRO ?= 'fslc-framebuffer'
PACKAGE_CLASSES ?= "package_rpm"
EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
USER_CLASSES ?= "buildstats image-mklibs image-prelink"
PATCHRESOLVE = "noop"
BB_DISKMON_DIRS = "\
    STOPTASKS,${TMPDIR},1G,100K \
    STOPTASKS,${DL_DIR},1G,100K \
    STOPTASKS,${SSTATE_DIR},1G,100K \
    STOPTASKS,/tmp,100M,100K \
    ABORT,${TMPDIR},100M,1K \
    ABORT,${DL_DIR},100M,1K \
    ABORT,${SSTATE_DIR},100M,1K \
    ABORT,/tmp,10M,1K"
PACKAGECONFIG_append_pn-qemu-native = " sdl"
PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
CONF_VERSION = "1"
IMAGE_FSTYPES="tar.bz2 ext3 sdcard"
DL_DIR ?= "${BSPDIR}/downloads/"
SSTATE_DIR = "${BSPDIR}/sstate-cache"
UBOOT_EXTLINUX_ROOT = "root=/dev/mmcblk2p2"
UBOOT_EXTLINUX_FDT = "../imx6q-wandboard-revd1.dtb"

ACCEPT_FSL_EULA = "1"


b. ~/fsl-community-bsp/sources/meta-freescale-3rdparty/conf/machine/wandboard.conf
Code: Select all
KERNEL_DEVICETREE = " \
    imx6dl-wandboard-revb1.dtb \
    imx6dl-wandboard-revc1.dtb \
    imx6dl-wandboard-revd1.dtb \
    imx6q-wandboard-revb1.dtb \
    imx6q-wandboard-revc1.dtb \
    imx6q-wandboard-revd1.dtb \
"
KERNEL_DEVICETREE_use-mainline-bsp = " \
    imx6dl-wandboard.dtb \
    imx6dl-wandboard-revb1.dtb \
    imx6dl-wandboard-revd1.dtb \
    imx6q-wandboard.dtb \
    imx6q-wandboard-revb1.dtb \
    imx6q-wandboard-revd1.dtb \
"

Here I added revision D1.

с. Finally, I modified sources/meta-freescale-3rdparty/recipes-kernel/linux/linux-wandboard_4.1.15.bb
Code: Select all
# SRCREV = "8b015473d34019c3e093c257861e9c6f4930400b"
SRCREV = "e355954c784b4b1cbcaa5780927d8ce9f809a488"


I copy the Linux kernel and device tree as follows:
Code: Select all
sudo dd if=wandboard-qplus/tmp/deploy/images/wandboard/core-image-minimal-wandboard.sdcard of=/dev/sdd bs=1M && sync

Then I run terminal ( screen /dev/ttyUSB0 115200 8N1 ),turn on the power and here's what I see:
Code: Select all
U-Boot SPL 2017.03+fslc+gac3b20cdbe (Sep 12 2017 - 18:00:54)


Please tell me how to diagnose the problem? Why there is no further u-boot output?
Gera
 
Posts: 1
Joined: Wed Sep 13, 2017 11:07 am

Re: Yocto Pyro with Wandboard rev D1

Postby bheemarajulu » Wed Dec 20, 2017 4:44 am

Hello I've wandboard rev D1, I followed the steps mentioned in this forum by Gera.


CODE: SELECT ALL
$ mkdir fsl-community-bsp
$ cd fsl-community-bsp
$ repo init -u https://github.com/Freescale/fsl-community-bsp-platform -b pyro
$ repo sync


2) source setup-environment
CODE: SELECT ALL
$ MACHINE="wandboard" DISTRO="fslc-framebuffer" source setup-environment wandboard-qplus


3) I've edited the configuration files and a recipe.
a. ~/fsl-community-bsp/wandboard-qplus/conf/local.conf
CODE: SELECT ALL
MACHINE ??= 'wandboard'
DISTRO ?= 'fslc-framebuffer'
PACKAGE_CLASSES ?= "package_rpm"
EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
USER_CLASSES ?= "buildstats image-mklibs image-prelink"
PATCHRESOLVE = "noop"
BB_DISKMON_DIRS = "\
STOPTASKS,${TMPDIR},1G,100K \
STOPTASKS,${DL_DIR},1G,100K \
STOPTASKS,${SSTATE_DIR},1G,100K \
STOPTASKS,/tmp,100M,100K \
ABORT,${TMPDIR},100M,1K \
ABORT,${DL_DIR},100M,1K \
ABORT,${SSTATE_DIR},100M,1K \
ABORT,/tmp,10M,1K"
PACKAGECONFIG_append_pn-qemu-native = " sdl"
PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
CONF_VERSION = "1"
IMAGE_FSTYPES="tar.bz2 ext3 sdcard"
DL_DIR ?= "${BSPDIR}/downloads/"
SSTATE_DIR = "${BSPDIR}/sstate-cache"
UBOOT_EXTLINUX_ROOT = "root=/dev/mmcblk2p2"
UBOOT_EXTLINUX_FDT = "../imx6q-wandboard-revd1.dtb"

ACCEPT_FSL_EULA = "1"


b. ~/fsl-community-bsp/sources/meta-freescale-3rdparty/conf/machine/wandboard.conf
CODE: SELECT ALL
KERNEL_DEVICETREE = " \
imx6dl-wandboard-revb1.dtb \
imx6dl-wandboard-revc1.dtb \
imx6dl-wandboard-revd1.dtb \
imx6q-wandboard-revb1.dtb \
imx6q-wandboard-revc1.dtb \
imx6q-wandboard-revd1.dtb \
imx6qp-wandboard-revd1.dtb \
"
KERNEL_DEVICETREE_use-mainline-bsp = " \
imx6dl-wandboard.dtb \
imx6dl-wandboard-revb1.dtb \
imx6dl-wandboard-revd1.dtb \
imx6q-wandboard.dtb \
imx6q-wandboard-revb1.dtb \
imx6q-wandboard-revd1.dtb \
imx6qp-wandboard-revd1.dtb \
"

Here I added revision D1.

с. Finally, I modified sources/meta-freescale-3rdparty/recipes-kernel/linux/linux-wandboard_4.1.15.bb
CODE: SELECT ALL
# SRCREV = "8b015473d34019c3e093c257861e9c6f4930400b"
SRCREV = "e355954c784b4b1cbcaa5780927d8ce9f809a488"


I've copied the Linux kernel and device tree as follows:
CODE: SELECT ALL
sudo dd if=wandboard-qplus/tmp/deploy/images/wandboard/core-image-minimal-wandboard.sdcard of=/dev/sdd bs=1M && sync

When I booted the board, serial output is shown as below and no further u-boot logs are displayed.

Code: Select all
U-Boot SPL 2017.03+fslc+gac3b20cdbe (Sep 12 2017 - 18:00:54)


I see no replies after Gera posted this issue, if anyone resolved this issue please help me to start with yocto build for wandboard quad plus board.
Please help, as I've wasted lot of time to rebuild the yocto images and make it work. Thanks
bheemarajulu
 
Posts: 1
Joined: Wed Dec 20, 2017 4:30 am

Re: Yocto Pyro with Wandboard rev D1

Postby ClayMontgomery » Thu Mar 01, 2018 4:21 pm

Please check this file to be sure it is configured for the rev D1 board:

/boot/extlinux/extlinux.conf

Mine looks like this:

# Generic Distro Configuration file generated by OpenEmbedded
LABEL FSLC FrameBuffer
KERNEL ../zImage
FDT ../imx6q-wandboard-revd1.dtb
APPEND root=PARTUUID=${uuid} rootwait rw console=${console} video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24,bpp=32

Regards, Clay
ClayMontgomery
 
Posts: 87
Joined: Tue Nov 19, 2013 9:14 pm


Return to Hardware and peripherals

Who is online

Users browsing this forum: No registered users and 3 guests

cron