RegFieldDesc: Emit enumerations if they exist
This commit is contained in:
		@@ -26,7 +26,7 @@ case class RegFieldDesc (
 | 
			
		||||
  groupDesc: Option[String] = None,
 | 
			
		||||
  access: RegFieldAccessType = RegFieldAccessType.RW,
 | 
			
		||||
  reset: Option[BigInt] = None,
 | 
			
		||||
  enumerations: Map[String, BigInt] = Map()
 | 
			
		||||
  enumerations: Map[BigInt, (String, String)] = Map()
 | 
			
		||||
){
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -93,11 +93,17 @@ case class TLRegisterNode(
 | 
			
		||||
            ("bitOffset"   -> currentBitOffset) ~
 | 
			
		||||
            ("bitWidth"    -> f.width) ~
 | 
			
		||||
            ("name" -> f.desc.map(_.name)) ~
 | 
			
		||||
            ("description" -> f.desc.map{ d=> if (d.desc == "") None else Some(d.desc)}) ~
 | 
			
		||||
            ("description" -> f.desc.map{d => if (d.desc == "") None else Some(d.desc)}) ~
 | 
			
		||||
            ("resetValue"  -> f.desc.map{_.reset}) ~
 | 
			
		||||
            ("group"       -> f.desc.map{_.group}) ~
 | 
			
		||||
            ("groupDesc"   -> f.desc.map{_.groupDesc}) ~
 | 
			
		||||
            ("accessType"  -> f.desc.map {d => d.access.toString})
 | 
			
		||||
            ("accessType"  -> f.desc.map {d => d.access.toString}) ~
 | 
			
		||||
            ("enumerations" -> f.desc.map {d =>
 | 
			
		||||
              Option(d.enumerations.map { case (key, (name, desc)) =>
 | 
			
		||||
                (("value" -> key) ~
 | 
			
		||||
                  ("name" -> name) ~
 | 
			
		||||
                  ("description" -> desc))
 | 
			
		||||
              }).filter(_.nonEmpty)})
 | 
			
		||||
        ))
 | 
			
		||||
        currentBitOffset = currentBitOffset + f.width
 | 
			
		||||
        tmp
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user