diff options
Diffstat (limited to 'target/linux/mvebu/patches-3.10/0035-i2c-mv64xxx-Set-bus-frequency-to-100kHz-if-clock-fre.patch')
-rw-r--r-- | target/linux/mvebu/patches-3.10/0035-i2c-mv64xxx-Set-bus-frequency-to-100kHz-if-clock-fre.patch | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/target/linux/mvebu/patches-3.10/0035-i2c-mv64xxx-Set-bus-frequency-to-100kHz-if-clock-fre.patch b/target/linux/mvebu/patches-3.10/0035-i2c-mv64xxx-Set-bus-frequency-to-100kHz-if-clock-fre.patch new file mode 100644 index 0000000..4de7da9 --- /dev/null +++ b/target/linux/mvebu/patches-3.10/0035-i2c-mv64xxx-Set-bus-frequency-to-100kHz-if-clock-fre.patch @@ -0,0 +1,51 @@ +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; |