package cmt

import (
	"bits"
	"mmio"
	"unsafe"
)

type CMT_Periph struct {
	ICIALLU  RICIALLU
	_        uint32
	ICIMVAU  RICIMVAU
	DCIMVAC  RDCIMVAC
	DCISW    RDCISW
	DCCMVAU  RDCCMVAU
	DCCMVAC  RDCCMVAC
	DCCSW    RDCCSW
	DCCIMVAC RDCCIMVAC
	DCCISW   RDCCISW
}

func (p *CMT_Periph) BaseAddr() uintptr {
	return uintptr(unsafe.Pointer(p))
}

var CMT = (*CMT_Periph)(unsafe.Pointer(uintptr(0xE000EF50)))

type ICIALLU uint32

func (b ICIALLU) Field(mask ICIALLU) int {
	return bits.Field32(uint32(b), uint32(mask))
}
func (mask ICIALLU) J(v int) ICIALLU {
	return ICIALLU(bits.MakeField32(v, uint32(mask)))
}

type RICIALLU struct{ mmio.U32 }

func (r *RICIALLU) Bits(mask ICIALLU) ICIALLU { return ICIALLU(r.U32.Bits(uint32(mask))) }
func (r *RICIALLU) StoreBits(mask, b ICIALLU) { r.U32.StoreBits(uint32(mask), uint32(b)) }
func (r *RICIALLU) SetBits(mask ICIALLU)      { r.U32.SetBits(uint32(mask)) }
func (r *RICIALLU) ClearBits(mask ICIALLU)    { r.U32.ClearBits(uint32(mask)) }
func (r *RICIALLU) Load() ICIALLU             { return ICIALLU(r.U32.Load()) }
func (r *RICIALLU) Store(b ICIALLU)           { r.U32.Store(uint32(b)) }

func (r *RICIALLU) AtomicStoreBits(mask, b ICIALLU) { r.U32.AtomicStoreBits(uint32(mask), uint32(b)) }
func (r *RICIALLU) AtomicSetBits(mask ICIALLU)      { r.U32.AtomicSetBits(uint32(mask)) }
func (r *RICIALLU) AtomicClearBits(mask ICIALLU)    { r.U32.AtomicClearBits(uint32(mask)) }

type RMICIALLU struct{ mmio.UM32 }

func (rm RMICIALLU) Load() ICIALLU   { return ICIALLU(rm.UM32.Load()) }
func (rm RMICIALLU) Store(b ICIALLU) { rm.UM32.Store(uint32(b)) }

type ICIMVAU uint32

func (b ICIMVAU) Field(mask ICIMVAU) int {
	return bits.Field32(uint32(b), uint32(mask))
}
func (mask ICIMVAU) J(v int) ICIMVAU {
	return ICIMVAU(bits.MakeField32(v, uint32(mask)))
}

type RICIMVAU struct{ mmio.U32 }

func (r *RICIMVAU) Bits(mask ICIMVAU) ICIMVAU { return ICIMVAU(r.U32.Bits(uint32(mask))) }
func (r *RICIMVAU) StoreBits(mask, b ICIMVAU) { r.U32.StoreBits(uint32(mask), uint32(b)) }
func (r *RICIMVAU) SetBits(mask ICIMVAU)      { r.U32.SetBits(uint32(mask)) }
func (r *RICIMVAU) ClearBits(mask ICIMVAU)    { r.U32.ClearBits(uint32(mask)) }
func (r *RICIMVAU) Load() ICIMVAU             { return ICIMVAU(r.U32.Load()) }
func (r *RICIMVAU) Store(b ICIMVAU)           { r.U32.Store(uint32(b)) }

func (r *RICIMVAU) AtomicStoreBits(mask, b ICIMVAU) { r.U32.AtomicStoreBits(uint32(mask), uint32(b)) }
func (r *RICIMVAU) AtomicSetBits(mask ICIMVAU)      { r.U32.AtomicSetBits(uint32(mask)) }
func (r *RICIMVAU) AtomicClearBits(mask ICIMVAU)    { r.U32.AtomicClearBits(uint32(mask)) }

type RMICIMVAU struct{ mmio.UM32 }

func (rm RMICIMVAU) Load() ICIMVAU   { return ICIMVAU(rm.UM32.Load()) }
func (rm RMICIMVAU) Store(b ICIMVAU) { rm.UM32.Store(uint32(b)) }

type DCIMVAC uint32

func (b DCIMVAC) Field(mask DCIMVAC) int {
	return bits.Field32(uint32(b), uint32(mask))
}
func (mask DCIMVAC) J(v int) DCIMVAC {
	return DCIMVAC(bits.MakeField32(v, uint32(mask)))
}

type RDCIMVAC struct{ mmio.U32 }

func (r *RDCIMVAC) Bits(mask DCIMVAC) DCIMVAC { return DCIMVAC(r.U32.Bits(uint32(mask))) }
func (r *RDCIMVAC) StoreBits(mask, b DCIMVAC) { r.U32.StoreBits(uint32(mask), uint32(b)) }
func (r *RDCIMVAC) SetBits(mask DCIMVAC)      { r.U32.SetBits(uint32(mask)) }
func (r *RDCIMVAC) ClearBits(mask DCIMVAC)    { r.U32.ClearBits(uint32(mask)) }
func (r *RDCIMVAC) Load() DCIMVAC             { return DCIMVAC(r.U32.Load()) }
func (r *RDCIMVAC) Store(b DCIMVAC)           { r.U32.Store(uint32(b)) }

func (r *RDCIMVAC) AtomicStoreBits(mask, b DCIMVAC) { r.U32.AtomicStoreBits(uint32(mask), uint32(b)) }
func (r *RDCIMVAC) AtomicSetBits(mask DCIMVAC)      { r.U32.AtomicSetBits(uint32(mask)) }
func (r *RDCIMVAC) AtomicClearBits(mask DCIMVAC)    { r.U32.AtomicClearBits(uint32(mask)) }

type RMDCIMVAC struct{ mmio.UM32 }

func (rm RMDCIMVAC) Load() DCIMVAC   { return DCIMVAC(rm.UM32.Load()) }
func (rm RMDCIMVAC) Store(b DCIMVAC) { rm.UM32.Store(uint32(b)) }

type DCISW uint32

func (b DCISW) Field(mask DCISW) int {
	return bits.Field32(uint32(b), uint32(mask))
}
func (mask DCISW) J(v int) DCISW {
	return DCISW(bits.MakeField32(v, uint32(mask)))
}

type RDCISW struct{ mmio.U32 }

func (r *RDCISW) Bits(mask DCISW) DCISW   { return DCISW(r.U32.Bits(uint32(mask))) }
func (r *RDCISW) StoreBits(mask, b DCISW) { r.U32.StoreBits(uint32(mask), uint32(b)) }
func (r *RDCISW) SetBits(mask DCISW)      { r.U32.SetBits(uint32(mask)) }
func (r *RDCISW) ClearBits(mask DCISW)    { r.U32.ClearBits(uint32(mask)) }
func (r *RDCISW) Load() DCISW             { return DCISW(r.U32.Load()) }
func (r *RDCISW) Store(b DCISW)           { r.U32.Store(uint32(b)) }

func (r *RDCISW) AtomicStoreBits(mask, b DCISW) { r.U32.AtomicStoreBits(uint32(mask), uint32(b)) }
func (r *RDCISW) AtomicSetBits(mask DCISW)      { r.U32.AtomicSetBits(uint32(mask)) }
func (r *RDCISW) AtomicClearBits(mask DCISW)    { r.U32.AtomicClearBits(uint32(mask)) }

type RMDCISW struct{ mmio.UM32 }

func (rm RMDCISW) Load() DCISW   { return DCISW(rm.UM32.Load()) }
func (rm RMDCISW) Store(b DCISW) { rm.UM32.Store(uint32(b)) }

type DCCMVAU uint32

func (b DCCMVAU) Field(mask DCCMVAU) int {
	return bits.Field32(uint32(b), uint32(mask))
}
func (mask DCCMVAU) J(v int) DCCMVAU {
	return DCCMVAU(bits.MakeField32(v, uint32(mask)))
}

type RDCCMVAU struct{ mmio.U32 }

func (r *RDCCMVAU) Bits(mask DCCMVAU) DCCMVAU { return DCCMVAU(r.U32.Bits(uint32(mask))) }
func (r *RDCCMVAU) StoreBits(mask, b DCCMVAU) { r.U32.StoreBits(uint32(mask), uint32(b)) }
func (r *RDCCMVAU) SetBits(mask DCCMVAU)      { r.U32.SetBits(uint32(mask)) }
func (r *RDCCMVAU) ClearBits(mask DCCMVAU)    { r.U32.ClearBits(uint32(mask)) }
func (r *RDCCMVAU) Load() DCCMVAU             { return DCCMVAU(r.U32.Load()) }
func (r *RDCCMVAU) Store(b DCCMVAU)           { r.U32.Store(uint32(b)) }

func (r *RDCCMVAU) AtomicStoreBits(mask, b DCCMVAU) { r.U32.AtomicStoreBits(uint32(mask), uint32(b)) }
func (r *RDCCMVAU) AtomicSetBits(mask DCCMVAU)      { r.U32.AtomicSetBits(uint32(mask)) }
func (r *RDCCMVAU) AtomicClearBits(mask DCCMVAU)    { r.U32.AtomicClearBits(uint32(mask)) }

type RMDCCMVAU struct{ mmio.UM32 }

func (rm RMDCCMVAU) Load() DCCMVAU   { return DCCMVAU(rm.UM32.Load()) }
func (rm RMDCCMVAU) Store(b DCCMVAU) { rm.UM32.Store(uint32(b)) }

type DCCMVAC uint32

func (b DCCMVAC) Field(mask DCCMVAC) int {
	return bits.Field32(uint32(b), uint32(mask))
}
func (mask DCCMVAC) J(v int) DCCMVAC {
	return DCCMVAC(bits.MakeField32(v, uint32(mask)))
}

type RDCCMVAC struct{ mmio.U32 }

func (r *RDCCMVAC) Bits(mask DCCMVAC) DCCMVAC { return DCCMVAC(r.U32.Bits(uint32(mask))) }
func (r *RDCCMVAC) StoreBits(mask, b DCCMVAC) { r.U32.StoreBits(uint32(mask), uint32(b)) }
func (r *RDCCMVAC) SetBits(mask DCCMVAC)      { r.U32.SetBits(uint32(mask)) }
func (r *RDCCMVAC) ClearBits(mask DCCMVAC)    { r.U32.ClearBits(uint32(mask)) }
func (r *RDCCMVAC) Load() DCCMVAC             { return DCCMVAC(r.U32.Load()) }
func (r *RDCCMVAC) Store(b DCCMVAC)           { r.U32.Store(uint32(b)) }

func (r *RDCCMVAC) AtomicStoreBits(mask, b DCCMVAC) { r.U32.AtomicStoreBits(uint32(mask), uint32(b)) }
func (r *RDCCMVAC) AtomicSetBits(mask DCCMVAC)      { r.U32.AtomicSetBits(uint32(mask)) }
func (r *RDCCMVAC) AtomicClearBits(mask DCCMVAC)    { r.U32.AtomicClearBits(uint32(mask)) }

type RMDCCMVAC struct{ mmio.UM32 }

func (rm RMDCCMVAC) Load() DCCMVAC   { return DCCMVAC(rm.UM32.Load()) }
func (rm RMDCCMVAC) Store(b DCCMVAC) { rm.UM32.Store(uint32(b)) }

type DCCSW uint32

func (b DCCSW) Field(mask DCCSW) int {
	return bits.Field32(uint32(b), uint32(mask))
}
func (mask DCCSW) J(v int) DCCSW {
	return DCCSW(bits.MakeField32(v, uint32(mask)))
}

type RDCCSW struct{ mmio.U32 }

func (r *RDCCSW) Bits(mask DCCSW) DCCSW   { return DCCSW(r.U32.Bits(uint32(mask))) }
func (r *RDCCSW) StoreBits(mask, b DCCSW) { r.U32.StoreBits(uint32(mask), uint32(b)) }
func (r *RDCCSW) SetBits(mask DCCSW)      { r.U32.SetBits(uint32(mask)) }
func (r *RDCCSW) ClearBits(mask DCCSW)    { r.U32.ClearBits(uint32(mask)) }
func (r *RDCCSW) Load() DCCSW             { return DCCSW(r.U32.Load()) }
func (r *RDCCSW) Store(b DCCSW)           { r.U32.Store(uint32(b)) }

func (r *RDCCSW) AtomicStoreBits(mask, b DCCSW) { r.U32.AtomicStoreBits(uint32(mask), uint32(b)) }
func (r *RDCCSW) AtomicSetBits(mask DCCSW)      { r.U32.AtomicSetBits(uint32(mask)) }
func (r *RDCCSW) AtomicClearBits(mask DCCSW)    { r.U32.AtomicClearBits(uint32(mask)) }

type RMDCCSW struct{ mmio.UM32 }

func (rm RMDCCSW) Load() DCCSW   { return DCCSW(rm.UM32.Load()) }
func (rm RMDCCSW) Store(b DCCSW) { rm.UM32.Store(uint32(b)) }

type DCCIMVAC uint32

func (b DCCIMVAC) Field(mask DCCIMVAC) int {
	return bits.Field32(uint32(b), uint32(mask))
}
func (mask DCCIMVAC) J(v int) DCCIMVAC {
	return DCCIMVAC(bits.MakeField32(v, uint32(mask)))
}

type RDCCIMVAC struct{ mmio.U32 }

func (r *RDCCIMVAC) Bits(mask DCCIMVAC) DCCIMVAC { return DCCIMVAC(r.U32.Bits(uint32(mask))) }
func (r *RDCCIMVAC) StoreBits(mask, b DCCIMVAC)  { r.U32.StoreBits(uint32(mask), uint32(b)) }
func (r *RDCCIMVAC) SetBits(mask DCCIMVAC)       { r.U32.SetBits(uint32(mask)) }
func (r *RDCCIMVAC) ClearBits(mask DCCIMVAC)     { r.U32.ClearBits(uint32(mask)) }
func (r *RDCCIMVAC) Load() DCCIMVAC              { return DCCIMVAC(r.U32.Load()) }
func (r *RDCCIMVAC) Store(b DCCIMVAC)            { r.U32.Store(uint32(b)) }

func (r *RDCCIMVAC) AtomicStoreBits(mask, b DCCIMVAC) { r.U32.AtomicStoreBits(uint32(mask), uint32(b)) }
func (r *RDCCIMVAC) AtomicSetBits(mask DCCIMVAC)      { r.U32.AtomicSetBits(uint32(mask)) }
func (r *RDCCIMVAC) AtomicClearBits(mask DCCIMVAC)    { r.U32.AtomicClearBits(uint32(mask)) }

type RMDCCIMVAC struct{ mmio.UM32 }

func (rm RMDCCIMVAC) Load() DCCIMVAC   { return DCCIMVAC(rm.UM32.Load()) }
func (rm RMDCCIMVAC) Store(b DCCIMVAC) { rm.UM32.Store(uint32(b)) }

type DCCISW uint32

func (b DCCISW) Field(mask DCCISW) int {
	return bits.Field32(uint32(b), uint32(mask))
}
func (mask DCCISW) J(v int) DCCISW {
	return DCCISW(bits.MakeField32(v, uint32(mask)))
}

type RDCCISW struct{ mmio.U32 }

func (r *RDCCISW) Bits(mask DCCISW) DCCISW  { return DCCISW(r.U32.Bits(uint32(mask))) }
func (r *RDCCISW) StoreBits(mask, b DCCISW) { r.U32.StoreBits(uint32(mask), uint32(b)) }
func (r *RDCCISW) SetBits(mask DCCISW)      { r.U32.SetBits(uint32(mask)) }
func (r *RDCCISW) ClearBits(mask DCCISW)    { r.U32.ClearBits(uint32(mask)) }
func (r *RDCCISW) Load() DCCISW             { return DCCISW(r.U32.Load()) }
func (r *RDCCISW) Store(b DCCISW)           { r.U32.Store(uint32(b)) }

func (r *RDCCISW) AtomicStoreBits(mask, b DCCISW) { r.U32.AtomicStoreBits(uint32(mask), uint32(b)) }
func (r *RDCCISW) AtomicSetBits(mask DCCISW)      { r.U32.AtomicSetBits(uint32(mask)) }
func (r *RDCCISW) AtomicClearBits(mask DCCISW)    { r.U32.AtomicClearBits(uint32(mask)) }

type RMDCCISW struct{ mmio.UM32 }

func (rm RMDCCISW) Load() DCCISW   { return DCCISW(rm.UM32.Load()) }
func (rm RMDCCISW) Store(b DCCISW) { rm.UM32.Store(uint32(b)) }
package cmt

// DO NOT EDIT THIS FILE. GENERATED BY xgen.

import (
	"bits"
	"mmio"
	"unsafe"
)

type CMT_Periph struct {
	ICIALLU  RICIALLU
	_        uint32
	ICIMVAU  RICIMVAU
	DCIMVAC  RDCIMVAC
	DCISW    RDCISW
	DCCMVAU  RDCCMVAU
	DCCMVAC  RDCCMVAC
	DCCSW    RDCCSW
	DCCIMVAC RDCCIMVAC
	DCCISW   RDCCISW
}

func (p *CMT_Periph) BaseAddr() uintptr {
	return uintptr(unsafe.Pointer(p))
}

//emgo:const
var CMT = (*CMT_Periph)(unsafe.Pointer(uintptr(0xE000EF50)))

type ICIALLU uint32

func (b ICIALLU) Field(mask ICIALLU) int {
	return bits.Field32(uint32(b), uint32(mask))
}
func (mask ICIALLU) J(v int) ICIALLU {
	return ICIALLU(bits.MakeField32(v, uint32(mask)))
}

type RICIALLU struct{ mmio.U32 }

func (r *RICIALLU) Bits(mask ICIALLU) ICIALLU { return ICIALLU(r.U32.Bits(uint32(mask))) }
func (r *RICIALLU) StoreBits(mask, b ICIALLU) { r.U32.StoreBits(uint32(mask), uint32(b)) }
func (r *RICIALLU) SetBits(mask ICIALLU)      { r.U32.SetBits(uint32(mask)) }
func (r *RICIALLU) ClearBits(mask ICIALLU)    { r.U32.ClearBits(uint32(mask)) }
func (r *RICIALLU) Load() ICIALLU             { return ICIALLU(r.U32.Load()) }
func (r *RICIALLU) Store(b ICIALLU)           { r.U32.Store(uint32(b)) }

func (r *RICIALLU) AtomicStoreBits(mask, b ICIALLU) { r.U32.AtomicStoreBits(uint32(mask), uint32(b)) }
func (r *RICIALLU) AtomicSetBits(mask ICIALLU)      { r.U32.AtomicSetBits(uint32(mask)) }
func (r *RICIALLU) AtomicClearBits(mask ICIALLU)    { r.U32.AtomicClearBits(uint32(mask)) }

type RMICIALLU struct{ mmio.UM32 }

func (rm RMICIALLU) Load() ICIALLU   { return ICIALLU(rm.UM32.Load()) }
func (rm RMICIALLU) Store(b ICIALLU) { rm.UM32.Store(uint32(b)) }

type ICIMVAU uint32

func (b ICIMVAU) Field(mask ICIMVAU) int {
	return bits.Field32(uint32(b), uint32(mask))
}
func (mask ICIMVAU) J(v int) ICIMVAU {
	return ICIMVAU(bits.MakeField32(v, uint32(mask)))
}

type RICIMVAU struct{ mmio.U32 }

func (r *RICIMVAU) Bits(mask ICIMVAU) ICIMVAU { return ICIMVAU(r.U32.Bits(uint32(mask))) }
func (r *RICIMVAU) StoreBits(mask, b ICIMVAU) { r.U32.StoreBits(uint32(mask), uint32(b)) }
func (r *RICIMVAU) SetBits(mask ICIMVAU)      { r.U32.SetBits(uint32(mask)) }
func (r *RICIMVAU) ClearBits(mask ICIMVAU)    { r.U32.ClearBits(uint32(mask)) }
func (r *RICIMVAU) Load() ICIMVAU             { return ICIMVAU(r.U32.Load()) }
func (r *RICIMVAU) Store(b ICIMVAU)           { r.U32.Store(uint32(b)) }

func (r *RICIMVAU) AtomicStoreBits(mask, b ICIMVAU) { r.U32.AtomicStoreBits(uint32(mask), uint32(b)) }
func (r *RICIMVAU) AtomicSetBits(mask ICIMVAU)      { r.U32.AtomicSetBits(uint32(mask)) }
func (r *RICIMVAU) AtomicClearBits(mask ICIMVAU)    { r.U32.AtomicClearBits(uint32(mask)) }

type RMICIMVAU struct{ mmio.UM32 }

func (rm RMICIMVAU) Load() ICIMVAU   { return ICIMVAU(rm.UM32.Load()) }
func (rm RMICIMVAU) Store(b ICIMVAU) { rm.UM32.Store(uint32(b)) }

type DCIMVAC uint32

func (b DCIMVAC) Field(mask DCIMVAC) int {
	return bits.Field32(uint32(b), uint32(mask))
}
func (mask DCIMVAC) J(v int) DCIMVAC {
	return DCIMVAC(bits.MakeField32(v, uint32(mask)))
}

type RDCIMVAC struct{ mmio.U32 }

func (r *RDCIMVAC) Bits(mask DCIMVAC) DCIMVAC { return DCIMVAC(r.U32.Bits(uint32(mask))) }
func (r *RDCIMVAC) StoreBits(mask, b DCIMVAC) { r.U32.StoreBits(uint32(mask), uint32(b)) }
func (r *RDCIMVAC) SetBits(mask DCIMVAC)      { r.U32.SetBits(uint32(mask)) }
func (r *RDCIMVAC) ClearBits(mask DCIMVAC)    { r.U32.ClearBits(uint32(mask)) }
func (r *RDCIMVAC) Load() DCIMVAC             { return DCIMVAC(r.U32.Load()) }
func (r *RDCIMVAC) Store(b DCIMVAC)           { r.U32.Store(uint32(b)) }

func (r *RDCIMVAC) AtomicStoreBits(mask, b DCIMVAC) { r.U32.AtomicStoreBits(uint32(mask), uint32(b)) }
func (r *RDCIMVAC) AtomicSetBits(mask DCIMVAC)      { r.U32.AtomicSetBits(uint32(mask)) }
func (r *RDCIMVAC) AtomicClearBits(mask DCIMVAC)    { r.U32.AtomicClearBits(uint32(mask)) }

type RMDCIMVAC struct{ mmio.UM32 }

func (rm RMDCIMVAC) Load() DCIMVAC   { return DCIMVAC(rm.UM32.Load()) }
func (rm RMDCIMVAC) Store(b DCIMVAC) { rm.UM32.Store(uint32(b)) }

type DCISW uint32

func (b DCISW) Field(mask DCISW) int {
	return bits.Field32(uint32(b), uint32(mask))
}
func (mask DCISW) J(v int) DCISW {
	return DCISW(bits.MakeField32(v, uint32(mask)))
}

type RDCISW struct{ mmio.U32 }

func (r *RDCISW) Bits(mask DCISW) DCISW   { return DCISW(r.U32.Bits(uint32(mask))) }
func (r *RDCISW) StoreBits(mask, b DCISW) { r.U32.StoreBits(uint32(mask), uint32(b)) }
func (r *RDCISW) SetBits(mask DCISW)      { r.U32.SetBits(uint32(mask)) }
func (r *RDCISW) ClearBits(mask DCISW)    { r.U32.ClearBits(uint32(mask)) }
func (r *RDCISW) Load() DCISW             { return DCISW(r.U32.Load()) }
func (r *RDCISW) Store(b DCISW)           { r.U32.Store(uint32(b)) }

func (r *RDCISW) AtomicStoreBits(mask, b DCISW) { r.U32.AtomicStoreBits(uint32(mask), uint32(b)) }
func (r *RDCISW) AtomicSetBits(mask DCISW)      { r.U32.AtomicSetBits(uint32(mask)) }
func (r *RDCISW) AtomicClearBits(mask DCISW)    { r.U32.AtomicClearBits(uint32(mask)) }

type RMDCISW struct{ mmio.UM32 }

func (rm RMDCISW) Load() DCISW   { return DCISW(rm.UM32.Load()) }
func (rm RMDCISW) Store(b DCISW) { rm.UM32.Store(uint32(b)) }

type DCCMVAU uint32

func (b DCCMVAU) Field(mask DCCMVAU) int {
	return bits.Field32(uint32(b), uint32(mask))
}
func (mask DCCMVAU) J(v int) DCCMVAU {
	return DCCMVAU(bits.MakeField32(v, uint32(mask)))
}

type RDCCMVAU struct{ mmio.U32 }

func (r *RDCCMVAU) Bits(mask DCCMVAU) DCCMVAU { return DCCMVAU(r.U32.Bits(uint32(mask))) }
func (r *RDCCMVAU) StoreBits(mask, b DCCMVAU) { r.U32.StoreBits(uint32(mask), uint32(b)) }
func (r *RDCCMVAU) SetBits(mask DCCMVAU)      { r.U32.SetBits(uint32(mask)) }
func (r *RDCCMVAU) ClearBits(mask DCCMVAU)    { r.U32.ClearBits(uint32(mask)) }
func (r *RDCCMVAU) Load() DCCMVAU             { return DCCMVAU(r.U32.Load()) }
func (r *RDCCMVAU) Store(b DCCMVAU)           { r.U32.Store(uint32(b)) }

func (r *RDCCMVAU) AtomicStoreBits(mask, b DCCMVAU) { r.U32.AtomicStoreBits(uint32(mask), uint32(b)) }
func (r *RDCCMVAU) AtomicSetBits(mask DCCMVAU)      { r.U32.AtomicSetBits(uint32(mask)) }
func (r *RDCCMVAU) AtomicClearBits(mask DCCMVAU)    { r.U32.AtomicClearBits(uint32(mask)) }

type RMDCCMVAU struct{ mmio.UM32 }

func (rm RMDCCMVAU) Load() DCCMVAU   { return DCCMVAU(rm.UM32.Load()) }
func (rm RMDCCMVAU) Store(b DCCMVAU) { rm.UM32.Store(uint32(b)) }

type DCCMVAC uint32

func (b DCCMVAC) Field(mask DCCMVAC) int {
	return bits.Field32(uint32(b), uint32(mask))
}
func (mask DCCMVAC) J(v int) DCCMVAC {
	return DCCMVAC(bits.MakeField32(v, uint32(mask)))
}

type RDCCMVAC struct{ mmio.U32 }

func (r *RDCCMVAC) Bits(mask DCCMVAC) DCCMVAC { return DCCMVAC(r.U32.Bits(uint32(mask))) }
func (r *RDCCMVAC) StoreBits(mask, b DCCMVAC) { r.U32.StoreBits(uint32(mask), uint32(b)) }
func (r *RDCCMVAC) SetBits(mask DCCMVAC)      { r.U32.SetBits(uint32(mask)) }
func (r *RDCCMVAC) ClearBits(mask DCCMVAC)    { r.U32.ClearBits(uint32(mask)) }
func (r *RDCCMVAC) Load() DCCMVAC             { return DCCMVAC(r.U32.Load()) }
func (r *RDCCMVAC) Store(b DCCMVAC)           { r.U32.Store(uint32(b)) }

func (r *RDCCMVAC) AtomicStoreBits(mask, b DCCMVAC) { r.U32.AtomicStoreBits(uint32(mask), uint32(b)) }
func (r *RDCCMVAC) AtomicSetBits(mask DCCMVAC)      { r.U32.AtomicSetBits(uint32(mask)) }
func (r *RDCCMVAC) AtomicClearBits(mask DCCMVAC)    { r.U32.AtomicClearBits(uint32(mask)) }

type RMDCCMVAC struct{ mmio.UM32 }

func (rm RMDCCMVAC) Load() DCCMVAC   { return DCCMVAC(rm.UM32.Load()) }
func (rm RMDCCMVAC) Store(b DCCMVAC) { rm.UM32.Store(uint32(b)) }

type DCCSW uint32

func (b DCCSW) Field(mask DCCSW) int {
	return bits.Field32(uint32(b), uint32(mask))
}
func (mask DCCSW) J(v int) DCCSW {
	return DCCSW(bits.MakeField32(v, uint32(mask)))
}

type RDCCSW struct{ mmio.U32 }

func (r *RDCCSW) Bits(mask DCCSW) DCCSW   { return DCCSW(r.U32.Bits(uint32(mask))) }
func (r *RDCCSW) StoreBits(mask, b DCCSW) { r.U32.StoreBits(uint32(mask), uint32(b)) }
func (r *RDCCSW) SetBits(mask DCCSW)      { r.U32.SetBits(uint32(mask)) }
func (r *RDCCSW) ClearBits(mask DCCSW)    { r.U32.ClearBits(uint32(mask)) }
func (r *RDCCSW) Load() DCCSW             { return DCCSW(r.U32.Load()) }
func (r *RDCCSW) Store(b DCCSW)           { r.U32.Store(uint32(b)) }

func (r *RDCCSW) AtomicStoreBits(mask, b DCCSW) { r.U32.AtomicStoreBits(uint32(mask), uint32(b)) }
func (r *RDCCSW) AtomicSetBits(mask DCCSW)      { r.U32.AtomicSetBits(uint32(mask)) }
func (r *RDCCSW) AtomicClearBits(mask DCCSW)    { r.U32.AtomicClearBits(uint32(mask)) }

type RMDCCSW struct{ mmio.UM32 }

func (rm RMDCCSW) Load() DCCSW   { return DCCSW(rm.UM32.Load()) }
func (rm RMDCCSW) Store(b DCCSW) { rm.UM32.Store(uint32(b)) }

type DCCIMVAC uint32

func (b DCCIMVAC) Field(mask DCCIMVAC) int {
	return bits.Field32(uint32(b), uint32(mask))
}
func (mask DCCIMVAC) J(v int) DCCIMVAC {
	return DCCIMVAC(bits.MakeField32(v, uint32(mask)))
}

type RDCCIMVAC struct{ mmio.U32 }

func (r *RDCCIMVAC) Bits(mask DCCIMVAC) DCCIMVAC { return DCCIMVAC(r.U32.Bits(uint32(mask))) }
func (r *RDCCIMVAC) StoreBits(mask, b DCCIMVAC)  { r.U32.StoreBits(uint32(mask), uint32(b)) }
func (r *RDCCIMVAC) SetBits(mask DCCIMVAC)       { r.U32.SetBits(uint32(mask)) }
func (r *RDCCIMVAC) ClearBits(mask DCCIMVAC)     { r.U32.ClearBits(uint32(mask)) }
func (r *RDCCIMVAC) Load() DCCIMVAC              { return DCCIMVAC(r.U32.Load()) }
func (r *RDCCIMVAC) Store(b DCCIMVAC)            { r.U32.Store(uint32(b)) }

func (r *RDCCIMVAC) AtomicStoreBits(mask, b DCCIMVAC) { r.U32.AtomicStoreBits(uint32(mask), uint32(b)) }
func (r *RDCCIMVAC) AtomicSetBits(mask DCCIMVAC)      { r.U32.AtomicSetBits(uint32(mask)) }
func (r *RDCCIMVAC) AtomicClearBits(mask DCCIMVAC)    { r.U32.AtomicClearBits(uint32(mask)) }

type RMDCCIMVAC struct{ mmio.UM32 }

func (rm RMDCCIMVAC) Load() DCCIMVAC   { return DCCIMVAC(rm.UM32.Load()) }
func (rm RMDCCIMVAC) Store(b DCCIMVAC) { rm.UM32.Store(uint32(b)) }

type DCCISW uint32

func (b DCCISW) Field(mask DCCISW) int {
	return bits.Field32(uint32(b), uint32(mask))
}
func (mask DCCISW) J(v int) DCCISW {
	return DCCISW(bits.MakeField32(v, uint32(mask)))
}

type RDCCISW struct{ mmio.U32 }

func (r *RDCCISW) Bits(mask DCCISW) DCCISW  { return DCCISW(r.U32.Bits(uint32(mask))) }
func (r *RDCCISW) StoreBits(mask, b DCCISW) { r.U32.StoreBits(uint32(mask), uint32(b)) }
func (r *RDCCISW) SetBits(mask DCCISW)      { r.U32.SetBits(uint32(mask)) }
func (r *RDCCISW) ClearBits(mask DCCISW)    { r.U32.ClearBits(uint32(mask)) }
func (r *RDCCISW) Load() DCCISW             { return DCCISW(r.U32.Load()) }
func (r *RDCCISW) Store(b DCCISW)           { r.U32.Store(uint32(b)) }

func (r *RDCCISW) AtomicStoreBits(mask, b DCCISW) { r.U32.AtomicStoreBits(uint32(mask), uint32(b)) }
func (r *RDCCISW) AtomicSetBits(mask DCCISW)      { r.U32.AtomicSetBits(uint32(mask)) }
func (r *RDCCISW) AtomicClearBits(mask DCCISW)    { r.U32.AtomicClearBits(uint32(mask)) }

type RMDCCISW struct{ mmio.UM32 }

func (rm RMDCCISW) Load() DCCISW   { return DCCISW(rm.UM32.Load()) }
func (rm RMDCCISW) Store(b DCCISW) { rm.UM32.Store(uint32(b)) }
