diff --git a/util/intelp2m/config/config.go b/util/intelp2m/config/config.go index 5578a05853..7b4486b3be 100644 --- a/util/intelp2m/config/config.go +++ b/util/intelp2m/config/config.go @@ -3,36 +3,15 @@ package config import "os" const ( - TempInteltool int = 0 - TempGpioh int = 1 - TempSpec int = 2 -) - -var template int = 0 - -func TemplateSet(temp int) bool { - if temp > TempSpec { - return false - } else { - template = temp - return true - } -} - -func TemplateGet() int { - return template -} - -const ( - SunriseType uint8 = 0 - LewisburgType uint8 = 1 - ApolloType uint8 = 2 - CannonType uint8 = 3 - TigerType uint8 = 4 - AlderType uint8 = 5 - JasperType uint8 = 6 - MeteorType uint8 = 7 - EmmitsburgType uint8 = 8 + SunriseType uint8 = 0 + LewisburgType uint8 = 1 + ApolloType uint8 = 2 + CannonType uint8 = 3 + TigerType uint8 = 4 + AlderType uint8 = 5 + JasperType uint8 = 6 + MeteorType uint8 = 7 + EmmitsburgType uint8 = 8 ) var key uint8 = SunriseType @@ -48,6 +27,7 @@ var platform = map[string]uint8{ "mtl": MeteorType, "ebg": EmmitsburgType, } + func PlatformSet(name string) int { if platformType, valid := platform[name]; valid { key = platformType @@ -90,6 +70,7 @@ var InputRegDumpFile *os.File = nil var OutputGenFile *os.File = nil var ignoredFieldsFormat bool = false + func IgnoredFieldsFlagSet(flag bool) { ignoredFieldsFormat = flag } @@ -98,6 +79,7 @@ func AreFieldsIgnored() bool { } var nonCheckingFlag bool = false + func NonCheckingFlagSet(flag bool) { nonCheckingFlag = flag } @@ -105,8 +87,8 @@ func IsNonCheckingFlagUsed() bool { return nonCheckingFlag } - var infolevel int = 0 + func InfoLevelSet(lvl int) { infolevel = lvl } @@ -115,17 +97,20 @@ func InfoLevelGet() int { } var fldstyle uint8 = CbFlds + const ( - NoFlds uint8 = 0 - CbFlds uint8 = 1 // coreboot style - FspFlds uint8 = 2 // FSP/edk2 style - RawFlds uint8 = 3 // raw DW0/1 values + NoFlds uint8 = 0 + CbFlds uint8 = 1 // coreboot style + FspFlds uint8 = 2 // FSP/edk2 style + RawFlds uint8 = 3 // raw DW0/1 values ) + var fldstylemap = map[string]uint8{ - "none" : NoFlds, - "cb" : CbFlds, - "fsp" : FspFlds, - "raw" : RawFlds} + "none": NoFlds, + "cb": CbFlds, + "fsp": FspFlds, + "raw": RawFlds} + func FldStyleSet(name string) int { if style, valid := fldstylemap[name]; valid { fldstyle = style diff --git a/util/intelp2m/main.go b/util/intelp2m/main.go index 5e17721187..25ae03aaef 100644 --- a/util/intelp2m/main.go +++ b/util/intelp2m/main.go @@ -61,11 +61,6 @@ func main() { flag.Bool("iiii", false, "Show target PAD_CFG() macro in the comments"), } - template := flag.Int("t", 0, "template type number\n"+ - "\t0 - inteltool.log (default)\n"+ - "\t1 - gpio.h\n"+ - "\t2 - your template\n\t") - platform := flag.String("p", "snr", "set platform:\n"+ "\tsnr - Sunrise PCH or Skylake/Kaby Lake SoC\n"+ "\tlbg - Lewisburg PCH with Xeon SP\n"+ @@ -96,11 +91,6 @@ func main() { } } - if !config.TemplateSet(*template) { - fmt.Printf("Error! Unknown template format of input file!\n") - os.Exit(1) - } - if valid := config.PlatformSet(*platform); valid != 0 { fmt.Printf("Error: invalid platform -%s!\n", *platform) os.Exit(1) diff --git a/util/intelp2m/parser/parser.go b/util/intelp2m/parser/parser.go index c30c69547d..54cadce5df 100644 --- a/util/intelp2m/parser/parser.go +++ b/util/intelp2m/parser/parser.go @@ -61,12 +61,10 @@ type ParserData struct { // return the host software ownership form the parser struct func (parser *ParserData) hostOwnershipGet(id string) uint8 { var ownership uint8 = 0 - status, group := parser.platform.GroupNameExtract(id) - if config.TemplateGet() == config.TempInteltool && status { - numder, _ := strconv.Atoi(strings.TrimLeft(id, group)) - if (parser.ownership[group] & (1 << uint8(numder))) != 0 { - ownership = 1 - } + _, group := parser.platform.GroupNameExtract(id) + numder, _ := strconv.Atoi(strings.TrimLeft(id, group)) + if (parser.ownership[group] & (1 << uint8(numder))) != 0 { + ownership = 1 } return ownership } @@ -76,22 +74,17 @@ func (parser *ParserData) hostOwnershipGet(id string) uint8 { func (parser *ParserData) padInfoExtract() int { var function, id string var dw0, dw1 uint32 - var template = map[int]template{ - config.TempInteltool: UseInteltoolLogTemplate, - config.TempGpioh: useGpioHTemplate, - config.TempSpec: useYourTemplate, + if rc := UseTemplate(parser.line, &function, &id, &dw0, &dw1); rc != 0 { + return rc } - if template[config.TemplateGet()](parser.line, &function, &id, &dw0, &dw1) == 0 { - pad := padInfo{id: id, - function: function, - dw0: dw0, - dw1: dw1, - ownership: parser.hostOwnershipGet(id)} - parser.padmap = append(parser.padmap, pad) - return 0 - } - fmt.Printf("This template (%d) does not match!\n", config.TemplateGet()) - return -1 + pad := padInfo{id: id, + function: function, + dw0: dw0, + dw1: dw1, + ownership: parser.hostOwnershipGet(id)} + parser.padmap = append(parser.padmap, pad) + return 0 + } // communityGroupExtract @@ -143,8 +136,7 @@ func (parser *ParserData) Register(nameTemplate string) ( offset uint32, value uint32, ) { - if strings.Contains(parser.line, nameTemplate) && - config.TemplateGet() == config.TempInteltool { + if strings.Contains(parser.line, nameTemplate) { if registerInfoTemplate(parser.line, &name, &offset, &value) == 0 { fmt.Printf("\n\t/* %s : 0x%x : 0x%x */\n", name, offset, value) return true, name, offset, value @@ -173,7 +165,7 @@ func (parser *ParserData) padOwnershipExtract() bool { // information from the inteltool log was successfully parsed. func (parser *ParserData) padConfigurationExtract() bool { // Only for Sunrise or CannonLake, and only for inteltool.log file template - if config.TemplateGet() != config.TempInteltool || config.IsPlatformApollo() { + if config.IsPlatformApollo() { return false } return parser.padOwnershipExtract() diff --git a/util/intelp2m/parser/template.go b/util/intelp2m/parser/template.go index fc67e73cd7..e7efa734e7 100644 --- a/util/intelp2m/parser/template.go +++ b/util/intelp2m/parser/template.go @@ -32,7 +32,7 @@ func tokenCheck(c rune) bool { return c != '_' && c != '#' && !unicode.IsLetter(c) && !unicode.IsNumber(c) } -// useGpioHTemplate +// UseTemplate // line : string from file with pad config map // *function : the string that means the pad function // *id : pad id string @@ -40,9 +40,7 @@ func tokenCheck(c rune) bool { // *dw1 : DW1 register value // return // error status -func UseInteltoolLogTemplate(line string, function *string, - id *string, dw0 *uint32, dw1 *uint32) int { - +func UseTemplate(line string, function *string, id *string, dw0 *uint32, dw1 *uint32) int { var val uint64 // 0x0520: 0x0000003c44000600 GPP_B12 SLP_S0# // 0x0438: 0xffffffffffffffff GPP_C7 RESERVED @@ -64,56 +62,6 @@ func UseInteltoolLogTemplate(line string, function *string, return 0 } -// useGpioHTemplate -// line : string from file with pad config map -// *function : the string that means the pad function -// *id : pad id string -// *dw0 : DW0 register value -// *dw1 : DW1 register value -// return -// error status -func useGpioHTemplate(line string, function *string, - id *string, dw0 *uint32, dw1 *uint32) int { - - // /* RCIN# */ _PAD_CFG_STRUCT(GPP_A0, 0x44000702, 0x00000000), - // _PAD_CFG_STRUCT(GPP_A0, 0x44000702, 0x00000000), /* RCIN# */ - // _PAD_CFG_STRUCT(GPP_A0, 0x44000702, 0x00000000) - fields := strings.FieldsFunc(line, tokenCheck) - for i, field := range fields { - if field == "_PAD_CFG_STRUCT" { - if len(fields) < 4 { - /* the number of definitions does not match the format */ - return -1 - } - - if !strings.Contains(fields[i+2], "0x") || !strings.Contains(fields[i+3], "0x") { - /* definitions inside the macro do not match the pattern */ - return -1 - } - *id = fields[i+1] - fmt.Sscanf(fields[i+2], "0x%x", dw0) - fmt.Sscanf(fields[i+3], "0x%x", dw1) - *function = extractPadFuncFromComment(line) - return 0 - } - } - return -1 -} - -// useYourTemplate -func useYourTemplate(line string, function *string, - id *string, dw0 *uint32, dw1 *uint32) int { - - // ADD YOUR TEMPLATE HERE - *function = "" - *id = "" - *dw0 = 0 - *dw1 = 0 - - fmt.Printf("ADD YOUR TEMPLATE!\n") - return -1 -} - // registerInfoTemplate // line : (in) string from file with pad config map // *name : (out) register name diff --git a/util/intelp2m/parser/template_test.go b/util/intelp2m/parser/template_test.go index 98ccb3fc0a..95f8ebf546 100644 --- a/util/intelp2m/parser/template_test.go +++ b/util/intelp2m/parser/template_test.go @@ -20,7 +20,7 @@ func TestTemp(t *testing.T) { dw0, dw1 uint32 ) line := fmt.Sprintf("0x0520: 0x%08x%08x %s %s", ref_dw1, ref_dw0, ref_id, ref_fn) - _ = parser.UseInteltoolLogTemplate(line, &fn, &id, &dw0, &dw1) + _ = parser.UseTemplate(line, &fn, &id, &dw0, &dw1) if fn != ref_fn { t.Errorf("function from '%s':\nExpects: '%s'\nActually: '%s'\n\n", line, ref_fn, fn) diff --git a/util/intelp2m/platforms/adl/macro.go b/util/intelp2m/platforms/adl/macro.go index d7b1f58f0b..2c4b5d81cf 100644 --- a/util/intelp2m/platforms/adl/macro.go +++ b/util/intelp2m/platforms/adl/macro.go @@ -1,14 +1,13 @@ package adl import ( - "strings" "fmt" + "strings" + "review.coreboot.org/coreboot.git/util/intelp2m/fields" + "review.coreboot.org/coreboot.git/util/intelp2m/platforms/cnl" "review.coreboot.org/coreboot.git/util/intelp2m/platforms/common" "review.coreboot.org/coreboot.git/util/intelp2m/platforms/snr" - "review.coreboot.org/coreboot.git/util/intelp2m/platforms/cnl" - "review.coreboot.org/coreboot.git/util/intelp2m/config" - "review.coreboot.org/coreboot.git/util/intelp2m/fields" ) const ( @@ -37,10 +36,6 @@ type PlatformSpecific struct { // RemmapRstSrc - remmap Pad Reset Source Config func (PlatformSpecific) RemmapRstSrc() { macro := common.GetMacro() - if config.TemplateGet() != config.TempInteltool { - // Use reset source remapping only if the input file is inteltool.log dump - return - } if strings.Contains(macro.PadIdGet(), "GPD") { // See reset map for the Alderlake GPD Group in the Community 2: // https://github.com/coreboot/coreboot/blob/master/src/soc/intel/alderlake/gpio.c#L21 @@ -51,9 +46,9 @@ func (PlatformSpecific) RemmapRstSrc() { dw0 := macro.Register(PAD_CFG_DW0) var remapping = map[uint8]uint32{ 0: common.RST_RSMRST << common.PadRstCfgShift, - 1: common.RST_DEEP << common.PadRstCfgShift, + 1: common.RST_DEEP << common.PadRstCfgShift, 2: common.RST_PLTRST << common.PadRstCfgShift, - 3: common.RST_PWROK << common.PadRstCfgShift, + 3: common.RST_PWROK << common.PadRstCfgShift, } resetsrc, valid := remapping[dw0.GetResetConfig()] if valid { @@ -61,7 +56,7 @@ func (PlatformSpecific) RemmapRstSrc() { ResetConfigFieldVal := (dw0.ValueGet() & 0x3fffffff) | remapping[dw0.GetResetConfig()] dw0.ValueSet(ResetConfigFieldVal) } else { - fmt.Println("Invalid Pad Reset Config [ 0x", resetsrc ," ] for ", macro.PadIdGet()) + fmt.Println("Invalid Pad Reset Config [ 0x", resetsrc, " ] for ", macro.PadIdGet()) } dw0.CntrMaskFieldsClear(common.PadRstCfgMask) } diff --git a/util/intelp2m/platforms/cnl/macro.go b/util/intelp2m/platforms/cnl/macro.go index ae568d5096..6aa6140ef9 100644 --- a/util/intelp2m/platforms/cnl/macro.go +++ b/util/intelp2m/platforms/cnl/macro.go @@ -1,12 +1,12 @@ package cnl import ( - "strings" "fmt" + "strings" - "review.coreboot.org/coreboot.git/util/intelp2m/platforms/common" "review.coreboot.org/coreboot.git/util/intelp2m/config" "review.coreboot.org/coreboot.git/util/intelp2m/fields" + "review.coreboot.org/coreboot.git/util/intelp2m/platforms/common" "review.coreboot.org/coreboot.git/util/intelp2m/platforms/snr" ) @@ -35,13 +35,9 @@ type PlatformSpecific struct { // RemmapRstSrc - remmap Pad Reset Source Config func (PlatformSpecific) RemmapRstSrc() { macro := common.GetMacro() - if config.TemplateGet() != config.TempInteltool { - // Use reset source remapping only if the input file is inteltool.log dump - return - } if strings.Contains(macro.PadIdGet(), "GPP_A") || - strings.Contains(macro.PadIdGet(), "GPP_B") || - strings.Contains(macro.PadIdGet(), "GPP_G") { + strings.Contains(macro.PadIdGet(), "GPP_B") || + strings.Contains(macro.PadIdGet(), "GPP_G") { // See reset map for the Cannonlake Groups the Community 0: // https://github.com/coreboot/coreboot/blob/master/src/soc/intel/cannonlake/gpio.c#L14 // remmap is not required because it is the same as common. @@ -51,7 +47,7 @@ func (PlatformSpecific) RemmapRstSrc() { dw0 := macro.Register(PAD_CFG_DW0) var remapping = map[uint8]uint32{ 0: common.RST_RSMRST << common.PadRstCfgShift, - 1: common.RST_DEEP << common.PadRstCfgShift, + 1: common.RST_DEEP << common.PadRstCfgShift, 2: common.RST_PLTRST << common.PadRstCfgShift, } resetsrc, valid := remapping[dw0.GetResetConfig()] @@ -60,7 +56,7 @@ func (PlatformSpecific) RemmapRstSrc() { ResetConfigFieldVal := (dw0.ValueGet() & 0x3fffffff) | remapping[dw0.GetResetConfig()] dw0.ValueSet(ResetConfigFieldVal) } else { - fmt.Println("Invalid Pad Reset Config [ 0x", resetsrc ," ] for ", macro.PadIdGet()) + fmt.Println("Invalid Pad Reset Config [ 0x", resetsrc, " ] for ", macro.PadIdGet()) } dw0.CntrMaskFieldsClear(common.PadRstCfgMask) } @@ -85,9 +81,9 @@ func (PlatformSpecific) Pull() { if !valid { str = "INVALID" fmt.Println("Error", - macro.PadIdGet(), - " invalid TERM value = ", - int(dw1.GetTermination())) + macro.PadIdGet(), + " invalid TERM value = ", + int(dw1.GetTermination())) } macro.Separator().Add(str) } @@ -146,7 +142,7 @@ func (PlatformSpecific) GpiMacroAdd() { macro := common.GetMacro() var ids []string macro.Set("PAD_CFG_GPI") - for routeid, isRoute := range map[string]func() (bool) { + for routeid, isRoute := range map[string]func() bool{ "IOAPIC": ioApicRoute, "SCI": sciRoute, "SMI": smiRoute, @@ -204,7 +200,7 @@ func (platform PlatformSpecific) NoConnMacroAdd() { // return: string of macro // error func (PlatformSpecific) GenMacro(id string, dw0 uint32, dw1 uint32, ownership uint8) string { - macro := common.GetInstanceMacro(PlatformSpecific{InheritanceMacro : snr.PlatformSpecific{}}, + macro := common.GetInstanceMacro(PlatformSpecific{InheritanceMacro: snr.PlatformSpecific{}}, fields.InterfaceGet()) macro.Clear() macro.Register(PAD_CFG_DW0).CntrMaskFieldsClear(common.AllFields) diff --git a/util/intelp2m/platforms/ebg/macro.go b/util/intelp2m/platforms/ebg/macro.go index 64d6f32409..1fb0a3273a 100644 --- a/util/intelp2m/platforms/ebg/macro.go +++ b/util/intelp2m/platforms/ebg/macro.go @@ -3,11 +3,10 @@ package ebg import ( "fmt" - "review.coreboot.org/coreboot.git/util/intelp2m/platforms/common" - "review.coreboot.org/coreboot.git/util/intelp2m/config" "review.coreboot.org/coreboot.git/util/intelp2m/fields" - "review.coreboot.org/coreboot.git/util/intelp2m/platforms/snr" "review.coreboot.org/coreboot.git/util/intelp2m/platforms/cnl" + "review.coreboot.org/coreboot.git/util/intelp2m/platforms/common" + "review.coreboot.org/coreboot.git/util/intelp2m/platforms/snr" ) const ( @@ -37,14 +36,10 @@ type PlatformSpecific struct { // RemmapRstSrc - remmap Pad Reset Source Config func (PlatformSpecific) RemmapRstSrc() { macro := common.GetMacro() - if config.TemplateGet() != config.TempInteltool { - // Use reset source remapping only if the input file is inteltool.log dump - return - } dw0 := macro.Register(PAD_CFG_DW0) var remapping = map[uint8]uint32{ 0: common.RST_RSMRST << common.PadRstCfgShift, - 1: common.RST_DEEP << common.PadRstCfgShift, + 1: common.RST_DEEP << common.PadRstCfgShift, 2: common.RST_PLTRST << common.PadRstCfgShift, } resetsrc, valid := remapping[dw0.GetResetConfig()] @@ -53,7 +48,7 @@ func (PlatformSpecific) RemmapRstSrc() { ResetConfigFieldVal := (dw0.ValueGet() & 0x3fffffff) | remapping[dw0.GetResetConfig()] dw0.ValueSet(ResetConfigFieldVal) } else { - fmt.Println("Invalid Pad Reset Config [ 0x", resetsrc ," ] for ", macro.PadIdGet()) + fmt.Println("Invalid Pad Reset Config [ 0x", resetsrc, " ] for ", macro.PadIdGet()) } dw0.CntrMaskFieldsClear(common.PadRstCfgMask) } @@ -88,12 +83,13 @@ func (platform PlatformSpecific) NoConnMacroAdd() { // dw0 : DW0 config register value // dw1 : DW1 config register value // return: string of macro -// error +// +// error func (platform PlatformSpecific) GenMacro(id string, dw0 uint32, dw1 uint32, ownership uint8) string { macro := common.GetInstanceMacro( PlatformSpecific{ - InheritanceMacro : cnl.PlatformSpecific{ - InheritanceMacro : snr.PlatformSpecific{}, + InheritanceMacro: cnl.PlatformSpecific{ + InheritanceMacro: snr.PlatformSpecific{}, }, }, fields.InterfaceGet(), diff --git a/util/intelp2m/platforms/jsl/macro.go b/util/intelp2m/platforms/jsl/macro.go index 89cf2f0cc7..42c254b190 100644 --- a/util/intelp2m/platforms/jsl/macro.go +++ b/util/intelp2m/platforms/jsl/macro.go @@ -1,14 +1,13 @@ package jsl import ( - "strings" "fmt" + "strings" + "review.coreboot.org/coreboot.git/util/intelp2m/fields" + "review.coreboot.org/coreboot.git/util/intelp2m/platforms/cnl" "review.coreboot.org/coreboot.git/util/intelp2m/platforms/common" "review.coreboot.org/coreboot.git/util/intelp2m/platforms/snr" - "review.coreboot.org/coreboot.git/util/intelp2m/platforms/cnl" - "review.coreboot.org/coreboot.git/util/intelp2m/config" - "review.coreboot.org/coreboot.git/util/intelp2m/fields" ) const ( @@ -37,15 +36,11 @@ type PlatformSpecific struct { // RemmapRstSrc - remmap Pad Reset Source Config func (PlatformSpecific) RemmapRstSrc() { macro := common.GetMacro() - if config.TemplateGet() != config.TempInteltool { - // Use reset source remapping only if the input file is inteltool.log dump - return - } if strings.Contains(macro.PadIdGet(), "GPP_F") || - strings.Contains(macro.PadIdGet(), "GPP_B") || - strings.Contains(macro.PadIdGet(), "GPP_A") || - strings.Contains(macro.PadIdGet(), "GPP_S") || - strings.Contains(macro.PadIdGet(), "GPP_R") { + strings.Contains(macro.PadIdGet(), "GPP_B") || + strings.Contains(macro.PadIdGet(), "GPP_A") || + strings.Contains(macro.PadIdGet(), "GPP_S") || + strings.Contains(macro.PadIdGet(), "GPP_R") { // See reset map for the Jasper Lake Community 0: // https://github.com/coreboot/coreboot/blob/master/src/soc/intel/jasperlake/gpio.c#L21 // remmap is not required because it is the same as common. @@ -55,7 +50,7 @@ func (PlatformSpecific) RemmapRstSrc() { dw0 := macro.Register(PAD_CFG_DW0) var remapping = map[uint8]uint32{ 0: common.RST_RSMRST << common.PadRstCfgShift, - 1: common.RST_DEEP << common.PadRstCfgShift, + 1: common.RST_DEEP << common.PadRstCfgShift, 2: common.RST_PLTRST << common.PadRstCfgShift, } resetsrc, valid := remapping[dw0.GetResetConfig()] @@ -64,7 +59,7 @@ func (PlatformSpecific) RemmapRstSrc() { ResetConfigFieldVal := (dw0.ValueGet() & 0x3fffffff) | remapping[dw0.GetResetConfig()] dw0.ValueSet(ResetConfigFieldVal) } else { - fmt.Println("Invalid Pad Reset Config [ 0x", resetsrc ," ] for ", macro.PadIdGet()) + fmt.Println("Invalid Pad Reset Config [ 0x", resetsrc, " ] for ", macro.PadIdGet()) } dw0.CntrMaskFieldsClear(common.PadRstCfgMask) } @@ -99,7 +94,8 @@ func (platform PlatformSpecific) NoConnMacroAdd() { // dw0 : DW0 config register value // dw1 : DW1 config register value // return: string of macro -// error +// +// error func (PlatformSpecific) GenMacro(id string, dw0 uint32, dw1 uint32, ownership uint8) string { macro := common.GetInstanceMacro( PlatformSpecific{ diff --git a/util/intelp2m/platforms/lbg/macro.go b/util/intelp2m/platforms/lbg/macro.go index 3c71ca87dc..8a706e3d5d 100644 --- a/util/intelp2m/platforms/lbg/macro.go +++ b/util/intelp2m/platforms/lbg/macro.go @@ -3,9 +3,8 @@ package lbg import ( "fmt" - "review.coreboot.org/coreboot.git/util/intelp2m/platforms/common" - "review.coreboot.org/coreboot.git/util/intelp2m/config" "review.coreboot.org/coreboot.git/util/intelp2m/fields" + "review.coreboot.org/coreboot.git/util/intelp2m/platforms/common" "review.coreboot.org/coreboot.git/util/intelp2m/platforms/snr" ) @@ -36,14 +35,10 @@ type PlatformSpecific struct { // RemmapRstSrc - remmap Pad Reset Source Config func (PlatformSpecific) RemmapRstSrc() { macro := common.GetMacro() - if config.TemplateGet() != config.TempInteltool { - // Use reset source remapping only if the input file is inteltool.log dump - return - } dw0 := macro.Register(PAD_CFG_DW0) var remapping = map[uint8]uint32{ 0: common.RST_RSMRST << common.PadRstCfgShift, - 1: common.RST_DEEP << common.PadRstCfgShift, + 1: common.RST_DEEP << common.PadRstCfgShift, 2: common.RST_PLTRST << common.PadRstCfgShift, } resetsrc, valid := remapping[dw0.GetResetConfig()] @@ -52,7 +47,7 @@ func (PlatformSpecific) RemmapRstSrc() { ResetConfigFieldVal := (dw0.ValueGet() & 0x3fffffff) | remapping[dw0.GetResetConfig()] dw0.ValueSet(ResetConfigFieldVal) } else { - fmt.Println("Invalid Pad Reset Config [ 0x", resetsrc ," ] for ", macro.PadIdGet()) + fmt.Println("Invalid Pad Reset Config [ 0x", resetsrc, " ] for ", macro.PadIdGet()) } dw0.CntrMaskFieldsClear(common.PadRstCfgMask) } @@ -91,8 +86,8 @@ func (platform PlatformSpecific) NoConnMacroAdd() { func (platform PlatformSpecific) GenMacro(id string, dw0 uint32, dw1 uint32, ownership uint8) string { // The GPIO controller architecture in Lewisburg and Sunrise are very similar, // so we will inherit some platform-dependent functions from Sunrise. - macro := common.GetInstanceMacro(PlatformSpecific{InheritanceMacro : snr.PlatformSpecific{}}, - fields.InterfaceGet()) + macro := common.GetInstanceMacro(PlatformSpecific{InheritanceMacro: snr.PlatformSpecific{}}, + fields.InterfaceGet()) macro.Clear() macro.Register(PAD_CFG_DW0).CntrMaskFieldsClear(common.AllFields) macro.Register(PAD_CFG_DW1).CntrMaskFieldsClear(common.AllFields) diff --git a/util/intelp2m/platforms/mtl/macro.go b/util/intelp2m/platforms/mtl/macro.go index 512dd719e3..06d05996c3 100644 --- a/util/intelp2m/platforms/mtl/macro.go +++ b/util/intelp2m/platforms/mtl/macro.go @@ -1,14 +1,13 @@ package mtl import ( - "strings" "fmt" + "strings" + "review.coreboot.org/coreboot.git/util/intelp2m/fields" + "review.coreboot.org/coreboot.git/util/intelp2m/platforms/cnl" "review.coreboot.org/coreboot.git/util/intelp2m/platforms/common" "review.coreboot.org/coreboot.git/util/intelp2m/platforms/snr" - "review.coreboot.org/coreboot.git/util/intelp2m/platforms/cnl" - "review.coreboot.org/coreboot.git/util/intelp2m/config" - "review.coreboot.org/coreboot.git/util/intelp2m/fields" ) const ( @@ -37,23 +36,19 @@ type PlatformSpecific struct { // RemmapRstSrc - remmap Pad Reset Source Config func (PlatformSpecific) RemmapRstSrc() { macro := common.GetMacro() - if config.TemplateGet() != config.TempInteltool { - // Use reset source remapping only if the input file is inteltool.log dump - return - } if strings.Contains(macro.PadIdGet(), "GPD") { // See reset map for the MeteorLake GPD group at - // https://github.com/coreboot/coreboot/blob/master/src/soc/intel/meteorlake/gpio.c#L10 - // remmap is not required because it is the same as common. + // https://github.com/coreboot/coreboot/blob/master/src/soc/intel/meteorlake/gpio.c#L10 + // remmap is not required because it is the same as common. return } dw0 := macro.Register(PAD_CFG_DW0) var remapping = map[uint8]uint32{ 0: common.RST_RSMRST << common.PadRstCfgShift, - 1: common.RST_DEEP << common.PadRstCfgShift, + 1: common.RST_DEEP << common.PadRstCfgShift, 2: common.RST_PLTRST << common.PadRstCfgShift, - 3: common.RST_PWROK << common.PadRstCfgShift, + 3: common.RST_PWROK << common.PadRstCfgShift, } resetsrc, valid := remapping[dw0.GetResetConfig()] if valid { @@ -61,7 +56,7 @@ func (PlatformSpecific) RemmapRstSrc() { ResetConfigFieldVal := (dw0.ValueGet() & 0x3fffffff) | remapping[dw0.GetResetConfig()] dw0.ValueSet(ResetConfigFieldVal) } else { - fmt.Println("Invalid Pad Reset Config [ 0x", resetsrc ," ] for ", macro.PadIdGet()) + fmt.Println("Invalid Pad Reset Config [ 0x", resetsrc, " ] for ", macro.PadIdGet()) } dw0.CntrMaskFieldsClear(common.PadRstCfgMask) } @@ -92,12 +87,12 @@ func (platform PlatformSpecific) NoConnMacroAdd() { platform.InheritanceMacro.NoConnMacroAdd() } - // GenMacro - generate pad macro // dw0 : DW0 config register value // dw1 : DW1 config register value // return: string of macro -// error +// +// error func (PlatformSpecific) GenMacro(id string, dw0 uint32, dw1 uint32, ownership uint8) string { macro := common.GetInstanceMacro( PlatformSpecific{ diff --git a/util/intelp2m/platforms/snr/macro.go b/util/intelp2m/platforms/snr/macro.go index 382616c6a3..d96e83e2e2 100644 --- a/util/intelp2m/platforms/snr/macro.go +++ b/util/intelp2m/platforms/snr/macro.go @@ -1,12 +1,12 @@ package snr import ( - "strings" "fmt" + "strings" - "review.coreboot.org/coreboot.git/util/intelp2m/platforms/common" "review.coreboot.org/coreboot.git/util/intelp2m/config" "review.coreboot.org/coreboot.git/util/intelp2m/fields" + "review.coreboot.org/coreboot.git/util/intelp2m/platforms/common" ) const ( @@ -20,15 +20,11 @@ const ( MAX_DW_NUM = common.MAX_DW_NUM ) -type PlatformSpecific struct {} +type PlatformSpecific struct{} // RemmapRstSrc - remmap Pad Reset Source Config func (PlatformSpecific) RemmapRstSrc() { macro := common.GetMacro() - if config.TemplateGet() != config.TempInteltool { - // Use reset source remapping only if the input file is inteltool.log dump - return - } if strings.Contains(macro.PadIdGet(), "GPD") { // See reset map for the Sunrise GPD Group in the Community 2: // https://github.com/coreboot/coreboot/blob/master/src/soc/intel/skylake/gpio.c#L15 @@ -39,7 +35,7 @@ func (PlatformSpecific) RemmapRstSrc() { dw0 := macro.Register(PAD_CFG_DW0) var remapping = map[uint8]uint32{ 0: common.RST_RSMRST << common.PadRstCfgShift, - 1: common.RST_DEEP << common.PadRstCfgShift, + 1: common.RST_DEEP << common.PadRstCfgShift, 2: common.RST_PLTRST << common.PadRstCfgShift, } resetsrc, valid := remapping[dw0.GetResetConfig()] @@ -48,7 +44,7 @@ func (PlatformSpecific) RemmapRstSrc() { ResetConfigFieldVal := (dw0.ValueGet() & 0x3fffffff) | remapping[dw0.GetResetConfig()] dw0.ValueSet(ResetConfigFieldVal) } else { - fmt.Println("Invalid Pad Reset Config [ 0x", resetsrc ," ] for ", macro.PadIdGet()) + fmt.Println("Invalid Pad Reset Config [ 0x", resetsrc, " ] for ", macro.PadIdGet()) } dw0.CntrMaskFieldsClear(common.PadRstCfgMask) } @@ -73,9 +69,9 @@ func (PlatformSpecific) Pull() { if !valid { str = "INVALID" fmt.Println("Error", - macro.PadIdGet(), - " invalid TERM value = ", - int(dw1.GetTermination())) + macro.PadIdGet(), + " invalid TERM value = ", + int(dw1.GetTermination())) } macro.Separator().Add(str) } @@ -146,7 +142,7 @@ func (PlatformSpecific) GpiMacroAdd() { macro := common.GetMacro() var ids []string macro.Set("PAD_CFG_GPI") - for routeid, isRoute := range map[string]func() (bool) { + for routeid, isRoute := range map[string]func() bool{ "IOAPIC": ioApicRoute, "SCI": sciRoute, "SMI": smiRoute, diff --git a/util/intelp2m/platforms/tgl/macro.go b/util/intelp2m/platforms/tgl/macro.go index 3b436ee3bb..c925eeb30c 100644 --- a/util/intelp2m/platforms/tgl/macro.go +++ b/util/intelp2m/platforms/tgl/macro.go @@ -1,14 +1,13 @@ package tgl import ( - "strings" "fmt" + "strings" + "review.coreboot.org/coreboot.git/util/intelp2m/fields" + "review.coreboot.org/coreboot.git/util/intelp2m/platforms/cnl" "review.coreboot.org/coreboot.git/util/intelp2m/platforms/common" "review.coreboot.org/coreboot.git/util/intelp2m/platforms/snr" - "review.coreboot.org/coreboot.git/util/intelp2m/platforms/cnl" - "review.coreboot.org/coreboot.git/util/intelp2m/config" - "review.coreboot.org/coreboot.git/util/intelp2m/fields" ) const ( @@ -37,10 +36,6 @@ type PlatformSpecific struct { // RemmapRstSrc - remmap Pad Reset Source Config func (PlatformSpecific) RemmapRstSrc() { macro := common.GetMacro() - if config.TemplateGet() != config.TempInteltool { - // Use reset source remapping only if the input file is inteltool.log dump - return - } if strings.Contains(macro.PadIdGet(), "GPD") { // See reset map for the TigerLake Community 2: // https://github.com/coreboot/coreboot/blob/master/src/soc/intel/tigerlake/gpio.c#L21 @@ -51,7 +46,7 @@ func (PlatformSpecific) RemmapRstSrc() { dw0 := macro.Register(PAD_CFG_DW0) var remapping = map[uint8]uint32{ 0: common.RST_RSMRST << common.PadRstCfgShift, - 1: common.RST_DEEP << common.PadRstCfgShift, + 1: common.RST_DEEP << common.PadRstCfgShift, 2: common.RST_PLTRST << common.PadRstCfgShift, } resetsrc, valid := remapping[dw0.GetResetConfig()] @@ -60,7 +55,7 @@ func (PlatformSpecific) RemmapRstSrc() { ResetConfigFieldVal := (dw0.ValueGet() & 0x3fffffff) | remapping[dw0.GetResetConfig()] dw0.ValueSet(ResetConfigFieldVal) } else { - fmt.Println("Invalid Pad Reset Config [ 0x", resetsrc ," ] for ", macro.PadIdGet()) + fmt.Println("Invalid Pad Reset Config [ 0x", resetsrc, " ] for ", macro.PadIdGet()) } dw0.CntrMaskFieldsClear(common.PadRstCfgMask) } @@ -95,7 +90,8 @@ func (platform PlatformSpecific) NoConnMacroAdd() { // dw0 : DW0 config register value // dw1 : DW1 config register value // return: string of macro -// error +// +// error func (PlatformSpecific) GenMacro(id string, dw0 uint32, dw1 uint32, ownership uint8) string { macro := common.GetInstanceMacro( PlatformSpecific{ diff --git a/util/intelp2m/version.txt b/util/intelp2m/version.txt index 9459d4ba2a..5625e59da8 100644 --- a/util/intelp2m/version.txt +++ b/util/intelp2m/version.txt @@ -1 +1 @@ -1.1 +1.2