arm64: dts: qcom: msm8916: Use higher I2C drive-strength only on DB410c
authorStephan Gerhold <stephan@gerhold.net>
Mon, 22 Jun 2020 15:17:50 +0000 (17:17 +0200)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Thu, 16 Jul 2020 05:00:51 +0000 (22:00 -0700)
Commit c240f29e75e6 ("arm64: dts: set the default i2c pin drive strength to 16mA")
changed the default drive-strength for I2C pins in msm8916-pins.dtsi
to the maximum possible (16 mA).

While this makes sense for apq8016-sbc (DB410c) where you can connect
an arbitrary amount of I2C devices with level shifters etc, there is
no need to use a higher drive strength for other MSM8916 devices.
The minimum drive strength (2 mA) seems to be totally sufficient
to have everything work there.

With the short pinctrl nodes introduced earlier we can easily override
the drive-strength only for apq8016-sbc now. Use that and change
the default back to 2 mA.

i2c1_default/i2c5_default are already using 2 mA because they were
added separately later and are not used in apq8016-sbc.

Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Link: https://lore.kernel.org/r/20200622151751.408995-4-stephan@gerhold.net
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi
arch/arm64/boot/dts/qcom/msm8916-pins.dtsi

index 6fff96a..1943435 100644 (file)
        };
 };
 
+/*
+ * 2mA drive strength is not enough when connecting multiple
+ * I2C devices with different pull up resistors.
+ */
+&i2c2_default {
+       drive-strength = <16>;
+};
+
+&i2c4_default {
+       drive-strength = <16>;
+};
+
+&i2c6_default {
+       drive-strength = <16>;
+};
+
 &msmgpio {
        msmgpio_leds: msmgpio-leds {
                pins = "gpio21", "gpio120";
index e1d4f8d..4dc437f 100644 (file)
                pins = "gpio6", "gpio7";
                function = "blsp_i2c2";
 
-               drive-strength = <16>;
+               drive-strength = <2>;
                bias-disable;
        };
 
                pins = "gpio14", "gpio15";
                function = "blsp_i2c4";
 
-               drive-strength = <16>;
+               drive-strength = <2>;
                bias-disable;
        };
 
                pins = "gpio22", "gpio23";
                function = "blsp_i2c6";
 
-               drive-strength = <16>;
+               drive-strength = <2>;
                bias-disable;
        };