having trouble with dunfell + weston + tilcdc + drm maybe

Hi all! I’ve been attempting to create a working image built from a yocto repo that I have set up over the past few weeks. I’m planning on using this image underneath the actual application that I am working on, which is going to use imgui (github link) under the hood; I’m pretty fond of the framework.

Using kirkstone branches of meta-ti, poky, meta-oe and meta-arm, I was able to get an image that is able to boot up and even renders my application through x11 (I am running it directly from an /etc/X11/XSession file), but the performance is abysmal. I’ve traced the problem down to what I believe are the actual opengl rendering calls in imgui - attempts to re-render after button clicks takes ~500ms. I’m not an expert on figuring out where exactly the bottleneck is happening (debugging openGL calls or whatnot), but I can tell that CPU usage jumps to 99% if I watch htop while tapping on the screen. I imagine that if my application were using the most optimal hardware it had available, this wouldn’t be the case.

I have had good experience with the beaglebone black’s rendering in the past - using what I believe are chromium-based gui applications - on the debian images provided by BeagleBoard.org - latest-images, but the ability to use an out-of-the-box cross compilation sdk provided (in addition to os-level A/B updating tooling) is my motivation for using yocto. I mention this because I do have confidence that the beaglebone black can perform some kind of rendering.

after conversations in the meta-ti mailing list, I have a suspicion my best bet is to work with the dunfell branches of my layers, but now I’m having in issue where - I believe - the kernel is not picking up my lcd cape as an eligible DRM device:

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 5.10.145-g9b11aaf2cd (oe-user@oe-host) (arm-poky-linux-gnueabi-gcc (GCC) 9.5.0, GNU ld (GNU Binutils) 2.34.0.20200910) #1 PREEMPT Mon Dec 19 21:56:12 UTC 2022
[    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt: Machine model: TI AM335x BeagleBone Black
[    0.000000] Memory policy: Data cache writeback
[    0.000000] efi: UEFI not found.
[    0.000000] cma: Failed to reserve 512 MiB
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000080000000-0x000000009fdfffff]
[    0.000000]   HighMem  empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000080000000-0x000000009fdfffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x000000009fdfffff]
[    0.000000] On node 0 totalpages: 130560
[    0.000000]   Normal zone: 1148 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 130560 pages, LIFO batch:31
[    0.000000] CPU: All CPU(s) started in SVC mode.
[    0.000000] AM335X ES2.1 (sgx neon)
[    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: 129412
[    0.000000] Kernel command line: rootfstype=ext4 console=ttyS0,115200n8 rootwait rw video=480x272 splash root=/dev/mmcblk1p2 rauc.slot=A
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 500340K/522240K available (10240K kernel code, 757K rwdata, 3508K rodata, 1024K init, 415K bss, 21900K reserved, 0K cma-reserved, 0K highmem)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu:     RCU event tracing is enabled.
[    0.000000]  Trampoline variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] IRQ: Found an INTC at 0x(ptrval) (revision 5.0) with 128 interrupts
[    0.000000] TI gptimer clocksource: always-on /ocp/interconnect@44c00000/segment@200000/target-module@31000
[    0.000010] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[    0.000028] clocksource: dmtimer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[    0.000410] TI gptimer clockevent: 24000000 Hz at /ocp/interconnect@48000000/segment@0/target-module@40000
[    0.001770] Console: colour dummy device 80x30
[    0.001853] Calibrating delay loop... 996.14 BogoMIPS (lpj=4980736)
[    0.090486] pid_max: default: 32768 minimum: 301
[    0.090659] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.090674] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.091526] CPU: Testing write buffer coherency: ok
[    0.091603] CPU0: Spectre v2: using BPIALL workaround
[    0.092567] Setting up static identity map for 0x80100000 - 0x80100060
[    0.092735] rcu: Hierarchical SRCU implementation.
[    0.092838] EFI services will not be available.
[    0.093235] devtmpfs: initialized
[    0.105034] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
[    0.133219] DMA-API: preallocated 65536 debug entries
[    0.133251] DMA-API: debugging enabled by kernel config
[    0.133277] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.133302] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[    0.133514] pinctrl core: initialized pinctrl subsystem
[    0.134429] DMI not present or invalid.
[    0.135178] NET: Registered protocol family 16
[    0.135878] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.154068] l3-aon-clkctrl:0000:0: failed to disable
[    0.155225] thermal_sys: Registered thermal governor 'fair_share'
[    0.155237] thermal_sys: Registered thermal governor 'bang_bang'
[    0.155251] thermal_sys: Registered thermal governor 'step_wise'
[    0.155258] thermal_sys: Registered thermal governor 'user_space'
[    0.155892] cpuidle: using governor ladder
[    0.155939] cpuidle: using governor menu
[    1.278511] No ATAGs?
[    1.278541] hw-breakpoint: debug architecture 0x4 unsupported.
[    1.303847] reg-fixed-voltage fixedregulator0: GPIO lookup for consumer (null)
[    1.303863] reg-fixed-voltage fixedregulator0: using device tree for GPIO lookup
[    1.303897] of_get_named_gpiod_flags: can't parse 'gpios' property of node '/fixedregulator0[0]'
[    1.303915] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/fixedregulator0[0]'
[    1.303925] reg-fixed-voltage fixedregulator0: using lookup tables for GPIO lookup
[    1.303934] reg-fixed-voltage fixedregulator0: No GPIO consumer (null) found
[    1.304951] iommu: Default domain type: Translated 
[    1.307165] SCSI subsystem initialized
[    1.307644] mc: Linux media interface: v0.10
[    1.307684] videodev: Linux video capture interface: v2.00
[    1.307794] pps_core: LinuxPPS API ver. 1 registered
[    1.307806] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    1.307831] PTP clock support registered
[    1.308796] Advanced Linux Sound Architecture Driver Initialized.
[    1.310226] clocksource: Switched to clocksource dmtimer
[    1.317783] NET: Registered protocol family 2
[    1.318079] IP idents hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    1.319183] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[    1.319250] TCP established hash table entries: 4096 (order: 2, 16384 bytes, linear)
[    1.319292] TCP bind hash table entries: 4096 (order: 2, 16384 bytes, linear)
[    1.319333] TCP: Hash tables configured (established 4096 bind 4096)
[    1.319445] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[    1.319466] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[    1.319604] NET: Registered protocol family 1
[    1.320193] RPC: Registered named UNIX socket transport module.
[    1.320380] RPC: Registered udp transport module.
[    1.320392] RPC: Registered tcp transport module.
[    1.320399] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    1.320418] PCI: CLS 0 bytes, default 64
[    1.321549] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available
[    1.322812] Initialise system trusted keyrings
[    1.323264] workingset: timestamp_bits=14 max_order=17 bucket_order=3
[    1.326869] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    1.327713] NFS: Registering the id_resolver key type
[    1.327777] Key type id_resolver registered
[    1.327786] Key type id_legacy registered
[    1.327881] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    1.327895] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[    1.327935] ntfs: driver 2.1.32 [Flags: R/O].
[    1.328571] Key type asymmetric registered
[    1.328592] Asymmetric key parser 'x509' registered
[    1.328642] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 244)
[    1.328654] io scheduler mq-deadline registered
[    1.328663] io scheduler kyber registered
[    1.595375] ti-sysc: probe of 44e31000.target-module failed with error -16
[    1.644255] ti-sysc: probe of 48040000.target-module failed with error -16
[    1.736155] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
[    1.859839] debugfs: Directory '49000000.dma' with parent 'dmaengine' already present!
[    1.859887] edma 49000000.dma: TI EDMA DMA engine driver
[    1.878878] pinctrl-single 44e10800.pinmux: 142 pins, size 568
[    1.883488] pwm-backlight backlight: GPIO lookup for consumer enable
[    1.883507] pwm-backlight backlight: using device tree for GPIO lookup
[    1.883539] of_get_named_gpiod_flags: can't parse 'enable-gpios' property of node '/backlight[0]'
[    1.883557] of_get_named_gpiod_flags: can't parse 'enable-gpio' property of node '/backlight[0]'
[    1.883571] pwm-backlight backlight: using lookup tables for GPIO lookup
[    1.883580] pwm-backlight backlight: No GPIO consumer enable found
[    1.883603] pwm-backlight backlight: supply power not found, using dummy regulator
[    1.885293] gpio-clk clk_mcasp0: GPIO lookup for consumer enable
[    1.885308] gpio-clk clk_mcasp0: using device tree for GPIO lookup
[    1.885332] gpio-clk clk_mcasp0: No GPIO consumer enable found
[    1.931903] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
[    1.936260] printk: console [ttyS0] disabled
[    1.936314] omap8250 44e09000.serial: GPIO lookup for consumer rs485-term
[    1.936322] omap8250 44e09000.serial: using device tree for GPIO lookup
[    1.936360] of_get_named_gpiod_flags: can't parse 'rs485-term-gpios' property of node '/ocp/interconnect@44c00000/segment@200000/target-module@9000/serial@0[0]'
[    1.936384] of_get_named_gpiod_flags: can't parse 'rs485-term-gpio' property of node '/ocp/interconnect@44c00000/segment@200000/target-module@9000/serial@0[0]'
[    1.936398] omap8250 44e09000.serial: using lookup tables for GPIO lookup
[    1.936406] omap8250 44e09000.serial: No GPIO consumer rs485-term found
[    1.936453] 44e09000.serial: ttyS0 at MMIO 0x44e09000 (irq = 20, base_baud = 3000000) is a 8250
[    2.606702] printk: console [ttyS0] enabled
[    2.614067] omap_rng 48310000.rng: Random Number Generator ver. 20
[    2.620582] random: crng init done
[    2.626050] tilcdc-panel panel: GPIO lookup for consumer enable
[    2.626065] tilcdc-panel panel: using device tree for GPIO lookup
[    2.626092] tilcdc-panel panel: No GPIO consumer enable found
[    2.626102] tilcdc-panel panel: failed to request enable GPIO
[    2.648615] brd: module loaded
[    2.658587] loop: module loaded
[    2.666643] mdio_bus fixed-0: GPIO lookup for consumer reset
[    2.666662] mdio_bus fixed-0: using lookup tables for GPIO lookup
[    2.666671] mdio_bus fixed-0: No GPIO consumer reset found
[    2.671962] mdio_bus 4a101000.mdio: GPIO lookup for consumer reset
[    2.671982] mdio_bus 4a101000.mdio: using device tree for GPIO lookup
[    2.672018] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/interconnect@4a000000/segment@0/target-module@100000/ethernet@0/mdio@1000[0]'
[    2.672042] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/interconnect@4a000000/segment@0/target-module@100000/ethernet@0/mdio@1000[0]'
[    2.672055] mdio_bus 4a101000.mdio: using lookup tables for GPIO lookup
[    2.672064] mdio_bus 4a101000.mdio: No GPIO consumer reset found
[    2.730253] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6, bus freq 1000000
[    2.739156] mdio_bus 4a101000.mdio:00: GPIO lookup for consumer reset
[    2.739170] mdio_bus 4a101000.mdio:00: using device tree for GPIO lookup
[    2.739211] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/interconnect@4a000000/segment@0/target-module@100000/ethernet@0/mdio@1000/ethernet-phy@0[0]'
[    2.739237] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/interconnect@4a000000/segment@0/target-module@100000/ethernet@0/mdio@1000/ethernet-phy@0[0]'
[    2.739247] mdio_bus 4a101000.mdio:00: using lookup tables for GPIO lookup
[    2.739256] mdio_bus 4a101000.mdio:00: No GPIO consumer reset found
[    2.740383] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver SMSC LAN8710/LAN8720
[    2.750137] cpsw 4a100000.ethernet: initialized cpsw ale version 1.4
[    2.756662] cpsw 4a100000.ethernet: ALE Table size 1024
[    2.762076] cpsw 4a100000.ethernet: cpts: overflow check period 500 (jiffies)
[    2.769313] cpsw 4a100000.ethernet: Detected MACID = e8:eb:11:25:65:08
[    2.778271] i2c /dev entries driver
[    2.784813] cpuidle: enable-method property 'ti,am3352' found operations
[    2.792414] sdhci: Secure Digital Host Controller Interface driver
[    2.798629] sdhci: Copyright(c) Pierre Ossman
[    2.804164] sdhci-pltfm: SDHCI platform and OF driver helper
[    2.811398] sdhci-omap 48060000.mmc: GPIO lookup for consumer cd
[    2.811413] sdhci-omap 48060000.mmc: using device tree for GPIO lookup
[    2.811438] sdhci-omap 48060000.mmc: No GPIO consumer cd found
[    2.811991] sdhci-omap 481d8000.mmc: GPIO lookup for consumer wp
[    2.812004] sdhci-omap 481d8000.mmc: using device tree for GPIO lookup
[    2.812041] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/interconnect@48000000/segment@100000/target-module@d8000/mmc@0[0]'
[    2.812063] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/interconnect@48000000/segment@100000/target-module@d8000/mmc@0[0]'
[    2.812074] sdhci-omap 481d8000.mmc: using lookup tables for GPIO lookup
[    2.812082] sdhci-omap 481d8000.mmc: No GPIO consumer wp found
[    2.812242] sdhci-omap 481d8000.mmc: supply vqmmc not found, using dummy regulator
[    2.821418] ledtrig-cpu: registered to indicate activity on CPUs
[    2.843705] davinci-mcasp 48038000.mcasp: IRQ common not found
[    2.861978] NET: Registered protocol family 10
[    2.867569] Segment Routing with IPv6
[    2.874682] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    2.881852] NET: Registered protocol family 17
[    2.886729] Key type dns_resolver registered
[    2.891869] omap_voltage_late_init: Voltage driver support not added
[    2.899170] Loading compiled-in X.509 certificates
[    2.910414] mmc1: SDHCI controller on 481d8000.mmc [481d8000.mmc] using External DMA
[    2.926048] gpio gpiochip0: (gpio-0-31): created GPIO range 0->7 ==> 44e10800.pinmux PIN 82->89
[    2.926195] gpio gpiochip0: (gpio-0-31): created GPIO range 8->11 ==> 44e10800.pinmux PIN 52->55
[    2.926211] gpio gpiochip0: (gpio-0-31): created GPIO range 12->15 ==> 44e10800.pinmux PIN 94->97
[    2.926223] gpio gpiochip0: (gpio-0-31): created GPIO range 16->17 ==> 44e10800.pinmux PIN 71->72
[    2.926235] gpio gpiochip0: (gpio-0-31): created GPIO range 18->18 ==> 44e10800.pinmux PIN 135->135
[    2.926252] gpio gpiochip0: (gpio-0-31): created GPIO range 19->20 ==> 44e10800.pinmux PIN 108->109
[    2.926265] gpio gpiochip0: (gpio-0-31): created GPIO range 21->21 ==> 44e10800.pinmux PIN 73->73
[    2.926277] gpio gpiochip0: (gpio-0-31): created GPIO range 22->23 ==> 44e10800.pinmux PIN 8->9
[    2.926289] gpio gpiochip0: (gpio-0-31): created GPIO range 26->27 ==> 44e10800.pinmux PIN 10->11
[    2.926301] gpio gpiochip0: (gpio-0-31): created GPIO range 28->28 ==> 44e10800.pinmux PIN 74->74
[    2.926313] gpio gpiochip0: (gpio-0-31): created GPIO range 29->29 ==> 44e10800.pinmux PIN 81->81
[    2.926326] gpio gpiochip0: (gpio-0-31): created GPIO range 30->31 ==> 44e10800.pinmux PIN 28->29
[    2.926748] gpio gpiochip0: (gpio-0-31): added GPIO chardev (254:0)
[    2.926857] gpio gpiochip0: registered GPIOs 0 to 31 on gpio-0-31
[    2.926914] OMAP GPIO hardware version 0.1
[    2.932633] i2c i2c-0: GPIO lookup for consumer scl
[    2.932650] i2c i2c-0: using device tree for GPIO lookup
[    2.932685] of_get_named_gpiod_flags: can't parse 'scl-gpios' property of node '/ocp/interconnect@44c00000/segment@200000/target-module@b000/i2c@0[0]'
[    2.932709] of_get_named_gpiod_flags: can't parse 'scl-gpio' property of node '/ocp/interconnect@44c00000/segment@200000/target-module@b000/i2c@0[0]'
[    2.932721] i2c i2c-0: using lookup tables for GPIO lookup
[    2.932729] i2c i2c-0: No GPIO consumer scl found
[    2.932748] i2c i2c-0: GPIO lookup for consumer sda
[    2.932754] i2c i2c-0: using device tree for GPIO lookup
[    2.932775] of_get_named_gpiod_flags: can't parse 'sda-gpios' property of node '/ocp/interconnect@44c00000/segment@200000/target-module@b000/i2c@0[0]'
[    2.932795] of_get_named_gpiod_flags: can't parse 'sda-gpio' property of node '/ocp/interconnect@44c00000/segment@200000/target-module@b000/i2c@0[0]'
[    2.932804] i2c i2c-0: using lookup tables for GPIO lookup
[    2.932811] i2c i2c-0: No GPIO consumer sda found
[    2.960795] tps65217-pmic: Failed to locate of_node [id: -1]
[    2.973001] tps65217-bl: Failed to locate of_node [id: -1]
[    2.981895] tps65217 0-0024: TPS65217 ID 0xe version 1.2
[    2.988726] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
[    2.995819] mmc1: new high speed MMC card at address 0001
[    3.001778] i2c i2c-1: GPIO lookup for consumer scl
[    3.001792] i2c i2c-1: using device tree for GPIO lookup
[    3.001825] of_get_named_gpiod_flags: can't parse 'scl-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@2a000/i2c@0[0]'
[    3.001847] of_get_named_gpiod_flags: can't parse 'scl-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@2a000/i2c@0[0]'
[    3.001861] i2c i2c-1: using lookup tables for GPIO lookup
[    3.001869] i2c i2c-1: No GPIO consumer scl found
[    3.001889] i2c i2c-1: GPIO lookup for consumer sda
[    3.001895] i2c i2c-1: using device tree for GPIO lookup
[    3.001916] of_get_named_gpiod_flags: can't parse 'sda-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@2a000/i2c@0[0]'
[    3.001936] of_get_named_gpiod_flags: can't parse 'sda-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@2a000/i2c@0[0]'
[    3.001945] i2c i2c-1: using lookup tables for GPIO lookup
[    3.001952] i2c i2c-1: No GPIO consumer sda found
[    3.002488] omap_i2c 4802a000.i2c: bus 1 rev0.11 at 100 kHz
[    3.008655] gpio gpiochip1: (gpio-32-63): created GPIO range 0->7 ==> 44e10800.pinmux PIN 0->7
[    3.008674] gpio gpiochip1: (gpio-32-63): created GPIO range 8->11 ==> 44e10800.pinmux PIN 90->93
[    3.008687] gpio gpiochip1: (gpio-32-63): created GPIO range 12->27 ==> 44e10800.pinmux PIN 12->27
[    3.008698] gpio gpiochip1: (gpio-32-63): created GPIO range 28->31 ==> 44e10800.pinmux PIN 30->33
[    3.009684] mmcblk1: mmc1:0001 M62704 3.56 GiB 
[    3.014450] gpio gpiochip1: (gpio-32-63): added GPIO chardev (254:1)
[    3.014550] gpio gpiochip1: registered GPIOs 32 to 63 on gpio-32-63
[    3.015576] mmcblk1boot0: mmc1:0001 M62704 partition 1 2.00 MiB
[    3.022097] i2c i2c-2: GPIO lookup for consumer scl
[    3.022109] i2c i2c-2: using device tree for GPIO lookup
[    3.022153] of_get_named_gpiod_flags: can't parse 'scl-gpios' property of node '/ocp/interconnect@48000000/segment@100000/target-module@9c000/i2c@0[0]'
[    3.022175] of_get_named_gpiod_flags: can't parse 'scl-gpio' property of node '/ocp/interconnect@48000000/segment@100000/target-module@9c000/i2c@0[0]'
[    3.022189] i2c i2c-2: using lookup tables for GPIO lookup
[    3.022197] i2c i2c-2: No GPIO consumer scl found
[    3.022217] i2c i2c-2: GPIO lookup for consumer sda
[    3.022223] i2c i2c-2: using device tree for GPIO lookup
[    3.022245] of_get_named_gpiod_flags: can't parse 'sda-gpios' property of node '/ocp/interconnect@48000000/segment@100000/target-module@9c000/i2c@0[0]'
[    3.022265] of_get_named_gpiod_flags: can't parse 'sda-gpio' property of node '/ocp/interconnect@48000000/segment@100000/target-module@9c000/i2c@0[0]'
[    3.022274] i2c i2c-2: using lookup tables for GPIO lookup
[    3.022280] i2c i2c-2: No GPIO consumer sda found
[    3.023217] omap_i2c 4819c000.i2c: bus 2 rev0.11 at 100 kHz
[    3.029338] gpio gpiochip2: (gpio-64-95): created GPIO range 0->17 ==> 44e10800.pinmux PIN 34->51
[    3.029358] gpio gpiochip2: (gpio-64-95): created GPIO range 18->21 ==> 44e10800.pinmux PIN 77->80
[    3.029370] gpio gpiochip2: (gpio-64-95): created GPIO range 22->31 ==> 44e10800.pinmux PIN 56->65
[    3.029945] mmcblk1boot1: mmc1:0001 M62704 partition 2 2.00 MiB
[    3.036048] gpio gpiochip2: (gpio-64-95): added GPIO chardev (254:2)
[    3.036149] gpio gpiochip2: registered GPIOs 64 to 95 on gpio-64-95
[    3.036552] gpio gpiochip3: (gpio-96-127): created GPIO range 0->4 ==> 44e10800.pinmux PIN 66->70
[    3.036568] gpio gpiochip3: (gpio-96-127): created GPIO range 5->6 ==> 44e10800.pinmux PIN 98->99
[    3.036580] gpio gpiochip3: (gpio-96-127): created GPIO range 7->8 ==> 44e10800.pinmux PIN 75->76
[    3.036591] gpio gpiochip3: (gpio-96-127): created GPIO range 13->13 ==> 44e10800.pinmux PIN 141->141
[    3.036603] gpio gpiochip3: (gpio-96-127): created GPIO range 14->21 ==> 44e10800.pinmux PIN 100->107
[    3.036856] gpio gpiochip3: (gpio-96-127): added GPIO chardev (254:3)
[    3.036937] gpio gpiochip3: registered GPIOs 96 to 127 on gpio-96-127
[    3.040564] gpio-clk clk_mcasp0: GPIO lookup for consumer enable
[    3.040583] gpio-clk clk_mcasp0: using device tree for GPIO lookup
[    3.040625] of_get_named_gpiod_flags: parsed 'enable-gpios' property of node '/clk_mcasp0[0]' - status (0)
[    3.040650] gpio gpiochip1: Persistence not supported for GPIO 27
[    3.041455] tilcdc-panel panel: GPIO lookup for consumer enable
[    3.041470] tilcdc-panel panel: using device tree for GPIO lookup
[    3.041508] of_get_named_gpiod_flags: parsed 'enable-gpios' property of node '/panel[0]' - status (0)
[    3.041527] gpio gpiochip3: Persistence not supported for GPIO 19
[    3.041541] tilcdc-panel panel: found enable GPIO
[    3.047087] mmcblk1rpmb: mmc1:0001 M62704 partition 3 512 KiB, chardev (243:0)
[    3.056877] sdhci-omap 48060000.mmc: GPIO lookup for consumer cd
[    3.056897] sdhci-omap 48060000.mmc: using device tree for GPIO lookup
[    3.056958] of_get_named_gpiod_flags: parsed 'cd-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@60000/mmc@0[0]' - status (0)
[    3.057037] gpio gpiochip0: Persistence not supported for GPIO 6
[    3.057056] omap_gpio 44e07000.gpio: Could not set line 6 debounce to 200000 microseconds (-22)
[    3.066518] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds/led2[0]' - status (0)
[    3.066542] gpio gpiochip1: Persistence not supported for GPIO 21
[    3.066549] gpio-53 (?): no flags found for gpios
[    3.066777] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds/led3[0]' - status (0)
[    3.066793] gpio gpiochip1: Persistence not supported for GPIO 22
[    3.066799] gpio-54 (?): no flags found for gpios
[    3.066896] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds/led4[0]' - status (0)
[    3.066908] gpio gpiochip1: Persistence not supported for GPIO 23
[    3.066914] gpio-55 (?): no flags found for gpios
[    3.067021] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds/led5[0]' - status (0)
[    3.067033] gpio gpiochip1: Persistence not supported for GPIO 24
[    3.067039] gpio-56 (?): no flags found for gpios
[    3.067468] pinctrl-single 44e10800.pinmux: pin PIN40 already requested by panel; cannot claim for 0-0070
[    3.077201] sdhci-omap 48060000.mmc: Got CD GPIO
[    3.081880] pinctrl-single 44e10800.pinmux: pin-40 (0-0070) status -22
[    3.088439] pinctrl-single 44e10800.pinmux: could not request pin 40 (PIN40) from group nxp_hdmi_bonelt_pins  on device pinctrl-single
[    3.100601] sdhci-omap 48060000.mmc: GPIO lookup for consumer wp
[    3.100609] sdhci-omap 48060000.mmc: using device tree for GPIO lookup
[    3.100641] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@60000/mmc@0[0]'
[    3.100663] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@60000/mmc@0[0]'
[    3.100675] sdhci-omap 48060000.mmc: using lookup tables for GPIO lookup
[    3.100684] sdhci-omap 48060000.mmc: No GPIO consumer wp found
[    3.100863] sdhci-omap 48060000.mmc: supply vqmmc not found, using dummy regulator
[    3.120256] tda998x 0-0070: Error applying setting, reverse things back
[    3.126944] tda998x: probe of 0-0070 failed with error -22
[    3.148691] ALSA device list:
[    3.152305]   No soundcards found.
[    3.172153]  mmcblk1: p1 p2 p3
[    3.216856] mmc0: SDHCI controller on 48060000.mmc [48060000.mmc] using External DMA
[    3.263112] EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Opts: (null)
[    3.274395] VFS: Mounted root (ext4 filesystem) on device 179:2.
[    3.282551] devtmpfs: mounted
[    3.287097] Freeing unused kernel memory: 1024K
[    3.310754] Run /sbin/init as init process
[    3.314872]   with arguments:
[    3.314877]     /sbin/init
[    3.314881]     splash
[    3.314885]   with environment:
[    3.314890]     HOME=/
[    3.314893]     TERM=linux
[    3.511986] systemd[1]: System time before build time, advancing clock.
[    3.539630] systemd[1]: systemd 244.5+ 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)
[    3.562210] systemd[1]: Detected architecture arm.
[    3.611598] systemd[1]: Set hostname to <beaglebone>.
[    4.318428] systemd[1]: system-getty.slice: unit configures an IP firewall, but the local system does not support BPF/cgroup firewalling.
[    4.331134] systemd[1]: (This warning is only shown for the first unit using IP firewalling.)
[    4.344078] systemd[1]: Created slice system-getty.slice.
[    4.382991] systemd[1]: Created slice system-serial\x2dgetty.slice.
[    4.425037] systemd[1]: Created slice User and Session Slice.
[    4.461207] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
[    4.501771] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[    4.542022] systemd[1]: Reached target Paths.
[    4.580719] systemd[1]: Reached target Remote File Systems.
[    4.621044] systemd[1]: Reached target Slices.
[    4.661119] systemd[1]: Reached target Swap.
[    4.708018] systemd[1]: Listening on RPCbind Server Activation Socket.
[    4.751097] systemd[1]: Reached target RPC Port Mapper.
[    4.794648] systemd[1]: Listening on Syslog Socket.
[    4.832145] systemd[1]: Listening on initctl Compatibility Named Pipe.
[    4.904953] systemd[1]: Condition check resulted in Journal Audit Socket being skipped.
[    4.914573] systemd[1]: Listening on Journal Socket (/dev/log).
[    4.954787] systemd[1]: Listening on Journal Socket.
[    4.992153] systemd[1]: Listening on Network Service Netlink Socket.
[    5.033134] systemd[1]: Listening on udev Control Socket.
[    5.072241] systemd[1]: Listening on udev Kernel Socket.
[    5.111762] systemd[1]: Condition check resulted in Huge Pages File System being skipped.
[    5.128819] systemd[1]: Mounting POSIX Message Queue File System...
[    5.176784] systemd[1]: Mounting Kernel Debug File System...
[    5.230571] systemd[1]: Mounting Temporary Directory (/tmp)...
[    5.257713] systemd[1]: Starting Create list of static device nodes for the current kernel...
[    5.318133] systemd[1]: Starting Start psplash boot splash screen...
[    5.379162] systemd[1]: Starting RPC Bind...
[    5.420903] systemd[1]: Condition check resulted in File System Check on Root Device being skipped.
[    5.445562] systemd[1]: Starting Journal Service...
[    5.493683] systemd[1]: Condition check resulted in Load Kernel Modules being skipped.
[    5.511310] systemd[1]: Condition check resulted in FUSE Control File System being skipped.
[    5.543996] systemd[1]: Mounting Kernel Configuration File System...
[    5.606458] systemd[1]: Starting Remount Root and Kernel File Systems...
[    5.676608] systemd[1]: Starting Apply Kernel Variables...
[    5.725576] EXT4-fs (mmcblk1p2): re-mounted. Opts: (null)
[    5.776761] systemd[1]: Starting udev Coldplug all Devices...
[    5.865209] systemd[1]: Started RPC Bind.
[    5.878205] systemd[1]: Mounted POSIX Message Queue File System.
[    5.941698] systemd[1]: Mounted Kernel Debug File System.
[    5.971643] systemd[1]: Mounted Temporary Directory (/tmp).
[    6.011670] systemd[1]: Started Journal Service.
[    6.371045] systemd-journald[92]: Received client request to flush runtime journal.
[    8.456691] remoteproc remoteproc0: wkup_m3 is available
[    8.600696] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
[    8.612253] omap_rtc 44e3e000.rtc: already running
[    8.714701] omap_rtc 44e3e000.rtc: char device (252:0)
[    8.714742] omap_rtc 44e3e000.rtc: registered as rtc0
[    8.719885] omap_rtc 44e3e000.rtc: setting system clock to 2000-01-01T00:05:17 UTC (946685117)
[    8.891821] omap_rtc 44e3e000.rtc: GPIO lookup for consumer wp
[    8.891843] omap_rtc 44e3e000.rtc: using device tree for GPIO lookup
[    8.891892] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/interconnect@44c00000/segment@200000/target-module@3e000/rtc@0[0]'
[    8.891915] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/interconnect@44c00000/segment@200000/target-module@3e000/rtc@0[0]'
[    8.891930] omap_rtc 44e3e000.rtc: using lookup tables for GPIO lookup
[    8.891939] omap_rtc 44e3e000.rtc: No GPIO consumer wp found
[    8.910401] remoteproc remoteproc0: powering up wkup_m3
[    8.927247] at24 0-0050: supply vcc not found, using dummy regulator
[    8.968983] remoteproc remoteproc0: Direct firmware load for am335x-pm-firmware.elf failed with error -2
[    9.031934] at24 0-0050: GPIO lookup for consumer wp
[    9.031956] at24 0-0050: using device tree for GPIO lookup
[    9.032003] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/interconnect@44c00000/segment@200000/target-module@b000/i2c@0/baseboard_eeprom@50[0]'
[    9.032028] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/interconnect@44c00000/segment@200000/target-module@b000/i2c@0/baseboard_eeprom@50[0]'
[    9.032044] at24 0-0050: using lookup tables for GPIO lookup
[    9.032053] at24 0-0050: No GPIO consumer wp found
[    9.034376] at24 0-0050: 32768 byte 24c256 EEPROM, writable, 1 bytes/write
[    9.070616] remoteproc remoteproc0: request_firmware failed: -2
[    9.076593] wkup_m3_ipc 44e11324.wkup_m3_ipc: rproc_boot failed
[    9.115797] at24 2-0054: supply vcc not found, using dummy regulator
[    9.174344] at24 2-0054: GPIO lookup for consumer wp
[    9.174364] at24 2-0054: using device tree for GPIO lookup
[    9.174409] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/interconnect@48000000/segment@100000/target-module@9c000/i2c@0/cape_eeprom0@54[0]'
[    9.174433] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/interconnect@48000000/segment@100000/target-module@9c000/i2c@0/cape_eeprom0@54[0]'
[    9.174447] at24 2-0054: using lookup tables for GPIO lookup
[    9.174456] at24 2-0054: No GPIO consumer wp found
[    9.209145] at24 2-0055: supply vcc not found, using dummy regulator
[    9.281679] at24 2-0055: GPIO lookup for consumer wp
[    9.281700] at24 2-0055: using device tree for GPIO lookup
[    9.281752] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/interconnect@48000000/segment@100000/target-module@9c000/i2c@0/cape_eeprom1@55[0]'
[    9.281778] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/interconnect@48000000/segment@100000/target-module@9c000/i2c@0/cape_eeprom1@55[0]'
[    9.281794] at24 2-0055: using lookup tables for GPIO lookup
[    9.281803] at24 2-0055: No GPIO consumer wp found
[    9.314189] at24 2-0056: supply vcc not found, using dummy regulator
[    9.368589] am335x-phy-driver 47401300.usb-phy: GPIO lookup for consumer reset
[    9.368612] am335x-phy-driver 47401300.usb-phy: using device tree for GPIO lookup
[    9.368658] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/target-module@47400000/usb-phy@1300[0]'
[    9.368680] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/target-module@47400000/usb-phy@1300[0]'
[    9.368693] am335x-phy-driver 47401300.usb-phy: using lookup tables for GPIO lookup
[    9.368702] am335x-phy-driver 47401300.usb-phy: No GPIO consumer reset found
[    9.368710] am335x-phy-driver 47401300.usb-phy: GPIO lookup for consumer vbus-detect
[    9.368717] am335x-phy-driver 47401300.usb-phy: using device tree for GPIO lookup
[    9.368737] of_get_named_gpiod_flags: can't parse 'vbus-detect-gpios' property of node '/ocp/target-module@47400000/usb-phy@1300[0]'
[    9.368755] of_get_named_gpiod_flags: can't parse 'vbus-detect-gpio' property of node '/ocp/target-module@47400000/usb-phy@1300[0]'
[    9.368764] am335x-phy-driver 47401300.usb-phy: using lookup tables for GPIO lookup
[    9.368771] am335x-phy-driver 47401300.usb-phy: No GPIO consumer vbus-detect found
[    9.368890] am335x-phy-driver 47401300.usb-phy: supply vcc not found, using dummy regulator
[    9.410737] at24 2-0056: GPIO lookup for consumer wp
[    9.410756] at24 2-0056: using device tree for GPIO lookup
[    9.410799] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/interconnect@48000000/segment@100000/target-module@9c000/i2c@0/cape_eeprom2@56[0]'
[    9.410824] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/interconnect@48000000/segment@100000/target-module@9c000/i2c@0/cape_eeprom2@56[0]'
[    9.410839] at24 2-0056: using lookup tables for GPIO lookup
[    9.410847] at24 2-0056: No GPIO consumer wp found
[    9.428806] usbcore: registered new interface driver usbfs
[    9.451844] at24 2-0057: supply vcc not found, using dummy regulator
[    9.458519] at24 2-0057: GPIO lookup for consumer wp
[    9.458529] at24 2-0057: using device tree for GPIO lookup
[    9.458569] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/interconnect@48000000/segment@100000/target-module@9c000/i2c@0/cape_eeprom3@57[0]'
[    9.458594] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/interconnect@48000000/segment@100000/target-module@9c000/i2c@0/cape_eeprom3@57[0]'
[    9.458608] at24 2-0057: using lookup tables for GPIO lookup
[    9.458616] at24 2-0057: No GPIO consumer wp found
[    9.470733] am335x-phy-driver 47401300.usb-phy: dummy supplies not allowed for exclusive requests
[    9.520562] at24 2-0057: 32768 byte 24c256 EEPROM, writable, 1 bytes/write
[    9.530796] usbcore: registered new interface driver hub
[    9.536231] usbcore: registered new device driver usb
[    9.580149] am335x-phy-driver 47401b00.usb-phy: GPIO lookup for consumer reset
[    9.580174] am335x-phy-driver 47401b00.usb-phy: using device tree for GPIO lookup
[    9.580216] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/target-module@47400000/usb-phy@1b00[0]'
[    9.587028] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/target-module@47400000/usb-phy@1b00[0]'
[    9.587052] am335x-phy-driver 47401b00.usb-phy: using lookup tables for GPIO lookup
[    9.587061] am335x-phy-driver 47401b00.usb-phy: No GPIO consumer reset found
[    9.587071] am335x-phy-driver 47401b00.usb-phy: GPIO lookup for consumer vbus-detect
[    9.587078] am335x-phy-driver 47401b00.usb-phy: using device tree for GPIO lookup
[    9.587099] of_get_named_gpiod_flags: can't parse 'vbus-detect-gpios' property of node '/ocp/target-module@47400000/usb-phy@1b00[0]'
[    9.587118] of_get_named_gpiod_flags: can't parse 'vbus-detect-gpio' property of node '/ocp/target-module@47400000/usb-phy@1b00[0]'
[    9.587127] am335x-phy-driver 47401b00.usb-phy: using lookup tables for GPIO lookup
[    9.587134] am335x-phy-driver 47401b00.usb-phy: No GPIO consumer vbus-detect found
[    9.587265] am335x-phy-driver 47401b00.usb-phy: supply vcc not found, using dummy regulator
[    9.695005] am335x-phy-driver 47401b00.usb-phy: dummy supplies not allowed for exclusive requests
[    9.824635] musb-hdrc musb-hdrc.1: MUSB HDRC host driver
[    9.830036] musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 1
[   10.030609] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.10
[   10.038956] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.165182] usb usb1: Product: MUSB HDRC host driver
[   10.170195] usb usb1: Manufacturer: Linux 5.10.145-g9b11aaf2cd musb-hcd
[   10.322899] usb usb1: SerialNumber: musb-hdrc.1
[   10.401354] hub 1-0:1.0: USB hub found
[   10.470422] hub 1-0:1.0: 1 port detected
[   10.661317] PM: Cannot get wkup_m3_ipc handle
[   10.712635] pvrsrvkm: loading out-of-tree module taints kernel.
[   10.772222] omap-sham 53100000.sham: hw accel on OMAP rev 4.3
[   10.787772] omap-aes 53500000.aes: OMAP AES hw accel rev: 3.2
[   10.870454] omap-sham 53100000.sham: will run requests pump with realtime priority
[   10.890770] omap-aes 53500000.aes: will run requests pump with realtime priority
[   10.983313] PM: Cannot get wkup_m3_ipc handle
[   11.022477] [drm] Initialized pvr 1.17.4948957 20110701 for 56000000.gpu on minor 0
[   11.081217] PM: Cannot get wkup_m3_ipc handle
[   11.187292] cpsw 4a100000.ethernet: initializing cpsw version 1.12 (0)
[   11.332082] SMSC LAN8710/LAN8720 4a101000.mdio:00: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=4a101000.mdio:00, irq=POLL)
[   13.865264] PM: Cannot get wkup_m3_ipc handle
[   13.903489] remoteproc remoteproc1: 4a334000.pru is available
[   13.967289] PM: Cannot get wkup_m3_ipc handle
[   13.972638] remoteproc remoteproc2: 4a338000.pru is available
[   14.001758] PM: Cannot get wkup_m3_ipc handle
[   15.795701] FAT-fs (mmcblk1p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[   18.258780] PVR_K: UM DDK-(4948957) and KM DDK-(4948957) match. [ OK ]
[   18.599099] Bluetooth: Core ver 2.22
[   18.680826] NET: Registered protocol family 31
[   18.685366] Bluetooth: HCI device and connection manager initialized
[   18.740561] Bluetooth: HCI socket layer initialized
[   18.774224] Bluetooth: L2CAP socket layer initialized
[   18.815354] Bluetooth: SCO socket layer initialized
[   19.992068] EXT4-fs (mmcblk1p3): mounted filesystem with ordered data mode. Opts: (null)

For reference, the version of kernel I am building (in a recipe provided by my own layer, based heavily on kirkstone’s bb.org linux layer) is 9b11aaf2cd. On top of this I am also using the BB-BONE-4D4C-01-00A1.dts overlay provided by the BeagleBoard-DeviceTrees repo, specifically fab7ca900247d3e9041cf526ea2c1fe284309987.

My guess is that something about my kernel configuration + the overlay results in a failure for the touchscreen to be recognized as a DRM device. Weston logs:

Date: 2020-09-20 UTC
[10:44:00.084] weston 8.0.0
               https://wayland.freedesktop.org
               Bug reports to: https://gitlab.freedesktop.org/wayland/weston/issues/
               Build: 8.0.0
[10:44:00.084] Command line: /usr/bin/weston --log=/var/log/weston.log
[10:44:00.085] OS: Linux, 5.10.145-g9b11aaf2cd, #1 PREEMPT Mon Dec 19 21:56:12 UTC 2022, armv7l
[10:44:00.128] Using config file '/etc/xdg/weston/weston.ini'
[10:44:00.135] Output repaint window is 7 ms maximum.
[10:44:00.146] Loading module '/usr/lib/libweston-8/drm-backend.so'
[10:44:00.193] initializing drm backend
[10:44:00.226] logind: not running in a systemd session
[10:44:00.226] logind: cannot setup systemd-logind helper (-61), using legacy fallback
[10:44:00.245] no drm device found
[10:44:00.245] fatal: failed to create compositor backend

Any help would be appreciated!

Thanks,

  • Danny

Not sure what your issue is, but looking through the boot log you have a lot of
of_get_named_gpiod_flags: can’t parse messages comming up, which would indicate you have issues with your device tree.

Are you only driving a 480x272 pixel display ? Would have thought a simple framebuffer application at that resolution would be a better option than trying to use Wayland or X11.

Thanks for your response!

which would indicate you have issues with your device tree.

Yeah, I was worried this was the case; I’m glad that I have a direction to start poking in though. The strange thing is that I am using the same revision of the bb.org kernel, and the device trees repo, as I was on my kirkstone branch (which does render things to the display, and whose dmesg logs have promising entries that lead me to believe the kernel is picking up the display using tilcdc + drm.

Sounds like I am making too many assumptions about the differences between the “peripheral” recipe instructions kirkstone and dunfell end up using in their kernel configuration + compilation; there is definitely a diff in kernel.bbclass for example.

My next plan is probably to decompile the binary overlays produced by my two builds (kirkstone/dunfell) and see if they’re different. If they are, I assume I should start investigating what versions of the device tree compiler they’re using. If the binary trees of my two builds are the same, I think that would indicate that the kernel is being compiled with different configurations where the same overlay binary is being handled differently. Does that sound about right?

As a footnote, it also seems I might not even need to use a separate recipe for the overlay trees since it looks like the kernel repo has them. I’ll take a few passes at using the overlays from the kernel repo too.

Would have thought a simple framebuffer application at that resolution would be a better option than trying to use Wayland or X11.

You’re right about the resolution, and I would love if I could reduce the surface of complexity here by getting rid of wayland/x11! I am not really sure how to do that; it was my understanding that:

  1. the x11/wayland layer is how my application would receive the windowing events like touches, drags, etc…
  2. imgui relies on freeGLUT under the hood, which is responsible for setting up the windowing context.

Thanks again for your response! I’ve been pouring hours into this over the past weeks and it has been a game of inches and standstills when in comes to progress. The last week or so has been a complete standstill :frowning:, so it is refreshing to have someone else weigh in.

Your display issues may not be caused by the device tree, but should probably be fixed, or the offending parts disabled if not needed.

Last time I did an embedded project with the BBB I used Qt and a framebuffer backend. I tried using the opengl-es hardware driver, but it would lock up or reset(20 years ago). In the end the framebuffer was plenty fast enough 800x480 pixel display, with a simple gui.

I have also used LVGL on an imx6ul based board using the framebuffer. That worked quite well once I got into it.

I just cant get on with Yocto much prefer buildroot, and I think for a fixed single use product buildroot is the better option, but that is just my opinion and not necessarily right. It is best to use what you are familiar with.

You can read an input device yourself. It is not too hard to do. If you know C Google evtest. It is a small C program that can read an input device and print out the events. I found it quite interesting.

1 Like

I have also used LVGL on an imx6ul based board using the framebuffer. That worked quite well once I got into it.

Very nice! I’m actually somewhat familiar with LVGL; mostly in the context of rendering to ili9341 displays from an MCU board like the esp32 without an OS underneath. I hadn’t considered using it for this project but that is very tempting!

but should probably be fixed, or the offending parts disabled if not needed.

Yeah I definitely want to start here; getting the display picked up by the kernel as a valid drm/framebuffer device is top priority for me.

I just finished diff-ing the compiled overlay + base device trees from my “poor-performance-but-working” branch and the “non-working” branch and the only diff is the date at the top of the file, which is good!

diff from decompiled am335x-boneblack.dtb files:

13c13
<               base_dtb_timestamp = "Fri Mar 24 14:17:51 2023";
---
>               base_dtb_timestamp = "Tue Mar 28 19:10:08 2023";

diff from decompiled BB-BONE-4D4C-01-00A1.dtbo:

11c11
<                               BB-BONE-4D4C-01-00A1.kernel = "Wed Mar 22 19:38:49 2023";
---
>                               BB-BONE-4D4C-01-00A1.kernel = "Tue Mar 28 19:12:10 2023";


This leads me to believe it is what the kernel is doing with the device tree that is the problem. Is there any resources you could point me to where I could read up on what bits of the kernel would affect this behavior?

I’ve tried poking around in the defconfig files and toggling on/off things that I think (based on searching online resources) would affect it but feel like I am taking shots in the dark at the end of the day.

The am335x-boneblack.dtb assumes hdmi output in the device tree, switch to starting with the am335x-bonegreen.dtb then the lcd overlay should apply cleanly…

Regards,

am335x-bonegreen.dtb

Thanks Robert! (I know you had suggested this on the meta-ti mailing list a few weeks ago; I should’ve tried this from the get-go first, apologies).

It looks like using this device tree definitely solved some of the issues I was seeing.

The Good

I’m seeing what I think is good news from dmesg - DRM + PVR being used:

[drm] Initialized pvr 1.17.4948957 20110701 for 56000000.gpu on minor 1

I also see the linux kernel tux and yocto place screens rendered during boot.

The bad

It looks like weston is now unhappy with the display -

[10:44:01.214] DRM: head 'LVDS-1' found, connector 34 is connected, EDID make 'unknown', model 'unknown', serial 'unknown'
[10:44:01.214] Registered plugin API 'weston_drm_output_api_v1' of size 12
[10:44:01.215] format 0x34325258 not supported by output LVDS-1
[10:44:01.215] Failed to init output gl state
[10:44:01.215] Enabling output "LVDS-1" failed.
[10:44:01.215] Error: cannot enable output 'LVDS-1' without heads.

On the flip side, it seems like something in weston is able to see that the imagination technology drivers and GLES libraries are available -

[10:44:00.990] GL version: OpenGL ES 2.0 build 1.17@4948957
[10:44:00.991] GLSL version: OpenGL ES GLSL ES 1.00 build 1.17@4948957
[10:44:00.991] GL vendor: Imagination Technologies
[10:44:00.991] GL renderer: PowerVR SGX 530

I haven’t done much poking around to see what I should be doing as far as configuring weston; I am going to continue poking around to see if I can figure it out. I’m just documenting this journey here for posterity (and to see maybe if you have some hints too :slight_smile: ).


I’ve uploaded bootup, dmesg and weston logs to this gist, with a recording of what I am physically seeing in the comments:

Update! The log line

format 0x34325258 not supported by output LVDS-1

seemed pretty telling to me, so I tried switching the gbm-format value in my /etc/xdg/weston/weston.ini file and now I believe I am seeing the things!

[core]
gbm-format=rgb565


var/log/weston.log output:

[10:44:00.332] weston 8.0.0
               https://wayland.freedesktop.org
               Bug reports to: https://gitlab.freedesktop.org/wayland/weston/issues/
               Build: 8.0.0
[10:44:00.332] Command line: /usr/bin/weston --log=/var/log/weston.log
[10:44:00.333] OS: Linux, 5.10.145-g9b11aaf2cd, #1 PREEMPT Mon Dec 19 21:56:12 UTC 2022, armv7l
[10:44:00.372] Using config file '/etc/xdg/weston/weston.ini'
[10:44:00.373] Output repaint window is 7 ms maximum.
[10:44:00.376] Loading module '/usr/lib/libweston-8/drm-backend.so'
[10:44:00.407] initializing drm backend
[10:44:00.408] logind: not running in a systemd session
[10:44:00.409] logind: cannot setup systemd-logind helper (-61), using legacy fallback
[10:44:00.496] using /dev/dri/card0
[10:44:00.497] DRM: supports universal planes
[10:44:00.497] DRM: supports atomic modesetting
[10:44:00.497] DRM: supports picture aspect ratio
[10:44:00.503] Loading module '/usr/lib/libweston-8/gl-renderer.so'
[10:44:00.960] EGL client extensions: EGL_EXT_client_extensions
               EGL_EXT_device_base EGL_EXT_device_enumeration
               EGL_EXT_device_query EGL_EXT_platform_base
               EGL_KHR_client_get_all_proc_addresses EGL_KHR_debug
               EGL_EXT_platform_wayland EGL_MESA_platform_gbm
               EGL_MESA_platform_surfaceless
[10:44:00.964] EGL version: 1.5
[10:44:00.964] EGL vendor: Mesa Project
[10:44:00.964] EGL client APIs: OpenGL_ES 
[10:44:00.964] EGL extensions: EGL_EXT_buffer_age
               EGL_EXT_create_context_robustness EGL_EXT_image_dma_buf_import
               EGL_IMG_cl_image EGL_KHR_config_attribs EGL_KHR_create_context
               EGL_KHR_fence_sync EGL_KHR_get_all_proc_addresses
               EGL_KHR_gl_renderbuffer_image EGL_KHR_gl_texture_2D_image
               EGL_KHR_gl_texture_cubemap_image EGL_KHR_image
               EGL_KHR_image_base EGL_KHR_image_pixmap
               EGL_KHR_no_config_context EGL_KHR_reusable_sync
               EGL_KHR_surfaceless_context EGL_EXT_pixel_format_float
               EGL_KHR_wait_sync EGL_MESA_configless_context
               EGL_MESA_drm_image EGL_WL_bind_wayland_display
[10:44:00.964] warning: Disabling render GPU timeline and explicit synchronization due to missing EGL_ANDROID_native_fence_sync extension
[10:44:00.964] EGL_KHR_surfaceless_context available
[10:44:01.041] GL version: OpenGL ES 2.0 build 1.17@4948957
[10:44:01.041] GLSL version: OpenGL ES GLSL ES 1.00 build 1.17@4948957
[10:44:01.041] GL vendor: Imagination Technologies
[10:44:01.041] GL renderer: PowerVR SGX 530
[10:44:01.041] GL extensions: GL_OES_compressed_ETC1_RGB8_texture
               GL_OES_depth24 GL_OES_depth_texture GL_OES_egl_sync
               GL_OES_element_index_uint GL_OES_EGL_image
               GL_OES_EGL_image_external GL_OES_fbo_render_mipmap
               GL_OES_fragment_precision_high GL_OES_get_program_binary
               GL_OES_mapbuffer GL_OES_packed_depth_stencil
               GL_OES_required_internalformat GL_OES_rgb8_rgba8
               GL_OES_standard_derivatives GL_OES_surfaceless_context
               GL_OES_texture_float GL_OES_texture_half_float
               GL_OES_vertex_array_object GL_OES_vertex_half_float
               GL_EXT_blend_minmax GL_EXT_discard_framebuffer
               GL_EXT_multi_draw_arrays GL_EXT_multisampled_render_to_texture
               GL_EXT_shader_texture_lod GL_EXT_texture_format_BGRA8888
               GL_EXT_texture_rg GL_IMG_multisampled_render_to_texture
               GL_IMG_program_binary GL_IMG_read_format GL_IMG_shader_binary
               GL_IMG_texture_compression_pvrtc GL_IMG_texture_format_BGRA8888
               GL_IMG_texture_npot GL_IMG_uniform_buffer_object GL_KHR_debug
               GL_EXT_texture_storage
[10:44:01.041] GL ES 2 renderer features:
               read-back format: RGBA
               wl_shm sub-image to texture: no
               EGL Wayland extension: yes
[10:44:01.251] warning: no input devices found, but none required as per configuration.
[10:44:01.252] DRM: head 'LVDS-1' found, connector 34 is connected, EDID make 'unknown', model 'unknown', serial 'unknown'
[10:44:01.253] Registered plugin API 'weston_drm_output_api_v1' of size 12
[10:44:01.253] Chosen EGL config details: id:   9 rgba: 5 6 5 0 buf: 16 dep:  0 stcl: 0 int: 1-1 type: win vis_id: RGB565 (0x36314752)
[10:44:01.253] Output LVDS-1 (crtc 32) video modes:
               480x272@55.7, preferred, current, 9.2 MHz
[10:44:01.254] Output 'LVDS-1' enabled with head(s) LVDS-1
[10:44:01.254] Compositor capabilities:
               arbitrary surface rotation: yes
               screen capture uses y-flip: yes
               presentation clock: CLOCK_MONOTONIC, id 1
               presentation clock resolution: 0.000000001 s
[10:44:01.280] Loading module '/usr/lib/weston/desktop-shell.so'
[10:44:01.308] launching '/usr/libexec/weston-keyboard'
[10:44:01.322] launching '/usr/libexec/weston-desktop-shell'

Now its time to verify that the touch screen is working as whatever kind of event source weston is comfortable with. Right now I am assuming I have more configuration problems - I have no /dev/input related things, and the line

[10:44:01.251] warning: no input devices found, but none required as per configuration.

is troubling.

Still digging into this; it looks like my kernel is having trouble communicating with the touchscreen to get the touch events over i2c.

for reference:

  1. kernel version @ 982fde4 (taken from current meta-ti kernel recipe here)
  2. overlay versions @ fab7ca9 (specifically, BB-BONE-4D4C-01-00A1.dts)
  3. ti-u-boot-staging @ 3a5205e

The most notable logs from dmesg are showing me:

[    3.013350] edt_ft5x06 1-0038: touchscreen probe failed
[    3.018874] edt_ft5x06: probe of 1-0038 failed with error -121

To try debugging this some more, I added CONFIG_I2C_DEBUG_CORE to my kernel config fragment, which now lets me see:

[    2.976410] i2c i2c-1: This adapter dropped support for I2C classes and won't auto-detect ics932s401 devices anymore. If you need it, check 'Documentation/i2c/instantiating-devices.rst' for alternatives.
[    2.976425] i2c i2c-1: This adapter dropped support for I2C classes and won't auto-detect lm90 devices anymore. If you need it, check 'Documentation/i2c/instantiating-devices.rst' for alternatives.
[    2.976433] i2c i2c-1: This adapter dropped support for I2C classes and won't auto-detect lm95245 devices anymore. If you need it, check 'Documentation/i2c/instantiating-devices.rst' for alternatives.

Would anyone know what might be the cause of this based on the kernel and overlay versions I’m using?

I am successfully seeing the weston terminal displaying on the touchscreen, AND a wireless mouse is picked up and I can move the cursor around, so it seems like the last mile here is only the touch screen!


Full dmesg output

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 5.10.162-g982fde4eb3 (oe-user@oe-host) (arm-poky-linux-gnueabi-gcc (GCC) 9.5.0, GNU ld (GNU Binutils) 2.34.0.20200910) #1 PREEMPT Fri Apr 7 00:25:14 UTC 2023
[    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt: Machine model: TI AM335x BeagleBone Green
[    0.000000] Memory policy: Data cache writeback
[    0.000000] efi: UEFI not found.
[    0.000000] cma: Failed to reserve 512 MiB
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000080000000-0x000000009fdfffff]
[    0.000000]   HighMem  empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000080000000-0x000000009fdfffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x000000009fdfffff]
[    0.000000] On node 0 totalpages: 130560
[    0.000000]   Normal zone: 1148 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 130560 pages, LIFO batch:31
[    0.000000] CPU: All CPU(s) started in SVC mode.
[    0.000000] AM335X ES2.1 (sgx neon)
[    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: 129412
[    0.000000] Kernel command line: rootfstype=ext4 console=ttyS0,115200n8 rootwait rw video=480x272 splash root=/dev/mmcblk1p2 rauc.slot=A
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 500344K/522240K available (10240K kernel code, 761K rwdata, 3584K rodata, 1024K init, 416K bss, 21896K reserved, 0K cma-reserved, 0K highmem)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu: 	RCU event tracing is enabled.
[    0.000000] 	Trampoline variant of Tasks RCU enabled.
[    0.000000] 	Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] IRQ: Found an INTC at 0x(ptrval) (revision 5.0) with 128 interrupts
[    0.000000] TI gptimer clocksource: always-on /ocp/interconnect@44c00000/segment@200000/target-module@31000
[    0.000010] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[    0.000028] clocksource: dmtimer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[    0.000405] TI gptimer clockevent: 24000000 Hz at /ocp/interconnect@48000000/segment@0/target-module@40000
[    0.001747] Console: colour dummy device 80x30
[    0.001829] Calibrating delay loop... 996.14 BogoMIPS (lpj=4980736)
[    0.090481] pid_max: default: 32768 minimum: 301
[    0.090649] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.090665] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.091526] CPU: Testing write buffer coherency: ok
[    0.091603] CPU0: Spectre v2: using BPIALL workaround
[    0.092639] Setting up static identity map for 0x80100000 - 0x80100060
[    0.092792] rcu: Hierarchical SRCU implementation.
[    0.092890] EFI services will not be available.
[    0.093300] devtmpfs: initialized
[    0.105475] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
[    0.133684] DMA-API: preallocated 65536 debug entries
[    0.133717] DMA-API: debugging enabled by kernel config
[    0.133743] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.133770] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[    0.133981] pinctrl core: initialized pinctrl subsystem
[    0.134908] DMI not present or invalid.
[    0.135642] NET: Registered protocol family 16
[    0.136346] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.154430] l3-aon-clkctrl:0000:0: failed to disable
[    0.155649] i2c-core: driver [dummy] registered
[    0.155670] thermal_sys: Registered thermal governor 'fair_share'
[    0.155676] thermal_sys: Registered thermal governor 'bang_bang'
[    0.155688] thermal_sys: Registered thermal governor 'step_wise'
[    0.155695] thermal_sys: Registered thermal governor 'user_space'
[    0.156326] cpuidle: using governor ladder
[    0.156372] cpuidle: using governor menu
[    1.221392] No ATAGs?
[    1.221421] hw-breakpoint: debug architecture 0x4 unsupported.
[    1.245365] i2c-core: driver [pca953x] registered
[    1.245407] i2c-core: driver [pcf857x] registered
[    1.246511] reg-fixed-voltage fixedregulator0: GPIO lookup for consumer (null)
[    1.246523] reg-fixed-voltage fixedregulator0: using device tree for GPIO lookup
[    1.246555] of_get_named_gpiod_flags: can't parse 'gpios' property of node '/fixedregulator0[0]'
[    1.246572] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/fixedregulator0[0]'
[    1.246583] reg-fixed-voltage fixedregulator0: using lookup tables for GPIO lookup
[    1.246591] reg-fixed-voltage fixedregulator0: No GPIO consumer (null) found
[    1.247359] i2c-core: driver [tps62360] registered
[    1.247390] i2c-core: driver [tps65023] registered
[    1.247616] iommu: Default domain type: Translated 
[    1.249327] i2c-core: driver [act8945a] registered
[    1.249377] i2c-core: driver [tps65217] registered
[    1.249406] i2c-core: driver [tps65910] registered
[    1.249430] i2c-core: driver [tps6586x] registered
[    1.249452] i2c-core: driver [tps65090] registered
[    1.249476] i2c-core: driver [palmas] registered
[    1.249854] SCSI subsystem initialized
[    1.250319] mc: Linux media interface: v0.10
[    1.250361] videodev: Linux video capture interface: v2.00
[    1.250670] pps_core: LinuxPPS API ver. 1 registered
[    1.250685] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    1.250710] PTP clock support registered
[    1.251674] Advanced Linux Sound Architecture Driver Initialized.
[    1.253085] clocksource: Switched to clocksource dmtimer
[    1.260899] NET: Registered protocol family 2
[    1.261199] IP idents hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    1.262255] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[    1.262317] TCP established hash table entries: 4096 (order: 2, 16384 bytes, linear)
[    1.262361] TCP bind hash table entries: 4096 (order: 2, 16384 bytes, linear)
[    1.262400] TCP: Hash tables configured (established 4096 bind 4096)
[    1.262512] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[    1.262535] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[    1.262665] NET: Registered protocol family 1
[    1.263380] RPC: Registered named UNIX socket transport module.
[    1.263399] RPC: Registered udp transport module.
[    1.263406] RPC: Registered tcp transport module.
[    1.263412] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    1.263425] NET: Registered protocol family 44
[    1.263447] PCI: CLS 0 bytes, default 64
[    1.264458] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available
[    1.265697] Initialise system trusted keyrings
[    1.266076] workingset: timestamp_bits=14 max_order=17 bucket_order=3
[    1.269968] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    1.270815] NFS: Registering the id_resolver key type
[    1.270879] Key type id_resolver registered
[    1.270889] Key type id_legacy registered
[    1.270980] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    1.270992] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[    1.271032] ntfs: driver 2.1.32 [Flags: R/O].
[    1.271672] Key type asymmetric registered
[    1.271691] Asymmetric key parser 'x509' registered
[    1.271742] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 244)
[    1.271755] io scheduler mq-deadline registered
[    1.271763] io scheduler kyber registered
[    1.528285] ti-sysc: probe of 44e31000.target-module failed with error -16
[    1.574678] ti-sysc: probe of 48040000.target-module failed with error -16
[    1.662408] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
[    1.783631] debugfs: Directory '49000000.dma' with parent 'dmaengine' already present!
[    1.783678] edma 49000000.dma: TI EDMA DMA engine driver
[    1.802420] pinctrl-single 44e10800.pinmux: 142 pins, size 568
[    1.807082] pwm-backlight backlight: GPIO lookup for consumer enable
[    1.807100] pwm-backlight backlight: using device tree for GPIO lookup
[    1.807144] of_get_named_gpiod_flags: can't parse 'enable-gpios' property of node '/backlight[0]'
[    1.807162] of_get_named_gpiod_flags: can't parse 'enable-gpio' property of node '/backlight[0]'
[    1.807176] pwm-backlight backlight: using lookup tables for GPIO lookup
[    1.807184] pwm-backlight backlight: No GPIO consumer enable found
[    1.807208] pwm-backlight backlight: supply power not found, using dummy regulator
[    1.808407] i2c-core: driver [ssd1307fb] registered
[    1.855840] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
[    1.860241] printk: console [ttyS0] disabled
[    1.860293] omap8250 44e09000.serial: GPIO lookup for consumer rs485-term
[    1.860302] omap8250 44e09000.serial: using device tree for GPIO lookup
[    1.860342] of_get_named_gpiod_flags: can't parse 'rs485-term-gpios' property of node '/ocp/interconnect@44c00000/segment@200000/target-module@9000/serial@0[0]'
[    1.860364] of_get_named_gpiod_flags: can't parse 'rs485-term-gpio' property of node '/ocp/interconnect@44c00000/segment@200000/target-module@9000/serial@0[0]'
[    1.860378] omap8250 44e09000.serial: using lookup tables for GPIO lookup
[    1.860387] omap8250 44e09000.serial: No GPIO consumer rs485-term found
[    1.860433] 44e09000.serial: ttyS0 at MMIO 0x44e09000 (irq = 20, base_baud = 3000000) is a 8250
[    2.539847] printk: console [ttyS0] enabled
[    2.545855] omap8250 48024000.serial: GPIO lookup for consumer rs485-term
[    2.545871] omap8250 48024000.serial: using device tree for GPIO lookup
[    2.545908] of_get_named_gpiod_flags: can't parse 'rs485-term-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@24000/serial@0[0]'
[    2.545930] of_get_named_gpiod_flags: can't parse 'rs485-term-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@24000/serial@0[0]'
[    2.545943] omap8250 48024000.serial: using lookup tables for GPIO lookup
[    2.545951] omap8250 48024000.serial: No GPIO consumer rs485-term found
[    2.545995] 48024000.serial: ttyS2 at MMIO 0x48024000 (irq = 26, base_baud = 3000000) is a 8250
[    2.557927] omap_rng 48310000.rng: Random Number Generator ver. 20
[    2.564478] random: crng init done
[    2.569930] tilcdc-panel panel: GPIO lookup for consumer enable
[    2.569948] tilcdc-panel panel: using device tree for GPIO lookup
[    2.569976] tilcdc-panel panel: No GPIO consumer enable found
[    2.569985] tilcdc-panel panel: failed to request enable GPIO
[    2.576508] OF: graph: no port node found in /ocp/interconnect@48000000/segment@300000/target-module@e000/lcdc@0
[    2.587090] OF: graph: no port node found in /ocp/interconnect@48000000/segment@300000/target-module@e000/lcdc@0
[    2.597575] tilcdc 4830e000.lcdc: no encoders/connectors found
[    2.613466] i2c-core: driver [tda998x] registered
[    2.620043] i2c-core: driver [sii902x] registered
[    2.620073] i2c-core: driver [tc358767] registered
[    2.620098] i2c-core: driver [tc358768] registered
[    2.620137] i2c-core: driver [tfp410] registered
[    2.629626] brd: module loaded
[    2.639608] loop: module loaded
[    2.642890] i2c-core: driver [ad_dpot] registered
[    2.642918] i2c-core: driver [ics932s401] registered
[    2.642948] i2c-core: driver [apds9802als] registered
[    2.642973] i2c-core: driver [isl29003] registered
[    2.643711] i2c-core: driver [lp873x] registered
[    2.643747] i2c-core: driver [lp87565] registered
[    2.643788] i2c-core: driver [tps65218] registered
[    2.643814] i2c-core: driver [tps6594x] registered
[    2.643839] i2c-core: driver [twl6040] registered
[    2.643883] i2c-core: driver [stpmic1] registered
[    2.643907] i2c-core: driver [stmfx-core] registered
[    2.647929] mdio_bus fixed-0: GPIO lookup for consumer reset
[    2.647948] mdio_bus fixed-0: using lookup tables for GPIO lookup
[    2.647957] mdio_bus fixed-0: No GPIO consumer reset found
[    2.653003] mdio_bus 4a101000.mdio: GPIO lookup for consumer reset
[    2.653021] mdio_bus 4a101000.mdio: using device tree for GPIO lookup
[    2.653055] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/interconnect@4a000000/segment@0/target-module@100000/ethernet@0/mdio@1000[0]'
[    2.653254] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/interconnect@4a000000/segment@0/target-module@100000/ethernet@0/mdio@1000[0]'
[    2.653273] mdio_bus 4a101000.mdio: using lookup tables for GPIO lookup
[    2.653281] mdio_bus 4a101000.mdio: No GPIO consumer reset found
[    2.713110] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6, bus freq 1000000
[    2.721998] mdio_bus 4a101000.mdio:00: GPIO lookup for consumer reset
[    2.722011] mdio_bus 4a101000.mdio:00: using device tree for GPIO lookup
[    2.722052] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/interconnect@4a000000/segment@0/target-module@100000/ethernet@0/mdio@1000/ethernet-phy@0[0]'
[    2.722078] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/interconnect@4a000000/segment@0/target-module@100000/ethernet@0/mdio@1000/ethernet-phy@0[0]'
[    2.722089] mdio_bus 4a101000.mdio:00: using lookup tables for GPIO lookup
[    2.722097] mdio_bus 4a101000.mdio:00: No GPIO consumer reset found
[    2.723240] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver SMSC LAN8710/LAN8720
[    2.732967] cpsw 4a100000.ethernet: initialized cpsw ale version 1.4
[    2.739479] cpsw 4a100000.ethernet: ALE Table size 1024
[    2.744898] cpsw 4a100000.ethernet: cpts: overflow check period 500 (jiffies)
[    2.752141] cpsw 4a100000.ethernet: Detected MACID = b0:d5:cc:fb:60:3d
[    2.760745] i2c-core: driver [elan_i2c] registered
[    2.760882] i2c-core: driver [edt_ft5x06] registered
[    2.761351] i2c /dev entries driver
[    2.765287] i2c-core: driver [pca954x] registered
[    2.765504] i2c-core: driver [i2c-slave-eeprom] registered
[    2.765914] i2c-core: driver [sbs-battery] registered
[    2.766382] i2c-core: driver [lm90] registered
[    2.766409] i2c-core: driver [lm95245] registered
[    2.766442] i2c-core: driver [tmp102] registered
[    2.767880] cpuidle: enable-method property 'ti,am3352' found operations
[    2.775478] sdhci: Secure Digital Host Controller Interface driver
[    2.781691] sdhci: Copyright(c) Pierre Ossman
[    2.787176] sdhci-pltfm: SDHCI platform and OF driver helper
[    2.794410] sdhci-omap 48060000.mmc: GPIO lookup for consumer cd
[    2.794422] sdhci-omap 48060000.mmc: using device tree for GPIO lookup
[    2.794451] sdhci-omap 48060000.mmc: No GPIO consumer cd found
[    2.795006] sdhci-omap 481d8000.mmc: GPIO lookup for consumer cd
[    2.795017] sdhci-omap 481d8000.mmc: using device tree for GPIO lookup
[    2.795054] of_get_named_gpiod_flags: can't parse 'cd-gpios' property of node '/ocp/interconnect@48000000/segment@100000/target-module@d8000/mmc@0[0]'
[    2.795077] of_get_named_gpiod_flags: can't parse 'cd-gpio' property of node '/ocp/interconnect@48000000/segment@100000/target-module@d8000/mmc@0[0]'
[    2.795088] sdhci-omap 481d8000.mmc: using lookup tables for GPIO lookup
[    2.795095] sdhci-omap 481d8000.mmc: No GPIO consumer cd found
[    2.795104] sdhci-omap 481d8000.mmc: GPIO lookup for consumer wp
[    2.795110] sdhci-omap 481d8000.mmc: using device tree for GPIO lookup
[    2.795131] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/interconnect@48000000/segment@100000/target-module@d8000/mmc@0[0]'
[    2.795151] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/interconnect@48000000/segment@100000/target-module@d8000/mmc@0[0]'
[    2.795159] sdhci-omap 481d8000.mmc: using lookup tables for GPIO lookup
[    2.795166] sdhci-omap 481d8000.mmc: No GPIO consumer wp found
[    2.795326] sdhci-omap 481d8000.mmc: supply vqmmc not found, using dummy regulator
[    2.804231] i2c-core: driver [tlc591xx] registered
[    2.804278] ledtrig-cpu: registered to indicate activity on CPUs
[    2.824881] i2c-core: driver [mpu3050-i2c] registered
[    2.824924] i2c-core: driver [isl29018] registered
[    2.824952] i2c-core: driver [isl29028] registered
[    2.824980] i2c-core: driver [ak8975] registered
[    2.827325] NET: Registered protocol family 10
[    2.843715] Segment Routing with IPv6
[    2.847494] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    2.857523] NET: Registered protocol family 17
[    2.862370] Key type dns_resolver registered
[    2.868077] omap_voltage_late_init: Voltage driver support not added
[    2.875254] Loading compiled-in X.509 certificates
[    2.892116] gpio gpiochip0: (gpio-0-31): created GPIO range 0->7 ==> 44e10800.pinmux PIN 82->89
[    2.892144] gpio gpiochip0: (gpio-0-31): created GPIO range 8->11 ==> 44e10800.pinmux PIN 52->55
[    2.892156] gpio gpiochip0: (gpio-0-31): created GPIO range 12->15 ==> 44e10800.pinmux PIN 94->97
[    2.892167] gpio gpiochip0: (gpio-0-31): created GPIO range 16->17 ==> 44e10800.pinmux PIN 71->72
[    2.892178] gpio gpiochip0: (gpio-0-31): created GPIO range 18->18 ==> 44e10800.pinmux PIN 135->135
[    2.892189] gpio gpiochip0: (gpio-0-31): created GPIO range 19->20 ==> 44e10800.pinmux PIN 108->109
[    2.892201] gpio gpiochip0: (gpio-0-31): created GPIO range 21->21 ==> 44e10800.pinmux PIN 73->73
[    2.892212] gpio gpiochip0: (gpio-0-31): created GPIO range 22->23 ==> 44e10800.pinmux PIN 8->9
[    2.892224] gpio gpiochip0: (gpio-0-31): created GPIO range 26->27 ==> 44e10800.pinmux PIN 10->11
[    2.892236] gpio gpiochip0: (gpio-0-31): created GPIO range 28->28 ==> 44e10800.pinmux PIN 74->74
[    2.892248] gpio gpiochip0: (gpio-0-31): created GPIO range 29->29 ==> 44e10800.pinmux PIN 81->81
[    2.892260] gpio gpiochip0: (gpio-0-31): created GPIO range 30->31 ==> 44e10800.pinmux PIN 28->29
[    2.892618] gpio gpiochip0: (gpio-0-31): added GPIO chardev (254:0)
[    2.892713] gpio gpiochip0: registered GPIOs 0 to 31 on gpio-0-31
[    2.892770] OMAP GPIO hardware version 0.1
[    2.897029] mmc1: SDHCI controller on 481d8000.mmc [481d8000.mmc] using External DMA
[    2.906228] i2c-dev: adapter [OMAP I2C adapter] registered as minor 0
[    2.906372] i2c i2c-0: GPIO lookup for consumer scl
[    2.906520] i2c i2c-0: using device tree for GPIO lookup
[    2.906557] of_get_named_gpiod_flags: can't parse 'scl-gpios' property of node '/ocp/interconnect@44c00000/segment@200000/target-module@b000/i2c@0[0]'
[    2.906580] of_get_named_gpiod_flags: can't parse 'scl-gpio' property of node '/ocp/interconnect@44c00000/segment@200000/target-module@b000/i2c@0[0]'
[    2.906592] i2c i2c-0: using lookup tables for GPIO lookup
[    2.906600] i2c i2c-0: No GPIO consumer scl found
[    2.906619] i2c i2c-0: GPIO lookup for consumer sda
[    2.906625] i2c i2c-0: using device tree for GPIO lookup
[    2.906646] of_get_named_gpiod_flags: can't parse 'sda-gpios' property of node '/ocp/interconnect@44c00000/segment@200000/target-module@b000/i2c@0[0]'
[    2.906666] of_get_named_gpiod_flags: can't parse 'sda-gpio' property of node '/ocp/interconnect@44c00000/segment@200000/target-module@b000/i2c@0[0]'
[    2.906674] i2c i2c-0: using lookup tables for GPIO lookup
[    2.906680] i2c i2c-0: No GPIO consumer sda found
[    2.906698] i2c i2c-0: adapter [OMAP I2C adapter] registered
[    2.906721] i2c i2c-0: of_i2c: walking child nodes
[    2.906750] i2c i2c-0: of_i2c: register /ocp/interconnect@44c00000/segment@200000/target-module@b000/i2c@0/tps@24
[    2.907695] tps65217 0-0024: probe
[    2.933591] tps65217-pmic: Failed to locate of_node [id: -1]
[    2.945770] tps65217-bl: Failed to locate of_node [id: -1]
[    2.954141] tps65217 0-0024: TPS65217 ID 0xe version 1.2
[    2.959743] i2c i2c-0: client [tps65217] registered with bus id 0-0024
[    2.959769] i2c i2c-0: of_i2c: register /ocp/interconnect@44c00000/segment@200000/target-module@b000/i2c@0/baseboard_eeprom@50
[    2.960148] i2c i2c-0: client [24c256] registered with bus id 0-0050
[    2.960170] i2c i2c-0: This adapter dropped support for I2C classes and won't auto-detect ics932s401 devices anymore. If you need it, check 'Documentation/i2c/instantiating-devices.rst' for alternatives.
[    2.960184] i2c i2c-0: This adapter dropped support for I2C classes and won't auto-detect lm90 devices anymore. If you need it, check 'Documentation/i2c/instantiating-devices.rst' for alternatives.
[    2.960192] i2c i2c-0: This adapter dropped support for I2C classes and won't auto-detect lm95245 devices anymore. If you need it, check 'Documentation/i2c/instantiating-devices.rst' for alternatives.
[    2.960206] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
[    2.967518] i2c-dev: adapter [OMAP I2C adapter] registered as minor 1
[    2.967706] i2c i2c-1: GPIO lookup for consumer scl
[    2.967717] i2c i2c-1: using device tree for GPIO lookup
[    2.967820] of_get_named_gpiod_flags: can't parse 'scl-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@2a000/i2c@0[0]'
[    2.967845] of_get_named_gpiod_flags: can't parse 'scl-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@2a000/i2c@0[0]'
[    2.967859] i2c i2c-1: using lookup tables for GPIO lookup
[    2.967867] i2c i2c-1: No GPIO consumer scl found
[    2.967887] i2c i2c-1: GPIO lookup for consumer sda
[    2.967893] i2c i2c-1: using device tree for GPIO lookup
[    2.967914] of_get_named_gpiod_flags: can't parse 'sda-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@2a000/i2c@0[0]'
[    2.967933] of_get_named_gpiod_flags: can't parse 'sda-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@2a000/i2c@0[0]'
[    2.967942] i2c i2c-1: using lookup tables for GPIO lookup
[    2.967948] i2c i2c-1: No GPIO consumer sda found
[    2.967966] i2c i2c-1: adapter [OMAP I2C adapter] registered
[    2.967990] i2c i2c-1: of_i2c: walking child nodes
[    2.968017] i2c i2c-1: of_i2c: register /ocp/interconnect@48000000/segment@0/target-module@2a000/i2c@0/edt-ft5x06@38
[    2.969129] edt_ft5x06 1-0038: probe
[    2.969200] edt_ft5x06 1-0038: supply vcc not found, using dummy regulator
[    2.976380] i2c i2c-1: client [edt-ft5x06] registered with bus id 1-0038
[    2.976410] i2c i2c-1: This adapter dropped support for I2C classes and won't auto-detect ics932s401 devices anymore. If you need it, check 'Documentation/i2c/instantiating-devices.rst' for alternatives.
[    2.976425] i2c i2c-1: This adapter dropped support for I2C classes and won't auto-detect lm90 devices anymore. If you need it, check 'Documentation/i2c/instantiating-devices.rst' for alternatives.
[    2.976433] i2c i2c-1: This adapter dropped support for I2C classes and won't auto-detect lm95245 devices anymore. If you need it, check 'Documentation/i2c/instantiating-devices.rst' for alternatives.
[    2.976451] omap_i2c 4802a000.i2c: bus 1 rev0.11 at 100 kHz
[    2.982440] mmc1: new high speed MMC card at address 0001
[    2.987983] edt_ft5x06 1-0038: GPIO lookup for consumer reset
[    2.987993] edt_ft5x06 1-0038: using device tree for GPIO lookup
[    2.988035] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@2a000/i2c@0/edt-ft5x06@38[0]'
[    2.988059] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@2a000/i2c@0/edt-ft5x06@38[0]'
[    2.988072] edt_ft5x06 1-0038: using lookup tables for GPIO lookup
[    2.988081] edt_ft5x06 1-0038: No GPIO consumer reset found
[    2.988088] edt_ft5x06 1-0038: GPIO lookup for consumer wake
[    2.988094] edt_ft5x06 1-0038: using device tree for GPIO lookup
[    2.988116] of_get_named_gpiod_flags: can't parse 'wake-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@2a000/i2c@0/edt-ft5x06@38[0]'
[    2.988138] of_get_named_gpiod_flags: can't parse 'wake-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@2a000/i2c@0/edt-ft5x06@38[0]'
[    2.988147] edt_ft5x06 1-0038: using lookup tables for GPIO lookup
[    2.988154] edt_ft5x06 1-0038: No GPIO consumer wake found
[    2.988740] gpio gpiochip1: (gpio-32-63): created GPIO range 0->7 ==> 44e10800.pinmux PIN 0->7
[    2.988760] gpio gpiochip1: (gpio-32-63): created GPIO range 8->11 ==> 44e10800.pinmux PIN 90->93
[    2.988772] gpio gpiochip1: (gpio-32-63): created GPIO range 12->27 ==> 44e10800.pinmux PIN 12->27
[    2.988783] gpio gpiochip1: (gpio-32-63): created GPIO range 28->31 ==> 44e10800.pinmux PIN 30->33
[    2.989066] gpio gpiochip1: (gpio-32-63): added GPIO chardev (254:1)
[    2.989150] gpio gpiochip1: registered GPIOs 32 to 63 on gpio-32-63
[    2.990637] i2c-dev: adapter [OMAP I2C adapter] registered as minor 2
[    2.990768] i2c i2c-2: GPIO lookup for consumer scl
[    2.990777] i2c i2c-2: using device tree for GPIO lookup
[    2.990807] of_get_named_gpiod_flags: can't parse 'scl-gpios' property of node '/ocp/interconnect@48000000/segment@100000/target-module@9c000/i2c@0[0]'
[    2.990829] of_get_named_gpiod_flags: can't parse 'scl-gpio' property of node '/ocp/interconnect@48000000/segment@100000/target-module@9c000/i2c@0[0]'
[    2.990842] i2c i2c-2: using lookup tables for GPIO lookup
[    2.990849] i2c i2c-2: No GPIO consumer scl found
[    2.990869] i2c i2c-2: GPIO lookup for consumer sda
[    2.990874] i2c i2c-2: using device tree for GPIO lookup
[    2.990895] of_get_named_gpiod_flags: can't parse 'sda-gpios' property of node '/ocp/interconnect@48000000/segment@100000/target-module@9c000/i2c@0[0]'
[    2.990915] of_get_named_gpiod_flags: can't parse 'sda-gpio' property of node '/ocp/interconnect@48000000/segment@100000/target-module@9c000/i2c@0[0]'
[    2.990924] i2c i2c-2: using lookup tables for GPIO lookup
[    2.990930] i2c i2c-2: No GPIO consumer sda found
[    2.990948] i2c i2c-2: adapter [OMAP I2C adapter] registered
[    2.990967] i2c i2c-2: of_i2c: walking child nodes
[    2.990994] i2c i2c-2: of_i2c: register /ocp/interconnect@48000000/segment@100000/target-module@9c000/i2c@0/cape_eeprom0@54
[    2.991333] i2c i2c-2: client [24c256] registered with bus id 2-0054
[    2.991357] i2c i2c-2: of_i2c: register /ocp/interconnect@48000000/segment@100000/target-module@9c000/i2c@0/cape_eeprom1@55
[    2.991595] i2c i2c-2: client [24c256] registered with bus id 2-0055
[    2.991616] i2c i2c-2: of_i2c: register /ocp/interconnect@48000000/segment@100000/target-module@9c000/i2c@0/cape_eeprom2@56
[    2.991820] i2c i2c-2: client [24c256] registered with bus id 2-0056
[    2.991841] i2c i2c-2: of_i2c: register /ocp/interconnect@48000000/segment@100000/target-module@9c000/i2c@0/cape_eeprom3@57
[    2.992028] i2c i2c-2: client [24c256] registered with bus id 2-0057
[    2.992046] i2c i2c-2: This adapter dropped support for I2C classes and won't auto-detect ics932s401 devices anymore. If you need it, check 'Documentation/i2c/instantiating-devices.rst' for alternatives.
[    2.992058] i2c i2c-2: This adapter dropped support for I2C classes and won't auto-detect lm90 devices anymore. If you need it, check 'Documentation/i2c/instantiating-devices.rst' for alternatives.
[    2.992067] i2c i2c-2: This adapter dropped support for I2C classes and won't auto-detect lm95245 devices anymore. If you need it, check 'Documentation/i2c/instantiating-devices.rst' for alternatives.
[    2.992078] omap_i2c 4819c000.i2c: bus 2 rev0.11 at 100 kHz
[    2.998215] mmcblk1: mmc1:0001 Q2J54A 3.64 GiB 
[    3.003045] mmcblk1boot0: mmc1:0001 Q2J54A partition 1 2.00 MiB
[    3.009616] gpio gpiochip2: (gpio-64-95): created GPIO range 0->17 ==> 44e10800.pinmux PIN 34->51
[    3.009636] gpio gpiochip2: (gpio-64-95): created GPIO range 18->21 ==> 44e10800.pinmux PIN 77->80
[    3.009647] gpio gpiochip2: (gpio-64-95): created GPIO range 22->31 ==> 44e10800.pinmux PIN 56->65
[    3.009951] gpio gpiochip2: (gpio-64-95): added GPIO chardev (254:2)
[    3.010042] gpio gpiochip2: registered GPIOs 64 to 95 on gpio-64-95
[    3.010399] gpio gpiochip3: (gpio-96-127): created GPIO range 0->4 ==> 44e10800.pinmux PIN 66->70
[    3.010414] gpio gpiochip3: (gpio-96-127): created GPIO range 5->6 ==> 44e10800.pinmux PIN 98->99
[    3.010426] gpio gpiochip3: (gpio-96-127): created GPIO range 7->8 ==> 44e10800.pinmux PIN 75->76
[    3.010436] gpio gpiochip3: (gpio-96-127): created GPIO range 13->13 ==> 44e10800.pinmux PIN 141->141
[    3.010448] gpio gpiochip3: (gpio-96-127): created GPIO range 14->21 ==> 44e10800.pinmux PIN 100->107
[    3.010670] gpio gpiochip3: (gpio-96-127): added GPIO chardev (254:3)
[    3.010747] gpio gpiochip3: registered GPIOs 96 to 127 on gpio-96-127
[    3.013350] edt_ft5x06 1-0038: touchscreen probe failed
[    3.018874] edt_ft5x06: probe of 1-0038 failed with error -121
[    3.026049] tilcdc-panel panel: GPIO lookup for consumer enable
[    3.026065] tilcdc-panel panel: using device tree for GPIO lookup
[    3.026111] of_get_named_gpiod_flags: parsed 'enable-gpios' property of node '/panel[0]' - status (0)
[    3.026135] gpio gpiochip3: Persistence not supported for GPIO 19
[    3.026151] tilcdc-panel panel: found enable GPIO
[    3.031396] OF: graph: no port node found in /ocp/interconnect@48000000/segment@300000/target-module@e000/lcdc@0
[    3.042163] mmcblk1boot1: mmc1:0001 Q2J54A partition 2 2.00 MiB
[    3.048439] mmcblk1rpmb: mmc1:0001 Q2J54A partition 3 512 KiB, chardev (243:0)
[    3.056188] OF: graph: no port node found in /ocp/interconnect@48000000/segment@300000/target-module@e000/lcdc@0
[    3.067892] [drm] Initialized tilcdc 1.0.0 20121205 for 4830e000.lcdc on minor 0
[    3.083842]  mmcblk1: p1 p2 p3
[    3.119589] Console: switching to colour frame buffer device 60x34
[    3.146727] tilcdc 4830e000.lcdc: [drm] fb0: tilcdcdrmfb frame buffer device
[    3.156857] sdhci-omap 48060000.mmc: GPIO lookup for consumer cd
[    3.156877] sdhci-omap 48060000.mmc: using device tree for GPIO lookup
[    3.156932] of_get_named_gpiod_flags: parsed 'cd-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@60000/mmc@0[0]' - status (0)
[    3.157014] gpio gpiochip0: Persistence not supported for GPIO 6
[    3.157034] omap_gpio 44e07000.gpio: Could not set line 6 debounce to 200000 microseconds (-22)
[    3.166472] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds/led2[0]' - status (0)
[    3.166554] gpio gpiochip1: Persistence not supported for GPIO 21
[    3.166564] gpio-53 (?): no flags found for gpios
[    3.166771] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds/led3[0]' - status (0)
[    3.166787] gpio gpiochip1: Persistence not supported for GPIO 22
[    3.166793] gpio-54 (?): no flags found for gpios
[    3.166907] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds/led4[0]' - status (0)
[    3.166920] gpio gpiochip1: Persistence not supported for GPIO 23
[    3.166926] gpio-55 (?): no flags found for gpios
[    3.167036] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds/led5[0]' - status (0)
[    3.167049] gpio gpiochip1: Persistence not supported for GPIO 24
[    3.167055] gpio-56 (?): no flags found for gpios
[    3.169048] ALSA device list:
[    3.172051]   No soundcards found.
[    3.176326] sdhci-omap 48060000.mmc: Got CD GPIO
[    3.180984] sdhci-omap 48060000.mmc: GPIO lookup for consumer wp
[    3.180991] sdhci-omap 48060000.mmc: using device tree for GPIO lookup
[    3.181039] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@60000/mmc@0[0]'
[    3.181061] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@60000/mmc@0[0]'
[    3.181076] sdhci-omap 48060000.mmc: using lookup tables for GPIO lookup
[    3.181084] sdhci-omap 48060000.mmc: No GPIO consumer wp found
[    3.181273] sdhci-omap 48060000.mmc: supply vqmmc not found, using dummy regulator
[    3.266293] mmc0: SDHCI controller on 48060000.mmc [48060000.mmc] using External DMA
[    3.315223] EXT4-fs (mmcblk1p2): recovery complete
[    3.323416] EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Opts: (null)
[    3.331819] VFS: Mounted root (ext4 filesystem) on device 179:2.
[    3.339391] devtmpfs: mounted
[    3.345085] Freeing unused kernel memory: 1024K
[    3.363622] Run /sbin/init as init process
[    3.367736]   with arguments:
[    3.367740]     /sbin/init
[    3.367745]     splash
[    3.367748]   with environment:
[    3.367753]     HOME=/
[    3.367757]     TERM=linux
[    3.573084] systemd[1]: System time before build time, advancing clock.
[    3.635413] systemd[1]: systemd 244.5+ 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)
[    3.658008] systemd[1]: Detected architecture arm.
[    3.704528] systemd[1]: Set hostname to <beaglebone>.
[    4.435110] systemd[1]: Created slice system-getty.slice.
[    4.480567] systemd[1]: Created slice system-serial\x2dgetty.slice.
[    4.525549] systemd[1]: Created slice User and Session Slice.
[    4.564956] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
[    4.604660] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[    4.644004] systemd[1]: Reached target Paths.
[    4.656030] systemd[1]: Reached target Remote File Systems.
[    4.693593] systemd[1]: Reached target Slices.
[    4.734021] systemd[1]: Reached target Swap.
[    4.816331] systemd[1]: Listening on RPCbind Server Activation Socket.
[    4.853532] systemd[1]: Reached target RPC Port Mapper.
[    4.896404] systemd[1]: Listening on Syslog Socket.
[    4.935066] systemd[1]: Listening on initctl Compatibility Named Pipe.
[    4.988853] systemd[1]: Condition check resulted in Journal Audit Socket being skipped.
[    5.000666] systemd[1]: Listening on Journal Socket (/dev/log).
[    5.034748] systemd[1]: Listening on Journal Socket.
[    5.076800] systemd[1]: Listening on Network Service Netlink Socket.
[    5.116204] systemd[1]: Listening on udev Control Socket.
[    5.154291] systemd[1]: Listening on udev Kernel Socket.
[    5.195779] systemd[1]: Condition check resulted in Huge Pages File System being skipped.
[    5.214495] systemd[1]: Mounting POSIX Message Queue File System...
[    5.245426] systemd[1]: Mounting Kernel Debug File System...
[    5.273821] systemd[1]: Mounting Temporary Directory (/tmp)...
[    5.300029] systemd[1]: Starting Create list of static device nodes for the current kernel...
[    5.373025] systemd[1]: Starting Start psplash boot splash screen...
[    5.435473] systemd[1]: Starting RPC Bind...
[    5.473720] systemd[1]: Condition check resulted in File System Check on Root Device being skipped.
[    5.507574] systemd[1]: Starting Journal Service...
[    5.556576] systemd[1]: Condition check resulted in Load Kernel Modules being skipped.
[    5.574208] systemd[1]: Condition check resulted in FUSE Control File System being skipped.
[    5.606782] systemd[1]: Mounting Kernel Configuration File System...
[    5.669556] systemd[1]: Starting Remount Root and Kernel File Systems...
[    5.778506] EXT4-fs (mmcblk1p2): re-mounted. Opts: (null)
[    5.794345] systemd[1]: Starting Apply Kernel Variables...
[    5.849573] systemd[1]: Starting udev Coldplug all Devices...
[    5.902824] systemd[1]: Started Start psplash boot splash screen.
[    5.954538] systemd[1]: Started RPC Bind.
[    5.974678] systemd[1]: Mounted POSIX Message Queue File System.
[    5.994717] systemd[1]: Mounted Kernel Debug File System.
[    6.024999] systemd[1]: Mounted Temporary Directory (/tmp).
[    6.074329] systemd[1]: Started Create list of static device nodes for the current kernel.
[    6.135085] systemd[1]: Mounted Kernel Configuration File System.
[    6.167290] systemd[1]: Started Remount Root and Kernel File Systems.
[    6.224586] systemd[1]: Started Journal Service.
[    6.422204] systemd-journald[94]: Received client request to flush runtime journal.
[    8.806988] at24 0-0050: probe
[    8.807103] at24 0-0050: supply vcc not found, using dummy regulator
[    8.848513] remoteproc remoteproc0: wkup_m3 is available
[    8.885711] omap_rtc 44e3e000.rtc: char device (252:0)
[    8.885751] omap_rtc 44e3e000.rtc: registered as rtc0
[    8.890966] omap_rtc 44e3e000.rtc: setting system clock to 2000-01-01T00:00:00 UTC (946684800)
[    8.961184] at24 0-0050: GPIO lookup for consumer wp
[    8.961206] at24 0-0050: using device tree for GPIO lookup
[    8.961260] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/interconnect@44c00000/segment@200000/target-module@b000/i2c@0/baseboard_eeprom@50[0]'
[    8.961286] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/interconnect@44c00000/segment@200000/target-module@b000/i2c@0/baseboard_eeprom@50[0]'
[    8.961301] at24 0-0050: using lookup tables for GPIO lookup
[    8.961309] at24 0-0050: No GPIO consumer wp found
[    8.973712] at24 0-0050: 32768 byte 24c256 EEPROM, writable, 1 bytes/write
[    9.012138] remoteproc remoteproc0: powering up wkup_m3
[    9.067252] remoteproc remoteproc0: Direct firmware load for am335x-pm-firmware.elf failed with error -2
[    9.076924] omap_rtc 44e3e000.rtc: GPIO lookup for consumer wp
[    9.076934] omap_rtc 44e3e000.rtc: using device tree for GPIO lookup
[    9.076985] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/interconnect@44c00000/segment@200000/target-module@3e000/rtc@0[0]'
[    9.077007] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/interconnect@44c00000/segment@200000/target-module@3e000/rtc@0[0]'
[    9.077023] omap_rtc 44e3e000.rtc: using lookup tables for GPIO lookup
[    9.077032] omap_rtc 44e3e000.rtc: No GPIO consumer wp found
[    9.079189] at24 2-0054: probe
[    9.079299] at24 2-0054: supply vcc not found, using dummy regulator
[    9.087074] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
[    9.134712] at24 2-0054: GPIO lookup for consumer wp
[    9.134733] at24 2-0054: using device tree for GPIO lookup
[    9.134784] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/interconnect@48000000/segment@100000/target-module@9c000/i2c@0/cape_eeprom0@54[0]'
[    9.134809] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/interconnect@48000000/segment@100000/target-module@9c000/i2c@0/cape_eeprom0@54[0]'
[    9.134824] at24 2-0054: using lookup tables for GPIO lookup
[    9.134832] at24 2-0054: No GPIO consumer wp found
[    9.167239] at24 2-0055: probe
[    9.167353] at24 2-0055: supply vcc not found, using dummy regulator
[    9.176368] remoteproc remoteproc0: request_firmware failed: -2
[    9.249287] at24 2-0055: GPIO lookup for consumer wp
[    9.249308] at24 2-0055: using device tree for GPIO lookup
[    9.249354] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/interconnect@48000000/segment@100000/target-module@9c000/i2c@0/cape_eeprom1@55[0]'
[    9.249380] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/interconnect@48000000/segment@100000/target-module@9c000/i2c@0/cape_eeprom1@55[0]'
[    9.249394] at24 2-0055: using lookup tables for GPIO lookup
[    9.249402] at24 2-0055: No GPIO consumer wp found
[    9.288277] wkup_m3_ipc 44e11324.wkup_m3_ipc: rproc_boot failed
[    9.316959] at24 2-0056: probe
[    9.317077] at24 2-0056: supply vcc not found, using dummy regulator
[    9.373661] at24 2-0056: GPIO lookup for consumer wp
[    9.373682] at24 2-0056: using device tree for GPIO lookup
[    9.373737] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/interconnect@48000000/segment@100000/target-module@9c000/i2c@0/cape_eeprom2@56[0]'
[    9.373762] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/interconnect@48000000/segment@100000/target-module@9c000/i2c@0/cape_eeprom2@56[0]'
[    9.373779] at24 2-0056: using lookup tables for GPIO lookup
[    9.373787] at24 2-0056: No GPIO consumer wp found
[    9.409871] at24 2-0057: probe
[    9.409989] at24 2-0057: supply vcc not found, using dummy regulator
[    9.492830] at24 2-0057: GPIO lookup for consumer wp
[    9.492849] at24 2-0057: using device tree for GPIO lookup
[    9.492900] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/interconnect@48000000/segment@100000/target-module@9c000/i2c@0/cape_eeprom3@57[0]'
[    9.492926] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/interconnect@48000000/segment@100000/target-module@9c000/i2c@0/cape_eeprom3@57[0]'
[    9.492942] at24 2-0057: using lookup tables for GPIO lookup
[    9.492951] at24 2-0057: No GPIO consumer wp found
[    9.495367] am335x-phy-driver 47401300.usb-phy: GPIO lookup for consumer reset
[    9.495389] am335x-phy-driver 47401300.usb-phy: using device tree for GPIO lookup
[    9.495433] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/target-module@47400000/usb-phy@1300[0]'
[    9.495454] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/target-module@47400000/usb-phy@1300[0]'
[    9.495466] am335x-phy-driver 47401300.usb-phy: using lookup tables for GPIO lookup
[    9.495475] am335x-phy-driver 47401300.usb-phy: No GPIO consumer reset found
[    9.495483] am335x-phy-driver 47401300.usb-phy: GPIO lookup for consumer vbus-detect
[    9.495490] am335x-phy-driver 47401300.usb-phy: using device tree for GPIO lookup
[    9.495509] of_get_named_gpiod_flags: can't parse 'vbus-detect-gpios' property of node '/ocp/target-module@47400000/usb-phy@1300[0]'
[    9.495526] of_get_named_gpiod_flags: can't parse 'vbus-detect-gpio' property of node '/ocp/target-module@47400000/usb-phy@1300[0]'
[    9.495536] am335x-phy-driver 47401300.usb-phy: using lookup tables for GPIO lookup
[    9.495542] am335x-phy-driver 47401300.usb-phy: No GPIO consumer vbus-detect found
[    9.495661] am335x-phy-driver 47401300.usb-phy: supply vcc not found, using dummy regulator
[    9.515021] at24 2-0057: 32768 byte 24c256 EEPROM, writable, 1 bytes/write
[    9.613531] i2c-core: driver [at24] registered
[    9.616535] usbcore: registered new interface driver usbfs
[    9.622119] usbcore: registered new interface driver hub
[    9.646775] am335x-phy-driver 47401300.usb-phy: dummy supplies not allowed for exclusive requests
[    9.747057] usbcore: registered new device driver usb
[    9.818601] am335x-phy-driver 47401b00.usb-phy: GPIO lookup for consumer reset
[    9.818626] am335x-phy-driver 47401b00.usb-phy: using device tree for GPIO lookup
[    9.818669] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/target-module@47400000/usb-phy@1b00[0]'
[    9.818690] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/target-module@47400000/usb-phy@1b00[0]'
[    9.818705] am335x-phy-driver 47401b00.usb-phy: using lookup tables for GPIO lookup
[    9.818714] am335x-phy-driver 47401b00.usb-phy: No GPIO consumer reset found
[    9.818723] am335x-phy-driver 47401b00.usb-phy: GPIO lookup for consumer vbus-detect
[    9.818729] am335x-phy-driver 47401b00.usb-phy: using device tree for GPIO lookup
[    9.818748] of_get_named_gpiod_flags: can't parse 'vbus-detect-gpios' property of node '/ocp/target-module@47400000/usb-phy@1b00[0]'
[    9.818765] of_get_named_gpiod_flags: can't parse 'vbus-detect-gpio' property of node '/ocp/target-module@47400000/usb-phy@1b00[0]'
[    9.818774] am335x-phy-driver 47401b00.usb-phy: using lookup tables for GPIO lookup
[    9.818782] am335x-phy-driver 47401b00.usb-phy: No GPIO consumer vbus-detect found
[    9.818903] am335x-phy-driver 47401b00.usb-phy: supply vcc not found, using dummy regulator
[    9.913602] am335x-phy-driver 47401b00.usb-phy: dummy supplies not allowed for exclusive requests
[   10.055556] musb-hdrc musb-hdrc.1: MUSB HDRC host driver
[   10.060948] musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 1
[   10.210006] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.10
[   10.330331] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   10.363175] usb usb1: Product: MUSB HDRC host driver
[   10.368190] usb usb1: Manufacturer: Linux 5.10.162-g982fde4eb3 musb-hcd
[   10.483467] usb usb1: SerialNumber: musb-hdrc.1
[   10.553716] hub 1-0:1.0: USB hub found
[   10.615738] hub 1-0:1.0: 1 port detected
[   10.948132] PM: Cannot get wkup_m3_ipc handle
[   10.995761] omap-sham 53100000.sham: hw accel on OMAP rev 4.3
[   11.026406] omap-aes 53500000.aes: OMAP AES hw accel rev: 3.2
[   11.053916] pvrsrvkm: loading out-of-tree module taints kernel.
[   11.096065] omap-sham 53100000.sham: will run requests pump with realtime priority
[   11.134435] omap-aes 53500000.aes: will run requests pump with realtime priority
[   11.183446] PM: Cannot get wkup_m3_ipc handle
[   11.211633] PM: Cannot get wkup_m3_ipc handle
[   11.254906] PM: Cannot get wkup_m3_ipc handle
[   11.260109] [drm] Initialized pvr 1.17.4948957 20110701 for 56000000.gpu on minor 1
[   11.313559] cpsw 4a100000.ethernet: initializing cpsw version 1.12 (0)
[   11.367730] PM: Cannot get wkup_m3_ipc handle
[   11.453329] usb 1-1: new full-speed USB device number 2 using musb-hdrc
[   11.484919] SMSC LAN8710/LAN8720 4a101000.mdio:00: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=4a101000.mdio:00, irq=POLL)
[   11.685430] usb 1-1: New USB device found, idVendor=1ea7, idProduct=0064, bcdDevice= 2.00
[   11.743375] usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[   11.750587] usb 1-1: Product: 2.4G Mouse
[   11.851305] PM: Cannot get wkup_m3_ipc handle
[   14.177188] remoteproc remoteproc1: 4a334000.pru is available
[   14.214317] PM: Cannot get wkup_m3_ipc handle
[   14.268480] remoteproc remoteproc2: 4a338000.pru is available
[   14.296423] PM: Cannot get wkup_m3_ipc handle
[   14.308808] PM: Cannot get wkup_m3_ipc handle
[   14.418899] input: 2.4G Mouse as /devices/platform/ocp/47400000.target-module/47401c00.usb/musb-hdrc.1/usb1/1-1/1-1:1.0/0003:1EA7:0064.0001/input/input1
[   14.454962] input: 2.4G Mouse as /devices/platform/ocp/47400000.target-module/47401c00.usb/musb-hdrc.1/usb1/1-1/1-1:1.0/0003:1EA7:0064.0001/input/input2
[   14.484187] hid-generic 0003:1EA7:0064.0001: input: USB HID v1.10 Mouse [2.4G Mouse] on usb-musb-hdrc.1-1/input0
[   14.503663] PM: Cannot get wkup_m3_ipc handle
[   14.511711] usbcore: registered new interface driver usbhid
[   14.518562] PM: Cannot get wkup_m3_ipc handle
[   14.533227] usbhid: USB HID core driver
[   16.524555] FAT-fs (mmcblk1p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[   19.042254] PVR_K: UM DDK-(4948957) and KM DDK-(4948957) match. [ OK ]
[   19.328919] Bluetooth: Core ver 2.22
[   19.410470] NET: Registered protocol family 31
[   19.443583] Bluetooth: HCI device and connection manager initialized
[   19.450020] Bluetooth: HCI socket layer initialized
[   19.520645] Bluetooth: L2CAP socket layer initialized
[   19.554564] Bluetooth: SCO socket layer initialized
[   20.982150] EXT4-fs (mmcblk1p3): mounted filesystem with ordered data mode. Opts: (null)
[   21.296877] ------------[ cut here ]------------
[   21.373721] WARNING: CPU: 0 PID: 184 at kernel/dma/debug.c:1173 debug_dma_map_sg+0x2cc/0x404
[   21.382255] DMA-API: pvrsrvkm 56000000.gpu: mapping sg segment longer than device claims to support [len=262144] [max=65536]
[   21.553201] Modules linked in: bluetooth ecdh_generic ecc usbhid irq_pruss_intc icss_iep pru_rproc pvrsrvkm(O) pruss omap_aes_driver omap_crypto omap_sham libaes pm33xx crypto_engine ti_emif_sram musb_dsps musb_hdrc udc_core phy_am335x usbcore phy_generic usb_common omap_wdt wkup_m3_ipc phy_am335x_control rtc_omap wkup_m3_rproc at24 sch_fq_codel
[   21.671677] CPU: 0 PID: 184 Comm: weston Tainted: G           O      5.10.162-g982fde4eb3 #1
[   21.705433] Hardware name: Generic AM33XX (Flattened Device Tree)
[   21.773692] [<c010dc00>] (unwind_backtrace) from [<c010a244>] (show_stack+0x10/0x14)
[   21.781510] [<c010a244>] (show_stack) from [<c0a9fca0>] (__warn+0xc0/0xd8)
[   21.850534] [<c0a9fca0>] (__warn) from [<c0a9fd50>] (warn_slowpath_fmt+0x98/0xcc)
[   21.883271] [<c0a9fd50>] (warn_slowpath_fmt) from [<c018b870>] (debug_dma_map_sg+0x2cc/0x404)
[   21.891867] [<c018b870>] (debug_dma_map_sg) from [<c0185de8>] (dma_map_sg_attrs+0x78/0xd8)
[   21.943222] [<c0185de8>] (dma_map_sg_attrs) from [<c06557ec>] (drm_gem_map_dma_buf+0x54/0xc4)
[   21.951843] [<c06557ec>] (drm_gem_map_dma_buf) from [<c06ee4bc>] (dma_buf_map_attachment+0x74/0xf4)
[   22.003954] [<c06ee4bc>] (dma_buf_map_attachment) from [<bf137d34>] (DmaBufImportAndAcquirePhysAddr+0x160/0x4e8 [pvrsrvkm])
[   22.033527] [<bf137d34>] (DmaBufImportAndAcquirePhysAddr [pvrsrvkm]) from [<bf12a4a8>] (PVRSRVMapDmaBufKM+0xc8/0x354 [pvrsrvkm])
[   22.073932] [<bf12a4a8>] (PVRSRVMapDmaBufKM [pvrsrvkm]) from [<bf135b54>] (PVRSRVMapDmaBufBW+0xb8/0x250 [pvrsrvkm])
[   22.113947] [<bf135b54>] (PVRSRVMapDmaBufBW [pvrsrvkm]) from [<bf136c9c>] (BridgedDispatchKM+0x8c/0x25c [pvrsrvkm])
[   22.143551] [<bf136c9c>] (BridgedDispatchKM [pvrsrvkm]) from [<bf124840>] (PVRSRV_BridgeDispatchKM+0xf8/0x36c [pvrsrvkm])
[   22.184037] [<bf124840>] (PVRSRV_BridgeDispatchKM [pvrsrvkm]) from [<c0647e78>] (drm_ioctl_kernel+0xb8/0xfc)
[   22.213363] [<c0647e78>] (drm_ioctl_kernel) from [<c06480c0>] (drm_ioctl+0x204/0x3f4)
[   22.233755] [<c06480c0>] (drm_ioctl) from [<c02a1f84>] (sys_ioctl+0x1f8/0xa98)
[   22.241073] [<c02a1f84>] (sys_ioctl) from [<c0100060>] (ret_fast_syscall+0x0/0x54)
[   22.283302] Exception stack(0xc51cbfa8 to 0xc51cbff0)
[   22.288404] bfa0:                   00000001 bef80f84 0000000e 401c6440 bef80f84 0000001c
[   22.323269] bfc0: 00000001 bef80f84 401c6440 00000036 00000001 0046b190 08000000 00000020
[   22.351954] bfe0: b6680ef0 bef80f5c b6669aab b6f0cd08
[   22.373194] ---[ end trace a8b3d971e8462655 ]---

1 Like

Hello @dadleyy ,

I am only replying in hopes to help but…

I am not well educated in Weston or imgui. I see issues so far about i2c probing. I was reading some…

Example:
See lm90_driver and lm90_detect() in drivers/hwmon/lm90.c

I2C devices instantiated as a result of such a successful probe will be
destroyed automatically when the driver which detected them is removed,
or when the underlying I2C bus is itself destroyed, whichever happens
first.

Those of you familiar with the i2c subsystem of 2.4 kernels and early 2.6
kernels will find out that this method 3 is essentially similar to what
was done there. Two significant differences are:
* Probing is only one way to instantiate I2C devices now, while it was the
  only way back then. Where possible, methods 1 and 2 should be preferred.
  Method 3 should only be used when there is no other way, as it can have
  undesirable side effects.
* I2C buses must now explicitly say which I2C driver classes can probe
  them (by the means of the class bitfield), while all I2C buses were
  probed by default back then. The default is an empty class which means
  that no probing happens. The purpose of the class bitfield is to limit
  the aforementioned undesirable side effects.

Once again, method 3 should be avoided wherever possible. Explicit device
instantiation (methods 1 and 2) is much preferred for it is safer and
faster.

and…that above snippet can be found here: https://www.kernel.org/doc/Documentation/i2c/instantiating-devices

and…further down the pipeline here:

https://elixir.bootlin.com/linux/latest/source/drivers/hwmon/lm90.c

I think updating kernel may or may not provide support. I have no way to tell as of now, i.e. I have not built what you are building.

Of course, I can build it and then test w/ specific hardware to see if things are working.

Also,

1. GPIO is off
2. DTS is listing incorrect i2c address
3. Older kernel w/out support for lm90

Those three ideas are what I am guessing so far but it may only be one of the three or two of the three or all of them.

It is hard to tell.

In your FS, can you probe i2c devices from userspace or in another way?

Also, if the GPIO is held low or high and not reset, maybe it is not refreshing. I am guessing here.

Seth

P.S. [ 16.524555] FAT-fs (mmcblk1p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.

&&

@24 is the i2c address (I think). Also, in the lm90.c file, I see 0x7b as an address worth noting plus many chipsets are handled by this driver, i.e. some MAX and other lm by National. So, what chipset you have w/ your LCD may be handled by this driver already.

Also:

What chipset is being used?

This may matter based on findings w/in researching online or via books or however. If it is not one under the lm90.c driver, then someone will have to look elsewhere.

Also…

I am sorry to make this many remarks but…

  1. udev rules may be useful in case you are signed in via root and have made more users
  2. There is a person on IRC called @zmatt and I think this person uses udev easily
  3. In the case of udev rules in your FS for handling specific root conditions, beagleboard.org has many udev rules available in their normal images and probably located somehwere online

Now…which udev rules works w/ what kernel, no clue. One would have to test. But…I will list one from a “regular” image.

# /etc/udev/rules.d/80-gpio-noroot.rules
#
# ReWritten by: Matthijs van Duin
# Corrects sys GPIO permissions on the BB so non-root users in the gpio group can manipulate bits
#
SUBSYSTEM=="gpio", ACTION=="add", \
        RUN+="/bin/chgrp -R gpio '/sys%p'", \
        RUN+="/bin/chmod -R g=u '/sys%p'"

SUBSYSTEM=="subsystem", KERNEL=="gpio", ACTION=="add", \
        RUN+="/bin/chgrp gpio '/sys/class/gpio/export' '/sys/class/gpio/unexport'", \
        RUN+="/bin/chmod g=u '/sys/class/gpio/export' '/sys/class/gpio/unexport'"

This is one idea from an image produced by the BBB.io persons.

Thanks for the response!

In your FS, can you probe i2c devices from userspace or in another way

Yeah, this sounds like a thread I should be chasing down. I was able to get i2cdetect on the system, and list out some information:

root@beaglebone:~# i2cdetect -l
i2c-1	i2c       	OMAP I2C adapter                	I2C adapter
i2c-2	i2c       	OMAP I2C adapter                	I2C adapter
i2c-0	i2c       	OMAP I2C adapter                	I2C adapter
root@beaglebone:~# i2cdetect 0
Warning: Can't use SMBus Quick Write command, will skip some addresses
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-0.
I will probe address range 0x03-0x77.
Continue? [Y/n] y
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                                                 
10:                                                 
20:                                                 
30: -- -- -- -- 34 -- -- --                         
40:                                                 
50: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60:                                                 
70:                                                 
root@beaglebone:~# i2cdetect 1
Warning: Can't use SMBus Quick Write command, will skip some addresses
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-1.
I will probe address range 0x03-0x77.
Continue? [Y/n] y
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                                                 
10:                                                 
20:                                                 
30: -- -- -- -- -- -- -- --                         
40:                                                 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60:                                                 
70:                                                 
root@beaglebone:~# i2cdetect 2
Warning: Can't use SMBus Quick Write command, will skip some addresses
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-2.
I will probe address range 0x03-0x77.
Continue? [Y/n] y
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                                                 
10:                                                 
20:                                                 
30: -- -- -- -- -- -- -- --                         
40:                                                 
50: -- -- -- -- -- -- -- UU -- -- -- -- -- -- -- -- 
60:                                                 
70:                                                 
root@beaglebone:~# 

It looks like the i2c-0 bus has something unused at 0x34? The overlay is listing the polytouch device at 0x38 on i2c1, so maybe this is just a misconfiguration on the overlay?

&i2c1 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&bb_i2c1_pins>;

	clock-frequency = <100000>;

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

	polytouch: edt-ft5x06@38 {
		status = "okay";
		compatible = "edt,edt-ft5x06";
		reg = <0x38>;
		pinctrl-names = "default";
		pinctrl-0 = <&edt_ft5x06_pins>;
		interrupt-parent = <&gpio0>;
		interrupts = <14 2>;

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

		touchscreen-swapped-x-y;
	};
};

Whats strange though, is that dropping into the command prompt in u-boot, i2c bus does not even list an i2c 1 bus, but probing the 0 bus gives me some addresses:

=> i2c bus
Bus 0:	i2c@44e0b000
Bus 2:	i2c@4819c000
=> i2c bus 0
Bus 0:	i2c@44e0b000  (active 0)
=> i2c dev 0
Setting bus to 0
=> i2c probe
Valid chip addresses: 24 34 50
=> 

Hello Again,

It seems this may be over my head now. I see you are using some u-boot pinctrl names. Is this correct or is this from another dtsi file you have currently?

Either way, having the chip name of the vendor and the exact match of the chipset will prove useful.

This is on the controller for the LCD.

I was searching through some online logs. I came across a couple ideas but not too many so far.

Searches I made so far but not sysc addtions.

What is listed in /dev/i2c-*

Oh! The searching I performed…

  1. MPU-3050
  2. [ 2.960170] i2c i2c-0: This adapter dropped support for I2C classes and won’t auto-detect ics932s401 devices anymore. If you need it, check ‘Documentation/i2c/instantiating-devices.rst’ for alternatives.
    and last but not least...
  3. lm90.c driver

I do not know if the driver handles that chipset or what type of DTS is required to handle:

  1. sda
  2. i2c
  3. uart
  4. gpio

I am not even confident now that all of them must be allocated to handle usage but…

I can research more. It seems something along w/ GPIO handling the on/off functionality of the separate peripherals is a must. Maybe this is why beagleboard.org people got the m3 for wakeup instead of porting each GPIO for use to handle each, separate peripheral on the am335x?

Seth

P.S. Right now, all I can do is research ideas. I do not understand everything given but I can learn and try to relay ideas…

Update

The beaglebone black w/ the am335x has an entry, well a bunch, under the EEPROM. This is most likely what is popping up so far. It lists various ideas for the board, mfg. date, and etc.

Hi @dadleyy ,

I2C generally should not be to hard to get working. The fact that the driver can’t see the hardware points to a couple of potential issues.

What is <&edt_ft5x06_pins> and <&bb_i2c1_pins> ?

Check your hardware. Have you got pull up resistors on the I2C bus ? The BB boards do not include these and potentially extra hardware capes may not either.
If there are none, I2C will not work. You can check by measuring the resistance between the I2C signals and 3.3V. You should see something around 2K - 10K in resistance.

The I2C1 pin muxing might not be setup correctly. The best, probably easiest/quickest way to check this is to hook up a scope to the I2C signals and run i2cdetect on that bus to generate some activity. You will need to single shot the signals as they will likely be short pulses with fairly large gaps.

If you can see that, then you know there is nothing wrong with the I2C bus config.

I would not put 100% faith in i2cdetect. While it does work, there is no guarantee it will detect every device on the bus. It will depend on how that hardware responds. I have seen one post here where it failed to detect a device that was present and working.

Apart from that the touchscreen overlay looks ok. Certainly the driver is attempting to load. The failure to find the hardware is probably due to one of the above issues and you need to narrow down exactly what is the cause.

1 Like

I don’t have time to dig through this thread, but just wanted to say these messages are irrelevant to you and can be ignored (which is why they’re hidden behind a non-default config flag)

Thanks everyone for the responses! I’m still working through this :grimacing:

I’ve uploaded the complete (I think?) decompiled device tree overlays to this gist. The contents of those were generated by running:

dtc /boot/am335x-bonegreen.dtb
dtc /boot/BB-BONE-4D4C-01-00A1.dtbo

based on what I’m seeing there, the interesting bits are (I think):

from the overlay (it doesn’t look like edt_ft5x06_pins or bb_i2c1_pins appear in the device tree itself, I’m only seeing them in the overlay):

			pinmux_edt_ft5x06_pins {
				pinctrl-single,pins = <0x180 0x2f>;
				phandle = <0x03>;
			};
			pinmux_bb_i2c1_pins {
				pinctrl-single,pins = <0x158 0x72 0x15c 0x72>;
				phandle = <0x02>;
			};

Ok, so just to clarify, working back from the hax values you have.

You are using I2C on P9.17 and P9.18 and you have P9.26 as an input ?

So the mux modes are ok.

The only issue I have with this is that you are enabling pullups on the I2C lines. This is not an issue if you have some external pullups on those lines.

However if you are just relying on the internal pullup resistors of the chip you will more than likely have issues. I can’t find a value for these, but they are described as weak pullups. For 100K baud I2C bus you probably want no more than 10K, (it depends on the bus capacitance). For example the BBB eeprom has 1.5K pullup resistors on the I2C lines. The internal pullups are probably going to be 50K or more, much too high. If running at 400K baud you need lower resistors than at 100K.

So have you got external resistors on the I2C lines ?

If you have resistors fitted, I would then check the data and clock lines with a scope when running i2cdetect. You can at least narrow down the cause if it is not working.