TC358743 HDMI input only compatible for IMX devices on IMX6QP

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

TC358743 HDMI input only compatible for IMX devices on IMX6QP

3,598 Views
mayqueen
Contributor IV

OS: Android 6.0.1
Kernel: 4.1.15

Hello, I use TC358743 on IMX6QP platform, and I refer kernel driver from boundary devices, it works! But I also found a big problem - it works only for source from IMX devices ( I tested IMX6Q, IMX6SoloX and IMX6DL), but when I connecting the normal devices such as DVD, set up box or other SBC, it cannot show anything!

I think maybe the IMX6 CSI2 signal only accept the special format? Please someone can give me some directions, if it is IMX limitation, it's no problem, I don't want to spend to much time find the root cause.

Thank you so much!

Labels (2)
9 Replies

2,502 Views
lsg5131420
Contributor III

hi warren,

i have finished the porting of tc358749 on linux and i can get correct image.

thanks for your suggestions.

BR

shiguang liu

0 Kudos

2,502 Views
chenfeng2016
Contributor I
Hello,shiguang liu
    I'm glad to see that you mentioned that you successed  porting  tc358749 module  on linux and  get correct image.
    Now I am  porting the tc358749 on imx8mq , with Linux (yocto) and Android 9, but none of them work, 
   This Linux version: Linux 4.14.78_1.0.0, The driver is modified according to kernel source /drivers/media/I2C/tc358743.c, but tc358749 not work
I cost many time ,but the tc358749 can not work
Can you give some suggestions on how portting tc358749 module on Linux or Android system;
0 Kudos

2,502 Views
gary_bisson
Senior Contributor III

Hi,

It worked on Nitrogen6_MAX with the TC358743 daugher board with many input devices (STB, BR player etc...).

However, Android doesn't support dynamically changing the resolution though, so it your source starts in one resolution and then changes it can bring some issues.

Regards,

Gary

2,502 Views
warrenjan
Contributor II

HI Gary 

OS: Android 6.0.1_2.1.0
Kernel: 4.1.15

i try to porting tc358749  on android 6. but i meet some errors

 I refer framework & hardware setting from boundary devices, when i open the camera .

i face the no signal on screen. and the logcat show below.

Could you give me some directions ?

thx 

Br.

Warren

04-03 18:19:44.480 1302 1468 E BufferQueueProducer: [SurfaceTexture-0-1302-0] dequeueBuffer: can't dequeue multiple buffers without setting the buffer count
04-03 18:19:44.520 220 519 I FslCameraHAL: const camera_metadata_t* Camera::constructDefaultRequestSettings(int32_t):0: type=1
04-03 18:19:44.520 220 519 I FslCameraHAL: const camera_metadata_t* Camera::constructDefaultRequestSettings(int32_t):0: type=3
04-03 18:19:44.521 1302 1423 I CameraDeviceState: Legacy camera service transitioning to state IDLE
04-03 18:19:44.562 1302 1471 I RequestQueue: Repeating capture request set.
04-03 18:19:44.565 1302 1463 W LegacyRequestMapper: convertRequestMetadata - control.awbRegions setting is not supported, ignoring value
04-03 18:19:44.565 1302 1463 W LegacyRequestMapper: Only received metering rectangles with weight 0.
04-03 18:19:44.566 1302 1463 W LegacyRequestMapper: mapAeAndFlashMode - Ignore control.aeMode == ON_AUTO_FLASH;camera does not support it
04-03 18:19:44.566 1302 1463 W LegacyMetadataMapper: convertAfModeToLegacy - ignoring unsupported mode 4, defaulting to fixed
04-03 18:19:44.567 1302 1463 W LegacyRequestMapper: convertRequestToMetadata - Ignoring android.lens.focusDistance false, only 0.0f is supported
04-03 18:19:44.574 220 220 I FslCameraHAL: Stream::Stream(int, camera3_stream_t*, Camera*) create preview stream
04-03 18:19:44.574 220 220 I FslCameraHAL: stream: w:1280, h:720, format:0x103, usage:0x8000302, buffers:3
04-03 18:19:44.574 220 220 I FslCameraHAL: Stream::Stream(int, camera3_stream_t*, Camera*) create capture stream
04-03 18:19:44.574 220 220 I FslCameraHAL: stream: w:1280, h:720, format:0x103, usage:0x303, buffers:2
04-03 18:19:44.584 220 220 I imx6.gralloc: open gpu gralloc module!
04-03 18:19:44.605 220 1454 I FslCameraHAL: int32_t VideoStream::configure(android::sp<Stream>): w:0, h:0, sensor format:0x0, stream format:0x103, fps:30, num:0
04-03 18:19:44.605 220 341 I FslCameraHAL: virtual int32_t Tc358743::TcStream::onDeviceConfigureLocked()
04-03 18:19:44.605 220 341 I FslCameraHAL: virtual int32_t USPStream::onDeviceConfigureLocked()
04-03 18:19:44.605 220 341 I FslCameraHAL: virtual int32_t MMAPStream::onDeviceConfigureLocked()
04-03 18:19:44.605 220 341 I FslCameraHAL: Width * Height 1280 x 720 format NV12, fps: 30
04-03 18:19:44.615 220 341 I FslCameraHAL: allocateBufferFromIon buffer num:3
04-03 18:19:44.635 220 341 I FslCameraHAL: phyalloc ptr:0xa9639000, phy:0x26200000, ionSize:1384448
04-03 18:19:44.644 220 341 I FslCameraHAL: phyalloc ptr:0xa94e7000, phy:0x2f400000, ionSize:1384448
04-03 18:19:44.653 220 341 I FslCameraHAL: phyalloc ptr:0xa9395000, phy:0x2f600000, ionSize:1384448
04-03 18:19:44.654 220 341 I FslCameraHAL: virtual int32_t USPStream::onDeviceStartLocked() VIDIOC_QBUF phy:0x26200000
04-03 18:19:44.654 220 341 I FslCameraHAL: virtual int32_t USPStream::onDeviceStartLocked() VIDIOC_QBUF phy:0x2f400000
04-03 18:19:44.654 220 341 I FslCameraHAL: virtual int32_t USPStream::onDeviceStartLocked() VIDIOC_QBUF phy:0x2f600000
04-03 18:19:47.671 220 1454 E Camera3-Stream: getBuffer: wait for output buffer return timed out after 3000ms (max_buffers 2)
04-03 18:19:47.671 220 1454 E Camera3-Device: RequestThread: Can't get output buffer, skipping request: Connection timed out (-110)
04-03 18:19:47.671 220 1454 W Camera2Client: notifyError: Received recoverable error 3 from HAL - ignoring, requestId 10000002
04-03 18:19:48.638 1302 1463 E RequestThread-0: Timed out while waiting for request to complete.
04-03 18:19:48.639 1302 1463 W RequestHolder: Capture failed for request: 0
04-03 18:19:48.639 1302 1463 I CameraDeviceState: Legacy camera service transitioning to state CAPTURING
04-03 18:19:50.671 220 1454 E Camera3-Stream: getBuffer: wait for output buffer return timed out after 3000ms (max_buffers 2)
04-03 18:19:50.671 220 1454 E Camera3-Device: RequestThread: Can't get output buffer, skipping request: Connection timed out (-110)
04-03 18:19:50.671 220 1454 W Camera2Client: notifyError: Received recoverable error 3 from HAL - ignoring, requestId 10000002
04-03 18:19:52.685 1302 1463 E RequestThread-0: Timed out while waiting for request to complete.
04-03 18:19:52.685 1302 1463 W RequestHolder: Capture failed for request: 0

0 Kudos

2,501 Views
warrenjan
Contributor II

dear Gary Bisson 

 

 I solved it ! 

Thx.

BR

Warren

0 Kudos

2,501 Views
lsg5131420
Contributor III

hi  warren jan

I have the same erros on porting tc358749.

os: android9.0

hardware: imx8mmevk

can you give me some advice.

thanks

0 Kudos

2,502 Views
warrenjan
Contributor II

HI Shiguang,

i didn't porting tc358749 on android 9.0 of imx8m , sorry .

but you can poritng the linux based to verify the tc358749 driver  first.

and check the ov5640 mipi csi android hal & framework source code.

BR

Warren

0 Kudos

2,502 Views
lsg5131420
Contributor III

hi warren

thanks for your replay.

i will try it on linux first.

0 Kudos

2,502 Views
berniechen
Contributor II

Hi NXP

Android:6.0.1

kernel: 4.1.15

I have this issue as well, I using HiKey board as input souce(kernel detect 720P), but I found resolution of camera hal is wrong resolution, so that I can not show video at application. And I test the Udoo neo board(imx6 soloX), the kernel detect it 720p, and the camera hal gets the correct resolution, then the upper application can show video data. I refer the tc358743 datasheet frome this
http://html.alldatasheet.com/html-pdf/540488/TOSHIBA/TC358743/295/1/TC358743.html 
未命名.png

What it means about "some Application Processor have limitations is handling video data as an input source?"
Does this case of tc358743 driver from Boundary Device only support imx6 soc has relation with HDMI-RX-Interface support format??

0 Kudos