mirror of
https://github.com/ByteWelder/Tactility.git
synced 2026-02-18 10:53:17 +00:00
* **New Features** * PI4IOE5V6408 I2C I/O expander driver with public GPIO APIs * CLI tool to list devicetree dependencies * **Device Tree Updates** * M5Stack Tab5 configured with two I2C IO expanders; PI4IOE5V6408 binding added * **Build / Tooling** * Devicetree code generation integrated into build; generated artifacts and dynamic dependency resolution exposed * **Refactor** * Kernel/run APIs updated to accept a null‑terminated devicetree modules array; many module symbols renamed * **Documentation** * Added README and Apache‑2.0 license for new driver module
84 lines
1.8 KiB
Plaintext
84 lines
1.8 KiB
Plaintext
/dts-v1/;
|
|
|
|
#include <tactility/bindings/root.h>
|
|
#include <tactility/bindings/esp32_gpio.h>
|
|
#include <tactility/bindings/esp32_i2c.h>
|
|
#include <tactility/bindings/esp32_i2s.h>
|
|
#include <tactility/bindings/esp32_spi.h>
|
|
#include <bindings/pi4ioe5v6408.h>
|
|
|
|
/ {
|
|
compatible = "root";
|
|
model = "Tab5";
|
|
|
|
gpio0 {
|
|
compatible = "espressif,esp32-gpio";
|
|
gpio-count = <57>;
|
|
};
|
|
|
|
i2c_internal: i2c0 {
|
|
compatible = "espressif,esp32-i2c";
|
|
port = <I2C_NUM_0>;
|
|
clock-frequency = <400000>;
|
|
pin-sda = <&gpio0 31 GPIO_FLAG_NONE>;
|
|
pin-scl = <&gpio0 32 GPIO_FLAG_NONE>;
|
|
|
|
/*
|
|
- Bit 0: RF internal/external switch
|
|
- Bit 1: Speaker enable
|
|
- Bit 2: External 5V bus enable
|
|
- Bit 3: /
|
|
- Bit 4: LCD reset
|
|
- Bit 5: Touch reset
|
|
- Bit 6: Camera reset
|
|
- Bit 7: Headphone detect
|
|
*/
|
|
io_expander0 {
|
|
compatible = "diodes,pi4ioe5v6408";
|
|
reg = <0x43>;
|
|
};
|
|
|
|
/*
|
|
- Bit 0: C6 WLAN enable
|
|
- Bit 1: /
|
|
- Bit 2: /
|
|
- Bit 3: USB-A 5V enable
|
|
- Bit 4: Device power: PWROFF_PLUSE
|
|
- Bit 5: IP2326: nCHG_QC_EN
|
|
- Bit 6: IP2326: CHG_STAT_LED
|
|
- Bit 7: IP2326: CHG_EN
|
|
*/
|
|
io_expander1 {
|
|
compatible = "diodes,pi4ioe5v6408";
|
|
reg = <0x44>;
|
|
};
|
|
};
|
|
|
|
i2c_port_a: i2c1 {
|
|
compatible = "espressif,esp32-i2c";
|
|
port = <I2C_NUM_1>;
|
|
clock-frequency = <400000>;
|
|
pin-sda = <&gpio0 53 GPIO_FLAG_NONE>;
|
|
pin-scl = <&gpio0 54 GPIO_FLAG_NONE>;
|
|
};
|
|
|
|
sdcard_spi: spi0 {
|
|
compatible = "espressif,esp32-spi";
|
|
host = <SPI2_HOST>;
|
|
pin-mosi = <&gpio0 44 GPIO_FLAG_NONE>;
|
|
pin-miso = <&gpio0 39 GPIO_FLAG_NONE>;
|
|
pin-sclk = <&gpio0 43 GPIO_FLAG_NONE>;
|
|
};
|
|
|
|
// ES8388 and ES7210
|
|
i2s0 {
|
|
compatible = "espressif,esp32-i2s";
|
|
port = <I2S_NUM_0>;
|
|
pin-bclk = <&gpio0 27 GPIO_FLAG_NONE>;
|
|
pin-ws = <&gpio0 29 GPIO_FLAG_NONE>;
|
|
pin-data-out = <&gpio0 26 GPIO_FLAG_NONE>;
|
|
pin-data-in = <&gpio0 28 GPIO_FLAG_NONE>;
|
|
pin-mclk = <&gpio0 30 GPIO_FLAG_NONE>;
|
|
};
|
|
};
|