This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM5728: Linux migration issue

Part Number: AM5728

Hello Everyone!

I am trying to migrate Linux kernel version 4.4.113 (ti-lsk branch) to 4.19.59 (processor-sdk-linux) including OpenGL graphics. Our machine is based on AM5728 CPU.

I have migrated quite a lot, but there are some leftovers, which are not fully cleared to me.

DTS:
Previously we have been using "dra7.dtsi" include file, but it was completely changed in this kernel version. How to migrate these entries?

&oppdm_core {
	vdd-supply = <&smps6_reg>;
};

&oppdm_mpu {
	vdd-supply = <&smps12_reg>;
};

&oppdm_dspeve {
	vdd-supply = <&smps45_reg>;
};

&oppdm_gpu {
	vdd-supply = <&smps45_reg>;
};

&oppdm_ivahd {
	vdd-supply = <&smps45_reg>;
};


These lines have been removed from mentioned file. I have replaced all mentioned lines like this. Please correct, what needs to explicitly set to make graphic stuff fully working.

&opp_supply_mpu {
	vdd-supply = <&smps12_reg>;
};

&gpu {
	status = "okay";
};

kernel_config:
First kernel tryout:

pvrsrvkm: Unknown symbol drm_legacy_mmap (err -2)
  • Does it mean, that I need to enable “CONFIG_DRM_LEGACY” explicitly ? It wasn’t enabled in previous kernels and was working without problems.
    • Anyway I have enabled the config later on

kernel_bootlog:
4.4.113:

[    1.397697] [drm] Initialized drm 1.1.0 20060810
...
[ 2.298209] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013). [ 2.304848] [drm] No driver support for vblank timestamp query. [ 2.313148] [drm] Enabling DMM ywrap scrolling [ 2.374269] Console: switching to colour frame buffer device 128x37 [ 2.382565] omapdrm omapdrm.0: fb0: omapdrm frame buffer device [ 2.425907] [drm] Initialized omapdrm 1.0.0 20110917 on minor 0
...
[    4.759170] [drm] Initialized pvr 1.14.3699939 20110701 on minor 1
[    4.777805] PVR_K: UM DDK-(3699939) and KM DDK-(3699939) match. [ OK ]

4.19.59:

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

Kernel configs...

4.4.113:

CONFIG_DRM_OMAP=y
CONFIG_DRM_OMAP_NUM_CRTCS=2
CONFIG_OMAP2_DSS_INIT=y
CONFIG_OMAP_DSS_BASE=y
CONFIG_OMAP2_DSS=y
CONFIG_OMAP2_DSS_DPI=y
CONFIG_OMAP2_DSS_VENC=y
CONFIG_OMAP2_DSS_HDMI_COMMON=y
CONFIG_OMAP4_DSS_HDMI=y
CONFIG_OMAP5_DSS_HDMI=y
# CONFIG_OMAP2_DSS_SDI is not set
# CONFIG_OMAP2_DSS_DSI is not set
CONFIG_DISPLAY_PANEL_DPI=y
# CONFIG_DISPLAY_PANEL_DSI_CM is not set
# CONFIG_DISPLAY_PANEL_SHARP_LS037V7DW01 is not set
CONFIG_DRM_TILCDC=y
CONFIG_DRM_TILCDC_SLAVE_COMPAT=y
# CONFIG_DRM_QXL is not set
# CONFIG_DRM_BOCHS is not set
# CONFIG_DRM_VIRTIO_GPU is not set
# CONFIG_DRM_FSL_DCU is not set
CONFIG_DRM_PANEL=y
# Frame buffer Devices
#
CONFIG_FB=y
# CONFIG_FIRMWARE_EDID is not set
CONFIG_FB_CMDLINE=y
CONFIG_FB_NOTIFY=y
# CONFIG_FB_DDC is not set
# CONFIG_FB_BOOT_VESA_SUPPORT is not set
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
CONFIG_FB_SYS_FILLRECT=y
CONFIG_FB_SYS_COPYAREA=y
CONFIG_FB_SYS_IMAGEBLIT=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
CONFIG_FB_SYS_FOPS=y
# CONFIG_FB_SVGALIB is not set
# CONFIG_FB_MACMODES is not set
# CONFIG_FB_BACKLIGHT is not set
CONFIG_FB_MODE_HELPERS=y
# CONFIG_FB_TILEBLITTING is not set

4.19.59

CONFIG_DRM_OMAP=y
CONFIG_OMAP2_DSS_INIT=y
CONFIG_OMAP_DSS_BASE=y
CONFIG_OMAP2_DSS=y
# CONFIG_OMAP2_DSS_DEBUG is not set
# CONFIG_OMAP2_DSS_DEBUGFS is not set
CONFIG_OMAP2_DSS_DPI=y
CONFIG_OMAP2_DSS_VENC=y
CONFIG_OMAP2_DSS_HDMI_COMMON=y
CONFIG_OMAP4_DSS_HDMI=y
CONFIG_OMAP4_DSS_HDMI_CEC=y
CONFIG_OMAP5_DSS_HDMI=y
# CONFIG_OMAP2_DSS_SDI is not set
# CONFIG_OMAP2_DSS_DSI is not set

CONFIG_DRM_TILCDC=y
# CONFIG_DRM_QXL is not set
# CONFIG_DRM_BOCHS is not set
# CONFIG_DRM_FSL_DCU is not set
# CONFIG_DRM_STM is not set
CONFIG_DRM_PANEL=y

#
# Display Panels
#
# CONFIG_DRM_PANEL_ARM_VERSATILE is not set
# CONFIG_DRM_PANEL_LVDS is not set
CONFIG_DRM_PANEL_SIMPLE=y

#
# Frame buffer Devices
#
CONFIG_FB=y
# CONFIG_FIRMWARE_EDID is not set
CONFIG_FB_CMDLINE=y
CONFIG_FB_NOTIFY=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
CONFIG_FB_SYS_FILLRECT=y
CONFIG_FB_SYS_COPYAREA=y
CONFIG_FB_SYS_IMAGEBLIT=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
CONFIG_FB_SYS_FOPS=y
CONFIG_FB_DEFERRED_IO=y
# CONFIG_FB_MODE_HELPERS is not set
# CONFIG_FB_TILEBLITTING is not set

There is only one line in bootlog about drm. I would like to enable the logo during kernel booting. Seems to be, that fb0 device hasn't been detected. Is there a problem in kernel_config or DTB. On the other hand there is an option CONFIG_FB_OMAP2. But I am not sure, if this is the right way, how to enable it.

Rest of migration looks fine for now.

Thank you for your advice!

  • Hello,

    I am wondering if you have compared your config file with the default file that comes with PSDK6.0. I have attached the file for your reference and please make sure all the configs for graphics support, displays and frame buffer devices are configured correctly.

    Regards,
    Krunal

    8831.tisdk_am57xx-evm_defconfig.txt

  • Hello,

    No, I was comparing configs from previous (4.4.113) and current (4.19.59) kernel for the same machine. Now I have compared the your config with mine. But I don't see lot of differences in graphic part.

    // same config on both side
    #
    # Graphics support
    #
    
    #
    # Sub-drivers
    #
    // TI side
    CONFIG_DRM_OMAP=y
    CONFIG_DRM_OMAP_WB=y
    CONFIG_OMAP2_DSS_INIT=y
    CONFIG_OMAP_DSS_BASE=y
    CONFIG_OMAP2_DSS=y
    # CONFIG_OMAP2_DSS_DEBUG is not set
    CONFIG_OMAP2_DSS_DEBUGFS=y
    # CONFIG_OMAP2_DSS_COLLECT_IRQ_STATS is not set
    CONFIG_OMAP2_DSS_DPI=y
    # CONFIG_OMAP2_DSS_VENC is not set
    CONFIG_OMAP2_DSS_HDMI_COMMON=y
    // my side
    CONFIG_DRM_OMAP=y
    CONFIG_OMAP2_DSS_INIT=y
    CONFIG_OMAP_DSS_BASE=y
    CONFIG_OMAP2_DSS=y
    # CONFIG_OMAP2_DSS_DEBUG is not set
    # CONFIG_OMAP2_DSS_DEBUGFS is not set
    CONFIG_OMAP2_DSS_DPI=y
    CONFIG_OMAP2_DSS_VENC=y
    CONFIG_OMAP2_DSS_HDMI_COMMON=y
    
    // TI side
    CONFIG_DRM_TIDSS=y
    CONFIG_DRM_TIDSS_DSS6=y
    CONFIG_DRM_TIDSS_DSS7=y
    CONFIG_DRM_LEGACY=y
    // my side
    CONFIG_DRM_TIDSS=y
    CONFIG_DRM_TIDSS_DSS6=y
    # CONFIG_DRM_TIDSS_DSS7 is not set
    CONFIG_DRM_LEGACY=y
    
    // TI side
    # CONFIG_FB_SIMPLE is not set
    CONFIG_FB_SSD1307=y
    # CONFIG_FB_SM712 is not set
    CONFIG_BACKLIGHT_LCD_SUPPORT=y
    # CONFIG_LCD_CLASS_DEVICE is not set
    // my side
    CONFIG_FB_SIMPLE=y
    # CONFIG_FB_SSD1307 is not set
    # CONFIG_FB_SM712 is not set
    CONFIG_BACKLIGHT_LCD_SUPPORT=y
    CONFIG_LCD_CLASS_DEVICE=y
    CONFIG_LCD_PLATFORM=m
    
    // TI side
    CONFIG_DUMMY_CONSOLE=y
    CONFIG_FRAMEBUFFER_CONSOLE=y
    CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
    # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
    # CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER is not set
    # CONFIG_LOGO is not set
    CONFIG_SOUND=y
    // my side
    CONFIG_DUMMY_CONSOLE=y
    CONFIG_FRAMEBUFFER_CONSOLE=y
    CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
    CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
    # CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER is not set
    CONFIG_LOGO=y
    # CONFIG_LOGO_LINUX_MONO is not set
    # CONFIG_LOGO_LINUX_VGA16 is not set
    # CONFIG_LOGO_LINUX_CLUT224 is not set
    CONFIG_LOGO_SIEMENS_CLUT224=y
    # CONFIG_SOUND is not set
    

    I don't see any bug difference there. Maybe FB_SIMPLE? But as I mentioned in my previous post, it was enabled in 4.4.113 and working.

    Could you please point to config which needs to be correct?

    What about the DTB, isn't it also important for FB device? Does ti mean, that my migration was correct? Correct me please, if I ma wrong.

    Thank you,

    Andy

  • Hello Andy,

    Could you please point to config which needs to be correct?

    Kernel architecture has gone through a lot of changes between Kernel 4.4 and 4.9 time frame. PSDK6.0 is a known working baseline and I recommend you to please download our PSDK6.0 and compare the DT/config file. Also, could you please share the boot log in a text file?

    Regards,
    Krunal

  • Hello Krunal,

    yes I already have your PSDK6. Which is the related DTB with included tisdk_am57xx-evm_defconfig?

    Looks like, that OpenGL graphic is fine from kernel perspective (didn't tried from user-space). But I would like get working the frame-buffer device for bootlogo as in 4.4.113. There are missing lines like:

    [    2.298209] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
    [    2.304848] [drm] No driver support for vblank timestamp query.
    [    2.313148] [drm] Enabling DMM ywrap scrolling
    [    2.374269] Console: switching to colour frame buffer device 128x37
    [    2.382565] omapdrm omapdrm.0: fb0: omapdrm frame buffer device

    When we look into bootlog, there is another error: "[    9.296026] dwc3 488d0000.usb: Failed to get clk 'ref': -2". What does it mean?

    Starting kernel ...
    
    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Linux version 4.19.59+gitd9625e (user@host) (gcc version 8.2.0 (GCC)) #1 SMP PREEMPT Mon Oct 28 13:22:30 UTC 2019
    [    0.000000] CPU: ARMv7 Processor [412fc0f2] revision 2 (ARMv7), cr=10c5387d
    [    0.000000] CPU: div instructions available: patching division code
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
    [    0.000000] OF: fdt: Machine model: PXM30
    [    0.000000] Memory policy: Data cache writealloc
    [    0.000000] Reserved memory: created CMA memory pool at 0x95800000, size 56 MiB
    [    0.000000] OF: reserved mem: initialized node ipu2_cma@95800000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created CMA memory pool at 0x99000000, size 64 MiB
    [    0.000000] OF: reserved mem: initialized node dsp1_cma@99000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created CMA memory pool at 0x9d000000, size 32 MiB
    [    0.000000] OF: reserved mem: initialized node ipu1_cma@9d000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created CMA memory pool at 0x9f000000, size 8 MiB
    [    0.000000] OF: reserved mem: initialized node dsp2_cma@9f000000, compatible id shared-dma-pool
    [    0.000000] cma: Reserved 24 MiB at 0xfe000000
    [    0.000000] OMAP4: Map 0xffd00000 to (ptrval) for dram barrier
    [    0.000000] DRA752 ES2.0
    [    0.000000] random: get_random_bytes called from start_kernel+0xa4/0x4a4 with crng_init=0
    [    0.000000] percpu: Embedded 16 pages/cpu s35724 r8192 d21620 u65536
    [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 522047
    [    0.000000] Kernel command line: console=console=ttyMTD,mtdoops console=ttyS2,115200n8 panic=5 root=/dev/nfs nfsroot=192.168.251.2:/home/projects/targetdir/rootfs,vers=3,udp,rsize=4096,wsize=4096,nolock rw ip=192.168.251.1:192.168.251.2:::pxm3:eth0:off
    [    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
    [    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
    [    0.000000] Memory: 1873476K/2095100K available (8192K kernel code, 639K rwdata, 2736K rodata, 1024K init, 269K bss, 33208K reserved, 188416K cma-reserved, 1284092K highmem)
    [    0.000000] Virtual kernel memory layout:
    [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    [    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    [    0.000000]     vmalloc : 0xf0800000 - 0xff800000   ( 240 MB)
    [    0.000000]     lowmem  : 0xc0000000 - 0xf0000000   ( 768 MB)
    [    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    [    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
    [    0.000000]       .text : 0x(ptrval) - 0x(ptrval)   (9184 kB)
    [    0.000000]       .init : 0x(ptrval) - 0x(ptrval)   (1024 kB)
    [    0.000000]       .data : 0x(ptrval) - 0x(ptrval)   ( 640 kB)
    [    0.000000]        .bss : 0x(ptrval) - 0x(ptrval)   ( 270 kB)
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
    [    0.000000] rcu: Preemptible hierarchical RCU implementation.
    [    0.000000] rcu:     RCU priority boosting: priority 1 delay 500 ms.
    [    0.000000]  Tasks RCU enabled.
    [    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
    [    0.000000] OMAP clockevent source: timer1 at 32786 Hz
    [    0.000000] arch_timer: cp15 timer(s) running at 6.14MHz (virt).
    [    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x16af5adb9, max_idle_ns: 440795202250 ns
    [    0.000005] sched_clock: 56 bits at 6MHz, resolution 162ns, wraps every 4398046511023ns
    [    0.000018] Switching to timer-based delay loop, resolution 162ns
    [    0.000290] clocksource: 32k_counter: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 58327039986419 ns
    [    0.000299] OMAP clocksource: 32k_counter at 32768 Hz
    [    0.000702] Console: colour dummy device 80x30
    [    0.000743] Calibrating delay loop (skipped), value calculated using timer frequency.. 12.29 BogoMIPS (lpj=61475)
    [    0.000760] pid_max: default: 32768 minimum: 301
    [    0.000892] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.000907] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.001454] CPU: Testing write buffer coherency: ok
    [    0.001492] CPU0: Spectre v2: firmware did not set auxiliary control register IBE bit, system vulnerable
    [    0.001707] CPU0: update cpu_capacity 1024
    [    0.001720] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
    [    0.059918] Setting up static identity map for 0x80100000 - 0x80100060
    [    0.079916] rcu: Hierarchical SRCU implementation.
    [    0.139998] smp: Bringing up secondary CPUs ...
    [    0.240409] CPU1: update cpu_capacity 1024
    [    0.240416] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
    [    0.240421] CPU1: Spectre v2: using ICIALLU workaround
    [    0.240547] smp: Brought up 1 node, 2 CPUs
    [    0.240559] SMP: Total of 2 processors activated (24.59 BogoMIPS).
    [    0.240568] CPU: All CPU(s) started in SVC mode.
    [    0.241680] devtmpfs: initialized
    [    0.257306] VFP support v0.3: implementor 41 architecture 4 part 30 variant f rev 0
    [    0.257612] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [    0.257631] futex hash table entries: 512 (order: 3, 32768 bytes)
    [    0.260855] pinctrl core: initialized pinctrl subsystem
    [    0.261624] NET: Registered protocol family 16
    [    0.263468] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [    0.264266] omap_hwmod: l3_main_2 using broken dt data from ocp
    [    0.436884] cpuidle: using governor menu
    [    0.446023] OMAP GPIO hardware version 0.1
    [    0.467294] omap4_sram_init:Unable to allocate sram needed to handle errata I688
    [    0.467307] omap4_sram_init:Unable to get sram pool needed to handle errata I688
    [    0.467839] OMAP DMA hardware revision 0.0
    [    0.478160] edma 43300000.edma: memcpy is disabled
    [    0.481632] edma 43300000.edma: TI EDMA DMA engine driver
    [    0.488663] omap-dma-engine 4a056000.dma-controller: OMAP DMA engine driver (LinkedList1/2/3 supported)
    [    0.492180] omap-iommu 40d01000.mmu: 40d01000.mmu registered
    [    0.492362] omap-iommu 40d02000.mmu: 40d02000.mmu registered
    [    0.492604] omap-iommu 58882000.mmu: 58882000.mmu registered
    [    0.492832] omap-iommu 55082000.mmu: 55082000.mmu registered
    [    0.493179] omap-iommu 41501000.mmu: 41501000.mmu registered
    [    0.493341] omap-iommu 41502000.mmu: 41502000.mmu registered
    [    0.494458] vgaarb: loaded
    [    0.494768] usbcore: registered new interface driver usbfs
    [    0.494817] usbcore: registered new interface driver hub
    [    0.494894] usbcore: registered new device driver usb
    [    0.496016] palmas 0-0058: Irq flag is 0x00000008
    [    0.522175] palmas 0-0058: Muxing GPIO 2f, PWM 0, LED 0
    [    0.523790] SMPS12: supplied by regulator-dummy
    [    0.525477] SMPS3: supplied by regulator-dummy
    [    0.527147] SMPS45: supplied by regulator-dummy
    [    0.528964] SMPS6: supplied by regulator-dummy
    [    0.530638] SMPS7: supplied by regulator-dummy
    [    0.531005] smps7: Bringing 0uV into 850000-850000uV
    [    0.533256] SMPS8: supplied by regulator-dummy
    [    0.534529] SMPS9: supplied by regulator-dummy
    [    0.535215] LDO1: supplied by regulator-dummy
    [    0.540668] random: fast init done
    [    0.541300] LDO2: supplied by regulator-dummy
    [    0.551156] LDO3: supplied by regulator-dummy
    [    0.561154] LDO4: supplied by regulator-dummy
    [    0.571176] LDO5: supplied by regulator-dummy
    [    0.571869] LDO6: supplied by regulator-dummy
    [    0.572550] LDO7: supplied by regulator-dummy
    [    0.573247] LDO8: supplied by regulator-dummy
    [    0.573940] LDO9: supplied by regulator-dummy
    [    0.581207] LDOLN: supplied by regulator-dummy
    [    0.591220] LDOUSB: supplied by regulator-dummy
    [    0.603323] omap_i2c 48070000.i2c: bus 0 rev0.12 at 400 kHz
    [    0.603874] omap_i2c 4807c000.i2c: bus 4 rev0.12 at 100 kHz
    [    0.604119] pps_core: LinuxPPS API ver. 1 registered
    [    0.604129] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.604150] PTP clock support registered
    [    0.604924] clocksource: Switched to clocksource arch_sys_counter
    [    0.672546] NET: Registered protocol family 2
    [    0.673143] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes)
    [    0.673172] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
    [    0.673236] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
    [    0.673362] TCP: Hash tables configured (established 8192 bind 8192)
    [    0.673435] UDP hash table entries: 512 (order: 2, 16384 bytes)
    [    0.673469] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
    [    0.673602] NET: Registered protocol family 1
    [    0.694053] RPC: Registered named UNIX socket transport module.
    [    0.694064] RPC: Registered udp transport module.
    [    0.694073] RPC: Registered tcp transport module.
    [    0.694082] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.695217] workingset: timestamp_bits=14 max_order=19 bucket_order=5
    [    0.699774] NFS: Registering the id_resolver key type
    [    0.699800] Key type id_resolver registered
    [    0.699809] Key type id_legacy registered
    [    0.699847] ntfs: driver 2.1.32 [Flags: R/O].
    [    0.701337] bounce: pool size: 64 pages
    [    0.701379] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
    [    0.701390] io scheduler noop registered
    [    0.701399] io scheduler deadline registered
    [    0.701498] io scheduler cfq registered (default)
    [    0.701509] io scheduler mq-deadline registered
    [    0.701518] io scheduler kyber registered
    [    0.704835] phy phy-4a084000.phy.0: Linked as a consumer to regulator.22
    [    0.707161] pinctrl-single 4a003400.pinmux: 282 pins, size 1128
    [    0.711552] pwm-backlight backlight: backlight supply power not found, using dummy regulator
    [    0.711623] pwm-backlight backlight: Linked as a consumer to regulator.0
    [    0.713604] vdd_3v3: supplied by regen1
    [    0.713833] aic_dvdd_fixed: supplied by vdd_3v3
    [    0.713896] vtt_fixed: supplied by smps3
    [    0.758045] Serial: 8250/16550 driver, 10 ports, IRQ sharing disabled
    [    0.760723] console [ttyS2] disabled
    [    0.760774] 48020000.serial: ttyS2 at MMIO 0x48020000 (irq = 43, base_baud = 3000000) is a 8250
    [    1.668485] console [ttyS2] enabled
    [    1.673876] omapdss_dss 58000000.dss: Linked as a consumer to regulator.21
    [    1.680987] omapdss_dss 58000000.dss: Dropping the link to regulator.21
    [    1.698871] loop: module loaded
    [    1.702630] at24 0-0050: 32768 byte 24c256 EEPROM, writable, 64 bytes/write
    [    1.710200] libphy: Fixed MDIO Bus: probed
    [    1.715070] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.4.0-k
    [    1.722063] igb: Copyright (c) 2007-2014 Intel Corporation.
    [    1.784961] davinci_mdio 48485000.mdio: davinci mdio revision 1.6, bus freq 1000000
    [    1.792656] davinci_mdio 48485000.mdio: detected phy mask fffffff7
    [    1.801445] libphy: 48485000.mdio: probed
    [    1.805529] davinci_mdio 48485000.mdio: phy[3]: device 48485000.mdio:03, driver Atheros 8031 ethernet
    [    1.815368] cpsw 48484000.ethernet: Detected MACID = 00:a0:03:f5:1f:90
    [    1.821963] cpsw 48484000.ethernet: initialized cpsw ale version 1.4
    [    1.828393] cpsw 48484000.ethernet: ALE Table size 1024
    [    1.833680] cpsw 48484000.ethernet: cpts: overflow check period 500 (jiffies)
    [    1.843112] dwc3 48890000.usb: Failed to get clk 'ref': -2
    [    1.857714] dwc3 48890000.usb: changing max_speed on rev 5533202a
    [    1.867692] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
    [    1.874252] ehci-pci: EHCI PCI platform driver
    [    1.878779] ehci-platform: EHCI generic platform driver
    [    1.884336] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
    [    1.890600] ohci-pci: OHCI PCI platform driver
    [    1.895132] ohci-platform: OHCI generic platform driver
    [    1.902887] usbcore: registered new interface driver usbtouchscreen
    [    1.912355] palmas-rtc 48070000.i2c:tps659038@58:tps659038_rtc: rtc core: registered 48070000.i2c:tps659038@58:tps659038_rtc as rtc0
    [    1.925220] i2c /dev entries driver
    [    1.930702] cpu cpu0: dev_pm_opp_set_regulators: no regulator (vdd) found: -19
    [    1.938470] sdhci: Secure Digital Host Controller Interface driver
    [    1.944677] sdhci: Copyright(c) Pierre Ossman
    [    1.949666] Synopsys Designware Multimedia Card Interface Driver
    [    1.956346] sdhci-pltfm: SDHCI platform and OF driver helper
    [    1.963562] ledtrig-cpu: registered to indicate activity on CPUs
    [    1.971983] hidraw: raw HID events driver (C) Jiri Kosina
    [    1.977695] usbcore: registered new interface driver usbhid
    [    1.983292] usbhid: USB HID core driver
    [    2.028146] NET: Registered protocol family 10
    [    2.033462] Segment Routing with IPv6
    [    2.037289] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
    [    2.043725] NET: Registered protocol family 17
    [    2.048265] Key type dns_resolver registered
    [    2.052632] ThumbEE CPU extension supported.
    [    2.056971] Registering SWP/SWPB emulation handler
    [    2.061786] omap_voltage_late_init: Voltage driver support not added
    [    2.068204] Power Management for TI OMAP4+ devices.
    [    2.073771] registered taskstats version 1
    [    2.102145] dmm 4e000000.dmm: workaround for errata i878 in use
    [    2.109790] dmm 4e000000.dmm: initialized all PAT entries
    [    2.116644] omapdss_dss 58000000.dss: Linked as a consumer to regulator.21
    [    2.123729] omapdss_dss 58000000.dss: Dropping the link to regulator.21
    [    2.131382] omapdss_dss 58000000.dss: Linked as a consumer to regulator.21
    [    2.138466] omapdss_dss 58000000.dss: Dropping the link to regulator.21
    [    2.146594] input: gpio_keys as /devices/platform/gpio_keys/input/input0
    [    2.154524] palmas-rtc 48070000.i2c:tps659038@58:tps659038_rtc: setting system clock to 2019-10-24 00:04:47 UTC (1571875487)
    [    2.166032] omapdss_dss 58000000.dss: Linked as a consumer to regulator.21
    [    2.173100] omapdss_dss 58000000.dss: Dropping the link to regulator.21
    [    2.180891] net eth0: initializing cpsw version 1.15 (0)
    [    2.288986] Atheros 8031 ethernet 48485000.mdio:03: attached PHY driver [Atheros 8031 ethernet] (mii_bus:phy_addr=48485000.mdio:03, irq=POLL)
    [    2.305942] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
    [    4.412729] cpsw 48484000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
    [    4.434961] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
    [    4.465016] IP-Config: Guessing netmask 255.255.255.0
    [    4.470091] IP-Config: Complete:
    [    4.473335]      device=eth0, hwaddr=00:a0:03:f5:1f:90, ipaddr=192.168.251.1, mask=255.255.255.0, gw=255.255.255.255
    [    4.483927]      host=pxm3, domain=, nis-domain=(none)
    [    4.489106]      bootserver=192.168.251.2, rootserver=192.168.251.2, rootpath=
    [    4.497005] vmmcwl_fixed: disabling
    [    4.500514] aic_dvdd_fixed: disabling
    [    4.504212] pbias_mmc_omap5: disabling
    [    4.545624] VFS: Mounted root (nfs filesystem) on device 0:15.
    [    4.554064] devtmpfs: mounted
    [    4.557795] Freeing unused kernel memory: 1024K
    [    4.562467] Run /sbin/init as init process
    starting pid 64, tty '': '/etc/init.d/rcS'
    vm.panic_on_oom = 2
    vm.swappiness = 0
    kernel.hotplug = NONE
    kernel.sched_rr_timeslice_ms = 10
    ------------- HW init -----------------
    hw-init-PXM30 0501
    set date to build date!!
    Thu Oct 24 00:00:00 UTC 2019
    [    9.280388] omapdss_dss 58000000.dss: Linked as a consumer to regulator.21
    [    9.288102] omapdss_dss 58000000.dss: Dropping the link to regulator.21
    [    9.296026] dwc3 488d0000.usb: Failed to get clk 'ref': -2
    [    9.302939] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
    [    9.308584] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 1
    [    9.317073] xhci-hcd xhci-hcd.0.auto: hcc params 0x0220f04c hci version 0x100 quirks 0x0000000002010010
    [    9.326675] xhci-hcd xhci-hcd.0.auto: irq 179, io mem 0x488d0000
    [    9.333708] hub 1-0:1.0: USB hub found
    [    9.337576] hub 1-0:1.0: 1 port detected
    [    9.342034] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
    [    9.347646] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 2
    [    9.355412] xhci-hcd xhci-hcd.0.auto: Host supports USB 3.0 SuperSpeed
    [    9.362082] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
    [    9.371002] hub 2-0:1.0: USB hub found
    [    9.374837] hub 2-0:1.0: 1 port detected
    [    9.380268] omapdss_dss 58000000.dss: Linked as a consumer to regulator.21
    [    9.387469] omapdss_dss 58000000.dss: Dropping the link to regulator.21
    [    9.399856] powerfail: loading out-of-tree module taints kernel.
    [    9.406891] powerfail: signal will be sent with a delay of 20 ms
    [    9.413428] omapdss_dss 58000000.dss: Linked as a consumer to regulator.21
    [    9.421091] omapdss_dss 58000000.dss: Dropping the link to regulator.21
    [    9.499163] random: crng init done
    [    9.686247] [drm] Initialized pvr 1.17.4948957 20110701 for 56000000.gpu on minor 0
    [    9.694556] omapdss_dss 58000000.dss: Linked as a consumer to regulator.21
    [    9.702843] omapdss_dss 58000000.dss: Dropping the link to regulator.21
    [    9.705028] usb 1-1: new full-speed USB device number 2 using xhci-hcd
    [    9.722646] PVR_K: UM DDK-(4948957) and KM DDK-(4948957) match. [ OK ]
    pxm3 login:
    

    Regards,

    Andy

  • I think, that I have identified the problem.

    DTS:

    lcd0: display {
    	compatible = "cptt, claa070nj07", "panel-dpi";

    Kernel 4.4.113 has available "drivers/gpu/drm/omapdrm/displays/panel-dpi.c" via "CONFIG_DISPLAY_PANEL_DPI", but was removed from 4.19.59 . So what is the DTS replacement for "panel-dpi"?

    Andy

  • Hi Andy,

    The "panel-dpi" was an omapdrm specific panel driver. On Kernel 4.19, the community has moved to common panel drivers called "panel-simple". Please refer to the following thread for setting up LCD on new kernel.

    Regards,
    Krunal

  • Hi Krunal,

    I was thinking about simple replacement. I know about the "panel-simple", then I need to port 3 others display there. Anyway, that is not a problem at all. Finally frame-buffer device is working fine.

    What about my previous questions regarding to dts and dwc3?

    Regards,

    Andy

  • Hi Andy,

    Andrej Valek said:
    When we look into bootlog, there is another error: "[    9.296026] dwc3 488d0000.usb: Failed to get clk 'ref': -2". What does it mean?

    I guess your USB is functional, right?

    This error message can be ignored. In last year, the usb drivers made a change in which the dwc3 core driver handles the usb module clocks, which was handled in the vendor's wrapper driver previously. So the dwc3 device tree node has to defined those clock entries. This new change is only mandatory for any new device drivers which use the dwc3 controller, and it is optional to any existing devices. So the AM57x device tree doesn't define those clock entries in its dwc3 node, which causes the clock driver printing this message, but it is harmless.

  • Hi Krunal,

    Yes, USB is working fine, so I will ignore this error.

    After some integration, seems, that OpenGL driver is working.

    I have tested it with qt application based on EGLFS (-platform eglfs --no-sandbox). But, when I wanted to run my target application based on webengine it crashed.

    Same for webengine example (minimal). It works, when I disable gpu (-platform eglfs --disable-gpu --no-sandbox) or run it on framebuffer instead of eglfs (-platform linux-fb --no-sandbox).

    Attribute Qt::AA_ShareOpenGLContexts must be set before QCoreApplication is created.
    [749:765:1107/000242.747322:ERROR:gl_ozone_egl_qt.cpp(102)] eglGetProcAddress not found.
    [749:765:1107/000247.507985:ERROR:gl_surface_egl_qt.cpp(204)] Trying to create surface with invalid display.
    Segmentation fault
    
    Starting program: /home/qt/minimal -platform eglfs --no-sandbox
    [Thread debugging using libthread_db enabled]
    Using host libthread_db library "/lib/libthread_db.so.1".
    [New Thread 0xae83b3a0 (LWP 1049)]
    [New Thread 0xadfb03a0 (LWP 1050)]
    [New Thread 0xac17a3a0 (LWP 1051)]
    [Detaching after fork from child process 1052]
    [New Thread 0xab9793a0 (LWP 1053)]
    [New Thread 0xab1783a0 (LWP 1054)]
    [New Thread 0xaa9773a0 (LWP 1055)]
    [New Thread 0xaa1763a0 (LWP 1056)]
    [New Thread 0xa99753a0 (LWP 1057)]
    [New Thread 0xa91743a0 (LWP 1058)]
    [New Thread 0xa89733a0 (LWP 1059)]
    [New Thread 0xa81723a0 (LWP 1060)]
    [New Thread 0xa79713a0 (LWP 1061)]
    [New Thread 0xa71703a0 (LWP 1062)]
    [New Thread 0xa616e3a0 (LWP 1064)]
    [New Thread 0xa696f3a0 (LWP 1063)]
    [New Thread 0xa596d3a0 (LWP 1065)]
    [1044:1063:1107/003854.896628:ERROR:gl_ozone_egl_qt.cpp(107)] eglGetProcAddress not found.
    [New Thread 0xa516c3a0 (LWP 1066)]
    [New Thread 0xa496b3a0 (LWP 1067)]
    [New Thread 0xa416a3a0 (LWP 1068)]
    [New Thread 0xa39693a0 (LWP 1069)]
    [1044:1063:1107/003855.022093:ERROR:gl_surface_egl_qt.cpp(204)] Trying to create surface with invalid display.
    
    Thread 18 "Chrome_InProcGp" received signal SIGSEGV, Segmentation fault.
    [Switching to Thread 0xa696f3a0 (LWP 1063)]
    0xb49f3df2 in ?? () from /usr/lib/libQt5WebEngineCore.so.5
    

    So what's the problem there?

    Regards,

    Andy

  • Hello Andy,

    As documented in our release notes, Chromium-Wayland browser is not working on PSDK6.0 (Kernel 4.19). If possible, please use Qtwebkit browser. 

    Regards,
    Krunal

  • Hello Krunal,

    Good to know, that is not working. But... I have made a workaround on my side. I have looked into your OpenGL libraries and identified that symbol is only in libEGL instead of libGLESv2. So I have re-implement the stuff in QT to take this library instead of the second one.

    Please let me know, when the official solution is sight.

    Regards,

    Andy

  • Hello Andy,

    The issue will be addressed on our next PSDK release.

    Regards,
    Krunal

  • Hello Krunal,

    I have found another issues, which are disturbing me:

    [    0.448477] OMAP GPIO hardware version 0.1
    [    0.469749] omap4_sram_init:Unable to allocate sram needed to handle errata I688
    [    0.469763] omap4_sram_init:Unable to get sram pool needed to handle errata I688
    [    0.470297] OMAP DMA hardware revision 0.0
    ...
    [    1.974888] omap_gpio 4805d000.gpio: Could not set line 27 debounce to 200000 microseconds (-22)
    [    1.983740] sdhci-omap 4809c000.mmc: Got CD GPIO
    [    1.988517] sdhci-omap 4809c000.mmc: Linked as a consumer to regulator.27
    [    1.995381] sdhci-omap 4809c000.mmc: 4809c000.mmc supply vqmmc not found, using dummy regulator
    [    2.004147] sdhci-omap 4809c000.mmc: Linked as a consumer to regulator.0
    [    2.010945] sdhci-omap 4809c000.mmc: Dropping the link to regulator.0
    [    2.017641] sdhci-omap 4809c000.mmc: Linked as a consumer to regulator.12
    [    2.024525] sdhci-omap 4809c000.mmc: no pinctrl state for sdr104 mode
    [    2.031024] sdhci-omap 4809c000.mmc: no pinctrl state for ddr50 mode
    [    2.037446] sdhci-omap 4809c000.mmc: no pinctrl state for sdr50 mode
    [    2.043825] sdhci-omap 4809c000.mmc: no pinctrl state for sdr25 mode
    [    2.050235] sdhci-omap 4809c000.mmc: no pinctrl state for sdr12 mode
    [    2.056652] sdhci-omap 4809c000.mmc: no pinctrl state for ddr_1_8v mode
    [    2.063292] sdhci-omap 4809c000.mmc: no pinctrl state for ddr_3_3v mode
    [    2.069943] sdhci-omap 4809c000.mmc: no pinctrl state for hs200_1_8v mode
    [    2.103832] mmc0: SDHCI controller on 4809c000.mmc [4809c000.mmc] using ADMA
    [    2.111428] sdhci-omap: probe of 480b4000.mmc failed with error -22

    How to fix the errors/failures?

    Regards,
    Andy

  • Hello Andy,

    Please create another thread for sdhci issues because the main emphasis of the current thread is graphics issues.

    Regards,
    Krunal