forked from tiiuae/ghaf
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add a template for new x86 hardware support
Signed-off-by: Brian McGillion <[email protected]>
- Loading branch information
1 parent
4269cce
commit fcdee16
Showing
1 changed file
with
152 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,152 @@ | ||
# Copyright 2022-2024 TII (SSRC) and the Ghaf contributors | ||
# SPDX-License-Identifier: Apache-2.0 | ||
# | ||
{ | ||
name = "HARDWARE-NAME definition"; | ||
|
||
# All of the following fields should be replaced with the actual values | ||
# that are dependent on the hardware that you wish to run ghaf on. | ||
# the following tools can help you determine the values that you need | ||
# lspci | ||
# lsblk | ||
# lsusb | ||
# udevadm info | ||
# networkctl list | ||
# | ||
host = { | ||
kernelConfig.kernelParams = [ | ||
"intel_iommu=on,sm_on" | ||
"iommu=pt" | ||
"module_blacklist=i915" # Prevent i915 module from being accidentally used by host | ||
"acpi_backlight=vendor" | ||
"acpi_osi=linux" | ||
]; | ||
}; | ||
|
||
input = { | ||
keyboard = { | ||
name = ["AT Translated Set 2 keyboard"]; | ||
evdev = ["/dev/input/by-path/platform-i8042-serio-0-event-kbd"]; | ||
}; | ||
|
||
mouse = { | ||
name = [ | ||
"ELAN067C:00 04F3:31F9 Mouse" | ||
"SYNA8016:00 06CB:CEB3 Mouse" | ||
"ELAN067B:00 04F3:31F8 Mouse" | ||
]; | ||
evdev = [ | ||
"/dev/mouse" | ||
]; | ||
}; | ||
|
||
touchpad = { | ||
name = [ | ||
"ELAN067C:00 04F3:31F9 Touchpad" | ||
"SYNA8016:00 06CB:CEB3 Touchpad" | ||
"ELAN067B:00 04F3:31F8 Touchpad" | ||
]; | ||
evdev = [ | ||
"/dev/touchpad" | ||
]; | ||
}; | ||
|
||
misc = { | ||
name = [ | ||
"ThinkPad Extra Buttons" | ||
"TPPS/2 Elan TrackPoint" | ||
]; | ||
evdev = [ | ||
"/dev/input/by-path/platform-i8042-serio-1-event-mouse" | ||
"/dev/input/by-path/platform-thinkpad_acpi-event" | ||
]; | ||
}; | ||
}; | ||
|
||
disks = { | ||
disk1.device = "/dev/nvme0n1"; | ||
}; | ||
|
||
network.pciDevices = [ | ||
{ | ||
# Passthrough Intel WiFi card | ||
path = "0000:00:14.3"; | ||
vendorId = "8086"; | ||
productId = "51f1"; | ||
name = "wlp0s5f0"; | ||
} | ||
]; | ||
|
||
gpu = { | ||
pciDevices = [ | ||
{ | ||
# Passthrough Intel Iris GPU | ||
path = "0000:00:02.0"; | ||
vendorId = "8086"; | ||
productId = "a7a1"; | ||
} | ||
]; | ||
kernelConfig = { | ||
stage1.kernelModules = ["i915"]; | ||
kernelParams = ["earlykms"]; | ||
}; | ||
}; | ||
|
||
# With the current implementation, the whole PCI IOMMU group 14: | ||
# 00:1f.x in the example from Lenovo X1 Carbon | ||
# must be defined for passthrough to AudioVM | ||
audio = { | ||
pciDevices = [ | ||
{ | ||
# ISA bridge: Intel Corporation Raptor Lake LPC/eSPI Controller (rev 01) | ||
path = "0000:00:1f.0"; | ||
vendorId = "8086"; | ||
productId = "519d"; | ||
} | ||
{ | ||
# Audio device: Intel Corporation Raptor Lake-P/U/H cAVS (rev 01) | ||
path = "0000:00:1f.3"; | ||
vendorId = "8086"; | ||
productId = "51ca"; | ||
} | ||
{ | ||
# SMBus: Intel Corporation Alder Lake PCH-P SMBus Host Controller (rev 01) | ||
path = "0000:00:1f.4"; | ||
vendorId = "8086"; | ||
productId = "51a3"; | ||
} | ||
{ | ||
# Serial bus controller: Intel Corporation Alder Lake-P PCH SPI Controller (rev 01) | ||
path = "0000:00:1f.5"; | ||
vendorId = "8086"; | ||
productId = "51a4"; | ||
} | ||
]; | ||
kernelConfig.kernelParams = [ | ||
"snd_intel_dspcfg.dsp_driver=3" | ||
"snd_sof_intel_hda_common.dmic_num=4" | ||
]; | ||
}; | ||
|
||
usb = { | ||
internal = [ | ||
{ | ||
name = "webcam"; | ||
hostbus = "3"; | ||
hostport = "8"; | ||
} | ||
{ | ||
name = "fprint-reader"; | ||
hostbus = "3"; | ||
hostport = "6"; | ||
} | ||
]; | ||
external = [ | ||
{ | ||
name = "gps-device"; | ||
vendorId = "067b"; | ||
productId = "23a3"; | ||
} | ||
]; | ||
}; | ||
} |