diff options
author | Gregory CLEMENT <gregory.clement@free-electrons.com> | 2013-06-21 15:32:06 +0200 |
---|---|---|
committer | Wolfram Sang <wsa@the-dreams.de> | 2013-06-25 23:43:37 +0200 |
commit | 4c730a06c19bb83d2fa4308ee4cbb23abc84c9ca (patch) | |
tree | 756a378f3e7ec8fae98aed6ab79631bb5bd914a9 /drivers/i2c/busses/i2c-mv64xxx.c | |
parent | 2f641a8bdb1b808b9bf1d0ca7d169d199aaf6ff4 (diff) | |
download | talos-op-linux-4c730a06c19bb83d2fa4308ee4cbb23abc84c9ca.tar.gz talos-op-linux-4c730a06c19bb83d2fa4308ee4cbb23abc84c9ca.zip |
i2c: mv64xxx: Set bus frequency to 100kHz if clock-frequency is not provided
This commit adds checking whether clock-frequency property acquisition
has succeeded. If not, the frequency is set to 100kHz by default.
The Device Tree binding documentation is updated accordingly.
Based on the intials patches from Zbigniew Bodek
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: Zbigniew Bodek <zbb@semihalf.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Diffstat (limited to 'drivers/i2c/busses/i2c-mv64xxx.c')
-rw-r--r-- | drivers/i2c/busses/i2c-mv64xxx.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/i2c/busses/i2c-mv64xxx.c b/drivers/i2c/busses/i2c-mv64xxx.c index ed854573b427..b1f42bf40963 100644 --- a/drivers/i2c/busses/i2c-mv64xxx.c +++ b/drivers/i2c/busses/i2c-mv64xxx.c @@ -578,7 +578,11 @@ mv64xxx_of_config(struct mv64xxx_i2c_data *drv_data, goto out; } tclk = clk_get_rate(drv_data->clk); - of_property_read_u32(np, "clock-frequency", &bus_freq); + + rc = of_property_read_u32(np, "clock-frequency", &bus_freq); + if (rc) + bus_freq = 100000; /* 100kHz by default */ + if (!mv64xxx_find_baud_factors(bus_freq, tclk, &drv_data->freq_n, &drv_data->freq_m)) { rc = -EINVAL; |