Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 20 Jul 2015 12:07:01 +0000
From:      Ulrich Grey <usenet@ulrich-grey.de>
To:        Oleksandr Tymoshenko <gonzo@bluezbox.com>
Cc:        "freebsd-arm@freebsd.org List" <freebsd-arm@freebsd.org>
Subject:   Re: WIP: IPU and HDMI drivers for i.MX6
Message-ID:  <20150720120701.a3737b616fc69303beefe71c@ulrich-grey.de>
In-Reply-To: <5569347D-EA8B-46C9-97D3-6BF7CC1952B8@bluezbox.com>
References:  <5569347D-EA8B-46C9-97D3-6BF7CC1952B8@bluezbox.com>

next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.

--Multipart=_Mon__20_Jul_2015_12_07_01_+0000_2CT9DkSLftApOEoN
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

Hello,

I am running

FreeBSD wqtest 11.0-CURRENT FreeBSD 11.0-CURRENT #0 r285652M: Sat Jul 18
01:43:03 UTC 2015     gwgpi@wqtest-hf:/usr/obj/usr/src/sys/IMX6  arm armv6hf

on a Wandboard-Quad. I have built the image with HDMI-patch using
/usr/src/release/release.sh -c arm/Wandboard.conf
on the Wandboard itself (a armv6hf system).

To boot I had to copy ubldr from a armv6 image to the fat partition.
I don't know whether this is important in this context. Images without HDMI-patch are
booting successfully.

During boot I got a grapical u-boot logo, then the screen jitters and is black.
I have used an old EIZO Monitor and a Philips TV set. Both don't work.

Please see the attached file.

----------------------------------
On Sun, 19 Jul 2015 17:33:04 -0700
Oleksandr Tymoshenko <gonzo@bluezbox.com> wrote:

> Hello,
> 
> 
>     Last few months I've been working on IPU(video controller)/HDMI
> support for i.MX6. This patch[1] is the first very limited
> milestone. It contains more or less complete IPU driver, DVI mode
> support for HDMI framer, and EDID handler. Missing part is pixel
> clock management so at the moment driver relies on U-Boot to set
> pixel clock for 1024x768@60 mode and it's the only supported mode
> for now.
> 
> There seems to be several versions of DTS files for i.MX6 with
> very different structure for HDMI-related nodes. Patch works only
> with the version that is part of FreeBSD tree. 
> 
> Patch was tested on Hummingboard so any testing on other i.MX6
> devices is appreciated
> 
> [1] https://people.freebsd.org/~gonzo/arm/patches/imx6-ipu-hdmi-20150719.diff
> 
> _______________________________________________
> freebsd-arm@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-arm
> To unsubscribe, send any mail to "freebsd-arm-unsubscribe@freebsd.org"

--Multipart=_Mon__20_Jul_2015_12_07_01_+0000_2CT9DkSLftApOEoN
Content-Type: text/plain;
 name="wq20150720_4-wq-hdmi-EIZO.txt"
Content-Disposition: attachment;
 filename="wq20150720_4-wq-hdmi-EIZO.txt"
Content-Transfer-Encoding: 7bit

Script started on Mon Jul 20 11:27:57 2015
root@devel:/usr/local/DEVEL/LOG # cu -l/dev/cuaU0 -s115200


Connected



U-Boot SPL 2013.10 (Jul 20 2015 - 11:48:18)

Boot Device: SD0

reading boot/u-boot.img

Load image from RAW...





U-Boot 2013.10 (Jul 20 2015 - 11:48:18)



CPU:   Freescale i.MX6Q rev1.2 at 792 MHz

Reset cause: POR

Board: Wandboard

DRAM:  2 GiB

NAND:  0 MiB

MMC:   FSL_SDHC: 0, FSL_SDHC: 1

Environment is in MMC.... 


*** Warning - bad CRC, using default environment



In:    serial

Out:   serial

Err:   serial

Net:   FEC [PRIME]

reading uEnv.txt

** Unable to read file uEnv.txt **

Hit any key to stop autoboot:  3  2  1  0 

Booting from: mmc 0 ubldr

reading ubldr

260674 bytes read in 27 ms (9.2 MiB/s)

## Starting application at 0x12000094 ...

Consoles: U-Boot console  



Compatible U-Boot API signature found @8f570ed8







FreeBSD/armv6 U-Boot loader, Revision 1.2



(gwgpi@wqtest, Sat Jul 11 16:35:37 UTC 2015)







DRAM: 2048MB



MMC: no card present

MMC: no card present

MMC: no card present

MMC: no card present

MMC: no card present

MMC: no card present

MMC: no card present

MMC: no card present

MMC: no card present

MMC: no card present

MMC: no card present

MMC: no card present

Number of U-Boot devices: 4



U-Boot env: loaderdev='mmc 0'



Found U-Boot device: disk



  Checking unit=0 slice=<auto> partition=<auto>... good.



|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|//boot/kernel/kernel data=0x62195c+0xba6a4 -\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|syms=[0x4+0x63180/-\+0x4+0x5de20|/-]







Hit [Enter] to boot immediately, or any other key for command prompt.




Booting [/boot/kernel/kernel] in 9 seconds... 
Booting [/boot/kernel/kernel] in 8 seconds... 
Booting [/boot/kernel/kernel] in 7 seconds... 
Booting [/boot/kernel/kernel] in 6 seconds... 
Booting [/boot/kernel/kernel] in 5 seconds... 
Booting [/boot/kernel/kernel] in 4 seconds... 
Booting [/boot/kernel/kernel] in 3 seconds... 
Booting [/boot/kernel/kernel] in 2 seconds... 
Booting [/boot/kernel/kernel] in 1 second... 
Booting [/boot/kernel/kernel]...               



\|/-\|/-\|/-\|/-\|/-\|/boot/dtb/imx6q-wandboard.dtb /size=0x7a5e



Loaded DTB from file 'imx6q-wandboard.dtb'.



-\|/Kernel entry at 0x12200100...



Kernel args: (null)



KDB: debugger backends: ddb

KDB: current backend: ddb

Copyright (c) 1992-2015 The FreeBSD Project.

Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994

	The Regents of the University of California. All rights reserved.

FreeBSD is a registered trademark of The FreeBSD Foundation.

FreeBSD 11.0-CURRENT #1 r285652M: Mon Jul 20 12:31:16 CEST 2015

    gwgpi@wqtest:/usr/obj/usr/src/sys/IMX6 arm

FreeBSD clang version 3.6.1 (tags/RELEASE_361/final 237755) 20150525

VT: init without driver.

CPU: Cortex A9-r2 rev 10 (Cortex-A core)

 Supported features: ARM_ISA THUMB2 JAZELLE THUMBEE ARMv4 Security_Ext

 WB disabled EABT branch prediction enabled

LoUU:2 LoC:2 LoUIS:2 

Cache level 1: 

 32KB/32B 4-way data cache WB Read-Alloc Write-Alloc

 32KB/32B 4-way instruction cache Read-Alloc

real memory  = 2147483648 (2048 MB)

avail memory = 2092920832 (1995 MB)

FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs

random: entropy device external interface

kbd0 at kbdmux0

ofwbus0: <Open Firmware Device Tree>

simplebus0: <Flattened device tree simple bus> on ofwbus0

simplebus1: <Flattened device tree simple bus> mem 0x2000000-0x20fffff on simplebus0

simplebus2: <Flattened device tree simple bus> mem 0x2000000-0x203ffff on simplebus1

imx6_anatop0: <Freescale i.MX6 Analog PLLs and Power> mem 0x20c8000-0x20c8fff irq 81,86,159 on simplebus1

simplebus3: <Flattened device tree simple bus> on simplebus1

simplebus4: <Flattened device tree simple bus> mem 0x2100000-0x21fffff on simplebus0

ocotp0: <Freescale On-Chip One-Time-Programmable Memory> mem 0x21bc000-0x21bffff on simplebus4

ccm0: <Freescale i.MX6 Clock Control Module> mem 0x20c4000-0x20c7fff irq 119,120 on simplebus1

l2cache0: <PL310 L2 cache controller> mem 0xa02000-0xa02fff irq 124 on simplebus0

l2cache0: Part number: 0x3, release: 0x7

l2cache0: L2 Cache enabled: 1024KB/32B 16 ways

imx_iomux0: <Freescale i.MX pin configuration> mem 0x20e0000-0x20e3fff on simplebus1

gic0: <ARM Generic Interrupt Controller> mem 0xa01000-0xa01fff,0xa00100-0xa001ff on ofwbus0

gic0: pn 0x390, arch 0x1, rev 0x2, implementer 0x43b irqs 160

imx_gpt0: <Freescale i.MX GPT timer> mem 0x2098000-0x209bfff irq 87 on simplebus1

Event timer "iMXGPT" frequency 66000000 Hz quality 800

Timecounter "iMXGPT" frequency 66000000 Hz quality 1000

mp_tmr0: <ARM MPCore Timers> mem 0xa00600-0xa0061f irq 29 on simplebus0

Event timer "MPCore" frequency 492000000 Hz quality 1000

uart0: <Freescale i.MX UART> mem 0x2020000-0x2023fff irq 58 on simplebus2

uart0: console (115200,n,8,1)

gpio0: <Freescale i.MX GPIO Controller> mem 0x209c000-0x209ffff irq 98,99 on simplebus1

gpiobus0: <GPIO bus> on gpio0

gpioc0: <GPIO controller> on gpio0

gpio1: <Freescale i.MX GPIO Controller> mem 0x20a0000-0x20a3fff irq 100,101 on simplebus1

gpiobus1: <GPIO bus> on gpio1

gpioc1: <GPIO controller> on gpio1

gpio2: <Freescale i.MX GPIO Controller> mem 0x20a4000-0x20a7fff irq 102,103 on simplebus1

gpiobus2: <GPIO bus> on gpio2

gpioc2: <GPIO controller> on gpio2

gpio3: <Freescale i.MX GPIO Controller> mem 0x20a8000-0x20abfff irq 104,105 on simplebus1

gpiobus3: <GPIO bus> on gpio3

gpioc3: <GPIO controller> on gpio3

gpio4: <Freescale i.MX GPIO Controller> mem 0x20ac000-0x20affff irq 106,107 on simplebus1

gpiobus4: <GPIO bus> on gpio4

gpioc4: <GPIO controller> on gpio4

gpio5: <Freescale i.MX GPIO Controller> mem 0x20b0000-0x20b3fff irq 108,109 on simplebus1

gpiobus5: <GPIO bus> on gpio5

gpioc5: <GPIO controller> on gpio5

gpio6: <Freescale i.MX GPIO Controller> mem 0x20b4000-0x20b7fff irq 110,111 on simplebus1

gpiobus6: <GPIO bus> on gpio6

gpioc6: <GPIO controller> on gpio6

usbphy0: <Freescale i.MX6 USB PHY> mem 0x20c9000-0x20c9fff irq 76 on simplebus1

usbphy1: <Freescale i.MX6 USB PHY> mem 0x20ca000-0x20cafff irq 77 on simplebus1

src0: <Freescale i.MX6 System Reset Controller> mem 0x20d8000-0x20dbfff irq 123,128 on simplebus1

hdmi0: <Freescale i.MX6 HDMI core> mem 0x120000-0x128fff irq 147 on simplebus1

hdmi0: HDMI controller 13:0a:a0:c1

GPR3 0f000000 -> 0f000000

ehci0: <Freescale i.MX integrated USB controller> mem 0x2184000-0x21841ff irq 75 on simplebus4

ehci0: [GIANT-LOCKED]

usbus0: EHCI version 1.0

usbus0 on ehci0

ehci1: <Freescale i.MX integrated USB controller> mem 0x2184200-0x21843ff irq 72 on simplebus4

ehci1: [GIANT-LOCKED]

usbus1: EHCI version 1.0

usbus1 on ehci1

ffec0: <Freescale Gigabit Ethernet Controller> mem 0x2188000-0x218bfff irq 150,151 on simplebus4

miibus0: <MII bus> on ffec0

atphy0: <Atheros F1 10/100/1000 PHY> PHY 1 on miibus0

atphy0:  none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseSX-FDX, 1000baseT-FDX, 1000baseT-FDX-master, auto

ffec0: Ethernet address: 00:1f:7b:b4:17:64

sdhci_imx0: <Freescale uSDHC controller> mem 0x2190000-0x2193fff irq 54 on simplebus4

mmc0: <MMC/SD bus> on sdhci_imx0

sdhci_imx1: <Freescale uSDHC controller> mem 0x2194000-0x2197fff irq 55 on simplebus4

sdhci_imx2: <Freescale uSDHC controller> mem 0x2198000-0x219bfff irq 56 on simplebus4

mmc1: <MMC/SD bus> on sdhci_imx2

iichb0: <Freescale i.MX I2C bus controller> mem 0x21a0000-0x21a3fff irq 68 on simplebus4

iicbus0: <OFW I2C bus> on iichb0

iic0: <I2C generic I/O> on iicbus0

iichb1: <Freescale i.MX I2C bus controller> mem 0x21a4000-0x21a7fff irq 69 on simplebus4

iicbus1: <OFW I2C bus> on iichb1

iic1: <I2C generic I/O> on iicbus1

iicbus1: <unknown card> at addr 0xa

uart1: <Freescale i.MX UART> mem 0x21ec000-0x21effff irq 60 on simplebus4

fb0: <Freescale IPU> mem 0x2400000-0x27fffff irq 38,37 on simplebus0

fb1: <Freescale IPU> mem 0x2800000-0x2bfffff irq 40,39 on simplebus0

cryptosoft0: <software crypto>

Timecounters tick every 2.000 msec

IPsec: Initialized Security Association Processing.

hdmi0: i2c transfer failed: 3

fb0: failed to get EDID info from HDMI framer

fb0: failed to parse EDID

IPU_CONF == 00000000

DC_MAP_CONF[0]: 00000000 ->  -> 00000000

DC_MAP_CONF_VAL[00258144]: 00000000 -> 000007ff

DC_MAP_CONF_PTR[00258108]: 00000000 -> 00000000

DC_MAP_CONF_VAL[00258144]: 000007ff -> 0fff07ff

DC_MAP_CONF_PTR[00258108]: 00000000 -> 00000020

DC_MAP_CONF_VAL[00258148]: 00000000 -> 000017ff

DC_MAP_CONF_PTR[00258108]: 00000020 -> 00000820

DC_WRITE_CH_CONF_5: 00000000 -> 00000002

DC_WRITE_CH_ADDR_5: 00000000 -> 0x00000000

DC_GEN: 00000060 -> 0x00000084

DI_BS_CLKGEN0: 00000000

DI_BS_CLKGEN1: 00000000

CCM_CS2CDR = 00000003

CCM_CSCMR2 = 7

CCM_CBCDR = 1 [PLL2]

DW_GEN: 00000000 -> 00000300

DW_SET: 00000000 -> 00020000

DI0_SW_GEN0_1 00000000 -> 29f90000

DI0_SW_GEN1_1 00000000 -> 10000000

IPU_DI1_STP_REP1 00000000 -> 00000000

DI0_SW_GEN0_2 00000000 -> 29f90001

DI0_SW_GEN1_2 00000000 -> 31101000

IPU_DI1_STP_REP2 00000000 -> 00000000

DI0_SW_GEN0_3 00000000 -> 192a0000

DI0_SW_GEN1_3 00000000 -> 300c2000

IPU_DI1_STP_REP2 00000000 -> 00000000

DI0_SW_GEN0_4 00000000 -> 0003004b

DI0_SW_GEN1_4 00000000 -> 08000000

IPU_DI1_STP_REP3 00000000 -> 03000000

DI0_SW_GEN0_5 00000000 -> 00010501

DI0_SW_GEN1_5 00000000 -> 0a000000

IPU_DI1_STP_REP3 00000000 -> 00000400

W1[5] 00000000 -> 00008885

W2[5] 00000000 -> 00000380

W1[5] 00000000 -> 00008845

W2[5] 00000000 -> 00000380

W1[5] 00000000 -> 00008805

W2[5] 00000000 -> 00000380

DI_GENERAL: 00200000 -> 00300004 (XXX)

SYNC_AS_GEN: 00000000 -> 00004002

DB_MODE_SEL 00200150: 00000000 -> 00800000

DISP_GEN: 00400000 -> 01400000

00208004: 00000000

00208008: 00000000

00208004: 00000000 -> 00800000

CONF: 00000002 -> 00000082

fbd0 on fb0

VT: initialize with new VT driver "fb".

hdmi0: i2c transfer failed: 3

fb1: failed to get EDID info from HDMI framer

fb1: failed to parse EDID


--Multipart=_Mon__20_Jul_2015_12_07_01_+0000_2CT9DkSLftApOEoN--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20150720120701.a3737b616fc69303beefe71c>