Thread (96 messages) 96 messages, 8 authors, 2008-08-01

Re: [PATCH] powerpc: i2c-mpc: make speed registers configurable via FDT

From: Grant Likely <hidden>
Date: 2008-07-25 13:12:10

On Fri, Jul 25, 2008 at 5:04 AM, Wolfgang Grandegger [off-list ref] wrote:
Jochen Friedrich wrote:
quoted
Hi Wolfgang,
quoted
The I2C driver for the MPC currently uses a fixed speed hard-coded into
the driver. This patch adds the FDT properties "fdr" and "dfsrr" for the
corresponding I2C registers to make the speed configurable via FDT, e.g.:

   i2c@3100 {
       compatible = "fsl-i2c";
       reg = <0x3100 0x100>;
       interrupts = <43 2>;
       interrupt-parent = <&mpic>;
       dfsrr = <0x20>;
       fdr = <0x03>;
   };

Would it be possible to use the standard property "clock-frequency" for
this
and calculate the register settings in the driver?
Yes, please use something like clock-frequency or current-speed and do
the calculation.
Almost everything is possible in software, just for what price ;-). U-Boot
has some code in drivers/i2c/fsl_i2c.c to determine reasonable fdr and dfsrr
values for the MPC83/5/6xx boards. For the MPC82xx and MPC85xx it's even
more sophisticated.

I was also thinking to just overtake the U-Boot settings if fdt and dfsrr is
not defined for the I2C node (instead of the debatable default values).
This is a perfectly valid option.  Personally, I'd prefer it encoded
in the device tree, but if it looks like a valid speed has already
been programmed in then I'm cool with the driver just preserving that.
 If it turns out to causes problems the we can always change the code
to be more conservative later.

Thanks,
g.

-- 
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help