ath79: GL-AR300M series: Add I2C Support
authorJeff Kletsky <git-commits@allycomm.com>
Wed, 23 Oct 2019 16:55:01 +0000 (09:55 -0700)
committerJohn Crispin <john@phrozen.org>
Thu, 24 Oct 2019 21:00:36 +0000 (23:00 +0200)
The GL-AR300M series have an internal header for I2C.

Provide DTS definitions for the i2c-gpio driver.

The I2C drivers; kmod-i2c-core, kmod-i2c-gpio
consume ~20 kB of flash and can be loaded as modules,

Default clock measured ~11.4 ms period, ~88 kHz

The board has two sets of (unpopulated) headers.  While facing the
back of the board (looking into the Ethernet jacks), and looking from
the top, the one on the left edge of the baord with four holes is the
I2C header. It appears to be labeled J8 on "GL-AR300M-V1.4.0" boards.

    | (Patch antenna)
    |
    |
    |  O   GND
    |  O   SDA / GPIO 17
    |  O   SCL / GPIO 16
    |  ⊡   3V3 (square land)
    |
    | (Ethernet jacks)

https://docs.gl-inet.com/en/3/hardware/ar300m/#pcb-pinout states
"Note: I2C is not working in some early version of the router."

Signed-off-by: Jeff Kletsky <git-commits@allycomm.com>
target/linux/ath79/dts/qca9531_glinet_gl-ar300m.dtsi

index 267f2f478fcfb42b4256b93d5c4ce367417bcd0d..b72aa65522df6381ccb968d49a097c84d7b0eec2 100644 (file)
                        linux,default-trigger = "phy0tpt";
                };
        };
+
+       i2c: i2c {
+               compatible = "i2c-gpio";
+
+               sda-gpios = <&gpio 17 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
+               scl-gpios = <&gpio 16 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
+       };
 };
 
 &pcie0 {