hi,
i use DM365_DVR_DVSDK3_00.02.00.00.zip mcvip packages from http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/100/t/118704.aspx.
i see tvp5158 info from boot msg on dm365 as below:
U-Boot 2010.12-rc2 (Aug 01 2011 - 23:08:14)
Cores: ARM 297 MHz
DDR: 243 MHz
I2C: ready
DRAM: 128 MiB
NAND: 256 MiB
MMC: davinci: 0, davinci: 1
Net: Ethernet PHY: GENERIC @ 0x00
DaVinci-EMAC
Hit any key to stop autoboot: 0
Loading from nand0, offset 0x400000
Image Name: " Linux Kernel"
Created: 2012-02-29 13:40:39 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 4192128 Bytes = 4 MiB
Load Address: 80008000
Entry Point: 80008000
Skipping bad block 0x006e0000
Automatic boot of image at addr 0x82000000 ...
## Booting kernel from Legacy Image at 82000000 ...
Image Name: "Linux Kernel"
Created: 2012-02-29 13:40:39 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 4192128 Bytes = 4 MiB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK
Starting kernel ...
Linux version 2.6.32-17 (gcc version 4.3.3 (Sourcery
G++ Lite 2009q1-203) ) #7 PREEMPT Wed Feb 29 21:39:26 CST 2012
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: DM365 EVM
Memory policy: ECC disabled, Data cache writeback
DaVinci dm36x_rev1.2 variant 0x8
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 25146
Kernel command line: davinci_enc_mngr.ch0_output=PRGB davinci_enc_mngr.ch0_mode=
PRGB davinci_display.cont2_bufsize=6291456 vpfe_capture.cont_bufoffset=6291456 v
pfe_capture.cont_bufsize=6291456 video=davincifb:osd1=off:osd0=1280x720x16,1800K
@0,0 console=ttyS0,115200n8 video=davincifb:vid0=off:vid1=off:osd1=off dm365_imp
.oper_mode=0 vpfe_capture.interface=1 mem=99M root=/dev/nfs nfsroot=192.168.1.20
0:/home/dsp/LeopardBoardDM365sdkEVAL2011Q2/fs/fs rw ip=dhcp dm365_generic_prgb_e
ncoder.mode=1280x720MR-16@60 mtdparts=davinci_nand.0:4096k(UBOOT),4480k(KERNEL),
204800k(FS)
PID hash table entries: 512 (order: -1, 2048 bytes)
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 99MB = 99MB total
Memory: 96000KB available (3764K code, 295K data, 140K init, 0K highmem)
SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Hierarchical RCU implementation.
NR_IRQS:245
Console: colour dummy device 80x30
Calibrating delay loop... 147.86 BogoMIPS (lpj=739328)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
DaVinci: 8 gpio irqs
NET: Registered protocol family 16
davinci_serial_init:97: failed to get UART2 clock
bio: create slab <bio-0> at 0
DM365 IPIPE initialized in Continuous mode
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
vpss vpss: dm365_vpss vpss probed
vpss vpss: dm365_vpss vpss probe success
dm365_afew_hw_init
ch0 default output "PRGB", mode "PRGB"
VPBE Encoder Initialized
fbcvt: 1280x720@60: CVT Name - .921M9-R
General PRGB Encoder initialized
LogicPD encoder initialized
Switching to clocksource timer0_1
musb_hdrc: version 6.0, cppi-dma, host, debug=0
musb_hdrc: USB Host mode controller at fec64000 using DMA, IRQ 12
musb_hdrc musb_hdrc: MUSB HDRC host driver
musb_hdrc musb_hdrc: new USB bus registered, assigned bus number 1
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 4096 (order: 3, 32768 bytes)
TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
TCP reno registered
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
msgmni has been set to 187
alg: No test for stdrng (krng)
io scheduler noop registered
io scheduler anticipatory registered (default)
davincifb davincifb.0: dm_osd0_fb: 1280x720x16@0,0 with framebuffer size 1800KB
davincifb davincifb.0: dm_osd1_fb: 1280x720x4@0,0 with framebuffer size 1800KB
DM365 IPIPEIF probed
imp serializer initialized
davinci_previewer initialized
davinci_resizer initialized
Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0x1c20000 (irq = 40) is a 16550A
console [ttyS0] enabled
brd: module loaded
loop: module loaded
NAND device: Manufacturer ID: 0x2c, Chip ID: 0xda (Micron NAND 256MiB 3,3V 8-bit
)
Scanning device for bad blocks
Bad eraseblock 55 at 0x0000006e0000
Bad eraseblock 168 at 0x000001500000
Bad eraseblock 171 at 0x000001560000
Bad eraseblock 368 at 0x000002e00000
Bad eraseblock 385 at 0x000003020000
Bad eraseblock 780 at 0x000006180000
Bad eraseblock 1467 at 0x00000b760000
Bad eraseblock 1682 at 0x00000d240000
Bad eraseblock 2010 at 0x00000fb40000
3 cmdlinepart partitions found on MTD device davinci_nand.0
Creating 3 MTD partitions on "davinci_nand.0":
0x000000000000-0x000000400000 : "UBOOT"
0x000000400000-0x000000860000 : "KERNEL"
0x000000860000-0x00000d060000 : "FS"
davinci_nand davinci_nand.0: controller rev. 2.3
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver usbtest
i2c_davinci i2c_davinci.1: controller timed out
i2c_davinci i2c_davinci.1: initiating i2c bus recovery
tsc2004: probe of 1-0049 failed with error -110
i2c /dev entries driver
Linux video capture interface: v2.00
ths7303 1-002c: chip found @ 0x58 (DaVinci I2C adapter)
i2c_davinci i2c_davinci.1: controller timed out
i2c_davinci i2c_davinci.1: initiating i2c bus recovery
ths7303 1-002c: ths7303 write failed
ths7303: probe of 1-002c failed with error -110
I2C: Module install successful, device major num = 251
DMA: Module install successful, device major num = 250
TVP5158: Module built on Feb 29 2012 21:39:09
vpfe_init
vpfe-capture: vpss clock vpss_master enabled
vpfe-capture vpfe-capture: v4l2 device registered
vpfe-capture vpfe-capture: video device registered
i2c_davinci i2c_davinci.1: controller timed out
i2c_davinci i2c_davinci.1: initiating i2c bus recovery
mt9p031 1-0048: No MT9P031 chip detected, register read ffffff92
vpfe-capture vpfe-capture: v4l2 sub device mt9p031 register fails
No sub devices registered
vpfe-capture: vpfe capture clocks disabled
vpfe_register_ccdc_device: DM365 ISIF
dm365_isif: probe of dm365_isif failed with error -22
af major#: 249, minor# 0
AF Driver initialized
aew major#: 248, minor# 0
AEW Driver initialized
Trying to register davinci display video device.
layer=c506c400,layer->video_dev=c506c564
Trying to register davinci display video device.
layer=c506c800,layer->video_dev=c506c964
davinci_init:DaVinci V4L2 Display Driver V1.0 loaded
watchdog watchdog: heartbeat 60 sec
davinci_mmc davinci_mmc.0: Using DMA, 4-bit mode
usbcore: registered new interface driver usbhid
usbhid: v2.6:USB HID core driver
Advanced Linux Sound Architecture Driver Version 1.0.21.
i2c_davinci i2c_davinci.1: controller timed out
i2c_davinci i2c_davinci.1: initiating i2c bus recovery
i2c_davinci i2c_davinci.1: controller timed out
i2c_davinci i2c_davinci.1: initiating i2c bus recovery
i2c_davinci i2c_davinci.1: controller timed out
i2c_davinci i2c_davinci.1: initiating i2c bus recovery
i2c_davinci i2c_davinci.1: controller timed out
i2c_davinci i2c_davinci.1: initiating i2c bus recovery
i2c_davinci i2c_davinci.1: controller timed out
i2c_davinci i2c_davinci.1: initiating i2c bus recovery
i2c_davinci i2c_davinci.1: controller timed out
i2c_davinci i2c_davinci.1: initiating i2c bus recovery
i2c_davinci i2c_davinci.1: controller timed out
i2c_davinci i2c_davinci.1: initiating i2c bus recovery
i2c_davinci i2c_davinci.1: controller timed out
i2c_davinci i2c_davinci.1: initiating i2c bus recovery
i2c_davinci i2c_davinci.1: controller timed out
i2c_davinci i2c_davinci.1: initiating i2c bus recovery
i2c_davinci i2c_davinci.1: controller timed out
i2c_davinci i2c_davinci.1: initiating i2c bus recovery
i2c_davinci i2c_davinci.1: controller timed out
i2c_davinci i2c_davinci.1: initiating i2c bus recovery
i2c_davinci i2c_davinci.1: controller timed out
i2c_davinci i2c_davinci.1: initiating i2c bus recovery
i2c_davinci i2c_davinci.1: controller timed out
i2c_davinci i2c_davinci.1: initiating i2c bus recovery
i2c_davinci i2c_davinci.1: controller timed out
i2c_davinci i2c_davinci.1: initiating i2c bus recovery
i2c_davinci i2c_davinci.1: controller timed out
i2c_davinci i2c_davinci.1: initiating i2c bus recovery
i2c_davinci i2c_davinci.1: controller timed out
i2c_davinci i2c_davinci.1: initiating i2c bus recovery
i2c_davinci i2c_davinci.1: controller timed out
i2c_davinci i2c_davinci.1: initiating i2c bus recovery
i2c_davinci i2c_davinci.1: controller timed out
i2c_davinci i2c_davinci.1: initiating i2c bus recovery
i2c_davinci i2c_davinci.1: controller timed out
i2c_davinci i2c_davinci.1: initiating i2c bus recovery
i2c_davinci i2c_davinci.1: controller timed out
i2c_davinci i2c_davinci.1: initiating i2c bus recovery
i2c_davinci i2c_davinci.1: controller timed out
i2c_davinci i2c_davinci.1: initiating i2c bus recovery
i2c_davinci i2c_davinci.1: controller timed out
i2c_davinci i2c_davinci.1: initiating i2c bus recovery
i2c_davinci i2c_davinci.1: controller timed out
i2c_davinci i2c_davinci.1: initiating i2c bus recovery
i2c_davinci i2c_davinci.1: controller timed out
i2c_davinci i2c_davinci.1: initiating i2c bus recovery
i2c_davinci i2c_davinci.1: controller timed out
i2c_davinci i2c_davinci.1: initiating i2c bus recovery
i2c_davinci i2c_davinci.1: controller timed out
i2c_davinci i2c_davinci.1: initiating i2c bus recovery
i2c_davinci i2c_davinci.1: controller timed out
i2c_davinci i2c_davinci.1: initiating i2c bus recovery
i2c_davinci i2c_davinci.1: controller timed out
i2c_davinci i2c_davinci.1: initiating i2c bus recovery
i2c_davinci i2c_davinci.1: controller timed out
i2c_davinci i2c_davinci.1: initiating i2c bus recovery
i2c_davinci i2c_davinci.1: controller timed out
i2c_davinci i2c_davinci.1: initiating i2c bus recovery
i2c_davinci i2c_davinci.1: controller timed out
i2c_davinci i2c_davinci.1: initiating i2c bus recovery
i2c_davinci i2c_davinci.1: controller timed out
i2c_davinci i2c_davinci.1: initiating i2c bus recovery
i2c_davinci i2c_davinci.1: controller timed out
i2c_davinci i2c_davinci.1: initiating i2c bus recovery
i2c_davinci i2c_davinci.1: controller timed out
i2c_davinci i2c_davinci.1: initiating i2c bus recovery
i2c_davinci i2c_davinci.1: controller timed out
i2c_davinci i2c_davinci.1: initiating i2c bus recovery
i2c_davinci i2c_davinci.1: controller timed out
i2c_davinci i2c_davinci.1: initiating i2c bus recovery
i2c_davinci i2c_davinci.1: controller timed out
i2c_davinci i2c_davinci.1: initiating i2c bus recovery
i2c_davinci i2c_davinci.1: controller timed out
i2c_davinci i2c_davinci.1: initiating i2c bus recovery
i2c_davinci i2c_davinci.1: controller timed out
i2c_davinci i2c_davinci.1: initiating i2c bus recovery
No device for DAI tlv320aic3x
No device for DAI davinci-i2s
i2c_davinci i2c_davinci.1: controller timed out
i2c_davinci i2c_davinci.1: initiating i2c bus recovery
i2c_davinci i2c_davinci.1: controller timed out
i2c_davinci i2c_davinci.1: initiating i2c bus recovery
asoc: tlv320aic3x <-> davinci-i2s mapping ok
ALSA device list:
#0: DaVinci DM365 EVM (tlv320aic3x)
TCP cubic registered
NET: Registered protocol family 17
Clocks: disable unused mmcsd1
Clocks: disable unused spi0
Clocks: disable unused spi1
Clocks: disable unused spi2
Clocks: disable unused spi3
Clocks: disable unused spi4
Clocks: disable unused pwm0
Clocks: disable unused pwm1
Clocks: disable unused pwm2
Clocks: disable unused pwm3
Clocks: disable unused timer1
Clocks: disable unused timer3
Clocks: disable unused emac
Clocks: disable unused voice_codec
Clocks: disable unused rto
Clocks: disable unused mjcp
davinci_emac_probe: using random MAC addr: 3e:a0:17:f9:6d:12
emac-mii: probed
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
Sending DHCP requests ., OK
IP-Config: Got DHCP answer from 0.0.0.0, my address is 192.168.1.145
IP-Config: Complete:
device=eth0, addr=192.168.1.145, mask=255.255.255.0, gw=192.168.1.1,
host=192.168.1.145, domain=domain, nis-domain=(none),
bootserver=0.0.0.0, rootserver=192.168.1.200, rootpath=
Looking up port of RPC 100003/2 on 192.168.1.200
Looking up port of RPC 100005/1 on 192.168.1.200
VFS: Mounted root (nfs filesystem) on device 0:13.
Freeing init memory: 140K
init started: BusyBox v1.18.2 (2012-02-29 19:42:49 CST)
starting pid 984, tty '': '/etc/rcS'
Starting System
done.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
however,i test mcvip_test.out and get errors like these:
/examples # ./mcvip_test.out
----MCVIP 0I2C: Driver registration in progress for address b6..
pObj->client=[0]
Unable to handle kernel NULL pointer dereference at virtual address 00000000
pgd = c5690000
[00000000] *pgd=85679031, *pte=00000000, *ppte=00000000
Internal error: Oops: 17 [#1] PREEMPT
last sysfs file: /sys/devices/virtual/irqk/irqk/dev
Modules linked in: irqk edmak dm365mmap cmemk
CPU: 0 Not tainted (2.6.32-17-ridgerun #7)
PC is at memcpy+0x48/0x330
LR is at I2C_create+0xd4/0x19c
pc : [<c015f328>] lr : [<c0222b10>] psr: 20000013
sp : c51efe7c ip : 00000000 fp : c51efeb4
r10: 00000000 r9 : c51ee000 r8 : 000000b6
r7 : c041a8fc r6 : 0000005b r5 : c53e0b00 r4 : c53e0b08
r3 : 00000000 r2 : 00000050 r1 : 00000000 r0 : c53e0b08
Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
Control: 0005317f Table: 85690000 DAC: 00000015
Process mcvip_test.out (pid: 1117, stack limit = 0xc51ee270)
Stack: (0xc51efe7c to 0xc51f0000)
fe60: c53e0b00
fe80: 0000005b c041a8fc 000000b6 c53e0b08 c53e0b08 c0222b10 000000b6 00002c01
fea0: c5664e80 00000000 c51efeec c51efeb8 c0222c38 c0222a4c 0002dcf0 c51effb0
fec0: 00000000 00012c98 c51f7280 c41c8b80 c5664e80 000000b6 00002c01 c5664e80
fee0: c51eff0c c51efef0 c00a8378 c0222be8 00000005 c5664e80 00000005 c5664e80
ff00: c51eff7c c51eff10 c00a8a28 c00a8310 c560ad80 00000003 00000000 c5664e80
ff20: c51eff5c 00000000 00000000 c51f41f0 00000000 c41c8b80 00000020 c51f41f0
ff40: 00000000 c41c8b80 00000020 c51f41f0 c51eff94 00000005 000000b6 00002c01
ff60: c5664e80 c002c0e4 c51ee000 00000000 c51effa4 c51eff80 c00a8ac4 c00a84a4
ff80: c51ee000 00000000 beca3c9c 0002dcec 000000b6 00000036 00000000 c51effa8
ffa0: c002bf60 c00a8a94 beca3c9c 0002dcec 00000005 00002c01 000000b6 ffffffff
ffc0: beca3c9c 0002dcec 000000b6 00000036 0002caa8 00000000 00000000 00000001
ffe0: 00000001 beca3c98 00012ce0 40de1aec 20000010 00000005 ffffffff ffffffff
Backtrace:
[<c0222a3c>] (I2C_create+0x0/0x19c) from [<c0222c38>] (I2C_devIoctl+0x60/0x2e0)
r7:00000000 r6:c5664e80 r5:00002c01 r4:000000b6
[<c0222bd8>] (I2C_devIoctl+0x0/0x2e0) from [<c00a8378>] (vfs_ioctl+0x78/0x94)
r7:c5664e80 r6:00002c01 r5:000000b6 r4:c5664e80
[<c00a8300>] (vfs_ioctl+0x0/0x94) from [<c00a8a28>] (do_vfs_ioctl+0x594/0x5f0)
r7:c5664e80 r6:00000005 r5:c5664e80 r4:00000005
[<c00a8494>] (do_vfs_ioctl+0x0/0x5f0) from [<c00a8ac4>] (sys_ioctl+0x40/0x64)
[<c00a8a84>] (sys_ioctl+0x0/0x64) from [<c002bf60>] (ret_fast_syscall+0x0/0x28)
r7:00000036 r6:000000b6 r5:0002dcec r4:beca3c9c
Code: ba000002 f5d1f03c f5d1f05c f5d1f07c (e8b151f8)
---[ end trace 93e213e3096a1781 ]---
Segmentation fault
/examples #
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
QUESTION:
i find
#ifndef _SYSTEM_H_
#define _SYSTEM_H_
#if 0 /* DM6467 */
#define TVP5158_A_I2C_ADDR (0xB0)
#define TVP5158_B_I2C_ADDR (0xB2)
#endif
#define TVP5158_A_I2C_ADDR (0xB6)
#define TVP5158_B_I2C_ADDR (0xBE)
#define TVP5158_C_I2C_ADDR (0x00)
#define TVP5158_D_I2C_ADDR (0x00)
in system.h in mcvip
then board-dm365-evm.c in lsp_files in mcvip
#ifdef CONFIG_VIDEO_TVP5158
{
.module_name = "I2C_JG",
.num_inputs = ARRAY_SIZE(tvp5158_inputs_2),
.inputs = tvp5158_inputs_2,
.board_info = {
I2C_BOARD_INFO("tvp5158", 0x5F),
.platform_data = &tvp5158_pdata,
},
.can_route = 0,
.ccdc_if_params = {
.if_type = VPFE_BT656,
.hdpol = VPFE_PINPOL_POSITIVE,
.vdpol = VPFE_PINPOL_POSITIVE,
},
},
{
.module_name = "I2C_IG",
.num_inputs = ARRAY_SIZE(tvp5158_inputs_1),
.inputs = tvp5158_inputs_1,
.board_info = {
I2C_BOARD_INFO("tvp5158", 0x5B),
.platform_data = &tvp5158_pdata,
},
.can_route = 0,
.ccdc_if_params = {
.if_type = VPFE_BT656,
.hdpol = VPFE_PINPOL_POSITIVE,
.vdpol = VPFE_PINPOL_POSITIVE,
},
},
#endif
from errors shown,i think mcvip_test.out could not find tvp5158 in address B6.
which is the true i2c address of tvp5158,B6 or 5B?The mcvip packages DM365_DVR_DVSDK3_00.02.00.00.zip is wrong?
any expert could give me a light?why i get the result?
Is my tvp5158 not work?
any comment would be appreciated!
thanks