Update GL-XE300 Device Tree
@@ -28,17 +28,4 @@ Do not rely on insmod-based dynamic config. The old approach of using kmod-i2c-g
|
|||||||
|
|
||||||
Device-tree overlays at runtime are not supported by default on OpenWrt. While the kernel's configfs overlay interface exists in theory, OpenWrt generally does not include the necessary patches and configuration in official builds (attempts to use Raspberry Pi-style DT overlays on ath79 will not work out-of-the-box). In short, runtime DT overlay is deprecated/unavailable in this environment, so you cannot simply drop in a DTBO at boot.
|
Device-tree overlays at runtime are not supported by default on OpenWrt. While the kernel's configfs overlay interface exists in theory, OpenWrt generally does not include the necessary patches and configuration in official builds (attempts to use Raspberry Pi-style DT overlays on ath79 will not work out-of-the-box). In short, runtime DT overlay is deprecated/unavailable in this environment, so you cannot simply drop in a DTBO at boot.
|
||||||
|
|
||||||
The correct solution is to edit the GL-XE300's DTS and add an i2c-gpio node that uses GPIO4 and GPIO15. For example, you would append something like:
|
|
||||||
|
|
||||||
&i2c { /* Use a new node name if &i2c is not pre-defined in qca953x.dtsi */
|
|
||||||
compatible = "i2c-gpio";
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <>; /* (if you disable JTAG or other pinctrl settings, include here if needed) */
|
|
||||||
sda-gpios = <&gpio 4 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
|
|
||||||
scl-gpios = <&gpio 15 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
|
|
||||||
i2c-gpio,delay-us = <4>; /* nominal delay, adjust if needed for speed */
|
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <0>;
|
|
||||||
};
|
|
||||||
|
|
||||||
**GPIO voltage and pull-ups: The QCA9531 SoC's GPIOs are 3.3V. Ensure your I²C devices are also 3.3V or use level shifting. You will need pull-up resistors on SDA/SCL (if not already on the board) since i2c-gpio will treat GPIO4/15 as open-drain lines. The DTS flags above handle the software side of open-drain, but physical pull-ups are needed for the bus.**
|
**GPIO voltage and pull-ups: The QCA9531 SoC's GPIOs are 3.3V. Ensure your I²C devices are also 3.3V or use level shifting. You will need pull-up resistors on SDA/SCL (if not already on the board) since i2c-gpio will treat GPIO4/15 as open-drain lines. The DTS flags above handle the software side of open-drain, but physical pull-ups are needed for the bus.**
|
||||||
Reference in New Issue
Block a user