Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4c730a06 authored by Gregory CLEMENT's avatar Gregory CLEMENT Committed by Wolfram Sang
Browse files

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: default avatarGregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: default avatarZbigniew Bodek <zbb@semihalf.com>
Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
parent 2f641a8b
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -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:

+5 −1
Original line number Diff line number Diff line
@@ -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;