Files
RedBear-OS/local/config/drivers.d/60-gpio-i2c.toml
T
vasilito b9de373b31 Merge bootprocess branch overlay into 0.2.0
Restore all bootprocess branch files that were overwritten by later 0.2.0
commits. This overlay brings back the complete boot infrastructure:

- Configs: redbear-full, redbear-mini, redbear-device-services, driver .d files
- Kernel: IRQ affinity, x2APIC, C-states, NUMA (SLIT/SRAT), MCS locks, cpuidle
- Base patches: P0-P55 + new P6 (lived block_size=512) + P57 (fbbootlogd graceful init)
- Driver infra: driver-manager, udev-shim, thermald, cpufreqd, iommu, redox-driver-sys/core
- GPU: redox-drm with improved connector handling
- System: redbear-info, redbear-hwutils phase-timer-check
- Build system: fetch.rs improvements, build-iso.sh, run_full.sh
- Kernel source: new ACPI (SLIT, SRAT), cpuidle, cstate, MCS lock modules

83 files changed, +3966/-1248 lines
2026-05-27 06:47:23 +03:00

140 lines
3.7 KiB
TOML

# GPIO and I2C controller drivers
#
# These drivers match against both PCI and ACPI devices.
# ACPI devices are classified by _HID → PCI-equivalent class/subclass/vendor
# codes via redox-driver-acpi's classify_acpi_device().
#
# Match criteria use the standard [[driver.match]] format with class/subclass/vendor.
# The ACPI bus fills these fields from the _HID classification table.
# --- I2C/SPI controller infrastructure ---
[[driver]]
name = "i2cd"
description = "I2C host adapter registry"
priority = 85
command = ["/usr/lib/drivers/i2cd"]
# i2cd is the I2C bus registry — spawned as infrastructure before
# specific I2C controller drivers. Does not match against hardware
# directly; it provides /scheme/i2c for controller drivers to register with.
[[driver]]
name = "gpiod"
description = "GPIO controller registry"
priority = 85
command = ["/usr/lib/drivers/gpiod"]
# gpiod is the GPIO pin registry — spawned as infrastructure before
# specific GPIO controller drivers. Does not match against hardware
# directly; it provides /scheme/gpio for controller drivers to register with.
# --- ACPI I2C controller drivers ---
# These match against ACPI devices classified as Serial Bus Controller (0x0C),
# subclass SMBus/I2C (0x05), by the ACPI bus.
# The ACPI bus maps Intel INT33C3/INT3433/... and AMD AMDI0010 HIDs to these codes.
[[driver]]
name = "dw-acpi-i2cd"
description = "DesignWare ACPI I2C controller"
priority = 80
command = ["/usr/lib/drivers/dw-acpi-i2cd"]
depends_on = ["acpi", "i2c"]
[[driver.match]]
bus = "acpi"
class = 0x0C
subclass = 0x05
vendor = 0x8086
[[driver]]
name = "amd-mp2-i2cd"
description = "AMD MP2 I2C controller"
priority = 80
command = ["/usr/lib/drivers/amd-mp2-i2cd"]
depends_on = ["acpi", "i2c"]
[[driver.match]]
bus = "acpi"
class = 0x0C
subclass = 0x05
vendor = 0x1022
[[driver]]
name = "intel-lpss-i2cd"
description = "Intel LPSS I2C controller"
priority = 80
command = ["/usr/lib/drivers/intel-lpss-i2cd"]
depends_on = ["acpi", "i2c"]
[[driver.match]]
bus = "acpi"
class = 0x0C
subclass = 0x05
vendor = 0x8086
# --- ACPI SPI controller drivers ---
# These match against ACPI devices classified as Serial Bus Controller (0x0C),
# subclass SPI (0x06), by the ACPI bus.
[[driver]]
name = "intel-lpss-spid"
description = "Intel LPSS SPI controller"
priority = 80
command = ["/usr/lib/drivers/intel-lpss-spid"]
depends_on = ["acpi"]
[[driver.match]]
bus = "acpi"
class = 0x0C
subclass = 0x06
vendor = 0x8086
# --- ACPI GPIO controller drivers ---
# These match against ACPI devices classified as Serial Bus Controller (0x0C),
# subclass Other (0x80), vendor Intel, by the ACPI bus.
# The ACPI bus maps INT33C7/INT3437/INT3450 HIDs to these codes.
[[driver]]
name = "intel-gpiod"
description = "Intel ACPI GPIO registrar"
priority = 80
command = ["/usr/lib/drivers/intel-gpiod"]
depends_on = ["acpi", "gpio"]
[[driver.match]]
bus = "acpi"
class = 0x0C
subclass = 0x80
vendor = 0x8086
# --- ACPI thermal/power drivers ---
# These match against ACPI devices classified as Thermal/Battery (0x0B).
[[driver]]
name = "redbear-thermald"
description = "ACPI thermal zone monitor"
priority = 60
command = ["/usr/lib/drivers/redbear-thermald"]
depends_on = ["acpi"]
[[driver.match]]
bus = "acpi"
class = 0x0B
# --- I2C companion drivers ---
# These depend on I2C bus being available and match against specific
# I2C device addresses (not PCI/ACPI class matching).
[[driver]]
name = "i2c-gpio-expanderd"
description = "I2C GPIO expander companion bridge"
priority = 75
command = ["/usr/lib/drivers/i2c-gpio-expanderd"]
depends_on = ["i2c", "gpio"]
[[driver]]
name = "intel-thc-hidd"
description = "Intel THC QuickI2C HID transport"
priority = 75
command = ["/usr/lib/drivers/intel-thc-hidd"]
depends_on = ["acpi", "i2c"]