arm:da850: general question about device drivers

2012-03-26 Thread Gabriele Filosofi
Hi,

I'm new to device driver development.
Our custom board is a mach-davinci implementation. It features the following 
devices:


1.   MAG3110 - 3axis Digital Magnetometer. Communicates via I2C

2.   LTC4100 - battery charger. Communicates via I2C

3.   MMA9550 - 3axis Digital Accelerometer. Communicates via I2C

However, with my little understanding of the linux framework, it is not clear 
to me where I have to place the device drivers for those devices in the linux 
tree.
Let's consider the magnetometer. I can guess that, basing on common developer's 
practice, the following possibilities can hold

drivers/misc/
drivers/staging/iio/magnetometer/
drivers/input/misc/
arch/arm/mach-davinci/

Anyone can help me?

Gabriele
___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


How to add a da850-based custom board to mainline kernel ?

2010-11-18 Thread Gabriele Filosofi
Hi All,

we would like to develop a custom board and add it to mainline kernel.
I've read the first thing I need to have is a machine ID.
After that I need to create a basic configuration file for our board, something 
like:

arch/arm/configs/BOARDNAME_defconfig
arch/arm/mach-PROCESSORNAME/Kconfig
arch/arm/mach-PROCESSORNAME/Makefile
arch/arm/mach-PROCESSORNAME/BOARDNAME.c

Now, our board is based on an existing one, i.e. the LogicPD's AM1808 
System-On-Module.
This SOM is also plugged onto the AM1808's EVM board, already registered under

PROCESSORNAME = "davinci"
BOARDNAME = "board-da850-evm.c"

Please, does anybody know how to proceed in this case?

Thanks a lot,

Gabriele

___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


R: Anyone else having trouble with their AM1808 evaluation board?

2010-06-27 Thread Gabriele Filosofi
Philipp,

I faced the same problem with the Zoom AM1808 board we received from TI's sales 
representatives.
They substituted our EVM with a new one, and this new board works very good.
I could not conduct any serious investigation on the faulty board, but I can 
suggest you to make some verification on thermal effects as the possible cause.
Please, try to selectively cool the AM1808-SOM-M1 module (with a fan or cooling 
spray)
Please, let we know any results you could find

Thanks
Gabriele


Da: davinci-linux-open-source-boun...@linux.davincidsp.com 
[mailto:davinci-linux-open-source-boun...@linux.davincidsp.com] Per conto di 
Philipp Schrader
Inviato: venerdì 25 giugno 2010 20.04
A: davinci-linux-open-source@linux.davincidsp.com
Oggetto: Anyone else having trouble with their AM1808 evaluation board?

Hi all,

I am trying to do some development on the Zoom AM1808 EVM from LogicPD.

The demo appears to boot just fine since the demo loads and I can interact with 
the screen, login over UART and telnet.
However, after half a minute to a minute the board stops responding; the screen 
goes blank and it doesn't respond to any input anymore.

I'm really not sure whether it's a kernel crash or some other issue.
I do get various errors such as:

"Unable to handle kernel paging request at virtual address e3120004 pgd = 
c1ffc000 [e3120004] *pgd= Internal error: Oops: 5 [#1] PREEMPT"

"udevd[528]: inotify_add_watch(3, (null), 10) failed: Bad address"

"Internal error: Oops - undefined instruction: 0 [#1] PREEMPT"

I am unsure if they point to the real problem though.
If anyone has encountered something like this, I'd appreciate any ideas.

Thanks,
Philipp
___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


dm644x DDR2 interface

2010-03-15 Thread Gabriele Filosofi
Hi all.
This is a hardware issue.
At the beginning of paragraph 2 "DM644x DDR2 Supported Devices" of the document 
SPRAAC5F, I read:

"The DM644x DDR2 interface supports JEDEC DDR2 x16 devices. Supported densities 
are 256 Mb, 512Mb, and 1Gb in the x16 device width."

Really, SPRAAC5F deals only with x16 devices.

The question is:
does dm6446 support x32 devices? I think so, but the statement quoted above 
doesn't tell it.

Thanks a lot
Gabriele

___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


dm644x - run demos through CGI script

2009-01-07 Thread Gabriele Filosofi
Hi,

In order to run demos through CGI script from host I do on target

> cd /opt/dvsdk/dm6446/web
> ./thttpd_wrapper
NET: Registered protocol family 10
IPv6 over IPv4 tunneling driver

Typing

http://192.168.0.244/index.html

Firefox explorer on host shows up the "welcome" page.
However, when I point at the cgi script

http://192.168.0.244/cgi-bin/startdemo

the error log appears

500 Internal Error
There was an unusual problem serving the requested URL '/cgi-bin/startdemo'.

The cgi script is in its place, and its attributes are -rwxr-xr-x, but it is 
not executed at all.
Also, I've tryed enabling a log by adding option -d to ./thttpd in the wrapper 
script and it gives

192.168.0.243 - - [01/Jan/1970:00:21:41 +] "GET /cgi-bin/startdemo 
HTTP/1.1" 404 0 "http://192.168.0.244/index.html"; "Mozilla/5.0 (X11; U; Linux 
i686; en-US; rv:1.9) Gecko/2008061712 Fedora/3.0-1.fc9 Firefox/3.0"

That seems quite correct.
Is there any missing component that should be added in kernel config? Or what 
else?
Thanks a lot for any suggestions

Gabriele

___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


R: dm644x - How to change PRGB frame rate

2008-12-30 Thread Gabriele Filosofi
Sundar,

my display is 320x240 and the pixel clock is 6.75MHz.
The following original settings work good but they produce 63 Hz vertical 
refresh (too high)

HINT = 407
HSTART = 68
HVALID = 320
VINT = 261
VSTART = 18
VVALID = 240

Please, note that these numbers came directly from the display's datasheet.
Then, following your suggestion I write

desired frame rate = pixel clock/(HINT+1)(VINT+1)

25 = 675/(HINT+1)(VINT+1)

So that

   (HINT+1)(VINT+1) = 27

Now, is there a method to define new value for HINT and VINT?

Thanks

Gabriele

Da: sunder ramani [mailto:sunder.s...@gmail.com]
Inviato: lunedì 29 dicembre 2008 19.24
A: Gabriele Filosofi; davinci-linux-open-source@linux.davincidsp.com
Oggetto: RE: dm644x - How to change PRGB frame rate

Hi,

You should try to increase the blanking period for the output mode and try to 
reduce the effective frame rate. Adding more of blanking period into your 
horizontal and vertical portions would increase the duration between your 
vertical syncs, therbey effectively reducing your frame rate. You should look 
into the prgb function in the davinci_platform.c file.

Hope this helps

Sundar


___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


dm644x - How to change PRGB frame rate

2008-12-29 Thread Gabriele Filosofi
Hi,

I know the LCD output interface (PRGB) is 60 fps on dvevm.
Please, does anybody know how to change this setting? In fact I hope that a 
reduction from 60 to 50 fps
would help in eliminating the problem of displaying a PAL-captured video (25 
fps) by duplicating the WAITFORVSYNC ioctl call.

Thanks a lot,

Gabriele

___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


dm644x - I experiment a significative delay during boot from flash

2008-12-23 Thread Gabriele Filosofi
During the boot process with Flash resident kernel and filesytem I experiment a 
significative delay
among the following log lines

" bootserver=192.168.0.243, rootserver=192.168.0.243, rootpath="

and

"VFS: Mounted root (jffs2 filesystem)."

The same doesn't occur using NFS.

Any suggestions?

Happy Xmas
Gabriele

___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


dvtb - difference in video playback speed for different frame resolution

2008-12-23 Thread Gabriele Filosofi
I've found a significative difference in video playback speed for different 
frame resolution.
Using the DVTB tool, the mpeg4 decode process gives a log line per frame of the 
form

[DVTB-LOG]: dvevmStVidPlay.c: Frame#, 500, Decoded Frame Size(bytes), 14958, 
DecTime(us), 7093

The DecTime values for a vga frame is almost twice the value for a qvga frame.
This is quite reasonable because a larger frame takes a longer time to be 
decoded.
But why does the playback time scale with the decode time?
Please, note that the same issue doesn't occur with a g711 speech file.

Any suggestions?

Happy Xmas
Gabriele

___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


OSD and VENC programming to display davincieffect_pal

2008-12-09 Thread Gabriele Filosofi
Hi,

I can decode the demo video sample "davincieffect_pal.mpeg4" using a DVTB 
script.
Now I need to display the decoded file on a LCD panel (RGB656 mode).
Does anybody know how the OSD and VENC modules should be programmed?
In particular I'm interested in the field settings for the following registers

OSD MODE
OSD VIDWINMD
VENC VMOD

Thanks,

Gabriele

___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


DVDSK - build failure

2008-12-04 Thread Gabriele Filosofi
Hi,

First, I have installed DVSDK 1.30 and this is the path list I've specified 
inside Rules.make

PLATFORM=dm6446
DVSDK_INSTALL_DIR=$(HOME)/dvsdk_1_30_00_40
CE_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/codec_engine_2_00_01
XDAIS_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/xdais_6_00_01
LINK_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/dsplink_140-05p1
CMEM_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/cmem_2_00_01
CODEC_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/dm6446_dvsdk_combos_1_34
XDC_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/xdc_3_00_02
FC_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/framework_components_2_00_01
BIOS_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/bios_5_31_08
LINUXKERNEL_INSTALL_DIR=$(HOME)/workdir/lsp/ti-davinci
MVTOOL_DIR=/opt/mv_pro_4.0.1/montavista/pro/devkit/arm/v5t_le
MVTOOL_PREFIX=$(MVTOOL_DIR)/bin/arm_v5t_le-
EXEC_DIR=$(HOME)/workdir/filesys

Building process has been done without problems

host $ make clean
host $ make
host $ make install

Then I have installed the Updated DM644x Codec Servers v1.35 - EVALUATION from 
site

https://www-a.ti.com/extranet/cm/product/dvevmsw/dspswext/general/dm_sw_eval_codecs.shtml/

and re-built it with

gmake -f Makefile.eval

Now I would like to replace DM644x Codec Servers v1.34 with the DM644x Codec 
Servers v1.35, so I change the relevant path in Rules.make as follows

CODEC_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/dm6446_dvsdk_combos_1_35

but the building process fails with a log like this

host $ make clean
host $ make

...
js: "/home/gabriele/dvsdk_1_30_00_40/xdc_3_00_02/packages/xdc/xdc.tci", line 
270: exception from uncaught JavaScript throw: Error: xdc.loadPackage: can't 
find package 'ti.sdo.codecs.h264dec.ce' along the path 
'/home/gabriele/dvsdk_1_30_00_40/dm6446_dvsdk_combos_1_35/packages;/home/gabriele/dvsdk_1_30_00_40/codec_engine_2_00_01/packages;/home/gabriele/dvsdk_1_30_00_40/dsplink_140-05p1/packages;/home/gabriele/dvsdk_1_30_00_40/xdais_6_00_01/packages;/home/gabriele/dvsdk_1_30_00_40/cmem_2_00_01/packages;/home/gabriele/dvsdk_1_30_00_40/framework_components_2_00_01/packages;/home/gabriele/dvsdk_1_30_00_40/xdc_3_00_02/packages;/home/gabriele/dvsdk_1_30_00_40/xdc_3_00_02/packages;/home/gabriele/dvsdk_1_30_00_40/demos/dm6446/encodedecode/encodedecode_config/./..;';
 try redefining the package path (XDCPATH).
"/home/gabriele/dvsdk_1_30_00_40/xdc_3_00_02/packages/xdc/xdc.tci", line 450
"/home/gabriele/dvsdk_1_30_00_40/xdc_3_00_02/packages/xdc/cfg/Main.xs", 
line 1326

"/home/gabriele/dvsdk_1_30_00_40/demos/dm6446/encodedecode/encodedecode.cfg", 
line 20
"/home/gabriele/dvsdk_1_30_00_40/xdc_3_00_02/include/utils.tci", line 588
"/home/gabriele/dvsdk_1_30_00_40/xdc_3_00_02/include/utils.tci", line 506
"./package/cfg/encodedecode_x470MV.cfg", line 384
"./package/cfg/encodedecode_x470MV.cfg", line 341
"/home/gabriele/dvsdk_1_30_00_40/xdc_3_00_02/packages/xdc/cfg/Main.xs", 
line 182
"/home/gabriele/dvsdk_1_30_00_40/xdc_3_00_02/packages/xdc/cfg/Main.xs", 
line 151
"/home/gabriele/dvsdk_1_30_00_40/xdc_3_00_02/packages/xdc/xs.js", line 144
gmake: *** [package/cfg/encodedecode_x470MV.c] Error 1
make[2]: *** [encodedecode_config] Error 2
make[1]: *** [encodedecode] Error 2
make: *** [demos/dm6446] Error 2

Can anyone help me?

Thanks a lot,

Gabriele


___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


R: dm6446 Codec Servers v1.35 - DSP memory map specification for the ARM app: WHERE IS IT?

2008-12-03 Thread Gabriele Filosofi
The file is

/dm6446_dvsdk_combos_1_35/packages-evaluation/ti/sdo/app/decode/package/cfg/decode-sample_x470MV.c

Gabriele

Da: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Per conto di Gabriele Filosofi
Inviato: mercoledì 3 dicembre 2008 13.10
A: davinci-linux-open-source@linux.davincidsp.com
Oggetto: dm6446 Codec Servers v1.35 - DSP memory map specification for the ARM 
app: WHERE IS IT?

Hi All

I have installed the Updated DM644x Codec Servers v1.35 - EVALUATION from site

https://www-a.ti.com/extranet/cm/product/dvevmsw/dspswext/general/dm_sw_eval_codecs.shtml/

Re-build of the entire package was done successfully with

gmake -f Makefile.eval

Now I need to change the memory map, but I don't find the DSP memory map 
specification inside

/dm6446_dvsdk_combos_1_35/packages-evaluation/ti/sdo/app/decode/app.cfg

as expected.

Please, does any body knows where is it?

Regards

Gabriele


___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


dm6446 Codec Servers v1.35 - DSP memory map specification for the ARM app: WHERE IS IT?

2008-12-03 Thread Gabriele Filosofi
Hi All

I have installed the Updated DM644x Codec Servers v1.35 - EVALUATION from site

https://www-a.ti.com/extranet/cm/product/dvevmsw/dspswext/general/dm_sw_eval_codecs.shtml/

Re-build of the entire package was done successfully with

gmake -f Makefile.eval

Now I need to change the memory map, but I don't find the DSP memory map 
specification inside

/dm6446_dvsdk_combos_1_35/packages-evaluation/ti/sdo/app/decode/app.cfg

as expected.

Please, does any body knows where is it?

Regards

Gabriele


___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


dvsdk - How to rebuild dsp server combos

2008-12-01 Thread Gabriele Filosofi
Hi All,

I've installed DVSDK 1.30.
The install directory contains the following files/folders:

ls /home/user/dvsdk_1_30_00_40

bin
bios_5_31_08
bios_install_log.txt
biosutils_1_00_02
cg6x_6_0_15
cmem_2_00_01
codec_engine_2_00_01
demos
dm355_1_30_release_notes.html
dm355_codecs_1_12_000
dm6446
dm6446_1_30_release_notes.html
dm6446_dvsdk_combos_1_34
docs
dsplink_140-05p1
dvtb_1_12_000
dvtb_1_23_000
examples
framework_components_2_00_01
kernel_binaries
license-eval.rtf
license-eval.txt
Makefile
man
mapdmaq
patches
PSP_01_20_00_014
quilt
readme.1st
Rules.make
uninstall
xdais_6_00_01
xdc_3_00_02

The encode/decode/encodedecode demos came with a 256MB sized memory map.
In order to shrink the map to 128MB I need to rebuild both arm and dsp 
applications.
As detailed in the install notes (paragraph 4.6) if I do

cd /home/user/dvsdk_1_30_00_40
Make clean
Make
Make install

I can find the building products under

/home/user/workdir/filesys/opt/dvsdk/dm644x/

The problem is that the dsp images have not been regenerated, instead they seem 
to be a simple copy of

dm6446_dvsdk_combos_1_34/packages/ti/sdo/servers/encode/encodeCombo.x64P
dm6446_dvsdk_combos_1_34/packages/ti/sdo/servers/decode/decodeCombo.x64P

I think this is not good because I need to change .tcf files and rebuild those 
images in order to relocate memory segments. Isn't it?
How can I rebuild dsp server combos?



Thanks and Regards,

Gabriele


___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


I: DVSDK - dsp_bios installation issue

2008-11-27 Thread Gabriele Filosofi
Hi,

The problem has been solved running the executable  in textual mode

./dsp_bios_setuplinux_5_31_08_15.bin -console

Regards,

Gabriele

Da: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Per conto di Gabriele Filosofi
Inviato: giovedì 27 novembre 2008 15.54
A: davinci-linux-open-source@linux.davincidsp.com
Oggetto: DVSDK - dsp_bios installation issue

Hi All,

The DVSDK 1.30 installation guide tells:

"Execute the DSP/BIOS installer. For example:
host $ ./bios_setuplinux_5_#_#_#.bin
When you are prompted, do not use the default installation location.
Instead, install the software in the directory created in Step 2. For
example, /home//dvsdk_#_#"

But installing dsp_bios_setuplinux_5_31_08_15.bin I don't get the installation 
wizard, just I see the following messages

  Initializing InstallShield Wizard
  Extracting Bundled JRE.
  Installing Bundled JRE.
  Verifying JVM.
  Extracting Installation Archive.

What I have to do?

Regards,

Gabriele



___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


DVSDK - dsp_bios installation issue

2008-11-27 Thread Gabriele Filosofi
Hi All,

The DVSDK 1.30 installation guide tells:

"Execute the DSP/BIOS installer. For example:
host $ ./bios_setuplinux_5_#_#_#.bin
When you are prompted, do not use the default installation location.
Instead, install the software in the directory created in Step 2. For
example, /home//dvsdk_#_#"

But installing dsp_bios_setuplinux_5_31_08_15.bin I don't get the installation 
wizard, just I see the following messages

  Initializing InstallShield Wizard
  Extracting Bundled JRE.
  Installing Bundled JRE.
  Verifying JVM.
  Extracting Installation Archive.

What I have to do?

Regards,

Gabriele



___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


TI vpfe-capture patch - git_fbdev_lpbk test program fails

2008-11-21 Thread Gabriele Filosofi
Murali,

I have enabled other debug messages to go deeper inside the vpfe-capture patch 
test (see below).
As you can see the TVP5146 decoder is able to detect both video formats 
correctly and without errors (ntsc and pal). This makes me more confident the 
device is working good. 
Neverthless, the test program abort still remains ("input.name = Hª @" is 
printed indefinitely), and I think that a careful reading of the test source 
file will tell us why enum_input() is not called.

Best regards

Gabriele


USING PAL SOURCE:

./git_fbdev_lpbk 
main : Enter
initializing cvpfe_open
apture device
vpfe-capture vpfe-capture: vpfe_open
vpfe_initialize_channel
vpfe_set_hw_if_type
vpfe_update_pix_table_info
ioctl_init
i2c-adapter i2c-1: Starting default settings tvp514x..
i2c-adapter i2c-1: configuring embedded sync as per BT656 ..
ioctl_s_input
i2c-adapter i2c-1: Start of set input function
i2c-adapter i2c-1: End of set input function
ioctl_s_input returns 0
i2c-adapter i2c-1: Start of tvp514x_setstd..
ioctl_querystd
i2c-adapter i2c-1: Start of tvp514x standard detection.
ioctl_querystd: TVP5146_VIDEO_STD = 0x00
i2c-adapter i2c-1: End of detection...
i2c-adapter i2c-1: End of tvp514x set standard...
ioctl_querystd
i2c-adapter i2c-1: Start of tvp514x standard detection.
ioctl_querystd: TVP5146_VIDEO_STD = 0x00
i2c-adapter i2c-1: End of detection...
i2c-adapter i2c-1: ioctl_g_std
vpfe_get_std_info
ccdc_setstd
win.width = 720; win.height = 576; stdname = PAL
ch id = 0; fps = 25; frame_format = 0; hd_sd = 0
i2c-adapter i2c-1: ioctl_cap
vpfe_config_format
vpfe_update_pix_table_info
vpfe-capture vpfe-capture: 
vpfe_open returns 0
vpfe_querycap
vpfe-capture vpfe-capture: VIDIOC_QUERYCAP
vpfe_querycap returns 0
Default crop capbility bounds - 0 0 720 576 ; default - 0 0 720 576 
setting data format
input.name = [EMAIL PROTECTED]
input.name = [EMAIL PROTECTED]
...
???


USING NTSC SOURCE:

./git_fbdev_lpbk 
main : Enter
initializing cvpfe_open
apture device
vpfe-capture vpfe-capture: vpfe_open
vpfe_initialize_channel
vpfe_set_hw_if_type
vpfe_update_pix_table_info
ioctl_init
i2c-adapter i2c-1: Starting default settings tvp514x..
i2c-adapter i2c-1: configuring embedded sync as per BT656 ..
ioctl_s_input
i2c-adapter i2c-1: Start of set input function
i2c-adapter i2c-1: End of set input function
ioctl_s_input returns 0
i2c-adapter i2c-1: Start of tvp514x_setstd..
ioctl_querystd
i2c-adapter i2c-1: Start of tvp514x standard detection.
ioctl_querystd: TVP5146_VIDEO_STD = 0x00
i2c-adapter i2c-1: End of detection...
i2c-adapter i2c-1: End of tvp514x set standard...
ioctl_querystd
i2c-adapter i2c-1: Start of tvp514x standard detection.
ioctl_querystd: TVP5146_VIDEO_STD = 0x00
i2c-adapter i2c-1: End of detection...
i2c-adapter i2c-1: ioctl_g_std
vpfe_get_std_info
ccdc_setstd
win.width = 720; win.height = 480; stdname = NTSC
ch id = 0; fps = 30; frame_format = 0; hd_sd = 0
i2c-adapter i2c-1: ioctl_cap
vpfe_config_format
vpfe_update_pix_table_info
vpfe-capture vpfe-capture: 
vpfe_open returns 0
vpfe_querycap
vpfe-capture vpfe-capture: VIDIOC_QUERYCAP
vpfe_querycap returns 0
Default crop capbility bounds - 0 0 720 480 ; default - 0 0 720 480 
setting data format
input.name = [EMAIL PROTECTED]
input.name = [EMAIL PROTECTED]
...
???


-Messaggio originale-
Da: Gabriele Filosofi 
Inviato: venerdì 21 novembre 2008 9.16
A: 'Karicheri, Muralidharan'
Oggetto: R: TI vpfe-capture patch - git_fbdev_lpbk

Murali,

putting printks in modules

drivers/media/video/davinci/vpfe_capture.c

and

drivers/media/video/davinci/tvp514x.c

it seems the application  

1) executes vpfe_open() returning without errors
2) executes vpfe_querycap() returning without errors
3) doesn't execute vpfe_enum_input()

I cannot investigate why enum_input() of the decoder was not called. How can I 
do it?
The logs "Default crop capbility bounds - 0 0 720 480 ; default - 0 0 720 480", 
"input.name = Hª @", etc. 
they are generated by the test program. I think I need the source code of your 
test application. Please, can you send it to me?

Gabriele

-Messaggio originale-
Da: Karicheri, Muralidharan [mailto:[EMAIL PROTECTED] 
Inviato: giovedì 20 novembre 2008 15.46
A: Gabriele Filosofi
Oggetto: RE: TI vpfe-capture patch - git_fbdev_lpbk

Gabriele,

Following are the differences of your patch from the one sent to this mailing 
list.

1) common tvp5146 module across OMAP and DaVinci processors. TI is trying to 
get this common module to be submitted to v4l2 mailing list. Once this is done, 
the DaVinci drivers will be submitted. The TVP module used in this patch was 
developed for OMAP platforms, but adopted to work with DaVinci platforms as 
well. I have tested it using the application that I had sent to you.

2) The platform specific part from the tvp module is moved to board setup file 
so that it can be used across multiple platforms.

You might want to use this latest patch and try if you see anything diffe

How to enable debugging messages?

2008-11-21 Thread Gabriele Filosofi
Hi All,

In order to debug a driver module (built in), I would like to display debugging 
messages. These messages are of the form

dev_dbg(dev, "message", args)

How can I enable it?

Gabriele



___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


R: DM6446: audio slowness on 2.6.27

2008-11-13 Thread Gabriele Filosofi
Dear Sudhakar (and Kevin)

I'm sorry, I have forgotten to apply a patch of mine to file

sound/oss/davinci-audio-aic33.c

I developed this patch because on our custom board the MCLK clock frequency is 
always
256*Fs, where Fs denotes the audio sampling frequency, and Fs can be 32000, 
44100 or 48000.
The patch is

Index: linux-davinci-2.6.25/sound/oss/davinci-audio-aic33.c
===
--- linux-davinci-2.6.25.orig/sound/oss/davinci-audio-aic33.c
+++ linux-davinci-2.6.25/sound/oss/davinci-audio-aic33.c
@@ -16,6 +16,7 @@
  * History:
  *  ---
  *  2005-10-18 Rishi Bhattacharya - Support for AIC33 codec and Davinci DM644x 
Processor
+ *  2008-09-08 Gabriele Filosofi - Support for IPvPhone Digital Module (ADFL 
Consulting s.r.l.)
  */

 #include 
@@ -635,8 +636,17 @@ int davinci_set_samplerate(long sample_r

/* If PLL is to be used for generation of Fsref
   Generate the Fsref using the PLL */
-#if(MCLK==33)
-
+#ifdef CONFIG_MACH_DAVINCI_IPVP
+/*
+ * For this board we know MCLK = 256*Fsref,
+ * so the register programming is Fsres independent
+ */
+/*Enable the PLL | Q-value | P-value */
+audio_aic33_write(3, PLL_ENABLE | 0x10 | 0x02);
+audio_aic33_write(4, (16 << 2)); /* J-value */
+audio_aic33_write(5, 0x00); /* D-value 8-MSB's */
+audio_aic33_write(6, 0x00); /* D-value 6-LSB's */
+#elif(MCLK==33)
if ((reg_info[count].Fsref == 96000) | (reg_info[count].Fsref == 
48000)) {
/* For MCLK = 33.8688 MHz and to get Fsref = 48kHz
   Fsref = (MCLK * k * R)/(2048 * p);

Now I've re-applied the patch and the playback works good.

I apologize for the inconvenience my help request may have caused.



Gabriele


Da: Rajashekhara, Sudhakar [mailto:[EMAIL PROTECTED]
Inviato: giovedì 13 novembre 2008 13.51
A: Gabriele Filosofi; davinci-linux-open-source@linux.davincidsp.com
Oggetto: RE: DM6446: audio slowness on 2.6.27

Gabriele,

Even Kevin had reported the same issue, but we could not reproduce this on our 
setup. Can you please send us your kernel Image (uImage) so that we can test it 
again on our EVM?

Regards, Sudhakar

From: [EMAIL PROTECTED] [EMAIL PROTECTED] On Behalf Of Gabriele Filosofi [EMAIL 
PROTECTED]
Sent: Thursday, November 13, 2008 1:16 PM
To: davinci-linux-open-source@linux.davincidsp.com
Subject: I: DM6446: audio slowness on 2.6.27
Hi all,

I've ported our dm644x-based system from git kernel v2.6.25-davinci1 to 
v2.6.27-davinci1, and I've noticed the audio playback slowed down, as 
previously reported from you. This can be easily verified with

cp file.wav /dev/dsp

Is there anybody out there who faced this issue and/or can give an explanation?

Thanks a lot in advance.

Regards,

Gabriele
_____
Da: Gabriele Filosofi
Inviato: mercoledì 12 novembre 2008 9.20
A: '[EMAIL PROTECTED]'
Cc: 'davinci-linux-open-source@linux.davincidsp.com'
Oggetto: DM6446: audio slowness on 2.6.27


Hi Kevin,

I've ported our dm644x-based system from git kernel v2.6.25-davinci1 to 
v2.6.27-davinci1, and I've noticed the audio playback slowed down, as 
previously reported from you. This can be easily verified with

cp file.wav /dev/dsp

Did you find something that could be the cause this strange behavior?

Gabriele



___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


I: DM6446: audio slowness on 2.6.27

2008-11-12 Thread Gabriele Filosofi
Hi all,

I've ported our dm644x-based system from git kernel v2.6.25-davinci1 to 
v2.6.27-davinci1, and I've noticed the audio playback slowed down, as 
previously reported from you. This can be easily verified with

cp file.wav /dev/dsp

Is there anybody out there who faced this issue and/or can give an explanation?

Thanks a lot in advance.

Regards,

Gabriele
_
Da: Gabriele Filosofi
Inviato: mercoledì 12 novembre 2008 9.20
A: '[EMAIL PROTECTED]'
Cc: 'davinci-linux-open-source@linux.davincidsp.com'
Oggetto: DM6446: audio slowness on 2.6.27


Hi Kevin,

I've ported our dm644x-based system from git kernel v2.6.25-davinci1 to 
v2.6.27-davinci1, and I've noticed the audio playback slowed down, as 
previously reported from you. This can be easily verified with

cp file.wav /dev/dsp

Did you find something that could be the cause this strange behavior?

Gabriele



___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


DM6446: audio slowness on 2.6.27

2008-11-12 Thread Gabriele Filosofi
Hi Kevin,

I've ported our dm644x-based system from git kernel v2.6.25-davinci1 to 
v2.6.27-davinci1, and I've noticed the audio playback slowed down, as 
previously reported from you. This can be easily verified with

cp file.wav /dev/dsp

Did you find something that could be the cause this strange behavior?

Gabriele



___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


R: quilt: Is there a simple way to split a patch into two smaller patches?

2008-11-10 Thread Gabriele Filosofi
It works very good.
tanks a lot, Phil

Gabriele

Da: Phil Quiney [mailto:[EMAIL PROTECTED]
Inviato: lunedì 10 novembre 2008 10.43
A: Gabriele Filosofi; davinci-linux-open-source@linux.davincidsp.com
Oggetto: RE: quilt: Is there a simple way to split a patch into two smaller 
patches?



Hi Gabriele

You need to do something like

1/ 'quilt pop' to remove the changes
2/ save the patch file somewhere (located under ./patches/... by default)
3/ edit the saved patch file to split it as you want
4/ 'quilt delete' the big patch
5/ then you should be able to 'quilt import' your split patch files and end up 
with a 'series'. I think you need to 'quilt push' after each import (I am 
looking at the 'man' page rather than actually trying it).

Regards

Phil Q

-Original Message-
From: [EMAIL PROTECTED] on behalf of Gabriele Filosofi
Sent: Mon 11/10/2008 3:17 AM
To: davinci-linux-open-source@linux.davincidsp.com
Subject: quilt: Is there a simple way to split a patch into two smaller patches?

Hi All,

using quilt I've created a big patch with too many files.
Is there a simple way to split this patch into two smaller patches?

Thanks

Gabriele



___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


quilt: Is there a simple way to split a patch into two smaller patches?

2008-11-10 Thread Gabriele Filosofi
Hi All,

using quilt I've created a big patch with too many files.
Is there a simple way to split this patch into two smaller patches?

Thanks

Gabriele



___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


How to display a string using fbdev?

2008-11-05 Thread Gabriele Filosofi
Hi,

does someone know ho to display a string on lcd using /dev/fb/0 ?

Regards,

Gabriele



___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


VIDEO_DAVINCI

2008-10-30 Thread Gabriele Filosofi
Hi All,

If I select the following kernel options:

VIDEO_CAPTURE_DRIVERS=y
VIDEO_V4L2=y
VIDEO_DEV=y
VIDEO_TVP5146=y

kernel compiles cleanly against git 2.6.25.
Then I add

VIDEO_DAVINCI=y

Building on git generates these warnings/errors:

$ make ARCH=arm CROSS_COMPILE=arm_v5t_le- uImage
  CHK include/linux/version.h
make[1]: `include/asm-arm/mach-types.h' is up to date.
  CHK include/linux/utsrelease.h
  CALLscripts/checksyscalls.sh
  CHK include/linux/compile.h
  CC  drivers/media/video/davinci_vpfe.o
drivers/media/video/davinci_vpfe.c:976: error: unknown field `hardware' 
specified in initializer
drivers/media/video/davinci_vpfe.c: In function `vpfe_init':
drivers/media/video/davinci_vpfe.c:1113: error: `SA_INTERRUPT' undeclared 
(first use in this function)
drivers/media/video/davinci_vpfe.c:1113: error: (Each undeclared identifier is 
reported only once
drivers/media/video/davinci_vpfe.c:1113: error: for each function it appears 
in.)
drivers/media/video/davinci_vpfe.c: In function `vpfe_doioctl':
drivers/media/video/davinci_vpfe.c:344: warning: ignoring return value of 
`down_interruptible', declared with attribute warn_unused_result
drivers/media/video/davinci_vpfe.c:367: warning: ignoring return value of 
`down_interruptible', declared with attribute warn_unused_result
drivers/media/video/davinci_vpfe.c:446: warning: ignoring return value of 
`down_interruptible', declared with attribute warn_unused_result
drivers/media/video/davinci_vpfe.c:597: warning: ignoring return value of 
`down_interruptible', declared with attribute warn_unused_result
drivers/media/video/davinci_vpfe.c:615: warning: ignoring return value of 
`down_interruptible', declared with attribute warn_unused_result
drivers/media/video/davinci_vpfe.c:629: warning: ignoring return value of 
`down_interruptible', declared with attribute warn_unused_result
drivers/media/video/davinci_vpfe.c:634: warning: ignoring return value of 
`down_interruptible', declared with attribute warn_unused_result
drivers/media/video/davinci_vpfe.c:639: warning: ignoring return value of 
`down_interruptible', declared with attribute warn_unused_result
drivers/media/video/davinci_vpfe.c:671: warning: ignoring return value of 
`down_interruptible', declared with attribute warn_unused_result
drivers/media/video/davinci_vpfe.c:683: warning: ignoring return value of 
`down_interruptible', declared with attribute warn_unused_result
drivers/media/video/davinci_vpfe.c:706: warning: ignoring return value of 
`down_interruptible', declared with attribute warn_unused_result
drivers/media/video/davinci_vpfe.c:746: warning: ignoring return value of 
`down_interruptible', declared with attribute warn_unused_result
drivers/media/video/davinci_vpfe.c:791: warning: ignoring return value of 
`down_interruptible', declared with attribute warn_unused_result
drivers/media/video/davinci_vpfe.c:807: warning: ignoring return value of 
`down_interruptible', declared with attribute warn_unused_result
drivers/media/video/davinci_vpfe.c:838: warning: ignoring return value of 
`down_interruptible', declared with attribute warn_unused_result
drivers/media/video/davinci_vpfe.c: In function `vpfe_release':
drivers/media/video/davinci_vpfe.c:948: warning: ignoring return value of 
`down_interruptible', declared with attribute warn_unused_result
drivers/media/video/davinci_vpfe.c: In function `vpfe_init':
drivers/media/video/davinci_vpfe.c:1113: warning: ignoring return value of 
`request_irq', declared with attribute warn_unused_result
make[3]: *** [drivers/media/video/davinci_vpfe.o] Error 1
make[2]: *** [drivers/media/video] Error 2
make[1]: *** [drivers/media] Error 2

Must I upgrade or is there a solution ?

Thanks

Gabriele



___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


R: Custom DM355 PCB

2008-10-30 Thread Gabriele Filosofi
The DM6446 DDR2 controller has:

162 MHz max speed
max 2 transfer per clock cycle
4 bytes per transfer

so the max (teorical) bandwidth is

162 x 2 x 4 = 1296 Mbytes/sec

All that is true in the ideal world!
Real estimates from TI tell 1240 MBytes/sec, so there is a scaling factor 0.957.

The DM355 DDR2 controller has

 270 MHz max speed
max 2 transfer per clock cycle
2 bytes per transfer

resulting in a max (teorical) bandwidth of

270 x 2 x 2 = 1080 Mbytes/sec

Now, If we assume a similar scaling factor we obtain 1034 Mbytes/sec

As regards the problem of simultaneous playing and recording of media files one 
should take into account also the SD interface (hardware transfer bandwidth), 
media format (mainly time resolution and space resolution) and the additive 
load represented by concurrent tasks.

Gabriele

Da: Panchy Rivas [mailto:[EMAIL PROTECTED]
Inviato: giovedì 30 ottobre 2008 15.15
A: Gabriele Filosofi
Oggetto: RE: Custom DM355 PCB

Thanks for the help Gabriele.  So that is a major difference between the DM355 
and the DM6446.  Do you know what the bandwidth is on the DM355 and DM 46446.  
Will the DM355 have enough bandwidth to record to SD card and play a different 
file at the same time.

Thanks
Panchy Rivas

From: Gabriele Filosofi [mailto:[EMAIL PROTECTED]
Sent: Thursday, October 30, 2008 10:04 AM
To: Panchy Rivas
Subject: R: Custom DM355 PCB

Gabriele

Da: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Per conto di Panchy Rivas
Inviato: giovedì 30 ottobre 2008 14.51
A: davinci-linux-open-source@linux.davincidsp.com
Oggetto: Custom DM355 PCB

I plan on making a custom DM355 board and have a few questions.

1)  When we first populate the PCB how do we get Uboot, kernel, software on 
it?

2)  What exactly does the GEL file do (do we need it) and do you need CCS 
to load it?

3)  Side question - is the DDR2 memory on the DM6446 faster because of 
32bit width compared to DM355?

Both transfer rate and bus width affect the transfer bandwidth:
Total bandwidth = transfer rate x bus width.
Doubling bus width doesn't affect the transfer rate, but it doubles the 
transfer bandwidth.


4)  I heard there was a drop-in gerber file for the DDR2 memory PCB layout? 
I already read the DDR2 layout docs but wanted the actual layout.

Thanks
Panchy Rivas

___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


DVSDK over GIT kernel - How to proceed?

2008-10-28 Thread Gabriele Filosofi
Hi,

Up to now I've successfully tested the hardware of my custom board (dm644x, 
cam, tft, etc.).
Now I would like to move toward the application. The first step it should be to 
get the TI dvdsk encode-decode demos running on the target. However AFAIK no TI 
support exists for GIT kernel 2.6.25, that is the kernel I adopted from the 
very beginning. The main problem it seems to be the video capture and video 
display components (up to now I can just display rgb still pictures using the 
fbdev driver and a raw register initialization of the vpbe).
I think the missing files are, among the others,

 ccdc_davinci.c
 davinci_vpfe.c
 davinci_display.c
 vpbe_encoder.c
 davinci_enc_mngr.c

Can anyone illustrate me the aim of those files and the most convenient way to 
proceed?
Should I make some effort to adapt to kerrnel 2.6.25 some of the original MV 
patches? Or should I write all from scratch? Or should I wait for TI news about 
some form of support? Or what else?

Thanks for your help and have a good day

Gabriele

___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


R: dm644x - fbdev in kernel 2.6.25-davinci1

2008-10-23 Thread Gabriele Filosofi
Dear Phil,

First of all, the reason I did get nothing with was that the colorbar masked 
the image below.
After having disabled the colorbar the linux pinguin appeared on the top-left 
corner of the blue screen.
Then, I sent again the command

/# cp image /dev/fb/0

and something very confusing was displayed, like an incomplete version of the 
true image, compressed in the upper half of the panel.
Then, following your suggestion I get

/# fbset -fb /dev/fb/0

mode "720x480-29"
# D: 5.556 MHz, H: 7.234 kHz, V: 29.406 Hz
geometry 720 480 720 960 16
timings 18 40 4 8 2 4 2
laced true
rgba 5/11,6/5,5/0,0/0
endmode

Instead, what I really need is something like this

D: 6.75 MHz
H: 16.544 kHz
V: 63.145 Hz
geometry: 320 240
bits per pixel: 16
progressive
rgb656

So, I tryed to configure the video format in this way:

/# fbset -fb /dev/fb/0 -xres 320 -vxres 320
/# fbset -fb /dev/fb/0 -yres 240 -vyres 240
/# fbset -fb /dev/fb/0 -depth 16
/# fbset -fb /dev/fb/0 -pixclock 148148
/# fbset -fb /dev/fb/0 -left 68
/# fbset -fb /dev/fb/0 -right 20
/# fbset -fb /dev/fb/0 -upper 18
/# fbset -fb /dev/fb/0 -lower 4
/# fbset -fb /dev/fb/0 -hslen 0
/# fbset -fb /dev/fb/0 -vslen 0
/# fbset -fb /dev/fb/0 -laced false

And write out the image

/# cp image /dev/fb/0

After that I get info again:

/# fbset -fb /dev/fb/0 -i

mode "320x240-63"
# D: 6.750 MHz, H: 16.544 kHz, V: 63.146 Hz
geometry 320 240 320 240 16
timings 148148 68 20 18 4 0 0
nonstd 1
rgba 5/11,6/5,5/0,0/0
endmode

Frame buffer device information:
Name: dm_osd0_fb
Address : 0x8760
Size: 1658880
Type: PACKED PIXELS
Visual  : TRUECOLOR
XPanStep: 0
YPanStep: 1
YWrapStep   : 0
LineLength  : 640
MMIO Address: 0xfec72600
MMIO Size   : 384
Accelerator : No

Now the image is more readable, but still compressed in the top half of the 
screen, and with innatural colours (yellow instead of blue)

Any idea?

Regards

Gabriele


Da: Phil Quiney [mailto:[EMAIL PROTECTED]
Inviato: giovedì 23 ottobre 2008 14.00
A: Gabriele Filosofi; davinci-linux-open-source@linux.davincidsp.com
Oggetto: RE: dm644x - fbdev in kernel 2.6.25-davinci1

Hi Gabriele,

Can you check with 'fbset' what size the frame buffer is set to..

Something like 'fbset -fb /dev/fb/0'

If it is not 320x480 then you may find it will work if you use fbset to set the 
x & y resolution to match your LCD - I can't remember what the parameters are, 
possibly -xres/-yres (and also there is a -vxres/-vyres for a virtual size). I 
would set both xres and vxres to 320 and yres and vyres to 240 to start with.

You should be able to cat any old file to /dev/fb/0 and something appear on the 
display, /bin/busybox is what I use - it is quite colourful ;-)

Regards

Phil Q


Phil Quiney, Principal Software Engineer
Trinity Convergence
Cambridge Business Park
Cowley Road
Cambridge CB4 0WZ, UK
T: +44(0)1223-435536
F: +44(0)1223-435560
www.trinityconvergence.com<http://www.trinityconvergence.com/>



From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Gabriele Filosofi
Sent: 23 October 2008 11:02
To: davinci-linux-open-source@linux.davincidsp.com
Subject: dm644x - fbdev in kernel 2.6.25-davinci1
Hi,

By modifying some VPBE registers I was able to display the colorbar on my QVGA 
LCD, so the hardware setup is ok.

Now I have an RGB656 image that is 320x240. What would be the best way to get 
it statically onto the screen?

By copying (cp image /dev/fb/0) or cutting (cat image > /dev/fb/0) I get 
nothing coming out of the display.
Is it not the fb stuff ready to be used in git kernel 2.6.25-davinci1? Is there 
anything I need to do?

Should I write a program that opens up the OSD0 and then set the OSD dimensions 
to 320x240 and then write the image file directly to /dev/fb/0?

kindly help me to come out from this problem.

Thanks and regards,

Gabriele


___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


dm644x - fbdev in kernel 2.6.25-davinci1

2008-10-23 Thread Gabriele Filosofi
Hi,

By modifying some VPBE registers I was able to display the colorbar on my QVGA 
LCD, so the hardware setup is ok.

Now I have an RGB656 image that is 320x240. What would be the best way to get 
it statically onto the screen?

By copying (cp image /dev/fb/0) or cutting (cat image > /dev/fb/0) I get 
nothing coming out of the display.
Is it not the fb stuff ready to be used in git kernel 2.6.25-davinci1? Is there 
anything I need to do?

Should I write a program that opens up the OSD0 and then set the OSD dimensions 
to 320x240 and then write the image file directly to /dev/fb/0?

kindly help me to come out from this problem.

Thanks and regards,

Gabriele


___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


DM6441: VCLK pin is quite silent

2008-10-16 Thread Gabriele Filosofi
Hi,

I'm focusing on the LCD interface on my dm6441-based custom board. Kernel 
version is GIT 2.6.25.
Reading out the following registers it seems that pin VCLK should output a 
square wave.
However pin VCLK is fixed at high level!

PINMUX0 = 0x8040001f//Pin multiplexing control 0
PINMUX1 = 0x00050493//Pin multiplexing control 1
VPSS_CLKCTL = 0x0018//VPSS clock control
LCD_VMOD = 0x1003   //Video Mode Register
LCD_VIDCTL = 0x1101 //Video Interface I/O Control Register
LCD_DCLKCTL = 0x//DCLK Control Register
VPBE_PCR = 0x   //Peripheral Control Register

I'm not sure about the exact cause: are there other registers to be checked 
out? Is there a hardware problem? am I doing something wrong?

Thanks a lot

Gabriele

___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


R: How to prevent other interrupts to occour during interrupt handling

2008-10-15 Thread Gabriele Filosofi
I mean interrupts managed by the same irq_handler()

Gabriele

Da: Jadav, Brijesh R [mailto:[EMAIL PROTECTED]
Inviato: mercoledì 15 ottobre 2008 16.05
A: Gabriele Filosofi; davinci-linux-open-source@linux.davincidsp.com
Oggetto: RE: How to prevent other interrupts to occour during interrupt handling

Hi,

I think you can use enable_irq/disable_irq to enable/disable a particular 
interrupt or local_irq_save and local_irq_restore to prevent all interrupt to 
occur. Can you tell me what you mean by other interrupts of the same type?

Thanks,
Brijesh Jadav

From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Gabriele Filosofi
Sent: Wednesday, October 15, 2008 6:30 PM
To: davinci-linux-open-source@linux.davincidsp.com
Subject: How to prevent other interrupts to occour during interrupt handling

Hi,

after having enabled an interrupt source with

request_irq(gpio_to_irq(37), &irq_handler, IRQF_TRIGGER_FALLING, "myirq", NULL);

how to prevent other interrupts (of the same type) to occour during 
irq_handler() processing?
I would like to disable the interrupt only for the irq_handler() execution time.

Thanks and regards
(sorry for this questioni if too simple!)

Gabriele


___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


How to prevent other interrupts to occour during interrupt handling

2008-10-15 Thread Gabriele Filosofi
Hi,

after having enabled an interrupt source with

request_irq(gpio_to_irq(37), &irq_handler, IRQF_TRIGGER_FALLING, "myirq", NULL);

how to prevent other interrupts (of the same type) to occour during 
irq_handler() processing?
I would like to disable the interrupt only for the irq_handler() execution time.

Thanks and regards
(sorry for this questioni if too simple!)

Gabriele


___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


I: DM644x - Fatal exception in interrupt for I2C access

2008-10-09 Thread Gabriele Filosofi
Hi,
I've solved with:

#include

static void sc_wq_handler(struct work_struct *work)
{
   u8 dummy;
   tda8023_readStatus(&dummy);  //this access clears the interrupt
}

DECLARE_WORK(sc_wq, sc_wq_handler);
static irqreturn_t sc_irq_handler(int irq, void *dev_id)
{
   schedule_work(&sc_wq);
   return IRQ_HANDLED;
}

Regards,
Gabriele

_
Da: Gabriele Filosofi
Inviato: giovedì 9 ottobre 2008 12.37
A: 'davinci-linux-open-source@linux.davincidsp.com'
Oggetto: DM644x - Fatal exception in interrupt for I2C access


Hi,

I've a device attached to I2C bus and to an IO line (GPIO37).
Please, look at the code

static int tda8023_rd(int addr, u8 *pval)
{
   davinci_i2c_read (1, (char *)pval, addr);
   return 0;
}

static int tda8023_readStatus(u8 *pval)
{
   tda8023_rd(I2C_ADDR, pval);
   ...
   return 0;
}

static int sc_irq_handler(int sound_curr_lch, void *ch_status)
{
   u8 dummy;
   tda8023_readStatus(&dummy);  //this access clears the interrupt
   return IRQ_HANDLED;
}

The IO port 37 was programmed as an interrupt source:

void davinci_init_sc(u8 mode)
{
   gpio_request(37, "my_gpio");
   gpio_direction_input(37);
   request_irq(gpio_to_irq(37), &sc_irq_handler, IRQF_TRIGGER_FALLING, 
"SC", NULL);
}

I've an interrupt exception when the interrupt occours:

BUG: scheduling while atomic: swapper/0/0x00010003
Unable to handle kernel NULL pointer dereference at virtual address 
pgd = c0004000
[] *pgd=
Internal error: Oops: 0 [#1] PREEMPT
Modules linked in:
CPU: 0Not tainted  (2.6.25-rc1-davinci1 #515)
PC is at 0x0
LR is at enqueue_task+0x1c/0x28
pc : [<>]lr : []psr: 4093
sp : c0309b30  ip : c0309b44  fp : c0309b40
r10:   r9 : 0003  r8 : c7449a00
r7 :   r6 : c030ae98  r5 : c03229b4  r4 : c030ae98
r3 : c0263f3c  r2 : 0001  r1 : c030ae98  r0 : c03229b4
Flags: nZcv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
Control: 0005317f  Table: 86e64000  DAC: 0017
Process swapper (pid: 0, stack limit = 0xc0308260)
Stack: (0xc0309b30 to 0xc030a000)
9b20: c03229b4 c0309b54 c0309b44 c00362e8
9b40: c003623c 0003 c0309b78 c0309b58 c0036d54 c00362d0 8093 c0309dc0
9b60: 0001 c7449a0c 0001 c0309b88 c0309b7c c00375b0 c0036d10 c0309bb4
9b80: c0309b8c c0037604 c00375ac c0308000 8013  0027 00010004
9ba0: c0308000  c0309bd0 c0309bb8 c0037794 c00375c4  c7449a00
9bc0: 0002 c0309be8 c0309bd4 c01a466c c0037750 c744a6c0  c0309c08
9be0: c0309bec c0064e0c c01a4458 c030fc00 c0308000 0027 c744a6c0 c0309c28
9c00: c0309c0c c0066894 c0064dd8 c030fc00 0027 c032b338 c0309f54 c0309c48
9c20: c0309c2c c0027044 c006676c  fec48000 c02c66c0 00010005 c0309d0c
9c40: c0309c4c c002763c c0027010 c030d8c8 0001 6013  0001
9c60: c0308000 c02c66c0 c03232a2 c0308000 0036  c0309d0c c030d8c8
9c80: c0309c94 c030d8c8 c003cdb8 6013  c77b47c0 6013 
9ca0:  c77dd054 f300a8c0 c0309cd4 c0309cbc c01db2b0 c024c964 c77a0b20
9cc0: c77b47c0  c0309cf4 c0309cd8 c0223edc c01db1c8 c77e1360 
9ce0: c77e15e8 c0309f54 c0308000 c030ae98 c0309d70 c03229b4 c0261688 c030affc
9d00: c0309d1c c0309d10 c003ce38 c003cacc c0309d40 c0309d30 c00367bc c003ce30
9d20: c02c66c0 c030b08c  00010003 c0308000 c0309d6c c0309d44 c0260cc8
9d40: c003679c 9980 c0308000 0064 c0309d70 c030e5c0 c030f378 0001
9d60: c0309da8 c0309d70 c0261688 c0260c60 c0327d88 c0327d88 9980 c004660c
9d80: c030ae98 c0327980 c0308000 c0309dcc c7449a0c 0064 c7449a08 c0309df8
9da0: c0309dac c02611ec c026160c  c030ae98 c003759c  
9dc0: 0001 c030ae98 c003759c c7449a0c c7449a0c c7449a00 0001 c0309e58
9de0:  0001 c7449a70 c0309e08 c0309dfc c026132c c02610ac c0309e34
9e00: c0309e0c c01a4318 c0261328 c0309e3c 0001 c7449a30 c0309e58 0001
9e20: 003a  c0309e54 c0309e38 c01a23a8 c01a415c ffed c0309ea7
9e40:  0065 c0309e74 c0309e58 c0034c10 c01a2330 00010022 0001
9e60: c0309ea7  c0309e84 c0309e78 c0033e74 c0034bcc c0309ea0 c0309e88
9e80: c0033eec c0033e68 c6a63220   c0309eb4 c0309ea4 c0034310
9ea0: c0033edc 02021e80 c0309ed4 c0309eb8 c0064e0c c0034304 c0308000 c0310990
9ec0: 0065 c6a63220 c0309ef4 c0309ed8 c0066470 c0064dd8 0006 0020
9ee0: 0066 c03109c8 c0309f30 c0309ef8 c00314d0 c00663e4  01d0
9f00: fec67038 c0310028 c0310028 003a c032b338  0001 c0308000
9f20: 80021e80 c0309f50 c0309f34 c0027044 c0031420  fec48000 c0023f1c
9f40: 0002 c0309fa8 c0309f54 c002763c c0027010  0005317f 0005217f
9f60: 6013 c0308000 c0028554 c0023f1c c030bcf0 80021eb4 41069265 80021e80
9f80: c0309fa8 60d3 c0309f9c c

DM644x - Fatal exception in interrupt for I2C access

2008-10-09 Thread Gabriele Filosofi
Hi,

I've a device attached to I2C bus and to an IO line (GPIO37).
Please, look at the code

static int tda8023_rd(int addr, u8 *pval)
{
   davinci_i2c_read (1, (char *)pval, addr);
   return 0;
}

static int tda8023_readStatus(u8 *pval)
{
   tda8023_rd(I2C_ADDR, pval);
   ...
   return 0;
}

static int sc_irq_handler(int sound_curr_lch, void *ch_status)
{
   u8 dummy;
   tda8023_readStatus(&dummy);  //this access clears the interrupt
   return IRQ_HANDLED;
}

The IO port 37 was programmed as an interrupt source:

void davinci_init_sc(u8 mode)
{
   gpio_request(37, "my_gpio");
   gpio_direction_input(37);
   request_irq(gpio_to_irq(37), &sc_irq_handler, IRQF_TRIGGER_FALLING, 
"SC", NULL);
}

I've an interrupt exception when the interrupt occours:

BUG: scheduling while atomic: swapper/0/0x00010003
Unable to handle kernel NULL pointer dereference at virtual address 
pgd = c0004000
[] *pgd=
Internal error: Oops: 0 [#1] PREEMPT
Modules linked in:
CPU: 0Not tainted  (2.6.25-rc1-davinci1 #515)
PC is at 0x0
LR is at enqueue_task+0x1c/0x28
pc : [<>]lr : []psr: 4093
sp : c0309b30  ip : c0309b44  fp : c0309b40
r10:   r9 : 0003  r8 : c7449a00
r7 :   r6 : c030ae98  r5 : c03229b4  r4 : c030ae98
r3 : c0263f3c  r2 : 0001  r1 : c030ae98  r0 : c03229b4
Flags: nZcv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
Control: 0005317f  Table: 86e64000  DAC: 0017
Process swapper (pid: 0, stack limit = 0xc0308260)
Stack: (0xc0309b30 to 0xc030a000)
9b20: c03229b4 c0309b54 c0309b44 c00362e8
9b40: c003623c 0003 c0309b78 c0309b58 c0036d54 c00362d0 8093 c0309dc0
9b60: 0001 c7449a0c 0001 c0309b88 c0309b7c c00375b0 c0036d10 c0309bb4
9b80: c0309b8c c0037604 c00375ac c0308000 8013  0027 00010004
9ba0: c0308000  c0309bd0 c0309bb8 c0037794 c00375c4  c7449a00
9bc0: 0002 c0309be8 c0309bd4 c01a466c c0037750 c744a6c0  c0309c08
9be0: c0309bec c0064e0c c01a4458 c030fc00 c0308000 0027 c744a6c0 c0309c28
9c00: c0309c0c c0066894 c0064dd8 c030fc00 0027 c032b338 c0309f54 c0309c48
9c20: c0309c2c c0027044 c006676c  fec48000 c02c66c0 00010005 c0309d0c
9c40: c0309c4c c002763c c0027010 c030d8c8 0001 6013  0001
9c60: c0308000 c02c66c0 c03232a2 c0308000 0036  c0309d0c c030d8c8
9c80: c0309c94 c030d8c8 c003cdb8 6013  c77b47c0 6013 
9ca0:  c77dd054 f300a8c0 c0309cd4 c0309cbc c01db2b0 c024c964 c77a0b20
9cc0: c77b47c0  c0309cf4 c0309cd8 c0223edc c01db1c8 c77e1360 
9ce0: c77e15e8 c0309f54 c0308000 c030ae98 c0309d70 c03229b4 c0261688 c030affc
9d00: c0309d1c c0309d10 c003ce38 c003cacc c0309d40 c0309d30 c00367bc c003ce30
9d20: c02c66c0 c030b08c  00010003 c0308000 c0309d6c c0309d44 c0260cc8
9d40: c003679c 9980 c0308000 0064 c0309d70 c030e5c0 c030f378 0001
9d60: c0309da8 c0309d70 c0261688 c0260c60 c0327d88 c0327d88 9980 c004660c
9d80: c030ae98 c0327980 c0308000 c0309dcc c7449a0c 0064 c7449a08 c0309df8
9da0: c0309dac c02611ec c026160c  c030ae98 c003759c  
9dc0: 0001 c030ae98 c003759c c7449a0c c7449a0c c7449a00 0001 c0309e58
9de0:  0001 c7449a70 c0309e08 c0309dfc c026132c c02610ac c0309e34
9e00: c0309e0c c01a4318 c0261328 c0309e3c 0001 c7449a30 c0309e58 0001
9e20: 003a  c0309e54 c0309e38 c01a23a8 c01a415c ffed c0309ea7
9e40:  0065 c0309e74 c0309e58 c0034c10 c01a2330 00010022 0001
9e60: c0309ea7  c0309e84 c0309e78 c0033e74 c0034bcc c0309ea0 c0309e88
9e80: c0033eec c0033e68 c6a63220   c0309eb4 c0309ea4 c0034310
9ea0: c0033edc 02021e80 c0309ed4 c0309eb8 c0064e0c c0034304 c0308000 c0310990
9ec0: 0065 c6a63220 c0309ef4 c0309ed8 c0066470 c0064dd8 0006 0020
9ee0: 0066 c03109c8 c0309f30 c0309ef8 c00314d0 c00663e4  01d0
9f00: fec67038 c0310028 c0310028 003a c032b338  0001 c0308000
9f20: 80021e80 c0309f50 c0309f34 c0027044 c0031420  fec48000 c0023f1c
9f40: 0002 c0309fa8 c0309f54 c002763c c0027010  0005317f 0005217f
9f60: 6013 c0308000 c0028554 c0023f1c c030bcf0 80021eb4 41069265 80021e80
9f80: c0309fa8 60d3 c0309f9c c0028598 c00285a4 6013  c0309fc0
9fa0: c0309fac c00285f4 c0028564 c0308000 c0320b88 c0309fd4 c0309fc4 c02601dc
9fc0: c00285bc c032a1d8 c0309ff4 c0309fd8 c0008944 c0260180 c00082d8 c0023f20
9fe0: 00053175 c032102c  c0309ff8 80008034 c00086b4  
Backtrace:
[] (enqueue_task+0x0/0x28) from [] (activate_task+0x28/0x34)
 r4:c03229b4
[] (activate_task+0x0/0x34) from [] 
(try_to_wake_up+0x54/0xac)
 r4:0003
[] (try_to_wake_up+0x0/0xac) from [] 
(default_wake_function+0x14/0x18)
 r7:0001 r6:c7449a0c r5:0001 r4:c0309dc0
[] (default_wake_function+0x0/0x18) from [] 
(__wake_up_common+0x50/0x84)
[] (__wake_up_commo

GPIO programming

2008-10-08 Thread Gabriele Filosofi
Hi,
has anyone used the GPIO programming routines from this guy?
Many thanks for any help,

Regards

Gabriele

Da: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Per conto di Gabriele Filosofi
Inviato: mercoledì 8 ottobre 2008 12.18
A: [EMAIL PROTECTED]
Cc: davinci-linux-open-source@linux.davincidsp.com
Oggetto: GPIO programming

Dear David,
I've git kernel (2.6.25-davinci1) along with your arch/arm/mach-davinci/gpio.c.
please, can you help me with some example code in your GPIO module usage?
I just want to configure GPIO7 and GPIO37 as an interrupt source to the ARM, 
active low.

Thanks a lot

Gabriele


___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


GPIO programming

2008-10-08 Thread Gabriele Filosofi
Dear David,
I've git kernel (2.6.25-davinci1) along with your arch/arm/mach-davinci/gpio.c.
please, can you help me with some example code in your GPIO module usage?
I just want to configure GPIO7 and GPIO37 as an interrupt source to the ARM, 
active low.

Thanks a lot

Gabriele


___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


I: Every printk is printed twice

2008-10-08 Thread Gabriele Filosofi
Sudhakar,
Disabling CONFIG_DEBUG_KERNEL solved the problem!
Thanks
Gabriele

Da: Gabriele Filosofi
Inviato: mercoledì 8 ottobre 2008 10.50
A: 'Rajashekhara, Sudhakar'
Cc: 'davinci-linux-open-source@linux.davincidsp.com'
Oggetto: R: Every printk is printed twice

Sudhakar,
I'v tried to disable CONFIG_PRINTK, but in this way I see no message at all.
Please, can you be more precise in what option shoud I look at?
Regards
Gabriele

Da: Rajashekhara, Sudhakar [mailto:[EMAIL PROTECTED]
Inviato: mercoledì 8 ottobre 2008 8.54
A: Gabriele Filosofi; davinci-linux-open-source@linux.davincidsp.com
Oggetto: RE: Every printk is printed twice

Gabriele,

By default the Kernel Debug option is enabled under Kernel hacking. If you 
disable this option from menuconfig, this issue should be resolved.

Regards, Sudhakar

From: [EMAIL PROTECTED] [EMAIL PROTECTED] On Behalf Of Gabriele Filosofi [EMAIL 
PROTECTED]
Sent: Wednesday, October 08, 2008 12:20 PM
To: davinci-linux-open-source@linux.davincidsp.com
Subject: Every printk is printed twice
Hi,

Since the time I adopted git kernel every printk is printed twice even though 
it's only being called once, both during boot and later. I don't know why (I'm 
new at programming with linux).
Any idea why this might be?

Thanks a lot in advance.

Regards,

Gabriele



___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


Every printk is printed twice

2008-10-07 Thread Gabriele Filosofi
Hi,

Since the time I adopted git kernel every printk is printed twice even though 
it's only being called once, both during boot and later. I don't know why (I'm 
new at programming with linux).
Any idea why this might be?

Thanks a lot in advance.

Regards,

Gabriele



___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


R: I: How to interface to OV7670

2008-10-03 Thread Gabriele Filosofi
Dear Stephen
Just 1 minute before reading your message I tryed increasing the pullup on SDA 
from 2.2k to 5.6K and the communication started working good!!!
Thank you .. Thank you .. Thank you
Gabriele ☺

Da: Stephen Berry [mailto:[EMAIL PROTECTED]
Inviato: venerdì 3 ottobre 2008 12.46
A: Gabriele Filosofi
Cc: davinci-linux-open-source@linux.davincidsp.com
Oggetto: Re: I: How to interface to OV7670

The pullup on SDA is probably too strong. A lot of the omnivision sensors don't 
like the traditional pullup values (4.7k) and require you to use something more 
like 10K.

The '' is where your slave should ACK the address sequence - and there 
really shouldn't be a conflict here, unless you have more than one sensor...

Steve

Gabriele Filosofi wrote:
Hi.

My CCDC camera chip OV7670 is connected onto the I2C bus by mean a voltage 
translator PCA9306, because DM644x has 1.8V level I/O, while OV7670 uses 2.8V.
Following Darius’s suggestions I’ve tryed to read OV7670’s internal registers 
using this function:

static u8 reg_read(struct i2c_client *client, const u8 reg)
{
u8 i2c_buf[2];
i2c_buf[0] = reg;
i2c_master_send(client, i2c_buf, 1);
i2c_master_recv(client, i2c_buf, 1);
return i2c_buf[0];
}

Using the following convention:

"___" for  0V level
"xxx" for  1V level
"---"for  2.8V level

on the oscilloscope I always see:

SCL ---__--__--__--__--__--__--__--__--__-- ... ___---

SDA --_ ... --__--

i.e.

   START 0   1   0   0   0   0   1   W   X  ...   STOP

In other words, the i2c master (DM644x) puts only the I2C address (0x21) onto 
the bus, and nothing more!
I suppose "xxx" it is due to a conflict condition on the SDA line, and this 
conflict condition prevents the first i2c_master_send() call to be completed.
Otherwise, could the device be damaged?
Any comment will be appreciated.

Gabriele



_____
Da: Gabriele Filosofi
Inviato: mercoledì 1 ottobre 2008 12.11
A: 
'davinci-linux-open-source@linux.davincidsp.com<mailto:davinci-linux-open-source@linux.davincidsp.com>'
Oggetto: How to interface to OV7670


Hi,

I need to write a loadable module to drive a CCDC device OMNIVISION OV7670 on 
the I2C bus.
I found a guy who came across a problem similar to mine:

http://article.gmane.org/gmane.comp.video.video4linux/38082

Also, he told to me that there is no support for multi-message for this device, 
as confirmed by Omnivision technical guy, and that I must use 8bit I2C commands 
to communicate with OV7670.
However, there are a lot of functions (i2c_transfer, i2c_master_send/recv, 
i2c_smbus_write/read_byte) and I don’t know which I should use.
In brief, I’m wondering if anybody knows how to access this device (or a 
similar one) onto the I2C bus.
A code implementation example it would be greatly appreciated.

Thanks in advance,

Gabriele















___

Davinci-linux-open-source mailing list

Davinci-linux-open-source@linux.davincidsp.com<mailto:Davinci-linux-open-source@linux.davincidsp.com>

http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


I: How to interface to OV7670

2008-10-03 Thread Gabriele Filosofi
Hi.

My CCDC camera chip OV7670 is connected onto the I2C bus by mean a voltage 
translator PCA9306, because DM644x has 1.8V level I/O, while OV7670 uses 2.8V.
Following Darius's suggestions I've tryed to read OV7670's internal registers 
using this function:

static u8 reg_read(struct i2c_client *client, const u8 reg)
{
u8 i2c_buf[2];
i2c_buf[0] = reg;
i2c_master_send(client, i2c_buf, 1);
i2c_master_recv(client, i2c_buf, 1);
return i2c_buf[0];
}

Using the following convention:

"___" for  0V level
"xxx"  for  1V level
"---"for  2.8V level

on the oscilloscope I always see:

SCL ---__--__--__--__--__--__--__--__--__-- ... ___---

SDA --_ ... --__--

i.e.

   START 0   1   0   0   0   0   1   W   X  ...   STOP

In other words, the i2c master (DM644x) puts only the I2C address (0x21) onto 
the bus, and nothing more!
I suppose "xxx" it is due to a conflict condition on the SDA line, and this 
conflict condition prevents the first i2c_master_send() call to be completed.
Otherwise, could the device be damaged?
Any comment will be appreciated.

Gabriele



_____
Da: Gabriele Filosofi
Inviato: mercoledì 1 ottobre 2008 12.11
A: 'davinci-linux-open-source@linux.davincidsp.com'
Oggetto: How to interface to OV7670


Hi,

I need to write a loadable module to drive a CCDC device OMNIVISION OV7670 on 
the I2C bus.
I found a guy who came across a problem similar to mine:

http://article.gmane.org/gmane.comp.video.video4linux/38082

Also, he told to me that there is no support for multi-message for this device, 
as confirmed by Omnivision technical guy, and that I must use 8bit I2C commands 
to communicate with OV7670.
However, there are a lot of functions (i2c_transfer, i2c_master_send/recv, 
i2c_smbus_write/read_byte) and I don't know which I should use.
In brief, I'm wondering if anybody knows how to access this device (or a 
similar one) onto the I2C bus.
A code implementation example it would be greatly appreciated.

Thanks in advance,

Gabriele


___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


How to interface to OV7670

2008-10-01 Thread Gabriele Filosofi
Hi,

I need to write a loadable module to drive a CCDC device OMNIVISION OV7670 on 
the I2C bus.
I found a guy who came across a problem similar to mine:

http://article.gmane.org/gmane.comp.video.video4linux/38082

Also, he told to me that there is no support for multi-message for this device, 
as confirmed by Omnivision technical guy, and that I must use 8bit I2C commands 
to communicate with OV7670.
However, there are a lot of functions (i2c_transfer, i2c_master_send/recv, 
i2c_smbus_write/read_byte) and I don't know which I should use.
In brief, I'm wondering if anybody knows how to access this device (or a 
similar one) onto the I2C bus.
A code implementation example it would be greatly appreciated.

Thanks in advance,

Gabriele


___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


R: I2C NAK condition prevents device to be registered

2008-09-29 Thread Gabriele Filosofi
Brad,

the device's I2C addresses are:
 0x42 for write access
 0x43 for read access

The DaVinci driver wants the I2C address 1 bit shifted to the right, so it 
should be
 0x21 for both reads and writes

I'm sure the address is quite correct.

I need to know how  to have I2C_M_IGNORE_NAK flag set during device 
registration (insmod).

Regards,

Gabriele

Da: Griffis, Brad [mailto:[EMAIL PROTECTED]
Inviato: lunedì 29 settembre 2008 11.53
A: Gabriele Filosofi; davinci-linux-open-source@linux.davincidsp.com
Oggetto: RE: I2C NAK condition prevents device to be registered

Your NACK could be due to having the wrong slave address.  The 7-bit slave 
address is shown many different ways.  Sometimes it's shown left-aligned so 
that you can OR the R/W bit into the address.  Other times it's right aligned.  
Also, the driver itself sometimes expects it one way or another!  (Sorry, I 
forget off the top of my head which way around the Davinci driver wants it.)  I 
recommend double-checking.

Brad


From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Gabriele Filosofi
Sent: Monday, September 29, 2008 1:10 PM
To: davinci-linux-open-source@linux.davincidsp.com
Subject: I2C NAK condition prevents device to be registered

Hi,

I've written a loadable module to drive a CCDC device (ov7670) on the I2C bus.
But when I "insmod" it:

[EMAIL PROTECTED]:~# insmod 
/lib/modules/2.6.25-rc1-davinci1/kernel/drivers/i2c/chips/ov7670.ko
<7>i2c-core: driver [ov7670] registered
<7>i2c-adapter i2c-1: found normal entry for adapter 1, addr 0x21
<7>i2c-adapter i2c-1: master_xfer[0] W, addr=0x21, len=0
<7>i2c_davinci i2c_davinci.1: i2c_davinci_xfer: msgs: 1
<7>i2c_davinci i2c_davinci.1: i2c_davinci_isr: stat=0x5
<3>i2c_davinci i2c_davinci.1: TDR IRQ while no data to send
i2c_davinci i2c_davinci.1: TDR IRQ while no data to send
<7>i2c_davinci i2c_davinci.1: i2c_davinci_isr: stat=0x2
<7>i2c_davinci i2c_davinci.1: i2c_davinci_isr: stat=0x6
<7>i2c_davinci i2c_davinci.1: i2c_davinci_xfer ret: -121

This prevents the device from being properly registered, infact I don't find 
the device file in /sys/bus/i2c/devices.
I've found the I2C bus transaction fails for a NAK condition in function 
(drivers/i2c/busses/i2c-davinci.c)

static int i2c_davinci_xfer_msg(struct i2c_adapter *adap, struct i2c_msg *msg, 
int stop)
{
...
if (dev->cmd_err & DAVINCI_I2C_STR_NACK) {
if (msg->flags & I2C_M_IGNORE_NAK)
return msg->len;
return -EREMOTEIO;  //exit point (EREMOTEIO 
= 121)
}
return -EIO;
}

Looking the code above it seems that having set the I2C_M_IGNORE_NAK flag could 
solve the problem.
How can I do it?
My driver is:

static int ov7670_attach_adapter(struct i2c_adapter *adapter)
{
return i2c_probe(adapter, &addr_data, ov7670_detect);
}

/* This function is called by i2c_probe */
static int ov7670_detect(struct i2c_adapter *adapter, int address, int kind)
{
//struct i2c_client *new_client;
struct ov7670_data *data;
int err = 0;
const char *client_name = "ov7670";

if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE))
goto exit;

/* OK. For now, we presume we have a valid client. We now create the
   client structure, even though we cannot fill it completely yet. */
if (!(data = kzalloc(sizeof(struct ov7670_data), GFP_KERNEL))) {
err = -ENOMEM;
goto exit;
}

new_client = &data->client;
i2c_set_clientdata(new_client, data);
new_client->addr = address;
new_client->adapter = adapter;
new_client->driver = &ov7670_driver;
new_client->flags = 0;
/*
Note: I've tryed with
new_client->flags = I2C_M_IGNORE_NAK;
without any results.
*/

/* Fill in the remaining client fields and put it into the global list 
*/
strlcpy(new_client->name, client_name, I2C_NAME_SIZE);

/* Tell the I2C layer a new client has arrived */
if ((err = i2c_attach_client(new_client)))
goto exit_free;

/* Initialize the OV7670 chip */
ov7670_init_client(new_client);

/* Register sysfs hooks */
err = sysfs_create_group(&new_client->dev.kobj, &ov7670_attr_group);
if (err)
goto exit_detach;
return 0;

exit_detach:
i2c_detach_client(new_client);
exit_free:
kfree(data);
exit:
return err;
}

static int ov7670_detach_client(struct i2c_client *client)
{
int err;
sysfs_remove_group(&client->dev.kobj, &ov7670_attr_group);

if ((err = i2c_detach_client(client)))
return err;

kfree(i2c_get_clientdata(cli

I2C NAK condition prevents device to be registered

2008-09-29 Thread Gabriele Filosofi
Hi,

I've written a loadable module to drive a CCDC device (ov7670) on the I2C bus.
But when I "insmod" it:

[EMAIL PROTECTED]:~# insmod 
/lib/modules/2.6.25-rc1-davinci1/kernel/drivers/i2c/chips/ov7670.ko
<7>i2c-core: driver [ov7670] registered
<7>i2c-adapter i2c-1: found normal entry for adapter 1, addr 0x21
<7>i2c-adapter i2c-1: master_xfer[0] W, addr=0x21, len=0
<7>i2c_davinci i2c_davinci.1: i2c_davinci_xfer: msgs: 1
<7>i2c_davinci i2c_davinci.1: i2c_davinci_isr: stat=0x5
<3>i2c_davinci i2c_davinci.1: TDR IRQ while no data to send
i2c_davinci i2c_davinci.1: TDR IRQ while no data to send
<7>i2c_davinci i2c_davinci.1: i2c_davinci_isr: stat=0x2
<7>i2c_davinci i2c_davinci.1: i2c_davinci_isr: stat=0x6
<7>i2c_davinci i2c_davinci.1: i2c_davinci_xfer ret: -121

This prevents the device from being properly registered, infact I don't find 
the device file in /sys/bus/i2c/devices.
I've found the I2C bus transaction fails for a NAK condition in function 
(drivers/i2c/busses/i2c-davinci.c)

static int i2c_davinci_xfer_msg(struct i2c_adapter *adap, struct i2c_msg *msg, 
int stop)
{
...
if (dev->cmd_err & DAVINCI_I2C_STR_NACK) {
if (msg->flags & I2C_M_IGNORE_NAK)
return msg->len;
return -EREMOTEIO;  //exit point (EREMOTEIO 
= 121)
}
return -EIO;
}

Looking the code above it seems that having set the I2C_M_IGNORE_NAK flag could 
solve the problem.
How can I do it?
My driver is:

static int ov7670_attach_adapter(struct i2c_adapter *adapter)
{
return i2c_probe(adapter, &addr_data, ov7670_detect);
}

/* This function is called by i2c_probe */
static int ov7670_detect(struct i2c_adapter *adapter, int address, int kind)
{
//struct i2c_client *new_client;
struct ov7670_data *data;
int err = 0;
const char *client_name = "ov7670";

if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE))
goto exit;

/* OK. For now, we presume we have a valid client. We now create the
   client structure, even though we cannot fill it completely yet. */
if (!(data = kzalloc(sizeof(struct ov7670_data), GFP_KERNEL))) {
err = -ENOMEM;
goto exit;
}

new_client = &data->client;
i2c_set_clientdata(new_client, data);
new_client->addr = address;
new_client->adapter = adapter;
new_client->driver = &ov7670_driver;
new_client->flags = 0;
/*
Note: I've tryed with
new_client->flags = I2C_M_IGNORE_NAK;
without any results.
*/

/* Fill in the remaining client fields and put it into the global list 
*/
strlcpy(new_client->name, client_name, I2C_NAME_SIZE);

/* Tell the I2C layer a new client has arrived */
if ((err = i2c_attach_client(new_client)))
goto exit_free;

/* Initialize the OV7670 chip */
ov7670_init_client(new_client);

/* Register sysfs hooks */
err = sysfs_create_group(&new_client->dev.kobj, &ov7670_attr_group);
if (err)
goto exit_detach;
return 0;

exit_detach:
i2c_detach_client(new_client);
exit_free:
kfree(data);
exit:
return err;
}

static int ov7670_detach_client(struct i2c_client *client)
{
int err;
sysfs_remove_group(&client->dev.kobj, &ov7670_attr_group);

if ((err = i2c_detach_client(client)))
return err;

kfree(i2c_get_clientdata(client));
return 0;
}

/* Called when we have found a new OV7670 */
static void ov7670_init_client(struct i2c_client *client)
{
struct ov7670_data *data = i2c_get_clientdata(client);
data->fmt = &ov7670_formats[0];
data->sat = 128;
data->write = -EAGAIN;
}

static int __init ov7670_init(void)
{
int ret = 0;
if (i2c_add_driver(&ov7670_driver)) {
printk("ov7670 i2c: Driver registration failed, \
  module not inserted.\n");
ret = -ENODEV;
return ret;
}

printk("OV7670 I2C version %s (%s)\n",
   OV7670_VERSION, OV7670_DATE);

return ret;
}

static void __exit ov7670_exit(void)
{
i2c_del_driver(&ov7670_driver);
}

module_init(ov7670_init);
module_exit(ov7670_exit);



Thanks a lot,

Gabriele


___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


R: cross-compile mpg123 for the DaVinci on the host

2008-09-25 Thread Gabriele Filosofi
Very good idea. I'm working on it
Gabriele

Da: Phil Quiney [mailto:[EMAIL PROTECTED]
Inviato: giovedì 25 settembre 2008 9.31
A: Shakir Shaikh; davinci-linux-open-source@linux.davincidsp.com; Gabriele 
Filosofi
Oggetto: RE: cross-compile mpg123 for the DaVinci on the host

Hi,

As the target does not support ALSA why don't you add '--with-audio=oss' to the 
list of configure options. This should prevent it building ALSA support and 
therefore should not need to use libasound.


Regards

Phil Q

Phil Quiney, Senior Software Engineer
Trinity Convergence
Cambridge Business Park
Cowley Road
Cambridge CB4 0WZ, UK
T: +44(0)1223-435536
F: +44(0)1223-435560
www.trinityconvergence.com<http://www.trinityconvergence.com/>



From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Shakir Shaikh
Sent: 24 September 2008 20:11
To: davinci-linux-open-source@linux.davincidsp.com; 'Gabriele Filosofi'
Subject: RE: cross-compile mpg123 for the DaVinci on the host
Gabriele,

See my response below.

-Shakir

From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Gabriele Filosofi
Sent: 24 September 2008 21:13
To: davinci-linux-open-source@linux.davincidsp.com
Subject: cross-compile mpg123 for the DaVinci on the host

I need some help on how to recompile mpg123 for the DaVinci on the host.
The source code comes with a configure binary that should be executed with a 
lot of optional parameters.
I've choosen the following

$ ./configure
--host=i686-pc-linux-gnu
--target=armv5tl-montavista-linuxeabi
--prefix=/home/gabriele/workdir/filesy_2.6.25/usr/local
CC="${DEVKIT}/arm/v5t_le/bin/arm_v5t_le-gcc"
LDFLAGS="-L${DEVKIT}/arm/v5t_le/target/usr/lib"
CFLAGS="-O3 -mlittle-endian -march=armv5t -mtune=arm9tdmi -nostdinc 
-B${DEVKIT}/arm/v5t_le/lib/gcc/armv5tl-montavista-linuxeabi/3.4.3 -isystem 
${DEVKIT}/arm/v5t_le/target/usr/include -isystem 
${DEVKIT}/arm/v5t_le/lib/gcc/armv5tl-montavista-linuxeabi/3.4.3/include 
-I${DEVKIT}/arm/v5t_le/target/usr/include 
-I${DEVKIT}/arm/v5t_le/lib/gcc/armv5tl-montavista-linuxeabi/3.4.3/include"

where
EXPORT = /opt/dm644x/mv_pro_4.0.1/montavista/pro/devkit/

The above configure run creates a Makefile with the right cross-compiler 
references. But when I do

$ make

Making all in libltdl
make[1]: Entering directory 
`/home/gabriele/workdir/filesys_2.6.25/opt/mpg123/mpg123-1.5.1/libltdl'
make  all-am
make[2]: Entering directory 
`/home/gabriele/workdir/filesys_2.6.25/opt/mpg123/mpg123-1.5.1/libltdl'
make[2]: Leaving directory 
`/home/gabriele/workdir/filesys_2.6.25/opt/mpg123/mpg123-1.5.1/libltdl'
make[1]: Leaving directory 
`/home/gabriele/workdir/filesys_2.6.25/opt/mpg123/mpg123-1.5.1/libltdl'
Making all in src
make[1]: Entering directory 
`/home/gabriele/workdir/filesys_2.6.25/opt/mpg123/mpg123-1.5.1/src'
make  all-recursive
make[2]: Entering directory 
`/home/gabriele/workdir/filesys_2.6.25/opt/mpg123/mpg123-1.5.1/src'
Making all in output
make[3]: Entering directory 
`/home/gabriele/workdir/filesys_2.6.25/opt/mpg123/mpg123-1.5.1/src/output'
/bin/sh ../../libtool --tag=CC --mode=link 
/opt/dm644x/mv_pro_4.0.1/montavista/pro/devkit/arm/v5t_le/bin/arm_v5t_le-gcc  
-O2 -fomit-frame-pointer -funroll-all-loops -finline-functions -ffast-math  -O3 
-mlittle-endian -march=armv5t -mtune=arm9tdmi -nostdinc 
-B/opt/dm644x/mv_pro_4.0.1/montavista/pro/devkit/arm/v5t_le/lib/gcc/armv5tl-montavista-linuxeabi/3.4.3
 -isystem 
/opt/dm644x/mv_pro_4.0.1/montavista/pro/devkit/arm/v5t_le/target/usr/include 
-isystem 
/opt/dm644x/mv_pro_4.0.1/montavista/pro/devkit/arm/v5t_le/lib/gcc/armv5tl-montavista-linuxeabi/3.4.3/include
 -I/opt/dm644x/mv_pro_4.0.1/montavista/pro/devkit/arm/v5t_le/target/usr/include 
-I/opt/dm644x/mv_pro_4.0.1/montavista/pro/devkit/arm/v5t_le/lib/gcc/armv5tl-montavista-linuxeabi/3.4.3/include
   -o output_alsa.la -rpath 
/opt/dm644x/mv_pro_4.0.1/montavista/pro/devkit/arm/v5t_le/lib/mpg123 -module 
-avoid-version -export-dynamic  output_alsa_la-alsa.lo -lasound  -lm
/opt/dm644x/mv_pro_4.0.1/montavista/pro/devkit/arm/v5t_le/bin/arm_v5t_le-gcc 
-shared  .libs/output_alsa_la-alsa.o  /usr/lib/libasound.so -lm  
-mlittle-endian -march=armv5t -mtune=arm9tdmi -Wl,-soname -Wl,output_alsa.so -o 
.libs/output_alsa.so
[Shakir] Problem is in the above line, "/usr/lib/libasound.so". Your Makefile 
is trying to link this library which is obviously not meant for your target. I 
think your configure script has not generated Makefile correctly.
make[3]: Leaving directory 
`/home/gabriele/workdir/filesys_2.6.25/opt/mpg123/mpg123-1.5.1/src/output'
make[2]: Leaving directory 
`/home/gabriele/workdir/filesys_2.6.25/opt/mpg123/mpg123-1.5.1/src'
make[1]: Leaving directory 
`/home/gabriele/workdir/filesys_2.6.25/opt/mpg123/mpg123-1.5.1/src'
/usr/lib/libasound.so: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
make

cross-compile mpg123 for the DaVinci on the host

2008-09-24 Thread Gabriele Filosofi
I need some help on how to recompile mpg123 for the DaVinci on the host.
The source code comes with a configure binary that should be executed with a 
lot of optional parameters.
I've choosen the following

$ ./configure
--host=i686-pc-linux-gnu
--target=armv5tl-montavista-linuxeabi
--prefix=/home/gabriele/workdir/filesy_2.6.25/usr/local
CC="${DEVKIT}/arm/v5t_le/bin/arm_v5t_le-gcc"
LDFLAGS="-L${DEVKIT}/arm/v5t_le/target/usr/lib"
CFLAGS="-O3 -mlittle-endian -march=armv5t -mtune=arm9tdmi -nostdinc 
-B${DEVKIT}/arm/v5t_le/lib/gcc/armv5tl-montavista-linuxeabi/3.4.3 -isystem 
${DEVKIT}/arm/v5t_le/target/usr/include -isystem 
${DEVKIT}/arm/v5t_le/lib/gcc/armv5tl-montavista-linuxeabi/3.4.3/include 
-I${DEVKIT}/arm/v5t_le/target/usr/include 
-I${DEVKIT}/arm/v5t_le/lib/gcc/armv5tl-montavista-linuxeabi/3.4.3/include"

where
EXPORT = /opt/dm644x/mv_pro_4.0.1/montavista/pro/devkit/

The above configure run creates a Makefile with the right cross-compiler 
references. But when I do

$ make

Making all in libltdl
make[1]: Entering directory 
`/home/gabriele/workdir/filesys_2.6.25/opt/mpg123/mpg123-1.5.1/libltdl'
make  all-am
make[2]: Entering directory 
`/home/gabriele/workdir/filesys_2.6.25/opt/mpg123/mpg123-1.5.1/libltdl'
make[2]: Leaving directory 
`/home/gabriele/workdir/filesys_2.6.25/opt/mpg123/mpg123-1.5.1/libltdl'
make[1]: Leaving directory 
`/home/gabriele/workdir/filesys_2.6.25/opt/mpg123/mpg123-1.5.1/libltdl'
Making all in src
make[1]: Entering directory 
`/home/gabriele/workdir/filesys_2.6.25/opt/mpg123/mpg123-1.5.1/src'
make  all-recursive
make[2]: Entering directory 
`/home/gabriele/workdir/filesys_2.6.25/opt/mpg123/mpg123-1.5.1/src'
Making all in output
make[3]: Entering directory 
`/home/gabriele/workdir/filesys_2.6.25/opt/mpg123/mpg123-1.5.1/src/output'
/bin/sh ../../libtool --tag=CC --mode=link 
/opt/dm644x/mv_pro_4.0.1/montavista/pro/devkit/arm/v5t_le/bin/arm_v5t_le-gcc  
-O2 -fomit-frame-pointer -funroll-all-loops -finline-functions -ffast-math  -O3 
-mlittle-endian -march=armv5t -mtune=arm9tdmi -nostdinc 
-B/opt/dm644x/mv_pro_4.0.1/montavista/pro/devkit/arm/v5t_le/lib/gcc/armv5tl-montavista-linuxeabi/3.4.3
 -isystem 
/opt/dm644x/mv_pro_4.0.1/montavista/pro/devkit/arm/v5t_le/target/usr/include 
-isystem 
/opt/dm644x/mv_pro_4.0.1/montavista/pro/devkit/arm/v5t_le/lib/gcc/armv5tl-montavista-linuxeabi/3.4.3/include
 -I/opt/dm644x/mv_pro_4.0.1/montavista/pro/devkit/arm/v5t_le/target/usr/include 
-I/opt/dm644x/mv_pro_4.0.1/montavista/pro/devkit/arm/v5t_le/lib/gcc/armv5tl-montavista-linuxeabi/3.4.3/include
   -o output_alsa.la -rpath 
/opt/dm644x/mv_pro_4.0.1/montavista/pro/devkit/arm/v5t_le/lib/mpg123 -module 
-avoid-version -export-dynamic  output_alsa_la-alsa.lo -lasound  -lm
/opt/dm644x/mv_pro_4.0.1/montavista/pro/devkit/arm/v5t_le/bin/arm_v5t_le-gcc 
-shared  .libs/output_alsa_la-alsa.o  /usr/lib/libasound.so -lm  
-mlittle-endian -march=armv5t -mtune=arm9tdmi -Wl,-soname -Wl,output_alsa.so -o 
.libs/output_alsa.so
make[3]: Leaving directory 
`/home/gabriele/workdir/filesys_2.6.25/opt/mpg123/mpg123-1.5.1/src/output'
make[2]: Leaving directory 
`/home/gabriele/workdir/filesys_2.6.25/opt/mpg123/mpg123-1.5.1/src'
make[1]: Leaving directory 
`/home/gabriele/workdir/filesys_2.6.25/opt/mpg123/mpg123-1.5.1/src'
/usr/lib/libasound.so: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
make[3]: *** [output_alsa.la] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all] Error 2
make: *** [all-recursive] Error 1

Can anyone please give me some tips? Where is the problem?

Thanks and regards!

Gabriele

~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
  Ing. Gabriele Filosofi
  [EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]>
  COSMED srl, R&D Department
  Via dei Piani di Monte Savello, 37
  00041 - Pavona di Albano, Rome - ITALY
  Voice: +39-06 931 5492, Fax: +39-06 931 4580
  http://www.cosmed.it<http://www.cosmed.it/>
 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~



___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


R: R: R: How to recompile mpg123 for the DaVinci on the host

2008-09-24 Thread Gabriele Filosofi
Thanks.
Please, can you tell me where I can find the VLC source, and how should I build 
it?
I would like to try this package.

Gabriele

-Messaggio originale-
Da: amr ali [mailto:[EMAIL PROTECTED]
Inviato: mercoledì 24 settembre 2008 9.41
A: Gabriele Filosofi
Cc: davinci-linux-open-source@linux.davincidsp.com
Oggetto: RE: R: R: How to recompile mpg123 for the DaVinci on the host



I am not sure about my answer, but I would like to share it with you:
1. mpg123 uses floating point which uses double processing power than fixed 
point
2. when you compile it on DM and run it, I guess it detects the generic 
code and not the optimizied one
3. I guess you need to look carefully at the options using the command mpg123  
--longhelp to get more options, they might be useful

BR,
Amr Ali.

> From: [EMAIL PROTECTED]
> To: [EMAIL PROTECTED]
> CC: davinci-linux-open-source@linux.davincidsp.com
> Date: Wed, 24 Sep 2008 09:24:34 +0200
> Subject: R: R: How to recompile mpg123 for the DaVinci on the host
>
>
> The effect I described seems to be due to a insufficient cpu processing power.
>
> Infact, I've noticed that the file is played fine if I enable buffering. To 
> do that I can use a mpg123 built-in command:
>
>
>
> $ mpg123  -b  1024  song.mp3
>
>
>
> In this case it starts playing after a initial delay, and the interruptions 
> occour later with a periodicity proportional to the buffer size (1KB in the 
> example).
>
> All that is correct, because interruptions correspond to buffer full 
> conditions.
>
> About this, on the mpg123 web site I read:
>
>
>
> "A recent test (GNU/Linux OS) with 0.60-beta2 showed 3% to 4% CPU usage on 
> decoding high quality VBR MP3 with a pentiumII laptop with 366MHz, while a 
> pentium 100MHz can easily handle two mpg123 instances in realtime (plus the 
> mixing daemon that works on decoded data)"
>
>
>
> Now, I'm wandering a 256 MHz running arm core inside the DM6441 has not 
> processing power enough to do the job.
>
> Have any idea about this issue?
>
>
>
> Gabriele
>
>
>
> Da: amr ali [mailto:[EMAIL PROTECTED]
> Inviato: martedì 23 settembre 2008 22.17
> A: Gabriele Filosofi
> Cc: davinci-linux-open-source@linux.davincidsp.com
> Oggetto: RE: R: How to recompile mpg123 for the DaVinci on the host
>
>
>
> Hi,
> I have noticed that at high bit rates (~128 KBPS)!!!
> When using VLC it plays fine, with mpg123 I get the effect you described.
> BR,
> Amr Ali.
>
>
>
>
>
>
> 
>
> Explore the seven wonders of the world Learn more!

_
Discover the new Windows Vista
http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE

___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


R: R: How to recompile mpg123 for the DaVinci on the host

2008-09-24 Thread Gabriele Filosofi
The effect I described seems to be due to a insufficient cpu processing power.
Infact, I've noticed that the file is played fine if I enable buffering. To do 
that I can use a mpg123 built-in command:

$ mpg123  -b  1024  song.mp3

In this case it starts playing after a initial delay, and the interruptions 
occour later with a periodicity proportional to the buffer size (1KB in the 
example).
All that is correct, because interruptions correspond to buffer full conditions.
About this, on the mpg123 web site I read:

"A recent test (GNU/Linux OS) with 0.60-beta2 showed 3% to 4% CPU usage on 
decoding high quality VBR MP3 with a pentiumII laptop with 366MHz, while a 
pentium 100MHz can easily handle two mpg123 instances in realtime (plus the 
mixing daemon that works on decoded data)"

Now, I'm wandering a 256 MHz running arm core inside the DM6441 has not 
processing power enough to do the job.
Have any idea about this issue?

Gabriele

Da: amr ali [mailto:[EMAIL PROTECTED]
Inviato: martedì 23 settembre 2008 22.17
A: Gabriele Filosofi
Cc: davinci-linux-open-source@linux.davincidsp.com
Oggetto: RE: R: How to recompile mpg123 for the DaVinci on the host

Hi,
I have noticed that at high bit rates (~128 KBPS)!!!
When using VLC it plays fine, with mpg123 I get the effect you described.
BR,
Amr Ali.






Explore the seven wonders of the world Learn 
more!<http://search.msn.com/results.aspx?q=7+wonders+world&mkt=en-US&form=QBRE>
___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


R: How to recompile mpg123 for the DaVinci on the host

2008-09-23 Thread Gabriele Filosofi
I did also.
I ran on the target the following commands:

$ ./configure
$ make
$ make install

However, when I try to play a mp3 file...

$ mpg123 prova.mp3

High Performance MPEG 1.0/2.0/2.5 Audio Player for Layers 1, 2 and 3
version 1.5.1; written and copyright by Michael Hipp and others
free software (LGPL/GPL) without any warranty but with best wishes
Playing MPEG stream 1 of 1: prova.mp3 ...
Title:   From Under  Artist: Premiata Forneria Marconi
Album:   Chocolate Kings
Year:1975Genre:  Progressive Rock
MPEG 1.0 layer III, 128 kbit/s, 44100 Hz stereo

...the resulting sound is continuosly interrupted, something like

sound .. sound .. sound .. sound .. etc

so I stop the process...

^C^C[audio.c:533] error: Error in writing audio (Interrupted system call?)!
[0:01] Decoding of prova.mp3 finished.

Could it depends on compile process, or what else?

Regards,

Gabriele

Da: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Per conto di amr ali
Inviato: martedì 23 settembre 2008 14.50
A: davinci-linux-open-source@linux.davincidsp.com
Oggetto: RE: How to recompile mpg123 for the DaVinci on the host

Hi,
I compiled it on DM6446 board and is working fine. I could not do it by cross 
compiling.
BR,
Amr.

Get news, entertainment and everything you care about at Live.com. Check it 
out!
___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


How to recompile mpg123 for the DaVinci on the host

2008-09-23 Thread Gabriele Filosofi
Hi,

Does anyone know how to recompile mpg123 for the DaVinci on the host?
I obtained the source code from 
http://sourceforge.net/project/showfiles.php?group_id=135704.
I have the cross toolchain coming with DVEVM 
(/opt/dm644x/mv_pro_4.0.1/montavista/...)

Tanks a lot,

Gabriele

___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


How to get access to internal registers

2008-09-19 Thread Gabriele Filosofi
Hi,

Any simple way to get access to the internal registers of Davinci DM644x ARM 
core within the git kernel?

Regards,

Gabriele

___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


No activity on LCD syncr outputs

2008-09-19 Thread Gabriele Filosofi
Hi,

Currently I'm working on a custom dm644x-based board running 2.6.25 git kernel.

In arch/arm/mach-davinci/psc.c
I have

void __init davinci_psc_init(void)
{
davinci_psc_config(DAVINCI_GPSC_ARMDOMAIN, DAVINCI_LPSC_VPSSMSTR, 1);
davinci_psc_config(DAVINCI_GPSC_ARMDOMAIN, DAVINCI_LPSC_VPSSSLV, 1);
...

So the VPBE subsystem should be powered on.
Besides, In arch/arm/mach-davinci/clock.c
I have

static struct clk davinci_clks[] = {
...
{
.name = "VPSSMSTR",
.rate = &sysclk3,   /* sysclk3 = ((pll_mult 
+ 1) x 2700) / 3 */
.lpsc = DAVINCI_LPSC_VPSSMSTR,
},
{
.name = "VPSSSLV",
.rate = &sysclk3,
.lpsc = DAVINCI_LPSC_VPSSSLV,
}
};

So, I would expect at least to see some kind of clocking waveform on pins VCLK, 
VSYNC, HSYNC.
However, these pins are completely quiet. The LCD controller of the VENC it 
seems turned off.
I'm missing something or there are good reasons?

Thanks.

Gabriele



___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


I: I2C bus probe utility

2008-09-18 Thread Gabriele Filosofi
Vim,

I've solved eliminating a couple of 22 ohm resistors I placed in series on the 
bus lines.

Thanks

Gabriele

Da: Gabriele Filosofi
Inviato: giovedì 18 settembre 2008 9.40
A: 'Vim Venture'
Cc: 'davinci-linux-open-source@linux.davincidsp.com'
Oggetto: R: I2C bus probe utility

Vim,

I've checked yet those folders. The I2C address of my physical device should be 
0x21 (videocam OV7670), so I would expect to find a device file

/sys/bus/i2c/devices/1-0021

But I don't see it.
Instead I see the installed driver

/sys/bus/i2c/drivers/ov7670

I'm wandering if anybody knows how to speed down the I2C bus.

Gabriele

Da: Vim Venture [mailto:[EMAIL PROTECTED]
Inviato: mercoledì 17 settembre 2008 18.47
A: Gabriele Filosofi
Cc: davinci-linux-open-source@linux.davincidsp.com
Oggetto: Re: I2C bus probe utility

Hi Gabriele,

I used the device and driver files in   /sys/bus/i2c/devices   and
/sys/bus/i2c/drivers   to help debug my i2c problems.  You can see which 
devices are registered and what drivers are available.
I did not have to change the bus speed, so I haven't looked into that.

Hope that helps,
-Vim

On Sep 17, 2008, at 5:56 AM, Gabriele Filosofi wrote:

Hi,

I'm facing with some problems on the I2C bus.
In the u-boot command list there is a specific command to probe all valid 
addresses on the I2C bus (iprobe), but I'm not sure it is working good.


 1.  Is there any similar utility within the kernel?
 2.  How can I reduce the bus speed?

Regards,

Gabriele



___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com<mailto:Davinci-linux-open-source@linux.davincidsp.com>
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


R: I2C bus probe utility

2008-09-18 Thread Gabriele Filosofi
Vim,

I've checked yet those folders. The I2C address of my physical device should be 
0x21 (videocam OV7670), so I would expect to find a device file

/sys/bus/i2c/devices/1-0021

But I don't see it.
Instead I see the installed driver

/sys/bus/i2c/drivers/ov7670

I'm wandering if anybody knows how to speed down the I2C bus.

Gabriele

Da: Vim Venture [mailto:[EMAIL PROTECTED]
Inviato: mercoledì 17 settembre 2008 18.47
A: Gabriele Filosofi
Cc: davinci-linux-open-source@linux.davincidsp.com
Oggetto: Re: I2C bus probe utility

Hi Gabriele,

I used the device and driver files in   /sys/bus/i2c/devices   and
/sys/bus/i2c/drivers   to help debug my i2c problems.  You can see which 
devices are registered and what drivers are available.
I did not have to change the bus speed, so I haven't looked into that.

Hope that helps,
-Vim

On Sep 17, 2008, at 5:56 AM, Gabriele Filosofi wrote:


Hi,

I'm facing with some problems on the I2C bus.
In the u-boot command list there is a specific command to probe all valid 
addresses on the I2C bus (iprobe), but I'm not sure it is working good.


 1.  Is there any similar utility within the kernel?
 2.  How can I reduce the bus speed?

Regards,

Gabriele



___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com<mailto:Davinci-linux-open-source@linux.davincidsp.com>
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


I2C bus probe utility

2008-09-17 Thread Gabriele Filosofi
Hi,

I'm facing with some problems on the I2C bus.
In the u-boot command list there is a specific command to probe all valid 
addresses on the I2C bus (iprobe), but I'm not sure it is working good.

1.  Is there any similar utility within the kernel?
2.  How can I reduce the bus speed?

Regards,

Gabriele



___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


vpfe support in davinci open source Git kernel

2008-09-17 Thread Gabriele Filosofi
Hi,

I've noticed that the git kernel I'm using (2.6.25) doesn't support 
drivers/media/video/davinci_vpfe.c.
Anybody have ported this driver? Is there any news out there about this topic?

Best regards

Gabriele

___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


using dev/dsp along with a 16bit codec

2008-09-11 Thread Gabriele Filosofi
Hi,

I've found that in the OSS framework the /dev/dsp device uses 8-bit unsigned 
linear encoding, while the /dev/dspW device uses 16-bit linear encoding.
Any data written to the davinci audio device should be played back with the 
on-board codec (AIC33), that is configured with 16 bit per sample. But in the 
/dev folder I don't find the /dev/dspW file!
Also, I've found some people use

fdw ( "/dev/sound/dsp", O_WRONLY);
...
write ( fdw, buffer, 64);   /* where buffer in an array of unsigned chars */

I'm wondering one can access a 16-bit audio codec using /dev/dsp.
If anyone knows it, can you please give some suggestions to understand it?

Tanks.

Regards,

Gabriele Filosofi


___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


USB flash auto-mounting

2008-09-02 Thread Gabriele Filosofi
Hi,
I'm wondering if anyone has definitively solved the issue of having a USB flash
drive automatically mount to the file system when it is inserted?
To do this manually is quite simple:

mkdir /media/usbflash
mount -t vfat /dev/uba1 /media/usbflash

I wish to make this mount occur automatically every time the stick is plugged 
in.
I did check .config to see if "CONFIG_HOTPLUG=y": it is.
In /etc/fstab I put the following line:

none /proc/bus/usb usbfs defaults 0 0

but it is not sufficient.

Tanks a lot

Gabriele






An update on the situation, I?ve gotten the usb flash drive
automounting, but only if I have it plugged in to the unit during
bootup.  I can?t get it to automount using hotplug or anything else.
The way I have my fstab and udev mounting happening is the following:

udev/rules.d/99-mount.rules :
BUS=="usb", SYSFS{product}=="JD FIREFLY", KERNEL=="sd?1", NAME="lexar",
SYMLINK="usbdevices/lexar", RUN+="/usr/local/bin/mountlexar.sh"

fstab:
/dev/sda1   /media/LEXAR vfat
rw,nodiratime,sync,nosuid,nodev,noexec,fmask=0033,dmask=0033 0 0

I think I may have moved around the initialization scripts
within /etc/rc.d/rcS.d to make the mountall script run after all the
udev stuff but I can't quite remember.  I tried lots of things before
this one finally worked. Good luck, and if i manage to figure out the
hotplug mounting I'll be sure to post it.






I did check .config to see if "CONFIG_HOTPLUG=y": it is.

Checking /proc/sys/kernel/hotplug is a good idea: it contains
"/sbin/udevsend", which is what I would expect to see.

And also, the udevd daemon is indeed running.

~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
  Ing. Gabriele Filosofi
  [EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]>
  COSMED srl, R&D Department
  P.O. Box 3
  Via dei Piani di Monte Savello, 37
  00040 - Pavona di Albano, Rome - ITALY
  Voice: +39-06 931 5492, Fax: +39-06 931 4580
  http://www.cosmed.it<http://www.cosmed.it/>
 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~



___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


How to make the DVSDK working along with the git kernel

2008-08-28 Thread Gabriele Filosofi
Hi,

The DVSDK v1.30 available from TI is based on the MontaVista Linux 2.6.10 Linux 
Support Package.
In these weeks I made some effort to port the git kernel 2.6.25 to my 
DM6446-based board.
Now, does anybody know how to make the DVSDK v1.30 working along with the git 
kernel 2.6.25?
Also a high level flow would suffice.

Thanks

Gabriele


___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


R: I: how can I get visibility to the full 32MB size of my flash?

2008-08-08 Thread Gabriele Filosofi
Albert,

first of all, your device shoud be connected properly to the EMIF bus. Let's 
assume you did it.

KERNEL CHANGES:

Be sure to have in .config

CONFIG_MTD_PHYSMAP_START=0x200   (or wherever your flash base address is)
CONFIG_MTD_PHYSMAP_LEN=0x200(i.e. 32MB)

In arch/arm/mach-davinci/board-yourboardname.c (or wherever your flash 
partitions are defined) you have to have

static struct resource davinci_yourboardname_norflash_resource = {
.start = NOR_FLASH_PHYS,
   //i.e. 0x200
.end = NOR_FLASH_PHYS + SZ_32M - 1; 
//i.e. 0x200 + 0x200 - 1
.flags = IORESOURCE_MEM,
};

U-BOOT CHANGES:

But, I'm not sure this is all what you need. The flash device is initialized by 
the bootloader. I applied the following changes to u-boot (1.1.4) to make it 
able to recognize my flash (INTEL PC28F256P30B85):

board/yourboardname/flash_params.h
be sure NORFlashType enum contains your flash type (in my case it is 
FLASH_INTEL_P30_32MB_BOTTOM)

board/yourboardname/flash.c
in flash_print_info() add
   case  FLASH_28F256P30B: fmt = "28F256P30B\n"; 
break;
in flash_get_size() add
case (FPW)INTEL_ID_28F256P30B: /* Intel 
StrataFlash 28F256P30B */
   info->flash_id += FLASH_28F256P30B;
   info->sector_count = 259;
   info->size = 0x0200;
   for (i = 0; i < info->sector_count; i++)
   {
   if (i < 255)
   info->start[i] = 
(ulong)addr + 0x2 * i;
   else
   info->start[i] = 
(ulong)addr + 0xfe + 0x8000 * (i-255);
   }
   break;

in include/flash.h add the following definitions. They specify the number and 
size of sectors (you can find these values consulting the datasheet)
#define INTEL_ID_28F256P30B0x891C891C
#define FLASH_28F256P30B  0x00BD

I hope this helps

Regards

Gabriele

Da: Albert Burbea [mailto:[EMAIL PROTECTED]
Inviato: giovedì 7 agosto 2008 18.08
A: Gabriele Filosofi
Cc: davinci-linux-open-source@linux.davincidsp.com
Oggetto: Re: I: how can I get visibility to the full 32MB size of my flash?

hi gabriele
can you please explain how you did it?
Albert


On 8/7/08, Gabriele Filosofi <[EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]>> 
wrote:
Hi,

For your information, this is just a SW limitation, not an intrinsic EMIF 
limitation. Indeed I was able to adjust things in SW and now the entire 32MB 
flash space can be accessed on my board.

Gabriele
_____
Da: Gabriele Filosofi
Inviato: mercoledì 6 agosto 2008 11.54
A: 
'davinci-linux-open-source@linux.davincidsp.com<mailto:davinci-linux-open-source@linux.davincidsp.com>'
Oggetto: how can I get visibility to the full 32MB size of my flash?


Hi,

I Read that DaVinci supports only 16MByte NOR. Is this a device or a SW 
limitation? If it is a SW limitation, how can I get visibility to the full 
32MByte size of my flash?

Thanks a lot

Gabriele




___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com<mailto:Davinci-linux-open-source@linux.davincidsp.com>
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source



--
Albert Burbea
Harishonim 8
Ramat Gan 52502, Israel
Tel/Fax + 972-3-7526016
Mobile: +972-52-3541842
___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


I: how can I get visibility to the full 32MB size of my flash?

2008-08-07 Thread Gabriele Filosofi
Hi,

For your information, this is just a SW limitation, not an intrinsic EMIF 
limitation. Indeed I was able to adjust things in SW and now the entire 32MB 
flash space can be accessed on my board.

Gabriele
_
Da: Gabriele Filosofi
Inviato: mercoledì 6 agosto 2008 11.54
A: 'davinci-linux-open-source@linux.davincidsp.com'
Oggetto: how can I get visibility to the full 32MB size of my flash?


Hi,

I Read that DaVinci supports only 16MByte NOR. Is this a device or a SW 
limitation? If it is a SW limitation, how can I get visibility to the full 
32MByte size of my flash?

Thanks a lot

Gabriele



___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


how can I get visibility to the full 32MB size of my flash?

2008-08-06 Thread Gabriele Filosofi
Hi,

I Read that DaVinci supports only 16MByte NOR. Is this a device or a SW 
limitation? If it is a SW limitation, how can I get visibility to the full 
32MByte size of my flash?

Thanks a lot

Gabriele



___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


kernel panic in mounting jffs2 from nor. Did I miss something?

2008-08-04 Thread Gabriele Filosofi
Hi,
I am trying to flash jffs2 FS into NOR flash and boot the board from TFTP 
(2.6.25-davinci1 git kernel).
First, I've edited my board-ipvp.c as follows (in my case sector size is 128KB):

static struct mtd_partition davinci_ipvp_norflash_partitions[] = {
/* bootloader (U-Boot, etc) in first 4 sectors */
{
.name   = "bootloader",
.offset = 0,
.size   = 1 * SZ_128K,
.mask_flags = MTD_WRITEABLE, /* force read-only */
},
/* bootloader params in the next 1 sectors */
{
.name   = "params",
.offset = MTDPART_OFS_APPEND,
.size   = SZ_128K,
.mask_flags = 0,
},
/* spare sector */
{
.name   = "spare",
.offset = MTDPART_OFS_APPEND,
.size   = SZ_128K,
.mask_flags = 0,
},
/* kernel */
{
.name   = "kernel",
.offset = MTDPART_OFS_APPEND,
.size   = SZ_2M,
.mask_flags = 0
},
/* file system */
{
.name   = "filesystem",
.offset = MTDPART_OFS_APPEND,
.size   = MTDPART_SIZ_FULL,
.mask_flags = 0
}
};

so the 5 MTD partitions should look like this:

0x-0x0002 : "bootloader"
0x0002-0x0004 : "params"
0x0004-0x0006 : "spare"
0x0006-0x0026 : "kernel"
0x0026-0x0100 : "filesystem"

Nor Flash and MTD support are enabled by menuconfig.
Then, I used the sample ramdisk.gz mentioned from spraah2.pdf to prepare the 
jffs2 FS:

gunzip ramdisk.gz
mkdir myrootfs
mount -o loop ramdisk myrootfs
mkfs.jffs2 -d myrootfs -o rootfs.jffs2 -e 0x2

Then I successfully flashed the jffs2 FS into NOR flash at address 0x226 
using u-boot utilities.

Now, uImage is ready in my /tftpboot.
The environment variables are as follows:

bootdelay=10
baudrate=115200
bootdir=boot
nfshost=192.168.0.243
dnsip=192.168.0.202
dnsip2=192.168.0.201
bootfile=uImage
rootpath=/home/gabriele/workdir/filesys_2.6.25
filesize=40de10
fileaddr=8070
gatewayip=192.168.0.243
netmask=255.255.255.0
ipaddr=192.168.0.244
serverip=192.168.0.243
stdin=serial
stdout=serial
stderr=serial
ethaddr=a0:a1:a2:a3:a4:a5
bootcmd=tftp 0x8070 uImage; bootm 0x8070
videostd=pal
bootargs=console=ttyS0,115200n8 noinitrd rw root=/dev/mtdblock4 rw noinitrd 
noatime rootfstype=jffs2 ip=192.168.0.244 mem=120M

When i tried to boot it is giving kernel panic:

TFTP from server 192.168.0.243; our IP address is 192.168.0.244
Filename 'uImage'.
Load address: 0x8070
Loading: *#
 #
 #
 #
 
done
Bytes transferred = 1491780 (16c344 hex)
## Booting image at 8070 ...
   Image Name:   Linux-2.6.25rc1-davinci1
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:1491716 Bytes =  1.4 MB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... OK
OK

Starting kernel ...

Uncompressing 
Linux..
 done, booting the kernel.
<5>Linux version 2.6.25rc1-davinci1 ([EMAIL PROTECTED]) (gcc version 3.4.3 
(MontaVista 3.4.3-25.0.104.0600975 2006-07-06)) #23 PREEMPT Mon Aug 4 13:09:00 
CEST 2008

CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
Machine: DaVinci IPvPhone
Memory policy: ECC disabled, Data cache writeback
<7>On node 0 totalpages: 30720
<7>  DMA zone: 240 pages used for memmap
<7>  DMA zone: 0 pages reserved
<7>  DMA zone: 30480 pages, LIFO batch:7
<7>  Normal zone: 0 pages used for memmap
<7>  Movable zone: 0 pages used for memmap
DaVinci DM6446 variant 0x0

CPU0: D VIVT write-back cache
CPU0: I cache: 16384 bytes, associativity 4, 32 byte lines, 128 sets
CPU0: D cache: 8192 bytes, associativity 4, 32 byte lines, 64 sets
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 30480
<5>Kernel command line: console=ttyS0,115200n8 noinitrd rw root=/dev/mtdblock4 
rw noinitrd noatime rootfstype=jffs2 ip=192.168.0.244 mem=120M
PID hash table entries: 512 (order: 9, 2048 bytes)
Console: colour dummy device 80x30
<6>Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
<6>Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
<6>Memory: 120MB = 120MB total
<5>Memory: 118528KB available (2796K code, 273K data, 128K init)
<7>Calibrating delay loop... 127.79 BogoMIPS (lpj=638976)
Mount-cache hash table entries: 512
<6>CPU: Testing write buffer coherency: ok
<6>net_namespace: 624 bytes
<6>NET

how to apply a patch coming from the mailing-list

2008-08-01 Thread Gabriele Filosofi
Hi,
I'm beginning to use quilt to keep track of my changes to the kernel.
Can any body help me about how to apply a patch coming from the mailing-list? 
Cut and paste, or whatelse?
Thanks a lot

Gabriele

___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


can't mount the root file system using NFS

2008-07-30 Thread Gabriele Filosofi
Hi,everyone.
I encounter some difficult when i boot my linux on a NFS.
The u-boot parameters:

bootargs=console=ttyS0,115200n8 noinitrd rw ip=192.168.0.244 root=/dev/nfs 
nfsroot=192.168.0.243:/home/gabriele/workdir/filesys,nolock mem=120M

With MV LSP 1.20 it worked fine, but with git version 2.6.25  the system boot 
up messages are:

Starting kernel ...

Uncompressing 
Linux
 done, booting the kernel.
Linux version 2.6.251 ([EMAIL PROTECTED]) (gcc version 3.4.3 (MontaVista 
3.4.3-25.0.104.0600975 2006-07-06)) #7 Wed Jul 30 02:46:30 CEST 2008
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
Machine: DaVinci IPvPhone
Memory policy: ECC disabled, Data cache writeback
DaVinci DM6446 variant 0x0
CPU0: D VIVT write-back cache
CPU0: I cache: 16384 bytes, associativity 4, 32 byte lines, 128 sets
CPU0: D cache: 8192 bytes, associativity 4, 32 byte lines, 64 sets
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 30480
Kernel command line: console=ttyS0,115200n8 noinitrd rw ip=192.168.0.244 
root=/dev/nfs nfsroot=192.168.0.243:/home/gabriele/workdir/filesys,nolock 
mem=120M
PID hash table entries: 512 (order: 9, 2048 bytes)
Console: colour dummy device 80x30
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 120MB = 120MB total
Memory: 118784KB available (2508K code, 351K data, 112K init)
SLUB: Genslabs=12, HWalign=32, Order=0-1, MinObjects=4, CPUs=1, Nodes=1
Security Framework initialized
SELinux:  Initializing.
selinux_register_security:  Registering secondary module capability
Capability LSM initialized as secondary
Mount-cache hash table entries: 512
Initializing cgroup subsys ns
Initializing cgroup subsys cpuacct
CPU: Testing write buffer coherency: ok
net_namespace: 444 bytes
NET: Registered protocol family 16
DaVinci: 71 gpio irqs
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
NetLabel: Initializing
NetLabel:  domain hash size = 128
NetLabel:  protocols = UNLABELED CIPSOv4
NetLabel:  unlabeled traffic allowed by default
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
audit: initializing netlink socket (disabled)
type=2000 audit(0.440:1): initialized
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
Non-volatile memory driver v1.2
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
serial8250.0: ttyS0 at MMIO 0x1c2 (irq = 40) is a 16550A
console [ttyS0] enabled
brd: module loaded
mice: PS/2 mouse device common for all mice
usbcore: registered new interface driver hiddev
usbcore: registered new interface driver usbhid
drivers/hid/usbhid/hid-core.c: v2.6:USB HID core driver
TCP cubic registered
Initializing XFRM netlink socket
NET: Registered protocol family 1
NET: Registered protocol family 17
registered taskstats version 1
List of all partitions:
0100  16384 ram0 (driver?)
0101  16384 ram1 (driver?)
0102  16384 ram2 (driver?)
0103  16384 ram3 (driver?)
0104  16384 ram4 (driver?)
0105  16384 ram5 (driver?)
0106  16384 ram6 (driver?)
0107  16384 ram7 (driver?)
0108  16384 ram8 (driver?)
0109  16384 ram9 (driver?)
010a  16384 ram10 (driver?)
010b  16384 ram11 (driver?)
010c  16384 ram12 (driver?)
010d  16384 ram13 (driver?)
010e  16384 ram14 (driver?)
010f  16384 ram15 (driver?)
No filesystem could mount root, tried:
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,255)

  Thanks!

~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
  Ing. Gabriele Filosofi
  [EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]>
  COSMED srl, R&D Department
  P.O. Box 3
  Via dei Piani di Monte Savello, 37
  00040 - Pavona di Albano, Rome - ITALY
  Voice: +39-06 931 5492, Fax: +39-06 931 4580
  http://www.cosmed.it<http://www.cosmed.it/>
 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~



___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


Does Blackhawk BH-USB-2 emulator support 1.8V targets?

2008-06-18 Thread Gabriele Filosofi
Hi

Does anyone knows whether does Blackhawk BH-USB-2 emulator support 1.8V targets?
I would like to use this emulator with our DM6441-based custom board (silicon 
revision 1.3).
As reported in the datasheet, this emulator pod supports 1.0 to 5.0 volt.
This concern arises from the fact that I see an error message "CANNOT DETECT 
TARGET POWER" when I invoke the emulation reset from CCS_3.2 IDE.

Thanks and regards

Gabriele Filosofi

~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
  Ing. Gabriele Filosofi
  [EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]>
  COSMED srl, R&D Department
  P.O. Box 3
  Via dei Piani di Monte Savello, 37
  00040 - Pavona di Albano, Rome - ITALY
  Voice: +39-06 931 5492, Fax: +39-06 931 4580
  http://www.cosmed.it<http://www.cosmed.it/>
 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~



___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


DVFlasher problem in erasing NOR Flash

2008-06-16 Thread Gabriele Filosofi
Hi,

I'm trying the DVFlasher_1_14 with the custom designed board with 32MB NOR 
Flash (Intel) and 128MB RAM.
I know the UBL is hardcoded to run on boards with 256MB RAM, so i changed nor.h 
accordingly

#define MAX_IMAGE_SIZE  (0x0100) //org:(0x0200)
#define RAM_END_ADDR(0x87FF)  //org: (0x8FFF)

Now, when I try to erase the NOR flash with

>DVFlasher_1_14.exe   -enor

I get the following messages:




-
   TI DVFlasher Host Program for DM644x
   (C) 2007, Texas Instruments, Inc.
-

Platform is Windows.
Globally erasing NOR flash.

Attempting to connect to device COM1...
Press any key to end this program at any time.

Waiting for DVEVM...
BOOTME commmand received. Returning ACK and header...
ACK command sent. Waiting for BEGIN command...
DVEVM:BEGIN
BEGIN commmand received. Sending CRC table...
CRC table sent.  Waiting for DONE...
DONE received.  Sending the UART UBL file...
DONE received.  UART UBL file was accepted.
UART UBL Transmitted successfully.

DVEVM:  TI UBL Version: 1.14, Flash type: NOR
DVEVM:  Booting PSP Boot Loader
DVEVM:  PSPBootMode = UART

Waiting for UBL on DVEVM...
UBL's BOOTPSP commmand received. Returning CMD and command...
CMD value sent.
DVEVM:  NOR Initialization:
DVEVM:  Command Set: Intel
DVEVM:  Manufacturer: INTEL
DVEVM:  Size (in bytes): 0x0200
DVEVM:  start addr: 0x0200
DVEVM:  Erasing the NOR Flash
DVEVM:  Erased through 0x02008000
DVEVM:  Erased through 0x0201
DVEVM:  Erased through 0x02018000
DVEVM:  Erased through 0x0202
DVEVM:  Erased through 0x0204
DVEVM:  Erased through 0x0206

  .

DVEVM:  Erased through 0x027C





then the program halts. Nothing happens any more.
Sometimes it halts at this address, sometimes at another. Is it a hardware
problem on the EMIF bus? Have I forgot something in configuring the UBL?
Can anyone please help me out in resolving this issue. Thanks in advance.

Thanks and Regards

Gabriele Filosofi
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
  Ing. Gabriele Filosofi
  [EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]>
  COSMED srl, R&D Department
  P.O. Box 3
  Via dei Piani di Monte Savello, 37
  00040 - Pavona di Albano, Rome - ITALY
  Voice: +39-06 931 5492, Fax: +39-06 931 4580
  http://www.cosmed.it<http://www.cosmed.it/>
 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~



___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


Is RTCK driven when /TRST is asserted?

2008-01-07 Thread Gabriele Filosofi
Hi,

I'm involved in a DM6441 based project development.
I need to know if JTAG test-port return clock output (RTCK) is driven or not
when JTAG test-port reset (/TRST) is asserted.

Thanks & Regards,

Gabriele Filosofi

___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source