public inbox for ecos-bugs@sourceware.org help / color / mirror / Atom feed
From: bugzilla-daemon@bugs.ecos.sourceware.org To: ecos-bugs@ecos.sourceware.org Subject: [Bug 1001397] I2C driver for Kinetic microcontrollers Date: Sat, 02 Mar 2013 18:08:00 -0000 [thread overview] Message-ID: <bug-1001397-13-vyhKLkdxCF@http.bugs.ecos.sourceware.org/> (raw) In-Reply-To: <bug-1001397-13@http.bugs.ecos.sourceware.org/> Please do not reply to this email, use the link below. http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001397 --- Comment #40 from Mike Jones <mjones@linear.com> --- Created attachment 2112 --> http://bugs.ecos.sourceware.org/attachment.cgi?id=2112&action=edit Control clock rate, fix race condition, bug fix This patch contains new code for managing clock speed that was added by Ilija. He can provide a ChangeLog for that if desired. I tested/modified his code and fixed bugs. There was a race condition that caused the driver to lockup if bits were not set/cleared at the right time, and a few other small things. I don't remember the exact changes any more without a fresh diff against the original patch, but I remember the 3 days on the bench with a scope hunting it down :-) The original author can diff against this version if desired. The actual bug fixes are just a few lines of critical code. I have run this on three PMBus devices extensively including a several day 24 hour telemetry run, meaning constant traffic reading and writing. There were no errors. If anyone wants to do more testing, I suggest testing something faster than PMBus which maxes out at 400Khz. In the future this could be improved to add API to manage SMBus features such as the timeout mechanism. I don't have time at the moment to do that. I suggest the original author (or others( apply the patch and test their existing application. If nobody has any problems, I feel this code is safe to commit to CVS. Some example code: const cyg_uint32 i2c_bus_time = 10000; cyg_i2c_device device = { \ .i2c_bus = &cyg_i2c0_bus, \ .i2c_address = address, \ .i2c_flags = 0, \ .i2c_delay = i2c_bus_time \ }; cyg_uint8 buffer[1]; cyg_uint8 input[1]; buffer[0] = command; cyg_i2c_transaction_begin(&device); if(!cyg_i2c_transaction_tx(&device, true, &buffer[0], 1, false)) { diag_printf("Read Byte: fail TX.\n"); } else if(!cyg_i2c_transaction_rx(&device, true, &input[0], 1, true, true)) { diag_printf("Read Byte: fail RX.\n"); } cyg_i2c_transaction_end(&device); return input[0]; -- You are receiving this mail because: You are on the CC list for the bug.
next prev parent reply other threads:[~2013-03-02 18:08 UTC|newest] Thread overview: 131+ messages / expand[flat|nested] mbox.gz Atom feed top 2011-12-01 13:44 [Bug 1001397] New: " bugzilla-daemon 2011-12-01 15:24 ` [Bug 1001397] " bugzilla-daemon 2011-12-01 15:48 ` bugzilla-daemon 2011-12-01 15:52 ` bugzilla-daemon 2011-12-01 15:58 ` bugzilla-daemon 2011-12-13 15:13 ` bugzilla-daemon 2011-12-23 10:40 ` bugzilla-daemon 2011-12-23 13:28 ` bugzilla-daemon 2011-12-23 14:14 ` bugzilla-daemon 2011-12-23 14:15 ` bugzilla-daemon 2011-12-24 9:22 ` bugzilla-daemon 2011-12-24 11:59 ` bugzilla-daemon 2011-12-26 7:32 ` bugzilla-daemon 2012-01-01 21:29 ` bugzilla-daemon 2012-01-10 15:40 ` bugzilla-daemon 2012-01-11 20:33 ` bugzilla-daemon 2012-01-16 14:31 ` bugzilla-daemon 2012-02-07 20:38 ` bugzilla-daemon 2012-02-08 9:12 ` bugzilla-daemon 2012-02-08 9:55 ` bugzilla-daemon 2012-02-11 0:16 ` bugzilla-daemon 2012-02-11 10:14 ` bugzilla-daemon 2012-02-12 19:11 ` bugzilla-daemon 2012-02-12 19:11 ` bugzilla-daemon 2012-02-23 16:11 ` bugzilla-daemon 2012-03-20 15:17 ` bugzilla-daemon 2012-03-31 17:17 ` bugzilla-daemon 2012-05-04 18:32 ` bugzilla-daemon 2012-12-21 20:46 ` bugzilla-daemon 2012-12-24 9:52 ` bugzilla-daemon 2012-12-24 16:53 ` bugzilla-daemon 2012-12-24 16:54 ` bugzilla-daemon 2012-12-24 16:56 ` bugzilla-daemon 2012-12-24 16:56 ` bugzilla-daemon 2012-12-24 17:14 ` bugzilla-daemon 2012-12-24 17:38 ` bugzilla-daemon 2012-12-25 21:32 ` bugzilla-daemon 2012-12-25 21:33 ` bugzilla-daemon 2012-12-25 23:38 ` bugzilla-daemon 2012-12-26 15:06 ` bugzilla-daemon 2012-12-29 14:23 ` bugzilla-daemon 2013-01-02 3:48 ` bugzilla-daemon 2013-01-02 7:07 ` bugzilla-daemon 2013-01-03 9:09 ` bugzilla-daemon 2013-01-03 9:12 ` bugzilla-daemon 2013-01-03 16:27 ` bugzilla-daemon 2013-01-06 5:47 ` bugzilla-daemon 2013-03-02 18:08 ` bugzilla-daemon [this message] 2013-03-02 18:09 ` bugzilla-daemon 2013-04-10 20:34 ` bugzilla-daemon 2013-04-10 20:54 ` bugzilla-daemon 2013-04-10 21:14 ` bugzilla-daemon 2013-04-10 21:15 ` bugzilla-daemon 2013-04-10 21:16 ` bugzilla-daemon 2013-04-10 21:17 ` [Bug 1001397] I2C driver for Kinetis microcontrollers bugzilla-daemon 2013-04-11 1:20 ` bugzilla-daemon 2013-04-11 1:25 ` bugzilla-daemon 2013-04-11 1:49 ` bugzilla-daemon 2013-04-13 23:21 ` bugzilla-daemon 2013-04-13 23:22 ` bugzilla-daemon 2013-04-15 16:34 ` bugzilla-daemon 2013-04-17 16:28 ` bugzilla-daemon 2013-04-17 17:43 ` bugzilla-daemon 2013-04-19 16:39 ` bugzilla-daemon 2013-04-20 20:09 ` bugzilla-daemon 2013-04-21 7:47 ` bugzilla-daemon 2013-04-21 14:09 ` bugzilla-daemon 2013-04-23 4:47 ` bugzilla-daemon 2013-04-23 7:01 ` bugzilla-daemon 2013-04-24 9:08 ` bugzilla-daemon 2013-04-24 17:20 ` bugzilla-daemon 2013-04-24 18:46 ` bugzilla-daemon 2013-04-25 17:06 ` bugzilla-daemon 2013-04-26 12:54 ` bugzilla-daemon 2013-04-26 13:39 ` bugzilla-daemon 2013-04-26 17:13 ` bugzilla-daemon 2013-04-26 17:17 ` bugzilla-daemon 2013-04-30 11:40 ` bugzilla-daemon 2013-04-30 11:40 ` bugzilla-daemon 2013-04-30 19:03 ` bugzilla-daemon 2013-08-29 17:58 ` bugzilla-daemon 2013-08-29 18:00 ` bugzilla-daemon 2013-08-30 7:15 ` bugzilla-daemon 2011-12-01 13:44 [Bug 1001397] New: I2C driver for Kinetic microcontrollers bugzilla-daemon 2011-12-01 15:24 ` [Bug 1001397] " bugzilla-daemon 2011-12-01 15:48 ` bugzilla-daemon 2011-12-01 15:52 ` bugzilla-daemon 2011-12-01 15:59 ` bugzilla-daemon 2011-12-13 15:32 ` bugzilla-daemon 2011-12-23 10:41 ` bugzilla-daemon 2011-12-23 13:28 ` bugzilla-daemon 2011-12-23 14:14 ` bugzilla-daemon 2011-12-23 14:15 ` bugzilla-daemon 2011-12-24 9:22 ` bugzilla-daemon 2011-12-24 11:59 ` bugzilla-daemon 2011-12-26 7:32 ` bugzilla-daemon 2012-01-01 21:29 ` bugzilla-daemon 2012-01-11 20:33 ` bugzilla-daemon 2012-01-16 14:31 ` bugzilla-daemon 2012-02-07 20:38 ` bugzilla-daemon 2012-02-08 9:12 ` bugzilla-daemon 2012-02-08 9:55 ` bugzilla-daemon 2012-02-11 0:16 ` bugzilla-daemon 2012-02-11 10:14 ` bugzilla-daemon 2012-02-12 19:11 ` bugzilla-daemon 2012-02-12 19:11 ` bugzilla-daemon 2012-02-23 16:11 ` bugzilla-daemon 2012-03-20 15:17 ` bugzilla-daemon 2012-03-31 17:17 ` bugzilla-daemon 2012-05-04 18:17 ` bugzilla-daemon 2012-12-21 20:46 ` bugzilla-daemon 2012-12-24 9:52 ` bugzilla-daemon 2012-12-24 16:53 ` bugzilla-daemon 2012-12-24 16:54 ` bugzilla-daemon 2012-12-24 16:56 ` bugzilla-daemon 2012-12-24 16:56 ` bugzilla-daemon 2012-12-24 17:14 ` bugzilla-daemon 2012-12-24 17:38 ` bugzilla-daemon 2012-12-25 21:32 ` bugzilla-daemon 2012-12-25 21:33 ` bugzilla-daemon 2012-12-25 23:38 ` bugzilla-daemon 2012-12-26 15:06 ` bugzilla-daemon 2012-12-29 14:24 ` bugzilla-daemon 2013-01-02 3:48 ` bugzilla-daemon 2013-01-02 7:07 ` bugzilla-daemon 2013-01-03 9:09 ` bugzilla-daemon 2013-01-03 9:12 ` bugzilla-daemon 2013-01-03 16:28 ` bugzilla-daemon 2013-01-06 5:47 ` bugzilla-daemon 2013-03-02 18:08 ` bugzilla-daemon 2013-03-02 18:09 ` bugzilla-daemon 2013-04-10 20:34 ` bugzilla-daemon
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=bug-1001397-13-vyhKLkdxCF@http.bugs.ecos.sourceware.org/ \ --to=bugzilla-daemon@bugs.ecos.sourceware.org \ --cc=ecos-bugs@ecos.sourceware.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).