[issue] LVDS panel enabled effect HDMI out image pull down menu items

I have successfully enabled LVDS panel(1024x768).
I met a problem.
Currently test enable LVDS out, it will effect HDMI(main) out image like pull down menu items.

I compare the two systems in my computer(ubuntu12.04) and TK1 board(ubuntu14.04)

It displays with describing of panel each on two screens(left-top) (see red mark)
But TK1 show describing of panel at left-top side on one screen (see red mark)
I thank ​the systems to confuse resolution on two panels.

How can I debug the issue?

Thank you

The first step is probably to check /var/log/Xorg.0.log

“xrandr” is a command line tool to display all modes known to X.Org.

I do have the same issue with a MIPI display. Just some pannels show in wrong resolution.

Attached Xorg.0.log for your reference.

ubuntu@tegra-ubuntu:~$ cat /var/log/Xorg.0.log
[ 12.814]
X.Org X Server 1.15.1
Release Date: 2014-04-13
[ 12.814] X Protocol Version 11, Revision 0
[ 12.814] Build Operating System: Linux 3.2.0-60-highbank armv7l Ubuntu
[ 12.814] Current Operating System: Linux tegra-ubuntu 3.10.40-ged4f697 #4 SMP PREEMPT Wed Apr 1 01:36:49 UTC 2015 armv7l
[ 12.814] Kernel command line: console=ttyS0,115200n8 console=tty1 no_console_suspend=1 lp0_vec=2064@0xf46ff000 mem=2015M@2048M memtype=255 ddr_die=2048M@2048M section=256M pmuboard=0x0177:0x0000:0x02:0x43:0x00 tsec=32M@3913M otf_key=c75e5bb91eb3bd947560357b64422f85 usbcore.old_scheme_first=1 core_edp_mv=1150 core_edp_ma=4000 tegraid=40.1.1.0.0 debug_uartport=lsport,3 power_supply=Adapter audio_codec=rt5640 modem_id=0 android.kerneltype=normal fbcon=map:1 commchip_id=0 usb_port_owner_info=2 lane_owner_info=6 emc_max_dvfs=0 touch_id=0@0 board_info=0x0177:0x0000:0x02:0x43:0x00 root=/dev/mmcblk0p1 rw rootwait tegraboot=sdmmc gpt
[ 12.815] Build Date: 30 July 2014 12:24:34AM
[ 12.815] xorg-server 2:1.15.1-0ubuntu2.1 (For technical support please see http://www.ubuntu.com/support)
[ 12.815] Current version of pixman: 0.30.2
[ 12.815] Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
[ 12.815] Markers: (–) probed, () from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 12.815] (==) Log file: “/var/log/Xorg.0.log”, Time: Sat Jan 1 00:00:23 2000
[ 12.819] (==) Using config file: “/etc/X11/xorg.conf”
[ 12.819] (==) Using system config directory “/usr/share/X11/xorg.conf.d”
[ 12.823] (==) No Layout section. Using the first Screen section.
[ 12.823] (==) No screen section available. Using defaults.
[ 12.824] (
) |–>Screen “Default Screen Section” (0)
[ 12.824] () | |–>Monitor “”
[ 12.824] (==) No device specified for screen “Default Screen Section”.
Using the first device section listed.
[ 12.824] (
) | |–>Device “Tegra0”
[ 12.824] (==) No monitor specified for screen “Default Screen Section”.
Using a default monitor configuration.
[ 12.824] (==) Automatically adding devices
[ 12.824] (==) Automatically enabling devices
[ 12.824] (==) Automatically adding GPU devices
[ 12.826] (WW) The directory “/usr/share/fonts/X11/cyrillic” does not exist.
[ 12.826] Entry deleted from font path.
[ 12.826] (WW) The directory “/usr/share/fonts/X11/100dpi/” does not exist.
[ 12.826] Entry deleted from font path.
[ 12.826] (WW) The directory “/usr/share/fonts/X11/75dpi/” does not exist.
[ 12.826] Entry deleted from font path.
[ 12.829] (WW) The directory “/usr/share/fonts/X11/100dpi” does not exist.
[ 12.829] Entry deleted from font path.
[ 12.830] (WW) The directory “/usr/share/fonts/X11/75dpi” does not exist.
[ 12.830] Entry deleted from font path.
[ 12.830] (==) FontPath set to:
/usr/share/fonts/X11/misc,
/usr/share/fonts/X11/Type1,
built-ins
[ 12.830] (==) ModulePath set to “/usr/lib/arm-linux-gnueabihf/xorg/extra-modules,/usr/lib/xorg/extra-modules,/usr/lib/xorg/modules”
[ 12.830] (II) The server relies on udev to provide the list of input devices.
If no devices become available, reconfigure udev or disable AutoAddDevices.
[ 12.830] (II) Loader magic: 0xb6fcdf10
[ 12.830] (II) Module ABI versions:
[ 12.830] X.Org ANSI C Emulation: 0.4
[ 12.830] X.Org Video Driver: 15.0
[ 12.830] X.Org XInput driver : 20.0
[ 12.830] X.Org Server Extension : 8.0
[ 12.831] Initializing built-in extension Generic Event Extension
[ 12.831] Initializing built-in extension SHAPE
[ 12.831] Initializing built-in extension MIT-SHM
[ 12.831] Initializing built-in extension XInputExtension
[ 12.831] Initializing built-in extension XTEST
[ 12.831] Initializing built-in extension BIG-REQUESTS
[ 12.831] Initializing built-in extension SYNC
[ 12.831] Initializing built-in extension XKEYBOARD
[ 12.831] Initializing built-in extension XC-MISC
[ 12.831] Initializing built-in extension SECURITY
[ 12.832] Initializing built-in extension XINERAMA
[ 12.832] Initializing built-in extension XFIXES
[ 12.832] Initializing built-in extension RENDER
[ 12.832] Initializing built-in extension RANDR
[ 12.832] Initializing built-in extension COMPOSITE
[ 12.832] Initializing built-in extension DAMAGE
[ 12.832] Initializing built-in extension MIT-SCREEN-SAVER
[ 12.832] Initializing built-in extension DOUBLE-BUFFER
[ 12.832] Initializing built-in extension RECORD
[ 12.832] Initializing built-in extension DPMS
[ 12.832] Initializing built-in extension Present
[ 12.832] Initializing built-in extension DRI3
[ 12.832] Initializing built-in extension X-Resource
[ 12.832] Initializing built-in extension XVideo
[ 12.833] Initializing built-in extension XVideo-MotionCompensation
[ 12.833] Initializing built-in extension SELinux
[ 12.833] Initializing built-in extension XFree86-VidModeExtension
[ 12.833] Initializing built-in extension XFree86-DGA
[ 12.833] Initializing built-in extension XFree86-DRI
[ 12.833] Initializing built-in extension DRI2
[ 12.833] (WW) “dri” will not be loaded unless you’ve specified it to be loaded elsewhere.
[ 12.833] (II) “glx” will be loaded by default.
[ 12.833] (WW) “xmir” is not to be loaded by default. Skipping.
[ 12.833] (II) LoadModule: “extmod”
[ 12.833] (II) Module “extmod” already built-in
[ 12.833] (II) LoadModule: “glx”
[ 12.834] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[ 13.068] (II) Module glx: vendor=“NVIDIA Corporation”
[ 13.068] compiled for 4.0.2, module version = 1.0.0
[ 13.068] Module class: X.Org Server Extension
[ 13.068] (II) NVIDIA GLX Module 21.2 Release Build (integ_stage_rel) (buildbrain@mobile-u64-270) Mon Dec 1 14:31:47 PST 2014
[ 13.068] Loading extension GLX
[ 13.068] (II) LoadModule: “nvidia”
[ 13.076] (II) Loading /usr/lib/xorg/modules/drivers/nvidia_drv.so
[ 13.100] (II) Module nvidia: vendor=“NVIDIA Corporation”
[ 13.100] compiled for 4.0.2, module version = 1.0.0
[ 13.100] Module class: X.Org Video Driver
[ 13.117] (II) NVIDIA dlloader X Driver 21.2 Release Build (integ_stage_rel) (buildbrain@mobile-u64-270) Mon Dec 1 14:35:32 PST 2014
[ 13.117] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[ 13.117] (++) using VT number 7

[ 13.130] (WW) Falling back to old probe method for NVIDIA
[ 13.130] (II) Loading sub module “fb”
[ 13.130] (II) LoadModule: “fb”
[ 13.130] (II) Loading /usr/lib/xorg/modules/libfb.so
[ 13.133] (II) Module fb: vendor=“X.Org Foundation”
[ 13.133] compiled for 1.15.1, module version = 1.0.0
[ 13.133] ABI class: X.Org ANSI C Emulation, version 0.4
[ 13.133] (WW) Unresolved symbol: fbGetGCPrivateKey
[ 13.133] (II) Loading sub module “wfb”
[ 13.133] (II) LoadModule: “wfb”
[ 13.134] (II) Loading /usr/lib/xorg/modules/libwfb.so
[ 13.136] (II) Module wfb: vendor=“X.Org Foundation”
[ 13.136] compiled for 1.15.1, module version = 1.0.0
[ 13.136] ABI class: X.Org ANSI C Emulation, version 0.4
[ 13.136] (II) Loading sub module “ramdac”
[ 13.136] (II) LoadModule: “ramdac”
[ 13.136] (II) Module “ramdac” already built-in
[ 13.137] (II) NVIDIA(0): Creating default Display subsection in Screen section
“Default Screen Section” for depth/fbbpp 24/32
[ 13.137] (==) NVIDIA(0): Depth 24, (==) framebuffer bpp 32
[ 13.137] (==) NVIDIA(0): RGB weight 888
[ 13.137] (==) NVIDIA(0): Default visual is TrueColor
[ 13.137] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
[ 13.137] () NVIDIA(0): Enabling 2D acceleration
[ 13.318] (II) NVIDIA(0): NVIDIA GPU GK20A/NullRM (GK20A) at SoC (GPU-0)
[ 13.318] (–) NVIDIA(0): Memory: 1939456 kBytes
[ 13.318] (–) NVIDIA(0): VideoBIOS:
[ 13.319] (–) NVIDIA(0): Valid display device(s) on GK20A/NullRM at SoC
[ 13.319] (–) NVIDIA(0): DFP-0 (connected)
[ 13.319] (–) NVIDIA(0): DFP-1 (connected)
[ 13.319] (–) NVIDIA(0): DFP-0: External TMDS
[ 13.319] (–) NVIDIA(0): DFP-1: External TMDS
[ 13.319] (
) NVIDIA(0): Using HorizSync/VertRefresh ranges from the EDID for display
[ 13.319] () NVIDIA(0): device DFP-0 (Using EDID frequencies has been enabled on
[ 13.319] (
) NVIDIA(0): all display devices.)
[ 13.320] () NVIDIA(0): Using HorizSync/VertRefresh ranges from the EDID for display
[ 13.320] (
) NVIDIA(0): device DFP-1 (Using EDID frequencies has been enabled on
[ 13.320] () NVIDIA(0): all display devices.)
[ 13.321] (==) NVIDIA(0):
[ 13.321] (==) NVIDIA(0): No modes were requested; the default mode “nvidia-auto-select”
[ 13.321] (==) NVIDIA(0): will be used as the requested mode.
[ 13.321] (==) NVIDIA(0):
[ 13.321] (II) NVIDIA(0): Validated MetaModes:
[ 13.321] (II) NVIDIA(0): “DFP-0:nvidia-auto-select,DFP-1:nvidia-auto-select”
[ 13.321] (II) NVIDIA(0): Virtual screen size determined to be 2944 x 1080
[ 13.322] (WW) NVIDIA(0): Unable to support custom viewPortOut 1024 x 768 +0 +0
[ 13.322] (WW) NVIDIA(0): Unable to support custom viewPortOut 1024 x 768 +0 +0
[ 13.323] (WW) NVIDIA(0): Unable to support custom viewPortOut 1024 x 576 +0 +96
[ 13.323] (WW) NVIDIA(0): Unable to get display device DFP-0’s EDID; cannot compute DPI
[ 13.323] (WW) NVIDIA(0): from DFP-0’s EDID.
[ 13.323] (==) NVIDIA(0): DPI set to (75, 75); computed from built-in default
[ 13.324] (–) Depth 24 pixmap format is 32 bpp
[ 13.326] (WW) NVIDIA(GPU-0): Failed to enter interactive mode.
[ 13.348] (EE) NVIDIA(0): Failed to allocate NVIDIA Error Handler
[ 13.348] (II) NVIDIA(0): ACPI: failed to connect to the ACPI event daemon; the daemon
[ 13.349] (II) NVIDIA(0): may not be running or the “AcpidSocketPath” X
[ 13.349] (II) NVIDIA(0): configuration option may not be set correctly. When the
[ 13.349] (II) NVIDIA(0): ACPI event daemon is available, the NVIDIA X driver will
[ 13.349] (II) NVIDIA(0): try to use it to receive ACPI event notifications. For
[ 13.349] (II) NVIDIA(0): details, please see the “ConnectToAcpid” and
[ 13.349] (II) NVIDIA(0): “AcpidSocketPath” X configuration options in Appendix B: X
[ 13.349] (II) NVIDIA(0): Config Options in the README.
[ 13.349] (II) NVIDIA(0): Setting mode “DFP-0:nvidia-auto-select,DFP-1:nvidia-auto-select”
[ 13.486] Loading extension NV-GLX
[ 13.494] (==) NVIDIA(0): Disabling shared memory pixmaps
[ 13.494] (==) NVIDIA(0): Backing store enabled
[ 13.494] (==) NVIDIA(0): Silken mouse enabled
[ 13.508] (==) NVIDIA(0): DPMS enabled
[ 13.508] Loading extension NV-CONTROL
[ 13.515] (EE) NVIDIA(0): Failed to allocate NVIDIA Damage Manager
[ 13.515] Loading extension XINERAMA
[ 13.515] (II) Loading sub module “dri2”
[ 13.515] (II) LoadModule: “dri2”
[ 13.515] (II) Module “dri2” already built-in
[ 13.515] (II) NVIDIA(0): [DRI2] Setup complete
[ 13.515] (II) NVIDIA(0): [DRI2] VDPAU driver: nvidia
[ 13.515] (–) RandR disabled
[ 13.545] (II) SELinux: Disabled on system
[ 13.549] (II) Initializing extension GLX
[ 13.612] (II) XKB: reuse xkmfile /var/lib/xkb/server-B20D7FC79C7F597315E3E501AEF10E0D866E8E92.xkm
[ 13.625] (II) config/udev: Adding input device gpio-keys.4 (/dev/input/event1)
[ 13.625] (
) gpio-keys.4: Applying InputClass “evdev keyboard catchall”
[ 13.625] (II) LoadModule: “evdev”
[ 13.625] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
[ 13.628] (II) Module evdev: vendor=“X.Org Foundation”
[ 13.628] compiled for 1.15.0, module version = 2.8.2
[ 13.628] Module class: X.Org XInput Driver
[ 13.628] ABI class: X.Org XInput driver, version 20.0
[ 13.628] (II) Using input driver ‘evdev’ for ‘gpio-keys.4’
[ 13.628] () gpio-keys.4: always reports core events
[ 13.628] (
) evdev: gpio-keys.4: Device: “/dev/input/event1”
[ 13.628] (–) evdev: gpio-keys.4: Vendor 0x1 Product 0x1
[ 13.628] (–) evdev: gpio-keys.4: Found keys
[ 13.628] (II) evdev: gpio-keys.4: Configuring as keyboard
[ 13.629] () Option “config_info” “udev:/sys/devices/platform/gpio-keys.4/input/input1/event1”
[ 13.629] (II) XINPUT: Adding extended input device “gpio-keys.4” (type: KEYBOARD, id 6)
[ 13.629] (
) Option “xkb_rules” “evdev”
[ 13.629] () Option “xkb_model” “pc105”
[ 13.629] (
) Option “xkb_layout” “us”
[ 13.632] (II) config/udev: Adding input device tegra-rt5639 Headphone Jack (/dev/input/event0)
[ 13.632] (II) No input driver specified, ignoring this device.
[ 13.632] (II) This device may have been added with another device file.
[ 14.087] (II) config/udev: Adding input device Logitech USB Optical Mouse (/dev/input/event2)
[ 14.087] () Logitech USB Optical Mouse: Applying InputClass “evdev pointer catchall”
[ 14.087] (II) Using input driver ‘evdev’ for ‘Logitech USB Optical Mouse’
[ 14.087] (
) Logitech USB Optical Mouse: always reports core events
[ 14.087] () evdev: Logitech USB Optical Mouse: Device: “/dev/input/event2”
[ 14.087] (–) evdev: Logitech USB Optical Mouse: Vendor 0x46d Product 0xc05a
[ 14.087] (–) evdev: Logitech USB Optical Mouse: Found 3 mouse buttons
[ 14.087] (–) evdev: Logitech USB Optical Mouse: Found scroll wheel(s)
[ 14.087] (–) evdev: Logitech USB Optical Mouse: Found relative axes
[ 14.087] (–) evdev: Logitech USB Optical Mouse: Found x and y relative axes
[ 14.087] (II) evdev: Logitech USB Optical Mouse: Configuring as mouse
[ 14.087] (II) evdev: Logitech USB Optical Mouse: Adding scrollwheel support
[ 14.087] (
) evdev: Logitech USB Optical Mouse: YAxisMapping: buttons 4 and 5
[ 14.087] () evdev: Logitech USB Optical Mouse: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[ 14.088] (
) Option “config_info” “udev:/sys/devices/platform/tegra-xhci/usb1/1-3/1-3.4/1-3.4:1.0/input/input2/event2”
[ 14.088] (II) XINPUT: Adding extended input device “Logitech USB Optical Mouse” (type: MOUSE, id 7)
[ 14.088] (II) evdev: Logitech USB Optical Mouse: initialized for relative axes.
[ 14.088] () Logitech USB Optical Mouse: (accel) keeping acceleration scheme 1
[ 14.088] (
) Logitech USB Optical Mouse: (accel) acceleration profile 0
[ 14.088] () Logitech USB Optical Mouse: (accel) acceleration factor: 2.000
[ 14.088] (
) Logitech USB Optical Mouse: (accel) acceleration threshold: 4
[ 16.790] (II) XKB: reuse xkmfile /var/lib/xkb/server-B20D7FC79C7F597315E3E501AEF10E0D866E8E92.xkm
[ 19.058] (II) XKB: reuse xkmfile /var/lib/xkb/server-B20D7FC79C7F597315E3E501AEF10E0D866E8E92.xkm
[ 19.214] (II) XKB: reuse xkmfile /var/lib/xkb/server-B20D7FC79C7F597315E3E501AEF10E0D866E8E92.xkm
[ 21.580] (II) XKB: reuse xkmfile /var/lib/xkb/server-34CEB476A3CB596DA76FD7010A029F76732EF824.xkm
[ 81.153] (II) config/udev: Adding input device HID 0b38:0010 (/dev/input/event3)
[ 81.153] () HID 0b38:0010: Applying InputClass “evdev keyboard catchall”
[ 81.153] (II) Using input driver ‘evdev’ for ‘HID 0b38:0010’
[ 81.153] (
) HID 0b38:0010: always reports core events
[ 81.153] () evdev: HID 0b38:0010: Device: “/dev/input/event3”
[ 81.153] (–) evdev: HID 0b38:0010: Vendor 0xb38 Product 0x10
[ 81.153] (–) evdev: HID 0b38:0010: Found keys
[ 81.153] (II) evdev: HID 0b38:0010: Configuring as keyboard
[ 81.153] (
) Option “config_info” “udev:/sys/devices/platform/tegra-xhci/usb1/1-3/1-3.3/1-3.3:1.0/input/input3/event3”
[ 81.153] (II) XINPUT: Adding extended input device “HID 0b38:0010” (type: KEYBOARD, id 8)
[ 81.153] () Option “xkb_rules” “evdev”
[ 81.153] (
) Option “xkb_model” “pc105”
[ 81.154] () Option “xkb_layout” “us”
[ 81.180] (II) config/udev: Adding input device HID 0b38:0010 (/dev/input/event4)
[ 81.180] (
) HID 0b38:0010: Applying InputClass “evdev keyboard catchall”
[ 81.180] (II) Using input driver ‘evdev’ for ‘HID 0b38:0010’
[ 81.180] () HID 0b38:0010: always reports core events
[ 81.180] (
) evdev: HID 0b38:0010: Device: “/dev/input/event4”
[ 81.180] (–) evdev: HID 0b38:0010: Vendor 0xb38 Product 0x10
[ 81.180] (–) evdev: HID 0b38:0010: Found 1 mouse buttons
[ 81.180] (–) evdev: HID 0b38:0010: Found scroll wheel(s)
[ 81.180] (–) evdev: HID 0b38:0010: Found relative axes
[ 81.180] (II) evdev: HID 0b38:0010: Forcing relative x/y axes to exist.
[ 81.180] (–) evdev: HID 0b38:0010: Found absolute axes
[ 81.180] (II) evdev: HID 0b38:0010: Forcing absolute x/y axes to exist.
[ 81.181] (–) evdev: HID 0b38:0010: Found keys
[ 81.181] (II) evdev: HID 0b38:0010: Configuring as mouse
[ 81.181] (II) evdev: HID 0b38:0010: Configuring as keyboard
[ 81.181] (II) evdev: HID 0b38:0010: Adding scrollwheel support
[ 81.181] () evdev: HID 0b38:0010: YAxisMapping: buttons 4 and 5
[ 81.181] (
) evdev: HID 0b38:0010: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[ 81.181] () Option “config_info” “udev:/sys/devices/platform/tegra-xhci/usb1/1-3/1-3.3/1-3.3:1.1/input/input4/event4”
[ 81.181] (II) XINPUT: Adding extended input device “HID 0b38:0010” (type: KEYBOARD, id 9)
[ 81.181] (
) Option “xkb_rules” “evdev”
[ 81.181] () Option “xkb_model” “pc105”
[ 81.181] (
) Option “xkb_layout” “us”
[ 81.183] (II) evdev: HID 0b38:0010: initialized for relative axes.
[ 81.183] (WW) evdev: HID 0b38:0010: ignoring absolute axes.
[ 81.184] () HID 0b38:0010: (accel) keeping acceleration scheme 1
[ 81.184] (
) HID 0b38:0010: (accel) acceleration profile 0
[ 81.184] () HID 0b38:0010: (accel) acceleration factor: 2.000
[ 81.184] (
) HID 0b38:0010: (accel) acceleration threshold: 4
[ 81.219] (II) XKB: reuse xkmfile /var/lib/xkb/server-B20D7FC79C7F597315E3E501AEF10E0D866E8E92.xkm

I see the orange lines (and most of the green lines) on my normal Jetson too.

If the problem is the wrong auto detected settings, you can also set the modelines to X.Org config directly. You should find plenty of examples by googling for xorg.conf, edid and modelines.

Dear nuu9323226
Can you share how you enabled the LVDS panel? Did you modify the kernel startup code or device tree? Which driver are you using?
Thank you!

This looks a lot like some issues I have when changing resolutions on an x86 Ubuntu machine, especially with multiple monitors. I don’t have the same issues in GNOME 3 on Fedora so I think it might be an Ubuntu issue, and may not be related to the TK1.

hello nuu9323226
I would be also interested in how you get the lvds display working on the jetson board. Could you describe what you have modified?
Thanks

I modify .config file
disable CONFIG_TEGRA_DP
enable CONFIG_TEGRA_LVDS
Follow your panel Spec. to modify paremeter.

Hello nuu9323226,

I’ve set CONFIG_TEGRA_LVDS=y and commented out CONFIG_TEGRA_DP but I am getting an error when I build the kernel:

In file included from /home/filippos/Downloads/kernel/drivers/video/tegra/dc/dc_priv_defs.h:26:0,
    from /home/filippos/Downloads/kernel/drivers/video/tegra/dc/dc_priv.h:23,
    from /home/filippos/Downloads/kernel/drivers/video/tegra/dc/lvds.c:23:
    /home/filippos/Downloads/kernel/include/linux/clk.h:345:20: warning: conflicting types for ‘clk_disable_unprepare’ [enabled by default]
    static inline void clk_disable_unprepare(struct clk *clk)
    ^
    /home/filippos/Downloads/kernel/include/linux/clk.h:345:20: error: static declaration of ‘clk_disable_unprepare’ follows non-static declaration
    In file included from /home/filippos/Downloads/kernel/drivers/video/tegra/dc/lvds.h:20:0,
    from /home/filippos/Downloads/kernel/drivers/video/tegra/dc/lvds.c:22:
    /home/filippos/Downloads/kernel/drivers/video/tegra/dc/sor.h:185:2: note: previous implicit declaration of ‘clk_disable_unprepare’ was here
    clk_disable_unprepare(sor->sor_clk);

Is there anything else that I have to change in that config to get it working?

I also run “make menuconfig” and tried to find LVDS option there but couldnt see anything. Then I did a search in menuconfig for “TEGRA_LVDS” and it found the option, which it claims is in “Device Drivers”->“Graphics Support”, but there is nothing related to LVDS there… Or at least nothing obvious.

Is there any chance you can post your .config file here?

@Flag
The following change can resolve the error encountered in build :-

— a/drivers/video/tegra/dc/lvds.c
+++ b/drivers/video/tegra/dc/lvds.c
@@ -18,6 +18,7 @@
#include <linux/kernel.h>

#include <mach/dc.h>
+#include <linux/clk.h>

#include “lvds.h”
#include “dc_priv.h”
@@ -67,6 +68,7 @@ static void tegra_dc_lvds_enable(struct tegra_dc *dc)

    tegra_dc_io_start(dc);
  •   tegra_sor_clk_enable(lvds->sor);
      /* Power on panel */
      tegra_sor_pad_cal_power(lvds->sor, true);
      tegra_dc_sor_set_internal_panel(lvds->sor, true);
    

@@ -107,11 +109,15 @@ static long tegra_dc_lvds_setup_clk(struct tegra_dc *dc, struct clk *clk)
struct tegra_dc_lvds_data *lvds = tegra_dc_get_outdata(dc);
struct clk *parent_clk;

  •   tegra_sor_setup_clk(lvds->sor, clk, true);
    
  •   parent_clk = clk_get_sys(NULL,
    
  •                   dc->out->parent_clk ? : "pll_d_out0");
    
  •   parent_clk = clk_get_parent(clk);
      if (clk_get_parent(lvds->sor->sor_clk) != parent_clk)
              clk_set_parent(lvds->sor->sor_clk, parent_clk);
    
  •   if (clk_get_parent(clk) != parent_clk)
    
  •           clk_set_parent(clk, parent_clk);
    
  •   tegra_sor_setup_clk(lvds->sor, clk, true);
    
      return tegra_dc_pclk_round_rate(dc, lvds->sor->dc->mode.pclk);
    

}

(Please also note you do not need to disable CONFIG_TEGRA_DP)

Hello,

Thanks for the patch Manoj. I applied it and rebuilt but still no LVDS. By the way, do I need to add a device and monitor etc. in my xorg.conf??
@nuu9323226 Is there any chance you can post your xorg.conf if indeed you had to do any changes in there?

I haven’t seen any changes required in xorg.conf but you do need to change default framebuffer console by modifying command line from fbcon=map:1 to fbcon=map:0.
I will check for other changes required.

Just got another update :-
LVDS is not officially supported in Jetson TK1, we have a patch verified on certain panel but there is no guarantee it will work for all panels. There are some panel configurations you need to do like in arch/arm/mach-tegra/board-ardbeg-panel.c and arch/arm/mach-tegra/panel-a-lvds-1024-10.c
here is another patch that I can share you for the correct clk sequence :-
diff --git a/drivers/video/tegra/dc/sor.c b/drivers/video/tegra/dc/sor.c
index e5fe66b…5288bbe 100644 (file)
— a/drivers/video/tegra/dc/sor.c
+++ b/drivers/video/tegra/dc/sor.c
@@ -1184,6 +1184,34 @@ void tegra_dc_sor_detach(struct tegra_dc_sor_data *sor)
tegra_dc_put(dc);
}

+static void tegra_sor_config_lvds_clk(struct tegra_dc_sor_data *sor)
+{

  •   int flag = tegra_is_clk_enabled(sor->sor_clk);
    
  •   if (sor->clk_type == TEGRA_SOR_LINK_CLK)
    
  •           return;
    
  •   tegra_sor_writel(sor, NV_SOR_CLK_CNTRL,
    
  •           NV_SOR_CLK_CNTRL_DP_CLK_SEL_SINGLE_PCLK |
    
  •           NV_SOR_CLK_CNTRL_DP_LINK_SPEED_LVDS);
    
  •   tegra_dc_sor_set_link_bandwidth(sor, SOR_LINK_SPEED_LVDS);
    
  •   /*
    
  •    * HW bug 1425607
    
  •    * Disable clocks to avoid glitch when switching
    
  •    * between safe clock and macro pll clock
    
  •    */
    
  •   if (flag)
    
  •           clk_disable_unprepare(sor->sor_clk);
    
  •   tegra_clk_cfg_ex(sor->sor_clk, TEGRA_CLK_SOR_CLK_SEL, 1);
    
  •   if (flag)
    
  •           clk_prepare_enable(sor->sor_clk);
    
  •   sor->clk_type = TEGRA_SOR_LINK_CLK;
    

+}
void tegra_dc_sor_enable_lvds(struct tegra_dc_sor_data *sor,
bool balanced, bool conforming)
{
@@ -1253,19 +1281,10 @@ void tegra_dc_sor_enable_lvds(struct tegra_dc_sor_data *sor,
NV_SOR_DP_SPARE_SOR_CLK_SEL_MACRO_SORCLK);

    tegra_dc_sor_enable_lane_sequencer(sor, true, true);
  •   tegra_dc_sor_set_link_bandwidth(sor, SOR_LINK_SPEED_LVDS);
    
  •   tegra_dc_sor_attach_lvds(sor);
    
  •   tegra_sor_config_lvds_clk(sor);
    
  •   tegra_sor_writel(sor, NV_SOR_CLK_CNTRL,
    
  •           NV_SOR_CLK_CNTRL_DP_CLK_SEL_SINGLE_PCLK |
    
  •           NV_SOR_CLK_CNTRL_DP_LINK_SPEED_LVDS);
    
  •   /* re-enable SOR clock */
    
  •   tegra_clk_cfg_ex(sor->sor_clk, TEGRA_CLK_SOR_CLK_SEL, 1);
    
  •   tegra_dc_sor_attach_lvds(sor);
    
      if ((tegra_dc_sor_set_power_state(sor, 1))) {
              dev_err(&sor->dc->ndev->dev,

Manoj

You said that “There are some panel configurations you need to do like in arch/arm/mach-tegra/board-ardbeg-panel.c and arch/arm/mach-tegra/panel-a-lvds-1024-10.c”

Please can you share what changes are needed in
arch/arm/mach-tegra/board-ardbeg-panel.c
?

Where can I get hold of the file
arch/arm/mach-tegra/panel-a-lvds-1024-10.c
please ?

I am trying to get a LVDS panel with 1024x768 running CLK at 65Mhz to work as 2nd display.
I have applied the suggested changes in lvds.c and sor.c
This should be pretty standard but all I get is a blank screen.

have you solved this question? I met it now and don’t known how to solve it.

Dear Kay,
This issue is same on R21.5 and R21.4.

Best regards,
Fox

This is an Ubuntu issue, not a Jetson-specific issue, so I would not expect this to be resolved with an L4T update.

Locking thread, please create another thread if any further issues are found.