You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.9 KiB
51 lines
1.9 KiB
From 76de914223ec09274a7857e0d8cd7b739205dc3c Mon Sep 17 00:00:00 2001
|
|
From: Gregory CLEMENT <gregory.clement@free-electrons.com>
|
|
Date: Fri, 21 Jun 2013 15:32:06 +0200
|
|
Subject: [PATCH 035/203] 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>
|
|
---
|
|
Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt | 6 +++++-
|
|
drivers/i2c/busses/i2c-mv64xxx.c | 6 +++++-
|
|
2 files changed, 10 insertions(+), 2 deletions(-)
|
|
|
|
--- a/Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt
|
|
+++ b/Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt
|
|
@@ -6,7 +6,11 @@ Required properties :
|
|
- reg : Offset and length of the register set for the device
|
|
- compatible : Should be "marvell,mv64xxx-i2c"
|
|
- interrupts : The interrupt number
|
|
- - clock-frequency : Desired I2C bus clock frequency in Hz.
|
|
+
|
|
+Optional properties :
|
|
+
|
|
+ - clock-frequency : Desired I2C bus clock frequency in Hz. If not set the
|
|
+default frequency is 100kHz
|
|
|
|
Examples:
|
|
|
|
--- a/drivers/i2c/busses/i2c-mv64xxx.c
|
|
+++ b/drivers/i2c/busses/i2c-mv64xxx.c
|
|
@@ -580,7 +580,11 @@ mv64xxx_of_config(struct mv64xxx_i2c_dat
|
|
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;
|
|
|