Sudhakar Rajashekhara <[EMAIL PROTECTED]> writes:
> Source: Texas Instruments Inc.
> Type: Enhancement
> Signed-off-by: Sudhakar Rajashekhara <[EMAIL PROTECTED]>
> Description:
> Adds dm6467 support to I2C driver.
> ---
> drivers/i2c/busses/i2c-davinci.c | 13 +++++++++++--
> 1 files changed, 11 insertions(+), 2 deletions(-)
> diff --git a/drivers/i2c/busses/i2c-davinci.c
> b/drivers/i2c/busses/i2c-davinci.c
> index daab1aa..6d125e2 100755
> --- a/drivers/i2c/busses/i2c-davinci.c
> +++ b/drivers/i2c/busses/i2c-davinci.c
> @@ -124,6 +124,11 @@ static struct davinci_i2c_platform_data
> davinci_i2c_platform_data_default = {
> .bus_delay = 0,
> };
>
> +static struct davinci_i2c_platform_data dm6467_i2c_platform_data_default = {
> + .bus_freq = 100,
> + .bus_delay = 0,
> +};
> +
OK, I let this slide for dm6446, but it's got to be fixed now.
This driver code should have no conditional cpu/board code. This
should all be passed in from board code.
I think it is time to implement the equivalent of
omap_register_i2c_bus() (see arch/arm/plat-omap/i2c.c)
Any takers?
Kevin
> static inline void davinci_i2c_write_reg(struct davinci_i2c_dev *i2c_dev,
> int reg, u16 val)
> {
> @@ -151,8 +156,12 @@ static int i2c_davinci_init(struct davinci_i2c_dev *dev)
> u32 input_clock = clk_get_rate(dev->clk);
> u16 w;
>
> - if (!pdata)
> - pdata = &davinci_i2c_platform_data_default;
> + if (!pdata) {
> + if (cpu_is_davinci_dm644x())
> + pdata = &davinci_i2c_platform_data_default;
> + else if (cpu_is_davinci_dm6467())
> + pdata = &dm6467_i2c_platform_data_default;
> + }
>
> /* put I2C into reset */
> w = davinci_i2c_read_reg(dev, DAVINCI_I2C_MDR_REG);
> --
> 1.5.4.1
>
> _______________________________________________
> Davinci-linux-open-source mailing list
> [email protected]
> http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source