diff mbox series

arm64: dts: armada-3720-turris-mox.dts: remove mrvl, i2c-fast-mode

Message ID 20210628121015.22660-1-pali@kernel.org (mailing list archive)
State New, archived
Headers show
Series arm64: dts: armada-3720-turris-mox.dts: remove mrvl, i2c-fast-mode | expand

Commit Message

Pali Rohár June 28, 2021, 12:10 p.m. UTC
Some SFP modules are not detected when i2c-fast-mode is enabled even when
clock-frequency is already set to 100000. The I2C bus violates the timing
specifications when run in fast mode. So disable fast mode on Turris Mox.

Same change was already applied for uDPU (also Armada 3720 board with SFP)
in commit fe3ec631a77d ("arm64: dts: uDPU: remove i2c-fast-mode").

Fixes: 7109d817db2e ("arm64: dts: marvell: add DTS for Turris Mox")
Signed-off-by: Pali Rohár <pali@kernel.org>
---
 arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dts | 1 +
 1 file changed, 1 insertion(+)

Comments

Marek Behún June 28, 2021, 1:05 p.m. UTC | #1
On Mon, 28 Jun 2021 14:10:15 +0200
Pali Rohár <pali@kernel.org> wrote:

> +	/delete-property/mrvl,i2c-fast-mode;

Can you add an additional space here?
  /delete-property/ mrvl,i2c-fast-mode;

Other than that

Reviewed-by: Marek Behún <kabel@kernel.org>


BTW the i2c driver should me made to respect the `clock-frequency` DT
property, not the fast-mode nonsense.

The `mrvl,i2c-fast-mode` should be IMO completely removed and whether it
is enabled should be decided by the value of `clock-frequency`.

BTW there are clock generating registers in A3720 I2C controller that
can generate 100 kHz even in fast-mode. The driver does not use them,
though, it leaves them to their default values, which for normal mode
generate ~96 kHz and for fast mode ~258 kHz. Maybe we should implement
configuring these registers and make the driver choose
normal-mode / fast-mode / high-speed mode depending on
`clock-frequency` ?

Marek
Marek Behún June 28, 2021, 1:10 p.m. UTC | #2
Also please remove ".dts" from commit title, i.e.:
  arm64: dts: armada-3720-turris-mox: remove mrvl,i2c-fast-mode

since "dts" is already present in the prefix.

Marek
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dts b/arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dts
index 6bcc319a0161..27ded36a1a13 100644
--- a/arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dts
+++ b/arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dts
@@ -119,6 +119,7 @@ 
 	pinctrl-names = "default";
 	pinctrl-0 = <&i2c1_pins>;
 	clock-frequency = <100000>;
+	/delete-property/mrvl,i2c-fast-mode;
 	status = "okay";
 
 	rtc@6f {