AnsweredAssumed Answered

ADV7280-m MIPI no signal

Question asked by AressHsiao on Jun 1, 2017
Latest reply on Jun 13, 2017 by Rob.Analog

I am porting adv7280m driver on Qualcomm platform. The crystal has 28.63636MHz signal, but the MIPI signal doesn't work.
I reference the "ADV7280M_Cust-VER.4.1.txt" configure to setup my registers.

 

:Color Bars 480i MIPI Out:
delay 10 ;
42 0F 00 ; Exit Power Down Mode
42 0E 00 ; Enter User Sub Map
42 0C 37 ; Force Free-run mode
42 02 54 ; Force standard to NTSC-M
42 14 11 ; Set Free-run pattern to color bars
42 03 4E ; ADI Required Write
42 04 57 ; Power-up INTRQ pin
42 13 00 ; Enable INTRQ output driver
42 17 41 ; select SH1
42 1D C0 ; Tri-State LLC output driver
42 52 CD ; ADI Required Write
42 80 51 ; ADI Required Write
42 81 51 ; ADI Required Write
42 82 68 ; ADI Required Write
42 FE 88 ; Set CSI Map Address
88 DE 02 ; Power up MIPI D-PHY
88 D2 F7 ; ADI Required Write
88 D8 65 ; ADI Required Write
88 E0 09 ; ADI Required Write
88 2C 00 ; ADI Required Write
88 00 00 ; Power up MIPI CSI-2 Tx
End

 

LOG 

[ 32.977525] msm_csiphy_init:462 called csiphy_dev->hw_version 0x31
[ 32.983869] msm_csiphy_subdev_ioctl:736
[ 32.987870] [adv7280_sensor_config()->Line:896]: adv7280m_ubiqconn cfgtype = 5
[ 32.994291] [adv7280_sensor_power_up()->Line:703]:
[ 33.022039] [adv7280_sensor_match_id()->Line:670]:
[ 33.026772] [adv7280_sensor_match_id()->Line:691]: read id[0x11]: 0x42 expected id 0x42:
[ 33.053786] adv7280_write_reg: addr=0x42 reg=0xf val=0x0 ret=1
[ 33.059624] adv7280_write_reg: addr=0x42 reg=0xe val=0x0 ret=1
[ 33.065233] adv7280_write_reg: addr=0x42 reg=0xc val=0x37 ret=1
[ 33.071917] adv7280_write_reg: addr=0x42 reg=0x2 val=0x54 ret=1
[ 33.077768] adv7280_write_reg: addr=0x42 reg=0x14 val=0x11 ret=1
[ 33.083428] adv7280_write_reg: addr=0x42 reg=0x3 val=0x4e ret=1
[ 33.089377] adv7280_write_reg: addr=0x42 reg=0x4 val=0x57 ret=1
[ 33.095375] adv7280_write_reg: addr=0x42 reg=0x13 val=0x0 ret=1
[ 33.101136] adv7280_write_reg: addr=0x42 reg=0x17 val=0x41 ret=1
[ 33.107190] adv7280_write_reg: addr=0x42 reg=0x1d val=0xc0 ret=1
[ 33.113280] adv7280_write_reg: addr=0x42 reg=0x52 val=0xcd ret=1
[ 33.119654] adv7280_write_reg: addr=0x42 reg=0x80 val=0x51 ret=1
[ 33.129481] adv7280_write_reg: addr=0x42 reg=0x81 val=0x51 ret=1
[ 33.139317] adv7280_write_reg: addr=0x42 reg=0x82 val=0x68 ret=1
[ 33.145167] adv7280_write_reg: addr=0x42 reg=0xfe val=0x48 ret=1
[ 33.150929] adv7280_write_reg: addr=0x48 reg=0xde val=0x2 ret=1
[ 33.156755] adv7280_write_reg: addr=0x48 reg=0xde val=0xf7 ret=1
[ 33.162795] adv7280_write_reg: addr=0x48 reg=0xd8 val=0x65 ret=1
[ 33.168767] adv7280_write_reg: addr=0x48 reg=0xe0 val=0x9 ret=1
[ 33.174550] adv7280_write_reg: addr=0x48 reg=0x2c val=0x0 ret=1
[ 33.180369] adv7280_write_reg: addr=0x48 reg=0x0 val=0x0 ret=1
[ 33.186591] adv7280_read_reg: addr=0x42 reg=0x10 val=0xcb ret=2
[ 33.192756] adv7280_read_reg: addr=0x42 reg=0x12 val=0x0 ret=2
[ 33.198343] adv7280_read_reg: addr=0x42 reg=0x13 val=0x19 ret=2
[ 33.203558] [adv7280_sensor_config()->Line:896]: adv7280m_ubiqconn cfgtype = 10
[ 33.210766] [adv7280_sensor_config()->Line:923]: init setting
[ 33.395563] [adv7280_sensor_config()->Line:896]: adv7280m_ubiqconn cfgtype = 14
[ 33.402122] [adv7280_sensor_config()->Line:896]: adv7280m_ubiqconn cfgtype = 16
[ 33.409934] [adv7280_sensor_config()->Line:896]: adv7280m_ubiqconn cfgtype = 15
[ 33.416713] [adv7280_sensor_config()->Line:896]: adv7280m_ubiqconn cfgtype = 18
[ 33.424284] [adv7280_sensor_config()->Line:896]: adv7280m_ubiqconn cfgtype = 19
[ 33.431301] [adv7280_sensor_config()->Line:896]: adv7280m_ubiqconn cfgtype = 21
[ 33.438920] [adv7280_sensor_config()->Line:896]: adv7280m_ubiqconn cfgtype = 22
[ 33.446009] [adv7280_sensor_config()->Line:896]: adv7280m_ubiqconn cfgtype = 20
[ 33.452978] [adv7280_sensor_config()->Line:896]: adv7280m_ubiqconn cfgtype = 17
[ 33.489988] [adv7280_sensor_config()->Line:896]: adv7280m_ubiqconn cfgtype = 12
[ 33.496347] [adv7280_sensor_config()->Line:939]: stop stream!!
[ 33.502101] [adv7280_sensor_config()->Line:896]: adv7280m_ubiqconn cfgtype = 25
[ 33.509503] [adv7280_sensor_config()->Line:896]: adv7280m_ubiqconn cfgtype = 11
[ 33.520586] msm_csiphy_subdev_ioctl:711 id 0
[ 33.523912] set from usr csiphy_clk clk_rate = 4294967295 round_rate = 200000000
[ 33.531210] msm_csiphy_lane_config csiphy_params, mask = 0x18 cnt = 1
[ 33.537723] msm_csiphy_lane_config csiphy_params, settle cnt = 0x14 csid 1
[ 33.544625] msm_csiphy_lane_config clk mux addr f517e030 val 0x10
[ 33.550570] msm_csiphy_subdev_ioctl:736
[ 33.559970] msm_isp_send_hw_cmd:956 hi 8 lo 8
[ 33.563608] msm_isp_send_hw_cmd:956 hi 8 lo 8
[ 33.567784] msm_isp_send_hw_cmd:956 hi 8 lo 8
[ 33.575146] csi2_src_clk get failed
[ 33.578279] [adv7280_sensor_config()->Line:896]: adv7280m_ubiqconn cfgtype = 13
[ 33.585262] [adv7280_sensor_config()->Line:942]: start stream!!
[ 36.594647] adv7280_read_reg: addr=0x42 reg=0x10 val=0xf ret=2
[ 36.600134] adv7280_read_reg: addr=0x42 reg=0x12 val=0x0 ret=2
[ 36.607301] adv7280_read_reg: addr=0x42 reg=0x13 val=0x79 ret=2
[ 38.614430] Notifying subdevs about potential sof freeze
[ 38.618727] msm_csiphy_subdev_ioctl:711 id 0
[ 38.623208] msm_csiphy_irq MIPI_CSIPHY0_INTERRUPT_STATUS0 = 0x0
[ 38.628883] msm_csiphy_irq MIPI_CSIPHY0_INTERRUPT_STATUS1 = 0x0
[ 38.634785] msm_csiphy_irq MIPI_CSIPHY0_INTERRUPT_STATUS2 = 0x0
[ 38.636850] msm_csiphy_subdev_ioctl:736
[ 38.636859] MSM-SENSOR-INIT msm_sensor_init_subdev_ioctl:105 Enter
[ 38.636864] MSM-SENSOR-INIT msm_sensor_init_subdev_ioctl:119 default
[ 38.636864]
[ 38.658483] msm_csiphy_irq MIPI_CSIPHY0_INTERRUPT_STATUS3 = 0x0
[ 38.664385] msm_csiphy_irq MIPI_CSIPHY0_INTERRUPT_STATUS4 = 0x0
[ 38.670280] msm_csiphy_irq MIPI_CSIPHY0_INTERRUPT_STATUS5 = 0x0
[ 38.676187] msm_csiphy_irq MIPI_CSIPHY0_INTERRUPT_STATUS6 = 0x0
[ 38.682086] msm_csiphy_irq MIPI_CSIPHY0_INTERRUPT_STATUS7 = 0x0
[ 41.567881] type=1400 audit(1496316034.825:5): avc: denied { getopt } for pid=5875 comm="Thread-281" scontext=u:r:untrusted_app:s0 tcontext=u:r:zygote:s0 tclass=unix_dgram_socket permissive=0
[ 41.584609] type=1400 audit(1496316034.825:6): avc: denied { getopt } for pid=5875 comm="Thread-281" scontext=u:r:untrusted_app:s0 tcontext=u:r:zygote:s0 tclass=unix_dgram_socket permissive=0

 

 

*** The scope channel 1 signal is  MIPI_CSI1_CLK_M and channel 2 signal is  MIPI_CSI1_LANE0_M

Outcomes