
I've been trying to get usbtty working on a DM355 (still isn't working...) and ran into a bug(?).
In drivers/usb/musb/davinci.h:
struct davinci_usb_regs { u32 version; u32 ctrlr; u32 reserved[0x20]; u32 intclrr; u32 intmskr; u32 intmsksetr; };
Shouldn't this be reserved[0x20/4] ?
-- Neal Tew

-----Original Message----- From: u-boot-bounces@lists.denx.de [mailto:u-boot-bounces@lists.denx.de] On Behalf Of Neal Tew Sent: Friday, February 05, 2010 3:33 AM To: u-boot@lists.denx.de Subject: [U-Boot] TI Davinci and MUSB
I've been trying to get usbtty working on a DM355 (still isn't working...) and ran into a bug(?).
In drivers/usb/musb/davinci.h:
struct davinci_usb_regs { u32 version; u32 ctrlr; u32 reserved[0x20]; u32 intclrr; u32 intmskr; u32 intmsksetr; };
Shouldn't this be reserved[0x20/4] ?
Yes, this is a bug. Though the correct fix is, - u32 reserved[0x20]; + u32 reserved[5];
Please refer musb Davinci (DM6446) document (page-74) at, http://focus.ti.com/lit/ug/sprue35f/sprue35f.pdf
-->4h CTRLR Control Register Section 4.1 8h STATR Status Register Section 4.2 10h RNDISR RNDIS Register Section 4.3 14h AUTOREQ Autorequest Register Section 4.4 20h INTSRCR USB Interrupt Source Register Section 4.5 24h INTSETR USB Interrupt Source Set Register Section 4.6 -->28h INTCLRR USB Interrupt Source Clear Register
-Ajay
-- Neal Tew _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot

[5]? I don't think that's right. Look at the offsets.
-Neal
I've been trying to get usbtty working on a DM355 (still isn't working...) and ran into a bug(?).
In drivers/usb/musb/davinci.h:
struct davinci_usb_regs { u32 version; u32 ctrlr; u32 reserved[0x20]; u32 intclrr; u32 intmskr; u32 intmsksetr; };
Shouldn't this be reserved[0x20/4] ?
Yes, this is a bug. Though the correct fix is, - u32 reserved[0x20]; + u32 reserved[5];
Please refer musb Davinci (DM6446) document (page-74) at, http://focus.ti.com/lit/ug/sprue35f/sprue35f.pdf
-->4h CTRLR Control Register Section 4.1 8h STATR Status Register Section 4.2 10h RNDISR RNDIS Register Section 4.3 14h AUTOREQ Autorequest Register Section 4.4 20h INTSRCR USB Interrupt Source Register Section 4.5 24h INTSETR USB Interrupt Source Set Register Section 4.6 -->28h INTCLRR USB Interrupt Source Clear Register
-Ajay
-- Neal Tew

-----Original Message----- From: Neal Tew [mailto:loopy@mm.st] Sent: Friday, February 05, 2010 11:20 AM To: u-boot@lists.denx.de Cc: Gupta, Ajay Kumar Subject: Re: [U-Boot] TI Davinci and MUSB
[5]? I don't think that's right. Look at the offsets.
-Neal
I've been trying to get usbtty working on a DM355 (still isn't working...) and ran into a bug(?).
In drivers/usb/musb/davinci.h:
struct davinci_usb_regs { u32 version; u32 ctrlr; u32 reserved[0x20]; u32 intclrr; u32 intmskr; u32 intmsksetr; };
Shouldn't this be reserved[0x20/4] ?
Yes, this is a bug. Though the correct fix is,
- u32 reserved[0x20];
- u32 reserved[5];
Opps, there are actually 32 intermediate register each of 32 bits.
So the correct one is as Neal suggested.
- u32 reserved[0x20]; + u32 reserved[020/4];
-Ajay
Please refer musb Davinci (DM6446) document (page-74) at, http://focus.ti.com/lit/ug/sprue35f/sprue35f.pdf
-->4h CTRLR Control Register Section 4.1 8h STATR Status Register Section 4.2 10h RNDISR RNDIS Register Section 4.3 14h AUTOREQ Autorequest Register Section 4.4 20h INTSRCR USB Interrupt Source Register Section 4.5 24h INTSETR USB Interrupt Source Set Register Section 4.6 -->28h INTCLRR USB Interrupt Source Clear Register
-Ajay
-- Neal Tew

Dear "Gupta, Ajay Kumar",
In message 19F8576C6E063C45BE387C64729E7394044A776008@dbde02.ent.ti.com you wrote:
Opps, there are actually 32 intermediate register each of 32 bits.
So the correct one is as Neal suggested.
- u32 reserved[0x20];
- u32 reserved[020/4];
0x20 / 4 = 8
020 / 4 = 4
Best regards,
Wolfgang Denk

-----Original Message----- From: Wolfgang Denk [mailto:wd@denx.de] Sent: Friday, February 05, 2010 12:12 PM To: Gupta, Ajay Kumar Cc: Neal Tew; u-boot@lists.denx.de Subject: Re: [U-Boot] TI Davinci and MUSB
Dear "Gupta, Ajay Kumar",
In message 19F8576C6E063C45BE387C64729E7394044A776008@dbde02.ent.ti.com you wrote:
Opps, there are actually 32 intermediate register each of 32 bits.
So the correct one is as Neal suggested.
- u32 reserved[0x20];
- u32 reserved[020/4];
0x20 / 4 = 8
020 / 4 = 4
It was typing mistake...
Thanks, Ajay
Best regards,
Wolfgang Denk
-- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de One difference between a man and a machine is that a machine is quiet when well oiled.

Dear "Gupta, Ajay Kumar",
In message 19F8576C6E063C45BE387C64729E7394044A775FE3@dbde02.ent.ti.com you wrote:
u32 reserved[0x20]; u32 intclrr; u32 intmskr; u32 intmsksetr;
};
Shouldn't this be reserved[0x20/4] ?
Yes, this is a bug. Though the correct fix is,
- u32 reserved[0x20];
- u32 reserved[5];
Umm...
Please refer musb Davinci (DM6446) document (page-74) at, http://focus.ti.com/lit/ug/sprue35f/sprue35f.pdf
-->4h CTRLR Control Register Section 4.1 8h STATR Status Register Section 4.2 10h RNDISR RNDIS Register Section 4.3 14h AUTOREQ Autorequest Register Section 4.4 20h INTSRCR USB Interrupt Source Register Section 4.5 24h INTSETR USB Interrupt Source Set Register Section 4.6 -->28h INTCLRR USB Interrupt Source Clear Register
Why don't we add these fields to he struct above if they are not actually reserved, but have a documented use?
Best regards,
Wolfgang Denk
participants (3)
-
Gupta, Ajay Kumar
-
Neal Tew
-
Wolfgang Denk