From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marek Vasut Date: Fri, 30 Nov 2012 16:21:46 +0100 Subject: [U-Boot] [PATCH] mxs: i2c: Implement algorithm to set up arbitrary i2c speed In-Reply-To: <20121130150754.3313D201015@gemini.denx.de> References: <1354280910-17539-1-git-send-email-marex@denx.de> <20121130150754.3313D201015@gemini.denx.de> Message-ID: <201211301621.46701.marex@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Dear Wolfgang Denk, > Dear Marek Vasut, > > In message <1354280910-17539-1-git-send-email-marex@denx.de> you wrote: > > This algorithm computes the values of TIMING{0,1,2} registers for the > > MX28 I2C block. This algorithm was derived by using a scope, but the > > result seems correct. > > Thanks! I like that! > > ... > > > + uint32_t base = ((24000000 / speed) - 38) / 2; > > ... > > > + return 24000000 / ((((timing0 >> 16) - 3) * 2) + 38); > > But we should get rid of this magic constant. On other i.MX systems > that would probably be MXC_HCLK ? It's APBX clock ... you are so right ... I rolled the patch out too fast. [...] Best regards, Marek Vasut