I was trying to get the GigaDisplay shield touch code working again with the current ArduinoCore-zephyr
and went into the zephyr branch of the Arduino_GigaDisplayTouch project and added in the call
(void)zephyr::arduino::init_dev_apply_pinctrl(dev);
arduino-libraries/Arduino_GigaDisplayTouch#18
And it still did not work the issue appears to be with the giga device tree overlay file contained within the variant has:
&i2c4 {
status = "okay";
zephyr,deferred-init;
gc2145: gc2145@3c {
compatible = "galaxycore,gc2145";
reg = <0x3c>;
zephyr,deferred-init;
reset-gpios = <&gpiod 4 GPIO_ACTIVE_LOW>;
pwdn-gpios = <&gpioa 1 GPIO_ACTIVE_LOW>;
port {
gc2145_ep_out: endpoint {
remote-endpoint-label = "dcmi_ep_in";
};
};
};
}
But the display Device tree information is defined within zephyr in the boards/shields/arduino_giga_display_shield
under boards and the giga and is currently defined as:
&i2c4 {
pinctrl-0 = <&i2c4_scl_pb6 &i2c4_sda_ph12>;
pinctrl-names = "default";
clock-frequency = <I2C_BITRATE_FAST>;
status = "okay";
gt911: gt911@5d {
compatible = "goodix,gt911";
reg = <0x5d>;
alt-addr = <0x14>;
reset-gpios = <&gpioi 2 GPIO_ACTIVE_LOW>;
irq-gpios = <&gpioi 1 GPIO_ACTIVE_HIGH>;
};
};
So in the device tree the I2c4 object is deferred-init but the gt911 object is not that relies on it.
I was able to get touch to work again by marking it here under zephyr as deferred-init.
Question is, do you want to change it at that level? Or in the variant? But what if you have different
variant that does not include the shield?
EDIT: Can be closed after these are merged:
I was trying to get the GigaDisplay shield touch code working again with the current ArduinoCore-zephyr
and went into the zephyr branch of the Arduino_GigaDisplayTouch project and added in the call
(void)zephyr::arduino::init_dev_apply_pinctrl(dev);arduino-libraries/Arduino_GigaDisplayTouch#18
And it still did not work the issue appears to be with the giga device tree overlay file contained within the variant has:
But the display Device tree information is defined within zephyr in the boards/shields/arduino_giga_display_shield
under boards and the giga and is currently defined as:
So in the device tree the I2c4 object is deferred-init but the gt911 object is not that relies on it.
I was able to get touch to work again by marking it here under zephyr as deferred-init.
Question is, do you want to change it at that level? Or in the variant? But what if you have different
variant that does not include the shield?
EDIT: Can be closed after these are merged: