GPIO refactored (#495)

* **Refactor**
  * GPIO subsystem moved to a descriptor-based model for per-pin ownership and runtime pin management; many platform drivers now acquire/release descriptors.
  * Device trees and drivers now use GPIO phandle-style pin specifications across all boards and all drivers.

* **Behavior**
  * Device list now encodes per-device status (ok/disabled); boot will skip disabled devices accordingly.

* **Deprecation**
  * Legacy GPIO HAL marked deprecated and replaced with descriptor-based interfaces.

* **Chores**
  * Bindings and platform configs updated to the new GPIO pin-spec format.
This commit is contained in:
Ken Van Hoeylandt
2026-02-11 20:34:54 +01:00
committed by GitHub
parent dff93cb655
commit 26c17986c6
80 changed files with 1129 additions and 665 deletions
+6 -2
View File
@@ -7,6 +7,10 @@
#include <Tactility/hal/Configuration.h>
#include <Tactility/service/ServiceManifest.h>
extern "C" {
struct DtsDevice;
}
namespace tt {
/** @brief The configuration for the operating system
@@ -21,9 +25,9 @@ struct Configuration {
* @brief Main entry point for Tactility.
* @param platformModule Platform module to start (non-null).
* @param deviceModule Device module to start (non-null).
* @param devicetreeDevices Null-terminated array where an entry { NULL, NULL } marks the end of the list.
* @param dtsDevices Array that is terminated with DTS_DEVICE_TERMINATOR
*/
void run(const Configuration& config, Module* platformModule, Module* deviceModule, CompatibleDevice devicetreeDevices[]);
void run(const Configuration& config, Module* platformModule, Module* deviceModule, struct DtsDevice dtsDevices[]);
/**
* While technically nullable, this instance is always set if tt_init() succeeds.