aboutsummaryrefslogtreecommitdiff
path: root/util/autoport/main.go
diff options
context:
space:
mode:
authorArthur Heymans <arthur@aheymans.xyz>2023-01-30 13:32:44 +0100
committerPaul Fagerburg <pfagerburg@chromium.org>2023-02-04 01:42:43 +0000
commitbc3261f8283ba11c389e8cfcc0089390a133c589 (patch)
tree8c4eae5f1a07b9e4ff28c94ba0b2d79414b1cab2 /util/autoport/main.go
parentb5df65a9aaee50421913ace6d7a4b35e0ddff676 (diff)
util/autoport: Use chipset.cb references
TESTED with x220 logs. Change-Id: I89023b6c6dd5d985168331fbb12b2fc36fb65dc3 Signed-off-by: Arthur Heymans <arthur@aheymans.xyz> Reviewed-on: https://review.coreboot.org/c/coreboot/+/72597 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Jakub Czapiga <jacz@semihalf.com> Reviewed-by: Elyes Haouas <ehaouas@noos.fr>
Diffstat (limited to 'util/autoport/main.go')
-rw-r--r--util/autoport/main.go20
1 files changed, 16 insertions, 4 deletions
diff --git a/util/autoport/main.go b/util/autoport/main.go
index 9b0b43666a..ed7cb0e841 100644
--- a/util/autoport/main.go
+++ b/util/autoport/main.go
@@ -238,6 +238,7 @@ func RestoreRCBA32(f *os.File, inteltool InteltoolData, addr uint16) {
type PCISlot struct {
PCIAddr
+ alias string
additionalComment string
writeEmpty bool
}
@@ -361,14 +362,18 @@ func writeOn(dt *os.File, dev DevTreeNode) {
}
}
-func WriteDev(dt *os.File, offset int, dev DevTreeNode) {
+func WriteDev(dt *os.File, offset int, alias string, dev DevTreeNode) {
Offset(dt, offset)
switch dev.Chip {
case "cpu_cluster", "lapic", "domain", "ioapic":
fmt.Fprintf(dt, "device %s 0x%x ", dev.Chip, dev.Dev)
writeOn(dt, dev)
case "pci", "pnp":
- fmt.Fprintf(dt, "device %s %02x.%x ", dev.Chip, dev.Dev, dev.Func)
+ if alias != "" {
+ fmt.Fprintf(dt, "device ref %s ", alias)
+ } else {
+ fmt.Fprintf(dt, "device %s %02x.%x ", dev.Chip, dev.Dev, dev.Func)
+ }
writeOn(dt, dev)
case "i2c":
fmt.Fprintf(dt, "device %s %02x ", dev.Chip, dev.Dev)
@@ -422,7 +427,14 @@ func WriteDev(dt *os.File, offset int, dev DevTreeNode) {
}
for _, child := range dev.Children {
- WriteDev(dt, offset+1, child)
+ alias = ""
+ for _, slot := range dev.PCISlots {
+ if slot.PCIAddr.Bus == child.Bus &&
+ slot.PCIAddr.Dev == child.Dev && slot.PCIAddr.Func == child.Func {
+ alias = slot.alias
+ }
+ }
+ WriteDev(dt, offset+1, alias, child)
}
Offset(dt, offset)
@@ -739,7 +751,7 @@ func main() {
defer devtree.Close()
MatchDev(&DevTree)
- WriteDev(devtree, 0, DevTree)
+ WriteDev(devtree, 0, "", DevTree)
if MainboardInit != "" || MainboardEnable != "" || MainboardIncludes != nil {
mainboard := Create(ctx, "mainboard.c")