hansemro / kc1-linux

Documentation of mainline Linux on First Generation Kindle Fire
GNU General Public License v2.0
4 stars 0 forks source link

Add framebuffer and LCD panel support to device tree #5

Open hansemro opened 3 years ago

hansemro commented 3 years ago

Resources:

Device tree resources:

Hardware details:

Notes:

DSS configuration (from 3.4.48):

framebuffers -- overlays -- managers -- displays
FB0 --- GFX --\    LCD ---- (none)
        VID1   \   TV ----- (none)
        VID2    \- LCD2 --- LCD2
        VID3

Timings (pixclock in kHz,xres/hfp/hbp/hsw,yres/vfp/vbp/vsw): 51200,1024/160/150/10,600/12/20/3

dpll4_ck (?) = 1536000000 Hz
DSS_FCLK = (dpll4_ck / 9) = 170666666 Hz
DSS_CLK = DSS_FCLK = 170666666 Hz (?)
PLL2_CLK1 = 153600000 Hz
DISPC_FCLK = PLL2_CLK1 = 153600000 Hz
LCD2_CLK (DSI2 functional clock) = PLL2_CLK1 = 153600000 Hz
LCD2 (lck div) = DISPC_DIVISOR2[23:16] = 1
PCD2 (pck div) = DISPC_DIVISOR2[7:0] = 3
LC2_PCLK  = (LCD2_CLK  / LCD2) / PCD2 = 51200000 Hz
hansemro commented 3 years ago

Reference:

arch/arm/boot/dts/omap4-kc1.dts:

/ {
    ...
    reserved-memory {
        #address-cells = <1>;
        #size-cells = <1>;
        ranges;

        framebuffer_region@9fec4000 {
            no-map;
            reg = <0x9fec4000 (600 * 1024 * 4)>;
        };
    };

    chosen {
        #address-cells = <1>;
        #size-cells = <1>;
        ranges;

        framebuffer0@9fec4000 {
            compatible = "simple-framebuffer";
            reg = <0x9fec4000 (600 * 1024 * 4)>;
            width = <600>;
            height = <1024>;
            stride = <(600 * 4)>;
            format = "r5g6b5";
            status = "okay";
        };
    };
    ...
};

Kernel log:

[    0.842529] simple-framebuffer 9fec4000.framebuffer0: framebuffer at 0x9fec4000, 0x258000 bytes, mapped to 0x(ptrval)
[    0.842590] simple-framebuffer 9fec4000.framebuffer0: format=r5g6b5, mode=600x1024x16, linelength=2400
[    0.850769] Console: switching to colour frame buffer device 75x64
[    0.855682] simple-framebuffer 9fec4000.framebuffer0: fb0: simplefb registered!

Before the login prompt, the kernel seems to hang.

hansemro commented 3 years ago

Adding the following lines to enable dss (which is disabled by default) solved the hanging issue:

&dss {
    status = "okay";
};

However, there is still no backlight available.

hansemro commented 3 years ago

Never mind, the device still hangs before the login prompt can be reached.

hansemro commented 3 years ago

Setting framebuffer address to 0x9e600000 seems to create a framebuffer device without halting the system. However, I can't be certain about the address.

hansemro commented 3 years ago
amazon-otter:~# cat /sys/class/graphics/fb0/phys_addr 
9e800000
amazon-otter:~# cat /sys/class/graphics/fb0/size
8388608
amazon-otter:~# cat /sys/class/graphics/fb0/virtual_size 
1024,600
amazon-otter:~# cat /sys/class/graphics/fb0/bits_per_pixel 
32
amazon-otter:~# cat /sys/class/graphics/fb0/modes
U:1024x600p-59
amazon-otter:~# cat /sys/class/graphics/fb1/phys_addr 
9f000000
amazon-otter:~# cat /sys/class/graphics/fb1/size
4915200
amazon-otter:~# cat /sys/class/graphics/fb1/virtual_size
1024,600
amazon-otter:~# cat /sys/class/graphics/fb1/bits_per_pixel 
32
amazon-otter:~# cat /sys/class/graphics/fb1/modes
U:1024x600p-59
amazon-otter:~# uname -a
Linux amazon-otter 3.4.48+ #24 SMP PREEMPT Tue Mar 2 01:53:11 PST 2021 armv7l GNU/Linux
hansemro commented 3 years ago

For a brief moment, the screen was yellow when using the following device tree. However, the tablet quickly proceeds to halt. Either way, I think this cements that the framebuffer address was correctly identified by U-Boot.

/ {
    ...
    reserved-memory {
        #address-cells = <1>;
        #size-cells = <1>;
        ranges;

        framebuffer_region@9fec4000 {
            no-map;
            reg = <0x9fec4000 (1024 * 600 * 4)>;
        };
    };

    chosen {
        #address-cells = <1>;
        #size-cells = <1>;
        ranges;

        stdout-path = "serial2";

        framebuffer0@9fec4000 {
            compatible = "simple-framebuffer";
            reg = <0x9fec4000 (1024 * 600 * 4)>;
            width = <1024>;
            height = <600>;
            stride = <(1024 * 4)>;
            format = "a8b8g8r8";
            status = "okay";
        };
    };
    ...
};
...
&dss {
    status = "disabled";
    dispc@0  {
        status = "disabled";
    };
};

&dsi1 {
    status = "disabled";
};

&dsi2 {
    status = "disabled";
};

Interestingly, I had to use earlycon to show kernel messages through UART serial console.

hansemro commented 3 years ago

Leaving the framebuffer address at 0x9fec4000 and reserving from 9fec0000 onwards, the penguins show up for less than a second before the lcd backlight goes off and hangs.

image

mj-sakellaropoulos commented 3 years ago

I can confirm that with the same framebuffer entry, I get the same result. There is variability in the following:

Constant: Foreground color always yellow.

This is happening because u-boot has already configured the display subsystem, but somewhere in the kernel initialization some settings are being changed thus being incompatible (I think???).

Right now I'm trying to port the DPI pinmux configuration from uBoot and configure DSS to use DPI LCD2 https://github.com/hansemro/kf_u-boot/blob/p-ti-u-boot-2014.01/board/ti/omap4_kc1/kc1_mux_data.h https://www.kernel.org/doc/Documentation/arm/OMAP/DSS https://elixir.bootlin.com/linux/v5.10.31/source/Documentation/devicetree/bindings/display/ti/ti,omap-dss.txt Note: panel-dpi and similar bindings were removed sometime after kernel 4.x

Edit: DPI pinout is same as pandaboard but instead of going to an encoder it goes straight to the panel (?)

dss_dpi_pins: pinmux_dss_dpi_pins {
pinctrl-single,pins = <
    OMAP4_IOPAD(0x162, PIN_OUTPUT | MUX_MODE5)  /* dispc2_data23 */
    OMAP4_IOPAD(0x164, PIN_OUTPUT | MUX_MODE5)  /* dispc2_data22 */
    OMAP4_IOPAD(0x166, PIN_OUTPUT | MUX_MODE5)  /* dispc2_data21 */
    OMAP4_IOPAD(0x168, PIN_OUTPUT | MUX_MODE5)  /* dispc2_data20 */
    OMAP4_IOPAD(0x16a, PIN_OUTPUT | MUX_MODE5)  /* dispc2_data19 */
    OMAP4_IOPAD(0x16c, PIN_OUTPUT | MUX_MODE5)  /* dispc2_data18 */
    OMAP4_IOPAD(0x16e, PIN_OUTPUT | MUX_MODE5)  /* dispc2_data15 */
    OMAP4_IOPAD(0x170, PIN_OUTPUT | MUX_MODE5)  /* dispc2_data14 */
    OMAP4_IOPAD(0x172, PIN_OUTPUT | MUX_MODE5)  /* dispc2_data13 */
    OMAP4_IOPAD(0x174, PIN_OUTPUT | MUX_MODE5)  /* dispc2_data12 */
    OMAP4_IOPAD(0x176, PIN_OUTPUT | MUX_MODE5)  /* dispc2_data11 */

    OMAP4_IOPAD(0x1b4, PIN_OUTPUT | MUX_MODE5)  /* dispc2_data10 */
    OMAP4_IOPAD(0x1b6, PIN_OUTPUT | MUX_MODE5)  /* dispc2_data9 */
    OMAP4_IOPAD(0x1b8, PIN_OUTPUT | MUX_MODE5)  /* dispc2_data16 */
    OMAP4_IOPAD(0x1ba, PIN_OUTPUT | MUX_MODE5)  /* dispc2_data17 */
    OMAP4_IOPAD(0x1bc, PIN_OUTPUT | MUX_MODE5)  /* dispc2_hsync */
    OMAP4_IOPAD(0x1be, PIN_OUTPUT | MUX_MODE5)  /* dispc2_pclk */
    OMAP4_IOPAD(0x1c0, PIN_OUTPUT | MUX_MODE5)  /* dispc2_vsync */
    OMAP4_IOPAD(0x1c2, PIN_OUTPUT | MUX_MODE5)  /* dispc2_de */
    OMAP4_IOPAD(0x1c4, PIN_OUTPUT | MUX_MODE5)  /* dispc2_data8 */
    OMAP4_IOPAD(0x1c6, PIN_OUTPUT | MUX_MODE5)  /* dispc2_data7 */
    OMAP4_IOPAD(0x1c8, PIN_OUTPUT | MUX_MODE5)  /* dispc2_data6 */
    OMAP4_IOPAD(0x1ca, PIN_OUTPUT | MUX_MODE5)  /* dispc2_data5 */
    OMAP4_IOPAD(0x1cc, PIN_OUTPUT | MUX_MODE5)  /* dispc2_data4 */
    OMAP4_IOPAD(0x1ce, PIN_OUTPUT | MUX_MODE5)  /* dispc2_data3 */

    OMAP4_IOPAD(0x1d0, PIN_OUTPUT | MUX_MODE5)  /* dispc2_data2 */
    OMAP4_IOPAD(0x1d2, PIN_OUTPUT | MUX_MODE5)  /* dispc2_data1 */
    OMAP4_IOPAD(0x1d4, PIN_OUTPUT | MUX_MODE5)  /* dispc2_data0 */
>;
};
mj-sakellaropoulos commented 3 years ago

For simple-framebuffer, I think something similar to https://github.com/drebrez/linux/commit/c2fa556f2cc754c8e2114dbbeaa4e8258de3e16a needs to be done. DSS initializing will overwrite the config from u-boot, breaking the framebuffer (?) However, the relevant portions have been refactored/renamed/moved somewhere else in mainline - still tracking it down

Edit: There are multiple reports of the yellow/orange screen with OMAP processors. Default DSS color ? I have compiled linux without DSS, omapdrm or omapfb and still get the yellow screen.

hansemro commented 3 years ago

FWIW, I've noticed that when the kernel starts handling pin configuration (pinctrl), the screen goes off.

mj-sakellaropoulos commented 3 years ago

FWIW, I've noticed that when the kernel starts handling pin configuration (pinctrl), the screen goes off.

Maybe somehow its resetting the backlight IC over SPI

I have tried a lot of combinations so far. Either I can get a yellow screen from the start or the screen turns off right away. Right now I'm blind until the 1v8 serial adapter arrives, so its pretty difficult.

hansemro commented 3 years ago

I've tested with 3.3 V BusPirate (for reads only) and it seems to work.

mj-sakellaropoulos commented 3 years ago

I've tested with 3.3 V BusPirate (for reads only) and it seems to work.

Oh good idea, I have one of those

Now that I think of it, the GPIO47 is probably getting reset to LOW (or whatever means off) - turning off the backlight. Can that pin be forced via devicetree ?

hansemro commented 3 years ago

However, the relevant portions have been refactored/renamed/moved somewhere else in mainline - still tracking it down

5.12-5.13+ will likely move to more generic APIs https://patchwork.kernel.org/project/linux-omap/cover/20210308134627.13056-1-tony@atomide.com/ https://patchwork.kernel.org/project/linux-omap/cover/20210308133910.12454-1-tony@atomide.com/ https://patchwork.kernel.org/project/linux-omap/cover/20201208122855.254819-1-tomi.valkeinen@ti.com/

hansemro commented 3 years ago

arch/arm/boot/dts/omap4-kc1.dts:

/* comment out framebuffer in root */

&dss {
    status = "okay";
};

&dsi2 {
    status = "okay";
    vdd-supply = <&vcxio>;
};
Kernel dmesg
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 5.11.0+ (clfs@ds3h) (arm-none-linux-gnueabihf-gcc (GNU Toolchain for the A-profile Architecture 10.2-2020.11 (arm-10.16)) 10.2.1 20201103, GNU ld (GNU Toolchain for the A-profile Architecture 10.2-2020.11 (arm-10.16)) 2.35.1.20201028) #33 SMP Wed Apr 21 21:20:33 PDT 2021
[    0.000000] CPU: ARMv7 Processor [411fc093] revision 3 (ARMv7), cr=10c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt: Machine model: Amazon Kindle Fire (first generation)
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] cma: Reserved 16 MiB at 0x9e800000
[    0.000000] OMAP4: Map 0x9fe00000 to (ptrval) for dram barrier
[    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] OMAP4430 ES2.3
[    0.000000] percpu: Embedded 20 pages/cpu s52332 r8192 d21396 u81920
[    0.000000] pcpu-alloc: s52332 r8192 d21396 u81920 alloc=20*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 129412
[    0.000000] Kernel command line: console=ttyO2,115200n8 androidboot.wifimac=F0A225D07EFA androidboot.serialno=D01EB0A0147327BN androidboot.hardware=otterx rw root=/dev/mmcblk0p9 vram=24M omapfb.mode=lcd2:1024x600@60 omapfb.debug=y omapfb.vram=0:8M omapdss.def_disp=lcd2 omapdss.debug=y omapfb.test=y rootwait console=ttyO2,115200
[    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: 474248K/522240K available (12288K kernel code, 1151K rwdata, 4004K rodata, 1024K init, 6444K bss, 31608K reserved, 16384K cma-reserved, 0K highmem)
[    0.000000] Running RCU self tests
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu:     RCU event tracing is enabled.
[    0.000000] rcu:     RCU lockdep checking is 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] L2C: platform modifies aux control register: 0x1e070000 -> 0x3e470000
[    0.000000] L2C: DT/platform modifies aux control register: 0x1e070000 -> 0x3e470000
[    0.000000] L2C-310 erratum 727915 enabled
[    0.000000] L2C-310 enabling early BRESP for Cortex-A9
[    0.000000] L2C-310 ID prefetch enabled, offset 6 lines
[    0.000000] L2C-310 cache controller enabled, 16 ways, 1024 kB
[    0.000000] L2C-310: CACHE_ID 0x410000c4, AUX_CTRL 0x7e470000
[    0.000000] random: get_random_bytes called from start_kernel+0x2b4/0x4e4 with crng_init=0
[    0.000000] OMAP clocksource: 32k_counter at 32768 Hz
[    0.000000] clocksource: 32k_counter: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 58327039986419 ns
[    0.000000] sched_clock: 32 bits at 32kHz, resolution 30517ns, wraps every 65535999984741ns
[    0.001190] TI gptimer clockevent: always-on 32768 Hz at /ocp/interconnect@4a300000/segment@10000/target-module@8000
[    0.004882] Console: colour dummy device 80x30
[    0.004913] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
[    0.004943] ... MAX_LOCKDEP_SUBCLASSES:  8
[    0.004974] ... MAX_LOCK_DEPTH:          48
[    0.004974] ... MAX_LOCKDEP_KEYS:        8192
[    0.005004] ... CLASSHASH_SIZE:          4096
[    0.005004] ... MAX_LOCKDEP_ENTRIES:     32768
[    0.005035] ... MAX_LOCKDEP_CHAINS:      65536
[    0.005035] ... CHAINHASH_SIZE:          32768
[    0.005065]  memory used by lock dependency info: 4061 kB
[    0.005096]  memory used for stack traces: 2112 kB
[    0.005096]  per task-struct memory footprint: 1536 bytes
[    0.005187] Calibrating delay loop... 2000.48 BogoMIPS (lpj=10002432)
[    0.119781] pid_max: default: 32768 minimum: 301
[    0.120147] LSM: Security Framework initializing
[    0.120269] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.120300] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.124633] CPU: Testing write buffer coherency: ok
[    0.124786] CPU0: Spectre v2: using BPIALL workaround
[    0.125823] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.125885] smp: CPU1 parked within kernel, needs reset (0x0 0x801263b4)
[    0.128570] Setting up static identity map for 0x80100000 - 0x80100078
[    0.129302] rcu: Hierarchical SRCU implementation.
[    0.131713] smp: Bringing up secondary CPUs ...
[    0.189758] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.189788] CPU1: Spectre v2: using BPIALL workaround
[    0.191040] smp: Brought up 1 node, 2 CPUs
[    0.191070] SMP: Total of 2 processors activated (4007.52 BogoMIPS).
[    0.191101] CPU: All CPU(s) started in SVC mode.
[    0.193817] devtmpfs: initialized
[    0.274688] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
[    0.277252] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.277313] futex hash table entries: 512 (order: 3, 32768 bytes, linear)
[    0.278839] pinctrl core: initialized pinctrl subsystem
[    0.281585] regulator-dummy: no parameters, enabled
[    0.284881] NET: Registered protocol family 16
[    0.292633] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.298889] omap_hwmod: l3_main_3 using broken dt data from ocp
[    0.304931] omap_hwmod: l3_main_2 using broken dt data from ocp
[    0.351898] audit: initializing netlink subsys (disabled)
[    0.355285] thermal_sys: Registered thermal governor 'step_wise'
[    0.355316] thermal_sys: Registered thermal governor 'user_space'
[    0.355865] audit: type=2000 audit(0.350:1): state=initialized audit_enabled=0 res=1
[    0.356781] cpuidle: using governor menu
[    0.510314] No ATAGs?
[    0.510650] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
[    0.510742] hw-breakpoint: maximum watchpoint size is 4 bytes.
[    0.578094] iommu: Default domain type: Translated 
[    0.584014] SCSI subsystem initialized
[    0.584716] libata version 3.00 loaded.
[    0.585571] usbcore: registered new interface driver usbfs
[    0.586059] usbcore: registered new interface driver hub
[    0.586181] usbcore: registered new device driver usb
[    0.588531] pps_core: LinuxPPS API ver. 1 registered
[    0.588562] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti 
[    0.588623] PTP clock support registered
[    0.594177] clocksource: Switched to clocksource 32k_counter
[    0.915374] VFS: Disk quotas dquot_6.6.0
[    0.915588] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    0.966888] NET: Registered protocol family 2
[    1.394836] tcp_listen_portaddr_hash hash table entries: 256 (order: 1, 11264 bytes, linear)
[    1.394927] TCP established hash table entries: 4096 (order: 2, 16384 bytes, linear)
[    1.395019] TCP bind hash table entries: 4096 (order: 5, 163840 bytes, linear)
[    1.395446] TCP: Hash tables configured (established 4096 bind 4096)
[    1.395874] UDP hash table entries: 256 (order: 2, 24576 bytes, linear)
[    1.395996] UDP-Lite hash table entries: 256 (order: 2, 24576 bytes, linear)
[    1.396514] NET: Registered protocol family 1
[    1.399169] RPC: Registered named UNIX socket transport module.
[    1.399291] RPC: Registered udp transport module.
[    1.399322] RPC: Registered tcp transport module.
[    1.399322] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    1.401123] PCI: CLS 0 bytes, default 64
[    1.404632] hw perfevents: no irqs for PMU, sampling events not supported
[    1.405090] hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available
[    1.410278] Initialise system trusted keyrings
[    1.411102] workingset: timestamp_bits=14 max_order=17 bucket_order=3
[    1.415069] NFS: Registering the id_resolver key type
[    1.415222] Key type id_resolver registered
[    1.415313] Key type id_legacy registered
[    1.415527] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
[    1.416839] Key type asymmetric registered
[    1.416961] Asymmetric key parser 'x509' registered
[    1.417144] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249)
[    1.417266] io scheduler mq-deadline registered
[    1.417297] io scheduler kyber registered
[    1.431365] gpio gpiochip0: (gpio-0-31): added GPIO chardev (254:0)
[    1.432006] gpio gpiochip0: registered GPIOs 0 to 31 on gpio-0-31
[    1.432250] OMAP GPIO hardware version 0.1
[    1.509674] omap-dma-engine 4a056000.dma-controller: OMAP DMA engine driver (LinkedList1/2/3 supported)
[    1.536437] omap-mailbox 4a0f4000.mailbox: omap mailbox rev 0x400
[    1.559631] gpio gpiochip1: (gpio-32-63): added GPIO chardev (254:1)
[    1.559967] gpio gpiochip1: registered GPIOs 32 to 63 on gpio-32-63
[    1.563415] gpio gpiochip2: (gpio-64-95): added GPIO chardev (254:2)
[    1.563720] gpio gpiochip2: registered GPIOs 64 to 95 on gpio-64-95
[    1.567230] gpio gpiochip3: (gpio-96-127): added GPIO chardev (254:3)
[    1.567535] gpio gpiochip3: registered GPIOs 96 to 127 on gpio-96-127
[    1.571014] gpio gpiochip4: (gpio-128-159): added GPIO chardev (254:4)
[    1.571289] gpio gpiochip4: registered GPIOs 128 to 159 on gpio-128-159
[    1.574981] gpio gpiochip5: (gpio-160-191): added GPIO chardev (254:5)
[    1.575256] gpio gpiochip5: registered GPIOs 160 to 191 on gpio-160-191
[    1.624664] omap-gpmc 50000000.gpmc: GPMC revision 6.0
[    1.624969] gpmc_mem_init: disabling cs 0 mapped at 0x0-0x1000000
[    1.625061] gpiochip_find_base: found new base at 508
[    1.626708] gpio gpiochip6: (omap-gpmc): added GPIO chardev (254:6)
[    1.627014] gpio gpiochip6: registered GPIOs 508 to 511 on omap-gpmc
[    1.640686] phy phy-4a0ad080.usb2phy.0: Looking up phy-supply from device tree
[    1.640747] phy phy-4a0ad080.usb2phy.0: Looking up phy-supply property in node /ocp/interconnect@4a000000/segment@80000/target-module@2d000/ocp2scp@0/usb2phy@80 failed
[    1.646850] pinctrl-single 4a31e040.pinmux: 28 pins, size 56
[    1.649322] pinctrl-single 4a100040.pinmux: 203 pins, size 406
[    1.674926] pbias_mmc_omap4: 1800 <--> 3000 mV at 3000 mV, disabled
[    1.676788] ti_abb 4a307bd0.regulator-abb-mpu: Missing 'efuse-address' IO resource
[    1.676940] ti_abb 4a307bd0.regulator-abb-mpu: [0]v=1025000 ABB=0 ef=0x0 rbb=0x0 fbb=0x0 vset=0x0
[    1.676971] ti_abb 4a307bd0.regulator-abb-mpu: [1]v=1200000 ABB=0 ef=0x0 rbb=0x0 fbb=0x0 vset=0x0
[    1.677032] ti_abb 4a307bd0.regulator-abb-mpu: [2]v=1313000 ABB=0 ef=0x0 rbb=0x0 fbb=0x0 vset=0x0
[    1.677062] ti_abb 4a307bd0.regulator-abb-mpu: [3]v=1375000 ABB=1 ef=0x0 rbb=0x0 fbb=0x0 vset=0x0
[    1.677124] ti_abb 4a307bd0.regulator-abb-mpu: [4]v=1389000 ABB=1 ef=0x0 rbb=0x0 fbb=0x0 vset=0x0
[    1.677215] ti_abb 4a307bd0.regulator-abb-mpu: ti_abb_init_timings: Clk_rate=38400000, sr2_cnt=0x0000007d
[    1.677307] abb_mpu: 1025 <--> 1389 mV, enabled
[    1.682739] omap_uart 48020000.serial: GPIO lookup for consumer rs485-term
[    1.682769] omap_uart 48020000.serial: using device tree for GPIO lookup
[    1.682830] of_get_named_gpiod_flags: can't parse 'rs485-term-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@20000/serial@0[0]'
[    1.682952] of_get_named_gpiod_flags: can't parse 'rs485-term-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@20000/serial@0[0]'
[    1.683044] omap_uart 48020000.serial: using lookup tables for GPIO lookup
[    1.683197] omap_uart 48020000.serial: No GPIO consumer rs485-term found
[    1.683227] omap_uart 48020000.serial: GPIO lookup for consumer rts
[    1.683258] omap_uart 48020000.serial: using device tree for GPIO lookup
[    1.683288] of_get_named_gpiod_flags: can't parse 'rts-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@20000/serial@0[0]'
[    1.683410] of_get_named_gpiod_flags: can't parse 'rts-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@20000/serial@0[0]'
[    1.683532] omap_uart 48020000.serial: using lookup tables for GPIO lookup
[    1.683563] omap_uart 48020000.serial: No GPIO consumer rts found
[    1.684844] 48020000.serial: ttyO2 at MMIO 0x48020000 (irq = 113, base_baud = 3000000) is a OMAP UART2
[    2.891540] printk: console [ttyO2] enabled
[    2.899353] omap_uart 4806a000.serial: no wakeirq for uart0
[    2.905364] omap_uart 4806a000.serial: GPIO lookup for consumer rs485-term
[    2.912597] omap_uart 4806a000.serial: using device tree for GPIO lookup
[    2.919799] of_get_named_gpiod_flags: can't parse 'rs485-term-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@6a000/serial@0[0]'
[    2.934722] of_get_named_gpiod_flags: can't parse 'rs485-term-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@6a000/serial@0[0]'
[    2.949493] omap_uart 4806a000.serial: using lookup tables for GPIO lookup
[    2.956787] omap_uart 4806a000.serial: No GPIO consumer rs485-term found
[    2.963836] omap_uart 4806a000.serial: GPIO lookup for consumer rts
[    2.970489] omap_uart 4806a000.serial: using device tree for GPIO lookup
[    2.977600] of_get_named_gpiod_flags: can't parse 'rts-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@6a000/serial@0[0]'
[    2.991821] of_get_named_gpiod_flags: can't parse 'rts-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@6a000/serial@0[0]'
[    3.005950] omap_uart 4806a000.serial: using lookup tables for GPIO lookup
[    3.013214] omap_uart 4806a000.serial: No GPIO consumer rts found
[    3.020233] 4806a000.serial: ttyO0 at MMIO 0x4806a000 (irq = 124, base_baud = 3000000) is a OMAP UART0
[    3.031951] omap_uart 4806c000.serial: no wakeirq for uart1
[    3.037933] omap_uart 4806c000.serial: GPIO lookup for consumer rs485-term
[    3.045288] omap_uart 4806c000.serial: using device tree for GPIO lookup
[    3.052368] of_get_named_gpiod_flags: can't parse 'rs485-term-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@6c000/serial@0[0]'
[    3.067260] of_get_named_gpiod_flags: can't parse 'rs485-term-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@6c000/serial@0[0]'
[    3.082000] omap_uart 4806c000.serial: using lookup tables for GPIO lookup
[    3.089324] omap_uart 4806c000.serial: No GPIO consumer rs485-term found
[    3.096435] omap_uart 4806c000.serial: GPIO lookup for consumer rts
[    3.103027] omap_uart 4806c000.serial: using device tree for GPIO lookup
[    3.110168] of_get_named_gpiod_flags: can't parse 'rts-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@6c000/serial@0[0]'
[    3.124816] of_get_named_gpiod_flags: can't parse 'rts-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@6c000/serial@0[0]'
[    3.138946] omap_uart 4806c000.serial: using lookup tables for GPIO lookup
[    3.146240] omap_uart 4806c000.serial: No GPIO consumer rts found
[    3.153198] 4806c000.serial: ttyO1 at MMIO 0x4806c000 (irq = 125, base_baud = 3000000) is a OMAP UART1
[    3.165191] omap_uart 4806e000.serial: no wakeirq for uart3
[    3.171081] omap_uart 4806e000.serial: GPIO lookup for consumer rs485-term
[    3.178405] omap_uart 4806e000.serial: using device tree for GPIO lookup
[    3.185546] of_get_named_gpiod_flags: can't parse 'rs485-term-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@6e000/serial@0[0]'
[    3.200408] of_get_named_gpiod_flags: can't parse 'rs485-term-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@6e000/serial@0[0]'
[    3.215179] omap_uart 4806e000.serial: using lookup tables for GPIO lookup
[    3.222412] omap_uart 4806e000.serial: No GPIO consumer rs485-term found
[    3.229553] omap_uart 4806e000.serial: GPIO lookup for consumer rts
[    3.236206] omap_uart 4806e000.serial: using device tree for GPIO lookup
[    3.243255] of_get_named_gpiod_flags: can't parse 'rts-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@6e000/serial@0[0]'
[    3.257507] of_get_named_gpiod_flags: can't parse 'rts-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@6e000/serial@0[0]'
[    3.271636] omap_uart 4806e000.serial: using lookup tables for GPIO lookup
[    3.278930] omap_uart 4806e000.serial: No GPIO consumer rts found
[    3.285949] 4806e000.serial: ttyO3 at MMIO 0x4806e000 (irq = 126, base_baud = 3000000) is a OMAP UART3
[    3.350219] brd: module loaded
[    3.391296] loop: module loaded
[    3.400421] mtdoops: mtd device (mtddev=name/number) must be supplied
[    3.424072] mdio_bus fixed-0: GPIO lookup for consumer reset
[    3.430175] mdio_bus fixed-0: using lookup tables for GPIO lookup
[    3.436676] mdio_bus fixed-0: No GPIO consumer reset found
[    3.442993] libphy: Fixed MDIO Bus: probed
[    3.463317] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    3.470306] ehci-pci: EHCI PCI platform driver
[    3.475219] ehci-omap: OMAP-EHCI Host Controller driver
[    3.482025] ehci-omap 4a064c00.ehci: EHCI Host Controller
[    3.489440] ehci-omap 4a064c00.ehci: new USB bus registered, assigned bus number 1
[    3.498809] ehci-omap 4a064c00.ehci: irq 106, io mem 0x4a064c00
[    3.534240] ehci-omap 4a064c00.ehci: USB 2.0 started, EHCI 1.00
[    3.542205] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.11
[    3.551147] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    3.558837] usb usb1: Product: EHCI Host Controller
[    3.563964] usb usb1: Manufacturer: Linux 5.11.0+ ehci_hcd
[    3.569793] usb usb1: SerialNumber: 4a064c00.ehci
[    3.578826] hub 1-0:1.0: USB hub found
[    3.583129] hub 1-0:1.0: 3 ports detected
[    3.591766] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    3.598419] ohci-platform: OHCI generic platform driver
[    3.605407] ohci-platform 4a064800.ohci: Generic Platform OHCI controller
[    3.613342] ohci-platform 4a064800.ohci: new USB bus registered, assigned bus number 2
[    3.622406] ohci-platform 4a064800.ohci: irq 105, io mem 0x4a064800
[    3.718414] usb usb2: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 5.11
[    3.727203] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    3.734863] usb usb2: Product: Generic Platform OHCI controller
[    3.741088] usb usb2: Manufacturer: Linux 5.11.0+ ohci_hcd
[    3.746948] usb usb2: SerialNumber: 4a064800.ohci
[    3.753997] hub 2-0:1.0: USB hub found
[    3.758209] hub 2-0:1.0: 3 ports detected
[    3.765838] usbcore: registered new interface driver cdc_acm
[    3.771789] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[    3.780395] usbcore: registered new interface driver cdc_wdm
[    3.786621] usbcore: registered new interface driver usb-storage
[    3.798004] musb-hdrc musb-hdrc.0.auto: MUSB HDRC host driver
[    3.805236] musb-hdrc musb-hdrc.0.auto: new USB bus registered, assigned bus number 3
[    3.814697] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.11
[    3.823486] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    3.831146] usb usb3: Product: MUSB HDRC host driver
[    3.836425] usb usb3: Manufacturer: Linux 5.11.0+ musb-hcd
[    3.842224] usb usb3: SerialNumber: musb-hdrc.0.auto
[    3.850067] hub 3-0:1.0: USB hub found
[    3.854614] hub 3-0:1.0: 1 port detected
[    3.866333] userial_init: registered 8 ttyGS* devices
[    3.871673] udc musb-hdrc.0.auto: registering UDC driver [g_cdc]
[    3.878509] using random self ethernet address
[    3.883331] using random host ethernet address
[    3.890594] g_cdc gadget: adding config #1 'CDC Composite (ECM + ACM)'/(ptrval)
[    3.898529] g_cdc gadget: adding 'cdc_ethernet'/(ptrval) to config 'CDC Composite (ECM + ACM)'/(ptrval)
[    3.910461] usb0: HOST MAC 5e:d6:ac:99:dd:1b
[    3.915466] usb0: MAC ba:2e:8e:dc:a9:84
[    3.919555] g_cdc gadget: CDC Ethernet: dual speed IN/ep1in OUT/ep1out NOTIFY/ep2in
[    3.927673] g_cdc gadget: adding 'acm'/(ptrval) to config 'CDC Composite (ECM + ACM)'/(ptrval)
[    3.936828] g_cdc gadget: acm ttyGS0: dual speed IN/ep3in OUT/ep2out NOTIFY/ep4in
[    3.944793] g_cdc gadget: cfg 1/(ptrval) speeds: high full
[    3.950592] g_cdc gadget:   interface 0 = cdc_ethernet/(ptrval)
[    3.956878] g_cdc gadget:   interface 1 = cdc_ethernet/(ptrval)
[    3.963104] g_cdc gadget:   interface 2 = acm/(ptrval)
[    3.968597] g_cdc gadget:   interface 3 = acm/(ptrval)
[    3.974029] g_cdc gadget: CDC Composite Gadget, version: King Kamehameha Day 2008
[    3.981964] g_cdc gadget: g_cdc ready
[    3.985931] musb-hdrc musb-hdrc.0.auto: musb_set_peripheral: already in peripheral mode: 98
[    3.997344] i2c /dev entries driver
[    4.009490] omap_wdt: OMAP Watchdog Timer Rev 0x00: initial timeout 60 sec
[    4.021392] sdhci: Secure Digital Host Controller Interface driver
[    4.027984] sdhci: Copyright(c) Pierre Ossman
[    4.035156] sdhci-pltfm: SDHCI platform and OF driver helper
[    4.046813] omap_hsmmc 480b4000.mmc: GPIO lookup for consumer cd
[    4.047058] omap_hsmmc 480d5000.mmc: GPIO lookup for consumer cd
[    4.053283] omap_hsmmc 480b4000.mmc: using device tree for GPIO lookup
[    4.059692] omap_hsmmc 480d5000.mmc: using device tree for GPIO lookup
[    4.066589] of_get_named_gpiod_flags: can't parse 'cd-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@b4000/mmc@0[0]'
[    4.073455] of_get_named_gpiod_flags: can't parse 'cd-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@d5000/mmc@0[0]'
[    4.087249] of_get_named_gpiod_flags: can't parse 'cd-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@b4000/mmc@0[0]'
[    4.101043] of_get_named_gpiod_flags: can't parse 'cd-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@d5000/mmc@0[0]'
[    4.114715] omap_hsmmc 480b4000.mmc: using lookup tables for GPIO lookup
[    4.128356] omap_hsmmc 480d5000.mmc: using lookup tables for GPIO lookup
[    4.135437] omap_hsmmc 480b4000.mmc: No GPIO consumer cd found
[    4.142456] omap_hsmmc 480d5000.mmc: No GPIO consumer cd found
[    4.148651] omap_hsmmc 480b4000.mmc: GPIO lookup for consumer wp
[    4.154815] omap_hsmmc 480d5000.mmc: GPIO lookup for consumer wp
[    4.161132] omap_hsmmc 480b4000.mmc: using device tree for GPIO lookup
[    4.167480] omap_hsmmc 480d5000.mmc: using device tree for GPIO lookup
[    4.174407] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@b4000/mmc@0[0]'
[    4.181304] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@d5000/mmc@0[0]'
[    4.195037] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@b4000/mmc@0[0]'
[    4.208831] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@d5000/mmc@0[0]'
[    4.222442] omap_hsmmc 480b4000.mmc: using lookup tables for GPIO lookup
[    4.236175] omap_hsmmc 480d5000.mmc: using lookup tables for GPIO lookup
[    4.243133] omap_hsmmc 480b4000.mmc: No GPIO consumer wp found
[    4.250244] omap_hsmmc 480d5000.mmc: No GPIO consumer wp found
[    4.258087] omap_hsmmc 480b4000.mmc: Looking up vmmc-supply from device tree
[    4.263610] omap_hsmmc 480d5000.mmc: Looking up vmmc-supply from device tree
[    4.270050] omap_hsmmc 480b4000.mmc: Looking up vqmmc-supply from device tree
[    4.277496] omap_hsmmc 480d5000.mmc: Looking up vqmmc-supply from device tree
[    4.285003] omap_hsmmc 480b4000.mmc: Looking up vqmmc-supply property in node /ocp/interconnect@48000000/segment@0/target-module@b4000/mmc@0 failed
[    4.292541] omap_hsmmc 480d5000.mmc: Looking up vqmmc-supply property in node /ocp/interconnect@48000000/segment@0/target-module@d5000/mmc@0 failed
[    4.320678] ledtrig-cpu: registered to indicate activity on CPUs
[    4.333953] Initializing XFRM netlink socket
[    4.339080] NET: Registered protocol family 10
[    4.347930] Segment Routing with IPv6
[    4.351928] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    4.360626] NET: Registered protocol family 17
[    4.365447] NET: Registered protocol family 15
[    4.370361] Key type dns_resolver registered
[    4.376617] oprofile: using arm/armv7-ca9
[    4.381042] ThumbEE CPU extension supported.
[    4.385650] Registering SWP/SWPB emulation handler
[    4.391510] twl: not initialized
[    4.394989] twl6030_uv_to_vsel:OUT OF RANGE! non mapped vsel for 1375000 Vs max 1316660
[    4.403442] twl6030_uv_to_vsel:OUT OF RANGE! non mapped vsel for 1375000 Vs max 1316660
[    4.411926] twl6030_uv_to_vsel:OUT OF RANGE! non mapped vsel for 1375000 Vs max 1316660
[    4.420410] twl6030_uv_to_vsel:OUT OF RANGE! non mapped vsel for 1375000 Vs max 1316660
[    4.428924] twl6030_uv_to_vsel:OUT OF RANGE! non mapped vsel for 1375000 Vs max 1316660
[    4.437408] twl6030_uv_to_vsel:OUT OF RANGE! non mapped vsel for 1375000 Vs max 1316660
[    4.445892] twl6030_uv_to_vsel:OUT OF RANGE! non mapped vsel for 1410000 Vs max 1316660
[    4.454376] Power Management for TI OMAP4+ devices.
[    4.459533] OMAP4 PM: u-boot >= v2012.07 is required for full PM support
[    4.469573] Loading compiled-in X.509 certificates
[    4.617950] smartreflex 4a0d9000.smartreflex: omap_sr_probe: SmartReflex driver initialized
[    4.627532] smartreflex 4a0d9000.smartreflex: omap_sr_probe: (null): No Voltage table for the corresponding vdd. Cannot create debugfs entries for n-values
[    4.643859] smartreflex: probe of 4a0d9000.smartreflex failed with error -61
[    4.651824] smartreflex 4a0db000.smartreflex: omap_sr_probe: SmartReflex driver initialized
[    4.661071] smartreflex 4a0db000.smartreflex: omap_sr_probe: (null): No Voltage table for the corresponding vdd. Cannot create debugfs entries for n-values
[    4.676239] smartreflex: probe of 4a0db000.smartreflex failed with error -61
[    4.684020] smartreflex 4a0dd000.smartreflex: omap_sr_probe: SmartReflex driver initialized
[    4.693115] smartreflex 4a0dd000.smartreflex: omap_sr_probe: (null): No Voltage table for the corresponding vdd. Cannot create debugfs entries for n-values
[    4.708282] smartreflex: probe of 4a0dd000.smartreflex failed with error -61
[    4.720367] dmm 4e000000.dmm: initialized all PAT entries
[    4.729339] reg-fixed-voltage wl12xx_vmmc: GPIO lookup for consumer (null)
[    4.736785] reg-fixed-voltage wl12xx_vmmc: using device tree for GPIO lookup
[    4.744323] of_get_named_gpiod_flags: can't parse 'gpios' property of node '/wl12xx_vmmc[0]'
[    4.753387] of_get_named_gpiod_flags: parsed 'gpio' property of node '/wl12xx_vmmc[0]' - status (0)
[    4.763122] gpio gpiochip1: Persistence not supported for GPIO 22
[    4.769683] vwl1271: 1800 mV, disabled
[    4.774688] reg-fixed-voltage wl12xx_vmmc: vwl1271 supplying 1800000uV
[    4.803161] omap_wdt: OMAP Watchdog Timer Rev 0x00: initial timeout 60 sec
[    4.838989] omap-iommu 4a066000.mmu: 4a066000.mmu registered
[    4.854339] i2c i2c-2: GPIO lookup for consumer scl
[    4.859863] i2c i2c-2: using device tree for GPIO lookup
[    4.865631] of_get_named_gpiod_flags: can't parse 'scl-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@60000/i2c@0[0]'
[    4.879516] of_get_named_gpiod_flags: can't parse 'scl-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@60000/i2c@0[0]'
[    4.893402] i2c i2c-2: using lookup tables for GPIO lookup
[    4.899322] i2c i2c-2: No GPIO consumer scl found
[    4.904357] i2c i2c-2: GPIO lookup for consumer sda
[    4.909515] i2c i2c-2: using device tree for GPIO lookup
[    4.909515] of_get_named_gpiod_flags: can't parse 'sda-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@60000/i2c@0[0]'
[    4.929138] of_get_named_gpiod_flags: can't parse 'sda-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@60000/i2c@0[0]'
[    4.943023] i2c i2c-2: using lookup tables for GPIO lookup
[    4.948852] i2c i2c-2: No GPIO consumer sda found
[    4.953887] omap_i2c 48060000.i2c: bus 2 rev0.10 at 400 kHz
[    4.963043] i2c i2c-0: GPIO lookup for consumer scl
[    4.968292] i2c i2c-0: using device tree for GPIO lookup
[    4.968292] of_get_named_gpiod_flags: can't parse 'scl-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@70000/i2c@0[0]'
[    4.987915] of_get_named_gpiod_flags: can't parse 'scl-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@70000/i2c@0[0]'
[    5.001708] i2c i2c-0: using lookup tables for GPIO lookup
[    5.007507] i2c i2c-0: No GPIO consumer scl found
[    5.012542] i2c i2c-0: GPIO lookup for consumer sda
[    5.017700] i2c i2c-0: using device tree for GPIO lookup
[    5.023345] of_get_named_gpiod_flags: can't parse 'sda-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@70000/i2c@0[0]'
[    5.037292] of_get_named_gpiod_flags: can't parse 'sda-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@70000/i2c@0[0]'
[    5.037628] i2c i2c-0: using lookup tables for GPIO lookup
[    5.057220] i2c i2c-0: No GPIO consumer sda found
[    5.066467] bq27xxx-battery 0-0055: data memory update not supported for chip
[    5.094482] hw-breakpoint: Failed to enable monitor mode on CPU 0.
[    5.102539] hw-breakpoint: CPU 0 failed to disable vector catch
[    5.118927] power_supply bq27541-0: power_supply_changed
[    5.129791] Skipping twl internal clock init and using bootloader value (unknown osc rate)
[    5.139587] power_supply bq27541-0: power_supply_changed_work
[    5.145996] power_supply bq27541-0: power_supply_update_bat_leds 4
[    5.153076] power_supply bq27541-0: power_supply_changed
[    5.164794] twl 0-0048: PIH (irq 151) nested IRQs
[    5.175445] power_supply bq27541-0: power_supply_changed_work
[    5.181610] power_supply bq27541-0: power_supply_update_bat_leds 4
[    5.197662] twl_rtc 48070000.i2c:twl@48:rtc: Enabling TWL-RTC
[    5.214538] twl_rtc 48070000.i2c:twl@48:rtc: registered as rtc0
[    5.225158] twl_rtc 48070000.i2c:twl@48:rtc: setting system clock to 2021-04-22T16:18:37 UTC (1619108317)
[    5.240905] VAUX1_6030: 1000 <--> 3300 mV at 2800 mV, enabled
[    5.252990] VAUX2_6030: 1200 <--> 3300 mV at 1800 mV, disabled
[    5.264282] VAUX3_6030: 1000 <--> 3300 mV at 1200 mV, disabled
[    5.276153] VMMC: 1200 <--> 3000 mV at 1800 mV, disabled
[    5.285736] VPP: 1800 <--> 2500 mV at 1900 mV, disabled
[    5.295135] VUSIM: 1200 <--> 3300 mV at 1800 mV, disabled
[    5.304107] VDAC: 1800 mV, enabled
[    5.310516] VANA: 2100 mV, enabled
[    5.317901] VCXIO: 1800 mV, enabled
[    5.324432] VUSB: 3300 mV, disabled
[    5.328155] V1V8: override min_uV, 1 -> 1800000
[    5.334960] V1V8: override max_uV, 2147483647 -> 1800000
[    5.342010] V1V8: 1800 mV, enabled
[    5.345611] V2V1: override min_uV, 1 -> 2100000
[    5.352478] V2V1: override max_uV, 2147483647 -> 2100000
[    5.359497] V2V1: 2100 mV, enabled
[    5.365203] random: fast init done
[    5.371002] twl6030_usb 48070000.i2c:twl@48:usb-comparator: Looking up usb-supply from device tree
[    5.384918] twl6030_usb 48070000.i2c:twl@48:usb-comparator: Initialized TWL6030 USB module
[    5.400634] omap_i2c 48070000.i2c: bus 0 rev0.10 at 400 kHz
[    5.409667] i2c i2c-1: GPIO lookup for consumer scl
[    5.415191] i2c i2c-1: using device tree for GPIO lookup
[    5.415191] of_get_named_gpiod_flags: can't parse 'scl-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@72000/i2c@0[0]'
[    5.434814] of_get_named_gpiod_flags: can't parse 'scl-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@72000/i2c@0[0]'
[    5.448699] i2c i2c-1: using lookup tables for GPIO lookup
[    5.454559] i2c i2c-1: No GPIO consumer scl found
[    5.454559] i2c i2c-1: GPIO lookup for consumer sda
[    5.464691] i2c i2c-1: using device tree for GPIO lookup
[    5.464691] of_get_named_gpiod_flags: can't parse 'sda-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@72000/i2c@0[0]'
[    5.484283] of_get_named_gpiod_flags: can't parse 'sda-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@72000/i2c@0[0]'
[    5.498168] i2c i2c-1: using lookup tables for GPIO lookup
[    5.503967] i2c i2c-1: No GPIO consumer sda found
[    5.508941] omap_i2c 48072000.i2c: bus 1 rev0.10 at 400 kHz
[    5.517700] i2c i2c-3: GPIO lookup for consumer scl
[    5.523101] i2c i2c-3: using device tree for GPIO lookup
[    5.528778] of_get_named_gpiod_flags: can't parse 'scl-gpios' property of node '/ocp/interconnect@48000000/segment@200000/target-module@150000/i2c@0[0]'
[    5.543273] of_get_named_gpiod_flags: can't parse 'scl-gpio' property of node '/ocp/interconnect@48000000/segment@200000/target-module@150000/i2c@0[0]'
[    5.557769] i2c i2c-3: using lookup tables for GPIO lookup
[    5.563537] i2c i2c-3: No GPIO consumer scl found
[    5.568572] i2c i2c-3: GPIO lookup for consumer sda
[    5.573730] i2c i2c-3: using device tree for GPIO lookup
[    5.579437] of_get_named_gpiod_flags: can't parse 'sda-gpios' property of node '/ocp/interconnect@48000000/segment@200000/target-module@150000/i2c@0[0]'
[    5.593902] of_get_named_gpiod_flags: can't parse 'sda-gpio' property of node '/ocp/interconnect@48000000/segment@200000/target-module@150000/i2c@0[0]'
[    5.608306] i2c i2c-3: using lookup tables for GPIO lookup
[    5.614196] i2c i2c-3: No GPIO consumer sda found
[    5.619934] lm75 3-0048: Looking up vs-supply from device tree
[    5.626159] lm75 3-0048: Looking up vs-supply property in node /ocp/interconnect@48000000/segment@200000/target-module@150000/i2c@0/tmp@48 failed
[    5.640045] lm75 3-0048: supply vs not found, using dummy regulator
[    5.675933] lm75 3-0048: hwmon2: sensor 'tmp105'
[    5.691436] smb347 3-0006: charging enable/disable in SW disabled
[    5.700439] omap_i2c 48350000.i2c: bus 3 rev0.10 at 400 kHz
[    5.707763] omap-iommu 55082000.mmu: 55082000.mmu registered
[    5.720916] DSS: set fck to 170666667
[    5.727111] omapdss_dss 58000000.dss: Looking up vdda_video-supply from device tree
[    5.735290] omapdss_dss 58000000.dss: Looking up vdda_video-supply property in node /ocp/target-module@58000000/dss@0 failed
[    5.747344] omapdss_dss 58000000.dss: supply vdda_video not found, using dummy regulator
[    5.756011] DSS: dss_runtime_get
[    5.760131] DSS: dss_restore_context
[    5.763916] DSS: OMAP DSS rev 4.0
[    5.767456] DSS: dss_runtime_put
[    5.770935] DSS: dss_save_context
[    5.774505] DSS: context saved
[    5.777740] DSS: dss_restore_context
[    5.782928] DSS: context restored
[    5.801849] omapdss_dsi 58005000.encoder: Looking up vdd-supply from device tree
[    5.810638] power_supply smb347-usb: power_supply_changed
[    5.816497] power_supply smb347-mains: power_supply_changed
[    5.822723] power_supply smb347-usb: power_supply_changed_work
[    5.829010] power_supply smb347-usb: power_supply_update_gen_leds 1
[    5.836120] power_supply smb347-mains: power_supply_changed_work
[    5.836120] power_supply smb347-mains: power_supply_update_gen_leds 0
[    5.849456] power_supply smb347-mains: driver has no data for `charge_type' property
[    5.859039] DSI: dsi_runtime_get
[    5.863647] DSI: dsi_runtime_put
[    5.867156] OF: graph: no port node found in /ocp/target-module@58000000/dss@0/target-module@5000/encoder@0
[    5.877593] omapdss_dsi 58005000.encoder: failed to find video sink
[    5.884277] OF: graph: no port node found in /ocp/target-module@58000000/dss@0/target-module@5000/encoder@0
[    5.899261] DSS: dss_save_context
[    5.899261] DSS: context saved
[    5.909118] DISPC: dispc_mgr_set_gamma: channel 0, lut len 0, hw len 256
[    5.916503] DISPC: dispc_mgr_set_gamma: channel 1, lut len 0, hw len 1024
[    5.924102] DISPC: dispc_mgr_set_gamma: channel 2, lut len 0, hw len 256
[    5.924194] DISPC: dispc_runtime_get
[    5.935180] DSS: dss_restore_context
[    5.935211] DSS: context restored
[    5.942596] DISPC: fifo(0) threshold (bytes), old 20352/20464, new 32640/32752
[    5.950256] DISPC: fifo(1) threshold (bytes), old 32640/32752, new 32640/32752
[    5.957946] DISPC: fifo(2) threshold (bytes), old 32640/32752, new 32640/32752
[    5.965606] DISPC: fifo(3) threshold (bytes), old 32640/32752, new 32640/32752
[    5.973236] DISPC: fifo(4) threshold (bytes), old 32640/32752, new 0/128
[    5.980377] DISPC: dispc_ovl_setup 0, pa 0x9e844000, pa_uv 0x00000000, sw 1, 0,0, 1x1 -> 0x0, cmode 34325258, rot 1, chan 0 repl 1
[    5.992828] DISPC: scrw 1, width 1
[    5.996459] DISPC: offset0 0, offset1 0, row_inc 1, pix_inc 1
[    5.996490] DISPC: 0,0 1x1 -> 1x1
[    6.006103] DISPC: dispc_enable_plane 0, 1
[    6.010437] DISPC: lck = 170666667 (1)
[    6.014465] DISPC: pck = 85333333 (2)
[    6.018341] DISPC: channel 0 xres 8 yres 1
[    6.018341] DISPC: pck 16000000
[    6.026000] DISPC: hsync_len 8 hfp 4 hbp 4 vsw 1 vfp 1 vbp 1
[    6.032012] DISPC: vsync_level -1 hsync_level -1 data_pclk_edge 1 de_level 1 sync_pclk_edge 1
[    6.041015] DISPC: hsync 666666Hz, vsync 166666Hz
[    6.046112] DISPC: dispc_enable_plane 0, 0
[    6.046112] DISPC: dispc_restore_context
[    6.054626] DISPC: dispc_restore_gamma_tables()
[    6.059417] DISPC: dispc_mgr_write_gamma_table: channel 0
[    6.065124] DISPC: dispc_mgr_write_gamma_table: channel 1
[    6.070892] DISPC: dispc_mgr_write_gamma_table: channel 2
[    6.076721] DISPC: fifo(0) threshold (bytes), old 32640/32752, new 32640/32752
[    6.084411] DISPC: fifo(1) threshold (bytes), old 32640/32752, new 32640/32752
[    6.092010] DISPC: fifo(2) threshold (bytes), old 32640/32752, new 32640/32752
[    6.099700] DISPC: fifo(3) threshold (bytes), old 32640/32752, new 32640/32752
[    6.107391] DISPC: fifo(4) threshold (bytes), old 0/128, new 0/128
[    6.107391] omapdss_dispc 58001000.dispc: OMAP DISPC rev 4.0
[    6.119934] DISPC: dispc_runtime_put
[    6.123718] DISPC: dispc_save_context
[    6.123718] DISPC: context saved
[    6.131195] omapdss_dss 58000000.dss: bound 58001000.dispc (ops dispc_component_ops)
[    6.131195] DSI: dsi_runtime_get
[    6.143432] omapdss_dsi 58005000.encoder: OMAP DSI rev 3.0
[    6.149291] DSI: dsi_runtime_put
[    6.152893] omapdss_dss 58000000.dss: bound 58005000.encoder (ops dsi_component_ops)
[    6.167144] DISPC: dispc_runtime_get
[    6.167144] DISPC: dispc_runtime_put
[    6.174957] DISPC: dispc_save_context
[    6.174957] DISPC: context saved
[    6.185638] DSS: dss_save_context
[    6.189208] DSS: context saved
[    6.194366] [drm] Initialized omapdrm 1.0.0 20110917 for omapdrm.0 on minor 0
hansemro commented 3 years ago

Using r5g6b5 color format removes the yellow background. But now it is stretched vertically.

mj-sakellaropoulos commented 3 years ago

Have been trying with the omapfb driver. I can confirm that I have the panel timings working in device tree, but not the video source.

omapfb details: ```dts [ 5.086059] panel-dpi panel: failed to find video source ``` See : - https://github.com/mj-sakellaropoulos/kc1_linux_configs/blob/main/omap4-kc1.dts - panel-dpi.c::panel_dpi_probe_pdata() https://github.com/torvalds/linux/blob/16fc44d6387e260f4932e9248b985837324705d8/drivers/video/fbdev/omap2/omapfb/displays/panel-dpi.c#L161 - dss-of.c::omapdss_of_find_source_for_first_ep() https://github.com/torvalds/linux/blob/90c911ad7445ccec9936763f05fa5db6a3da53be/drivers/video/fbdev/omap2/omapfb/dss/dss-of.c#L152

Edit: Now with the omapdrm driver using panel-simple/panel-dpi: the devicetree is similar, but I'm still missing GPIO config for power supply and LCD enable.

https://github.com/mj-sakellaropoulos/kc1_linux_configs/blob/main/drm/omap4-kc1-drm.dmesg.txt

hansemro commented 3 years ago

Using your dts, I also see this:

partial dmesg
[    5.799377] pinctrl-single 4a100040.pinmux: pin PIN145 already requested by display; cannot claim for 58000000.dss
[    5.811035] pinctrl-single 4a100040.pinmux: pin-145 (58000000.dss) status -22
[    5.818603] pinctrl-single 4a100040.pinmux: could not request pin 145 (PIN145) from group pinmux_dss_dpi_pins  on device pinctrl-single
[    5.831481] omapdss_dss 58000000.dss: Error applying setting, reverse things back
[    5.839447] omapdss_dss: probe of 58000000.dss failed with error -22

Also, I think &gpio45 10 should be &gpio2 13 (32 + 13 = 45)

mj-sakellaropoulos commented 3 years ago

Using your dts, I also see this:

Strange, I'm not getting those messages

Also, I think &gpio45 10 should be &gpio2 13 (32 + 13 = 45)

Ah that makes sense, I've been trying to figure out the GPIO numbers in the manual for a while

hansemro commented 3 years ago

Strange, I'm not getting those messages

They do not show up in kernel console as it boots, but show when I run dmesg. They might show if the log level increases from whatever I am using currently.

mj-sakellaropoulos commented 3 years ago

Strange, I'm not getting those messages

They do not show up in kernel console as it boots, but show when I run dmesg. They might show if the log level increases from whatever I am using currently.

Ah, dmesg will have to wait until the serial adapter arrives. USB gadget doesen't seem to work and i've only just recently got userspace working by integrating initramfs into the kernel image. Is USB working for you ?

Also, I think &gpio45 10 should be &gpio2 13 (32 + 13 = 45)

I've just tried it and it resolved the "enable-gpio" message

hansemro commented 3 years ago

Is USB working for you ?

I can only access USB console when the device is able to reach the login prompt...

An alternative may be to use ram console from Android downstream. I created an issue here: #18

Also, I enabled Discussions on this repo and posted my UART setup

hansemro commented 3 years ago

"enable-gpio"

You may also need to enable the 3.3 V rail connected to the display (gpio_47 pin).

mj-sakellaropoulos commented 3 years ago

"enable-gpio"

You may also need to enable the 3.3 V rail connected to the display (gpio_47 pin).

Done. Nothing special happened, just resolved the message.

Last relevant warning:

[    7.316741] panel-simple display: Specify missing connector_type

Edit: I've update my DTS

hansemro commented 3 years ago

I am not sure if the backlight node needs to be specified, but I am working on it here: #11. With older kernels (and in U-Boot), I can confirm that you can use a tool like devmem to set the registers responsible for PWM backlight (GPTimer10 PWM) to change brightness.

mj-sakellaropoulos commented 3 years ago

Success.

Let me know if you can/can't repro

DTS : https://github.com/mj-sakellaropoulos/linux-omap4-kc1/blob/kc1-omapdrm-clean/arch/arm/boot/dts/omap4-kc1.dts

Explanation :

TODO:

image

hansemro commented 3 years ago

Wow, great progress! I will try as soon as I can.

hansemro commented 3 years ago

Oddly, I don't have backlight.

hansemro commented 3 years ago

Currently, I am unable to load simple panel and replicate results.

hansemro commented 3 years ago

hydis panel is missing from panel-simple.c: https://github.com/mj-sakellaropoulos/linux-omap4-kc1/blob/kc1-omapdrm-clean/drivers/gpu/drm/panel/panel-simple.c

Adding the panel did not fix the issue:

5.12.0-rc8
Starting kernel ...                                                                                                  
[    0.000000] Booting Linux on physical CPU 0x0                                                                     
[    0.000000] Linux version 5.12.0-rc8+ (clfs@ds3h) (arm-none-linux-gnueabihf-gcc (GNU Toolchain for the A-profile Architecture 10.2-2020.11 (arm-10.16)) 10.2.1 20201103, GNU ld (GNU Toolchain for the A-profile Architecture 10.2-2020.11 (arm-10.16)) 2.35.1.20201028) #3 SMP Thu Apr 29 23:19:16 PDT 2021                                                
[    0.000000] CPU: ARMv7 Processor [411fc093] revision 3 (ARMv7), cr=10c5387d                                       
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache                              
[    0.000000] OF: fdt: Machine model: Amazon Kindle Fire (first generation)                                         
[    0.000000] Memory policy: Data cache writealloc                                                                  
[    0.000000] cma: Reserved 16 MiB at 0x9e800000                                                                    
[    0.000000] OMAP4: Map 0x9fe00000 to (ptrval) for dram barrier                                                    
[    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] OMAP4430 ES2.3                                                                                        
[    0.000000] percpu: Embedded 20 pages/cpu s52652 r8192 d21076 u81920                                              
[    0.000000] pcpu-alloc: s52652 r8192 d21076 u81920 alloc=20*4096                                                  
[    0.000000] pcpu-alloc: [0] 0 [0] 1                                                                               
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 129412                                         
[    0.000000] Kernel command line: console=ttyO2,115200n8 androidboot.wifimac=F0A225D07EFA androidboot.serialno=D01EB0A0147327BN androidboot.hardware=otterx rw root=/dev/mmcblk1p9 rootwait console=ttyO2,115200                        
[    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: 475592K/522240K available (11264K kernel code, 1634K rwdata, 3724K rodata, 1024K init, 6635K bss, 30264K reserved, 16384K cma-reserved, 0K highmem)                                                                
[    0.000000] Running RCU self tests                                                                                
[    0.000000] rcu: Hierarchical RCU implementation.                                                                 
[    0.000000] rcu:     RCU event tracing is enabled.                                                                
[    0.000000] rcu:     RCU lockdep checking is 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] L2C: platform modifies aux control register: 0x1e070000 -> 0x3e470000                                 
[    0.000000] L2C: DT/platform modifies aux control register: 0x1e070000 -> 0x3e470000                              
[    0.000000] L2C-310 erratum 727915 enabled                                                                        
[    0.000000] L2C-310 enabling early BRESP for Cortex-A9                                                            
[    0.000000] L2C-310 ID prefetch enabled, offset 6 lines                                                           
[    0.000000] L2C-310 cache controller enabled, 16 ways, 1024 kB                                                    
[    0.000000] L2C-310: CACHE_ID 0x410000c4, AUX_CTRL 0x7e470000                                                     
[    0.000000] random: get_random_bytes called from start_kernel+0x2b4/0x4e4 with crng_init=0                        
[    0.000000] OMAP clocksource: 32k_counter at 32768 Hz                                                             
[    0.000000] clocksource: 32k_counter: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 58327039986419 ns     
[    0.000000] sched_clock: 32 bits at 32kHz, resolution 30517ns, wraps every 65535999984741ns                       
[    0.001129] TI gptimer clockevent: always-on 32768 Hz at /ocp/interconnect@4a300000/segment@10000/target-module@8000                                                                                                                   
[    0.004608] Console: colour dummy device 80x30                                                                    
[    0.004669] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar                              
[    0.004669] ... MAX_LOCKDEP_SUBCLASSES:  8                                                                        
[    0.004699] ... MAX_LOCK_DEPTH:          48                                                                       
[    0.004699] ... MAX_LOCKDEP_KEYS:        8192                                                                     
[    0.004730] ... CLASSHASH_SIZE:          4096                                                                     
[    0.004730] ... MAX_LOCKDEP_ENTRIES:     32768                                                                    
[    0.004760] ... MAX_LOCKDEP_CHAINS:      65536                                                                    
[    0.004760] ... CHAINHASH_SIZE:          32768                                                                    
[    0.004791]  memory used by lock dependency info: 4061 kB                                                         
[    0.004791]  memory used for stack traces: 2112 kB                                                                
[    0.004821]  per task-struct memory footprint: 1536 bytes                                                         
[    0.004882] Calibrating delay loop... 2000.48 BogoMIPS (lpj=10002432)                                             
[    0.119781] pid_max: default: 32768 minimum: 301                                                                  
[    0.120117] LSM: Security Framework initializing                                                                  
[    0.120239] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)                                   
[    0.120269] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)                              
[    0.124664] CPU: Testing write buffer coherency: ok                                                               
[    0.124816] CPU0: Spectre v2: using BPIALL workaround                                                             
[    0.125854] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000                                                      
[    0.125915] smp: CPU1 parked within kernel, needs reset (0x0 0x80125dc0)                                          
[    0.128662] Setting up static identity map for 0x80100000 - 0x80100078                                            
[    0.129425] rcu: Hierarchical SRCU implementation.                                                                
[    0.131835] smp: Bringing up secondary CPUs ...                                                                   
[    0.189788] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001                                                      
[    0.189788] CPU1: Spectre v2: using BPIALL workaround                                                             
[    0.191101] smp: Brought up 1 node, 2 CPUs                                                                        
[    0.191131] SMP: Total of 2 processors activated (4007.52 BogoMIPS).                                              
[    0.191162] CPU: All CPU(s) started in SVC mode.                                                                  
[    0.193969] devtmpfs: initialized                                                                                 
[    0.278411] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4                               
[    0.281188] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns      
[    0.281280] futex hash table entries: 512 (order: 3, 32768 bytes, linear)                                         
[    0.282836] pinctrl core: initialized pinctrl subsystem                                                           
[    0.285583] regulator-dummy: no parameters, enabled                                                               
[    0.288940] NET: Registered protocol family 16                                                                    
[    0.296997] DMA: preallocated 256 KiB pool for atomic coherent allocations                                        
[    0.303253] omap_hwmod: l3_main_3 using broken dt data from ocp                                                   
[    0.309234] omap_hwmod: l3_main_2 using broken dt data from ocp                                                   
[    0.356292] audit: initializing netlink subsys (disabled)                                                         
[    0.356994] audit: type=2000 audit(0.350:1): state=initialized audit_enabled=0 res=1                              
[    0.360015] thermal_sys: Registered thermal governor 'step_wise'                                                  
[    0.360015] thermal_sys: Registered thermal governor 'user_space'                                                 
[    0.361511] cpuidle: using governor menu                                                                          
[    0.528198] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.                           
[    0.528320] hw-breakpoint: maximum watchpoint size is 4 bytes.                                                    
[    0.569946] Kprobes globally optimized                                                                            
[    0.590057] reg-fixed-voltage lcd2_power_reg: GPIO lookup for consumer (null)                                     
[    0.590087] reg-fixed-voltage lcd2_power_reg: using device tree for GPIO lookup                                   
[    0.590148] of_get_named_gpiod_flags: can't parse 'gpios' property of node '/lcd2_power_reg[0]'                   
[    0.590209] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/lcd2_power_reg[0]'                    
[    0.590270] reg-fixed-voltage lcd2_power_reg: using lookup tables for GPIO lookup                                 
[    0.590423] reg-fixed-voltage lcd2_power_reg: No GPIO consumer (null) found                                       
[    0.590515] lcd2_power: 3300 mV, enabled                                                                          
[    0.591094] reg-fixed-voltage lcd2_power_reg: lcd2_power supplying 3300000uV                                      
[    0.596069] iommu: Default domain type: Translated                                                                
[    0.600982] SCSI subsystem initialized                                                                            
[    0.601684] libata version 3.00 loaded.                                                                           
[    0.602630] usbcore: registered new interface driver usbfs                                                        
[    0.602874] usbcore: registered new interface driver hub                                                          
[    0.603027] usbcore: registered new device driver usb                                                             
[    0.605316] pps_core: LinuxPPS API ver. 1 registered                                                              
[    0.605346] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti               
[    0.605407] PTP clock support registered                                                                          
[    0.611755] clocksource: Switched to clocksource 32k_counter                                                      
[    0.865478] VFS: Disk quotas dquot_6.6.0                                                                          
[    0.865692] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)                                       
[    0.914825] NET: Registered protocol family 2                                                                     
[    1.332824] tcp_listen_portaddr_hash hash table entries: 256 (order: 1, 11264 bytes, linear)                      
[    1.332916] TCP established hash table entries: 4096 (order: 2, 16384 bytes, linear)                              
[    1.333038] TCP bind hash table entries: 4096 (order: 5, 163840 bytes, linear)                                    
[    1.333496] TCP: Hash tables configured (established 4096 bind 4096)                                              
[    1.333953] UDP hash table entries: 256 (order: 2, 24576 bytes, linear)                                           
[    1.334075] UDP-Lite hash table entries: 256 (order: 2, 24576 bytes, linear)                                      
[    1.334594] NET: Registered protocol family 1                                                                     
[    1.337554] RPC: Registered named UNIX socket transport module.                                                   
[    1.337677] RPC: Registered udp transport module.                                                                 
[    1.337707] RPC: Registered tcp transport module.                                                                 
[    1.337738] RPC: Registered tcp NFSv4.1 backchannel transport module.                                             
[    1.337768] PCI: CLS 0 bytes, default 64                                                                          
[    1.341308] hw perfevents: no irqs for PMU, sampling events not supported                                         
[    1.341918] hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available                          
[    1.347259] Initialise system trusted keyrings                                                                    
[    1.348114] workingset: timestamp_bits=14 max_order=17 bucket_order=3                                             
[    1.352111] NFS: Registering the id_resolver key type                                                             
[    1.352264] Key type id_resolver registered                                                                       
[    1.352386] Key type id_legacy registered                                                                         
[    1.352569] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.                                       
[    1.353912] Key type asymmetric registered                                                                        
[    1.354003] Asymmetric key parser 'x509' registered                                                               
[    1.354217] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 248)                                  
[    1.354309] io scheduler mq-deadline registered                                                                   
[    1.354339] io scheduler kyber registered                                                                         
[    1.368835] gpio gpiochip0: (gpio-0-31): added GPIO chardev (254:0)                                               
[    1.369476] gpio gpiochip0: registered GPIOs 0 to 31 on gpio-0-31                                                 
[    1.369720] OMAP GPIO hardware version 0.1                                                                        
[    1.445190] omap-dma-engine 4a056000.dma-controller: OMAP DMA engine driver (LinkedList1/2/3 supported)           
[    1.471923] omap-mailbox 4a0f4000.mailbox: omap mailbox rev 0x400                                                 
[    1.493499] gpio gpiochip1: (gpio-32-63): added GPIO chardev (254:1)                                              
[    1.493804] gpio gpiochip1: registered GPIOs 32 to 63 on gpio-32-63                                               
[    1.497314] gpio gpiochip2: (gpio-64-95): added GPIO chardev (254:2)                                              
[    1.497711] gpio gpiochip2: registered GPIOs 64 to 95 on gpio-64-95                                               
[    1.501190] gpio gpiochip3: (gpio-96-127): added GPIO chardev (254:3)                                             
[    1.501525] gpio gpiochip3: registered GPIOs 96 to 127 on gpio-96-127                                             
[    1.505157] gpio gpiochip4: (gpio-128-159): added GPIO chardev (254:4)                                            
[    1.505462] gpio gpiochip4: registered GPIOs 128 to 159 on gpio-128-159                                           
[    1.509002] gpio gpiochip5: (gpio-160-191): added GPIO chardev (254:5)                                            
[    1.509307] gpio gpiochip5: registered GPIOs 160 to 191 on gpio-160-191                                           
[    1.552642] omap-gpmc 50000000.gpmc: GPMC revision 6.0                                                            
[    1.552917] gpmc_mem_init: disabling cs 0 mapped at 0x0-0x1000000                                                 
[    1.552978] gpiochip_find_base: found new base at 508                                                             
[    1.554656] gpio gpiochip6: (omap-gpmc): added GPIO chardev (254:6)                                               
[    1.554992] gpio gpiochip6: registered GPIOs 508 to 511 on omap-gpmc                                              
[    1.566528] phy phy-4a0ad080.usb2phy.0: Looking up phy-supply from device tree                                    
[    1.566558] phy phy-4a0ad080.usb2phy.0: Looking up phy-supply property in node /ocp/interconnect@4a000000/segment@80000/target-module@2d000/ocp2scp@0/usb2phy@80 failed                                                                
[    1.572509] pinctrl-single 4a31e040.pinmux: 28 pins, size 56                                                      
[    1.575073] pinctrl-single 4a100040.pinmux: 203 pins, size 406                                                    
[    1.584503] pwm-backlight backlight: GPIO lookup for consumer enable                                              
[    1.584533] pwm-backlight backlight: using device tree for GPIO lookup                                            
[    1.584594] of_get_named_gpiod_flags: can't parse 'enable-gpios' property of node '/backlight[0]'                 
[    1.584686] of_get_named_gpiod_flags: parsed 'enable-gpio' property of node '/backlight[0]' - status (0)          
[    1.584808] gpio gpiochip1: Persistence not supported for GPIO 5                                                  
[    1.584838] gpio-37 (enable): no flags found for enable                                                           
[    1.584899] pwm-backlight backlight: Looking up power-supply from device tree                                     
[    1.606262] pbias_mmc_omap4: 1800 <--> 3000 mV at 3000 mV, disabled                                               
[    1.608215] ti_abb 4a307bd0.regulator-abb-mpu: Missing 'efuse-address' IO resource                                
[    1.608367] ti_abb 4a307bd0.regulator-abb-mpu: [0]v=1025000 ABB=0 ef=0x0 rbb=0x0 fbb=0x0 vset=0x0                 
[    1.608428] ti_abb 4a307bd0.regulator-abb-mpu: [1]v=1200000 ABB=0 ef=0x0 rbb=0x0 fbb=0x0 vset=0x0                 
[    1.608459] ti_abb 4a307bd0.regulator-abb-mpu: [2]v=1313000 ABB=0 ef=0x0 rbb=0x0 fbb=0x0 vset=0x0                 
[    1.608489] ti_abb 4a307bd0.regulator-abb-mpu: [3]v=1375000 ABB=1 ef=0x0 rbb=0x0 fbb=0x0 vset=0x0                 
[    1.608551] ti_abb 4a307bd0.regulator-abb-mpu: [4]v=1389000 ABB=1 ef=0x0 rbb=0x0 fbb=0x0 vset=0x0                 
[    1.608642] ti_abb 4a307bd0.regulator-abb-mpu: ti_abb_init_timings: Clk_rate=38400000, sr2_cnt=0x0000007d         
[    1.608703] abb_mpu: 1025 <--> 1389 mV, enabled                                                                   
[    1.614135] omap_uart 48020000.serial: GPIO lookup for consumer rs485-term                                        
[    1.614166] omap_uart 48020000.serial: using device tree for GPIO lookup                                          
[    1.614227] of_get_named_gpiod_flags: can't parse 'rs485-term-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@20000/serial@0[0]'                                                                           
[    1.614349] of_get_named_gpiod_flags: can't parse 'rs485-term-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@20000/serial@0[0]'                                                                            
[    1.614471] omap_uart 48020000.serial: using lookup tables for GPIO lookup                                        
[    1.614501] omap_uart 48020000.serial: No GPIO consumer rs485-term found                                          
[    1.614532] omap_uart 48020000.serial: GPIO lookup for consumer rts                                               
[    1.614532] omap_uart 48020000.serial: using device tree for GPIO lookup                                          
[    1.614593] of_get_named_gpiod_flags: can't parse 'rts-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@20000/serial@0[0]'                                                                                  
[    1.614715] of_get_named_gpiod_flags: can't parse 'rts-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@20000/serial@0[0]'                                                                                   
[    1.614837] omap_uart 48020000.serial: using lookup tables for GPIO lookup                                        
[    1.614868] omap_uart 48020000.serial: No GPIO consumer rts found                                                 
[    1.616058] 48020000.serial: ttyO2 at MMIO 0x48020000 (irq = 113, base_baud = 3000000) is a OMAP UART2            
[    2.927001] printk: console [ttyO2] enabled                                                                       
[    2.934478] omap_uart 4806a000.serial: no wakeirq for uart0                                                       
[    2.940399] omap_uart 4806a000.serial: GPIO lookup for consumer rs485-term                                        
[    2.947692] omap_uart 4806a000.serial: using device tree for GPIO lookup                                          
[    2.954833] of_get_named_gpiod_flags: can't parse 'rs485-term-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@6a000/serial@0[0]'                                                                           
[    2.969726] of_get_named_gpiod_flags: can't parse 'rs485-term-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@6a000/serial@0[0]'                                                                            
[    2.984527] omap_uart 4806a000.serial: using lookup tables for GPIO lookup                                        
[    2.991821] omap_uart 4806a000.serial: No GPIO consumer rs485-term found                                          
[    2.998870] omap_uart 4806a000.serial: GPIO lookup for consumer rts                                               
[    3.005523] omap_uart 4806a000.serial: using device tree for GPIO lookup                                          
[    3.012664] of_get_named_gpiod_flags: can't parse 'rts-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@6a000/serial@0[0]'                                                                                  
[    3.026885] of_get_named_gpiod_flags: can't parse 'rts-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@6a000/serial@0[0]'                                                                                   
[    3.041046] omap_uart 4806a000.serial: using lookup tables for GPIO lookup                                        
[    3.048339] omap_uart 4806a000.serial: No GPIO consumer rts found                                                 
[    3.055389] 4806a000.serial: ttyO0 at MMIO 0x4806a000 (irq = 124, base_baud = 3000000) is a OMAP UART0            
[    3.067077] omap_uart 4806c000.serial: no wakeirq for uart1                                                       
[    3.073059] omap_uart 4806c000.serial: GPIO lookup for consumer rs485-term                                        
[    3.080291] omap_uart 4806c000.serial: using device tree for GPIO lookup                                          
[    3.087432] of_get_named_gpiod_flags: can't parse 'rs485-term-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@6c000/serial@0[0]'                                                                           
[    3.102325] of_get_named_gpiod_flags: can't parse 'rs485-term-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@6c000/serial@0[0]'                                                                            
[    3.117370] omap_uart 4806c000.serial: using lookup tables for GPIO lookup                                        
[    3.124694] omap_uart 4806c000.serial: No GPIO consumer rs485-term found                                          
[    3.131805] omap_uart 4806c000.serial: GPIO lookup for consumer rts                                               
[    3.138397] omap_uart 4806c000.serial: using device tree for GPIO lookup                                          
[    3.145538] of_get_named_gpiod_flags: can't parse 'rts-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@6c000/serial@0[0]'                                                                                  
[    3.159759] of_get_named_gpiod_flags: can't parse 'rts-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@6c000/serial@0[0]'                                                                                   
[    3.173919] omap_uart 4806c000.serial: using lookup tables for GPIO lookup                                        
[    3.181152] omap_uart 4806c000.serial: No GPIO consumer rts found                                                 
[    3.188171] 4806c000.serial: ttyO1 at MMIO 0x4806c000 (irq = 125, base_baud = 3000000) is a OMAP UART1            
[    3.200164] omap_uart 4806e000.serial: no wakeirq for uart3                                                       
[    3.206146] omap_uart 4806e000.serial: GPIO lookup for consumer rs485-term                                        
[    3.213470] omap_uart 4806e000.serial: using device tree for GPIO lookup                                          
[    3.220550] of_get_named_gpiod_flags: can't parse 'rs485-term-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@6e000/serial@0[0]'                                                                           
[    3.235443] of_get_named_gpiod_flags: can't parse 'rs485-term-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@6e000/serial@0[0]'                                                                            
[    3.250183] omap_uart 4806e000.serial: using lookup tables for GPIO lookup                                        
[    3.257507] omap_uart 4806e000.serial: No GPIO consumer rs485-term found                                          
[    3.264587] omap_uart 4806e000.serial: GPIO lookup for consumer rts                                               
[    3.271209] omap_uart 4806e000.serial: using device tree for GPIO lookup                                          
[    3.278320] of_get_named_gpiod_flags: can't parse 'rts-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@6e000/serial@0[0]'                                                                                  
[    3.292572] of_get_named_gpiod_flags: can't parse 'rts-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@6e000/serial@0[0]'                                                                                   
[    3.306701] omap_uart 4806e000.serial: using lookup tables for GPIO lookup                                        
[    3.313995] omap_uart 4806e000.serial: No GPIO consumer rts found                                                 
[    3.320983] 4806e000.serial: ttyO3 at MMIO 0x4806e000 (irq = 126, base_baud = 3000000) is a OMAP UART3            
[    3.340332] dmm 4e000000.dmm: initialized all PAT entries                                                         
[    3.352508] panel-simple display: GPIO lookup for consumer hpd                                                    
[    3.358673] panel-simple display: using device tree for GPIO lookup                                               
[    3.365356] of_get_named_gpiod_flags: can't parse 'hpd-gpios' property of node '/display[0]'                      
[    3.374328] of_get_named_gpiod_flags: can't parse 'hpd-gpio' property of node '/display[0]'                       
[    3.383209] panel-simple display: using lookup tables for GPIO lookup                                             
[    3.389984] panel-simple display: No GPIO consumer hpd found                                                      
[    3.396026] panel-simple display: Looking up power-supply from device tree                                        
[    3.403869] panel-simple display: GPIO lookup for consumer enable                                                 
[    3.410278] panel-simple display: using device tree for GPIO lookup                                               
[    3.416992] of_get_named_gpiod_flags: can't parse 'enable-gpios' property of node '/display[0]'                   
[    3.426239] of_get_named_gpiod_flags: can't parse 'enable-gpio' property of node '/display[0]'                    
[    3.435394] panel-simple display: using lookup tables for GPIO lookup                                             
[    3.442230] panel-simple display: No GPIO consumer enable found                                                   
[    3.448486] panel-simple display: Specify missing bus_flags                                                       
[    3.497650] brd: module loaded                                                                                    
[    3.539611] loop: module loaded                                                                                   
[    3.548675] mtdoops: mtd device (mtddev=name/number) must be supplied                                             
[    3.571990] mdio_bus fixed-0: GPIO lookup for consumer reset                                                      
[    3.577972] mdio_bus fixed-0: using lookup tables for GPIO lookup                                                 
[    3.584472] mdio_bus fixed-0: No GPIO consumer reset found                                                        
[    3.590789] libphy: Fixed MDIO Bus: probed                                                                        
[    3.600006] tun: Universal TUN/TAP device driver, 1.6                                                             
[    3.616210] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver                                            
[    3.623168] ehci-pci: EHCI PCI platform driver                                                                    
[    3.627990] ehci-omap: OMAP-EHCI Host Controller driver                                                           
[    3.634796] ehci-omap 4a064c00.ehci: EHCI Host Controller                                                         
[    3.642211] ehci-omap 4a064c00.ehci: new USB bus registered, assigned bus number 1                                
[    3.651428] ehci-omap 4a064c00.ehci: irq 106, io mem 0x4a064c00                                                   
[    3.681823] ehci-omap 4a064c00.ehci: USB 2.0 started, EHCI 1.00                                                   
[    3.689910] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.12                        
[    3.698852] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1                                    
[    3.706542] usb usb1: Product: EHCI Host Controller                                                               
[    3.711730] usb usb1: Manufacturer: Linux 5.12.0-rc8+ ehci_hcd                                                    
[    3.717864] usb usb1: SerialNumber: 4a064c00.ehci                                                                 
[    3.726837] hub 1-0:1.0: USB hub found                                                                            
[    3.731140] hub 1-0:1.0: 3 ports detected                                                                         
[    3.739868] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver                                                
[    3.746551] ohci-platform: OHCI generic platform driver                                                           
[    3.753509] ohci-platform 4a064800.ohci: Generic Platform OHCI controller                                         
[    3.761413] ohci-platform 4a064800.ohci: new USB bus registered, assigned bus number 2                            
[    3.770538] ohci-platform 4a064800.ohci: irq 105, io mem 0x4a064800                                               
[    3.866088] usb usb2: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 5.12                        
[    3.874877] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1                                    
[    3.882537] usb usb2: Product: Generic Platform OHCI controller                                                   
[    3.888763] usb usb2: Manufacturer: Linux 5.12.0-rc8+ ohci_hcd                                                    
[    3.894989] usb usb2: SerialNumber: 4a064800.ohci                                                                 
[    3.902160] hub 2-0:1.0: USB hub found                                                                            
[    3.906280] hub 2-0:1.0: 3 ports detected                                                                         
[    3.914031] usbcore: registered new interface driver cdc_acm                                                      
[    3.920013] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters                           
[    3.928619] usbcore: registered new interface driver cdc_wdm                                                      
[    3.934844] usbcore: registered new interface driver usb-storage                                                  
[    3.946228] musb-hdrc musb-hdrc.0.auto: MUSB HDRC host driver                                                     
[    3.953430] musb-hdrc musb-hdrc.0.auto: new USB bus registered, assigned bus number 3                             
[    3.962890] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.12                        
[    3.971679] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1                                    
[    3.979339] usb usb3: Product: MUSB HDRC host driver                                                              
[    3.984649] usb usb3: Manufacturer: Linux 5.12.0-rc8+ musb-hcd                                                    
[    3.990783] usb usb3: SerialNumber: musb-hdrc.0.auto                                                              
[    3.998657] hub 3-0:1.0: USB hub found                                                                            
[    4.003234] hub 3-0:1.0: 1 port detected                                                                          
[    4.014801] userial_init: registered 8 ttyGS* devices                                                             
[    4.020141] udc musb-hdrc.0.auto: registering UDC driver [g_cdc]                                                  
[    4.026947] using random self ethernet address                                                                    
[    4.031829] using random host ethernet address                                                                    
[    4.038787] g_cdc gadget: adding config #1 'CDC Composite (ECM + ACM)'/(ptrval)                                   
[    4.046722] g_cdc gadget: adding 'cdc_ethernet'/(ptrval) to config 'CDC Composite (ECM + ACM)'/(ptrval)           
[    4.058593] usb0: HOST MAC 42:38:07:f2:19:72                                                                      
[    4.063629] usb0: MAC e2:33:51:7d:b1:b1                                                                           
[    4.067718] g_cdc gadget: CDC Ethernet: dual speed IN/ep1in OUT/ep1out NOTIFY/ep2in                               
[    4.075897] g_cdc gadget: adding 'acm'/(ptrval) to config 'CDC Composite (ECM + ACM)'/(ptrval)                    
[    4.085083] g_cdc gadget: acm ttyGS0: dual speed IN/ep3in OUT/ep2out NOTIFY/ep4in                                 
[    4.093017] g_cdc gadget: cfg 1/(ptrval) speeds: high full                                                        
[    4.098785] g_cdc gadget:   interface 0 = cdc_ethernet/(ptrval)                                                   
[    4.105072] g_cdc gadget:   interface 1 = cdc_ethernet/(ptrval)                                                   
[    4.111328] g_cdc gadget:   interface 2 = acm/(ptrval)                                                            
[    4.116821] g_cdc gadget:   interface 3 = acm/(ptrval)                                                            
[    4.122283] g_cdc gadget: CDC Composite Gadget, version: King Kamehameha Day 2008                                 
[    4.130157] g_cdc gadget: g_cdc ready                                                                             
[    4.134155] musb-hdrc musb-hdrc.0.auto: musb_set_peripheral: already in peripheral mode: 98                       
[    4.145568] i2c /dev entries driver                                                                               
[    4.158508] omap_wdt: OMAP Watchdog Timer Rev 0x00: initial timeout 60 sec                                        
[    4.170440] sdhci: Secure Digital Host Controller Interface driver                                                
[    4.177032] sdhci: Copyright(c) Pierre Ossman                                                                     
[    4.184173] sdhci-pltfm: SDHCI platform and OF driver helper                                                      
[    4.195953] omap_hsmmc 480d1000.mmc: GPIO lookup for consumer cd                                                  
[    4.195953] omap_hsmmc 480b4000.mmc: GPIO lookup for consumer cd                                                  
[    4.196044] omap_hsmmc 480d1000.mmc: using device tree for GPIO lookup                                            
[    4.202514] omap_hsmmc 480b4000.mmc: using device tree for GPIO lookup                                            
[    4.202575] of_get_named_gpiod_flags: can't parse 'cd-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@b4000/mmc@0[0]'                                                                                      
[    4.208862] of_get_named_gpiod_flags: can't parse 'cd-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@d1000/mmc@0[0]'                                                                                      
[    4.215789] of_get_named_gpiod_flags: can't parse 'cd-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@b4000/mmc@0[0]'                                                                                       
[    4.222747] of_get_named_gpiod_flags: can't parse 'cd-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@d1000/mmc@0[0]'                                                                                       
[    4.236419] omap_hsmmc 480b4000.mmc: using lookup tables for GPIO lookup                                          
[    4.250152] omap_hsmmc 480d1000.mmc: using lookup tables for GPIO lookup                                          
[    4.250213] omap_hsmmc 480d1000.mmc: No GPIO consumer cd found                                                    
[    4.263854] omap_hsmmc 480b4000.mmc: No GPIO consumer cd found                                                    
[    4.277526] omap_hsmmc 480d1000.mmc: GPIO lookup for consumer wp                                                  
[    4.277526] omap_hsmmc 480d1000.mmc: using device tree for GPIO lookup                                            
[    4.277557] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@d1000/mmc@0[0]'                                                                                      
[    4.284667] omap_hsmmc 480b4000.mmc: GPIO lookup for consumer wp                                                  
[    4.291778] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@d1000/mmc@0[0]'                                                                                       
[    4.297882] omap_hsmmc 480b4000.mmc: using device tree for GPIO lookup                                            
[    4.304077] omap_hsmmc 480d1000.mmc: using lookup tables for GPIO lookup                                          
[    4.304107] omap_hsmmc 480d1000.mmc: No GPIO consumer wp found                                                    
[    4.310424] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@b4000/mmc@0[0]'                                                                                      
[    4.319000] omap_hsmmc 480d1000.mmc: Looking up vmmc-supply from device tree                                      
[    4.331115] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@b4000/mmc@0[0]'                                                                                       
[    4.337463] omap_hsmmc 480d1000.mmc: Looking up vmmc-supply property in node /ocp/interconnect@48000000/segment@0/target-module@d1000/mmc@0 failed                                                                                     
[    4.351135] omap_hsmmc 480b4000.mmc: using lookup tables for GPIO lookup                                          
[    4.358123] omap_hsmmc 480d1000.mmc: Looking up vqmmc-supply from device tree                                     
[    4.365142] omap_hsmmc 480b4000.mmc: No GPIO consumer wp found                                                    
[    4.371276] omap_hsmmc 480d1000.mmc: Looking up vqmmc-supply property in node /ocp/interconnect@48000000/segment@0/target-module@d1000/mmc@0 failed                                                                                    
[    4.386138] omap_hsmmc 480b4000.mmc: Looking up vmmc-supply from device tree                                      
[    4.392547] omap_hsmmc 480d1000.mmc: Looking up vmmc_aux-supply from device tree                                  
[    4.392547] omap_hsmmc 480d1000.mmc: Looking up vmmc_aux-supply property in node /ocp/interconnect@48000000/segment@0/target-module@d1000/mmc@0 failed                                                                                 
[    4.406280] omap_hsmmc 480b4000.mmc: Looking up vqmmc-supply from device tree                                     
[    4.420104] omap_hsmmc 480d1000.mmc: Looking up pbias-supply from device tree                                     
[    4.427215] omap_hsmmc 480b4000.mmc: Looking up vqmmc-supply property in node /ocp/interconnect@48000000/segment@0/target-module@b4000/mmc@0 failed                                                                                    
[    4.434722] omap_hsmmc 480d1000.mmc: Looking up pbias-supply property in node /ocp/interconnect@48000000/segment@0/target-module@d1000/mmc@0 failed                                                                                    
[    4.446441] omap_hsmmc 480d5000.mmc: GPIO lookup for consumer cd                                                  
[    4.533630] omap_hsmmc 480d5000.mmc: using device tree for GPIO lookup                                            
[    4.540527] of_get_named_gpiod_flags: can't parse 'cd-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@d5000/mmc@0[0]'                                                                                      
[    4.554412] of_get_named_gpiod_flags: can't parse 'cd-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@d5000/mmc@0[0]'                                                                                       
[    4.568206] omap_hsmmc 480d5000.mmc: using lookup tables for GPIO lookup                                          
[    4.575347] omap_hsmmc 480d5000.mmc: No GPIO consumer cd found                                                    
[    4.581481] omap_hsmmc 480d5000.mmc: GPIO lookup for consumer wp                                                  
[    4.587890] omap_hsmmc 480d5000.mmc: using device tree for GPIO lookup                                            
[    4.594818] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@d5000/mmc@0[0]'                                                                                      
[    4.608703] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@d5000/mmc@0[0]'                                                                                       
[    4.622497] omap_hsmmc 480d5000.mmc: using lookup tables for GPIO lookup                                          
[    4.629547] omap_hsmmc 480d5000.mmc: No GPIO consumer wp found                                                    
[    4.636962] omap_hsmmc 480d5000.mmc: Looking up vmmc-supply from device tree                                      
[    4.644470] omap_hsmmc 480d5000.mmc: Looking up vmmc-supply property in node /ocp/interconnect@48000000/segment@0/target-module@d5000/mmc@0 failed                                                                                     
[    4.658477] omap_hsmmc 480d5000.mmc: Looking up vqmmc-supply from device tree                                     
[    4.666046] omap_hsmmc 480d5000.mmc: Looking up vqmmc-supply property in node /ocp/interconnect@48000000/segment@0/target-module@d5000/mmc@0 failed                                                                                    
[    4.680114] omap_hsmmc 480d5000.mmc: Looking up vmmc_aux-supply from device tree                                  
[    4.687957] omap_hsmmc 480d5000.mmc: Looking up vmmc_aux-supply property in node /ocp/interconnect@48000000/segment@0/target-module@d5000/mmc@0 failed                                                                                 
[    4.702331] omap_hsmmc 480d5000.mmc: Looking up pbias-supply from device tree                                     
[    4.709838] omap_hsmmc 480d5000.mmc: Looking up pbias-supply property in node /ocp/interconnect@48000000/segment@0/target-module@d5000/mmc@0 failed                                                                                    
[    4.724517] ledtrig-cpu: registered to indicate activity on CPUs                                                  
[    4.737884] Initializing XFRM netlink socket                                                                      
[    4.743041] NET: Registered protocol family 10                                                                    
[    4.751342] Segment Routing with IPv6                                                                             
[    4.755554] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver                                                   
[    4.764739] NET: Registered protocol family 17                                                                    
[    4.769561] NET: Registered protocol family 15                                                                    
[    4.774627] Key type dns_resolver registered                                                                      
[    4.779327] ThumbEE CPU extension supported.                                                                      
[    4.783935] Registering SWP/SWPB emulation handler                                                                
[    4.789764] twl: not initialized                                                                                  
[    4.793273] twl6030_uv_to_vsel:OUT OF RANGE! non mapped vsel for 1375000 Vs max 1316660                           
[    4.801757] twl6030_uv_to_vsel:OUT OF RANGE! non mapped vsel for 1375000 Vs max 1316660                           
[    4.810211] twl6030_uv_to_vsel:OUT OF RANGE! non mapped vsel for 1375000 Vs max 1316660                           
[    4.818695] twl6030_uv_to_vsel:OUT OF RANGE! non mapped vsel for 1375000 Vs max 1316660                           
[    4.827209] twl6030_uv_to_vsel:OUT OF RANGE! non mapped vsel for 1375000 Vs max 1316660                           
[    4.835693] twl6030_uv_to_vsel:OUT OF RANGE! non mapped vsel for 1375000 Vs max 1316660                           
[    4.844177] twl6030_uv_to_vsel:OUT OF RANGE! non mapped vsel for 1410000 Vs max 1316660                           
[    4.852691] Power Management for TI OMAP4+ devices.                                                               
[    4.857818] OMAP4 PM: u-boot >= v2012.07 is required for full PM support                                          
[    4.868225] Loading compiled-in X.509 certificates                                                                
[    5.019073] smartreflex 4a0d9000.smartreflex: omap_sr_probe: SmartReflex driver initialized                       
[    5.029205] smartreflex 4a0db000.smartreflex: omap_sr_probe: SmartReflex driver initialized                       
[    5.039001] smartreflex 4a0dd000.smartreflex: omap_sr_probe: SmartReflex driver initialized                       
[    5.065887] abe_cm:clk:0068:0: failed to enable                                                                   
[    5.065887] ti-sysc: probe of 40130000.target-module failed with error -16                                        
[    5.108093] omap-iommu 4a066000.mmu: 4a066000.mmu registered                                                      
[    5.123870] i2c i2c-2: GPIO lookup for consumer scl                                                               
[    5.123870] i2c i2c-2: using device tree for GPIO lookup                                                          
[    5.134857] of_get_named_gpiod_flags: can't parse 'scl-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@60000/i2c@0[0]'                                                                                     
[    5.148773] of_get_named_gpiod_flags: can't parse 'scl-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@60000/i2c@0[0]'                                                                                      
[    5.148773] i2c i2c-2: using lookup tables for GPIO lookup                                                        
[    5.168487] i2c i2c-2: No GPIO consumer scl found                                                                 
[    5.173583] i2c i2c-2: GPIO lookup for consumer sda                                                               
[    5.178741] i2c i2c-2: using device tree for GPIO lookup                                                          
[    5.178741] of_get_named_gpiod_flags: can't parse 'sda-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@60000/i2c@0[0]'                                                                                     
[    5.198364] of_get_named_gpiod_flags: can't parse 'sda-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@60000/i2c@0[0]'                                                                                      
[    5.212463] i2c i2c-2: using lookup tables for GPIO lookup                                                        
[    5.218292] i2c i2c-2: No GPIO consumer sda found                                                                 
[    5.223266] omap_i2c 48060000.i2c: bus 2 rev0.10 at 400 kHz                                                       
[    5.232147] i2c i2c-0: GPIO lookup for consumer scl                                                               
[    5.237579] i2c i2c-0: using device tree for GPIO lookup                                                          
[    5.243225] of_get_named_gpiod_flags: can't parse 'scl-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@70000/i2c@0[0]'                                                                                     
[    5.257110] of_get_named_gpiod_flags: can't parse 'scl-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@70000/i2c@0[0]'                                                                                      
[    5.271026] i2c i2c-0: using lookup tables for GPIO lookup                                                        
[    5.276885] i2c i2c-0: No GPIO consumer scl found                                                                 
[    5.281921] i2c i2c-0: GPIO lookup for consumer sda                                                               
[    5.287078] i2c i2c-0: using device tree for GPIO lookup                                                          
[    5.292694] of_get_named_gpiod_flags: can't parse 'sda-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@70000/i2c@0[0]'                                                                                     
[    5.306732] of_get_named_gpiod_flags: can't parse 'sda-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@70000/i2c@0[0]'                                                                                      
[    5.320526] i2c i2c-0: using lookup tables for GPIO lookup                                                        
[    5.326385] i2c i2c-0: No GPIO consumer sda found                                                                 
[    5.335845] Skipping twl internal clock init and using bootloader value (unknown osc rate)                        
[    5.373291] hw-breakpoint: Failed to enable monitor mode on CPU 0.                                                
[    5.380584] hw-breakpoint: CPU 0 failed to disable vector catch                                                   
[    5.387176] twl 0-0048: PIH (irq 152) nested IRQs                                                                 
[    5.400970] twl_rtc 48070000.i2c:twl@48:rtc: Enabling TWL-RTC                                                     
[    5.417846] twl_rtc 48070000.i2c:twl@48:rtc: registered as rtc0                                                   
[    5.430267] twl_rtc 48070000.i2c:twl@48:rtc: setting system clock to 2021-04-30T06:27:17 UTC (1619764037)         
[    5.445770] VAUX1_6030: 1000 <--> 3000 mV at 2800 mV, enabled                                                     
[    5.458496] VAUX2_6030: 1200 <--> 2800 mV at 1800 mV, disabled                                                    
[    5.470794] VAUX3_6030: 1000 <--> 3000 mV at 1200 mV, disabled                                                    
[    5.482849] VMMC: 1200 <--> 3000 mV at 1800 mV, disabled                                                          
[    5.494506] VPP: 1800 <--> 2500 mV at 1900 mV, disabled                                                           
[    5.506469] VUSIM: 1200 <--> 2900 mV at 1800 mV, disabled                                                         
[    5.514801] VDAC: override min_uV, 1 -> 1800000                                                                   
[    5.514801] VDAC: override max_uV, 2147483647 -> 1800000                                                          
[    5.527130] VDAC: 1800 mV, enabled                                                                                
[    5.532867] VANA: override min_uV, 1 -> 2100000                                                                   
[    5.537750] VANA: override max_uV, 2147483647 -> 2100000                                                          
[    5.544067] VANA: 2100 mV, enabled                                                                                
[    5.549896] VCXIO: override min_uV, 1 -> 1800000                                                                  
[    5.554809] VCXIO: override max_uV, 2147483647 -> 1800000                                                         
[    5.562072] VCXIO: 1800 mV, enabled                                                                               
[    5.565795] VUSB: override min_uV, 1 -> 3300000                                                                   
[    5.572753] VUSB: override max_uV, 2147483647 -> 3300000                                                          
[    5.579101] VUSB: 3300 mV, disabled                                                                               
[    5.582855] V1V8: override min_uV, 1 -> 1800000                                                                   
[    5.589782] V1V8: override max_uV, 2147483647 -> 1800000                                                          
[    5.596832] V1V8: 1800 mV, enabled                                                                                
[    5.602539] V2V1: override min_uV, 1 -> 2100000                                                                   
[    5.607391] V2V1: override max_uV, 2147483647 -> 2100000                                                          
[    5.614440] V2V1: 2100 mV, enabled                                                                                
[    5.621490] twl6030_usb 48070000.i2c:twl@48:usb-comparator: Looking up usb-supply from device tree                
[    5.633911] random: fast init done                                                                                
[    5.639526] twl6030_usb 48070000.i2c:twl@48:usb-comparator: Initialized TWL6030 USB module                        
[    5.654571] omap_i2c 48070000.i2c: bus 0 rev0.10 at 400 kHz                                                       
[    5.663574] i2c i2c-1: GPIO lookup for consumer scl                                                               
[    5.668731] i2c i2c-1: using device tree for GPIO lookup                                                          
[    5.674407] of_get_named_gpiod_flags: can't parse 'scl-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@72000/i2c@0[0]'                                                                                     
[    5.688415] of_get_named_gpiod_flags: can't parse 'scl-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@72000/i2c@0[0]'                                                                                      
[    5.688446] i2c i2c-1: using lookup tables for GPIO lookup                                                        
[    5.708129] i2c i2c-1: No GPIO consumer scl found                                                                 
[    5.713165] i2c i2c-1: GPIO lookup for consumer sda                                                               
[    5.718322] i2c i2c-1: using device tree for GPIO lookup                                                          
[    5.723968] of_get_named_gpiod_flags: can't parse 'sda-gpios' property of node '/ocp/interconnect@48000000/segment@0/target-module@72000/i2c@0[0]'                                                                                     
[    5.737915] of_get_named_gpiod_flags: can't parse 'sda-gpio' property of node '/ocp/interconnect@48000000/segment@0/target-module@72000/i2c@0[0]'                                                                                      
[    5.751831] i2c i2c-1: using lookup tables for GPIO lookup                                                        
[    5.757629] i2c i2c-1: No GPIO consumer sda found                                                                 
[    5.757629] omap_i2c 48072000.i2c: bus 1 rev0.10 at 400 kHz                                                       
[    5.771118] i2c i2c-3: GPIO lookup for consumer scl                                                               
[    5.776580] i2c i2c-3: using device tree for GPIO lookup                                                          
[    5.782318] of_get_named_gpiod_flags: can't parse 'scl-gpios' property of node '/ocp/interconnect@48000000/segment@200000/target-module@150000/i2c@0[0]'                                                                               
[    5.796813] of_get_named_gpiod_flags: can't parse 'scl-gpio' property of node '/ocp/interconnect@48000000/segment@200000/target-module@150000/i2c@0[0]'                                                                                
[    5.811309] i2c i2c-3: using lookup tables for GPIO lookup                                                        
[    5.817138] i2c i2c-3: No GPIO consumer scl found                                                                 
[    5.822174] i2c i2c-3: GPIO lookup for consumer sda                                                               
[    5.827362] i2c i2c-3: using device tree for GPIO lookup                                                          
[    5.832977] of_get_named_gpiod_flags: can't parse 'sda-gpios' property of node '/ocp/interconnect@48000000/segment@200000/target-module@150000/i2c@0[0]'                                                                               
[    5.847503] of_get_named_gpiod_flags: can't parse 'sda-gpio' property of node '/ocp/interconnect@48000000/segment@200000/target-module@150000/i2c@0[0]'                                                                                
[    5.861968] i2c i2c-3: using lookup tables for GPIO lookup                                                        
[    5.867767] i2c i2c-3: No GPIO consumer sda found                                                                 
[    5.872741] omap_i2c 48350000.i2c: bus 3 rev0.10 at 400 kHz                                                       
[    5.881805] omap-iommu 55082000.mmu: 55082000.mmu registered                                                      
[    5.893005] DSS: set fck to 170666667                                                                             
[    5.899322] omapdss_dss 58000000.dss: Looking up vdda_video-supply from device tree                               
[    5.917053] pwm-backlight backlight: GPIO lookup for consumer enable                                              
[    5.925231] pwm-backlight backlight: using device tree for GPIO lookup                                            
[    5.932250] of_get_named_gpiod_flags: can't parse 'enable-gpios' property of node '/backlight[0]'   
[   30.424591]                                                                                                       
[   30.426330] ======================================================                                                
[   30.431732] WARNING: possible circular locking dependency detected                                                
[   30.439483] 5.12.0-rc8+ #3 Not tainted                                                                            
[   30.443450] ------------------------------------------------------                                                
[   30.449890] kworker/1:2/65 is trying to acquire lock:                                                             
[   30.453033] c266c6d0 (&dev->lock){-.-.}-{2:2}, at: rx_submit+0x18/0x1b0                                           
[   30.462249]                                                                                                       
[   30.462249] but task is already holding lock:                                                                     
[   30.462463] g_cdc gadget: reset config                                                                            
[   30.462463] c381a074 (&musb->list_lock                                                                            
[   30.472290] g_cdc gadget: ecm deactivated                                                                         
[   30.472290] usb0: gether_disconnect                                                                               
[   30.476226] ){-.-.}-{2:2}                                                                                         
[   30.480438] g_cdc gadget: acm ttyGS0 deactivated                                                                  
[   30.480438] , at: musb_run_resume_work+0x1c/0xdc                                                                  
[   30.495941]                                                                                                       
[   30.495941] which lock already depends on the new lock.                                                           
[   30.495941]                                                                                                       
[   30.504333]                                                                                                       
[   30.504333] the existing dependency chain (in reverse order) is:                                                  
[   30.511688]                                                                                                       
[   30.511688] -> #2 (&musb->list_lock){-.-.}-{2:2}:                                                                 
[   30.519439]        lock_acquire.part.0+0xb8/0x1cc                                                                 
[   30.523681]        _raw_spin_lock_irqsave+0x58/0x74                                                               
[   30.529541]        musb_run_resume_work+0x1c/0xdc                                                                 
[   30.533752]        musb_runtime_resume+0x3c/0x7c                                                                  
[   30.533752]        __rpm_callback+0x74/0x138                                                                      
[   30.543853]        rpm_callback+0x50/0x74                                                                         
[   30.546813]        rpm_resume+0x5c8/0x800                                                                         
[   30.551696]        __pm_runtime_resume+0x50/0x68
[   30.551696]        omap_musb_set_mailbox+0x1c/0x190
[   30.562316]        process_one_work+0x2a8/0x7d4
[   30.567077]        worker_thread+0x4c/0x47c
[   30.567077]        kthread+0x140/0x154
[   30.575439]        ret_from_fork+0x14/0x38
[   30.575439]        0x0
[   30.580932] DISPC: dispc_runtime_get
[   30.580932] 
[   30.580932] -> #1 (&musb->lock){-.-.}-{2:2}:
[   30.582244]        lock_acquire.part.0+0xb8/0x1cc
[   30.582275]        _raw_spin_lock_irqsave+0x58/0x74
[   30.582275]        musb_gadget_queue+0x138/0x4c0
[   30.586151] DSS: dss_restore_context
[   30.586151]        usb_ep_queue+0x38/0x1c8
[   30.586151]        ecm_do_notify+0x84/0x180
[   30.592102]        eth_open+0x5c/0x74
[   30.597045] DSS: context restored
[   30.597045]        __dev_open+0xf0/0x19c
[   30.602172]        __dev_change_flags+0x188/0x21c
[   30.602172]        dev_change_flags+0x14/0x44
[   30.602172]        devinet_ioctl+0x634/0x794
[   30.602203]        inet_ioctl+0x214/0x3dc
[   30.602203]        sock_ioctl+0x55c/0x6e8
[   30.607116] DISPC: fifo(0) threshold (bytes), old 20352/20464, new 32640/32752
[   30.607116]        sys_ioctl+0x8c/0xbc
[   30.610809]        ret_fast_syscall+0x0/0x2c
[   30.615142] DISPC: fifo(1) threshold (bytes), old 32640/32752, new 32640/32752
[   30.615142]        0xbee70a60
[   30.619506] 
[   30.619506] -> #0
[   30.623352] DISPC: fifo(2) threshold (bytes), old 32640/32752, new 32640/32752
[   30.623352]  (&dev->lock){-.-.}-{2:2}:
[   30.623352]        validate_chain+0x59c/0x92c
[   30.626831]        __lock_acquire+0x3d4/0x7a8
[   30.630950] DISPC: fifo(3) threshold (bytes), old 32640/32752, new 32640/32752
[   30.635864]        lock_acquire.part.0+0xb8/0x1cc
[   30.635864]        _raw_spin_lock_irqsave+0x58/0x74
[   30.635894]        rx_submit+0x18/0x1b0
[   30.635894] DISPC: fifo(4) threshold (bytes), old 32640/32752, new 0/128
[   30.635894]        musb_g_giveback+0xfc/0x22c
hansemro commented 3 years ago

X has landed with confirmed working USB OTG: image

mj-sakellaropoulos commented 3 years ago

hydis panel is missing

Oh yeah, totally forgot. Oops I've added it back to the clean branch.

What else was needed?

hansemro commented 3 years ago

What else was needed?

Something in the device tree made it work. I will share my dts after more testing.

mj-sakellaropoulos commented 3 years ago

The reason my DTS might not have worked is because when I was debugging I lost my original dts, so I had to decompile the dtb with glitchy display and I restarted from there. Then when I got it working, I tried to port all of my changes to the in-tree DTS. Maybe I missed a property... (although i did test it)

hansemro commented 3 years ago

Things that broke video output for me:

Things that did not matter:

Clock is still wrong, but it is close enough that it works.

amazon-otter:~# cat /sys/kernel/debug/omapdss/clk
- DSS -
FCK = 170666667
- DISPC -
dispc fclk source = FCK
fck  170666667       
- DISPC-CORE-CLK -
lck  170666667       lck div 1
- LCD -
LCD clk source = FCK
lck  170666667       lck div 1
pck  85333333        pck div 2
- LCD2 -
LCD2 clk source = FCK
lck  170666667       lck div 1
pck  56888889        pck div 3
mj-sakellaropoulos commented 3 years ago

Huh, weird. Ok then I will test with your config and see if I get the same result.

mj-sakellaropoulos commented 3 years ago

Clock is still wrong, but it is close enough that it works.

Good enough, within spec

enabling dsi1 and dsi2 , fix: left disabled

This broke it for me.

hansemro commented 3 years ago

Weird.

mj-sakellaropoulos commented 3 years ago

I also did all the other things you mentioned, trying to narrow it down now.

Edit : needed DSI1/2, am going to try your DTS now as-is

hansemro commented 3 years ago

I posted my dts/dtsi files in dtb_dev branch https://github.com/hansemro/kc1-linux/commit/99a7da03e258381cc880b25de4a130be3c0cc5a2

mj-sakellaropoulos commented 3 years ago

Ok - I've tested both now. Must be down to differences in omapdrm across kernel versions.

For Linux 5.12-rc8 : DSI1/2 are needed as "ok"

I've tried your DTS as-is and its no longer working. You're on 5.11 right?

only change needed for it to work: omap4-kc1-dss.dtsi for 5.12-rc8+

...
&dsi1 {
    status = "ok";
    vdd-supply = <&vcxio>;
};

&dsi2 {
    status = "ok";
    vdd-supply = <&vcxio>;
};
hansemro commented 3 years ago

I've tried your DTS as-is and its no longer working. You're on 5.11 right?

Yes

hansemro commented 3 years ago

The same device tree works in 5.12-rc8, weird.

mj-sakellaropoulos commented 3 years ago

Oh, ok then. Perhaps I broke the code somewhere if that's the case....

I will use the clean branch and check

Technically my kernel is 5.12-rc8(+), but I didn't see any recent changes

hansemro commented 3 years ago

I am using your fork: https://github.com/mj-sakellaropoulos/linux-omap4-kc1/commit/9392a5911b66d47799425f3248b5960b1cac3f6d image

mj-sakellaropoulos commented 3 years ago

Yeah, the kernel I've been running was on the branch with the printks. I am compiling the clean branch now, I trust it works as you say 😂

There are a lot of if statements without brackets, sometimes I would forget to add brackets after I added the printk, so it would totally change the control flow. Which is also how I ended up with kernel panics

It's all good in the end anyways, because reading the code is how I figured I need vcxio on dsi, which is the main requirement

hansemro commented 3 years ago

I just removed vcxio from dsi and it still works... Well, they were disabled, so it should not have made a difference.

mj-sakellaropoulos commented 3 years ago

I've just booted from the clean branch : without DSI, it isn't working, and with DSI it's working. Ultimate confusion...

Actually our debugfs output is different:

- DSS -
FCK = 170666667
- DISPC -
dispc fclk source = FCK
fck     170666667       
- DISPC-CORE-CLK -
lck     170666667       lck div 1
- LCD -
LCD clk source = FCK
lck     170666667       lck div 1
pck     85333333        pck div 2
- LCD2 -
LCD2 clk source = PLL2:1
lck     153600000       lck div 1
pck     51200000        pck div 3

Your earlier post seems to be using the non-pll code path and mine is using the dsi1 pll, which is why your pixel clock is off by a bit, they can't get a very precise clock without a PLL.

hansemro commented 3 years ago

5.11.0_modules.tar.gz 2021-04-30-09-04_v5.11.0.tar.gz

hansemro commented 3 years ago

PLL works on your end, which is really interesting. Can you send your kernel + dtb?