summaryrefslogtreecommitdiff
path: root/util/intelp2m/fields/raw/raw.go
diff options
context:
space:
mode:
Diffstat (limited to 'util/intelp2m/fields/raw/raw.go')
-rw-r--r--util/intelp2m/fields/raw/raw.go28
1 files changed, 28 insertions, 0 deletions
diff --git a/util/intelp2m/fields/raw/raw.go b/util/intelp2m/fields/raw/raw.go
new file mode 100644
index 0000000000..a54e51d9b1
--- /dev/null
+++ b/util/intelp2m/fields/raw/raw.go
@@ -0,0 +1,28 @@
+package raw
+
+import "fmt"
+import "../../platforms/common"
+
+type FieldMacros struct {}
+
+func (FieldMacros) DecodeDW0() {
+ macro := common.GetMacro()
+ // Do not decode, print as is.
+ macro.Add(fmt.Sprintf("0x%0.8x", macro.Register(common.PAD_CFG_DW0).ValueGet()))
+}
+
+func (FieldMacros) DecodeDW1() {
+ macro := common.GetMacro()
+ // Do not decode, print as is.
+ macro.Add(fmt.Sprintf("0x%0.8x", macro.Register(common.PAD_CFG_DW1).ValueGet()))
+}
+
+// GenerateString - generates the entire string of bitfield macros.
+func (bitfields FieldMacros) GenerateString() {
+ macro := common.GetMacro()
+ macro.Add("_PAD_CFG_STRUCT(").Id().Add(", ")
+ bitfields.DecodeDW0()
+ macro.Add(", ")
+ bitfields.DecodeDW1()
+ macro.Add("),")
+}