From 5eeead2d73d2daa2361d0272db41e85e1de79a6c Mon Sep 17 00:00:00 2001
From: Matt DeVillier <matt.devillier@gmail.com>
Date: Sun, 9 Aug 2020 14:13:56 -0500
Subject: util/intelp2m: Add support for Cannonlake-LP SoCs

Add support for Cannonlake-LP SoCs (Whiskeylake-U,
Coffeelake-U, Cometlake-U) as a separate parsing profile,
copying the existing 'Sunrise' profile and adjusting for differences
in reset mapping and GPIO macro generation

Test: convert inteltool GPIO log dump into coreboot macros for
an out-of-tree CML-U board.

Change-Id: I86296697ee892af7aa0818fb608b6d68fad2f307
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/44457
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Maxim Polyakov <max.senia.poliak@gmail.com>
---
 util/intelp2m/parser/parser.go | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

(limited to 'util/intelp2m/parser/parser.go')

diff --git a/util/intelp2m/parser/parser.go b/util/intelp2m/parser/parser.go
index f002cc9064..8a58ab78a5 100644
--- a/util/intelp2m/parser/parser.go
+++ b/util/intelp2m/parser/parser.go
@@ -10,6 +10,7 @@ import (
 import "../platforms/snr"
 import "../platforms/lbg"
 import "../platforms/apl"
+import "../platforms/cnl"
 import "../config"
 
 // PlatformSpecific - platform-specific interface
@@ -141,6 +142,9 @@ func (parser *ParserData) PlatformSpecificInterfaceSet() {
 			InheritanceTemplate : snr.PlatformSpecific{},
 		},
 		config.ApolloType    : apl.PlatformSpecific{},
+		config.CannonType    : cnl.PlatformSpecific{
+			InheritanceTemplate : snr.PlatformSpecific{},
+		},
 	}
 	parser.platform = platform[config.PlatformGet()]
 }
@@ -198,7 +202,7 @@ func (parser *ParserData) padOwnershipExtract() bool {
 // padConfigurationExtract - reads GPIO configuration registers and returns true if the
 //                           information from the inteltool log was successfully parsed.
 func (parser *ParserData) padConfigurationExtract() bool {
-	// Only for Sunrise PCH and only for inteltool.log file template
+	// Only for Sunrise or CannonLake, and only for inteltool.log file template
 	if config.TemplateGet() != config.TempInteltool || config.IsPlatformApollo() {
 		return false
 	}
-- 
cgit v1.2.3