thank you Dirk, the problem is resolved by following your suggestion and i have built a new kernel. ----- Original Message ----- From: <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Saturday, March 22, 2008 6:52 PM
Subject: Davinci-linux-open-source Digest, Vol 27, Issue 92


Send Davinci-linux-open-source mailing list submissions to
[email protected]

To subscribe or unsubscribe via the World Wide Web, visit
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

or, via email, send a message with subject or body 'help' to
[EMAIL PROTECTED]

You can reach the person managing the list at
[EMAIL PROTECTED]

When replying, please edit your Subject line so it is more specific
than "Re: Contents of Davinci-linux-open-source digest..."


Today's Topics:

  1. RE: Davinci git tree issue (Hunter, Jon)
  2. Re: Davinci git tree issue (Dirk Behme)
  3. Re: [RFC][PATCH 1/1] I2C: DaVinci: Fix smbus Oops with AIC33
     usage (Dirk Behme)
  4. help:problem of rebuild new linux kernel of dm355 (Jammy)
  5. Re: help:problem of rebuild new linux kernel of dm355 (Dirk Behme)
  6. Loading uBoot for first time ( Ant?nio Silva )


----------------------------------------------------------------------

Message: 1
Date: Fri, 21 Mar 2008 15:54:34 -0500
From: "Hunter, Jon" <[EMAIL PROTECTED]>
Subject: RE: Davinci git tree issue
To: "Dirk Behme" <[EMAIL PROTECTED]>
Cc: [email protected]
Message-ID:
<[EMAIL PROTECTED]>
Content-Type: text/plain; charset="us-ascii"

Any special reason why you try http protocol?

Normally you will use

git-clone git://source.mvista.com/git/linux-davinci-2.6.git
linux-davinci-git

Some years ago I tried http protocol behind a firewall and it was a
pain. Never got it working properly. Don't know if it works today,
though.

Yes, the linux PC I am using is behind a firewall and my understanding
is that I need to use http. In the past I have been able to get this to
work quite well just defining "http_proxy".

Btw: Which git version do you use? For http you should use the latest
one.

Just checked and I am using v1.4.4.4. I will upgrade to the latest and
see if this helps.

If you guys are having no issues outside of any firewalls then this does
imply it is our setup here.

Cheers
Jon


------------------------------

Message: 2
Date: Fri, 21 Mar 2008 22:01:29 +0100
From: Dirk Behme <[EMAIL PROTECTED]>
Subject: Re: Davinci git tree issue
To: "Hunter, Jon" <[EMAIL PROTECTED]>
Cc: [email protected]
Message-ID: <[EMAIL PROTECTED]>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed

Hunter, Jon wrote:
Any special reason why you try http protocol?

Normally you will use

git-clone git://source.mvista.com/git/linux-davinci-2.6.git
linux-davinci-git

Some years ago I tried http protocol behind a firewall and it was a
pain. Never got it working properly. Don't know if it works today,

though.

Yes, the linux PC I am using is behind a firewall and my understanding
is that I need to use http. In the past I have been able to get this to
work quite well just defining "http_proxy".

Nice to hear that you get it working over proxy :)

Btw: Which git version do you use? For http you should use the latest

one.

Just checked and I am using v1.4.4.4. I will upgrade to the latest and
see if this helps.

If you guys are having no issues outside of any firewalls then this does
imply it is our setup here.

I just did an update, so not sure if I would have noticed any issues
for complete new download.

Dirk


------------------------------

Message: 3
Date: Fri, 21 Mar 2008 22:13:32 +0100
From: Dirk Behme <[EMAIL PROTECTED]>
Subject: Re: [RFC][PATCH 1/1] I2C: DaVinci: Fix smbus Oops with AIC33
usage
To: Alexander Vasiliev <[EMAIL PROTECTED]>
Cc: [email protected]
Message-ID: <[EMAIL PROTECTED]>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed

Alexander Vasiliev wrote:
Hi, Dirk.

As i remember the problem is that Davinci cannot send zero length
packets on i2c. To find
device on some address linux (i2c_probe_address in i2c-core.c) sends
zero length packets.
So in  i2c_davinci_xfer_msg(in i2c-davinci.c)  we use the hack -
//////////////////////////////////////////////////////
#ifndef DAVINCI_HACK
dev->buf = msg->buf;
dev->buf_len = msg->len;
#else
if (msg->len == 0) {
dev->buf = &zero_byte;
dev->buf_len = 1;
} else {
dev->buf = msg->buf;
dev->buf_len = msg->len;
}
#endif
/////////////////////////////////////////////////////
and hope that Davinci sends address byte + one byte.

Yes, that is my understanding as well.

But it sends only
address byte in this case. It seems like AIC33 terminates transfer.

Did you measure this with logic analyzer or similiar? Unfortunately,
I'm not sure if this is the root cause of the problem or if it is the
result of an error happening earlier. See below.

Then we detect stop condition interrupt, but dev->buf_len still equals
to 1. So i2c_davinci_xfer_msg(in i2c-davinci.c) returns -EREMOTEIO.
And linux thinks that there was no answer from that address.

Hmm, I'm not sure what might be the root cause of the problem. There
are two options. Maybe an I2C expert can comment?

While debugging, I found that the code scans for two AIC I2C addresses
(TLV320AIC23ID1 and TLV320AIC23ID2). While scanning the first ID
(which doesn't exist) the driver reports *no* error. And if I only
scan for the second, correct ID, this works as well. The error is
reported while scanning for the second (correct) ID.

So the two root cause options are:

a) Scanning for an I2C address basically doesn't work with the zero
length hack above. But trying this on a non-existing I2C ID doesn't
cause any error.

or

b) While scanning for the first non-existing ID the error exit path of
I2C driver (the "if (dev->cmd_err & DAVINCI_I2C_STR_NACK)" path)
doesn't exits cleanly. Then, I2C HW is in an intermediate state not
able to execute the next scan with (correct) I2C address properly.

I tend to (b). If anybody would confirm that with using only
TLV320AIC23ID2 and not scanning for TLV320AIC23ID1 audio works fine,
this would be a proof for (b) (?)

//////////////////////////////////////////////////////////
r = wait_for_completion_interruptible_timeout(&dev->cmd_complete,
      DAVINCI_I2C_TIMEOUT);
if (r == 0) {
dev_err(dev->dev, "controller timed out\n");
i2c_davinci_init(dev);
dev->buf = NULL;
return -ETIMEDOUT;
}
if (dev->buf_len) {             /*it is not NULL, as
/* signal may have aborted the transfer */
if (r >= 0) {
dev_err(dev->dev, "abnormal termination buf_len=%i\n",
dev->buf_len);
r = -EREMOTEIO;
}
dev->terminate = 1;
wmb();
dev->buf = NULL;
}
/////////////////////////////////////////////////////////////////////////////////////////

Here some kind of patch for function i2c_davinci_xfer_msg in file i2c-davinci.c

#ifndef DAVINCI_HACK
dev->buf = msg->buf;
dev->buf_len = msg->len;
#else
if (msg->len == 0) {
dev->buf = &zero_byte;
dev->buf_len = 1;
zero_byte = 1; /*it is u8. We don't wait for any data to be transfered*/
printk(KERN_INFO"I2CDavinci: trying to send zero bytes.\n");
} else {
dev->buf = msg->buf;
dev->buf_len = msg->len;
}
#endif
//////////////////////////////
r = wait_for_completion_interruptible_timeout(&dev->cmd_complete,
      DAVINCI_I2C_TIMEOUT);
if (r == 0) {
dev_err(dev->dev, "controller timed out\n");
i2c_davinci_init(dev);
dev->buf = NULL;
return -ETIMEDOUT;
}
if(zero_byte == 1)/*There is no problem, if transfer didn't occur.*/
>
dev->buf_len = 0;
if (dev->buf_len) {
////////////////////////////

Is there a special reason why you set zero_byte to 1 for the
detection? You could detect for 0 as well?

Why Davinci sends only address byte - that's the question is.

Anybody with an idea regarding this?

Many thanks

Dirk

2008/3/21, Dirk Behme <[EMAIL PROTECTED]>:

Make sure that in case access to non-exisiting I2C address is done HW
is reset afterwards and works properly for next access.

Signed-off-by: Dirk Behme <[EMAIL PROTECTED]>

Index: linux-davinci/drivers/i2c/busses/i2c-davinci.c
===================================================================
--- linux-davinci.orig/drivers/i2c/busses/i2c-davinci.c
+++ linux-davinci/drivers/i2c/busses/i2c-davinci.c
@@ -348,6 +348,12 @@ i2c_davinci_xfer_msg(struct i2c_adapter
w = davinci_i2c_read_reg(dev, DAVINCI_I2C_MDR_REG);
                       MOD_REG_BIT(w, DAVINCI_I2C_MDR_STP, 1);
davinci_i2c_write_reg(dev, DAVINCI_I2C_MDR_REG, w);
+#ifdef DAVINCI_HACK
+ /* Reset error for next access working properly again */ + w = davinci_i2c_read_reg(dev, DAVINCI_I2C_MDR_REG);
+                       MOD_REG_BIT(w, DAVINCI_I2C_MDR_IRS, 0);
+ davinci_i2c_write_reg(dev, DAVINCI_I2C_MDR_REG, w);
+#endif
               }
               return -EREMOTEIO;
       }


_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source







------------------------------

Message: 4
Date: Sat, 22 Mar 2008 14:02:29 +0800
From: "Jammy" <[EMAIL PROTECTED]>
Subject: help:problem of rebuild new linux kernel of dm355
To: <[email protected]>
Message-ID: <[EMAIL PROTECTED]>
Content-Type: text/plain; charset="gb2312"

Hi,all

i am developing the dm355 evm now and i found a problem of rebuilding new linux kernel.

when i use "make" command to build a new kernel, the message is as follows:

[EMAIL PROTECTED] ti-davinci]$ make ARCH=arm CROSS_COMPILE=arm_v5t_le- uImage
 CHK     include/linux/version.h
 SPLIT   include/linux/autoconf.h -> include/config/*
 SYMLINK include/asm-arm/arch -> include/asm-arm/arch-davinci
 CHK     include/asm-arm/constants.h
 CHK     include/linux/compile.h
 CHK     usr/initramfs_list
 Kernel: arch/arm/boot/Image is ready
 Kernel: arch/arm/boot/zImage is ready
 UIMAGE  arch/arm/boot/uImage
 "mkimage" command not found - U-Boot images will not be built
 Image arch/arm/boot/uImage is ready

why "mkimage" command not found, i have found the mkimage file in the path of /opt/mv_pro_4.0.1/montavista/pro/bin, but when i use "which" command, it said that:

which mkimage
/usr/bin/which: no mkimage in (/opt/mv_pro_4.0.1/montavista/pro/devkit/arm/v5t_le/bin: /opt/mv_pro_4.0.1/montavista/pro/bin: /opt/mv_pro_4.0.1/montavista/common/bin:/opt/mv_pro_4.0.1/montavista/pro/devkit/arm/v5t_le/bin: /opt/mv_pro_4.0.1/montavista/pro/bin: /opt/mv_pro_4.0.1/montavista/common/bin:/opt/mv_pro_4.0.1/montavista/pro/devkit/arm/v5t_le/bin: /opt/mv_pro_4.0.1/montavista/pro/bin: /opt/mv_pro_4.0.1/montavista/common/bin:/usr/lib/qt-3.3/bin:/usr/kerberos/bin:/usr/lib/ccache:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/hb0402/bin)

i do not know the reason is, is the path which i set is wrong? the content of .bashrc file in the root directory of my account of linux box is as follows:


# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
       . /etc/bashrc
fi

# User specific aliases and functions
PATH="/opt/mv_pro_4.0.1/montavista/pro/devkit/arm/v5t_le/bin: /opt/mv_pro_4.0.1/montavista/pro/bin: /opt/mv_pro_4.0.1/montavista/common/bin:$PATH"

i use the "source .bashrc" after the content of .bashrc is set.

when i use "echo $PATH" there are paths which i have set.

can you help me?

how can i rebuild a new linux kernel?

i am waiting for your reply, and thank you for reading my letter!

Best regards

Jammy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://linux.omap.com/pipermail/davinci-linux-open-source/attachments/20080322/e3cd643b/attachment-0001.htm

------------------------------

Message: 5
Date: Sat, 22 Mar 2008 07:12:12 +0100
From: Dirk Behme <[EMAIL PROTECTED]>
Subject: Re: help:problem of rebuild new linux kernel of dm355
To: Jammy <[EMAIL PROTECTED]>
Cc: [email protected]
Message-ID: <[EMAIL PROTECTED]>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed

Jammy wrote:
Hi,all

i am developing the dm355 evm now and i found a problem of rebuilding
new linux kernel.

when i use "make" command to build a new kernel, the message is as follows:

[EMAIL PROTECTED] ti-davinci]$ make ARCH=arm CROSS_COMPILE=arm_v5t_le-
uImage
  CHK     include/linux/version.h
  SPLIT   include/linux/autoconf.h -> include/config/*
  SYMLINK include/asm-arm/arch -> include/asm-arm/arch-davinci
  CHK     include/asm-arm/constants.h
  CHK     include/linux/compile.h
  CHK     usr/initramfs_list
  Kernel: arch/arm/boot/Image is ready
  Kernel: arch/arm/boot/zImage is ready
  UIMAGE  arch/arm/boot/uImage
  "mkimage" command not found - U-Boot images will not be built
  Image arch/arm/boot/uImage is ready

why "mkimage" command not found, i have found the mkimage file in the
path of /opt/mv_pro_4.0.1/montavista/pro/bin, but when i use "which"
command, it said that:

which mkimage
/usr/bin/which: no mkimage in
(/opt/mv_pro_4.0.1/montavista/pro/devkit/arm/v5t_le/bin:
/opt/mv_pro_4.0.1/montavista/pro/bin:
/opt/mv_pro_4.0.1/montavista/common/bin:/opt/mv_pro_4.0.1/montavista/pro/devkit/arm/v5t_le/bin:
/opt/mv_pro_4.0.1/montavista/pro/bin:
/opt/mv_pro_4.0.1/montavista/common/bin:/opt/mv_pro_4.0.1/montavista/pro/devkit/arm/v5t_le/bin:
/opt/mv_pro_4.0.1/montavista/pro/bin:
/opt/mv_pro_4.0.1/montavista/common/bin:/usr/lib/qt-3.3/bin:/usr/kerberos/bin:/usr/lib/ccache:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/hb0402/bin)

i do not know the reason is, is the path which i set is wrong? the
content of .bashrc file in the root directory of my account of linux box
is as follows:


# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

# User specific aliases and functions
PATH="/opt/mv_pro_4.0.1/montavista/pro/devkit/arm/v5t_le/bin:
/opt/mv_pro_4.0.1/montavista/pro/bin:
/opt/mv_pro_4.0.1/montavista/common/bin:$PATH"

i use the "source .bashrc" after the content of .bashrc is set.

when i use "echo $PATH" there are paths which i have set.

can you help me?

how can i rebuild a new linux kernel?

i am waiting for your reply, and thank you for reading my letter!

What do you get after executing

export PATH=$PATH:/opt/mv_pro_4.0.1/montavista/pro/bin
chmod a+x /opt/mv_pro_4.0.1/montavista/pro/bin/mkimage
mkimage

at your bash prompt?

Dirk


------------------------------

Message: 6
Date: Sat, 22 Mar 2008 10:52:29 +0000
From: " Ant?nio Silva " <[EMAIL PROTECTED]>
Subject: Loading uBoot for first time
To: [email protected]
Message-ID:
<[EMAIL PROTECTED]>
Content-Type: text/plain; charset="iso-8859-1"

Hello,

I am starting working with dm355 EVM, and one question arises: Is there's
any other way to load uBoot without Code Composer Studio?? Is there any
open-source aplication do perform this?
It seems a waste having to buy CCS only to load the flash with uBoot.

Best Regards,

A.Silva
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://linux.omap.com/pipermail/davinci-linux-open-source/attachments/20080322/cd84af0b/attachment.htm

------------------------------

_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


End of Davinci-linux-open-source Digest, Vol 27, Issue 92
*********************************************************

_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to