Create DTS files for all devices and implement I2C changes (#466)

Devictree changes:
- Create DTS files for all remaining devices
- Update corresponding `devicetree.yaml`
- Remove `i2c` configuration from corresponding `tt::hal::Configuration`

Apps & HAL:
- Removed I2C Settings (we'll make a new one later after I rework that part of the HAL)
- Delete TactilityC GPIO and I2C functionality
- Delete Related SystemEvent types
- Refactor `tt::hal::i2c` to only use `struct Device*` wrapping

Scripting:
- Fix DevicetreeCompiler boolean parsing
- Create `build-all.py`
This commit is contained in:
Ken Van Hoeylandt
2026-01-29 22:01:19 +01:00
committed by GitHub
parent 71f8369377
commit 87ca888bb4
139 changed files with 1226 additions and 1750 deletions
@@ -48,24 +48,5 @@ extern const Configuration hardwareConfiguration = {
.initBoot = initBoot,
.uiScale = UiScale::Smallest,
.createDevices = createDevices,
.i2c = {
tt::hal::i2c::Configuration {
.name = "Internal",
.port = DISPLAY_I2C_PORT,
.initMode = tt::hal::i2c::InitMode::ByTactility,
.isMutable = true,
.config = (i2c_config_t) {
.mode = I2C_MODE_MASTER,
.sda_io_num = DISPLAY_PIN_SDA,
.scl_io_num = DISPLAY_PIN_SCL,
.sda_pullup_en = GPIO_PULLUP_ENABLE,
.scl_pullup_en = GPIO_PULLUP_ENABLE,
.master = {
.clk_speed = DISPLAY_I2C_SPEED
},
.clk_flags = 0
}
}
},
.spi {},
};
@@ -1,3 +1,3 @@
dependencies:
- TactilityKernel
dts: ../placeholder.dts
- Platforms/PlatformEsp32
dts: heltec,wifi-lora-32-v3.dts
@@ -0,0 +1,25 @@
/dts-v1/;
#include <tactility/bindings/root.h>
#include <tactility/bindings/esp32_gpio.h>
#include <tactility/bindings/esp32_i2c.h>
/ {
compatible = "root";
model = "Heltec WiFi LoRa 32 V3";
gpio0 {
compatible = "espressif,esp32-gpio";
gpio-count = <49>;
};
i2c_internal {
compatible = "espressif,esp32-i2c";
port = <I2C_NUM_0>;
clock-frequency = <200000>;
pin-sda = <17>;
pin-scl = <18>;
pin-sda-pullup;
pin-scl-pullup;
};
};