Beaglebone clone HDMI red and blue inverted

Hi All,

I have a beaglebone black clone and on the HDMI output red and blue color are inverted. I am using debian 9.5 with kernel 4.14.71-ti-r80.

I have tried changing blue-and-red-wiring = “crossed”; in the device tree and also un-commented “video-ports = <0x234501>;” in this file:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/dts/am335x-boneblack-common.dtsi#n82

I also made a change in device tree overlay BB-HDMI-TDA998x-00A0.dts and created a new dtbo with blue-and-red-wiring = “crossed” and also un-commented “video-ports = <0x234501>;”.

And still red and blue colors are inverted.

I would really appreciate if anyone can help me out.

Thank you

Are you using a 16bit interface with the same nxp tda19988, or are you
using a 24bit interface with a different phy?

Regards,

I am using 16bit with nxp tda 19988.

I am forcing hdmi resolution through uEnv.txt by un-commenting following:

cmdline=coherent_pool=1M net.ifnames=0 quiet video=HDMI-A-1:1024x768@60e

And I think its forcing display to 24bpp and it is inverting blue and red color.

I can not get a HDMI display without forcing the resolution. Is there anyway I can force 16bpp mode?

Hi Robert,

Here below is my boot log:
“”"

U-Boot 2018.09-00002-gd5b4c4b656 (Oct 19 2018 - 14:16:02 -0500), Build: jenkins-
github_Bootloader-Builder-84

CPU : AM335X-GP rev 2.1
I2C: ready
DRAM: 512 MiB
No match for driver ‘omap_hsmmc’
No match for driver ‘omap_hsmmc’
Some drivers were not found
Reset Source: Global warm SW reset has occurred.
Reset Source: Power-on reset has occurred.
RTC 32KCLK Source: External.
MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
Loading Environment from EXT4… ** File not found /boot/uboot.env **

** Unable to read “/boot/uboot.env” from mmc0:1 **
Board: BeagleBone Black
not set. Validating first E-fuse MAC
BeagleBone Black:
Timed out in wait_for_event: status=0000
Check if pads/pull-ups of bus are properly configured
BeagleBone: cape eeprom: i2c_probe: 0x54:
Timed out in wait_for_event: status=0000
Check if pads/pull-ups of bus are properly configured
BeagleBone: cape eeprom: i2c_probe: 0x55:
Timed out in wait_for_event: status=0000
Check if pads/pull-ups of bus are properly configured
BeagleBone: cape eeprom: i2c_probe: 0x56:
Timed out in wait_for_event: status=0000
Check if pads/pull-ups of bus are properly configured
BeagleBone: cape eeprom: i2c_probe: 0x57:
Net: eth0: MII MODE
cpsw, usb_ether
Press SPACE to abort autoboot in 2 seconds
board_name=[A335BNLT] …
board_rev=[000C] …
switch to partitions #0, OK
mmc0 is current device
SD/MMC found on device 0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1…
gpio: pin 56 (gpio 56) value is 0
gpio: pin 55 (gpio 55) value is 0
gpio: pin 54 (gpio 54) value is 0
gpio: pin 53 (gpio 53) value is 1
switch to partitions #0, OK
mmc0 is current device
gpio: pin 54 (gpio 54) value is 1
Checking for: /uEnv.txt …
Checking for: /boot.scr …
Checking for: /boot/boot.scr …
Checking for: /boot/uEnv.txt …
gpio: pin 55 (gpio 55) value is 1
2100 bytes read in 20 ms (102.5 KiB/s)
Loaded environment from /boot/uEnv.txt
debug: [dtb=am335x-boneblack.dtb] …
Using: dtb=am335x-boneblack.dtb …
Checking if uname_r is set in /boot/uEnv.txt…
gpio: pin 56 (gpio 56) value is 1
Running uname_boot …
loading /boot/vmlinuz-4.9.45-ti-r57 …
9464664 bytes read in 612 ms (14.7 MiB/s)
debug: [enable_uboot_overlays=1] …
debug: [enable_uboot_cape_universal=1] …
debug: [uboot_base_dtb_univ=am335x-boneblack-uboot-univ.dtb] …
uboot_overlays: [uboot_base_dtb=am335x-boneblack-uboot-univ.dtb] …
debug: unable to find [am335x-boneblack-uboot-univ.dtb] using [am335x-boneblack-
uboot.dtb] instead …
debug: [uboot_base_dtb_univ=am335x-boneblack-uboot.dtb] …
uboot_overlays: [uboot_base_dtb=am335x-boneblack-uboot.dtb] …
uboot_overlays: Switching too: dtb=am335x-boneblack-uboot.dtb …
loading /boot/dtbs/4.9.45-ti-r57/am335x-boneblack-uboot.dtb …
55752 bytes read in 36 ms (1.5 MiB/s)
uboot_overlays: [fdt_buffer=0x60000] …
uboot_overlays: loading /lib/firmware/BB-BONE-eMMC1-01-00A0.dtbo …
1440 bytes read in 345 ms (3.9 KiB/s)
uboot_overlays: loading /lib/firmware/BB-HDMI-TDA998x-00A0.dtbo …
4920 bytes read in 219 ms (21.5 KiB/s)
uboot_overlays: loading /lib/firmware/BB-ADC-00A0.dtbo …
711 bytes read in 599 ms (1000 Bytes/s)
uboot_overlays: loading /lib/firmware/univ-bbb-EVA-00A0.dtbo …
61976 bytes read in 644 ms (93.8 KiB/s)
loading /boot/initrd.img-4.9.45-ti-r57 …
6395122 bytes read in 420 ms (14.5 MiB/s)
debug: [console=ttyO0,115200n8 bone_capemgr.uboot_capemgr_enabled=1 root=/dev/mm
cblk0p1 ro rootfstype=ext4 rootwait coherent_pool=1M net.ifnames=0 quiet video=H
DMI-A-1:1024x768@60e] …
debug: [bootz 0x82000000 0x88080000:6194f2 88000000] …

Flattened Device Tree blob at 88000000

Booting using the fdt blob at 0x88000000
Loading Ramdisk to 8f9e6000, end 8ffff4f2 … OK
reserving fdt memory region: addr=88000000 size=7d000
Loading Device Tree to 8f966000, end 8f9e5fff … OK

Starting kernel …

[ 0.001790] clocksource_probe: no matching clocksources found
[ 2.416644] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle
[ 2.670204] omap_voltage_late_init: Voltage driver support not added
[ 2.677613] PM: Cannot get wkup_m3_ipc handle
[ 3.167898] musb-hdrc musb-hdrc.1: VBUS_ERROR in a_wait_vrise (80, <SessEnd),
retry #3, port1 0008010c
[ 4.089472] tda998x 0-0070: read edid timeout
[ 4.185191] bone_capemgr bone_capemgr: slot #0: auto loading handled by U-Boo
t
[ 4.192591] bone_capemgr bone_capemgr: slot #1: auto loading handled by U-Boo
t
[ 4.200032] bone_capemgr bone_capemgr: slot #2: auto loading handled by U-Boo
t
[ 4.207386] bone_capemgr bone_capemgr: slot #3: auto loading handled by U-Boo
t
[ 6.389654] tda998x 0-0070: read edid timeout
rootfs: clean, 127622/217728 files, 744131/869376 blocks

Debian GNU/Linux 9 beaglebone ttyS0

BeagleBoard.org Debian Image 2017-08-31

Support/FAQ: http://elinux.org/Beagleboard:BeagleBoneBlack_Debian

default username:password is [debian:temppwd]

beaglebone login: debian
Password:

“”""

For the same image, please also see my boot log on beaglebone.

U-Boot 2016.03-00001-gd12d09f (Mar 17 2016 - 16:16:15 -0500), Build: jenkins-gi1

Watchdog enabled
I2C: ready
DRAM: 512 MiB
Reset Source: Power-on reset has occurred.
MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
Using default environment

Net: not set. Validating first E-fuse MAC
cpsw, usb_ether
Press SPACE to abort autoboot in 2 seconds
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1…
gpio: pin 56 (gpio 56) value is 0
gpio: pin 55 (gpio 55) value is 0
gpio: pin 54 (gpio 54) value is 0
gpio: pin 53 (gpio 53) value is 1
switch to partitions #0, OK
mmc0 is current device
gpio: pin 54 (gpio 54) value is 1
Checking for: /uEnv.txt …
Checking for: /boot.scr …
Checking for: /boot/boot.scr …
Checking for: /boot/uEnv.txt …
gpio: pin 55 (gpio 55) value is 1
2080 bytes read in 40 ms (50.8 KiB/s)
Loaded environment from /boot/uEnv.txt
Checking if uname_r is set in /boot/uEnv.txt…
gpio: pin 56 (gpio 56) value is 1
Running uname_boot …
loading /boot/vmlinuz-4.9.45-ti-r57 …
9464664 bytes read in 546 ms (16.5 MiB/s)
loading /boot/dtbs/4.9.45-ti-r57/am335x-boneblack.dtb …
58161 bytes read in 95 ms (597.7 KiB/s)
loading /boot/initrd.img-4.9.45-ti-r57 …
6395122 bytes read in 384 ms (15.9 MiB/s)
debug: [console=ttyO0,115200n8 root=/dev/mmcblk0p1 ro rootfstype=ext4 rootwait .
debug: [bootz 0x82000000 0x88080000:6194f2 0x88000000] …
Kernel image @ 0x82000000 [ 0x000000 - 0x906b58 ]

Flattened Device Tree blob at 88000000

Booting using the fdt blob at 0x88000000
Loading Ramdisk to 8f9e6000, end 8ffff4f2 … OK
Loading Device Tree to 8f9d4000, end 8f9e5330 … OK

Starting kernel …

[ 0.000861] clocksource_probe: no matching clocksources found
[ 2.352397] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle
[ 2.570055] omap_voltage_late_init: Voltage driver support not added
[ 2.577597] PM: Cannot get wkup_m3_ipc handle
[ 2.944617] bone_capemgr bone_capemgr: slot #0: No cape found
[ 2.975621] bone_capemgr bone_capemgr: slot #1: No cape found
[ 3.008278] bone_capemgr bone_capemgr: slot #2: No cape found
[ 3.040942] bone_capemgr bone_capemgr: slot #3: No cape found
rootfs: recovering journal
rootfs: Clearing orphaned inode 72631 (uid=0, gid=0, mode=040700, size=4096)
rootfs: Clearing orphaned inode 72632 (uid=0, gid=0, mode=041777, size=4096)
rootfs: clean, 126996/217728 files, 740103/869376 blocks
[ 18.675503] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000020): FIFO underflow
[ 18.683167] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost
[ 18.690576] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost
[ 18.699830] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost
[ 18.700543] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost
[ 18.716500] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost
[ 18.717208] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost
[ 18.733165] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost
[ 18.733870] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost
[ 18.749842] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost
[ 18.750537] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost
[ 19.133859] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost flog

Debian GNU/Linux 9 beaglebone ttyS0

BeagleBoard.org Debian Image 2017-08-31

Support/FAQ: http://elinux.org/Beagleboard:BeagleBoneBlack_Debian

default username:password is [debian:temppwd]

beaglebone login:

Hi Robert,

Here below is my boot log:
"""
U-Boot 2018.09-00002-gd5b4c4b656 (Oct 19 2018 - 14:16:02 -0500), Build: jenkins-
github_Bootloader-Builder-84

CPU : AM335X-GP rev 2.1
I2C: ready
DRAM: 512 MiB
No match for driver 'omap_hsmmc'
No match for driver 'omap_hsmmc'
Some drivers were not found
Reset Source: Global warm SW reset has occurred.
Reset Source: Power-on reset has occurred.
RTC 32KCLK Source: External.
MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
Loading Environment from EXT4... ** File not found /boot/uboot.env **

** Unable to read "/boot/uboot.env" from mmc0:1 **
Board: BeagleBone Black
<ethaddr> not set. Validating first E-fuse MAC
BeagleBone Black:
Timed out in wait_for_event: status=0000
Check if pads/pull-ups of bus are properly configured
BeagleBone: cape eeprom: i2c_probe: 0x54:
Timed out in wait_for_event: status=0000
Check if pads/pull-ups of bus are properly configured
BeagleBone: cape eeprom: i2c_probe: 0x55:
Timed out in wait_for_event: status=0000
Check if pads/pull-ups of bus are properly configured
BeagleBone: cape eeprom: i2c_probe: 0x56:
Timed out in wait_for_event: status=0000
Check if pads/pull-ups of bus are properly configured
BeagleBone: cape eeprom: i2c_probe: 0x57:
Net: eth0: MII MODE
cpsw, usb_ether
Press SPACE to abort autoboot in 2 seconds
board_name=[A335BNLT] ...
board_rev=[000C] ...
switch to partitions #0, OK
mmc0 is current device
SD/MMC found on device 0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
gpio: pin 56 (gpio 56) value is 0
gpio: pin 55 (gpio 55) value is 0
gpio: pin 54 (gpio 54) value is 0
gpio: pin 53 (gpio 53) value is 1
switch to partitions #0, OK
mmc0 is current device
gpio: pin 54 (gpio 54) value is 1
Checking for: /uEnv.txt ...
Checking for: /boot.scr ...
Checking for: /boot/boot.scr ...
Checking for: /boot/uEnv.txt ...
gpio: pin 55 (gpio 55) value is 1
2100 bytes read in 20 ms (102.5 KiB/s)
Loaded environment from /boot/uEnv.txt
debug: [dtb=am335x-boneblack.dtb] ...
Using: dtb=am335x-boneblack.dtb ...
Checking if uname_r is set in /boot/uEnv.txt...
gpio: pin 56 (gpio 56) value is 1
Running uname_boot ...
loading /boot/vmlinuz-4.9.45-ti-r57 ...
9464664 bytes read in 612 ms (14.7 MiB/s)
debug: [enable_uboot_overlays=1] ...
debug: [enable_uboot_cape_universal=1] ...
debug: [uboot_base_dtb_univ=am335x-boneblack-uboot-univ.dtb] ...
uboot_overlays: [uboot_base_dtb=am335x-boneblack-uboot-univ.dtb] ...
debug: unable to find [am335x-boneblack-uboot-univ.dtb] using [am335x-boneblack-
uboot.dtb] instead ...
debug: [uboot_base_dtb_univ=am335x-boneblack-uboot.dtb] ...
uboot_overlays: [uboot_base_dtb=am335x-boneblack-uboot.dtb] ...
uboot_overlays: Switching too: dtb=am335x-boneblack-uboot.dtb ...
loading /boot/dtbs/4.9.45-ti-r57/am335x-boneblack-uboot.dtb ...
55752 bytes read in 36 ms (1.5 MiB/s)
uboot_overlays: [fdt_buffer=0x60000] ...
uboot_overlays: loading /lib/firmware/BB-BONE-eMMC1-01-00A0.dtbo ...
1440 bytes read in 345 ms (3.9 KiB/s)
uboot_overlays: loading /lib/firmware/BB-HDMI-TDA998x-00A0.dtbo ...
4920 bytes read in 219 ms (21.5 KiB/s)
uboot_overlays: loading /lib/firmware/BB-ADC-00A0.dtbo ...
711 bytes read in 599 ms (1000 Bytes/s)
uboot_overlays: loading /lib/firmware/univ-bbb-EVA-00A0.dtbo ...
61976 bytes read in 644 ms (93.8 KiB/s)
loading /boot/initrd.img-4.9.45-ti-r57 ...
6395122 bytes read in 420 ms (14.5 MiB/s)
debug: [console=ttyO0,115200n8 bone_capemgr.uboot_capemgr_enabled=1 root=/dev/mm
cblk0p1 ro rootfstype=ext4 rootwait coherent_pool=1M net.ifnames=0 quiet video=H
DMI-A-1:1024x768@60e] ...
debug: [bootz 0x82000000 0x88080000:6194f2 88000000] ...
## Flattened Device Tree blob at 88000000
   Booting using the fdt blob at 0x88000000
   Loading Ramdisk to 8f9e6000, end 8ffff4f2 ... OK
   reserving fdt memory region: addr=88000000 size=7d000
   Loading Device Tree to 8f966000, end 8f9e5fff ... OK

Starting kernel ...

[ 0.001790] clocksource_probe: no matching clocksources found
[ 2.416644] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle
[ 2.670204] omap_voltage_late_init: Voltage driver support not added
[ 2.677613] PM: Cannot get wkup_m3_ipc handle
[ 3.167898] musb-hdrc musb-hdrc.1: VBUS_ERROR in a_wait_vrise (80, <SessEnd),
retry #3, port1 0008010c
[ 4.089472] tda998x 0-0070: read edid timeout
[ 4.185191] bone_capemgr bone_capemgr: slot #0: auto loading handled by U-Boo
t
[ 4.192591] bone_capemgr bone_capemgr: slot #1: auto loading handled by U-Boo
t
[ 4.200032] bone_capemgr bone_capemgr: slot #2: auto loading handled by U-Boo
t
[ 4.207386] bone_capemgr bone_capemgr: slot #3: auto loading handled by U-Boo
t
[ 6.389654] tda998x 0-0070: read edid timeout
rootfs: clean, 127622/217728 files, 744131/869376 blocks

Debian GNU/Linux 9 beaglebone ttyS0

BeagleBoard.org Debian Image 2017-08-31

Support/FAQ: Beagleboard:BeagleBoneBlack Debian - eLinux.org

default username:password is [debian:temppwd]

beaglebone login: debian
Password:

""""
For the same image, please also see my boot log on beaglebone.

U-Boot 2016.03-00001-gd12d09f (Mar 17 2016 - 16:16:15 -0500), Build: jenkins-gi1

       Watchdog enabled
I2C: ready
DRAM: 512 MiB
Reset Source: Power-on reset has occurred.
MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
Using default environment

Net: <ethaddr> not set. Validating first E-fuse MAC
cpsw, usb_ether
Press SPACE to abort autoboot in 2 seconds
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
gpio: pin 56 (gpio 56) value is 0
gpio: pin 55 (gpio 55) value is 0
gpio: pin 54 (gpio 54) value is 0
gpio: pin 53 (gpio 53) value is 1
switch to partitions #0, OK
mmc0 is current device
gpio: pin 54 (gpio 54) value is 1
Checking for: /uEnv.txt ...
Checking for: /boot.scr ...
Checking for: /boot/boot.scr ...
Checking for: /boot/uEnv.txt ...
gpio: pin 55 (gpio 55) value is 1
2080 bytes read in 40 ms (50.8 KiB/s)
Loaded environment from /boot/uEnv.txt
Checking if uname_r is set in /boot/uEnv.txt...
gpio: pin 56 (gpio 56) value is 1
Running uname_boot ...
loading /boot/vmlinuz-4.9.45-ti-r57 ...
9464664 bytes read in 546 ms (16.5 MiB/s)
loading /boot/dtbs/4.9.45-ti-r57/am335x-boneblack.dtb ...
58161 bytes read in 95 ms (597.7 KiB/s)
loading /boot/initrd.img-4.9.45-ti-r57 ...
6395122 bytes read in 384 ms (15.9 MiB/s)
debug: [console=ttyO0,115200n8 root=/dev/mmcblk0p1 ro rootfstype=ext4 rootwait .
debug: [bootz 0x82000000 0x88080000:6194f2 0x88000000] ...
Kernel image @ 0x82000000 [ 0x000000 - 0x906b58 ]
## Flattened Device Tree blob at 88000000
   Booting using the fdt blob at 0x88000000
   Loading Ramdisk to 8f9e6000, end 8ffff4f2 ... OK
   Loading Device Tree to 8f9d4000, end 8f9e5330 ... OK

Starting kernel ...

[ 0.000861] clocksource_probe: no matching clocksources found
[ 2.352397] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle
[ 2.570055] omap_voltage_late_init: Voltage driver support not added
[ 2.577597] PM: Cannot get wkup_m3_ipc handle
[ 2.944617] bone_capemgr bone_capemgr: slot #0: No cape found
[ 2.975621] bone_capemgr bone_capemgr: slot #1: No cape found
[ 3.008278] bone_capemgr bone_capemgr: slot #2: No cape found
[ 3.040942] bone_capemgr bone_capemgr: slot #3: No cape found
rootfs: recovering journal
rootfs: Clearing orphaned inode 72631 (uid=0, gid=0, mode=040700, size=4096)
rootfs: Clearing orphaned inode 72632 (uid=0, gid=0, mode=041777, size=4096)
rootfs: clean, 126996/217728 files, 740103/869376 blocks
[ 18.675503] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000020): FIFO underflow
[ 18.683167] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost
[ 18.690576] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost
[ 18.699830] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost
[ 18.700543] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost
[ 18.716500] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost
[ 18.717208] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost
[ 18.733165] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost
[ 18.733870] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost
[ 18.749842] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost
[ 18.750537] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost
[ 19.133859] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost flog

Debian GNU/Linux 9 beaglebone ttyS0

BeagleBoard.org Debian Image 2017-08-31

Support/FAQ: Beagleboard:BeagleBoneBlack Debian - eLinux.org

default username:password is [debian:temppwd]

beaglebone login:
********
The only difference I see in the log is U-boot bootloader being a different version in beaglebone. In beaglebone its not showing when it loads u-boot overlays.

Also during Kernel loading I can see this tilcdc: "[ 18.683167] tilcdc 4830e000.lcdc: tilcdc_crtc_irq(0x00000004): Sync lost ", but I don't see this during boot on the clone board.

This ^ was fixed in u-boot back in v2017.01-rc2:

I would really appreciate if you can help me out with fixing the colors.

Please retest with
https://rcn-ee.net/rootfs/bb.org/testing/2018-12-30/stretch-lxqt/bone-debian-9.6-lxqt-armhf-2018-12-30-4gb.img.xz

Using u-boot v2018.09 and v4.14.x based kernel that is shipped with the image..

Regards,

Hi Robert,

I tested debian-9.6 from the link you provided, and the colors on my clone board are still inverted.
I tested the same image on beaglebone and the colors were correct.

Please see my log below for the clone:

U-Boot 2018.09-00002-gd5b4c4b656 (Oct 19 2018 - 14:16:02 -0500), Build: jenkins-
github_Bootloader-Builder-84

CPU : AM335X-GP rev 2.1
I2C: ready
DRAM: 512 MiB
No match for driver ‘omap_hsmmc’
No match for driver ‘omap_hsmmc’
Some drivers were not found
Reset Source: Global warm SW reset has occurred.
Reset Source: Power-on reset has occurred.
RTC 32KCLK Source: External.
MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
Loading Environment from EXT4… ** File not found /boot/uboot.env **

** Unable to read “/boot/uboot.env” from mmc0:1 **
Board: BeagleBone Black
not set. Validating first E-fuse MAC
BeagleBone Black:
Timed out in wait_for_event: status=0000
Check if pads/pull-ups of bus are properly configured
BeagleBone: cape eeprom: i2c_probe: 0x54:
Timed out in wait_for_event: status=0000
Check if pads/pull-ups of bus are properly configured
BeagleBone: cape eeprom: i2c_probe: 0x55:
Timed out in wait_for_event: status=0000
Check if pads/pull-ups of bus are properly configured
BeagleBone: cape eeprom: i2c_probe: 0x56:
Timed out in wait_for_event: status=0000
Check if pads/pull-ups of bus are properly configured
BeagleBone: cape eeprom: i2c_probe: 0x57:
Net: eth0: MII MODE
cpsw, usb_ether
Press SPACE to abort autoboot in 2 seconds
board_name=[A335BNLT] …
board_rev=[000C] …
switch to partitions #0, OK
mmc0 is current device
SD/MMC found on device 0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1…
gpio: pin 56 (gpio 56) value is 0
gpio: pin 55 (gpio 55) value is 0
gpio: pin 54 (gpio 54) value is 0
gpio: pin 53 (gpio 53) value is 1
switch to partitions #0, OK
mmc0 is current device
gpio: pin 54 (gpio 54) value is 1
Checking for: /uEnv.txt …
Checking for: /boot.scr …
Checking for: /boot/boot.scr …
Checking for: /boot/uEnv.txt …
gpio: pin 55 (gpio 55) value is 1
2117 bytes read in 19 ms (108.4 KiB/s)
Loaded environment from /boot/uEnv.txt
debug: [dtb=am335x-boneblack.dtb] …
Using: dtb=am335x-boneblack.dtb …
Checking if uname_r is set in /boot/uEnv.txt…
gpio: pin 56 (gpio 56) value is 1
Running uname_boot …
loading /boot/vmlinuz-4.14.79-ti-r86 …
9712128 bytes read in 632 ms (14.7 MiB/s)
debug: [enable_uboot_overlays=1] …
debug: [enable_uboot_cape_universal=1] …
debug: [uboot_base_dtb_univ=am335x-boneblack-uboot-univ.dtb] …
uboot_overlays: [uboot_base_dtb=am335x-boneblack-uboot-univ.dtb] …
uboot_overlays: Switching too: dtb=am335x-boneblack-uboot-univ.dtb …
loading /boot/dtbs/4.14.79-ti-r86/am335x-boneblack-uboot-univ.dtb …
161719 bytes read in 57 ms (2.7 MiB/s)
uboot_overlays: [fdt_buffer=0x60000] …
uboot_overlays: loading /lib/firmware/BB-BONE-eMMC1-01-00A0.dtbo …
1440 bytes read in 55 ms (25.4 KiB/s)
uboot_overlays: loading /lib/firmware/BB-HDMI-TDA998x-00A0.dtbo …
4896 bytes read in 76 ms (62.5 KiB/s)
uboot_overlays: loading /lib/firmware/BB-ADC-00A0.dtbo …
711 bytes read in 183 ms (2.9 KiB/s)
uboot_overlays: loading /lib/firmware/AM335X-PRU-RPROC-4-14-TI-00A0.dtbo …
3513 bytes read in 160 ms (20.5 KiB/s)
loading /boot/initrd.img-4.14.79-ti-r86 …
4636329 bytes read in 306 ms (14.4 MiB/s)
debug: [console=ttyO0,115200n8 bone_capemgr.uboot_capemgr_enabled=1 root=/dev/mm
cblk0p1 ro rootfstype=ext4 rootwait coherent_pool=1M net.ifnames=0 quiet video=H
DMI-A-1:1024x768@60e] …
debug: [bootz 0x82000000 0x88080000:46bea9 88000000] …

Flattened Device Tree blob at 88000000

Booting using the fdt blob at 0x88000000
Loading Ramdisk to 8fb94000, end 8ffffea9 … OK
reserving fdt memory region: addr=88000000 size=89000
Loading Device Tree to 8fb08000, end 8fb93fff … OK

Starting kernel …

[ 0.002388] timer_probe: no matching timers found
[ 1.081030] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle
[ 1.378727] omap_voltage_late_init: Voltage driver support not added
[ 1.386104] PM: Cannot get wkup_m3_ipc handle
[ 1.851328] musb-hdrc musb-hdrc.1: VBUS_ERROR in a_wait_vrise (80, <SessEnd),
retry #3, port1 0008010c
[ 2.757564] tda998x 0-0070: read edid timeout
[ 2.856904] hdmi-audio-codec hdmi-audio-codec.0.auto: ASoC: no source widget
found for Playback
[ 2.865915] hdmi-audio-codec hdmi-audio-codec.0.auto: ASoC: Failed to add rou
te Playback → direct → TX
[ 5.037791] tda998x 0-0070: read edid timeout

Debian GNU/Linux 9 beaglebone ttyS0

BeagleBoard.org Debian Image 2018-12-30

Support/FAQ: http://elinux.org/Beagleboard:BeagleBoneBlack_Debian

default username:password is [debian:temppwd]

beaglebone login:

Smells like the clone board isn't a 100% clone...

Regards,

Yes its not. On clone, the output from NXP TDA19988, is going to a HDMI switch rather than going to micro HDMI port, and the output from switch goes to HDMI connector.
Do TDMA pins invert somewhere from micro HDMI port to HDMI cable with beaglebone?

https://github.com/beagleboard/beaglebone-black/blob/master/BBB_SCH.pdf

Regards,

I have the schematics and I followed them to come up with the clone. Everything on the hardware side seems correct but for some reason I get inverted red and blue.

Which just leaves your hdmi switch connection..

Regards,

I have the schematics and I followed them to come up with the clone. Everything on the hardware side seems correct but for some reason I get inverted red and blue.

Which just leaves your hdmi switch connection…

As I recall, there is a device tree flag to swap the colors.

https://github.com/torvalds/linux/commit/bcc5a6f5fc9f0d53aa896768d6f86d7e64d0b783#diff-05a6dbba7c688e0ffa3e21abe47d7c15

Hi Jason,

I have tried adding “blue-and-red-wiring = “crossed”” in my device tree, but it doesn’t change anything.
Is there a way I can look up if my display is RGB565 or BGR565?

Thank you

Hi Jason,

I have tried adding “blue-and-red-wiring = “crossed”” in my device tree, but it doesn’t change anything.

If nothing changed, either the flag might be wrong or you have a kernel version that doesn’t support the flag. Can you look for the line that reads the flag in your kernel source?

Is there a way I can look up if my display is RGB565 or BGR565?

It is specified which pins to use as part of HDMI, so the framer should just be wired properly.

I have tried with latest 4.14 kernel and 4.9 both. Both of these kernels have the flag added in their tilcdc files. I have tried adding blue-and-red-wiring = “crossed” in am335x-boneblack.dts and I even tried adding same in BB-HDMI-TDA998x-00A0.dts overlay. But none of these worked for me. So I am not sure what I am doing wrong here.

Smells like your mux is doing something..

Regards,

So now I found out that my board doesn’t even give a HDMI output on any TV which is bigger than 32 inches. I have tried forcing different resolutions but no luck. Its only giving display on a smaller size TV. What do you think might cause this issue? Is it due to inverted colors?

Thank you