ipq40xx: fix I2C pin config on Aruba AP-303H
authorRyan Salsbury <ryanrs@gmail.com>
Tue, 30 Apr 2024 01:05:14 +0000 (18:05 -0700)
committerRobert Marko <robimarko@gmail.com>
Tue, 30 Apr 2024 10:01:04 +0000 (12:01 +0200)
Turn on SoC pull-ups on I2C pins, since there are no discrete pull-up
resistors on the bus.

Increase clock to 400 kHz. Both chips on the bus support 400 kHz. I
tested the ISL28022 at 4,000 reads/sec and didn't see any garbled output
or bus hangs, even with SoC drive strength reduced to 2 for the test.

Signed-off-by: Ryan Salsbury <ryanrs@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15334
Signed-off-by: Robert Marko <robimarko@gmail.com>
target/linux/ipq40xx/files-6.6/arch/arm/boot/dts/qcom/qcom-ipq4029-ap-303h.dts

index 0dec567bc466d90946218c854afce6302abffcbe..69d4810277352a4797d90f0e1d55e7dee6226417 100644 (file)
                watchdog@b017000 {
                        status = "okay";
                };
-
-               i2c_0: i2c@78b7000 {
-                       pinctrl-0 = <&i2c_0_pins>;
-                       pinctrl-names = "default";
-                       status = "okay";
-
-                       tpm@29 {
-                               /* No Driver */
-                               compatible = "atmel,at97sc3203";
-                               reg = <0x29>;
-                               read-only;
-                       };
-
-                       power-monitor@40 {
-                               /* No driver */
-                               compatible = "isl,isl28022";
-                               reg = <0x40>;
-                       };
-               };
        };
 
        leds {
                        pins = "gpio20", "gpio21";
                        function = "blsp_i2c0";
                        drive-strength = <4>;
-                       bias-disable;
+                       bias-pull-up;
                };
        };
 
        };
 };
 
+&blsp1_i2c3 {
+       pinctrl-0 = <&i2c_0_pins>;
+       pinctrl-names = "default";
+       status = "okay";
+       clock-frequency = <400000>;
+
+       tpm@29 {
+               /* No Driver */
+               compatible = "atmel,at97sc3203";
+               reg = <0x29>;
+               read-only;
+       };
+
+       power-monitor@40 {
+               /* No driver */
+               /* Device also replies on address 0x3f, see   */
+               /* ISL28022 datasheet, "Broadcast Addressing" */
+               compatible = "isl,isl28022";
+               reg = <0x40>;
+       };
+};
+
 &blsp1_spi1 {
        pinctrl-0 = <&spi_0_pins>;
        pinctrl-names = "default";