Skip to content

NAI 68INT6: board I2C0/GSPI0 devices in the DSDT and Linux or Multiboot2 payload per image - #959

Open
dgarske wants to merge 1 commit into
wolfSSL:masterfrom
dgarske:nai_lpss_acpi
Open

dgarske wants to merge 1 commit into
wolfSSL:masterfrom
dgarske:nai_lpss_acpi

Conversation

@dgarske

@dgarske dgarske commented Oct 28, 2026 •

Copy link
Copy Markdown
Member

Description

Exposes the 68INT6 board devices on the LPSS I2C0 and GSPI0 controllers to Linux, the same way NAI's stock BIOS declares them, so NAI's Linux drivers (naigspi, plus at24 for the EEPROMs) bind under wolfBoot. It also lets one build boot either a Linux bzImage or a Multiboot2 ELF (an RTOS), chosen per image.

What it adds

  • src/x86/acpi_dsdt.asl, include/x86/acpi_dsdt.h - I2C0 (00:15.0) and SPI0 (00:1e.2) under the PCI root, with:
    • the PRC register controller on GSPI0 CS0 (15AC0001)
    • EEPROM (15AC0002, 0x56) and serial-number EEPROM (15AC0003, 0x5E)
    • RTC/watchdog (15AC0004, 0x68)
  • include/x86/gpio_config.h - GSPI0 (GPP_B15-B18) and I2C0 (GPP_C16/C17) pads in native mode, with the stock pad values
  • src/x86/tgl_fsp.c - SerialIoI2cMode[0] set to PCI mode on nai_68int6 (it was disabled)
  • docs/Targets.md - notes the board devices in the DSDT, and documents Multiboot2 ELF payloads and how their handoff differs from Linux
    The serial-number EEPROM's read-only property is written as a name/value pair, as ACPI device properties require.

Touches shared code

  • src/boot_x86_fsp_payload.c - with both LINUX_PAYLOAD and ELF built in, do_boot() sends an image that starts with the ELF magic down the ELF/Multiboot2 path and boots anything else as Linux. The ELF path moves unchanged into boot_elf(). Builds with only one payload type behave as before.

Testing

Builds for nai_68int6 (both payloads, ELF only, Linux only) and kontron_vx3060_s2. Not yet tested on hardware.

@dgarske dgarske self-assigned this Oct 28, 2026
@dgarske dgarske changed the title NAI 68INT6: enable LPSS I2C0 and declare the board I2C0/GSPI0 devices in the DSDT NAI 68INT6: board I2C0/GSPI0 devices in the DSDT and Linux or Multiboot2 payload per image Oct 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant