Open hansemro opened 3 years ago
Reference:
Documentation/devicetree/bindings/display/simple-framebuffer.yaml
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.
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.
Never mind, the device still hangs before the login prompt can be reached.
Setting framebuffer address to 0x9e600000
seems to create a framebuffer device without halting the system. However, I can't be certain about the address.
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
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.
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.
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 */
>;
};
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.
FWIW, I've noticed that when the kernel starts handling pin configuration (pinctrl), the screen goes off.
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.
I've tested with 3.3 V BusPirate (for reads only) and it seems to work.
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 ?
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/
arch/arm/boot/dts/omap4-kc1.dts
:
/* comment out framebuffer in root */
&dss {
status = "okay";
};
&dsi2 {
status = "okay";
vdd-supply = <&vcxio>;
};
[ 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
Using r5g6b5 color format removes the yellow background. But now it is stretched vertically.
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.
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
Using your dts, I also see this:
[ 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)
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
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.
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
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
"enable-gpio"
You may also need to enable the 3.3 V rail connected to the display (gpio_47 pin).
"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
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.
Let me know if you can/can't repro
Explanation :
port@0
and reg = <0>
on both sides of graph portvdda_video-supply
on dss
nodevdd-supply
on dsi1
and dsi2
=> allows pll to workdsi1
and dsi2
=> allows pll to workTODO:
Wow, great progress! I will try as soon as I can.
Oddly, I don't have backlight.
Currently, I am unable to load simple panel and replicate results.
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:
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
X has landed with confirmed working USB OTG:
hydis panel is missing
Oh yeah, totally forgot. Oops I've added it back to the clean branch.
What else was needed?
What else was needed?
Something in the device tree made it work. I will share my dts after more testing.
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)
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
Huh, weird. Ok then I will test with your config and see if I get the same result.
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.
Weird.
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
I posted my dts/dtsi files in dtb_dev
branch
https://github.com/hansemro/kc1-linux/commit/99a7da03e258381cc880b25de4a130be3c0cc5a2
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>;
};
I've tried your DTS as-is and its no longer working. You're on 5.11 right?
Yes
The same device tree works in 5.12-rc8, weird.
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
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
I just removed vcxio from dsi and it still works... Well, they were disabled, so it should not have made a difference.
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.
PLL works on your end, which is really interesting. Can you send your kernel + dtb?
Resources:
Device tree resources:
Documentation/devicetree/bindings/display/panel/panel-dpi.yaml
Documentation/devicetree/bindings/display/panel/panel-simple.yaml
Documentation/devicetree/bindings/display/panel/panel-common.yaml
Hardware details:
0x9fec4000
(reported by U-Boot)Notes:
DSS configuration (from 3.4.48):