Thread (92 messages) 92 messages, 9 authors, 2012-07-02

[PATCH 09/14] i2c: Add Device Tree support to the Nomadik I2C driver

From: Linus Walleij <hidden>
Date: 2012-06-11 20:37:18
Also in: linux-i2c, lkml

On Mon, Jun 11, 2012 at 5:25 PM, Lee Jones [off-list ref] wrote:
As new users are
added, it is expected that they will be Device Tree compliant.
If this is the case, we will look up their initialisation values
by compatible entry, then apply them forthwith.
(...)
+static struct nmk_i2c_controller u8500_i2c = {
+ ? ? ? /*
+ ? ? ? ?* slave data setup time, which is
+ ? ? ? ?* 250 ns,100ns,10ns which is 14,6,2
+ ? ? ? ?* respectively for a 48 Mhz
+ ? ? ? ?* i2c clock
+ ? ? ? ?*/
+ ? ? ? .slsu ? ? ? ? ? = 0xe,
+ ? ? ? /* Tx FIFO threshold */
+ ? ? ? .tft ? ? ? ? ? ?= 1,
+ ? ? ? /* Rx FIFO threshold */
+ ? ? ? .rft ? ? ? ? ? ?= 8,
+ ? ? ? /* std. mode operation */
+ ? ? ? .clk_freq ? ? ? = 100000,
+ ? ? ? /* Slave response timeout(ms) */
+ ? ? ? .timeout ? ? ? ?= 200,
+ ? ? ? .sm ? ? ? ? ? ? = I2C_FREQ_MODE_FAST,
+};
So why don't we create proper device tree bindings for the above platform
data?

For example several driver under
Documentation/devicetree/bindings/i2c/*
define the .clk_freq above as "clock-frequency"

samsung-i2c even has this:
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <100000>;

Where i2c-sda-delay corresponds to slsu above.

I suspect .sm can be derived from the frequency so it
is "FAST" whenever the frequency > 100000.

This looks to me like a way to push the burden of doing the real
device tree binding for the above to the next user.
(Which will likely be me, so therefore I care a bit ...)

Yours,
Linus Walleij
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help