* update kernel to .37 * add support for falcon (big thank you goes to lantiq !!)
authorJohn Crispin <john@openwrt.org>
Fri, 11 Mar 2011 08:19:53 +0000 (08:19 +0000)
committerJohn Crispin <john@openwrt.org>
Fri, 11 Mar 2011 08:19:53 +0000 (08:19 +0000)
SVN-Revision: 26021

38 files changed:
target/linux/lantiq/Makefile
target/linux/lantiq/config-default
target/linux/lantiq/falcon/config-default [new file with mode: 0644]
target/linux/lantiq/falcon/profiles/000-generic.mk [new file with mode: 0644]
target/linux/lantiq/falcon/profiles/001-lantiq.mk [new file with mode: 0644]
target/linux/lantiq/falcon/target.mk [new file with mode: 0644]
target/linux/lantiq/image/Makefile
target/linux/lantiq/modules.mk
target/linux/lantiq/patches/010-mips_clocksource_init_war.patch
target/linux/lantiq/patches/020-genirq_fix.patch
target/linux/lantiq/patches/100-board.patch
target/linux/lantiq/patches/104-board_xway.patch
target/linux/lantiq/patches/106-early_printk.patch
target/linux/lantiq/patches/110-machine.patch
target/linux/lantiq/patches/150-dev-leds-gpio.patch [new file with mode: 0644]
target/linux/lantiq/patches/200-serial.patch
target/linux/lantiq/patches/210-nor.patch
target/linux/lantiq/patches/211-nor_split.patch [deleted file]
target/linux/lantiq/patches/220-mtd_uimage_split.patch [new file with mode: 0644]
target/linux/lantiq/patches/230-xway_etop.patch
target/linux/lantiq/patches/250-watchdog.patch
target/linux/lantiq/patches/270-crypto.patch
target/linux/lantiq/patches/300-udp_redirect.patch
target/linux/lantiq/patches/310-atm_hack.patch
target/linux/lantiq/patches/400-mach-arv45xx.patch
target/linux/lantiq/patches/700-dwc_otg.patch
target/linux/lantiq/patches/809-mt-vpe.patch
target/linux/lantiq/patches/810-ar9-cache-split.patch
target/linux/lantiq/patches/900-header_falcon.patch [new file with mode: 0644]
target/linux/lantiq/patches/901-board_falcon.patch [new file with mode: 0644]
target/linux/lantiq/patches/910-falcon-i2c.patch [new file with mode: 0644]
target/linux/lantiq/patches/915-falcon-spi-flash.patch [new file with mode: 0644]
target/linux/lantiq/patches/916-m25p80-fast-read.patch [new file with mode: 0644]
target/linux/lantiq/patches/920-falcon-easy98000-cpld-led.patch [new file with mode: 0644]
target/linux/lantiq/patches/920-falcon-easy98020.patch [new file with mode: 0644]
target/linux/lantiq/patches/930-falcon-95C3AM1.patch [new file with mode: 0644]
target/linux/lantiq/xway/config-default
target/linux/lantiq/xway/profiles/002-arcadyan.mk

index 309b31a..f9a4e0f 100644 (file)
@@ -9,10 +9,10 @@ include $(TOPDIR)/rules.mk
 ARCH:=mips
 BOARD:=lantiq
 BOARDNAME:=Lantiq GPON/XWAY
-FEATURES:=squashfs jffs2 atm
-SUBTARGETS:=xway
+FEATURES:=squashfs jffs2
+SUBTARGETS:=falcon xway
 
-LINUX_VERSION:=2.6.35.11
+LINUX_VERSION:=2.6.37.2
 
 CFLAGS=-Os -pipe -mips32r2 -mtune=mips32r2 -funit-at-a-time
 
index 9510471..ef3a4c5 100644 (file)
@@ -1,24 +1,38 @@
-# CONFIG_TC35815 is not set
-# CONFIG_TINY_RCU is not set
-# CONFIG_TREE_PREEMPT_RCU is not set
-# CONFIG_HAVE_IDE is not set
+CONFIG_32BIT=y
 # CONFIG_64BIT is not set
 # CONFIG_ALCHEMY_GPIO_INDIRECT is not set
 # CONFIG_AR7 is not set
 # CONFIG_ARCH_HAS_ILOG2_U32 is not set
 # CONFIG_ARCH_HAS_ILOG2_U64 is not set
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
+CONFIG_ARCH_POPULATES_NODE_MAP=y
+CONFIG_ARCH_REQUIRE_GPIOLIB=y
 # CONFIG_ARCH_SUPPORTS_MSI is not set
+CONFIG_ARCH_SUPPORTS_OPROFILE=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+# CONFIG_AUTO_IRQ_AFFINITY is not set
 # CONFIG_BCM47XX is not set
 # CONFIG_BCM63XX is not set
+CONFIG_BITREVERSE=y
+CONFIG_BKL=y
 # CONFIG_CAVIUM_OCTEON_REFERENCE_BOARD is not set
 # CONFIG_CAVIUM_OCTEON_SIMULATOR is not set
+CONFIG_CEVT_R4K=y
+CONFIG_CEVT_R4K_LIB=y
+CONFIG_CPU_BIG_ENDIAN=y
 # CONFIG_CPU_CAVIUM_OCTEON is not set
+CONFIG_CPU_HAS_PREFETCH=y
+CONFIG_CPU_HAS_SYNC=y
 # CONFIG_CPU_LITTLE_ENDIAN is not set
 # CONFIG_CPU_LOONGSON2E is not set
 # CONFIG_CPU_LOONGSON2F is not set
+CONFIG_CPU_MIPS32=y
 # CONFIG_CPU_MIPS32_R1 is not set
+CONFIG_CPU_MIPS32_R2=y
 # CONFIG_CPU_MIPS64_R1 is not set
 # CONFIG_CPU_MIPS64_R2 is not set
+CONFIG_CPU_MIPSR2=y
 # CONFIG_CPU_NEVADA is not set
 # CONFIG_CPU_R10000 is not set
 # CONFIG_CPU_R3000 is not set
 # CONFIG_CPU_RM7000 is not set
 # CONFIG_CPU_RM9000 is not set
 # CONFIG_CPU_SB1 is not set
+CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
+CONFIG_CPU_SUPPORTS_HIGHMEM=y
 # CONFIG_CPU_TX39XX is not set
 # CONFIG_CPU_TX49XX is not set
 # CONFIG_CPU_VR41XX is not set
-# CONFIG_DM9000 is not set
-# CONFIG_FSNOTIFY is not set
-# CONFIG_HZ_100 is not set
-# CONFIG_LOONGSON_UART_BASE is not set
-# CONFIG_MACH_ALCHEMY is not set
-# CONFIG_MACH_DECSTATION is not set
-# CONFIG_MACH_JAZZ is not set
-# CONFIG_MACH_LOONGSON is not set
-# CONFIG_MACH_TX39XX is not set
-# CONFIG_MACH_TX49XX is not set
-# CONFIG_MACH_VR41XX is not set
-# CONFIG_MIKROTIK_RB532 is not set
-# CONFIG_MIPS_COBALT is not set
-# CONFIG_MIPS_MALTA is not set
-# CONFIG_MIPS_MT_SMP is not set
-# CONFIG_MIPS_MT_SMTC is not set
-# CONFIG_MIPS_SIM is not set
-# CONFIG_MIPS_VPE_LOADER is not set
-# CONFIG_NO_IOPORT is not set
-# CONFIG_NXP_STB220 is not set
-# CONFIG_NXP_STB225 is not set
-# CONFIG_PMC_MSP is not set
-# CONFIG_PMC_YOSEMITE is not set
-# CONFIG_PNX8550_JBS is not set
-# CONFIG_PNX8550_STB810 is not set
-# CONFIG_POWERTV is not set
-# CONFIG_SCSI_DMA is not set
-# CONFIG_SERIAL_8250 is not set
-# CONFIG_SERIAL_8250_EXTENDED is not set
-# CONFIG_SGI_IP22 is not set
-# CONFIG_SGI_IP27 is not set
-# CONFIG_SGI_IP28 is not set
-# CONFIG_SGI_IP32 is not set
-# CONFIG_SIBYTE_BIGSUR is not set
-# CONFIG_SIBYTE_CARMEL is not set
-# CONFIG_SIBYTE_CRHINE is not set
-# CONFIG_SIBYTE_CRHONE is not set
-# CONFIG_SIBYTE_LITTLESUR is not set
-# CONFIG_SIBYTE_RHONE is not set
-# CONFIG_SIBYTE_SENTOSA is not set
-# CONFIG_SIBYTE_SWARM is not set
-CONFIG_32BIT=y
-CONFIG_ADM6996_PHY=y
-CONFIG_ARCH_HIBERNATION_POSSIBLE=y
-CONFIG_ARCH_POPULATES_NODE_MAP=y
-CONFIG_ARCH_REQUIRE_GPIOLIB=y
-CONFIG_ARCH_SUPPORTS_OPROFILE=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-CONFIG_BITREVERSE=y
-CONFIG_CEVT_R4K=y
-CONFIG_CEVT_R4K_LIB=y
-CONFIG_CPU_BIG_ENDIAN=y
-CONFIG_CPU_HAS_PREFETCH=y
-CONFIG_CPU_HAS_SYNC=y
-CONFIG_CPU_MIPS32=y
-CONFIG_CPU_MIPS32_R2=y
-CONFIG_CPU_MIPSR2=y
-CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
-CONFIG_CPU_SUPPORTS_HIGHMEM=y
-CONFIG_CRYPTO_BLKCIPHER=y
-CONFIG_CRYPTO_BLKCIPHER2=y
-CONFIG_CRYPTO_HW=y
-CONFIG_CRYPTO_RNG2=y
-CONFIG_CRYPTO_WORKQUEUE=y
 CONFIG_CSRC_R4K=y
 CONFIG_CSRC_R4K_LIB=y
 CONFIG_DECOMPRESS_LZMA=y
 CONFIG_DEVPORT=y
+# CONFIG_DM9000 is not set
 CONFIG_DMA_NEED_PCI_MAP_STATE=y
 CONFIG_DMA_NONCOHERENT=y
 CONFIG_EARLY_PRINTK=y
+# CONFIG_FSNOTIFY is not set
+CONFIG_GENERIC_ATOMIC64=y
 CONFIG_GENERIC_CLOCKEVENTS=y
 CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
 CONFIG_GENERIC_CMOS_UPDATE=y
 CONFIG_GENERIC_FIND_LAST_BIT=y
 CONFIG_GENERIC_FIND_NEXT_BIT=y
 CONFIG_GENERIC_GPIO=y
+# CONFIG_GENERIC_HARDIRQS_NO_DEPRECATED is not set
 CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
+# CONFIG_GENERIC_PENDING_IRQ is not set
 CONFIG_GPIOLIB=y
 CONFIG_GPIO_SYSFS=y
+# CONFIG_HARDIRQS_SW_RESEND is not set
 CONFIG_HARDWARE_WATCHPOINTS=y
 CONFIG_HAS_DMA=y
 CONFIG_HAS_IOMEM=y
 CONFIG_HAS_IOPORT=y
 CONFIG_HAVE_ARCH_KGDB=y
+CONFIG_HAVE_C_RECORDMCOUNT=y
+CONFIG_HAVE_DMA_API_DEBUG=y
+CONFIG_HAVE_DMA_ATTRS=y
 CONFIG_HAVE_DYNAMIC_FTRACE=y
 CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
 CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
 CONFIG_HAVE_FUNCTION_TRACER=y
 CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
 CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_HAVE_GENERIC_HARDIRQS=y
+# CONFIG_HAVE_IDE is not set
 CONFIG_HAVE_OPROFILE=y
+CONFIG_HAVE_PERF_EVENTS=y
+# CONFIG_HAVE_SPARSE_IRQ is not set
 CONFIG_HW_RANDOM=y
 CONFIG_HZ=250
+# CONFIG_HZ_100 is not set
 CONFIG_HZ_250=y
+# CONFIG_I2C_FALCON is not set
+CONFIG_IFX_UDP_REDIRECT=y
+CONFIG_IMAGE_CMDLINE_HACK=y
 CONFIG_INITRAMFS_SOURCE=""
 CONFIG_IRQ_CPU=y
+# CONFIG_IRQ_PER_CPU is not set
 CONFIG_LANTIQ=y
+CONFIG_LANTIQ_WDT=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LOONGSON_UART_BASE=y
+# CONFIG_MACH_ALCHEMY is not set
+# CONFIG_MACH_DECSTATION is not set
+# CONFIG_MACH_JAZZ is not set
+# CONFIG_MACH_LOONGSON is not set
+CONFIG_MACH_NO_WESTBRIDGE=y
+# CONFIG_MACH_TX39XX is not set
+# CONFIG_MACH_TX49XX is not set
+# CONFIG_MACH_VR41XX is not set
+# CONFIG_MIKROTIK_RB532 is not set
 CONFIG_MIPS=y
+# CONFIG_MIPS_COBALT is not set
 CONFIG_MIPS_L1_CACHE_SHIFT=5
 CONFIG_MIPS_MACHINE=y
+# CONFIG_MIPS_MALTA is not set
 CONFIG_MIPS_MT_DISABLED=y
+# CONFIG_MIPS_MT_SMP is not set
+# CONFIG_MIPS_MT_SMTC is not set
+# CONFIG_MIPS_SIM is not set
+# CONFIG_MIPS_VPE_LOADER is not set
 CONFIG_MTD_CFI_ADV_OPTIONS=y
 CONFIG_MTD_CFI_GEOMETRY=y
 CONFIG_MTD_CMDLINE_PARTS=y
 CONFIG_MTD_LANTIQ=y
+CONFIG_MTD_UIMAGE_SPLIT=y
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_NEED_PER_CPU_KM=y
 CONFIG_NLS=y
+# CONFIG_NO_IOPORT is not set
+# CONFIG_NXP_STB220 is not set
+# CONFIG_NXP_STB225 is not set
 CONFIG_PAGEFLAGS_EXTENDED=y
 CONFIG_PCI=y
 CONFIG_PCI_DOMAINS=y
+CONFIG_PERF_USE_VMALLOC=y
 CONFIG_PHYLIB=y
+# CONFIG_PMC_MSP is not set
+# CONFIG_PMC_YOSEMITE is not set
+# CONFIG_PNX8550_JBS is not set
+# CONFIG_PNX8550_STB810 is not set
+# CONFIG_POWERTV is not set
+# CONFIG_PREEMPT_RCU is not set
+# CONFIG_QUOTACTL is not set
 CONFIG_SCHED_OMIT_FRAME_POINTER=y
+# CONFIG_SCSI_DMA is not set
+# CONFIG_SERIAL_8250 is not set
+# CONFIG_SERIAL_8250_EXTENDED is not set
 CONFIG_SERIAL_LANTIQ=y
+# CONFIG_SGI_IP22 is not set
+# CONFIG_SGI_IP27 is not set
+# CONFIG_SGI_IP28 is not set
+# CONFIG_SGI_IP32 is not set
+# CONFIG_SIBYTE_BIGSUR is not set
+# CONFIG_SIBYTE_CARMEL is not set
+# CONFIG_SIBYTE_CRHINE is not set
+# CONFIG_SIBYTE_CRHONE is not set
+# CONFIG_SIBYTE_LITTLESUR is not set
+# CONFIG_SIBYTE_RHONE is not set
+# CONFIG_SIBYTE_SENTOSA is not set
+# CONFIG_SIBYTE_SWARM is not set
+CONFIG_SOC_LANTIQ=y
 CONFIG_SWAP_IO_SPACE=y
 CONFIG_SWCONFIG=y
 CONFIG_SYS_HAS_CPU_MIPS32_R1=y
@@ -157,7 +175,9 @@ CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
 CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
 CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y
 CONFIG_SYS_SUPPORTS_MULTITHREADING=y
+# CONFIG_TC35815 is not set
+CONFIG_TINY_RCU=y
 CONFIG_TRAD_SIGNALS=y
+# CONFIG_TREE_PREEMPT_RCU is not set
 CONFIG_TREE_RCU=y
 CONFIG_ZONE_DMA_FLAG=0
-CONFIG_IFX_UDP_REDIRECT=y
diff --git a/target/linux/lantiq/falcon/config-default b/target/linux/lantiq/falcon/config-default
new file mode 100644 (file)
index 0000000..2a06f87
--- /dev/null
@@ -0,0 +1,31 @@
+CONFIG_CPU_MIPSR2_IRQ_EI=y
+CONFIG_CPU_MIPSR2_IRQ_VI=y
+# CONFIG_CRYPTO is not set
+CONFIG_DM9000=y
+CONFIG_DM9000_DEBUGLEVEL=4
+CONFIG_DM9000_FORCE_SIMPLE_PHY_POLL=y
+CONFIG_HAVE_IDE=y
+CONFIG_HW_HAS_PCI=y
+CONFIG_IFX_VPE_CACHE_SPLIT=y
+CONFIG_IFX_VPE_EXT=y
+CONFIG_LANTIQ_MACH_95C3AM1=y
+CONFIG_LANTIQ_MACH_EASY98000=y
+CONFIG_LANTIQ_MACH_EASY98020=y
+CONFIG_LANTIQ_PROM_ASC0=y
+# CONFIG_LANTIQ_PROM_ASC1 is not set
+CONFIG_M25PXX_USE_FAST_READ=y
+CONFIG_MIPS_MT=y
+# CONFIG_MIPS_VPE_APSP_API is not set
+CONFIG_MIPS_VPE_LOADER=y
+CONFIG_MIPS_VPE_LOADER_TOM=y
+CONFIG_MTD_M25P80=y
+CONFIG_MTSCHED=y
+# CONFIG_PCI is not set
+# CONFIG_PERFCTRS is not set
+CONFIG_SOC_LANTIQ_FALCON=y
+# CONFIG_SOC_LANTIQ_XWAY is not set
+CONFIG_SPI=y
+# CONFIG_SPI_BITBANG is not set
+CONFIG_SPI_FALCON=y
+# CONFIG_SPI_GPIO is not set
+CONFIG_SPI_MASTER=y
diff --git a/target/linux/lantiq/falcon/profiles/000-generic.mk b/target/linux/lantiq/falcon/profiles/000-generic.mk
new file mode 100644 (file)
index 0000000..166c52b
--- /dev/null
@@ -0,0 +1,14 @@
+define Profile/Generic
+  NAME:=Generic - all boards
+  PACKAGES:= \
+       kmod-leds-gpio \
+       kmod-dm9000 \
+       kmod-i2c-core kmod-i2c-algo-bit kmod-i2c-gpio kmod-eeprom-at24 \
+       kmod-spi-bitbang kmod-spi-gpio kmod-eeprom-at25 \
+       gpon-dti-agent \
+       uboot-easy980x0_norflash uboot-easy980x0_serialflash uboot-easy98020
+endef
+
+$(eval $(call Profile,Generic))
+
+
diff --git a/target/linux/lantiq/falcon/profiles/001-lantiq.mk b/target/linux/lantiq/falcon/profiles/001-lantiq.mk
new file mode 100644 (file)
index 0000000..941aa37
--- /dev/null
@@ -0,0 +1,27 @@
+define Profile/EASY98000
+  NAME:=EASY98000
+  PACKAGES:= \
+       kmod-dm9000 \
+       kmod-i2c-core kmod-i2c-algo-bit kmod-i2c-gpio kmod-eeprom-at24 \
+       kmod-spi-bitbang kmod-spi-gpio kmod-eeprom-at25 \
+       uboot-easy980x0_norflash uboot-easy980x0_serialflash
+endef
+
+define Profile/EASY98000/Description
+       Lantiq EASY98000 evalkit
+endef
+
+$(eval $(call Profile,EASY98000))
+
+define Profile/EASY98020
+  NAME:=EASY98020
+  PACKAGES:= \
+       kmod-leds-gpio uboot-easy98020
+endef
+
+define Profile/EASY98020/Description
+       Lantiq EASY98020 evalkit
+endef
+
+$(eval $(call Profile,EASY98020))
+
diff --git a/target/linux/lantiq/falcon/target.mk b/target/linux/lantiq/falcon/target.mk
new file mode 100644 (file)
index 0000000..e8d9ecc
--- /dev/null
@@ -0,0 +1,13 @@
+ARCH:=mips
+SUBTARGET:=falcon
+BOARDNAME:=Falcon
+FEATURES:=squashfs jffs2
+DEVICE_TYPE:=other
+
+DEFAULT_PACKAGES+= kmod-ifxos gpon-base-files kmod-leds-gpio \
+       kmod-gpon-optic-drv gpon-optic-drv kmod-gpon-onu-drv gpon-onu-drv \
+       gpon-pe-firmware gpon-omci-api gpon-omci-onu gpon-luci
+
+define Target/Description
+       Lantiq Falcon
+endef
index cc5d696..16fe0ac 100644 (file)
@@ -71,6 +71,14 @@ define Image/Build/Profile/EASY50812
        $(call Image/Build/$(1),$(1),EASY50812)
 endef
 
+define Image/BuildKernel/Profile/ARV3527P
+       $(call Image/BuildKernel/Template,ARV3527P,$(xway_cmdline))
+endef
+
+define Image/Build/Profile/ARV3527P
+       $(call Image/Build/$(1),$(1),ARV3527P)
+endef
+
 define Image/BuildKernel/Profile/ARV4518PW
        $(call Image/BuildKernel/Template,ARV4518PW,$(xway_cmdline))
 endef
@@ -115,6 +123,7 @@ define Image/BuildKernel/Profile/Generic
        $(call Image/BuildKernel/Template,EASY4010,$(xway_cmdline))
        $(call Image/BuildKernel/Template,EASY50712,$(xway_cmdline))
        $(call Image/BuildKernel/Template,EASY50812,$(xway_cmdline))
+       $(call Image/BuildKernel/Template,ARV3527P,$(xway_cmdline))
        $(call Image/BuildKernel/Template,ARV4510PW,$(xway_cmdline))
        $(call Image/BuildKernel/Template,ARV4518PW,$(xway_cmdline))
        $(call Image/BuildKernel/Template,ARV4520PW,$(xway_cmdline))
@@ -130,6 +139,7 @@ define Image/Build/Profile/Generic
        $(call Image/Build/$(1),$(1),EASY4010)
        $(call Image/Build/$(1),$(1),EASY50712)
        $(call Image/Build/$(1),$(1),EASY50812)
+       $(call Image/Build/$(1),$(1),ARV3527P)
        $(call Image/Build/$(1),$(1),ARV4510PW)
        $(call Image/Build/$(1),$(1),ARV4518PW)
        $(call Image/Build/$(1),$(1),ARV4520PW)
@@ -144,15 +154,17 @@ endef
 endif
 
 ifeq ($(CONFIG_TARGET_lantiq_falcon),y)
-define Image/BuildKernel
+define Image/BuildKernel/Profile/Generic
        $(call Image/BuildKernel/Template,EASY98000,$(falcon_cmdline))
+       $(call Image/BuildKernel/Template,EASY98020,$(falcon_cmdline))
        $(call Image/BuildKernel/Template,NONE)
 endef
 
-define Image/Build
+define Image/Build/Profile/Generic
        $(call Image/Build/$(1),$(1),EASY98000)
+       $(call Image/Build/$(1),$(1),EASY98020)
        $(call Image/Build/$(1),$(1),NONE)
-       $(CP) $(KDIR)/root.$(1)  $(BIN_DIR)/$(IMG_PREFIX)-$(1).rootfs
+       $(CP) $(KDIR)/root.$(1) $(BIN_DIR)/$(IMG_PREFIX)-$(1).rootfs
 endef
 endif
 
index 78289a1..a4a9640 100644 (file)
@@ -33,7 +33,8 @@ define KernelPackage/usb-dwc-otg
   KCONFIG:=CONFIG_DWC_OTG \
        CONFIG_DWC_OTG_DEBUG=n \
        CONFIG_DWC_OTG_LANTIQ=y \
-       CONFIG_DWC_OTG_HOST_ONLY=y
+       CONFIG_DWC_OTG_HOST_ONLY=y \
+       CONFIG_DWC_OTG_DEVICE_ONLY=n
   FILES:=$(LINUX_DIR)/drivers/usb/dwc_otg/dwc_otg.ko
   AUTOLOAD:=$(call AutoLoad,50,dwc_otg)
 endef
@@ -44,4 +45,18 @@ endef
 
 $(eval $(call KernelPackage,usb-dwc-otg))
 
+I2C_FALCON_MODULES:= \
+  CONFIG_I2C_FALCON:drivers/i2c/busses/i2c-falcon
+
+define KernelPackage/i2c-falcon-lantiq
+  TITLE:=Falcon I2C controller
+  $(call i2c_defaults,$(I2C_FALCON_MODULES),52)
+  DEPENDS:=kmod-i2c-core @TARGET_lantiq
+endef
+
+define KernelPackage/i2c-falcon-lantiq/description
+  Kernel support for the Falcon I2C controller
+endef
+
+$(eval $(call KernelPackage,i2c-falcon-lantiq))
 
index 81eabc6..1670ccb 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/kernel/cevt-r4k.c
 +++ b/arch/mips/kernel/cevt-r4k.c
-@@ -22,6 +22,22 @@
+@@ -23,6 +23,22 @@
  
  #ifndef CONFIG_MIPS_MT_SMTC
  
  static int mips_next_event(unsigned long delta,
                             struct clock_event_device *evt)
  {
-@@ -31,6 +47,7 @@ static int mips_next_event(unsigned long
+@@ -32,6 +48,7 @@
        cnt = read_c0_count();
        cnt += delta;
        write_c0_compare(cnt);
 +      compare_change_hazard();
-       res = ((int)(read_c0_count() - cnt) > 0) ? -ETIME : 0;
+       res = ((int)(read_c0_count() - cnt) >= 0) ? -ETIME : 0;
        return res;
  }
index 0503d0d..ebb369f 100644 (file)
@@ -1,12 +1,12 @@
 --- a/kernel/irq/chip.c
 +++ b/kernel/irq/chip.c
-@@ -650,6 +650,9 @@ handle_percpu_irq(unsigned int irq, stru
+@@ -678,6 +678,9 @@
  
        kstat_incr_irqs_this_cpu(irq, desc);
  
 +      if (unlikely(!desc->action || (desc->status & IRQ_DISABLED)))
 +              return;
 +
-       if (desc->chip->ack)
-               desc->chip->ack(irq);
+       if (desc->irq_data.chip->irq_ack)
+               desc->irq_data.chip->irq_ack(&desc->irq_data);
  
index 6e9d2c7..d22f586 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/Kconfig
 +++ b/arch/mips/Kconfig
-@@ -139,6 +139,9 @@
+@@ -157,6 +157,9 @@
  
          otherwise choose R3000.
  
@@ -10,7 +10,7 @@
  config MACH_JAZZ
        bool "Jazz family of machines"
        select ARC
-@@ -695,6 +698,7 @@
+@@ -729,6 +732,7 @@
  source "arch/mips/vr41xx/Kconfig"
  source "arch/mips/cavium-octeon/Kconfig"
  source "arch/mips/loongson/Kconfig"
  
  endmenu
  
---- a/arch/mips/Makefile
-+++ b/arch/mips/Makefile
-@@ -339,6 +339,17 @@
- load-$(CONFIG_MIPS_COBALT)    += 0xffffffff80080000
- #
-+# Lantiq
-+#
-+load-$(CONFIG_LANTIQ) += 0xffffffff80002000
-+core-$(CONFIG_LANTIQ) += arch/mips/lantiq/
-+cflags-$(CONFIG_LANTIQ)   += -I$(srctree)/arch/mips/include/asm/mach-lantiq
-+core-$(CONFIG_SOC_LANTIQ_FALCON) += arch/mips/lantiq/falcon/
-+cflags-$(CONFIG_SOC_LANTIQ_FALCON)   += -I$(srctree)/arch/mips/include/asm/mach-lantiq/falcon
-+core-$(CONFIG_SOC_LANTIQ_XWAY) += arch/mips/lantiq/xway/
-+cflags-$(CONFIG_SOC_LANTIQ_XWAY)   += -I$(srctree)/arch/mips/include/asm/mach-lantiq/xway
-+
-+#
- # DECstation family
- #
- core-$(CONFIG_MACH_DECSTATION)        += arch/mips/dec/
 --- /dev/null
 +++ b/arch/mips/lantiq/Kconfig
 @@ -0,0 +1,36 @@
 +endif
 --- /dev/null
 +++ b/arch/mips/lantiq/Makefile
-@@ -0,0 +1,2 @@
+@@ -0,0 +1,3 @@
 +obj-y := irq.o setup.o clk.o prom.o
 +obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
++obj-$(CONFIG_SOC_LANTIQ_XWAY) += xway/
 --- /dev/null
 +++ b/arch/mips/lantiq/irq.c
 @@ -0,0 +1,218 @@
 +void lq_soc_detect(struct lq_soc_info *i);
 +
 +#endif
+--- a/arch/mips/Kbuild.platforms
++++ b/arch/mips/Kbuild.platforms
+@@ -11,6 +11,7 @@
+ platforms += jazz
+ platforms += jz4740
+ platforms += lasat
++platforms += lantiq
+ platforms += loongson
+ platforms += mipssim
+ platforms += mti-malta
+--- /dev/null
++++ b/arch/mips/lantiq/Platform
+@@ -0,0 +1,8 @@
++#
++# Lantiq
++#
++
++platform-$(CONFIG_LANTIQ)      += lantiq/
++cflags-$(CONFIG_LANTIQ)       += -I$(srctree)/arch/mips/include/asm/mach-lantiq
++load-$(CONFIG_LANTIQ)          = 0xffffffff80002000
++cflags-$(CONFIG_SOC_LANTIQ_XWAY) += -I$(srctree)/arch/mips/include/asm/mach-lantiq/xway
index ad434aa..bc7d496 100644 (file)
 +}
 --- /dev/null
 +++ b/arch/mips/lantiq/xway/devices.c
-@@ -0,0 +1,313 @@
+@@ -0,0 +1,336 @@
 +/*
 + *  This program is free software; you can redistribute it and/or modify it
 + *  under the terms of the GNU General Public License version 2 as published
 +      },
 +};
 +
++static unsigned int *cp1_base;
++unsigned int*
++lq_get_cp1_base(void)
++{
++      return cp1_base;
++}
++EXPORT_SYMBOL(lq_get_cp1_base);
++
 +void __init
 +lq_register_tapi(void)
 +{
 +#define CP1_SIZE      (1 << 20)
 +      dma_addr_t dma;
 +      mps_device.dev.platform_data =
++      cp1_base =
 +              (void*)CPHYSADDR(dma_alloc_coherent(NULL, CP1_SIZE, &dma, GFP_ATOMIC));
++      mps_device.dev.platform_data = cp1_base;
 +      platform_device_register(&mps_device);
 +      platform_device_register(&vmmc_device);
 +}
 +{
 +      platform_device_register_simple(name, 0, 0, 0);
 +}
++
++/* madwifi */
++int lantiq_emulate_madwifi_eep = 0;
++EXPORT_SYMBOL(lantiq_emulate_madwifi_eep);
++
++void __init
++lq_register_madwifi_eep(void)
++{
++      lantiq_emulate_madwifi_eep = 1;
++}
++
++
++
 --- /dev/null
 +++ b/arch/mips/lantiq/xway/devices.h
-@@ -0,0 +1,26 @@
+@@ -0,0 +1,28 @@
 +/*
 + *  This program is free software; you can redistribute it and/or modify it
 + *  under the terms of the GNU General Public License version 2 as published
 +extern void __init lq_register_gpio_leds(struct gpio_led *leds, int cnt);
 +extern void __init lq_register_pci(struct lq_pci_data *data);
 +extern void __init lq_register_nor(struct physmap_flash_data *data);
++extern void __init lq_register_tapi(void);
++extern void __init lq_register_madwifi_eep(void);
 +extern void __init lq_register_wdt(void);
 +extern void __init lq_register_ethernet(struct lq_eth_data *eth);
 +extern void __init lq_register_asc(int port);
 +      struct timer_dev_timer timer[MAX_NUM_OF_32BIT_TIMER_BLOCKS * 2];
 +};
 +
-+static int gptu_ioctl(struct inode *, struct file *, unsigned int, unsigned long);
++static long gptu_ioctl(struct file *, unsigned int, unsigned long);
 +static int gptu_open(struct inode *, struct file *);
 +static int gptu_release(struct inode *, struct file *);
 +
 +static struct file_operations gptu_fops = {
 +      .owner = THIS_MODULE,
-+      .ioctl = gptu_ioctl,
++      .unlocked_ioctl = gptu_ioctl,
 +      .open = gptu_open,
 +      .release = gptu_release
 +};
 +}
 +EXPORT_SYMBOL(lq_set_counter);
 +
-+static int gptu_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
++static long gptu_ioctl(struct file *file, unsigned int cmd,
 +      unsigned long arg)
 +{
 +      int ret;
index 34e0bdf..1cf402c 100644 (file)
@@ -1,7 +1,7 @@
 --- a/arch/mips/lantiq/Kconfig
 +++ b/arch/mips/lantiq/Kconfig
-@@ -33,4 +33,19 @@ endchoice
- source "arch/mips/lantiq/falcon/Kconfig"
+@@ -33,4 +33,19 @@
#source "arch/mips/lantiq/falcon/Kconfig"
  source "arch/mips/lantiq/xway/Kconfig"
  
 +if EARLY_PRINTK
@@ -44,7 +44,7 @@
 +#define LQ_ASC_BASE   KSEG1ADDR(LQ_ASC1_BASE)
 +#endif
 +
-+#elif CONFIG_SOC_LANTIQ_FALCON
++#elif defined(CONFIG_SOC_LANTIQ_FALCON)
 +#include <falcon/gpon_reg_base.h>
 +#ifdef CONFIG_LANTIQ_PROM_ASC0
 +#define LQ_ASC_BASE   GPON_ASC0_BASE
index 4066ac5..cf4652e 100644 (file)
@@ -1,18 +1,16 @@
 --- a/arch/mips/lantiq/setup.c
 +++ b/arch/mips/lantiq/setup.c
-@@ -12,7 +12,10 @@
+@@ -12,7 +12,8 @@
  #include <linux/ioport.h>
  
  #include <lantiq.h>
 -#include <lantiq_regs.h>
 +
 +#include <machine.h>
-+
-+static unsigned int *cp1_base;
  
  void __init
  plat_mem_setup(void)
-@@ -31,6 +34,7 @@
+@@ -31,6 +32,7 @@
        ioport_resource.end = IOPORT_RESOURCE_END;
        iomem_resource.start = IOMEM_RESOURCE_START;
        iomem_resource.end = IOMEM_RESOURCE_END;
  
        while (*envp)
        {
-@@ -42,6 +46,37 @@
-               }
-               envp++;
-       }
-+//    memsize -= 2;
+@@ -45,3 +47,25 @@
        memsize *= 1024 * 1024;
-+//    cp1_base = (unsigned int*)(KSEG1 | memsize);
        add_memory_region(0x00000000, memsize, BOOT_MEM_RAM);
  }
 +
-+unsigned int*
-+lq_get_cp1_base(void)
-+{
-+      return cp1_base;
-+}
-+EXPORT_SYMBOL(lq_get_cp1_base);
-+
 +static int __init
 +lq_machine_setup(void)
 +{
diff --git a/target/linux/lantiq/patches/150-dev-leds-gpio.patch b/target/linux/lantiq/patches/150-dev-leds-gpio.patch
new file mode 100644 (file)
index 0000000..8ef996b
--- /dev/null
@@ -0,0 +1,90 @@
+--- /dev/null
++++ b/arch/mips/include/asm/mach-lantiq/dev-leds-gpio.h
+@@ -0,0 +1,21 @@
++/*
++ *  Lantiq GPIO LED device support
++ *
++ *  Copyright (C) 2008-2009 Gabor Juhos <juhosg@openwrt.org>
++ *  Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org>
++ *
++ *  This program is free software; you can redistribute it and/or modify it
++ *  under the terms of the GNU General Public License version 2 as published
++ *  by the Free Software Foundation.
++ */
++
++#ifndef _LANTIQ_DEV_LEDS_GPIO_H
++#define _LANTIQ_DEV_LEDS_GPIO_H
++
++#include <linux/leds.h>
++
++void lq_add_device_leds_gpio(int id,
++                               unsigned num_leds,
++                               struct gpio_led *leds) __init;
++
++#endif /* _LANTIQ_DEV_LEDS_GPIO_H */
+--- /dev/null
++++ b/arch/mips/lantiq/dev-leds-gpio.c
+@@ -0,0 +1,57 @@
++/*
++ *  Lantiq GPIO LED device support
++ *
++ *  Copyright (C) 2008-2009 Gabor Juhos <juhosg@openwrt.org>
++ *  Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org>
++ *
++ *  Parts of this file are based on Atheros' 2.6.15 BSP
++ *
++ *  This program is free software; you can redistribute it and/or modify it
++ *  under the terms of the GNU General Public License version 2 as published
++ *  by the Free Software Foundation.
++ */
++
++#include <linux/init.h>
++#include <linux/slab.h>
++#include <linux/platform_device.h>
++
++#include "dev-leds-gpio.h"
++
++void __init lq_add_device_leds_gpio(int id, unsigned num_leds,
++                                      struct gpio_led *leds)
++{
++      struct platform_device *pdev;
++      struct gpio_led_platform_data pdata;
++      struct gpio_led *p;
++      int err;
++
++      p = kmalloc(num_leds * sizeof(*p), GFP_KERNEL);
++      if (!p)
++              return;
++
++      memcpy(p, leds, num_leds * sizeof(*p));
++
++      pdev = platform_device_alloc("leds-gpio", id);
++      if (!pdev)
++              goto err_free_leds;
++
++      memset(&pdata, 0, sizeof(pdata));
++      pdata.num_leds = num_leds;
++      pdata.leds = p;
++
++      err = platform_device_add_data(pdev, &pdata, sizeof(pdata));
++      if (err)
++              goto err_put_pdev;
++
++      err = platform_device_add(pdev);
++      if (err)
++              goto err_put_pdev;
++
++      return;
++
++err_put_pdev:
++      platform_device_put(pdev);
++
++err_free_leds:
++      kfree(p);
++}
+--- a/arch/mips/lantiq/Makefile
++++ b/arch/mips/lantiq/Makefile
+@@ -1,2 +1,2 @@
+-obj-y := irq.o setup.o clk.o prom.o
++obj-y := dev-leds-gpio.o irq.o setup.o clk.o prom.o
+ obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
index a130227..5f2df56 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/serial/Kconfig
 +++ b/drivers/serial/Kconfig
-@@ -1397,6 +1397,14 @@
+@@ -1454,6 +1454,14 @@
        help
          Support for Console on the NWP serial ports.
  
        depends on QUICC_ENGINE
 --- a/drivers/serial/Makefile
 +++ b/drivers/serial/Makefile
-@@ -84,3 +84,4 @@
- obj-$(CONFIG_SERIAL_GRLIB_GAISLER_APBUART) += apbuart.o
- obj-$(CONFIG_SERIAL_ALTERA_JTAGUART) += altera_jtaguart.o
- obj-$(CONFIG_SERIAL_ALTERA_UART) += altera_uart.o
+@@ -89,3 +89,4 @@
+ obj-$(CONFIG_SERIAL_MRST_MAX3110)     += mrst_max3110.o
+ obj-$(CONFIG_SERIAL_MFD_HSU)  += mfd.o
+ obj-$(CONFIG_SERIAL_OMAP) += omap-serial.o
 +obj-$(CONFIG_SERIAL_LANTIQ) += lantiq.o
 --- /dev/null
 +++ b/drivers/serial/lantiq.c
index 510ac6b..5c46879 100644 (file)
@@ -1,8 +1,8 @@
 --- a/drivers/mtd/maps/Kconfig
 +++ b/drivers/mtd/maps/Kconfig
-@@ -251,6 +251,12 @@
-       help
-         Support for flash chips on NETtel/SecureEdge/SnapGear boards.
+@@ -260,6 +260,12 @@
+         Support for parsing CFE image tag and creating MTD partitions on
+         Broadcom BCM63xx boards.
  
 +config MTD_LANTIQ
 +      bool "Lantiq SoC NOR support"
 --- a/drivers/mtd/maps/Makefile
 +++ b/drivers/mtd/maps/Makefile
 @@ -59,3 +59,4 @@
- obj-$(CONFIG_MTD_RBTX4939)    += rbtx4939-flash.o
  obj-$(CONFIG_MTD_VMU)         += vmu-flash.o
  obj-$(CONFIG_MTD_GPIO_ADDR)   += gpio-addr-flash.o
-+obj-$(CONFIG_MTD_LANTIQ)  += lantiq.o
+ obj-$(CONFIG_MTD_BCM963XX)    += bcm963xx-flash.o
++obj-$(CONFIG_MTD_LANTIQ)      += lantiq.o
 --- /dev/null
 +++ b/drivers/mtd/maps/lantiq.c
-@@ -0,0 +1,169 @@
+@@ -0,0 +1,173 @@
 +/*
 + *  This program is free software; you can redistribute it and/or modify it
 + *  under the terms of the GNU General Public License version 2 as published
 +#include <lantiq.h>
 +#include <lantiq_platform.h>
 +
++#ifdef CONFIG_SOC_LANTIQ_XWAY
++#include <xway.h>
++#endif
++
 +static map_word
 +lq_read16(struct map_info *map, unsigned long adr)
 +{
 +MODULE_DESCRIPTION("Lantiq SoC NOR");
 --- a/drivers/mtd/chips/cfi_cmdset_0001.c
 +++ b/drivers/mtd/chips/cfi_cmdset_0001.c
-@@ -41,7 +41,11 @@
+@@ -40,7 +40,11 @@
  /* #define CMDSET0001_DISABLE_WRITE_SUSPEND */
  
  // debugging, turns off buffer write mode if set to 1
  
  /* Intel chips */
  #define I82802AB      0x00ad
-@@ -1491,6 +1495,9 @@
+@@ -1493,6 +1497,9 @@
        int ret=0;
  
        adr += chip->start;
        case FL_WRITING:
 --- a/drivers/mtd/chips/cfi_cmdset_0002.c
 +++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -40,7 +40,11 @@
+@@ -39,7 +39,11 @@
  #include <linux/mtd/xip.h>
  
  #define AMD_BOOTLOC_BUG
  
  #define MAX_WORD_RETRIES 3
  
-@@ -1156,6 +1160,10 @@
+@@ -1167,6 +1171,10 @@
  
        adr += chip->start;
  
diff --git a/target/linux/lantiq/patches/211-nor_split.patch b/target/linux/lantiq/patches/211-nor_split.patch
deleted file mode 100644 (file)
index 2f77681..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
---- a/drivers/mtd/maps/lantiq.c
-+++ b/drivers/mtd/maps/lantiq.c
-@@ -24,6 +24,10 @@
- #include <lantiq.h>
- #include <lantiq_platform.h>
-+#ifdef CONFIG_SOC_LANTIQ_XWAY
-+#include <xway.h>
-+#endif
-+
- static map_word
- lq_read16(struct map_info *map, unsigned long adr)
- {
-@@ -77,6 +81,75 @@ lq_copy_to(struct map_info *map, unsigne
-       spin_unlock_irqrestore(&ebu_lock, flags);
- }
-+static unsigned long
-+find_uImage_size(struct map_info *map, unsigned long offset)
-+{
-+#define UBOOT_MAGIC   0x56190527
-+      unsigned long magic;
-+      unsigned long temp;
-+      map->copy_from(map, &magic, offset, 4);
-+      if (le32_to_cpu(magic) != UBOOT_MAGIC)
-+              return 0;
-+      map->copy_from(map, &temp, offset + 12, 4);
-+      return temp + 0x40;
-+}
-+
-+static int
-+detect_squashfs_partition(struct map_info *map, unsigned long offset)
-+{
-+      unsigned long temp;
-+      map->copy_from(map, &temp, offset, 4);
-+      return le32_to_cpu(temp) == SQUASHFS_MAGIC;
-+}
-+
-+static struct mtd_partition split_partitions[] = {
-+      {
-+              .name = "kernel",
-+              .offset = 0x0,
-+              .size = 0x0,
-+      }, {
-+              .name = "rootfs",
-+              .offset = 0x0,
-+              .size = 0x0,
-+      },
-+};
-+
-+static int
-+mtd_split_linux(struct map_info *map, struct mtd_info *mtd,
-+      struct mtd_partition *parts, int nr_parts)
-+{
-+      int base_part = 0;
-+      int i;
-+      for (i = 0; i < nr_parts && !base_part; i++) {
-+              if(!strcmp("linux", parts[i].name))
-+                      base_part = i;
-+      }
-+      if (!base_part)
-+              return 0;
-+      split_partitions[0].size = find_uImage_size(map, parts[base_part].offset);
-+      if (!split_partitions[0].size) {
-+              printk(KERN_INFO "lq_nor: no uImage found in linux partition");
-+              return -1;
-+      }
-+      if (!detect_squashfs_partition(map,
-+                      parts[base_part].offset + split_partitions[0].size)) {
-+              split_partitions[0].size &= ~(mtd->erasesize - 1);
-+              split_partitions[0].size += mtd->erasesize;
-+      }
-+      split_partitions[0].offset = parts[base_part].offset;
-+      split_partitions[1].offset =
-+              parts[base_part].offset + split_partitions[0].size;
-+      split_partitions[1].size =
-+              parts[base_part].size - split_partitions[0].size;
-+
-+      base_part++;
-+      add_mtd_partitions(mtd, parts, base_part);
-+      add_mtd_partitions(mtd, split_partitions, 2);
-+      if(nr_parts != base_part)
-+              add_mtd_partitions(mtd, &parts[base_part], nr_parts - base_part);
-+      return nr_parts + 2;
-+}
-+
- static const char *part_probe_types[] = { "cmdlinepart", NULL };
- static struct map_info lq_map = {
-@@ -142,7 +215,8 @@ lq_mtd_probe(struct platform_device *pde
-               parts = lq_mtd_data->parts;
-       }
--      add_mtd_partitions(lq_mtd, parts, nr_parts);
-+      if (!mtd_split_linux(&lq_map, lq_mtd, parts, nr_parts))
-+              add_mtd_partitions(lq_mtd, parts, nr_parts);
-       return 0;
- }
diff --git a/target/linux/lantiq/patches/220-mtd_uimage_split.patch b/target/linux/lantiq/patches/220-mtd_uimage_split.patch
new file mode 100644 (file)
index 0000000..8509d58
--- /dev/null
@@ -0,0 +1,116 @@
+--- a/drivers/mtd/Kconfig
++++ b/drivers/mtd/Kconfig
+@@ -63,6 +63,10 @@ config MTD_ROOTFS_SPLIT
+       depends on MTD_PARTITIONS
+       default y
++config MTD_UIMAGE_SPLIT
++      bool "Automatically split 'linux' partition into 'kernel' and 'rootfs'"
++      default y
++
+ config MTD_REDBOOT_PARTS
+       tristate "RedBoot partition table parsing"
+       depends on MTD_PARTITIONS
+--- a/drivers/mtd/mtdpart.c
++++ b/drivers/mtd/mtdpart.c
+@@ -722,6 +722,82 @@ static int refresh_rootfs_split(struct m
+ }
+ #endif /* CONFIG_MTD_ROOTFS_SPLIT */
++
++#ifdef CONFIG_MTD_UIMAGE_SPLIT
++static unsigned long find_uimage_size(struct mtd_info *mtd,
++                                    unsigned long offset)
++{
++#define UBOOT_MAGIC   0x56190527
++      unsigned long magic = 0;
++      unsigned long temp;
++      size_t len;
++      int ret;
++
++      ret = mtd->read(mtd, offset, 4, &len, (void *)&magic);
++      if (ret || len != sizeof(magic))
++              return 0;
++
++      if (le32_to_cpu(magic) != UBOOT_MAGIC)
++              return 0;
++
++      ret = mtd->read(mtd, offset + 12, 4, &len, (void *)&temp);
++      if (ret || len != sizeof(temp))
++              return 0;
++
++      return temp + 0x40;
++}
++
++static int detect_squashfs_partition(struct mtd_info *mtd, unsigned long offset)
++{
++      unsigned long temp;
++      size_t len;
++      int ret;
++
++      ret = mtd->read(mtd, offset, 4, &len, (void *)&temp);
++      if (ret || len != sizeof(temp))
++              return 0;
++
++      return le32_to_cpu(temp) == SQUASHFS_MAGIC;
++}
++
++static int split_uimage(struct mtd_info *mtd,
++                      const struct mtd_partition *part)
++{
++      static struct mtd_partition split_partitions[] = {
++              {
++                      .name = "kernel",
++                      .offset = 0x0,
++                      .size = 0x0,
++              }, {
++                      .name = "rootfs",
++                      .offset = 0x0,
++                      .size = 0x0,
++              },
++      };
++
++      split_partitions[0].size = find_uimage_size(mtd, part->offset);
++      if (!split_partitions[0].size) {
++              printk(KERN_NOTICE "no uImage found in linux partition\n");
++              return -1;
++      }
++
++      if (!detect_squashfs_partition(mtd,
++                                     part->offset
++                                     + split_partitions[0].size)) {
++              split_partitions[0].size &= ~(mtd->erasesize - 1);
++              split_partitions[0].size += mtd->erasesize;
++      }
++
++      split_partitions[0].offset = part->offset;
++      split_partitions[1].offset = part->offset + split_partitions[0].size;
++      split_partitions[1].size = part->size - split_partitions[0].size;
++
++      add_mtd_partitions(mtd, split_partitions, 2);
++
++      return 0;
++}
++#endif
++
+ /*
+  * This function, given a master MTD object and a partition table, creates
+  * and registers slave MTD objects which are bound to the master according to
+@@ -746,6 +822,17 @@ int add_mtd_partitions(struct mtd_info *
+               if (!slave)
+                       return -ENOMEM;
++#ifdef CONFIG_MTD_UIMAGE_SPLIT
++              if (!strcmp(parts[i].name, "linux")) {
++                      ret = split_uimage(master, &parts[i]);
++
++                      if (ret) {
++                              printk(KERN_WARNING
++                                     "Can't split linux partition\n");
++                      }
++              }
++#endif
++
+               if (!strcmp(parts[i].name, "rootfs")) {
+ #ifdef CONFIG_MTD_ROOTFS_ROOT_DEV
+                       if (ROOT_DEV == 0) {
index 28955cf..2f10a52 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/Kconfig
 +++ b/drivers/net/Kconfig
-@@ -343,6 +343,12 @@ config MACB
+@@ -358,6 +358,12 @@
  
  source "drivers/net/arm/Kconfig"
  
@@ -15,7 +15,7 @@
        depends on ARM || MIPS || SUPERH
 --- a/drivers/net/Makefile
 +++ b/drivers/net/Makefile
-@@ -204,6 +204,7 @@ obj-$(CONFIG_SNI_82596) += sni_82596.o
+@@ -213,6 +213,7 @@
  obj-$(CONFIG_MVME16x_NET) += 82596.o
  obj-$(CONFIG_BVME6000_NET) += 82596.o
  obj-$(CONFIG_SC92031) += sc92031.o
index f86ff71..6f727c4 100644 (file)
@@ -1,8 +1,8 @@
 --- a/drivers/watchdog/Kconfig
 +++ b/drivers/watchdog/Kconfig
-@@ -840,6 +840,12 @@ config TXX9_WDT
-       help
-         Hardware driver for the built-in watchdog timer on TXx9 MIPS SoCs.
+@@ -930,6 +930,12 @@
+         To compile this driver as a loadable module, choose M here.
+         The module will be called bcm63xx_wdt.
  
 +config LANTIQ_WDT
 +      bool "Lantiq SoC watchdog"
  # POWERPC Architecture
 --- a/drivers/watchdog/Makefile
 +++ b/drivers/watchdog/Makefile
-@@ -112,6 +112,7 @@ obj-$(CONFIG_PNX833X_WDT) += pnx833x_wdt
- obj-$(CONFIG_SIBYTE_WDOG) += sb_wdog.o
- obj-$(CONFIG_AR7_WDT) += ar7_wdt.o
+@@ -119,6 +119,7 @@
  obj-$(CONFIG_TXX9_WDT) += txx9wdt.o
+ obj-$(CONFIG_OCTEON_WDT) += octeon-wdt.o
+ octeon-wdt-y := octeon-wdt-main.o octeon-wdt-nmi.o
 +obj-$(CONFIG_LANTIQ_WDT) += lantiq_wdt.o
  
  # PARISC Architecture
 +static const struct file_operations lq_wdt_fops = {
 +      .owner          = THIS_MODULE,
 +      .write          = lq_wdt_write,
-+      .ioctl          = lq_wdt_ioctl,
++      .unlocked_ioctl = lq_wdt_ioctl,
 +      .open           = lq_wdt_open,
 +      .release        = lq_wdt_release,
 +};
index 38061a9..e99cfd3 100644 (file)
@@ -1,8 +1,8 @@
 --- a/drivers/crypto/Kconfig
 +++ b/drivers/crypto/Kconfig
-@@ -243,4 +243,75 @@
-         OMAP processors have SHA1/MD5 hw accelerator. Select this if you
-         want to use the OMAP module for SHA1/MD5 algorithms.
+@@ -252,4 +252,75 @@
+         OMAP processors have AES module accelerator. Select this if you
+         want to use the OMAP module for AES algorithms.
  
 +config CRYPTO_DEV_LANTIQ
 +      tristate "Support for Lantiq crypto engine"
 +#endif /* DEU_FALCON_H */
 --- a/arch/mips/lantiq/xway/devices.h
 +++ b/arch/mips/lantiq/xway/devices.h
-@@ -22,5 +22,6 @@
+@@ -24,5 +24,6 @@
  extern void __init lq_register_ethernet(struct lq_eth_data *eth);
  extern void __init lq_register_asc(int port);
  extern void __init lq_register_gpio_buttons(struct gpio_button *buttons, int cnt);
index 7425a31..a59f6cc 100644 (file)
 +#endif /* CONFIG_IFX_UDP_REDIRECT* */
 --- a/net/ipv4/Makefile
 +++ b/net/ipv4/Makefile
-@@ -14,6 +14,9 @@ obj-y     := route.o inetpeer.o protocol
+@@ -14,6 +14,9 @@
             inet_fragment.o
  
  obj-$(CONFIG_SYSCTL) += sysctl_net_ipv4.o
  obj-$(CONFIG_PROC_FS) += proc.o
 --- a/net/ipv4/udp.c
 +++ b/net/ipv4/udp.c
-@@ -106,6 +106,10 @@
+@@ -107,6 +107,10 @@
  #include <net/xfrm.h>
  #include "udp_impl.h"
  
  struct udp_table udp_table __read_mostly;
  EXPORT_SYMBOL(udp_table);
  
-@@ -782,7 +786,7 @@ int udp_sendmsg(struct kiocb *iocb, stru
+@@ -784,7 +788,7 @@
        u8  tos;
        int err, is_udplite = IS_UDPLITE(sk);
        int corkreq = up->corkflag || msg->msg_flags&MSG_MORE;
  
        if (len > 0xFFFF)
                return -EMSGSIZE;
-@@ -944,6 +948,12 @@ back_from_confirm:
+@@ -946,6 +950,12 @@
  
  do_append_data:
        up->len += ulen;
        getfrag  =  is_udplite ?  udplite_getfrag : ip_generic_getfrag;
        err = ip_append_data(sk, getfrag, msg->msg_iov, ulen,
                        sizeof(struct udphdr), &ipc, &rt,
-@@ -1518,6 +1528,7 @@ int __udp4_lib_rcv(struct sk_buff *skb, 
+@@ -1573,6 +1583,7 @@
        struct rtable *rt = skb_rtable(skb);
        __be32 saddr, daddr;
        struct net *net = dev_net(skb->dev);
  
        /*
         *  Validate the packet.
-@@ -1550,7 +1561,16 @@ int __udp4_lib_rcv(struct sk_buff *skb, 
+@@ -1605,7 +1616,16 @@
        sk = __udp4_lib_lookup_skb(skb, uh->source, uh->dest, udptable);
  
        if (sk != NULL) {
                sock_put(sk);
  
                /* a return value > 0 means to resubmit the input, but
-@@ -1845,7 +1865,7 @@ struct proto udp_prot = {
- #endif
+@@ -1902,7 +1922,7 @@
+       .clear_sk          = sk_prot_clear_portaddr_nulls,
  };
  EXPORT_SYMBOL(udp_prot);
 -
  
 --- a/net/Kconfig
 +++ b/net/Kconfig
-@@ -72,6 +72,12 @@ config INET
+@@ -72,6 +72,12 @@
  
          Short answer: say Y.
  
index 55e75ce..ef19643 100644 (file)
@@ -11,7 +11,7 @@
  
 --- a/net/atm/proc.c
 +++ b/net/atm/proc.c
-@@ -153,7 +153,7 @@
+@@ -154,7 +154,7 @@
  static void pvc_info(struct seq_file *seq, struct atm_vcc *vcc)
  {
        static const char *const class_name[] = {
@@ -22,7 +22,7 @@
                "???",  "5",    "???",  "???",  /*  4- 7 */
 --- a/net/atm/common.c
 +++ b/net/atm/common.c
-@@ -60,11 +60,17 @@
+@@ -62,11 +62,17 @@
        write_unlock_irq(&vcc_sklist_lock);
  }
  
index af86355..2c02944 100644 (file)
@@ -1,11 +1,12 @@
 --- a/arch/mips/include/asm/mach-lantiq/machine.h
 +++ b/arch/mips/include/asm/mach-lantiq/machine.h
-@@ -11,4 +11,14 @@
+@@ -11,4 +11,15 @@
        LANTIQ_MACH_EASY4010,           /* Twinpass evalkit */
        LANTIQ_MACH_EASY50712,          /* Danube evalkit */
        LANTIQ_MACH_EASY50812,          /* AR9 eval board */
 +
 +      /* Arcadyan */
++      LANTIQ_MACH_ARV3527P,           /* Arcor easybox a401 */
 +      LANTIQ_MACH_ARV4510PW,          /* Wippies Homebox */
 +      LANTIQ_MACH_ARV4518PW,          /* Airties WAV-221, SMC-7908A-ISP */
 +      LANTIQ_MACH_ARV4520PW,          /* Airties WAV-281, Arcor EasyboxA800 */
@@ -37,7 +38,7 @@
 +obj-$(CONFIG_LANTIQ_MACH_ARV45XX) += mach-arv45xx.o
 --- /dev/null
 +++ b/arch/mips/lantiq/xway/mach-arv45xx.c
-@@ -0,0 +1,514 @@
+@@ -0,0 +1,504 @@
 +/*
 + *  This program is free software; you can redistribute it and/or modify it
 + *  under the terms of the GNU General Public License version 2 as published
 +      {
 +              .name   = "uboot",
 +              .offset = 0x0,
-+              .size   = 0x20000,
-+      },
-+      {
-+              .name   = "uboot_env",
-+              .offset = 0x20000,
 +              .size   = 0x10000,
 +      },
 +      {
-+              .name   = "linux",
-+              .offset = 0x30000,
-+              .size   = 0x3c0000,
-+      },
-+      {
-+              .name   = "board_config",
-+              .offset = 0x3f0000,
-+              .size   = 0x10000,
-+      },
-+};
-+
-+static struct mtd_partition arv4518_partitions[] =
-+{
-+      {
-+              .name   = "uboot",
-+              .offset = 0x0,
-+              .size   = 0x40000,
-+      },
-+      {
 +              .name   = "uboot_env",
-+              .offset = 0x40000,
++              .offset = 0x10000,
 +              .size   = 0x10000,
 +      },
 +      {
 +              .name   = "linux",
-+              .offset = 0x50000,
-+              .size   = 0x3a0000,
++              .offset = 0x20000,
++              .size   = 0x3d0000,
 +      },
 +      {
 +              .name   = "board_config",
 +      {
 +              .name   = "uboot",
 +              .offset = 0x0,
-+              .size   = 0x40000,
++              .size   = 0x10000,
 +      },
 +      {
 +              .name   = "uboot_env",
-+              .offset = 0x40000,
++              .offset = 0x10000,
 +              .size   = 0x10000,
 +      },
 +      {
 +              .name   = "linux",
-+              .offset = 0x50000,
-+              .size   = 0x7a0000,
++              .offset = 0x20000,
++              .size   = 0x7d0000,
 +      },
 +      {
 +              .name   = "board_config",
 +#endif
 +};
 +
-+static struct physmap_flash_data arv4518_flash_data = {
-+#ifdef CONFIG_MTD_PARTITIONS
-+      .nr_parts       = ARRAY_SIZE(arv4518_partitions),
-+      .parts          = arv4518_partitions,
-+#endif
-+};
-+
 +static struct physmap_flash_data arv75xx_flash_data = {
 +#ifdef CONFIG_MTD_PARTITIONS
 +      .nr_parts       = ARRAY_SIZE(arv75xx_partitions),
 +#define ARV45XX_BRN_ATH               0x3f0478
 +      int i;
 +      unsigned char eeprom_mac[6];
-+      u16 eeprom_data[ATH5K_PLAT_EEP_MAX_WORDS];
++      static u16 eeprom_data[ATH5K_PLAT_EEP_MAX_WORDS];
 +      u32 *p = (u32*)arv45xx_ath5k_eeprom_data;
 +
 +      memcpy_fromio(eeprom_mac,
 +}
 +
 +static void __init
++arv3527p_init(void)
++{
++      lq_register_gpio();
++      lq_register_gpio_stp();
++      //lq_register_gpio_leds(arv3527p_leds_gpio, ARRAY_SIZE(arv3527p_leds_gpio));
++      lq_register_asc(0);
++      lq_register_asc(1);
++      lq_register_nor(&arv45xx_flash_data);
++      lq_register_wdt();
++      arv45xx_register_ethernet();
++}
++
++MIPS_MACHINE(LANTIQ_MACH_ARV3527P,
++                      "ARV3527P",
++                      "ARV3527P - Arcor Easybox 401",
++                      arv3527p_init);
++
++static void __init
 +arv4510pw_init(void)
 +{
 +      lq_register_gpio();
 +      lq_register_asc(0);
 +      lq_register_asc(1);
 +      lq_register_nor(&arv45xx_flash_data);
-+      lq_register_pci(&lq_pci_data);
 +      lq_pci_data.irq[15] = (INT_NUM_IM2_IRL0 + 31);
 +      lq_pci_data.gpio |= PCI_EXIN1 | PCI_REQ2;
 +      lq_register_pci(&lq_pci_data);
 +      lq_register_gpio_buttons(arv4518pw_gpio_buttons, ARRAY_SIZE(arv4518pw_gpio_buttons));
 +      lq_register_asc(0);
 +      lq_register_asc(1);
-+      lq_register_nor(&arv4518_flash_data);
++      lq_register_nor(&arv45xx_flash_data);
 +      lq_pci_data.gpio = PCI_GNT2 | PCI_REQ2;
 +      lq_register_pci(&lq_pci_data);
 +      lq_register_wdt();
++      lq_register_madwifi_eep();
 +      xway_register_dwc(ARV4518PW_USB);
 +      arv45xx_register_ethernet();
 +      arv45xx_register_ath5k();
 +      lq_register_nor(&arv45xx_flash_data);
 +      lq_register_pci(&lq_pci_data);
 +      lq_register_wdt();
++      lq_register_tapi();
 +      arv45xx_register_ethernet();
 +      xway_register_dwc(ARV4520PW_USB);
 +
 +      lq_register_gpio_leds(arv452cpw_leds_gpio, ARRAY_SIZE(arv452cpw_leds_gpio));
 +      lq_register_asc(0);
 +      lq_register_asc(1);
-+      lq_register_nor(&arv4518_flash_data);
++      lq_register_nor(&arv45xx_flash_data);
 +      lq_register_pci(&lq_pci_data);
 +      lq_register_wdt();
++      lq_register_madwifi_eep();
 +      xway_register_dwc(ARV452CPW_USB);
 +      arv45xx_register_ethernet();
 +      arv45xx_register_ath5k();
 +      lq_pci_data.clock = PCI_CLOCK_INT;
 +      lq_register_pci(&lq_pci_data);
 +      lq_register_wdt();
++      lq_register_madwifi_eep();
 +      lq_eth_data.mii_mode = MII_MODE;
 +      arv45xx_register_ethernet();
 +}
index f663062..8188403 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/usb/Kconfig
 +++ b/drivers/usb/Kconfig
-@@ -111,6 +111,8 @@
+@@ -113,6 +113,8 @@
  
  source "drivers/usb/host/Kconfig"
  
@@ -39,9 +39,9 @@
 +        bool "HOST ONLY MODE"
 +        depends on DWC_OTG
 +
-+config DWC_OTG_DEVICE_ONLY
-+        bool "DEVICE ONLY MODE"
-+        depends on DWC_OTG
++#config DWC_OTG_DEVICE_ONLY
++#        bool "DEVICE ONLY MODE"
++#        depends on DWC_OTG
 +endchoice
 +
 +choice
index 5472d79..ea50761 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/Kconfig
 +++ b/arch/mips/Kconfig
-@@ -1699,6 +1699,28 @@
+@@ -1837,6 +1837,28 @@ config MIPS_VPE_LOADER
          Includes a loader for loading an elf relocatable object
          onto another VPE and running it.
  
  /* TCStatus fields (per TC) */
  #define TCSTATUS_TASID                (_ULCAST_(0xff))
  #define TCSTATUS_IXMT_SHIFT   10
-@@ -350,6 +390,14 @@
+@@ -350,6 +390,14 @@ do {                                                                      \
  #define write_vpe_c0_vpecontrol(val)  mttc0(1, 1, val)
  #define read_vpe_c0_vpeconf0()                mftc0(1, 2)
  #define write_vpe_c0_vpeconf0(val)    mttc0(1, 2, val)
  #define read_vpe_c0_count()           mftc0(9, 0)
  #define write_vpe_c0_count(val)               mttc0(9, 0, val)
  #define read_vpe_c0_status()          mftc0(12, 0)
-@@ -381,6 +429,12 @@
+@@ -381,6 +429,12 @@ do {                                                                      \
  #define write_tc_c0_tchalt(val)               mttc0(2, 4, val)
  #define read_tc_c0_tccontext()                mftc0(2, 5)
  #define write_tc_c0_tccontext(val)    mttc0(2, 5, val)
  #define read_tc_gpr_sp()              mftgpr(29)
 --- a/arch/mips/kernel/Makefile
 +++ b/arch/mips/kernel/Makefile
-@@ -84,7 +84,8 @@
+@@ -85,7 +85,8 @@ obj-$(CONFIG_MIPS32_O32)     += binfmt_elfo3
  
  obj-$(CONFIG_KGDB)            += kgdb.o
  obj-$(CONFIG_PROC_FS)         += proc.o
  obj-$(CONFIG_I8253)           += i8253.o
 --- a/arch/mips/kernel/mips-mt.c
 +++ b/arch/mips/kernel/mips-mt.c
-@@ -21,26 +21,95 @@
+@@ -21,26 +21,96 @@
  #include <asm/cacheflush.h>
  
  int vpelimit;
 +                      tlbsiz = (((config1val >> 25) & 0x3f) + 1);
 +                      if (tlbsiz > 64)
 +                              tlbsiz = 64;
-+                      cpu_data[0].tlbsize = current_cpu_data.tlbsize = tlbsiz;
++                      cpu_data[0].tlbsize = tlbsiz;
++                      current_cpu_data.tlbsize = tlbsiz;
 +              }
 +
 +      }
  
  /*
   * Dump new MIPS MT state for the core. Does not leave TCs halted.
-@@ -78,18 +147,18 @@
+@@ -78,18 +148,18 @@ void mips_mt_regdump(unsigned long mvpct
                        if ((read_tc_c0_tcbind() & TCBIND_CURVPE) == i) {
                                printk("  VPE %d\n", i);
                                printk("   VPEControl : %08lx\n",
                                break; /* Next VPE */
                        }
                }
-@@ -287,6 +356,9 @@
+@@ -287,6 +357,9 @@ void mips_mt_set_cpuoptions(void)
                printk("Mapped %ld ITC cells starting at 0x%08x\n",
                        ((itcblkgrn & 0x7fe00000) >> 20), itc_base);
        }
  #include <asm/bootinfo.h>
  #include <asm/cpu.h>
  #include <asm/cpu-features.h>
-@@ -108,3 +109,19 @@
+@@ -108,3 +109,19 @@ const struct seq_operations cpuinfo_op =
        .stop   = c_stop,
        .show   = show_cpuinfo,
  };
 +}
 --- a/arch/mips/kernel/smtc.c
 +++ b/arch/mips/kernel/smtc.c
-@@ -1336,6 +1336,13 @@
+@@ -1335,6 +1335,13 @@ void smtc_get_new_mmu_context(struct mm_
        asid = asid_cache(cpu);
  
        do {
                                flush_icache_all();
 --- a/arch/mips/kernel/vpe.c
 +++ b/arch/mips/kernel/vpe.c
-@@ -76,6 +76,58 @@
+@@ -76,6 +76,58 @@ static struct kspd_notifications kspd_ev
  static int kspd_events_reqd;
  #endif
  
  /* grab the likely amount of memory we will need. */
  #ifdef CONFIG_MIPS_VPE_LOADER_TOM
  #define P_SIZE (2 * 1024 * 1024)
-@@ -268,6 +320,13 @@
+@@ -268,6 +320,13 @@ static void *alloc_progmem(unsigned long
        void *addr;
  
  #ifdef CONFIG_MIPS_VPE_LOADER_TOM
        /*
         * This means you must tell Linux to use less memory than you
         * physically have, for example by passing a mem= boot argument.
-@@ -746,6 +805,12 @@
+@@ -746,6 +805,12 @@ static int vpe_run(struct vpe * v)
        }
  
        /* Write the address we want it to start running from in the TCPC register. */
        write_tc_c0_tcrestart((unsigned long)v->__start);
        write_tc_c0_tccontext((unsigned long)0);
  
-@@ -759,6 +824,20 @@
+@@ -759,6 +824,20 @@ static int vpe_run(struct vpe * v)
  
        write_tc_c0_tchalt(read_tc_c0_tchalt() & ~TCHALT_H);
  
        /*
         * The sde-kit passes 'memsize' to __start in $a3, so set something
         * here...  Or set $a3 to zero and define DFLT_STACK_SIZE and
-@@ -833,6 +912,9 @@
+@@ -833,6 +912,9 @@ static int find_vpe_symbols(struct vpe *
        if ( (v->__start == 0) || (v->shared_ptr == NULL))
                return -1;
  
        return 0;
  }
  
-@@ -994,6 +1076,15 @@
+@@ -994,6 +1076,15 @@ static int vpe_elfload(struct vpe * v)
                           (unsigned long)v->load_addr + v->len);
  
        if ((find_vpe_symbols(v, sechdrs, symindex, strtab, &mod)) < 0) {
                if (v->__start == 0) {
                        printk(KERN_WARNING "VPE loader: program does not contain "
                               "a __start symbol\n");
-@@ -1064,6 +1155,9 @@
+@@ -1064,6 +1155,9 @@ static int vpe_open(struct inode *inode,
        struct vpe_notifications *not;
        struct vpe *v;
        int ret;
  
        if (minor != iminor(inode)) {
                /* assume only 1 device at the moment. */
-@@ -1090,14 +1184,23 @@
+@@ -1090,6 +1184,12 @@ static int vpe_open(struct inode *inode,
                cleanup_tc(get_tc(tclimit));
        }
  
 +#else
        /* this of-course trashes what was there before... */
        v->pbuffer = vmalloc(P_SIZE);
+       if (!v->pbuffer) {
+@@ -1097,11 +1197,13 @@ static int vpe_open(struct inode *inode,
+               return -ENOMEM;
+       }
        v->plen = P_SIZE;
 +#endif
        v->load_addr = NULL;
        v->len = 0;
+-
 +#if 0
        v->uid = filp->f_cred->fsuid;
        v->gid = filp->f_cred->fsgid;
  
  #ifdef CONFIG_MIPS_APSP_KSPD
        /* get kspd to tell us when a syscall_exit happens */
-@@ -1350,6 +1453,133 @@
+@@ -1349,6 +1451,133 @@ static void kspd_sp_exit( int sp_id)
        cleanup_tc(get_tc(sp_id));
  }
  #endif
  
  static ssize_t store_kill(struct device *dev, struct device_attribute *attr,
                          const char *buf, size_t len)
-@@ -1431,6 +1661,18 @@
+@@ -1430,6 +1659,18 @@ static int __init vpe_module_init(void)
                printk("VPE loader: not a MIPS MT capable processor\n");
                return -ENODEV;
        }
  
        if (vpelimit == 0) {
                printk(KERN_WARNING "No VPEs reserved for AP/SP, not "
-@@ -1475,10 +1717,12 @@
+@@ -1474,10 +1715,12 @@ static int __init vpe_module_init(void)
        mtflags = dmt();
        vpflags = dvpe();
  
  
        val = read_c0_mvpconf0();
        hw_tcs = (val & MVPCONF0_PTC) + 1;
-@@ -1490,6 +1734,7 @@
+@@ -1489,6 +1732,7 @@ static int __init vpe_module_init(void)
                 * reschedule send IPIs or similar we might hang.
                 */
                clear_c0_mvpcontrol(MVPCONTROL_VPC);
                evpe(vpflags);
                emt(mtflags);
                local_irq_restore(flags);
-@@ -1515,6 +1760,7 @@
+@@ -1514,6 +1758,7 @@ static int __init vpe_module_init(void)
                        }
  
                        v->ntcs = hw_tcs - tclimit;
  
                        /* add the tc to the list of this vpe's tc's. */
                        list_add(&t->tc, &v->tc);
-@@ -1583,6 +1829,7 @@
+@@ -1582,6 +1827,7 @@ static int __init vpe_module_init(void)
  out_reenable:
        /* release config state */
        clear_c0_mvpcontrol(MVPCONTROL_VPC);
 + * Write to perf counter registers based on text input
 + */
 +
-+#define TXTBUFSZ 1024
++#define TXTBUFSZ 100
 +
 +static int proc_write_mtsched(struct file *file, const char *buffer,
 +                              unsigned long count, void *data)
 + * Write to perf counter registers based on text input
 + */
 +
-+#define TXTBUFSZ 1024
++#define TXTBUFSZ 100
 +
 +static int proc_write_perf(struct file *file, const char *buffer,
 +                              unsigned long count, void *data)
index 9487f6c..d04f1e9 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/Kconfig
 +++ b/arch/mips/Kconfig
-@@ -1706,6 +1706,28 @@
+@@ -1844,6 +1844,28 @@
        help
          IFX included extensions in APRP
  
        write_vpe_c0_cause(0);
 --- a/arch/mips/mm/c-r4k.c
 +++ b/arch/mips/mm/c-r4k.c
-@@ -1348,6 +1348,106 @@
+@@ -1347,6 +1347,106 @@
  __setup("coherentio", setcoherentio);
  #endif
  
  void __cpuinit r4k_cache_init(void)
  {
        extern void build_clear_page(void);
-@@ -1367,6 +1467,78 @@
+@@ -1366,6 +1466,78 @@
                break;
        }
  
diff --git a/target/linux/lantiq/patches/900-header_falcon.patch b/target/linux/lantiq/patches/900-header_falcon.patch
new file mode 100644 (file)
index 0000000..f2e6870
--- /dev/null
@@ -0,0 +1,14004 @@
+--- /dev/null
++++ b/arch/mips/include/asm/mach-lantiq/falcon/falcon_irq.h
+@@ -0,0 +1,277 @@
++/*
++ *   This program is free software; you can redistribute it and/or modify
++ *   it under the terms of the GNU General Public License as published by
++ *   the Free Software Foundation; either version 2 of the License, or
++ *   (at your option) any later version.
++ *
++ *   This program is distributed in the hope that it will be useful,
++ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
++ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ *   GNU General Public License for more details.
++ *
++ *   You should have received a copy of the GNU General Public License
++ *   along with this program; if not, write to the Free Software
++ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
++ *
++ *   Copyright (C) 2010 Lantiq
++ */
++#ifndef _FALCON_IRQ__
++#define _FALCON_IRQ__
++
++#define INT_NUM_IRQ0                  8
++#define INT_NUM_IM0_IRL0              (INT_NUM_IRQ0 + 0)
++#define INT_NUM_IM1_IRL0              (INT_NUM_IM0_IRL0 + 32)
++#define INT_NUM_IM2_IRL0              (INT_NUM_IM1_IRL0 + 32)
++#define INT_NUM_IM3_IRL0              (INT_NUM_IM2_IRL0 + 32)
++#define INT_NUM_IM4_IRL0              (INT_NUM_IM3_IRL0 + 32)
++#define INT_NUM_EXTRA_START           (INT_NUM_IM4_IRL0 + 32)
++#define INT_NUM_IM_OFFSET             (INT_NUM_IM1_IRL0 - INT_NUM_IM0_IRL0)
++
++#define MIPS_CPU_TIMER_IRQ                    7
++
++/* HOST IF Event Interrupt */
++#define FALCON_IRQ_HOST                               (INT_NUM_IM0_IRL0 + 0)
++/* HOST IF Mailbox0 Receive Interrupt */
++#define FALCON_IRQ_HOST_MB0_RX                        (INT_NUM_IM0_IRL0 + 1)
++/* HOST IF Mailbox0 Transmit Interrupt */
++#define FALCON_IRQ_HOST_MB0_TX                        (INT_NUM_IM0_IRL0 + 2)
++/* HOST IF Mailbox1 Receive Interrupt */
++#define FALCON_IRQ_HOST_MB1_RX                        (INT_NUM_IM0_IRL0 + 3)
++/* HOST IF Mailbox1 Transmit Interrupt */
++#define FALCON_IRQ_HOST_MB1_TX                        (INT_NUM_IM0_IRL0 + 4)
++/* I2C Last Single Data Transfer Request */
++#define FALCON_IRQ_I2C_LSREQ                  (INT_NUM_IM0_IRL0 + 8)
++/* I2C Single Data Transfer Request */
++#define FALCON_IRQ_I2C_SREQ                   (INT_NUM_IM0_IRL0 + 9)
++/* I2C Last Burst Data Transfer Request */
++#define FALCON_IRQ_I2C_LBREQ                  (INT_NUM_IM0_IRL0 + 10)
++/* I2C Burst Data Transfer Request */
++#define FALCON_IRQ_I2C_BREQ                   (INT_NUM_IM0_IRL0 + 11)
++/* I2C Error Interrupt */
++#define FALCON_IRQ_I2C_I2C_ERR                        (INT_NUM_IM0_IRL0 + 12)
++/* I2C Protocol Interrupt */
++#define FALCON_IRQ_I2C_I2C_P                  (INT_NUM_IM0_IRL0 + 13)
++/* SSC Transmit Interrupt */
++#define FALCON_IRQ_SSC_T                      (INT_NUM_IM0_IRL0 + 14)
++/* SSC Receive Interrupt */
++#define FALCON_IRQ_SSC_R                      (INT_NUM_IM0_IRL0 + 15)
++/* SSC Error Interrupt */
++#define FALCON_IRQ_SSC_E                      (INT_NUM_IM0_IRL0 + 16)
++/* SSC Frame Interrupt */
++#define FALCON_IRQ_SSC_F                      (INT_NUM_IM0_IRL0 + 17)
++/* Advanced Encryption Standard Interrupt */
++#define FALCON_IRQ_AES_AES                    (INT_NUM_IM0_IRL0 + 27)
++/* Secure Hash Algorithm Interrupt */
++#define FALCON_IRQ_SHA_HASH                   (INT_NUM_IM0_IRL0 + 28)
++/* PCM Receive Interrupt */
++#define FALCON_IRQ_PCM_RX                     (INT_NUM_IM0_IRL0 + 29)
++/* PCM Transmit Interrupt */
++#define FALCON_IRQ_PCM_TX                     (INT_NUM_IM0_IRL0 + 30)
++/* PCM Transmit Crash Interrupt */
++#define FALCON_IRQ_PCM_HW2_CRASH              (INT_NUM_IM0_IRL0 + 31)
++
++/* EBU Serial Flash Command Error */
++#define FALCON_IRQ_EBU_SF_CMDERR              (INT_NUM_IM1_IRL0 + 0)
++/* EBU Serial Flash Command Overwrite Error */
++#define FALCON_IRQ_EBU_SF_COVERR              (INT_NUM_IM1_IRL0 + 1)
++/* EBU Serial Flash Busy */
++#define FALCON_IRQ_EBU_SF_BUSY                        (INT_NUM_IM1_IRL0 + 2)
++/* External Interrupt from GPIO P0 */
++#define FALCON_IRQ_GPIO_P0                    (INT_NUM_IM1_IRL0 + 4)
++/* External Interrupt from GPIO P1 */
++#define FALCON_IRQ_GPIO_P1                    (INT_NUM_IM1_IRL0 + 5)
++/* External Interrupt from GPIO P2 */
++#define FALCON_IRQ_GPIO_P2                    (INT_NUM_IM1_IRL0 + 6)
++/* External Interrupt from GPIO P3 */
++#define FALCON_IRQ_GPIO_P3                    (INT_NUM_IM1_IRL0 + 7)
++/* External Interrupt from GPIO P4 */
++#define FALCON_IRQ_GPIO_P4                    (INT_NUM_IM1_IRL0 + 8)
++/* 8kHz backup interrupt derived from core-PLL */
++#define FALCON_IRQ_FSC_BKP                    (INT_NUM_IM1_IRL0 + 10)
++/* FSC Timer Interrupt 0 */
++#define FALCON_IRQ_FSCT_CMP0                  (INT_NUM_IM1_IRL0 + 11)
++/* FSC Timer Interrupt 1 */
++#define FALCON_IRQ_FSCT_CMP1                  (INT_NUM_IM1_IRL0 + 12)
++/* 8kHz root interrupt derived from GPON interface */
++#define FALCON_IRQ_FSC_ROOT                   (INT_NUM_IM1_IRL0 + 13)
++/* Time of Day */
++#define FALCON_IRQ_TOD                                (INT_NUM_IM1_IRL0 + 14)
++/* PMA Interrupt from IntNode of the 200MHz Domain */
++#define FALCON_IRQ_PMA_200M                   (INT_NUM_IM1_IRL0 + 15)
++/* PMA Interrupt from IntNode of the TX Clk Domain */
++#define FALCON_IRQ_PMA_TX                     (INT_NUM_IM1_IRL0 + 16)
++/* PMA Interrupt from IntNode of the RX Clk Domain */
++#define FALCON_IRQ_PMA_RX                     (INT_NUM_IM1_IRL0 + 17)
++/* SYS1 Interrupt */
++#define FALCON_IRQ_SYS1                               (INT_NUM_IM1_IRL0 + 20)
++/* SYS GPE Interrupt */
++#define FALCON_IRQ_SYS_GPE                    (INT_NUM_IM1_IRL0 + 21)
++/* Watchdog Access Error Interrupt */
++#define FALCON_IRQ_WDT_AEIR                   (INT_NUM_IM1_IRL0 + 24)
++/* Watchdog Prewarning Interrupt */
++#define FALCON_IRQ_WDT_PIR                    (INT_NUM_IM1_IRL0 + 25)
++/* SBIU interrupt */
++#define FALCON_IRQ_SBIU0                      (INT_NUM_IM1_IRL0 + 27)
++/* FPI Bus Control Unit Interrupt */
++#define FALCON_IRQ_BCU0                               (INT_NUM_IM1_IRL0 + 29)
++/* DDR Controller Interrupt */
++#define FALCON_IRQ_DDR                                (INT_NUM_IM1_IRL0 + 30)
++/* Crossbar Error Interrupt */
++#define FALCON_IRQ_XBAR_ERROR                 (INT_NUM_IM1_IRL0 + 31)
++
++/* ICTRLL 0 Interrupt */
++#define FALCON_IRQ_ICTRLL0                    (INT_NUM_IM2_IRL0 + 0)
++/* ICTRLL 1 Interrupt */
++#define FALCON_IRQ_ICTRLL1                    (INT_NUM_IM2_IRL0 + 1)
++/* ICTRLL 2 Interrupt */
++#define FALCON_IRQ_ICTRLL2                    (INT_NUM_IM2_IRL0 + 2)
++/* ICTRLL 3 Interrupt */
++#define FALCON_IRQ_ICTRLL3                    (INT_NUM_IM2_IRL0 + 3)
++/* OCTRLL 0 Interrupt */
++#define FALCON_IRQ_OCTRLL0                    (INT_NUM_IM2_IRL0 + 4)
++/* OCTRLL 1 Interrupt */
++#define FALCON_IRQ_OCTRLL1                    (INT_NUM_IM2_IRL0 + 5)
++/* OCTRLL 2 Interrupt */
++#define FALCON_IRQ_OCTRLL2                    (INT_NUM_IM2_IRL0 + 6)
++/* OCTRLL 3 Interrupt */
++#define FALCON_IRQ_OCTRLL3                    (INT_NUM_IM2_IRL0 + 7)
++/* OCTRLG Interrupt */
++#define FALCON_IRQ_OCTRLG                     (INT_NUM_IM2_IRL0 + 9)
++/* IQM Interrupt */
++#define FALCON_IRQ_IQM                                (INT_NUM_IM2_IRL0 + 10)
++/* FSQM Interrupt */
++#define FALCON_IRQ_FSQM                               (INT_NUM_IM2_IRL0 + 11)
++/* TMU Interrupt */
++#define FALCON_IRQ_TMU                                (INT_NUM_IM2_IRL0 + 12)
++/* LINK1 Interrupt */
++#define FALCON_IRQ_LINK1                      (INT_NUM_IM2_IRL0 + 14)
++/* ICTRLC 0 Interrupt */
++#define FALCON_IRQ_ICTRLC0                    (INT_NUM_IM2_IRL0 + 16)
++/* ICTRLC 1 Interrupt */
++#define FALCON_IRQ_ICTRLC1                    (INT_NUM_IM2_IRL0 + 17)
++/* OCTRLC Interrupt */
++#define FALCON_IRQ_OCTRLC                     (INT_NUM_IM2_IRL0 + 18)
++/* CONFIG Break Interrupt */
++#define FALCON_IRQ_CONFIG_BREAK                       (INT_NUM_IM2_IRL0 + 19)
++/* CONFIG Interrupt */
++#define FALCON_IRQ_CONFIG                     (INT_NUM_IM2_IRL0 + 20)
++/* Dispatcher Interrupt */
++#define FALCON_IRQ_DISP                               (INT_NUM_IM2_IRL0 + 21)
++/* TBM Interrupt */
++#define FALCON_IRQ_TBM                                (INT_NUM_IM2_IRL0 + 22)
++/* GTC Downstream Interrupt */
++#define FALCON_IRQ_GTC_DS                     (INT_NUM_IM2_IRL0 + 29)
++/* GTC Upstream Interrupt */
++#define FALCON_IRQ_GTC_US                     (INT_NUM_IM2_IRL0 + 30)
++/* EIM Interrupt */
++#define FALCON_IRQ_EIM                                (INT_NUM_IM2_IRL0 + 31)
++
++/* ASC0 Transmit Interrupt */
++#define FALCON_IRQ_ASC0_T                     (INT_NUM_IM3_IRL0 + 0)
++/* ASC0 Receive Interrupt */
++#define FALCON_IRQ_ASC0_R                     (INT_NUM_IM3_IRL0 + 1)
++/* ASC0 Error Interrupt */
++#define FALCON_IRQ_ASC0_E                     (INT_NUM_IM3_IRL0 + 2)
++/* ASC0 Transmit Buffer Interrupt */
++#define FALCON_IRQ_ASC0_TB                    (INT_NUM_IM3_IRL0 + 3)
++/* ASC0 Autobaud Start Interrupt */
++#define FALCON_IRQ_ASC0_ABST                  (INT_NUM_IM3_IRL0 + 4)
++/* ASC0 Autobaud Detection Interrupt */
++#define FALCON_IRQ_ASC0_ABDET                 (INT_NUM_IM3_IRL0 + 5)
++/* ASC1 Modem Status Interrupt */
++#define FALCON_IRQ_ASC0_MS                    (INT_NUM_IM3_IRL0 + 6)
++/* ASC0 Soft Flow Control Interrupt */
++#define FALCON_IRQ_ASC0_SFC                   (INT_NUM_IM3_IRL0 + 7)
++/* ASC1 Transmit Interrupt */
++#define FALCON_IRQ_ASC1_T                     (INT_NUM_IM3_IRL0 + 8)
++/* ASC1 Receive Interrupt */
++#define FALCON_IRQ_ASC1_R                     (INT_NUM_IM3_IRL0 + 9)
++/* ASC1 Error Interrupt */
++#define FALCON_IRQ_ASC1_E                     (INT_NUM_IM3_IRL0 + 10)
++/* ASC1 Transmit Buffer Interrupt */
++#define FALCON_IRQ_ASC1_TB                    (INT_NUM_IM3_IRL0 + 11)
++/* ASC1 Autobaud Start Interrupt */
++#define FALCON_IRQ_ASC1_ABST                  (INT_NUM_IM3_IRL0 + 12)
++/* ASC1 Autobaud Detection Interrupt */
++#define FALCON_IRQ_ASC1_ABDET                 (INT_NUM_IM3_IRL0 + 13)
++/* ASC1 Modem Status Interrupt */
++#define FALCON_IRQ_ASC1_MS                    (INT_NUM_IM3_IRL0 + 14)
++/* ASC1 Soft Flow Control Interrupt */
++#define FALCON_IRQ_ASC1_SFC                   (INT_NUM_IM3_IRL0 + 15)
++/* GPTC Timer/Counter 1A Interrupt */
++#define FALCON_IRQ_GPTC_TC1A                  (INT_NUM_IM3_IRL0 + 16)
++/* GPTC Timer/Counter 1B Interrupt */
++#define FALCON_IRQ_GPTC_TC1B                  (INT_NUM_IM3_IRL0 + 17)
++/* GPTC Timer/Counter 2A Interrupt */
++#define FALCON_IRQ_GPTC_TC2A                  (INT_NUM_IM3_IRL0 + 18)
++/* GPTC Timer/Counter 2B Interrupt */
++#define FALCON_IRQ_GPTC_TC2B                  (INT_NUM_IM3_IRL0 + 19)
++/* GPTC Timer/Counter 3A Interrupt */
++#define FALCON_IRQ_GPTC_TC3A                  (INT_NUM_IM3_IRL0 + 20)
++/* GPTC Timer/Counter 3B Interrupt */
++#define FALCON_IRQ_GPTC_TC3B                  (INT_NUM_IM3_IRL0 + 21)
++/* DFEV0, Channel 1 Transmit Interrupt */
++#define FALCON_IRQ_DFEV0_2TX                  (INT_NUM_IM3_IRL0 + 26)
++/* DFEV0, Channel 1 Receive Interrupt */
++#define FALCON_IRQ_DFEV0_2RX                  (INT_NUM_IM3_IRL0 + 27)
++/* DFEV0, Channel 1 General Purpose Interrupt */
++#define FALCON_IRQ_DFEV0_2GP                  (INT_NUM_IM3_IRL0 + 28)
++/* DFEV0, Channel 0 Transmit Interrupt */
++#define FALCON_IRQ_DFEV0_1TX                  (INT_NUM_IM3_IRL0 + 29)
++/* DFEV0, Channel 0 Receive Interrupt */
++#define FALCON_IRQ_DFEV0_1RX                  (INT_NUM_IM3_IRL0 + 30)
++/* DFEV0, Channel 0 General Purpose Interrupt */
++#define FALCON_IRQ_DFEV0_1GP                  (INT_NUM_IM3_IRL0 + 31)
++
++/* ICTRLL 0 Error */
++#define FALCON_IRQ_ICTRLL0_ERR                        (INT_NUM_IM4_IRL0 + 0)
++/* ICTRLL 1 Error */
++#define FALCON_IRQ_ICTRLL1_ERR                        (INT_NUM_IM4_IRL0 + 1)
++/* ICTRLL 2 Error */
++#define FALCON_IRQ_ICTRLL2_ERR                        (INT_NUM_IM4_IRL0 + 2)
++/* ICTRLL 3 Error */
++#define FALCON_IRQ_ICTRLL3_ERR                        (INT_NUM_IM4_IRL0 + 3)
++/* OCTRLL 0 Error */
++#define FALCON_IRQ_OCTRLL0_ERR                        (INT_NUM_IM4_IRL0 + 4)
++/* OCTRLL 1 Error */
++#define FALCON_IRQ_OCTRLL1_ERR                        (INT_NUM_IM4_IRL0 + 5)
++/* OCTRLL 2 Error */
++#define FALCON_IRQ_OCTRLL2_ERR                        (INT_NUM_IM4_IRL0 + 6)
++/* OCTRLL 3 Error */
++#define FALCON_IRQ_OCTRLL3_ERR                        (INT_NUM_IM4_IRL0 + 7)
++/* ICTRLG Error */
++#define FALCON_IRQ_ICTRLG_ERR                 (INT_NUM_IM4_IRL0 + 8)
++/* OCTRLG Error */
++#define FALCON_IRQ_OCTRLG_ERR                 (INT_NUM_IM4_IRL0 + 9)
++/* IQM Error */
++#define FALCON_IRQ_IQM_ERR                    (INT_NUM_IM4_IRL0 + 10)
++/* FSQM Error */
++#define FALCON_IRQ_FSQM_ERR                   (INT_NUM_IM4_IRL0 + 11)
++/* TMU Error */
++#define FALCON_IRQ_TMU_ERR                    (INT_NUM_IM4_IRL0 + 12)
++/* MPS Status Interrupt #0 (VPE1 to VPE0) */
++#define FALCON_IRQ_MPS_IR0                    (INT_NUM_IM4_IRL0 + 14)
++/* MPS Status Interrupt #1 (VPE1 to VPE0) */
++#define FALCON_IRQ_MPS_IR1                    (INT_NUM_IM4_IRL0 + 15)
++/* MPS Status Interrupt #2 (VPE1 to VPE0) */
++#define FALCON_IRQ_MPS_IR2                    (INT_NUM_IM4_IRL0 + 16)
++/* MPS Status Interrupt #3 (VPE1 to VPE0) */
++#define FALCON_IRQ_MPS_IR3                    (INT_NUM_IM4_IRL0 + 17)
++/* MPS Status Interrupt #4 (VPE1 to VPE0) */
++#define FALCON_IRQ_MPS_IR4                    (INT_NUM_IM4_IRL0 + 18)
++/* MPS Status Interrupt #5 (VPE1 to VPE0) */
++#define FALCON_IRQ_MPS_IR5                    (INT_NUM_IM4_IRL0 + 19)
++/* MPS Status Interrupt #6 (VPE1 to VPE0) */
++#define FALCON_IRQ_MPS_IR6                    (INT_NUM_IM4_IRL0 + 20)
++/* MPS Status Interrupt #7 (VPE1 to VPE0) */
++#define FALCON_IRQ_MPS_IR7                    (INT_NUM_IM4_IRL0 + 21)
++/* MPS Status Interrupt #8 (VPE1 to VPE0) */
++#define FALCON_IRQ_MPS_IR8                    (INT_NUM_IM4_IRL0 + 22)
++/* VPE0 Exception Level Flag Interrupt */
++#define FALCON_IRQ_VPE0_EXL                   (INT_NUM_IM4_IRL0 + 29)
++/* VPE0 Error Level Flag Interrupt */
++#define FALCON_IRQ_VPE0_ERL                   (INT_NUM_IM4_IRL0 + 30)
++/* VPE0 Performance Monitoring Counter Interrupt */
++#define FALCON_IRQ_VPE0_PMCIR                 (INT_NUM_IM4_IRL0 + 31)
++
++#endif /* _FALCON_IRQ__ */
+--- /dev/null
++++ b/arch/mips/include/asm/mach-lantiq/falcon/gpon_reg_base.h
+@@ -0,0 +1,376 @@
++/******************************************************************************
++
++                               Copyright (c) 2010
++                            Lantiq Deutschland GmbH
++
++  For licensing information, see the file 'LICENSE' in the root folder of
++  this software module.
++
++******************************************************************************/
++
++#ifndef _gpon_reg_base_h
++#define _gpon_reg_base_h
++
++/** \addtogroup GPON_BASE
++   @{
++*/
++
++#ifndef KSEG1
++#define KSEG1 0xA0000000
++#endif
++
++/** address range for ebu
++    0x18000000--0x180000FF */
++#define GPON_EBU_BASE         (KSEG1 | 0x18000000)
++#define GPON_EBU_END          (KSEG1 | 0x180000FF)
++#define GPON_EBU_SIZE         0x00000100
++/** address range for gpearb
++    0x1D400100--0x1D4001FF */
++#define GPON_GPEARB_BASE              (KSEG1 | 0x1D400100)
++#define GPON_GPEARB_END               (KSEG1 | 0x1D4001FF)
++#define GPON_GPEARB_SIZE              0x00000100
++/** address range for tmu
++    0x1D404000--0x1D404FFF */
++#define GPON_TMU_BASE         (KSEG1 | 0x1D404000)
++#define GPON_TMU_END          (KSEG1 | 0x1D404FFF)
++#define GPON_TMU_SIZE         0x00001000
++/** address range for iqm
++    0x1D410000--0x1D41FFFF */
++#define GPON_IQM_BASE         (KSEG1 | 0x1D410000)
++#define GPON_IQM_END          (KSEG1 | 0x1D41FFFF)
++#define GPON_IQM_SIZE         0x00010000
++/** address range for octrlg
++    0x1D420000--0x1D42FFFF */
++#define GPON_OCTRLG_BASE              (KSEG1 | 0x1D420000)
++#define GPON_OCTRLG_END               (KSEG1 | 0x1D42FFFF)
++#define GPON_OCTRLG_SIZE              0x00010000
++/** address range for octrll0
++    0x1D440000--0x1D4400FF */
++#define GPON_OCTRLL0_BASE             (KSEG1 | 0x1D440000)
++#define GPON_OCTRLL0_END              (KSEG1 | 0x1D4400FF)
++#define GPON_OCTRLL0_SIZE             0x00000100
++/** address range for octrll1
++    0x1D440100--0x1D4401FF */
++#define GPON_OCTRLL1_BASE             (KSEG1 | 0x1D440100)
++#define GPON_OCTRLL1_END              (KSEG1 | 0x1D4401FF)
++#define GPON_OCTRLL1_SIZE             0x00000100
++/** address range for octrll2
++    0x1D440200--0x1D4402FF */
++#define GPON_OCTRLL2_BASE             (KSEG1 | 0x1D440200)
++#define GPON_OCTRLL2_END              (KSEG1 | 0x1D4402FF)
++#define GPON_OCTRLL2_SIZE             0x00000100
++/** address range for octrll3
++    0x1D440300--0x1D4403FF */
++#define GPON_OCTRLL3_BASE             (KSEG1 | 0x1D440300)
++#define GPON_OCTRLL3_END              (KSEG1 | 0x1D4403FF)
++#define GPON_OCTRLL3_SIZE             0x00000100
++/** address range for octrlc
++    0x1D441000--0x1D4410FF */
++#define GPON_OCTRLC_BASE              (KSEG1 | 0x1D441000)
++#define GPON_OCTRLC_END               (KSEG1 | 0x1D4410FF)
++#define GPON_OCTRLC_SIZE              0x00000100
++/** address range for ictrlg
++    0x1D450000--0x1D45FFFF */
++#define GPON_ICTRLG_BASE              (KSEG1 | 0x1D450000)
++#define GPON_ICTRLG_END               (KSEG1 | 0x1D45FFFF)
++#define GPON_ICTRLG_SIZE              0x00010000
++/** address range for ictrll0
++    0x1D460000--0x1D4601FF */
++#define GPON_ICTRLL0_BASE             (KSEG1 | 0x1D460000)
++#define GPON_ICTRLL0_END              (KSEG1 | 0x1D4601FF)
++#define GPON_ICTRLL0_SIZE             0x00000200
++/** address range for ictrll1
++    0x1D460200--0x1D4603FF */
++#define GPON_ICTRLL1_BASE             (KSEG1 | 0x1D460200)
++#define GPON_ICTRLL1_END              (KSEG1 | 0x1D4603FF)
++#define GPON_ICTRLL1_SIZE             0x00000200
++/** address range for ictrll2
++    0x1D460400--0x1D4605FF */
++#define GPON_ICTRLL2_BASE             (KSEG1 | 0x1D460400)
++#define GPON_ICTRLL2_END              (KSEG1 | 0x1D4605FF)
++#define GPON_ICTRLL2_SIZE             0x00000200
++/** address range for ictrll3
++    0x1D460600--0x1D4607FF */
++#define GPON_ICTRLL3_BASE             (KSEG1 | 0x1D460600)
++#define GPON_ICTRLL3_END              (KSEG1 | 0x1D4607FF)
++#define GPON_ICTRLL3_SIZE             0x00000200
++/** address range for ictrlc0
++    0x1D461000--0x1D4610FF */
++#define GPON_ICTRLC0_BASE             (KSEG1 | 0x1D461000)
++#define GPON_ICTRLC0_END              (KSEG1 | 0x1D4610FF)
++#define GPON_ICTRLC0_SIZE             0x00000100
++/** address range for ictrlc1
++    0x1D461100--0x1D4611FF */
++#define GPON_ICTRLC1_BASE             (KSEG1 | 0x1D461100)
++#define GPON_ICTRLC1_END              (KSEG1 | 0x1D4611FF)
++#define GPON_ICTRLC1_SIZE             0x00000100
++/** address range for fsqm
++    0x1D500000--0x1D5FFFFF */
++#define GPON_FSQM_BASE                (KSEG1 | 0x1D500000)
++#define GPON_FSQM_END         (KSEG1 | 0x1D5FFFFF)
++#define GPON_FSQM_SIZE                0x00100000
++/** address range for pctrl
++    0x1D600000--0x1D6001FF */
++#define GPON_PCTRL_BASE               (KSEG1 | 0x1D600000)
++#define GPON_PCTRL_END                (KSEG1 | 0x1D6001FF)
++#define GPON_PCTRL_SIZE               0x00000200
++/** address range for link0
++    0x1D600200--0x1D6002FF */
++#define GPON_LINK0_BASE               (KSEG1 | 0x1D600200)
++#define GPON_LINK0_END                (KSEG1 | 0x1D6002FF)
++#define GPON_LINK0_SIZE               0x00000100
++/** address range for link1
++    0x1D600300--0x1D6003FF */
++#define GPON_LINK1_BASE               (KSEG1 | 0x1D600300)
++#define GPON_LINK1_END                (KSEG1 | 0x1D6003FF)
++#define GPON_LINK1_SIZE               0x00000100
++/** address range for link2
++    0x1D600400--0x1D6004FF */
++#define GPON_LINK2_BASE               (KSEG1 | 0x1D600400)
++#define GPON_LINK2_END                (KSEG1 | 0x1D6004FF)
++#define GPON_LINK2_SIZE               0x00000100
++/** address range for disp
++    0x1D600500--0x1D6005FF */
++#define GPON_DISP_BASE                (KSEG1 | 0x1D600500)
++#define GPON_DISP_END         (KSEG1 | 0x1D6005FF)
++#define GPON_DISP_SIZE                0x00000100
++/** address range for merge
++    0x1D600600--0x1D6006FF */
++#define GPON_MERGE_BASE               (KSEG1 | 0x1D600600)
++#define GPON_MERGE_END                (KSEG1 | 0x1D6006FF)
++#define GPON_MERGE_SIZE               0x00000100
++/** address range for tbm
++    0x1D600700--0x1D6007FF */
++#define GPON_TBM_BASE         (KSEG1 | 0x1D600700)
++#define GPON_TBM_END          (KSEG1 | 0x1D6007FF)
++#define GPON_TBM_SIZE         0x00000100
++/** address range for pe0
++    0x1D610000--0x1D61FFFF */
++#define GPON_PE0_BASE         (KSEG1 | 0x1D610000)
++#define GPON_PE0_END          (KSEG1 | 0x1D61FFFF)
++#define GPON_PE0_SIZE         0x00010000
++/** address range for pe1
++    0x1D620000--0x1D62FFFF */
++#define GPON_PE1_BASE         (KSEG1 | 0x1D620000)
++#define GPON_PE1_END          (KSEG1 | 0x1D62FFFF)
++#define GPON_PE1_SIZE         0x00010000
++/** address range for pe2
++    0x1D630000--0x1D63FFFF */
++#define GPON_PE2_BASE         (KSEG1 | 0x1D630000)
++#define GPON_PE2_END          (KSEG1 | 0x1D63FFFF)
++#define GPON_PE2_SIZE         0x00010000
++/** address range for pe3
++    0x1D640000--0x1D64FFFF */
++#define GPON_PE3_BASE         (KSEG1 | 0x1D640000)
++#define GPON_PE3_END          (KSEG1 | 0x1D64FFFF)
++#define GPON_PE3_SIZE         0x00010000
++/** address range for pe4
++    0x1D650000--0x1D65FFFF */
++#define GPON_PE4_BASE         (KSEG1 | 0x1D650000)
++#define GPON_PE4_END          (KSEG1 | 0x1D65FFFF)
++#define GPON_PE4_SIZE         0x00010000
++/** address range for pe5
++    0x1D660000--0x1D66FFFF */
++#define GPON_PE5_BASE         (KSEG1 | 0x1D660000)
++#define GPON_PE5_END          (KSEG1 | 0x1D66FFFF)
++#define GPON_PE5_SIZE         0x00010000
++/** address range for sys_gpe
++    0x1D700000--0x1D7000FF */
++#define GPON_SYS_GPE_BASE             (KSEG1 | 0x1D700000)
++#define GPON_SYS_GPE_END              (KSEG1 | 0x1D7000FF)
++#define GPON_SYS_GPE_SIZE             0x00000100
++/** address range for eim
++    0x1D800000--0x1D800FFF */
++#define GPON_EIM_BASE         (KSEG1 | 0x1D800000)
++#define GPON_EIM_END          (KSEG1 | 0x1D800FFF)
++#define GPON_EIM_SIZE         0x00001000
++/** address range for sxgmii
++    0x1D808800--0x1D8088FF */
++#define GPON_SXGMII_BASE              (KSEG1 | 0x1D808800)
++#define GPON_SXGMII_END               (KSEG1 | 0x1D8088FF)
++#define GPON_SXGMII_SIZE              0x00000100
++/** address range for sgmii
++    0x1D808C00--0x1D808CFF */
++#define GPON_SGMII_BASE               (KSEG1 | 0x1D808C00)
++#define GPON_SGMII_END                (KSEG1 | 0x1D808CFF)
++#define GPON_SGMII_SIZE               0x00000100
++/** address range for gpio0
++    0x1D810000--0x1D81007F */
++#define GPON_GPIO0_BASE               (KSEG1 | 0x1D810000)
++#define GPON_GPIO0_END                (KSEG1 | 0x1D81007F)
++#define GPON_GPIO0_SIZE               0x00000080
++/** address range for gpio2
++    0x1D810100--0x1D81017F */
++#define GPON_GPIO2_BASE               (KSEG1 | 0x1D810100)
++#define GPON_GPIO2_END                (KSEG1 | 0x1D81017F)
++#define GPON_GPIO2_SIZE               0x00000080
++/** address range for sys_eth
++    0x1DB00000--0x1DB000FF */
++#define GPON_SYS_ETH_BASE             (KSEG1 | 0x1DB00000)
++#define GPON_SYS_ETH_END              (KSEG1 | 0x1DB000FF)
++#define GPON_SYS_ETH_SIZE             0x00000100
++/** address range for padctrl0
++    0x1DB01000--0x1DB010FF */
++#define GPON_PADCTRL0_BASE            (KSEG1 | 0x1DB01000)
++#define GPON_PADCTRL0_END             (KSEG1 | 0x1DB010FF)
++#define GPON_PADCTRL0_SIZE            0x00000100
++/** address range for padctrl2
++    0x1DB02000--0x1DB020FF */
++#define GPON_PADCTRL2_BASE            (KSEG1 | 0x1DB02000)
++#define GPON_PADCTRL2_END             (KSEG1 | 0x1DB020FF)
++#define GPON_PADCTRL2_SIZE            0x00000100
++/** address range for gtc
++    0x1DC05000--0x1DC052D4 */
++#define GPON_GTC_BASE         (KSEG1 | 0x1DC05000)
++#define GPON_GTC_END          (KSEG1 | 0x1DC052D4)
++#define GPON_GTC_SIZE         0x000002D5
++/** address range for pma
++    0x1DD00000--0x1DD003FF */
++#define GPON_PMA_BASE         (KSEG1 | 0x1DD00000)
++#define GPON_PMA_END          (KSEG1 | 0x1DD003FF)
++#define GPON_PMA_SIZE         0x00000400
++/** address range for fcsic
++    0x1DD00600--0x1DD0061F */
++#define GPON_FCSIC_BASE               (KSEG1 | 0x1DD00600)
++#define GPON_FCSIC_END                (KSEG1 | 0x1DD0061F)
++#define GPON_FCSIC_SIZE               0x00000020
++/** address range for pma_int200
++    0x1DD00700--0x1DD0070F */
++#define GPON_PMA_INT200_BASE          (KSEG1 | 0x1DD00700)
++#define GPON_PMA_INT200_END           (KSEG1 | 0x1DD0070F)
++#define GPON_PMA_INT200_SIZE          0x00000010
++/** address range for pma_inttx
++    0x1DD00720--0x1DD0072F */
++#define GPON_PMA_INTTX_BASE           (KSEG1 | 0x1DD00720)
++#define GPON_PMA_INTTX_END            (KSEG1 | 0x1DD0072F)
++#define GPON_PMA_INTTX_SIZE           0x00000010
++/** address range for pma_intrx
++    0x1DD00740--0x1DD0074F */
++#define GPON_PMA_INTRX_BASE           (KSEG1 | 0x1DD00740)
++#define GPON_PMA_INTRX_END            (KSEG1 | 0x1DD0074F)
++#define GPON_PMA_INTRX_SIZE           0x00000010
++/** address range for gtc_pma
++    0x1DEFFF00--0x1DEFFFFF */
++#define GPON_GTC_PMA_BASE             (KSEG1 | 0x1DEFFF00)
++#define GPON_GTC_PMA_END              (KSEG1 | 0x1DEFFFFF)
++#define GPON_GTC_PMA_SIZE             0x00000100
++/** address range for sys
++    0x1DF00000--0x1DF000FF */
++#define GPON_SYS_BASE         (KSEG1 | 0x1DF00000)
++#define GPON_SYS_END          (KSEG1 | 0x1DF000FF)
++#define GPON_SYS_SIZE         0x00000100
++/** address range for asc1
++    0x1E100B00--0x1E100BFF */
++#define GPON_ASC1_BASE                (KSEG1 | 0x1E100B00)
++#define GPON_ASC1_END         (KSEG1 | 0x1E100BFF)
++#define GPON_ASC1_SIZE                0x00000100
++/** address range for asc0
++    0x1E100C00--0x1E100CFF */
++#define GPON_ASC0_BASE                (KSEG1 | 0x1E100C00)
++#define GPON_ASC0_END         (KSEG1 | 0x1E100CFF)
++#define GPON_ASC0_SIZE                0x00000100
++/** address range for i2c
++    0x1E200000--0x1E20FFFF */
++#define GPON_I2C_BASE         (KSEG1 | 0x1E200000)
++#define GPON_I2C_END          (KSEG1 | 0x1E20FFFF)
++#define GPON_I2C_SIZE         0x00010000
++/** address range for gpio1
++    0x1E800100--0x1E80017F */
++#define GPON_GPIO1_BASE               (KSEG1 | 0x1E800100)
++#define GPON_GPIO1_END                (KSEG1 | 0x1E80017F)
++#define GPON_GPIO1_SIZE               0x00000080
++/** address range for gpio3
++    0x1E800200--0x1E80027F */
++#define GPON_GPIO3_BASE               (KSEG1 | 0x1E800200)
++#define GPON_GPIO3_END                (KSEG1 | 0x1E80027F)
++#define GPON_GPIO3_SIZE               0x00000080
++/** address range for gpio4
++    0x1E800300--0x1E80037F */
++#define GPON_GPIO4_BASE               (KSEG1 | 0x1E800300)
++#define GPON_GPIO4_END                (KSEG1 | 0x1E80037F)
++#define GPON_GPIO4_SIZE               0x00000080
++/** address range for padctrl1
++    0x1E800400--0x1E8004FF */
++#define GPON_PADCTRL1_BASE            (KSEG1 | 0x1E800400)
++#define GPON_PADCTRL1_END             (KSEG1 | 0x1E8004FF)
++#define GPON_PADCTRL1_SIZE            0x00000100
++/** address range for padctrl3
++    0x1E800500--0x1E8005FF */
++#define GPON_PADCTRL3_BASE            (KSEG1 | 0x1E800500)
++#define GPON_PADCTRL3_END             (KSEG1 | 0x1E8005FF)
++#define GPON_PADCTRL3_SIZE            0x00000100
++/** address range for padctrl4
++    0x1E800600--0x1E8006FF */
++#define GPON_PADCTRL4_BASE            (KSEG1 | 0x1E800600)
++#define GPON_PADCTRL4_END             (KSEG1 | 0x1E8006FF)
++#define GPON_PADCTRL4_SIZE            0x00000100
++/** address range for status
++    0x1E802000--0x1E80207F */
++#define GPON_STATUS_BASE              (KSEG1 | 0x1E802000)
++#define GPON_STATUS_END               (KSEG1 | 0x1E80207F)
++#define GPON_STATUS_SIZE              0x00000080
++/** address range for dcdc_1v0
++    0x1E803000--0x1E8033FF */
++#define GPON_DCDC_1V0_BASE            (KSEG1 | 0x1E803000)
++#define GPON_DCDC_1V0_END             (KSEG1 | 0x1E8033FF)
++#define GPON_DCDC_1V0_SIZE            0x00000400
++/** address range for dcdc_ddr
++    0x1E804000--0x1E8043FF */
++#define GPON_DCDC_DDR_BASE            (KSEG1 | 0x1E804000)
++#define GPON_DCDC_DDR_END             (KSEG1 | 0x1E8043FF)
++#define GPON_DCDC_DDR_SIZE            0x00000400
++/** address range for dcdc_apd
++    0x1E805000--0x1E8053FF */
++#define GPON_DCDC_APD_BASE            (KSEG1 | 0x1E805000)
++#define GPON_DCDC_APD_END             (KSEG1 | 0x1E8053FF)
++#define GPON_DCDC_APD_SIZE            0x00000400
++/** address range for sys1
++    0x1EF00000--0x1EF000FF */
++#define GPON_SYS1_BASE                (KSEG1 | 0x1EF00000)
++#define GPON_SYS1_END         (KSEG1 | 0x1EF000FF)
++#define GPON_SYS1_SIZE                0x00000100
++/** address range for sbs0ctrl
++    0x1F080000--0x1F0801FF */
++#define GPON_SBS0CTRL_BASE            (KSEG1 | 0x1F080000)
++#define GPON_SBS0CTRL_END             (KSEG1 | 0x1F0801FF)
++#define GPON_SBS0CTRL_SIZE            0x00000200
++/** address range for sbs0red
++    0x1F080200--0x1F08027F */
++#define GPON_SBS0RED_BASE             (KSEG1 | 0x1F080200)
++#define GPON_SBS0RED_END              (KSEG1 | 0x1F08027F)
++#define GPON_SBS0RED_SIZE             0x00000080
++/** address range for sbs0ram
++    0x1F200000--0x1F32FFFF */
++#define GPON_SBS0RAM_BASE             (KSEG1 | 0x1F200000)
++#define GPON_SBS0RAM_END              (KSEG1 | 0x1F32FFFF)
++#define GPON_SBS0RAM_SIZE             0x00130000
++/** address range for ddrdb
++    0x1F701000--0x1F701FFF */
++#define GPON_DDRDB_BASE               (KSEG1 | 0x1F701000)
++#define GPON_DDRDB_END                (KSEG1 | 0x1F701FFF)
++#define GPON_DDRDB_SIZE               0x00001000
++/** address range for sbiu
++    0x1F880000--0x1F8800FF */
++#define GPON_SBIU_BASE                (KSEG1 | 0x1F880000)
++#define GPON_SBIU_END         (KSEG1 | 0x1F8800FF)
++#define GPON_SBIU_SIZE                0x00000100
++/** address range for icu0
++    0x1F880200--0x1F8802DF */
++#define GPON_ICU0_BASE                (KSEG1 | 0x1F880200)
++#define GPON_ICU0_END         (KSEG1 | 0x1F8802DF)
++#define GPON_ICU0_SIZE                0x000000E0
++/** address range for icu1
++    0x1F880300--0x1F8803DF */
++#define GPON_ICU1_BASE                (KSEG1 | 0x1F880300)
++#define GPON_ICU1_END         (KSEG1 | 0x1F8803DF)
++#define GPON_ICU1_SIZE                0x000000E0
++/** address range for wdt
++    0x1F8803F0--0x1F8803FF */
++#define GPON_WDT_BASE         (KSEG1 | 0x1F8803F0)
++#define GPON_WDT_END          (KSEG1 | 0x1F8803FF)
++#define GPON_WDT_SIZE         0x00000010
++
++/*! @} */ /* GPON_BASE */
++
++#endif /* _gpon_reg_base_h */
++
+--- /dev/null
++++ b/arch/mips/include/asm/mach-lantiq/falcon/i2c_reg.h
+@@ -0,0 +1,830 @@
++/******************************************************************************
++
++                               Copyright (c) 2010
++                            Lantiq Deutschland GmbH
++
++  For licensing information, see the file 'LICENSE' in the root folder of
++  this software module.
++
++******************************************************************************/
++
++#ifndef _i2c_reg_h
++#define _i2c_reg_h
++
++/** \addtogroup I2C_REGISTER
++   @{
++*/
++/* access macros */
++#define i2c_r32(reg) reg_r32(&i2c->reg)
++#define i2c_w32(val, reg) reg_w32(val, &i2c->reg)
++#define i2c_w32_mask(clear, set, reg) reg_w32_mask(clear, set, &i2c->reg)
++#define i2c_r32_table(reg, idx) reg_r32_table(i2c->reg, idx)
++#define i2c_w32_table(val, reg, idx) reg_w32_table(val, i2c->reg, idx)
++#define i2c_w32_table_mask(clear, set, reg, idx) reg_w32_table_mask(clear, set, i2c->reg, idx)
++#define i2c_adr_table(reg, idx) adr_table(i2c->reg, idx)
++
++
++/** I2C register structure */
++struct gpon_reg_i2c
++{
++   /** I2C Kernel Clock Control Register */
++   unsigned int clc; /* 0x00000000 */
++   /** Reserved */
++   unsigned int res_0; /* 0x00000004 */
++   /** I2C Identification Register */
++   unsigned int id; /* 0x00000008 */
++   /** Reserved */
++   unsigned int res_1; /* 0x0000000C */
++   /** I2C RUN Control Register
++       This register enables and disables the I2C peripheral. Before enabling, the I2C has to be configured properly. After enabling no configuration is possible */
++   unsigned int run_ctrl; /* 0x00000010 */
++   /** I2C End Data Control Register
++       This register is used to either turn around the data transmission direction or to address another slave without sending a stop condition. Also the software can stop the slave-transmitter by sending a not-accolade when working as master-receiver or even stop data transmission immediately when operating as master-transmitter. The writing to the bits of this control register is only effective when in MASTER RECEIVES BYTES, MASTER TRANSMITS BYTES, MASTER RESTART or SLAVE RECEIVE BYTES state */
++   unsigned int endd_ctrl; /* 0x00000014 */
++   /** I2C Fractional Divider Configuration Register
++       These register is used to program the fractional divider of the I2C bus. Before the peripheral is switched on by setting the RUN-bit the two (fixed) values for the two operating frequencies are programmed into these (configuration) registers. The Register FDIV_HIGH_CFG has the same layout as I2C_FDIV_CFG. */
++   unsigned int fdiv_cfg; /* 0x00000018 */
++   /** I2C Fractional Divider (highspeed mode) Configuration Register
++       These register is used to program the fractional divider of the I2C bus. Before the peripheral is switched on by setting the RUN-bit the two (fixed) values for the two operating frequencies are programmed into these (configuration) registers. The Register FDIV_CFG has the same layout as I2C_FDIV_CFG. */
++   unsigned int fdiv_high_cfg; /* 0x0000001C */
++   /** I2C Address Configuration Register */
++   unsigned int addr_cfg; /* 0x00000020 */
++   /** I2C Bus Status Register
++       This register gives a status information of the I2C. This additional information can be used by the software to start proper actions. */
++   unsigned int bus_stat; /* 0x00000024 */
++   /** I2C FIFO Configuration Register */
++   unsigned int fifo_cfg; /* 0x00000028 */
++   /** I2C Maximum Received Packet Size Register */
++   unsigned int mrps_ctrl; /* 0x0000002C */
++   /** I2C Received Packet Size Status Register */
++   unsigned int rps_stat; /* 0x00000030 */
++   /** I2C Transmit Packet Size Register */
++   unsigned int tps_ctrl; /* 0x00000034 */
++   /** I2C Filled FIFO Stages Status Register */
++   unsigned int ffs_stat; /* 0x00000038 */
++   /** Reserved */
++   unsigned int res_2; /* 0x0000003C */
++   /** I2C Timing Configuration Register */
++   unsigned int tim_cfg; /* 0x00000040 */
++   /** Reserved */
++   unsigned int res_3[7]; /* 0x00000044 */
++   /** I2C Error Interrupt Request Source Mask Register */
++   unsigned int err_irqsm; /* 0x00000060 */
++   /** I2C Error Interrupt Request Source Status Register */
++   unsigned int err_irqss; /* 0x00000064 */
++   /** I2C Error Interrupt Request Source Clear Register */
++   unsigned int err_irqsc; /* 0x00000068 */
++   /** Reserved */
++   unsigned int res_4; /* 0x0000006C */
++   /** I2C Protocol Interrupt Request Source Mask Register */
++   unsigned int p_irqsm; /* 0x00000070 */
++   /** I2C Protocol Interrupt Request Source Status Register */
++   unsigned int p_irqss; /* 0x00000074 */
++   /** I2C Protocol Interrupt Request Source Clear Register */
++   unsigned int p_irqsc; /* 0x00000078 */
++   /** Reserved */
++   unsigned int res_5; /* 0x0000007C */
++   /** I2C Raw Interrupt Status Register */
++   unsigned int ris; /* 0x00000080 */
++   /** I2C Interrupt Mask Control Register */
++   unsigned int imsc; /* 0x00000084 */
++   /** I2C Masked Interrupt Status Register */
++   unsigned int mis; /* 0x00000088 */
++   /** I2C Interrupt Clear Register */
++   unsigned int icr; /* 0x0000008C */
++   /** I2C Interrupt Set Register */
++   unsigned int isr; /* 0x00000090 */
++   /** I2C DMA Enable Register */
++   unsigned int dmae; /* 0x00000094 */
++   /** Reserved */
++   unsigned int res_6[8154]; /* 0x00000098 */
++   /** I2C Transmit Data Register */
++   unsigned int txd; /* 0x00008000 */
++   /** Reserved */
++   unsigned int res_7[4095]; /* 0x00008004 */
++   /** I2C Receive Data Register */
++   unsigned int rxd; /* 0x0000C000 */
++   /** Reserved */
++   unsigned int res_8[4095]; /* 0x0000C004 */
++};
++
++
++/* Fields of "I2C Kernel Clock Control Register" */
++/** Clock Divider for Optional Run Mode (AHB peripherals)
++    Max 8-bit divider value. Note: As long as the new divider value ORMC is not valid, the register returns 0x0000 00xx on reading. */
++#define I2C_CLC_ORMC_MASK 0x00FF0000
++/** field offset */
++#define I2C_CLC_ORMC_OFFSET 16
++/** Clock Divider for Normal Run Mode
++    Max 8-bit divider value. IF RMC is 0 the module is disabled. Note: As long as the new divider value RMC is not valid, the register returns 0x0000 00xx on reading. */
++#define I2C_CLC_RMC_MASK 0x0000FF00
++/** field offset */
++#define I2C_CLC_RMC_OFFSET 8
++/** Fast Shut-Off Enable Bit */
++#define I2C_CLC_FSOE 0x00000020
++/* Disable
++#define I2C_CLC_FSOE_DIS 0x00000000 */
++/** Enable */
++#define I2C_CLC_FSOE_EN 0x00000020
++/** Suspend Bit Write Enable for OCDS */
++#define I2C_CLC_SBWE 0x00000010
++/* Disable
++#define I2C_CLC_SBWE_DIS 0x00000000 */
++/** Enable */
++#define I2C_CLC_SBWE_EN 0x00000010
++/** Disable External Request Disable */
++#define I2C_CLC_EDIS 0x00000008
++/* Enable
++#define I2C_CLC_EDIS_EN 0x00000000 */
++/** Disable */
++#define I2C_CLC_EDIS_DIS 0x00000008
++/** Suspend Enable Bit for OCDS */
++#define I2C_CLC_SPEN 0x00000004
++/* Disable
++#define I2C_CLC_SPEN_DIS 0x00000000 */
++/** Enable */
++#define I2C_CLC_SPEN_EN 0x00000004
++/** Disable Status Bit
++    Bit DISS can be modified only by writing to bit DISR */
++#define I2C_CLC_DISS 0x00000002
++/* Enable
++#define I2C_CLC_DISS_EN 0x00000000 */
++/** Disable */
++#define I2C_CLC_DISS_DIS 0x00000002
++/** Disable Request Bit */
++#define I2C_CLC_DISR 0x00000001
++/* Module disable not requested
++#define I2C_CLC_DISR_OFF 0x00000000 */
++/** Module disable requested */
++#define I2C_CLC_DISR_ON 0x00000001
++
++/* Fields of "I2C Identification Register" */
++/** Module ID */
++#define I2C_ID_ID_MASK 0x0000FF00
++/** field offset */
++#define I2C_ID_ID_OFFSET 8
++/** Revision */
++#define I2C_ID_REV_MASK 0x000000FF
++/** field offset */
++#define I2C_ID_REV_OFFSET 0
++
++/* Fields of "I2C RUN Control Register" */
++/** Enabling I2C Interface
++    Only when this bit is set to zero, the configuration registers of the I2C peripheral are writable by SW. */
++#define I2C_RUN_CTRL_RUN 0x00000001
++/* Disable
++#define I2C_RUN_CTRL_RUN_DIS 0x00000000 */
++/** Enable */
++#define I2C_RUN_CTRL_RUN_EN 0x00000001
++
++/* Fields of "I2C End Data Control Register" */
++/** Set End of Transmission
++    Note:Do not write '1' to this bit when bus is free. This will cause an abort after the first byte when a new transfer is started. */
++#define I2C_ENDD_CTRL_SETEND 0x00000002
++/* No-Operation
++#define I2C_ENDD_CTRL_SETEND_NOP 0x00000000 */
++/** Master Receives Bytes */
++#define I2C_ENDD_CTRL_SETEND_MRB 0x00000002
++/** Set Restart Condition */
++#define I2C_ENDD_CTRL_SETRSC 0x00000001
++/* No-Operation
++#define I2C_ENDD_CTRL_SETRSC_NOP 0x00000000 */
++/** Master Restart */
++#define I2C_ENDD_CTRL_SETRSC_RESTART 0x00000001
++
++/* Fields of "I2C Fractional Divider Configuration Register" */
++/** Decrement Value of fractional divider */
++#define I2C_FDIV_CFG_INC_MASK 0x00FF0000
++/** field offset */
++#define I2C_FDIV_CFG_INC_OFFSET 16
++/** Increment Value of fractional divider */
++#define I2C_FDIV_CFG_DEC_MASK 0x000007FF
++/** field offset */
++#define I2C_FDIV_CFG_DEC_OFFSET 0
++
++/* Fields of "I2C Fractional Divider (highspeed mode) Configuration Register" */
++/** Decrement Value of fractional divider */
++#define I2C_FDIV_HIGH_CFG_INC_MASK 0x00FF0000
++/** field offset */
++#define I2C_FDIV_HIGH_CFG_INC_OFFSET 16
++/** Increment Value of fractional divider */
++#define I2C_FDIV_HIGH_CFG_DEC_MASK 0x000007FF
++/** field offset */
++#define I2C_FDIV_HIGH_CFG_DEC_OFFSET 0
++
++/* Fields of "I2C Address Configuration Register" */
++/** Stop on Packet End
++    If device works as receiver a not acknowledge is generated in both cases. After successful transmission of a master code (during high speed mode) SOPE is not considered till a stop condition is manually generated by SETEND. */
++#define I2C_ADDR_CFG_SOPE 0x00200000
++/* Disable
++#define I2C_ADDR_CFG_SOPE_DIS 0x00000000 */
++/** Enable */
++#define I2C_ADDR_CFG_SOPE_EN 0x00200000
++/** Stop on Not Acknowledge
++    After successful transmission of a master code (during high speed mode) SONA is not considered till a stop condition is manually generated by SETEND. */
++#define I2C_ADDR_CFG_SONA 0x00100000
++/* Disable
++#define I2C_ADDR_CFG_SONA_DIS 0x00000000 */
++/** Enable */
++#define I2C_ADDR_CFG_SONA_EN 0x00100000
++/** Master Enable */
++#define I2C_ADDR_CFG_MnS 0x00080000
++/* Disable
++#define I2C_ADDR_CFG_MnS_DIS 0x00000000 */
++/** Enable */
++#define I2C_ADDR_CFG_MnS_EN 0x00080000
++/** Master Code Enable */
++#define I2C_ADDR_CFG_MCE 0x00040000
++/* Disable
++#define I2C_ADDR_CFG_MCE_DIS 0x00000000 */
++/** Enable */
++#define I2C_ADDR_CFG_MCE_EN 0x00040000
++/** General Call Enable */
++#define I2C_ADDR_CFG_GCE 0x00020000
++/* Disable
++#define I2C_ADDR_CFG_GCE_DIS 0x00000000 */
++/** Enable */
++#define I2C_ADDR_CFG_GCE_EN 0x00020000
++/** Ten Bit Address Mode */
++#define I2C_ADDR_CFG_TBAM 0x00010000
++/* 7-bit address mode enabled.
++#define I2C_ADDR_CFG_TBAM_7bit 0x00000000 */
++/** 10-bit address mode enabled. */
++#define I2C_ADDR_CFG_TBAM_10bit 0x00010000
++/** I2C Bus device address
++    This is the address of this device. (Watch out for reserved addresses by referring to Phillips Spec V2.1) This could either be a 7bit- address (bits [7:1]) or a 10bit- address (bits [9:0]). Note:The validity of the bits are in accordance with the TBAM bit. Bit-1 (Bit-0) is the LSB of the device address. */
++#define I2C_ADDR_CFG_ADR_MASK 0x000003FF
++/** field offset */
++#define I2C_ADDR_CFG_ADR_OFFSET 0
++
++/* Fields of "I2C Bus Status Register" */
++/** Read / not Write */
++#define I2C_BUS_STAT_RNW 0x00000004
++/* Write to I2C Bus.
++#define I2C_BUS_STAT_RNW_WRITE 0x00000000 */
++/** Read from I2C Bus. */
++#define I2C_BUS_STAT_RNW_READ 0x00000004
++/** Bus Status */
++#define I2C_BUS_STAT_BS_MASK 0x00000003
++/** field offset */
++#define I2C_BUS_STAT_BS_OFFSET 0
++/** I2C Bus is free. */
++#define I2C_BUS_STAT_BS_FREE 0x00000000
++/** A start condition has been detected on the bus (bus busy). */
++#define I2C_BUS_STAT_BS_SC 0x00000001
++/** The device is working as master and has claimed the control on the I2C-bus (busy master). */
++#define I2C_BUS_STAT_BS_BM 0x00000002
++/** A remote master has accessed this device as slave. */
++#define I2C_BUS_STAT_BS_RM 0x00000003
++
++/* Fields of "I2C FIFO Configuration Register" */
++/** TX FIFO Flow Control */
++#define I2C_FIFO_CFG_TXFC 0x00020000
++/* TX FIFO not as Flow Controller
++#define I2C_FIFO_CFG_TXFC_TXNFC 0x00000000 */
++/** RX FIFO Flow Control */
++#define I2C_FIFO_CFG_RXFC 0x00010000
++/* RX FIFO not as Flow Controller
++#define I2C_FIFO_CFG_RXFC_RXNFC 0x00000000 */
++/** The reset value depends on the used character sizes of the peripheral. The maximum selectable alignment depends on the maximum number of characters per stage. */
++#define I2C_FIFO_CFG_TXFA_MASK 0x00003000
++/** field offset */
++#define I2C_FIFO_CFG_TXFA_OFFSET 12
++/** Byte aligned (character alignment) */
++#define I2C_FIFO_CFG_TXFA_TXFA0 0x00000000
++/** Half word aligned (character alignment of two characters) */
++#define I2C_FIFO_CFG_TXFA_TXFA1 0x00001000
++/** Word aligned (character alignment of four characters) */
++#define I2C_FIFO_CFG_TXFA_TXFA2 0x00002000
++/** Double word aligned (character alignment of eight */
++#define I2C_FIFO_CFG_TXFA_TXFA3 0x00003000
++/** The reset value depends on the used character sizes of the peripheral. The maximum selectable alignment depends on the maximum number of characters per stage. */
++#define I2C_FIFO_CFG_RXFA_MASK 0x00000300
++/** field offset */
++#define I2C_FIFO_CFG_RXFA_OFFSET 8
++/** Byte aligned (character alignment) */
++#define I2C_FIFO_CFG_RXFA_RXFA0 0x00000000
++/** Half word aligned (character alignment of two characters) */
++#define I2C_FIFO_CFG_RXFA_RXFA1 0x00000100
++/** Word aligned (character alignment of four characters) */
++#define I2C_FIFO_CFG_RXFA_RXFA2 0x00000200
++/** Double word aligned (character alignment of eight */
++#define I2C_FIFO_CFG_RXFA_RXFA3 0x00000300
++/** DMA controller does not support a burst size of 2 words. The reset value is the half of the FIFO size. The maximum selectable burst size is smaller than the FIFO size. */
++#define I2C_FIFO_CFG_TXBS_MASK 0x00000030
++/** field offset */
++#define I2C_FIFO_CFG_TXBS_OFFSET 4
++/** 1 word */
++#define I2C_FIFO_CFG_TXBS_TXBS0 0x00000000
++/** 2 words */
++#define I2C_FIFO_CFG_TXBS_TXBS1 0x00000010
++/** 4 words */
++#define I2C_FIFO_CFG_TXBS_TXBS2 0x00000020
++/** 8 words */
++#define I2C_FIFO_CFG_TXBS_TXBS3 0x00000030
++/** DMA controller does not support a burst size of 2 words. The reset value is the half of the FIFO size. The maximum selectable burst size is smaller than the FIFO size. */
++#define I2C_FIFO_CFG_RXBS_MASK 0x00000003
++/** field offset */
++#define I2C_FIFO_CFG_RXBS_OFFSET 0
++/** 1 word */
++#define I2C_FIFO_CFG_RXBS_RXBS0 0x00000000
++/** 2 words */
++#define I2C_FIFO_CFG_RXBS_RXBS1 0x00000001
++/** 4 words */
++#define I2C_FIFO_CFG_RXBS_RXBS2 0x00000002
++/** 8 words */
++#define I2C_FIFO_CFG_RXBS_RXBS3 0x00000003
++
++/* Fields of "I2C Maximum Received Packet Size Register" */
++/** MRPS */
++#define I2C_MRPS_CTRL_MRPS_MASK 0x00003FFF
++/** field offset */
++#define I2C_MRPS_CTRL_MRPS_OFFSET 0
++
++/* Fields of "I2C Received Packet Size Status Register" */
++/** RPS */
++#define I2C_RPS_STAT_RPS_MASK 0x00003FFF
++/** field offset */
++#define I2C_RPS_STAT_RPS_OFFSET 0
++
++/* Fields of "I2C Transmit Packet Size Register" */
++/** TPS */
++#define I2C_TPS_CTRL_TPS_MASK 0x00003FFF
++/** field offset */
++#define I2C_TPS_CTRL_TPS_OFFSET 0
++
++/* Fields of "I2C Filled FIFO Stages Status Register" */
++/** FFS */
++#define I2C_FFS_STAT_FFS_MASK 0x0000000F
++/** field offset */
++#define I2C_FFS_STAT_FFS_OFFSET 0
++
++/* Fields of "I2C Timing Configuration Register" */
++/** SDA Delay Stages for Start/Stop bit in High Speed Mode
++    The actual delay is calculated as the value of this field + 3 */
++#define I2C_TIM_CFG_HS_SDA_DEL_MASK 0x00070000
++/** field offset */
++#define I2C_TIM_CFG_HS_SDA_DEL_OFFSET 16
++/** Enable Fast Mode SCL Low period timing */
++#define I2C_TIM_CFG_FS_SCL_LOW 0x00008000
++/* Disable
++#define I2C_TIM_CFG_FS_SCL_LOW_DIS 0x00000000 */
++/** Enable */
++#define I2C_TIM_CFG_FS_SCL_LOW_EN 0x00008000
++/** SCL Delay Stages for Hold Time Start (Restart) Bit.
++    The actual delay is calculated as the value of this field + 2 */
++#define I2C_TIM_CFG_SCL_DEL_HD_STA_MASK 0x00000E00
++/** field offset */
++#define I2C_TIM_CFG_SCL_DEL_HD_STA_OFFSET 9
++/** SDA Delay Stages for Start/Stop bit in High Speed Mode
++    The actual delay is calculated as the value of this field + 3 */
++#define I2C_TIM_CFG_HS_SDA_DEL_HD_DAT_MASK 0x000001C0
++/** field offset */
++#define I2C_TIM_CFG_HS_SDA_DEL_HD_DAT_OFFSET 6
++/** SDA Delay Stages for Start/Stop bit in High Speed Mode
++    The actual delay is calculated as the value of this field + 3 */
++#define I2C_TIM_CFG_SDA_DEL_HD_DAT_MASK 0x0000003F
++/** field offset */
++#define I2C_TIM_CFG_SDA_DEL_HD_DAT_OFFSET 0
++
++/* Fields of "I2C Error Interrupt Request Source Mask Register" */
++/** Enables the corresponding error interrupt. */
++#define I2C_ERR_IRQSM_TXF_OFL 0x00000008
++/* Disable
++#define I2C_ERR_IRQSM_TXF_OFL_DIS 0x00000000 */
++/** Enable */
++#define I2C_ERR_IRQSM_TXF_OFL_EN 0x00000008
++/** Enables the corresponding error interrupt. */
++#define I2C_ERR_IRQSM_TXF_UFL 0x00000004
++/* Disable
++#define I2C_ERR_IRQSM_TXF_UFL_DIS 0x00000000 */
++/** Enable */
++#define I2C_ERR_IRQSM_TXF_UFL_EN 0x00000004
++/** Enables the corresponding error interrupt. */
++#define I2C_ERR_IRQSM_RXF_OFL 0x00000002
++/* Disable
++#define I2C_ERR_IRQSM_RXF_OFL_DIS 0x00000000 */
++/** Enable */
++#define I2C_ERR_IRQSM_RXF_OFL_EN 0x00000002
++/** Enables the corresponding error interrupt. */
++#define I2C_ERR_IRQSM_RXF_UFL 0x00000001
++/* Disable
++#define I2C_ERR_IRQSM_RXF_UFL_DIS 0x00000000 */
++/** Enable */
++#define I2C_ERR_IRQSM_RXF_UFL_EN 0x00000001
++
++/* Fields of "I2C Error Interrupt Request Source Status Register" */
++/** TXF_OFL */
++#define I2C_ERR_IRQSS_TXF_OFL 0x00000008
++/* Nothing
++#define I2C_ERR_IRQSS_TXF_OFL_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define I2C_ERR_IRQSS_TXF_OFL_INTOCC 0x00000008
++/** TXF_UFL */
++#define I2C_ERR_IRQSS_TXF_UFL 0x00000004
++/* Nothing
++#define I2C_ERR_IRQSS_TXF_UFL_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define I2C_ERR_IRQSS_TXF_UFL_INTOCC 0x00000004
++/** RXF_OFL */
++#define I2C_ERR_IRQSS_RXF_OFL 0x00000002
++/* Nothing
++#define I2C_ERR_IRQSS_RXF_OFL_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define I2C_ERR_IRQSS_RXF_OFL_INTOCC 0x00000002
++/** RXF_UFL */
++#define I2C_ERR_IRQSS_RXF_UFL 0x00000001
++/* Nothing
++#define I2C_ERR_IRQSS_RXF_UFL_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define I2C_ERR_IRQSS_RXF_UFL_INTOCC 0x00000001
++
++/* Fields of "I2C Error Interrupt Request Source Clear Register" */
++/** TXF_OFL */
++#define I2C_ERR_IRQSC_TXF_OFL 0x00000008
++/* No-Operation
++#define I2C_ERR_IRQSC_TXF_OFL_NOP 0x00000000 */
++/** Clear */
++#define I2C_ERR_IRQSC_TXF_OFL_CLR 0x00000008
++/** TXF_UFL */
++#define I2C_ERR_IRQSC_TXF_UFL 0x00000004
++/* No-Operation
++#define I2C_ERR_IRQSC_TXF_UFL_NOP 0x00000000 */
++/** Clear */
++#define I2C_ERR_IRQSC_TXF_UFL_CLR 0x00000004
++/** RXF_OFL */
++#define I2C_ERR_IRQSC_RXF_OFL 0x00000002
++/* No-Operation
++#define I2C_ERR_IRQSC_RXF_OFL_NOP 0x00000000 */
++/** Clear */
++#define I2C_ERR_IRQSC_RXF_OFL_CLR 0x00000002
++/** RXF_UFL */
++#define I2C_ERR_IRQSC_RXF_UFL 0x00000001
++/* No-Operation
++#define I2C_ERR_IRQSC_RXF_UFL_NOP 0x00000000 */
++/** Clear */
++#define I2C_ERR_IRQSC_RXF_UFL_CLR 0x00000001
++
++/* Fields of "I2C Protocol Interrupt Request Source Mask Register" */
++/** Enables the corresponding interrupt. */
++#define I2C_P_IRQSM_RX 0x00000040
++/* Disable
++#define I2C_P_IRQSM_RX_DIS 0x00000000 */
++/** Enable */
++#define I2C_P_IRQSM_RX_EN 0x00000040
++/** Enables the corresponding interrupt. */
++#define I2C_P_IRQSM_TX_END 0x00000020
++/* Disable
++#define I2C_P_IRQSM_TX_END_DIS 0x00000000 */
++/** Enable */
++#define I2C_P_IRQSM_TX_END_EN 0x00000020
++/** Enables the corresponding interrupt. */
++#define I2C_P_IRQSM_NACK 0x00000010
++/* Disable
++#define I2C_P_IRQSM_NACK_DIS 0x00000000 */
++/** Enable */
++#define I2C_P_IRQSM_NACK_EN 0x00000010
++/** Enables the corresponding interrupt. */
++#define I2C_P_IRQSM_AL 0x00000008
++/* Disable
++#define I2C_P_IRQSM_AL_DIS 0x00000000 */
++/** Enable */
++#define I2C_P_IRQSM_AL_EN 0x00000008
++/** Enables the corresponding interrupt. */
++#define I2C_P_IRQSM_MC 0x00000004
++/* Disable
++#define I2C_P_IRQSM_MC_DIS 0x00000000 */
++/** Enable */
++#define I2C_P_IRQSM_MC_EN 0x00000004
++/** Enables the corresponding interrupt. */
++#define I2C_P_IRQSM_GC 0x00000002
++/* Disable
++#define I2C_P_IRQSM_GC_DIS 0x00000000 */
++/** Enable */
++#define I2C_P_IRQSM_GC_EN 0x00000002
++/** Enables the corresponding interrupt. */
++#define I2C_P_IRQSM_AM 0x00000001
++/* Disable
++#define I2C_P_IRQSM_AM_DIS 0x00000000 */
++/** Enable */
++#define I2C_P_IRQSM_AM_EN 0x00000001
++
++/* Fields of "I2C Protocol Interrupt Request Source Status Register" */
++/** RX */
++#define I2C_P_IRQSS_RX 0x00000040
++/* Nothing
++#define I2C_P_IRQSS_RX_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define I2C_P_IRQSS_RX_INTOCC 0x00000040
++/** TX_END */
++#define I2C_P_IRQSS_TX_END 0x00000020
++/* Nothing
++#define I2C_P_IRQSS_TX_END_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define I2C_P_IRQSS_TX_END_INTOCC 0x00000020
++/** NACK */
++#define I2C_P_IRQSS_NACK 0x00000010
++/* Nothing
++#define I2C_P_IRQSS_NACK_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define I2C_P_IRQSS_NACK_INTOCC 0x00000010
++/** AL */
++#define I2C_P_IRQSS_AL 0x00000008
++/* Nothing
++#define I2C_P_IRQSS_AL_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define I2C_P_IRQSS_AL_INTOCC 0x00000008
++/** MC */
++#define I2C_P_IRQSS_MC 0x00000004
++/* Nothing
++#define I2C_P_IRQSS_MC_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define I2C_P_IRQSS_MC_INTOCC 0x00000004
++/** GC */
++#define I2C_P_IRQSS_GC 0x00000002
++/* Nothing
++#define I2C_P_IRQSS_GC_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define I2C_P_IRQSS_GC_INTOCC 0x00000002
++/** AM */
++#define I2C_P_IRQSS_AM 0x00000001
++/* Nothing
++#define I2C_P_IRQSS_AM_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define I2C_P_IRQSS_AM_INTOCC 0x00000001
++
++/* Fields of "I2C Protocol Interrupt Request Source Clear Register" */
++/** RX */
++#define I2C_P_IRQSC_RX 0x00000040
++/* No-Operation
++#define I2C_P_IRQSC_RX_NOP 0x00000000 */
++/** Clear */
++#define I2C_P_IRQSC_RX_CLR 0x00000040
++/** TX_END */
++#define I2C_P_IRQSC_TX_END 0x00000020
++/* No-Operation
++#define I2C_P_IRQSC_TX_END_NOP 0x00000000 */
++/** Clear */
++#define I2C_P_IRQSC_TX_END_CLR 0x00000020
++/** NACK */
++#define I2C_P_IRQSC_NACK 0x00000010
++/* No-Operation
++#define I2C_P_IRQSC_NACK_NOP 0x00000000 */
++/** Clear */
++#define I2C_P_IRQSC_NACK_CLR 0x00000010
++/** AL */
++#define I2C_P_IRQSC_AL 0x00000008
++/* No-Operation
++#define I2C_P_IRQSC_AL_NOP 0x00000000 */
++/** Clear */
++#define I2C_P_IRQSC_AL_CLR 0x00000008
++/** MC */
++#define I2C_P_IRQSC_MC 0x00000004
++/* No-Operation
++#define I2C_P_IRQSC_MC_NOP 0x00000000 */
++/** Clear */
++#define I2C_P_IRQSC_MC_CLR 0x00000004
++/** GC */
++#define I2C_P_IRQSC_GC 0x00000002
++/* No-Operation
++#define I2C_P_IRQSC_GC_NOP 0x00000000 */
++/** Clear */
++#define I2C_P_IRQSC_GC_CLR 0x00000002
++/** AM */
++#define I2C_P_IRQSC_AM 0x00000001
++/* No-Operation
++#define I2C_P_IRQSC_AM_NOP 0x00000000 */
++/** Clear */
++#define I2C_P_IRQSC_AM_CLR 0x00000001
++
++/* Fields of "I2C Raw Interrupt Status Register" */
++/** This is the combined interrupt bit for indication of an protocol event in the I2C kernel. */
++#define I2C_RIS_I2C_P_INT 0x00000020
++/* Nothing
++#define I2C_RIS_I2C_P_INT_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define I2C_RIS_I2C_P_INT_INTOCC 0x00000020
++/** This is the combined interrupt bit for indication of FIFO errors due to overflow and underrun. */
++#define I2C_RIS_I2C_ERR_INT 0x00000010
++/* Nothing
++#define I2C_RIS_I2C_ERR_INT_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define I2C_RIS_I2C_ERR_INT_INTOCC 0x00000010
++/** BREQ_INT */
++#define I2C_RIS_BREQ_INT 0x00000008
++/* Nothing
++#define I2C_RIS_BREQ_INT_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define I2C_RIS_BREQ_INT_INTOCC 0x00000008
++/** LBREQ_INT */
++#define I2C_RIS_LBREQ_INT 0x00000004
++/* Nothing
++#define I2C_RIS_LBREQ_INT_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define I2C_RIS_LBREQ_INT_INTOCC 0x00000004
++/** SREQ_INT */
++#define I2C_RIS_SREQ_INT 0x00000002
++/* Nothing
++#define I2C_RIS_SREQ_INT_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define I2C_RIS_SREQ_INT_INTOCC 0x00000002
++/** LSREQ_INT */
++#define I2C_RIS_LSREQ_INT 0x00000001
++/* Nothing
++#define I2C_RIS_LSREQ_INT_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define I2C_RIS_LSREQ_INT_INTOCC 0x00000001
++
++/* Fields of "I2C Interrupt Mask Control Register" */
++/** This is the combined interrupt bit for indication of an protocol event in the I2C kernel. */
++#define I2C_IMSC_I2C_P_INT 0x00000020
++/* Disable
++#define I2C_IMSC_I2C_P_INT_DIS 0x00000000 */
++/** Enable */
++#define I2C_IMSC_I2C_P_INT_EN 0x00000020
++/** This is the combined interrupt bit for indication of FIFO errors due to overflow and underrun. */
++#define I2C_IMSC_I2C_ERR_INT 0x00000010
++/* Disable
++#define I2C_IMSC_I2C_ERR_INT_DIS 0x00000000 */
++/** Enable */
++#define I2C_IMSC_I2C_ERR_INT_EN 0x00000010
++/** BREQ_INT */
++#define I2C_IMSC_BREQ_INT 0x00000008
++/* Disable
++#define I2C_IMSC_BREQ_INT_DIS 0x00000000 */
++/** Enable */
++#define I2C_IMSC_BREQ_INT_EN 0x00000008
++/** LBREQ_INT */
++#define I2C_IMSC_LBREQ_INT 0x00000004
++/* Disable
++#define I2C_IMSC_LBREQ_INT_DIS 0x00000000 */
++/** Enable */
++#define I2C_IMSC_LBREQ_INT_EN 0x00000004
++/** SREQ_INT */
++#define I2C_IMSC_SREQ_INT 0x00000002
++/* Disable
++#define I2C_IMSC_SREQ_INT_DIS 0x00000000 */
++/** Enable */
++#define I2C_IMSC_SREQ_INT_EN 0x00000002
++/** LSREQ_INT */
++#define I2C_IMSC_LSREQ_INT 0x00000001
++/* Disable
++#define I2C_IMSC_LSREQ_INT_DIS 0x00000000 */
++/** Enable */
++#define I2C_IMSC_LSREQ_INT_EN 0x00000001
++
++/* Fields of "I2C Masked Interrupt Status Register" */
++/** This is the combined interrupt bit for indication of an protocol event in the I2C kernel. */
++#define I2C_MIS_I2C_P_INT 0x00000020
++/* Nothing
++#define I2C_MIS_I2C_P_INT_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define I2C_MIS_I2C_P_INT_INTOCC 0x00000020
++/** This is the combined interrupt bit for indication of FIFO errors due to overflow and underrun. */
++#define I2C_MIS_I2C_ERR_INT 0x00000010
++/* Nothing
++#define I2C_MIS_I2C_ERR_INT_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define I2C_MIS_I2C_ERR_INT_INTOCC 0x00000010
++/** BREQ_INT */
++#define I2C_MIS_BREQ_INT 0x00000008
++/* Nothing
++#define I2C_MIS_BREQ_INT_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define I2C_MIS_BREQ_INT_INTOCC 0x00000008
++/** LBREQ_INT */
++#define I2C_MIS_LBREQ_INT 0x00000004
++/* Nothing
++#define I2C_MIS_LBREQ_INT_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define I2C_MIS_LBREQ_INT_INTOCC 0x00000004
++/** SREQ_INT */
++#define I2C_MIS_SREQ_INT 0x00000002
++/* Nothing
++#define I2C_MIS_SREQ_INT_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define I2C_MIS_SREQ_INT_INTOCC 0x00000002
++/** LSREQ_INT */
++#define I2C_MIS_LSREQ_INT 0x00000001
++/* Nothing
++#define I2C_MIS_LSREQ_INT_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define I2C_MIS_LSREQ_INT_INTOCC 0x00000001
++
++/* Fields of "I2C Interrupt Clear Register" */
++/** This is the combined interrupt bit for indication of an protocol event in the I2C kernel. */
++#define I2C_ICR_I2C_P_INT 0x00000020
++/* No-Operation
++#define I2C_ICR_I2C_P_INT_NOP 0x00000000 */
++/** Clear */
++#define I2C_ICR_I2C_P_INT_CLR 0x00000020
++/** This is the combined interrupt bit for indication of FIFO errors due to overflow and underrun. */
++#define I2C_ICR_I2C_ERR_INT 0x00000010
++/* No-Operation
++#define I2C_ICR_I2C_ERR_INT_NOP 0x00000000 */
++/** Clear */
++#define I2C_ICR_I2C_ERR_INT_CLR 0x00000010
++/** BREQ_INT */
++#define I2C_ICR_BREQ_INT 0x00000008
++/* No-Operation
++#define I2C_ICR_BREQ_INT_NOP 0x00000000 */
++/** Clear */
++#define I2C_ICR_BREQ_INT_CLR 0x00000008
++/** LBREQ_INT */
++#define I2C_ICR_LBREQ_INT 0x00000004
++/* No-Operation
++#define I2C_ICR_LBREQ_INT_NOP 0x00000000 */
++/** Clear */
++#define I2C_ICR_LBREQ_INT_CLR 0x00000004
++/** SREQ_INT */
++#define I2C_ICR_SREQ_INT 0x00000002
++/* No-Operation
++#define I2C_ICR_SREQ_INT_NOP 0x00000000 */
++/** Clear */
++#define I2C_ICR_SREQ_INT_CLR 0x00000002
++/** LSREQ_INT */
++#define I2C_ICR_LSREQ_INT 0x00000001
++/* No-Operation
++#define I2C_ICR_LSREQ_INT_NOP 0x00000000 */
++/** Clear */
++#define I2C_ICR_LSREQ_INT_CLR 0x00000001
++
++/* Fields of "I2C Interrupt Set Register" */
++/** This is the combined interrupt bit for indication of an protocol event in the I2C kernel. */
++#define I2C_ISR_I2C_P_INT 0x00000020
++/* No-Operation
++#define I2C_ISR_I2C_P_INT_NOP 0x00000000 */
++/** Set */
++#define I2C_ISR_I2C_P_INT_SET 0x00000020
++/** This is the combined interrupt bit for indication of FIFO errors due to overflow and underrun. */
++#define I2C_ISR_I2C_ERR_INT 0x00000010
++/* No-Operation
++#define I2C_ISR_I2C_ERR_INT_NOP 0x00000000 */
++/** Set */
++#define I2C_ISR_I2C_ERR_INT_SET 0x00000010
++/** BREQ_INT */
++#define I2C_ISR_BREQ_INT 0x00000008
++/* No-Operation
++#define I2C_ISR_BREQ_INT_NOP 0x00000000 */
++/** Set */
++#define I2C_ISR_BREQ_INT_SET 0x00000008
++/** LBREQ_INT */
++#define I2C_ISR_LBREQ_INT 0x00000004
++/* No-Operation
++#define I2C_ISR_LBREQ_INT_NOP 0x00000000 */
++/** Set */
++#define I2C_ISR_LBREQ_INT_SET 0x00000004
++/** SREQ_INT */
++#define I2C_ISR_SREQ_INT 0x00000002
++/* No-Operation
++#define I2C_ISR_SREQ_INT_NOP 0x00000000 */
++/** Set */
++#define I2C_ISR_SREQ_INT_SET 0x00000002
++/** LSREQ_INT */
++#define I2C_ISR_LSREQ_INT 0x00000001
++/* No-Operation
++#define I2C_ISR_LSREQ_INT_NOP 0x00000000 */
++/** Set */
++#define I2C_ISR_LSREQ_INT_SET 0x00000001
++
++/* Fields of "I2C DMA Enable Register" */
++/** BREQ_INT */
++#define I2C_DMAE_BREQ_INT 0x00000008
++/* Disable
++#define I2C_DMAE_BREQ_INT_DIS 0x00000000 */
++/** Enable */
++#define I2C_DMAE_BREQ_INT_EN 0x00000008
++/** LBREQ_INT */
++#define I2C_DMAE_LBREQ_INT 0x00000004
++/* Disable
++#define I2C_DMAE_LBREQ_INT_DIS 0x00000000 */
++/** Enable */
++#define I2C_DMAE_LBREQ_INT_EN 0x00000004
++/** SREQ_INT */
++#define I2C_DMAE_SREQ_INT 0x00000002
++/* Disable
++#define I2C_DMAE_SREQ_INT_DIS 0x00000000 */
++/** Enable */
++#define I2C_DMAE_SREQ_INT_EN 0x00000002
++/** LSREQ_INT */
++#define I2C_DMAE_LSREQ_INT 0x00000001
++/* Disable
++#define I2C_DMAE_LSREQ_INT_DIS 0x00000000 */
++/** Enable */
++#define I2C_DMAE_LSREQ_INT_EN 0x00000001
++
++/* Fields of "I2C Transmit Data Register" */
++/** Characters to be transmitted */
++#define I2C_TXD_TXD_MASK 0xFFFFFFFF
++/** field offset */
++#define I2C_TXD_TXD_OFFSET 0
++
++/* Fields of "I2C Receive Data Register" */
++/** Received characters */
++#define I2C_RXD_RXD_MASK 0xFFFFFFFF
++/** field offset */
++#define I2C_RXD_RXD_OFFSET 0
++
++/*! @} */ /* I2C_REGISTER */
++
++#endif /* _i2c_reg_h */
+--- /dev/null
++++ b/arch/mips/include/asm/mach-lantiq/falcon/icu0_reg.h
+@@ -0,0 +1,4324 @@
++/******************************************************************************
++
++                               Copyright (c) 2010
++                            Lantiq Deutschland GmbH
++
++  For licensing information, see the file 'LICENSE' in the root folder of
++  this software module.
++
++******************************************************************************/
++
++#ifndef _icu0_reg_h
++#define _icu0_reg_h
++
++/** \addtogroup ICU0_REGISTER
++   @{
++*/
++/* access macros */
++#define icu0_r32(reg) reg_r32(&icu0->reg)
++#define icu0_w32(val, reg) reg_w32(val, &icu0->reg)
++#define icu0_w32_mask(clear, set, reg) reg_w32_mask(clear, set, &icu0->reg)
++#define icu0_r32_table(reg, idx) reg_r32_table(icu0->reg, idx)
++#define icu0_w32_table(val, reg, idx) reg_w32_table(val, icu0->reg, idx)
++#define icu0_w32_table_mask(clear, set, reg, idx) reg_w32_table_mask(clear, set, icu0->reg, idx)
++#define icu0_adr_table(reg, idx) adr_table(icu0->reg, idx)
++
++
++/** ICU0 register structure */
++struct gpon_reg_icu0
++{
++   /** IM0 Interrupt Status Register
++       A read action to this register delivers the unmasked captured status of the interrupt request lines. Each bit can be cleared by a write operation. */
++   unsigned int im0_isr; /* 0x00000000 */
++   /** Reserved */
++   unsigned int res_0; /* 0x00000004 */
++   /** IM0 Interrupt Enable Register
++       This register contains the enable (or mask) bits for the interrupts. Disabled interrupts are not visible in the IM0_IOSR register and are not signalled via the interrupt line towards the controller. */
++   unsigned int im0_ier; /* 0x00000008 */
++   /** Reserved */
++   unsigned int res_1; /* 0x0000000C */
++   /** IM0 Interrupt Output Status Register
++       This register shows the currently active interrupt requests masked with the corresponding enable bits of the IM0_IER register. */
++   unsigned int im0_iosr; /* 0x00000010 */
++   /** Reserved */
++   unsigned int res_2; /* 0x00000014 */
++   /** IM0 Interrupt Request Set Register
++       A write operation directly effects the interrupts. This can be used to trigger events under software control for testing purposes. A read operation returns the unmasked interrupt events. */
++   unsigned int im0_irsr; /* 0x00000018 */
++   /** Reserved */
++   unsigned int res_3; /* 0x0000001C */
++   /** IM0 Interrupt Mode Register
++       This register shows the type of interrupt for each bit. */
++   unsigned int im0_imr; /* 0x00000020 */
++   /** Reserved */
++   unsigned int res_4; /* 0x00000024 */
++   /** IM1 Interrupt Status Register
++       A read action to this register delivers the unmasked captured status of the interrupt request lines. Each bit can be cleared by a write operation. */
++   unsigned int im1_isr; /* 0x00000028 */
++   /** Reserved */
++   unsigned int res_5; /* 0x0000002C */
++   /** IM1 Interrupt Enable Register
++       This register contains the enable (or mask) bits for the interrupts. Disabled interrupts are not visible in the IM1_IOSR register and are not signalled via the interrupt line towards the controller. */
++   unsigned int im1_ier; /* 0x00000030 */
++   /** Reserved */
++   unsigned int res_6; /* 0x00000034 */
++   /** IM1 Interrupt Output Status Register
++       This register shows the currently active interrupt requests masked with the corresponding enable bits of the IM1_IER register. */
++   unsigned int im1_iosr; /* 0x00000038 */
++   /** Reserved */
++   unsigned int res_7; /* 0x0000003C */
++   /** IM1 Interrupt Request Set Register
++       A write operation directly effects the interrupts. This can be used to trigger events under software control for testing purposes. A read operation returns the unmasked interrupt events. */
++   unsigned int im1_irsr; /* 0x00000040 */
++   /** Reserved */
++   unsigned int res_8; /* 0x00000044 */
++   /** IM1 Interrupt Mode Register
++       This register shows the type of interrupt for each bit. */
++   unsigned int im1_imr; /* 0x00000048 */
++   /** Reserved */
++   unsigned int res_9; /* 0x0000004C */
++   /** IM2 Interrupt Status Register
++       A read action to this register delivers the unmasked captured status of the interrupt request lines. Each bit can be cleared by a write operation. */
++   unsigned int im2_isr; /* 0x00000050 */
++   /** Reserved */
++   unsigned int res_10; /* 0x00000054 */
++   /** IM2 Interrupt Enable Register
++       This register contains the enable (or mask) bits for the interrupts. Disabled interrupts are not visible in the IM2_IOSR register and are not signalled via the interrupt line towards the controller. */
++   unsigned int im2_ier; /* 0x00000058 */
++   /** Reserved */
++   unsigned int res_11; /* 0x0000005C */
++   /** IM2 Interrupt Output Status Register
++       This register shows the currently active interrupt requests masked with the corresponding enable bits of the IM2_IER register. */
++   unsigned int im2_iosr; /* 0x00000060 */
++   /** Reserved */
++   unsigned int res_12; /* 0x00000064 */
++   /** IM2 Interrupt Request Set Register
++       A write operation directly effects the interrupts. This can be used to trigger events under software control for testing purposes. A read operation returns the unmasked interrupt events. */
++   unsigned int im2_irsr; /* 0x00000068 */
++   /** Reserved */
++   unsigned int res_13; /* 0x0000006C */
++   /** IM2 Interrupt Mode Register
++       This register shows the type of interrupt for each bit. */
++   unsigned int im2_imr; /* 0x00000070 */
++   /** Reserved */
++   unsigned int res_14; /* 0x00000074 */
++   /** IM3 Interrupt Status Register
++       A read action to this register delivers the unmasked captured status of the interrupt request lines. Each bit can be cleared by a write operation. */
++   unsigned int im3_isr; /* 0x00000078 */
++   /** Reserved */
++   unsigned int res_15; /* 0x0000007C */
++   /** IM3 Interrupt Enable Register
++       This register contains the enable (or mask) bits for the interrupts. Disabled interrupts are not visible in the IM3_IOSR register and are not signalled via the interrupt line towards the controller. */
++   unsigned int im3_ier; /* 0x00000080 */
++   /** Reserved */
++   unsigned int res_16; /* 0x00000084 */
++   /** IM3 Interrupt Output Status Register
++       This register shows the currently active interrupt requests masked with the corresponding enable bits of the IM3_IER register. */
++   unsigned int im3_iosr; /* 0x00000088 */
++   /** Reserved */
++   unsigned int res_17; /* 0x0000008C */
++   /** IM3 Interrupt Request Set Register
++       A write operation directly effects the interrupts. This can be used to trigger events under software control for testing purposes. A read operation returns the unmasked interrupt events. */
++   unsigned int im3_irsr; /* 0x00000090 */
++   /** Reserved */
++   unsigned int res_18; /* 0x00000094 */
++   /** IM3 Interrupt Mode Register
++       This register shows the type of interrupt for each bit. */
++   unsigned int im3_imr; /* 0x00000098 */
++   /** Reserved */
++   unsigned int res_19; /* 0x0000009C */
++   /** IM4 Interrupt Status Register
++       A read action to this register delivers the unmasked captured status of the interrupt request lines. Each bit can be cleared by a write operation. */
++   unsigned int im4_isr; /* 0x000000A0 */
++   /** Reserved */
++   unsigned int res_20; /* 0x000000A4 */
++   /** IM4 Interrupt Enable Register
++       This register contains the enable (or mask) bits for the interrupts. Disabled interrupts are not visible in the IM4_IOSR register and are not signalled via the interrupt line towards the controller. */
++   unsigned int im4_ier; /* 0x000000A8 */
++   /** Reserved */
++   unsigned int res_21; /* 0x000000AC */
++   /** IM4 Interrupt Output Status Register
++       This register shows the currently active interrupt requests masked with the corresponding enable bits of the IM4_IER register. */
++   unsigned int im4_iosr; /* 0x000000B0 */
++   /** Reserved */
++   unsigned int res_22; /* 0x000000B4 */
++   /** IM4 Interrupt Request Set Register
++       A write operation directly effects the interrupts. This can be used to trigger events under software control for testing purposes. A read operation returns the unmasked interrupt events. */
++   unsigned int im4_irsr; /* 0x000000B8 */
++   /** Reserved */
++   unsigned int res_23; /* 0x000000BC */
++   /** IM4 Interrupt Mode Register
++       This register shows the type of interrupt for each bit. */
++   unsigned int im4_imr; /* 0x000000C0 */
++   /** Reserved */
++   unsigned int res_24; /* 0x000000C4 */
++   /** ICU Interrupt Vector Register (5 bit variant)
++       Shows the leftmost pending interrupt request. If e.g. bit 14 of the IOSR register is set, 15 is reported, because the 15th interrupt request is active. */
++   unsigned int icu_ivec; /* 0x000000C8 */
++   /** Reserved */
++   unsigned int res_25; /* 0x000000CC */
++   /** ICU Interrupt Vector Register (6 bit variant)
++       Shows the leftmost pending interrupt request. If e.g. bit 14 of the IOSR register is set, 15 is reported, because the 15th interrupt request is active. */
++   unsigned int icu_ivec_6; /* 0x000000D0 */
++   /** Reserved */
++   unsigned int res_26[3]; /* 0x000000D4 */
++};
++
++
++/* Fields of "IM0 Interrupt Status Register" */
++/** PCM Transmit Crash Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM0_ISR_PCM_HW2_CRASH 0x80000000
++/* Nothing
++#define ICU0_IM0_ISR_PCM_HW2_CRASH_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM0_ISR_PCM_HW2_CRASH_INTACK 0x80000000
++/** Read: Interrupt occurred. */
++#define ICU0_IM0_ISR_PCM_HW2_CRASH_INTOCC 0x80000000
++/** PCM Transmit Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM0_ISR_PCM_TX 0x40000000
++/* Nothing
++#define ICU0_IM0_ISR_PCM_TX_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM0_ISR_PCM_TX_INTACK 0x40000000
++/** Read: Interrupt occurred. */
++#define ICU0_IM0_ISR_PCM_TX_INTOCC 0x40000000
++/** PCM Receive Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM0_ISR_PCM_RX 0x20000000
++/* Nothing
++#define ICU0_IM0_ISR_PCM_RX_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM0_ISR_PCM_RX_INTACK 0x20000000
++/** Read: Interrupt occurred. */
++#define ICU0_IM0_ISR_PCM_RX_INTOCC 0x20000000
++/** Secure Hash Algorithm Interrupt
++    This bit is a direct interrupt. */
++#define ICU0_IM0_ISR_SHA1_HASH 0x10000000
++/* Nothing
++#define ICU0_IM0_ISR_SHA1_HASH_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM0_ISR_SHA1_HASH_INTACK 0x10000000
++/** Read: Interrupt occurred. */
++#define ICU0_IM0_ISR_SHA1_HASH_INTOCC 0x10000000
++/** Advanced Encryption Standard Interrupt
++    This bit is a direct interrupt. */
++#define ICU0_IM0_ISR_AES_AES 0x08000000
++/* Nothing
++#define ICU0_IM0_ISR_AES_AES_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM0_ISR_AES_AES_INTACK 0x08000000
++/** Read: Interrupt occurred. */
++#define ICU0_IM0_ISR_AES_AES_INTOCC 0x08000000
++/** SSC Frame Interrupt
++    This bit is a direct interrupt. */
++#define ICU0_IM0_ISR_SSC0_F 0x00020000
++/* Nothing
++#define ICU0_IM0_ISR_SSC0_F_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM0_ISR_SSC0_F_INTACK 0x00020000
++/** Read: Interrupt occurred. */
++#define ICU0_IM0_ISR_SSC0_F_INTOCC 0x00020000
++/** SSC Error Interrupt
++    This bit is a direct interrupt. */
++#define ICU0_IM0_ISR_SSC0_E 0x00010000
++/* Nothing
++#define ICU0_IM0_ISR_SSC0_E_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM0_ISR_SSC0_E_INTACK 0x00010000
++/** Read: Interrupt occurred. */
++#define ICU0_IM0_ISR_SSC0_E_INTOCC 0x00010000
++/** SSC Receive Interrupt
++    This bit is a direct interrupt. */
++#define ICU0_IM0_ISR_SSC0_R 0x00008000
++/* Nothing
++#define ICU0_IM0_ISR_SSC0_R_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM0_ISR_SSC0_R_INTACK 0x00008000
++/** Read: Interrupt occurred. */
++#define ICU0_IM0_ISR_SSC0_R_INTOCC 0x00008000
++/** SSC Transmit Interrupt
++    This bit is a direct interrupt. */
++#define ICU0_IM0_ISR_SSC0_T 0x00004000
++/* Nothing
++#define ICU0_IM0_ISR_SSC0_T_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM0_ISR_SSC0_T_INTACK 0x00004000
++/** Read: Interrupt occurred. */
++#define ICU0_IM0_ISR_SSC0_T_INTOCC 0x00004000
++/** I2C Peripheral Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM0_ISR_I2C_I2C_P_INT 0x00002000
++/* Nothing
++#define ICU0_IM0_ISR_I2C_I2C_P_INT_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM0_ISR_I2C_I2C_P_INT_INTACK 0x00002000
++/** Read: Interrupt occurred. */
++#define ICU0_IM0_ISR_I2C_I2C_P_INT_INTOCC 0x00002000
++/** I2C Error Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM0_ISR_I2C_I2C_ERR_INT 0x00001000
++/* Nothing
++#define ICU0_IM0_ISR_I2C_I2C_ERR_INT_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM0_ISR_I2C_I2C_ERR_INT_INTACK 0x00001000
++/** Read: Interrupt occurred. */
++#define ICU0_IM0_ISR_I2C_I2C_ERR_INT_INTOCC 0x00001000
++/** I2C Burst Data Transfer Request
++    This bit is an indirect interrupt. */
++#define ICU0_IM0_ISR_I2C_BREQ_INT 0x00000800
++/* Nothing
++#define ICU0_IM0_ISR_I2C_BREQ_INT_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM0_ISR_I2C_BREQ_INT_INTACK 0x00000800
++/** Read: Interrupt occurred. */
++#define ICU0_IM0_ISR_I2C_BREQ_INT_INTOCC 0x00000800
++/** I2C Last Burst Data Transfer Request
++    This bit is an indirect interrupt. */
++#define ICU0_IM0_ISR_I2C_LBREQ_INT 0x00000400
++/* Nothing
++#define ICU0_IM0_ISR_I2C_LBREQ_INT_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM0_ISR_I2C_LBREQ_INT_INTACK 0x00000400
++/** Read: Interrupt occurred. */
++#define ICU0_IM0_ISR_I2C_LBREQ_INT_INTOCC 0x00000400
++/** I2C Single Data Transfer Request
++    This bit is an indirect interrupt. */
++#define ICU0_IM0_ISR_I2C_SREQ_INT 0x00000200
++/* Nothing
++#define ICU0_IM0_ISR_I2C_SREQ_INT_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM0_ISR_I2C_SREQ_INT_INTACK 0x00000200
++/** Read: Interrupt occurred. */
++#define ICU0_IM0_ISR_I2C_SREQ_INT_INTOCC 0x00000200
++/** I2C Last Single Data Transfer Request
++    This bit is an indirect interrupt. */
++#define ICU0_IM0_ISR_I2C_LSREQ_INT 0x00000100
++/* Nothing
++#define ICU0_IM0_ISR_I2C_LSREQ_INT_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM0_ISR_I2C_LSREQ_INT_INTACK 0x00000100
++/** Read: Interrupt occurred. */
++#define ICU0_IM0_ISR_I2C_LSREQ_INT_INTOCC 0x00000100
++/** HOST IF Mailbox1 Transmit Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM0_ISR_HOST_MB1_TIR 0x00000010
++/* Nothing
++#define ICU0_IM0_ISR_HOST_MB1_TIR_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM0_ISR_HOST_MB1_TIR_INTACK 0x00000010
++/** Read: Interrupt occurred. */
++#define ICU0_IM0_ISR_HOST_MB1_TIR_INTOCC 0x00000010
++/** HOST IF Mailbox1 Receive Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM0_ISR_HOST_MB1_RIR 0x00000008
++/* Nothing
++#define ICU0_IM0_ISR_HOST_MB1_RIR_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM0_ISR_HOST_MB1_RIR_INTACK 0x00000008
++/** Read: Interrupt occurred. */
++#define ICU0_IM0_ISR_HOST_MB1_RIR_INTOCC 0x00000008
++/** HOST IF Mailbox0 Transmit Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM0_ISR_HOST_MB0_TIR 0x00000004
++/* Nothing
++#define ICU0_IM0_ISR_HOST_MB0_TIR_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM0_ISR_HOST_MB0_TIR_INTACK 0x00000004
++/** Read: Interrupt occurred. */
++#define ICU0_IM0_ISR_HOST_MB0_TIR_INTOCC 0x00000004
++/** HOST IF Mailbox0 Receive Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM0_ISR_HOST_MB0_RIR 0x00000002
++/* Nothing
++#define ICU0_IM0_ISR_HOST_MB0_RIR_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM0_ISR_HOST_MB0_RIR_INTACK 0x00000002
++/** Read: Interrupt occurred. */
++#define ICU0_IM0_ISR_HOST_MB0_RIR_INTOCC 0x00000002
++/** HOST IF Event Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM0_ISR_HOST_EIR 0x00000001
++/* Nothing
++#define ICU0_IM0_ISR_HOST_EIR_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM0_ISR_HOST_EIR_INTACK 0x00000001
++/** Read: Interrupt occurred. */
++#define ICU0_IM0_ISR_HOST_EIR_INTOCC 0x00000001
++
++/* Fields of "IM0 Interrupt Enable Register" */
++/** PCM Transmit Crash Interrupt
++    Interrupt enable bit for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IER_PCM_HW2_CRASH 0x80000000
++/* Disable
++#define ICU0_IM0_IER_PCM_HW2_CRASH_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM0_IER_PCM_HW2_CRASH_EN 0x80000000
++/** PCM Transmit Interrupt
++    Interrupt enable bit for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IER_PCM_TX 0x40000000
++/* Disable
++#define ICU0_IM0_IER_PCM_TX_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM0_IER_PCM_TX_EN 0x40000000
++/** PCM Receive Interrupt
++    Interrupt enable bit for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IER_PCM_RX 0x20000000
++/* Disable
++#define ICU0_IM0_IER_PCM_RX_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM0_IER_PCM_RX_EN 0x20000000
++/** Secure Hash Algorithm Interrupt
++    Interrupt enable bit for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IER_SHA1_HASH 0x10000000
++/* Disable
++#define ICU0_IM0_IER_SHA1_HASH_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM0_IER_SHA1_HASH_EN 0x10000000
++/** Advanced Encryption Standard Interrupt
++    Interrupt enable bit for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IER_AES_AES 0x08000000
++/* Disable
++#define ICU0_IM0_IER_AES_AES_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM0_IER_AES_AES_EN 0x08000000
++/** SSC Frame Interrupt
++    Interrupt enable bit for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IER_SSC0_F 0x00020000
++/* Disable
++#define ICU0_IM0_IER_SSC0_F_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM0_IER_SSC0_F_EN 0x00020000
++/** SSC Error Interrupt
++    Interrupt enable bit for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IER_SSC0_E 0x00010000
++/* Disable
++#define ICU0_IM0_IER_SSC0_E_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM0_IER_SSC0_E_EN 0x00010000
++/** SSC Receive Interrupt
++    Interrupt enable bit for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IER_SSC0_R 0x00008000
++/* Disable
++#define ICU0_IM0_IER_SSC0_R_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM0_IER_SSC0_R_EN 0x00008000
++/** SSC Transmit Interrupt
++    Interrupt enable bit for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IER_SSC0_T 0x00004000
++/* Disable
++#define ICU0_IM0_IER_SSC0_T_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM0_IER_SSC0_T_EN 0x00004000
++/** I2C Peripheral Interrupt
++    Interrupt enable bit for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IER_I2C_I2C_P_INT 0x00002000
++/* Disable
++#define ICU0_IM0_IER_I2C_I2C_P_INT_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM0_IER_I2C_I2C_P_INT_EN 0x00002000
++/** I2C Error Interrupt
++    Interrupt enable bit for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IER_I2C_I2C_ERR_INT 0x00001000
++/* Disable
++#define ICU0_IM0_IER_I2C_I2C_ERR_INT_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM0_IER_I2C_I2C_ERR_INT_EN 0x00001000
++/** I2C Burst Data Transfer Request
++    Interrupt enable bit for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IER_I2C_BREQ_INT 0x00000800
++/* Disable
++#define ICU0_IM0_IER_I2C_BREQ_INT_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM0_IER_I2C_BREQ_INT_EN 0x00000800
++/** I2C Last Burst Data Transfer Request
++    Interrupt enable bit for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IER_I2C_LBREQ_INT 0x00000400
++/* Disable
++#define ICU0_IM0_IER_I2C_LBREQ_INT_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM0_IER_I2C_LBREQ_INT_EN 0x00000400
++/** I2C Single Data Transfer Request
++    Interrupt enable bit for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IER_I2C_SREQ_INT 0x00000200
++/* Disable
++#define ICU0_IM0_IER_I2C_SREQ_INT_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM0_IER_I2C_SREQ_INT_EN 0x00000200
++/** I2C Last Single Data Transfer Request
++    Interrupt enable bit for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IER_I2C_LSREQ_INT 0x00000100
++/* Disable
++#define ICU0_IM0_IER_I2C_LSREQ_INT_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM0_IER_I2C_LSREQ_INT_EN 0x00000100
++/** HOST IF Mailbox1 Transmit Interrupt
++    Interrupt enable bit for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IER_HOST_MB1_TIR 0x00000010
++/* Disable
++#define ICU0_IM0_IER_HOST_MB1_TIR_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM0_IER_HOST_MB1_TIR_EN 0x00000010
++/** HOST IF Mailbox1 Receive Interrupt
++    Interrupt enable bit for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IER_HOST_MB1_RIR 0x00000008
++/* Disable
++#define ICU0_IM0_IER_HOST_MB1_RIR_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM0_IER_HOST_MB1_RIR_EN 0x00000008
++/** HOST IF Mailbox0 Transmit Interrupt
++    Interrupt enable bit for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IER_HOST_MB0_TIR 0x00000004
++/* Disable
++#define ICU0_IM0_IER_HOST_MB0_TIR_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM0_IER_HOST_MB0_TIR_EN 0x00000004
++/** HOST IF Mailbox0 Receive Interrupt
++    Interrupt enable bit for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IER_HOST_MB0_RIR 0x00000002
++/* Disable
++#define ICU0_IM0_IER_HOST_MB0_RIR_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM0_IER_HOST_MB0_RIR_EN 0x00000002
++/** HOST IF Event Interrupt
++    Interrupt enable bit for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IER_HOST_EIR 0x00000001
++/* Disable
++#define ICU0_IM0_IER_HOST_EIR_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM0_IER_HOST_EIR_EN 0x00000001
++
++/* Fields of "IM0 Interrupt Output Status Register" */
++/** PCM Transmit Crash Interrupt
++    Masked interrupt bit for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IOSR_PCM_HW2_CRASH 0x80000000
++/* Nothing
++#define ICU0_IM0_IOSR_PCM_HW2_CRASH_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM0_IOSR_PCM_HW2_CRASH_INTOCC 0x80000000
++/** PCM Transmit Interrupt
++    Masked interrupt bit for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IOSR_PCM_TX 0x40000000
++/* Nothing
++#define ICU0_IM0_IOSR_PCM_TX_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM0_IOSR_PCM_TX_INTOCC 0x40000000
++/** PCM Receive Interrupt
++    Masked interrupt bit for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IOSR_PCM_RX 0x20000000
++/* Nothing
++#define ICU0_IM0_IOSR_PCM_RX_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM0_IOSR_PCM_RX_INTOCC 0x20000000
++/** Secure Hash Algorithm Interrupt
++    Masked interrupt bit for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IOSR_SHA1_HASH 0x10000000
++/* Nothing
++#define ICU0_IM0_IOSR_SHA1_HASH_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM0_IOSR_SHA1_HASH_INTOCC 0x10000000
++/** Advanced Encryption Standard Interrupt
++    Masked interrupt bit for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IOSR_AES_AES 0x08000000
++/* Nothing
++#define ICU0_IM0_IOSR_AES_AES_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM0_IOSR_AES_AES_INTOCC 0x08000000
++/** SSC Frame Interrupt
++    Masked interrupt bit for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IOSR_SSC0_F 0x00020000
++/* Nothing
++#define ICU0_IM0_IOSR_SSC0_F_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM0_IOSR_SSC0_F_INTOCC 0x00020000
++/** SSC Error Interrupt
++    Masked interrupt bit for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IOSR_SSC0_E 0x00010000
++/* Nothing
++#define ICU0_IM0_IOSR_SSC0_E_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM0_IOSR_SSC0_E_INTOCC 0x00010000
++/** SSC Receive Interrupt
++    Masked interrupt bit for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IOSR_SSC0_R 0x00008000
++/* Nothing
++#define ICU0_IM0_IOSR_SSC0_R_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM0_IOSR_SSC0_R_INTOCC 0x00008000
++/** SSC Transmit Interrupt
++    Masked interrupt bit for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IOSR_SSC0_T 0x00004000
++/* Nothing
++#define ICU0_IM0_IOSR_SSC0_T_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM0_IOSR_SSC0_T_INTOCC 0x00004000
++/** I2C Peripheral Interrupt
++    Masked interrupt bit for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IOSR_I2C_I2C_P_INT 0x00002000
++/* Nothing
++#define ICU0_IM0_IOSR_I2C_I2C_P_INT_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM0_IOSR_I2C_I2C_P_INT_INTOCC 0x00002000
++/** I2C Error Interrupt
++    Masked interrupt bit for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IOSR_I2C_I2C_ERR_INT 0x00001000
++/* Nothing
++#define ICU0_IM0_IOSR_I2C_I2C_ERR_INT_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM0_IOSR_I2C_I2C_ERR_INT_INTOCC 0x00001000
++/** I2C Burst Data Transfer Request
++    Masked interrupt bit for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IOSR_I2C_BREQ_INT 0x00000800
++/* Nothing
++#define ICU0_IM0_IOSR_I2C_BREQ_INT_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM0_IOSR_I2C_BREQ_INT_INTOCC 0x00000800
++/** I2C Last Burst Data Transfer Request
++    Masked interrupt bit for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IOSR_I2C_LBREQ_INT 0x00000400
++/* Nothing
++#define ICU0_IM0_IOSR_I2C_LBREQ_INT_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM0_IOSR_I2C_LBREQ_INT_INTOCC 0x00000400
++/** I2C Single Data Transfer Request
++    Masked interrupt bit for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IOSR_I2C_SREQ_INT 0x00000200
++/* Nothing
++#define ICU0_IM0_IOSR_I2C_SREQ_INT_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM0_IOSR_I2C_SREQ_INT_INTOCC 0x00000200
++/** I2C Last Single Data Transfer Request
++    Masked interrupt bit for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IOSR_I2C_LSREQ_INT 0x00000100
++/* Nothing
++#define ICU0_IM0_IOSR_I2C_LSREQ_INT_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM0_IOSR_I2C_LSREQ_INT_INTOCC 0x00000100
++/** HOST IF Mailbox1 Transmit Interrupt
++    Masked interrupt bit for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IOSR_HOST_MB1_TIR 0x00000010
++/* Nothing
++#define ICU0_IM0_IOSR_HOST_MB1_TIR_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM0_IOSR_HOST_MB1_TIR_INTOCC 0x00000010
++/** HOST IF Mailbox1 Receive Interrupt
++    Masked interrupt bit for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IOSR_HOST_MB1_RIR 0x00000008
++/* Nothing
++#define ICU0_IM0_IOSR_HOST_MB1_RIR_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM0_IOSR_HOST_MB1_RIR_INTOCC 0x00000008
++/** HOST IF Mailbox0 Transmit Interrupt
++    Masked interrupt bit for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IOSR_HOST_MB0_TIR 0x00000004
++/* Nothing
++#define ICU0_IM0_IOSR_HOST_MB0_TIR_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM0_IOSR_HOST_MB0_TIR_INTOCC 0x00000004
++/** HOST IF Mailbox0 Receive Interrupt
++    Masked interrupt bit for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IOSR_HOST_MB0_RIR 0x00000002
++/* Nothing
++#define ICU0_IM0_IOSR_HOST_MB0_RIR_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM0_IOSR_HOST_MB0_RIR_INTOCC 0x00000002
++/** HOST IF Event Interrupt
++    Masked interrupt bit for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IOSR_HOST_EIR 0x00000001
++/* Nothing
++#define ICU0_IM0_IOSR_HOST_EIR_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM0_IOSR_HOST_EIR_INTOCC 0x00000001
++
++/* Fields of "IM0 Interrupt Request Set Register" */
++/** PCM Transmit Crash Interrupt
++    Software control for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IRSR_PCM_HW2_CRASH 0x80000000
++/** PCM Transmit Interrupt
++    Software control for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IRSR_PCM_TX 0x40000000
++/** PCM Receive Interrupt
++    Software control for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IRSR_PCM_RX 0x20000000
++/** Secure Hash Algorithm Interrupt
++    Software control for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IRSR_SHA1_HASH 0x10000000
++/** Advanced Encryption Standard Interrupt
++    Software control for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IRSR_AES_AES 0x08000000
++/** SSC Frame Interrupt
++    Software control for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IRSR_SSC0_F 0x00020000
++/** SSC Error Interrupt
++    Software control for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IRSR_SSC0_E 0x00010000
++/** SSC Receive Interrupt
++    Software control for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IRSR_SSC0_R 0x00008000
++/** SSC Transmit Interrupt
++    Software control for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IRSR_SSC0_T 0x00004000
++/** I2C Peripheral Interrupt
++    Software control for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IRSR_I2C_I2C_P_INT 0x00002000
++/** I2C Error Interrupt
++    Software control for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IRSR_I2C_I2C_ERR_INT 0x00001000
++/** I2C Burst Data Transfer Request
++    Software control for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IRSR_I2C_BREQ_INT 0x00000800
++/** I2C Last Burst Data Transfer Request
++    Software control for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IRSR_I2C_LBREQ_INT 0x00000400
++/** I2C Single Data Transfer Request
++    Software control for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IRSR_I2C_SREQ_INT 0x00000200
++/** I2C Last Single Data Transfer Request
++    Software control for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IRSR_I2C_LSREQ_INT 0x00000100
++/** HOST IF Mailbox1 Transmit Interrupt
++    Software control for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IRSR_HOST_MB1_TIR 0x00000010
++/** HOST IF Mailbox1 Receive Interrupt
++    Software control for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IRSR_HOST_MB1_RIR 0x00000008
++/** HOST IF Mailbox0 Transmit Interrupt
++    Software control for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IRSR_HOST_MB0_TIR 0x00000004
++/** HOST IF Mailbox0 Receive Interrupt
++    Software control for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IRSR_HOST_MB0_RIR 0x00000002
++/** HOST IF Event Interrupt
++    Software control for the corresponding bit in the IM0_ISR register. */
++#define ICU0_IM0_IRSR_HOST_EIR 0x00000001
++
++/* Fields of "IM0 Interrupt Mode Register" */
++/** PCM Transmit Crash Interrupt
++    Type of interrupt. */
++#define ICU0_IM0_IMR_PCM_HW2_CRASH 0x80000000
++/* Indirect Interrupt.
++#define ICU0_IM0_IMR_PCM_HW2_CRASH_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM0_IMR_PCM_HW2_CRASH_DIR 0x80000000
++/** PCM Transmit Interrupt
++    Type of interrupt. */
++#define ICU0_IM0_IMR_PCM_TX 0x40000000
++/* Indirect Interrupt.
++#define ICU0_IM0_IMR_PCM_TX_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM0_IMR_PCM_TX_DIR 0x40000000
++/** PCM Receive Interrupt
++    Type of interrupt. */
++#define ICU0_IM0_IMR_PCM_RX 0x20000000
++/* Indirect Interrupt.
++#define ICU0_IM0_IMR_PCM_RX_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM0_IMR_PCM_RX_DIR 0x20000000
++/** Secure Hash Algorithm Interrupt
++    Type of interrupt. */
++#define ICU0_IM0_IMR_SHA1_HASH 0x10000000
++/* Indirect Interrupt.
++#define ICU0_IM0_IMR_SHA1_HASH_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM0_IMR_SHA1_HASH_DIR 0x10000000
++/** Advanced Encryption Standard Interrupt
++    Type of interrupt. */
++#define ICU0_IM0_IMR_AES_AES 0x08000000
++/* Indirect Interrupt.
++#define ICU0_IM0_IMR_AES_AES_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM0_IMR_AES_AES_DIR 0x08000000
++/** SSC Frame Interrupt
++    Type of interrupt. */
++#define ICU0_IM0_IMR_SSC0_F 0x00020000
++/* Indirect Interrupt.
++#define ICU0_IM0_IMR_SSC0_F_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM0_IMR_SSC0_F_DIR 0x00020000
++/** SSC Error Interrupt
++    Type of interrupt. */
++#define ICU0_IM0_IMR_SSC0_E 0x00010000
++/* Indirect Interrupt.
++#define ICU0_IM0_IMR_SSC0_E_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM0_IMR_SSC0_E_DIR 0x00010000
++/** SSC Receive Interrupt
++    Type of interrupt. */
++#define ICU0_IM0_IMR_SSC0_R 0x00008000
++/* Indirect Interrupt.
++#define ICU0_IM0_IMR_SSC0_R_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM0_IMR_SSC0_R_DIR 0x00008000
++/** SSC Transmit Interrupt
++    Type of interrupt. */
++#define ICU0_IM0_IMR_SSC0_T 0x00004000
++/* Indirect Interrupt.
++#define ICU0_IM0_IMR_SSC0_T_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM0_IMR_SSC0_T_DIR 0x00004000
++/** I2C Peripheral Interrupt
++    Type of interrupt. */
++#define ICU0_IM0_IMR_I2C_I2C_P_INT 0x00002000
++/* Indirect Interrupt.
++#define ICU0_IM0_IMR_I2C_I2C_P_INT_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM0_IMR_I2C_I2C_P_INT_DIR 0x00002000
++/** I2C Error Interrupt
++    Type of interrupt. */
++#define ICU0_IM0_IMR_I2C_I2C_ERR_INT 0x00001000
++/* Indirect Interrupt.
++#define ICU0_IM0_IMR_I2C_I2C_ERR_INT_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM0_IMR_I2C_I2C_ERR_INT_DIR 0x00001000
++/** I2C Burst Data Transfer Request
++    Type of interrupt. */
++#define ICU0_IM0_IMR_I2C_BREQ_INT 0x00000800
++/* Indirect Interrupt.
++#define ICU0_IM0_IMR_I2C_BREQ_INT_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM0_IMR_I2C_BREQ_INT_DIR 0x00000800
++/** I2C Last Burst Data Transfer Request
++    Type of interrupt. */
++#define ICU0_IM0_IMR_I2C_LBREQ_INT 0x00000400
++/* Indirect Interrupt.
++#define ICU0_IM0_IMR_I2C_LBREQ_INT_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM0_IMR_I2C_LBREQ_INT_DIR 0x00000400
++/** I2C Single Data Transfer Request
++    Type of interrupt. */
++#define ICU0_IM0_IMR_I2C_SREQ_INT 0x00000200
++/* Indirect Interrupt.
++#define ICU0_IM0_IMR_I2C_SREQ_INT_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM0_IMR_I2C_SREQ_INT_DIR 0x00000200
++/** I2C Last Single Data Transfer Request
++    Type of interrupt. */
++#define ICU0_IM0_IMR_I2C_LSREQ_INT 0x00000100
++/* Indirect Interrupt.
++#define ICU0_IM0_IMR_I2C_LSREQ_INT_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM0_IMR_I2C_LSREQ_INT_DIR 0x00000100
++/** HOST IF Mailbox1 Transmit Interrupt
++    Type of interrupt. */
++#define ICU0_IM0_IMR_HOST_MB1_TIR 0x00000010
++/* Indirect Interrupt.
++#define ICU0_IM0_IMR_HOST_MB1_TIR_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM0_IMR_HOST_MB1_TIR_DIR 0x00000010
++/** HOST IF Mailbox1 Receive Interrupt
++    Type of interrupt. */
++#define ICU0_IM0_IMR_HOST_MB1_RIR 0x00000008
++/* Indirect Interrupt.
++#define ICU0_IM0_IMR_HOST_MB1_RIR_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM0_IMR_HOST_MB1_RIR_DIR 0x00000008
++/** HOST IF Mailbox0 Transmit Interrupt
++    Type of interrupt. */
++#define ICU0_IM0_IMR_HOST_MB0_TIR 0x00000004
++/* Indirect Interrupt.
++#define ICU0_IM0_IMR_HOST_MB0_TIR_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM0_IMR_HOST_MB0_TIR_DIR 0x00000004
++/** HOST IF Mailbox0 Receive Interrupt
++    Type of interrupt. */
++#define ICU0_IM0_IMR_HOST_MB0_RIR 0x00000002
++/* Indirect Interrupt.
++#define ICU0_IM0_IMR_HOST_MB0_RIR_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM0_IMR_HOST_MB0_RIR_DIR 0x00000002
++/** HOST IF Event Interrupt
++    Type of interrupt. */
++#define ICU0_IM0_IMR_HOST_EIR 0x00000001
++/* Indirect Interrupt.
++#define ICU0_IM0_IMR_HOST_EIR_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM0_IMR_HOST_EIR_DIR 0x00000001
++
++/* Fields of "IM1 Interrupt Status Register" */
++/** Crossbar Error Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM1_ISR_XBAR_ERROR 0x80000000
++/* Nothing
++#define ICU0_IM1_ISR_XBAR_ERROR_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM1_ISR_XBAR_ERROR_INTACK 0x80000000
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_ISR_XBAR_ERROR_INTOCC 0x80000000
++/** DDR Controller Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM1_ISR_DDR 0x40000000
++/* Nothing
++#define ICU0_IM1_ISR_DDR_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM1_ISR_DDR_INTACK 0x40000000
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_ISR_DDR_INTOCC 0x40000000
++/** FPI Bus Control Unit Interrupt
++    This bit is a direct interrupt. */
++#define ICU0_IM1_ISR_BCU0 0x20000000
++/* Nothing
++#define ICU0_IM1_ISR_BCU0_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM1_ISR_BCU0_INTACK 0x20000000
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_ISR_BCU0_INTOCC 0x20000000
++/** SBIU interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM1_ISR_SBIU0 0x08000000
++/* Nothing
++#define ICU0_IM1_ISR_SBIU0_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM1_ISR_SBIU0_INTACK 0x08000000
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_ISR_SBIU0_INTOCC 0x08000000
++/** Watchdog Prewarning Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM1_ISR_WDT_PIR 0x02000000
++/* Nothing
++#define ICU0_IM1_ISR_WDT_PIR_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM1_ISR_WDT_PIR_INTACK 0x02000000
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_ISR_WDT_PIR_INTOCC 0x02000000
++/** Watchdog Access Error Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM1_ISR_WDT_AEIR 0x01000000
++/* Nothing
++#define ICU0_IM1_ISR_WDT_AEIR_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM1_ISR_WDT_AEIR_INTACK 0x01000000
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_ISR_WDT_AEIR_INTOCC 0x01000000
++/** SYS GPE Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM1_ISR_SYS_GPE 0x00200000
++/* Nothing
++#define ICU0_IM1_ISR_SYS_GPE_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM1_ISR_SYS_GPE_INTACK 0x00200000
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_ISR_SYS_GPE_INTOCC 0x00200000
++/** SYS1 Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM1_ISR_SYS1 0x00100000
++/* Nothing
++#define ICU0_IM1_ISR_SYS1_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM1_ISR_SYS1_INTACK 0x00100000
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_ISR_SYS1_INTOCC 0x00100000
++/** PMA Interrupt from IntNode of the RX Clk Domain
++    This bit is an indirect interrupt. */
++#define ICU0_IM1_ISR_PMA_RX 0x00020000
++/* Nothing
++#define ICU0_IM1_ISR_PMA_RX_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM1_ISR_PMA_RX_INTACK 0x00020000
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_ISR_PMA_RX_INTOCC 0x00020000
++/** PMA Interrupt from IntNode of the TX Clk Domain
++    This bit is an indirect interrupt. */
++#define ICU0_IM1_ISR_PMA_TX 0x00010000
++/* Nothing
++#define ICU0_IM1_ISR_PMA_TX_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM1_ISR_PMA_TX_INTACK 0x00010000
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_ISR_PMA_TX_INTOCC 0x00010000
++/** PMA Interrupt from IntNode of the 200MHz Domain
++    This bit is an indirect interrupt. */
++#define ICU0_IM1_ISR_PMA_200M 0x00008000
++/* Nothing
++#define ICU0_IM1_ISR_PMA_200M_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM1_ISR_PMA_200M_INTACK 0x00008000
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_ISR_PMA_200M_INTOCC 0x00008000
++/** Time of Day
++    This bit is an indirect interrupt. */
++#define ICU0_IM1_ISR_TOD 0x00004000
++/* Nothing
++#define ICU0_IM1_ISR_TOD_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM1_ISR_TOD_INTACK 0x00004000
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_ISR_TOD_INTOCC 0x00004000
++/** 8kHz root interrupt derived from GPON interface
++    This bit is a direct interrupt. */
++#define ICU0_IM1_ISR_FSC_ROOT 0x00002000
++/* Nothing
++#define ICU0_IM1_ISR_FSC_ROOT_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM1_ISR_FSC_ROOT_INTACK 0x00002000
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_ISR_FSC_ROOT_INTOCC 0x00002000
++/** FSC Timer Interrupt 1
++    Delayed version of FSCROOT. This bit is a direct interrupt. */
++#define ICU0_IM1_ISR_FSCT_CMP1 0x00001000
++/* Nothing
++#define ICU0_IM1_ISR_FSCT_CMP1_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM1_ISR_FSCT_CMP1_INTACK 0x00001000
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_ISR_FSCT_CMP1_INTOCC 0x00001000
++/** FSC Timer Interrupt 0
++    Delayed version of FSCROOT. This bit is a direct interrupt. */
++#define ICU0_IM1_ISR_FSCT_CMP0 0x00000800
++/* Nothing
++#define ICU0_IM1_ISR_FSCT_CMP0_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM1_ISR_FSCT_CMP0_INTACK 0x00000800
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_ISR_FSCT_CMP0_INTOCC 0x00000800
++/** 8kHz backup interrupt derived from core-PLL
++    This bit is an indirect interrupt. */
++#define ICU0_IM1_ISR_FSC_BKP 0x00000400
++/* Nothing
++#define ICU0_IM1_ISR_FSC_BKP_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM1_ISR_FSC_BKP_INTACK 0x00000400
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_ISR_FSC_BKP_INTOCC 0x00000400
++/** External Interrupt from GPIO P4
++    This bit is an indirect interrupt. */
++#define ICU0_IM1_ISR_P4 0x00000100
++/* Nothing
++#define ICU0_IM1_ISR_P4_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM1_ISR_P4_INTACK 0x00000100
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_ISR_P4_INTOCC 0x00000100
++/** External Interrupt from GPIO P3
++    This bit is an indirect interrupt. */
++#define ICU0_IM1_ISR_P3 0x00000080
++/* Nothing
++#define ICU0_IM1_ISR_P3_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM1_ISR_P3_INTACK 0x00000080
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_ISR_P3_INTOCC 0x00000080
++/** External Interrupt from GPIO P2
++    This bit is an indirect interrupt. */
++#define ICU0_IM1_ISR_P2 0x00000040
++/* Nothing
++#define ICU0_IM1_ISR_P2_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM1_ISR_P2_INTACK 0x00000040
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_ISR_P2_INTOCC 0x00000040
++/** External Interrupt from GPIO P1
++    This bit is an indirect interrupt. */
++#define ICU0_IM1_ISR_P1 0x00000020
++/* Nothing
++#define ICU0_IM1_ISR_P1_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM1_ISR_P1_INTACK 0x00000020
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_ISR_P1_INTOCC 0x00000020
++/** External Interrupt from GPIO P0
++    This bit is an indirect interrupt. */
++#define ICU0_IM1_ISR_P0 0x00000010
++/* Nothing
++#define ICU0_IM1_ISR_P0_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM1_ISR_P0_INTACK 0x00000010
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_ISR_P0_INTOCC 0x00000010
++/** EBU Serial Flash Busy
++    This bit is an indirect interrupt. */
++#define ICU0_IM1_ISR_EBU_SF_BUSY 0x00000004
++/* Nothing
++#define ICU0_IM1_ISR_EBU_SF_BUSY_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM1_ISR_EBU_SF_BUSY_INTACK 0x00000004
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_ISR_EBU_SF_BUSY_INTOCC 0x00000004
++/** EBU Serial Flash Command Overwrite Error
++    This bit is an indirect interrupt. */
++#define ICU0_IM1_ISR_EBU_SF_COVERR 0x00000002
++/* Nothing
++#define ICU0_IM1_ISR_EBU_SF_COVERR_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM1_ISR_EBU_SF_COVERR_INTACK 0x00000002
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_ISR_EBU_SF_COVERR_INTOCC 0x00000002
++/** EBU Serial Flash Command Error
++    This bit is an indirect interrupt. */
++#define ICU0_IM1_ISR_EBU_SF_CMDERR 0x00000001
++/* Nothing
++#define ICU0_IM1_ISR_EBU_SF_CMDERR_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM1_ISR_EBU_SF_CMDERR_INTACK 0x00000001
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_ISR_EBU_SF_CMDERR_INTOCC 0x00000001
++
++/* Fields of "IM1 Interrupt Enable Register" */
++/** Crossbar Error Interrupt
++    Interrupt enable bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IER_XBAR_ERROR 0x80000000
++/* Disable
++#define ICU0_IM1_IER_XBAR_ERROR_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM1_IER_XBAR_ERROR_EN 0x80000000
++/** DDR Controller Interrupt
++    Interrupt enable bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IER_DDR 0x40000000
++/* Disable
++#define ICU0_IM1_IER_DDR_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM1_IER_DDR_EN 0x40000000
++/** FPI Bus Control Unit Interrupt
++    Interrupt enable bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IER_BCU0 0x20000000
++/* Disable
++#define ICU0_IM1_IER_BCU0_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM1_IER_BCU0_EN 0x20000000
++/** SBIU interrupt
++    Interrupt enable bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IER_SBIU0 0x08000000
++/* Disable
++#define ICU0_IM1_IER_SBIU0_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM1_IER_SBIU0_EN 0x08000000
++/** Watchdog Prewarning Interrupt
++    Interrupt enable bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IER_WDT_PIR 0x02000000
++/* Disable
++#define ICU0_IM1_IER_WDT_PIR_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM1_IER_WDT_PIR_EN 0x02000000
++/** Watchdog Access Error Interrupt
++    Interrupt enable bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IER_WDT_AEIR 0x01000000
++/* Disable
++#define ICU0_IM1_IER_WDT_AEIR_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM1_IER_WDT_AEIR_EN 0x01000000
++/** SYS GPE Interrupt
++    Interrupt enable bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IER_SYS_GPE 0x00200000
++/* Disable
++#define ICU0_IM1_IER_SYS_GPE_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM1_IER_SYS_GPE_EN 0x00200000
++/** SYS1 Interrupt
++    Interrupt enable bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IER_SYS1 0x00100000
++/* Disable
++#define ICU0_IM1_IER_SYS1_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM1_IER_SYS1_EN 0x00100000
++/** PMA Interrupt from IntNode of the RX Clk Domain
++    Interrupt enable bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IER_PMA_RX 0x00020000
++/* Disable
++#define ICU0_IM1_IER_PMA_RX_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM1_IER_PMA_RX_EN 0x00020000
++/** PMA Interrupt from IntNode of the TX Clk Domain
++    Interrupt enable bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IER_PMA_TX 0x00010000
++/* Disable
++#define ICU0_IM1_IER_PMA_TX_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM1_IER_PMA_TX_EN 0x00010000
++/** PMA Interrupt from IntNode of the 200MHz Domain
++    Interrupt enable bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IER_PMA_200M 0x00008000
++/* Disable
++#define ICU0_IM1_IER_PMA_200M_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM1_IER_PMA_200M_EN 0x00008000
++/** Time of Day
++    Interrupt enable bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IER_TOD 0x00004000
++/* Disable
++#define ICU0_IM1_IER_TOD_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM1_IER_TOD_EN 0x00004000
++/** 8kHz root interrupt derived from GPON interface
++    Interrupt enable bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IER_FSC_ROOT 0x00002000
++/* Disable
++#define ICU0_IM1_IER_FSC_ROOT_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM1_IER_FSC_ROOT_EN 0x00002000
++/** FSC Timer Interrupt 1
++    Interrupt enable bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IER_FSCT_CMP1 0x00001000
++/* Disable
++#define ICU0_IM1_IER_FSCT_CMP1_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM1_IER_FSCT_CMP1_EN 0x00001000
++/** FSC Timer Interrupt 0
++    Interrupt enable bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IER_FSCT_CMP0 0x00000800
++/* Disable
++#define ICU0_IM1_IER_FSCT_CMP0_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM1_IER_FSCT_CMP0_EN 0x00000800
++/** 8kHz backup interrupt derived from core-PLL
++    Interrupt enable bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IER_FSC_BKP 0x00000400
++/* Disable
++#define ICU0_IM1_IER_FSC_BKP_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM1_IER_FSC_BKP_EN 0x00000400
++/** External Interrupt from GPIO P4
++    Interrupt enable bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IER_P4 0x00000100
++/* Disable
++#define ICU0_IM1_IER_P4_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM1_IER_P4_EN 0x00000100
++/** External Interrupt from GPIO P3
++    Interrupt enable bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IER_P3 0x00000080
++/* Disable
++#define ICU0_IM1_IER_P3_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM1_IER_P3_EN 0x00000080
++/** External Interrupt from GPIO P2
++    Interrupt enable bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IER_P2 0x00000040
++/* Disable
++#define ICU0_IM1_IER_P2_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM1_IER_P2_EN 0x00000040
++/** External Interrupt from GPIO P1
++    Interrupt enable bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IER_P1 0x00000020
++/* Disable
++#define ICU0_IM1_IER_P1_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM1_IER_P1_EN 0x00000020
++/** External Interrupt from GPIO P0
++    Interrupt enable bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IER_P0 0x00000010
++/* Disable
++#define ICU0_IM1_IER_P0_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM1_IER_P0_EN 0x00000010
++/** EBU Serial Flash Busy
++    Interrupt enable bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IER_EBU_SF_BUSY 0x00000004
++/* Disable
++#define ICU0_IM1_IER_EBU_SF_BUSY_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM1_IER_EBU_SF_BUSY_EN 0x00000004
++/** EBU Serial Flash Command Overwrite Error
++    Interrupt enable bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IER_EBU_SF_COVERR 0x00000002
++/* Disable
++#define ICU0_IM1_IER_EBU_SF_COVERR_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM1_IER_EBU_SF_COVERR_EN 0x00000002
++/** EBU Serial Flash Command Error
++    Interrupt enable bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IER_EBU_SF_CMDERR 0x00000001
++/* Disable
++#define ICU0_IM1_IER_EBU_SF_CMDERR_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM1_IER_EBU_SF_CMDERR_EN 0x00000001
++
++/* Fields of "IM1 Interrupt Output Status Register" */
++/** Crossbar Error Interrupt
++    Masked interrupt bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IOSR_XBAR_ERROR 0x80000000
++/* Nothing
++#define ICU0_IM1_IOSR_XBAR_ERROR_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_IOSR_XBAR_ERROR_INTOCC 0x80000000
++/** DDR Controller Interrupt
++    Masked interrupt bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IOSR_DDR 0x40000000
++/* Nothing
++#define ICU0_IM1_IOSR_DDR_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_IOSR_DDR_INTOCC 0x40000000
++/** FPI Bus Control Unit Interrupt
++    Masked interrupt bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IOSR_BCU0 0x20000000
++/* Nothing
++#define ICU0_IM1_IOSR_BCU0_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_IOSR_BCU0_INTOCC 0x20000000
++/** SBIU interrupt
++    Masked interrupt bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IOSR_SBIU0 0x08000000
++/* Nothing
++#define ICU0_IM1_IOSR_SBIU0_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_IOSR_SBIU0_INTOCC 0x08000000
++/** Watchdog Prewarning Interrupt
++    Masked interrupt bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IOSR_WDT_PIR 0x02000000
++/* Nothing
++#define ICU0_IM1_IOSR_WDT_PIR_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_IOSR_WDT_PIR_INTOCC 0x02000000
++/** Watchdog Access Error Interrupt
++    Masked interrupt bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IOSR_WDT_AEIR 0x01000000
++/* Nothing
++#define ICU0_IM1_IOSR_WDT_AEIR_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_IOSR_WDT_AEIR_INTOCC 0x01000000
++/** SYS GPE Interrupt
++    Masked interrupt bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IOSR_SYS_GPE 0x00200000
++/* Nothing
++#define ICU0_IM1_IOSR_SYS_GPE_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_IOSR_SYS_GPE_INTOCC 0x00200000
++/** SYS1 Interrupt
++    Masked interrupt bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IOSR_SYS1 0x00100000
++/* Nothing
++#define ICU0_IM1_IOSR_SYS1_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_IOSR_SYS1_INTOCC 0x00100000
++/** PMA Interrupt from IntNode of the RX Clk Domain
++    Masked interrupt bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IOSR_PMA_RX 0x00020000
++/* Nothing
++#define ICU0_IM1_IOSR_PMA_RX_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_IOSR_PMA_RX_INTOCC 0x00020000
++/** PMA Interrupt from IntNode of the TX Clk Domain
++    Masked interrupt bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IOSR_PMA_TX 0x00010000
++/* Nothing
++#define ICU0_IM1_IOSR_PMA_TX_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_IOSR_PMA_TX_INTOCC 0x00010000
++/** PMA Interrupt from IntNode of the 200MHz Domain
++    Masked interrupt bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IOSR_PMA_200M 0x00008000
++/* Nothing
++#define ICU0_IM1_IOSR_PMA_200M_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_IOSR_PMA_200M_INTOCC 0x00008000
++/** Time of Day
++    Masked interrupt bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IOSR_TOD 0x00004000
++/* Nothing
++#define ICU0_IM1_IOSR_TOD_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_IOSR_TOD_INTOCC 0x00004000
++/** 8kHz root interrupt derived from GPON interface
++    Masked interrupt bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IOSR_FSC_ROOT 0x00002000
++/* Nothing
++#define ICU0_IM1_IOSR_FSC_ROOT_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_IOSR_FSC_ROOT_INTOCC 0x00002000
++/** FSC Timer Interrupt 1
++    Masked interrupt bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IOSR_FSCT_CMP1 0x00001000
++/* Nothing
++#define ICU0_IM1_IOSR_FSCT_CMP1_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_IOSR_FSCT_CMP1_INTOCC 0x00001000
++/** FSC Timer Interrupt 0
++    Masked interrupt bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IOSR_FSCT_CMP0 0x00000800
++/* Nothing
++#define ICU0_IM1_IOSR_FSCT_CMP0_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_IOSR_FSCT_CMP0_INTOCC 0x00000800
++/** 8kHz backup interrupt derived from core-PLL
++    Masked interrupt bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IOSR_FSC_BKP 0x00000400
++/* Nothing
++#define ICU0_IM1_IOSR_FSC_BKP_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_IOSR_FSC_BKP_INTOCC 0x00000400
++/** External Interrupt from GPIO P4
++    Masked interrupt bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IOSR_P4 0x00000100
++/* Nothing
++#define ICU0_IM1_IOSR_P4_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_IOSR_P4_INTOCC 0x00000100
++/** External Interrupt from GPIO P3
++    Masked interrupt bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IOSR_P3 0x00000080
++/* Nothing
++#define ICU0_IM1_IOSR_P3_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_IOSR_P3_INTOCC 0x00000080
++/** External Interrupt from GPIO P2
++    Masked interrupt bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IOSR_P2 0x00000040
++/* Nothing
++#define ICU0_IM1_IOSR_P2_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_IOSR_P2_INTOCC 0x00000040
++/** External Interrupt from GPIO P1
++    Masked interrupt bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IOSR_P1 0x00000020
++/* Nothing
++#define ICU0_IM1_IOSR_P1_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_IOSR_P1_INTOCC 0x00000020
++/** External Interrupt from GPIO P0
++    Masked interrupt bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IOSR_P0 0x00000010
++/* Nothing
++#define ICU0_IM1_IOSR_P0_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_IOSR_P0_INTOCC 0x00000010
++/** EBU Serial Flash Busy
++    Masked interrupt bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IOSR_EBU_SF_BUSY 0x00000004
++/* Nothing
++#define ICU0_IM1_IOSR_EBU_SF_BUSY_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_IOSR_EBU_SF_BUSY_INTOCC 0x00000004
++/** EBU Serial Flash Command Overwrite Error
++    Masked interrupt bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IOSR_EBU_SF_COVERR 0x00000002
++/* Nothing
++#define ICU0_IM1_IOSR_EBU_SF_COVERR_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_IOSR_EBU_SF_COVERR_INTOCC 0x00000002
++/** EBU Serial Flash Command Error
++    Masked interrupt bit for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IOSR_EBU_SF_CMDERR 0x00000001
++/* Nothing
++#define ICU0_IM1_IOSR_EBU_SF_CMDERR_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM1_IOSR_EBU_SF_CMDERR_INTOCC 0x00000001
++
++/* Fields of "IM1 Interrupt Request Set Register" */
++/** Crossbar Error Interrupt
++    Software control for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IRSR_XBAR_ERROR 0x80000000
++/** DDR Controller Interrupt
++    Software control for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IRSR_DDR 0x40000000
++/** FPI Bus Control Unit Interrupt
++    Software control for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IRSR_BCU0 0x20000000
++/** SBIU interrupt
++    Software control for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IRSR_SBIU0 0x08000000
++/** Watchdog Prewarning Interrupt
++    Software control for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IRSR_WDT_PIR 0x02000000
++/** Watchdog Access Error Interrupt
++    Software control for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IRSR_WDT_AEIR 0x01000000
++/** SYS GPE Interrupt
++    Software control for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IRSR_SYS_GPE 0x00200000
++/** SYS1 Interrupt
++    Software control for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IRSR_SYS1 0x00100000
++/** PMA Interrupt from IntNode of the RX Clk Domain
++    Software control for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IRSR_PMA_RX 0x00020000
++/** PMA Interrupt from IntNode of the TX Clk Domain
++    Software control for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IRSR_PMA_TX 0x00010000
++/** PMA Interrupt from IntNode of the 200MHz Domain
++    Software control for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IRSR_PMA_200M 0x00008000
++/** Time of Day
++    Software control for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IRSR_TOD 0x00004000
++/** 8kHz root interrupt derived from GPON interface
++    Software control for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IRSR_FSC_ROOT 0x00002000
++/** FSC Timer Interrupt 1
++    Software control for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IRSR_FSCT_CMP1 0x00001000
++/** FSC Timer Interrupt 0
++    Software control for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IRSR_FSCT_CMP0 0x00000800
++/** 8kHz backup interrupt derived from core-PLL
++    Software control for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IRSR_FSC_BKP 0x00000400
++/** External Interrupt from GPIO P4
++    Software control for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IRSR_P4 0x00000100
++/** External Interrupt from GPIO P3
++    Software control for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IRSR_P3 0x00000080
++/** External Interrupt from GPIO P2
++    Software control for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IRSR_P2 0x00000040
++/** External Interrupt from GPIO P1
++    Software control for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IRSR_P1 0x00000020
++/** External Interrupt from GPIO P0
++    Software control for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IRSR_P0 0x00000010
++/** EBU Serial Flash Busy
++    Software control for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IRSR_EBU_SF_BUSY 0x00000004
++/** EBU Serial Flash Command Overwrite Error
++    Software control for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IRSR_EBU_SF_COVERR 0x00000002
++/** EBU Serial Flash Command Error
++    Software control for the corresponding bit in the IM1_ISR register. */
++#define ICU0_IM1_IRSR_EBU_SF_CMDERR 0x00000001
++
++/* Fields of "IM1 Interrupt Mode Register" */
++/** Crossbar Error Interrupt
++    Type of interrupt. */
++#define ICU0_IM1_IMR_XBAR_ERROR 0x80000000
++/* Indirect Interrupt.
++#define ICU0_IM1_IMR_XBAR_ERROR_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM1_IMR_XBAR_ERROR_DIR 0x80000000
++/** DDR Controller Interrupt
++    Type of interrupt. */
++#define ICU0_IM1_IMR_DDR 0x40000000
++/* Indirect Interrupt.
++#define ICU0_IM1_IMR_DDR_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM1_IMR_DDR_DIR 0x40000000
++/** FPI Bus Control Unit Interrupt
++    Type of interrupt. */
++#define ICU0_IM1_IMR_BCU0 0x20000000
++/* Indirect Interrupt.
++#define ICU0_IM1_IMR_BCU0_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM1_IMR_BCU0_DIR 0x20000000
++/** SBIU interrupt
++    Type of interrupt. */
++#define ICU0_IM1_IMR_SBIU0 0x08000000
++/* Indirect Interrupt.
++#define ICU0_IM1_IMR_SBIU0_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM1_IMR_SBIU0_DIR 0x08000000
++/** Watchdog Prewarning Interrupt
++    Type of interrupt. */
++#define ICU0_IM1_IMR_WDT_PIR 0x02000000
++/* Indirect Interrupt.
++#define ICU0_IM1_IMR_WDT_PIR_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM1_IMR_WDT_PIR_DIR 0x02000000
++/** Watchdog Access Error Interrupt
++    Type of interrupt. */
++#define ICU0_IM1_IMR_WDT_AEIR 0x01000000
++/* Indirect Interrupt.
++#define ICU0_IM1_IMR_WDT_AEIR_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM1_IMR_WDT_AEIR_DIR 0x01000000
++/** SYS GPE Interrupt
++    Type of interrupt. */
++#define ICU0_IM1_IMR_SYS_GPE 0x00200000
++/* Indirect Interrupt.
++#define ICU0_IM1_IMR_SYS_GPE_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM1_IMR_SYS_GPE_DIR 0x00200000
++/** SYS1 Interrupt
++    Type of interrupt. */
++#define ICU0_IM1_IMR_SYS1 0x00100000
++/* Indirect Interrupt.
++#define ICU0_IM1_IMR_SYS1_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM1_IMR_SYS1_DIR 0x00100000
++/** PMA Interrupt from IntNode of the RX Clk Domain
++    Type of interrupt. */
++#define ICU0_IM1_IMR_PMA_RX 0x00020000
++/* Indirect Interrupt.
++#define ICU0_IM1_IMR_PMA_RX_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM1_IMR_PMA_RX_DIR 0x00020000
++/** PMA Interrupt from IntNode of the TX Clk Domain
++    Type of interrupt. */
++#define ICU0_IM1_IMR_PMA_TX 0x00010000
++/* Indirect Interrupt.
++#define ICU0_IM1_IMR_PMA_TX_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM1_IMR_PMA_TX_DIR 0x00010000
++/** PMA Interrupt from IntNode of the 200MHz Domain
++    Type of interrupt. */
++#define ICU0_IM1_IMR_PMA_200M 0x00008000
++/* Indirect Interrupt.
++#define ICU0_IM1_IMR_PMA_200M_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM1_IMR_PMA_200M_DIR 0x00008000
++/** Time of Day
++    Type of interrupt. */
++#define ICU0_IM1_IMR_TOD 0x00004000
++/* Indirect Interrupt.
++#define ICU0_IM1_IMR_TOD_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM1_IMR_TOD_DIR 0x00004000
++/** 8kHz root interrupt derived from GPON interface
++    Type of interrupt. */
++#define ICU0_IM1_IMR_FSC_ROOT 0x00002000
++/* Indirect Interrupt.
++#define ICU0_IM1_IMR_FSC_ROOT_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM1_IMR_FSC_ROOT_DIR 0x00002000
++/** FSC Timer Interrupt 1
++    Type of interrupt. */
++#define ICU0_IM1_IMR_FSCT_CMP1 0x00001000
++/* Indirect Interrupt.
++#define ICU0_IM1_IMR_FSCT_CMP1_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM1_IMR_FSCT_CMP1_DIR 0x00001000
++/** FSC Timer Interrupt 0
++    Type of interrupt. */
++#define ICU0_IM1_IMR_FSCT_CMP0 0x00000800
++/* Indirect Interrupt.
++#define ICU0_IM1_IMR_FSCT_CMP0_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM1_IMR_FSCT_CMP0_DIR 0x00000800
++/** 8kHz backup interrupt derived from core-PLL
++    Type of interrupt. */
++#define ICU0_IM1_IMR_FSC_BKP 0x00000400
++/* Indirect Interrupt.
++#define ICU0_IM1_IMR_FSC_BKP_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM1_IMR_FSC_BKP_DIR 0x00000400
++/** External Interrupt from GPIO P4
++    Type of interrupt. */
++#define ICU0_IM1_IMR_P4 0x00000100
++/* Indirect Interrupt.
++#define ICU0_IM1_IMR_P4_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM1_IMR_P4_DIR 0x00000100
++/** External Interrupt from GPIO P3
++    Type of interrupt. */
++#define ICU0_IM1_IMR_P3 0x00000080
++/* Indirect Interrupt.
++#define ICU0_IM1_IMR_P3_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM1_IMR_P3_DIR 0x00000080
++/** External Interrupt from GPIO P2
++    Type of interrupt. */
++#define ICU0_IM1_IMR_P2 0x00000040
++/* Indirect Interrupt.
++#define ICU0_IM1_IMR_P2_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM1_IMR_P2_DIR 0x00000040
++/** External Interrupt from GPIO P1
++    Type of interrupt. */
++#define ICU0_IM1_IMR_P1 0x00000020
++/* Indirect Interrupt.
++#define ICU0_IM1_IMR_P1_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM1_IMR_P1_DIR 0x00000020
++/** External Interrupt from GPIO P0
++    Type of interrupt. */
++#define ICU0_IM1_IMR_P0 0x00000010
++/* Indirect Interrupt.
++#define ICU0_IM1_IMR_P0_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM1_IMR_P0_DIR 0x00000010
++/** EBU Serial Flash Busy
++    Type of interrupt. */
++#define ICU0_IM1_IMR_EBU_SF_BUSY 0x00000004
++/* Indirect Interrupt.
++#define ICU0_IM1_IMR_EBU_SF_BUSY_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM1_IMR_EBU_SF_BUSY_DIR 0x00000004
++/** EBU Serial Flash Command Overwrite Error
++    Type of interrupt. */
++#define ICU0_IM1_IMR_EBU_SF_COVERR 0x00000002
++/* Indirect Interrupt.
++#define ICU0_IM1_IMR_EBU_SF_COVERR_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM1_IMR_EBU_SF_COVERR_DIR 0x00000002
++/** EBU Serial Flash Command Error
++    Type of interrupt. */
++#define ICU0_IM1_IMR_EBU_SF_CMDERR 0x00000001
++/* Indirect Interrupt.
++#define ICU0_IM1_IMR_EBU_SF_CMDERR_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM1_IMR_EBU_SF_CMDERR_DIR 0x00000001
++
++/* Fields of "IM2 Interrupt Status Register" */
++/** EIM Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM2_ISR_EIM 0x80000000
++/* Nothing
++#define ICU0_IM2_ISR_EIM_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM2_ISR_EIM_INTACK 0x80000000
++/** Read: Interrupt occurred. */
++#define ICU0_IM2_ISR_EIM_INTOCC 0x80000000
++/** GTC Upstream Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM2_ISR_GTC_US 0x40000000
++/* Nothing
++#define ICU0_IM2_ISR_GTC_US_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM2_ISR_GTC_US_INTACK 0x40000000
++/** Read: Interrupt occurred. */
++#define ICU0_IM2_ISR_GTC_US_INTOCC 0x40000000
++/** GTC Downstream Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM2_ISR_GTC_DS 0x20000000
++/* Nothing
++#define ICU0_IM2_ISR_GTC_DS_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM2_ISR_GTC_DS_INTACK 0x20000000
++/** Read: Interrupt occurred. */
++#define ICU0_IM2_ISR_GTC_DS_INTOCC 0x20000000
++/** TBM Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM2_ISR_TBM 0x00400000
++/* Nothing
++#define ICU0_IM2_ISR_TBM_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM2_ISR_TBM_INTACK 0x00400000
++/** Read: Interrupt occurred. */
++#define ICU0_IM2_ISR_TBM_INTOCC 0x00400000
++/** Dispatcher Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM2_ISR_DISP 0x00200000
++/* Nothing
++#define ICU0_IM2_ISR_DISP_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM2_ISR_DISP_INTACK 0x00200000
++/** Read: Interrupt occurred. */
++#define ICU0_IM2_ISR_DISP_INTOCC 0x00200000
++/** CONFIG Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM2_ISR_CONFIG 0x00100000
++/* Nothing
++#define ICU0_IM2_ISR_CONFIG_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM2_ISR_CONFIG_INTACK 0x00100000
++/** Read: Interrupt occurred. */
++#define ICU0_IM2_ISR_CONFIG_INTOCC 0x00100000
++/** CONFIG Break Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM2_ISR_CONFIG_BREAK 0x00080000
++/* Nothing
++#define ICU0_IM2_ISR_CONFIG_BREAK_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM2_ISR_CONFIG_BREAK_INTACK 0x00080000
++/** Read: Interrupt occurred. */
++#define ICU0_IM2_ISR_CONFIG_BREAK_INTOCC 0x00080000
++/** OCTRLC Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM2_ISR_OCTRLC 0x00040000
++/* Nothing
++#define ICU0_IM2_ISR_OCTRLC_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM2_ISR_OCTRLC_INTACK 0x00040000
++/** Read: Interrupt occurred. */
++#define ICU0_IM2_ISR_OCTRLC_INTOCC 0x00040000
++/** ICTRLC 1 Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM2_ISR_ICTRLC1 0x00020000
++/* Nothing
++#define ICU0_IM2_ISR_ICTRLC1_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM2_ISR_ICTRLC1_INTACK 0x00020000
++/** Read: Interrupt occurred. */
++#define ICU0_IM2_ISR_ICTRLC1_INTOCC 0x00020000
++/** ICTRLC 0 Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM2_ISR_ICTRLC0 0x00010000
++/* Nothing
++#define ICU0_IM2_ISR_ICTRLC0_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM2_ISR_ICTRLC0_INTACK 0x00010000
++/** Read: Interrupt occurred. */
++#define ICU0_IM2_ISR_ICTRLC0_INTOCC 0x00010000
++/** LINK 1 Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM2_ISR_LINK1 0x00004000
++/* Nothing
++#define ICU0_IM2_ISR_LINK1_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM2_ISR_LINK1_INTACK 0x00004000
++/** Read: Interrupt occurred. */
++#define ICU0_IM2_ISR_LINK1_INTOCC 0x00004000
++/** TMU Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM2_ISR_TMU 0x00001000
++/* Nothing
++#define ICU0_IM2_ISR_TMU_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM2_ISR_TMU_INTACK 0x00001000
++/** Read: Interrupt occurred. */
++#define ICU0_IM2_ISR_TMU_INTOCC 0x00001000
++/** FSQM Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM2_ISR_FSQM 0x00000800
++/* Nothing
++#define ICU0_IM2_ISR_FSQM_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM2_ISR_FSQM_INTACK 0x00000800
++/** Read: Interrupt occurred. */
++#define ICU0_IM2_ISR_FSQM_INTOCC 0x00000800
++/** IQM Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM2_ISR_IQM 0x00000400
++/* Nothing
++#define ICU0_IM2_ISR_IQM_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM2_ISR_IQM_INTACK 0x00000400
++/** Read: Interrupt occurred. */
++#define ICU0_IM2_ISR_IQM_INTOCC 0x00000400
++/** OCTRLG Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM2_ISR_OCTRLG 0x00000200
++/* Nothing
++#define ICU0_IM2_ISR_OCTRLG_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM2_ISR_OCTRLG_INTACK 0x00000200
++/** Read: Interrupt occurred. */
++#define ICU0_IM2_ISR_OCTRLG_INTOCC 0x00000200
++/** OCTRLL 3 Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM2_ISR_OCTRLL3 0x00000080
++/* Nothing
++#define ICU0_IM2_ISR_OCTRLL3_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM2_ISR_OCTRLL3_INTACK 0x00000080
++/** Read: Interrupt occurred. */
++#define ICU0_IM2_ISR_OCTRLL3_INTOCC 0x00000080
++/** OCTRLL 2 Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM2_ISR_OCTRLL2 0x00000040
++/* Nothing
++#define ICU0_IM2_ISR_OCTRLL2_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM2_ISR_OCTRLL2_INTACK 0x00000040
++/** Read: Interrupt occurred. */
++#define ICU0_IM2_ISR_OCTRLL2_INTOCC 0x00000040
++/** OCTRLL 1 Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM2_ISR_OCTRLL1 0x00000020
++/* Nothing
++#define ICU0_IM2_ISR_OCTRLL1_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM2_ISR_OCTRLL1_INTACK 0x00000020
++/** Read: Interrupt occurred. */
++#define ICU0_IM2_ISR_OCTRLL1_INTOCC 0x00000020
++/** OCTRLL 0 Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM2_ISR_OCTRLL0 0x00000010
++/* Nothing
++#define ICU0_IM2_ISR_OCTRLL0_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM2_ISR_OCTRLL0_INTACK 0x00000010
++/** Read: Interrupt occurred. */
++#define ICU0_IM2_ISR_OCTRLL0_INTOCC 0x00000010
++/** ICTRLL 3 Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM2_ISR_ICTRLL3 0x00000008
++/* Nothing
++#define ICU0_IM2_ISR_ICTRLL3_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM2_ISR_ICTRLL3_INTACK 0x00000008
++/** Read: Interrupt occurred. */
++#define ICU0_IM2_ISR_ICTRLL3_INTOCC 0x00000008
++/** ICTRLL 2 Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM2_ISR_ICTRLL2 0x00000004
++/* Nothing
++#define ICU0_IM2_ISR_ICTRLL2_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM2_ISR_ICTRLL2_INTACK 0x00000004
++/** Read: Interrupt occurred. */
++#define ICU0_IM2_ISR_ICTRLL2_INTOCC 0x00000004
++/** ICTRLL 1 Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM2_ISR_ICTRLL1 0x00000002
++/* Nothing
++#define ICU0_IM2_ISR_ICTRLL1_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM2_ISR_ICTRLL1_INTACK 0x00000002
++/** Read: Interrupt occurred. */
++#define ICU0_IM2_ISR_ICTRLL1_INTOCC 0x00000002
++/** ICTRLL 0 Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM2_ISR_ICTRLL0 0x00000001
++/* Nothing
++#define ICU0_IM2_ISR_ICTRLL0_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM2_ISR_ICTRLL0_INTACK 0x00000001
++/** Read: Interrupt occurred. */
++#define ICU0_IM2_ISR_ICTRLL0_INTOCC 0x00000001
++
++/* Fields of "IM2 Interrupt Enable Register" */
++/** EIM Interrupt
++    Interrupt enable bit for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IER_EIM 0x80000000
++/* Disable
++#define ICU0_IM2_IER_EIM_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM2_IER_EIM_EN 0x80000000
++/** GTC Upstream Interrupt
++    Interrupt enable bit for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IER_GTC_US 0x40000000
++/* Disable
++#define ICU0_IM2_IER_GTC_US_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM2_IER_GTC_US_EN 0x40000000
++/** GTC Downstream Interrupt
++    Interrupt enable bit for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IER_GTC_DS 0x20000000
++/* Disable
++#define ICU0_IM2_IER_GTC_DS_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM2_IER_GTC_DS_EN 0x20000000
++/** TBM Interrupt
++    Interrupt enable bit for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IER_TBM 0x00400000
++/* Disable
++#define ICU0_IM2_IER_TBM_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM2_IER_TBM_EN 0x00400000
++/** Dispatcher Interrupt
++    Interrupt enable bit for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IER_DISP 0x00200000
++/* Disable
++#define ICU0_IM2_IER_DISP_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM2_IER_DISP_EN 0x00200000
++/** CONFIG Interrupt
++    Interrupt enable bit for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IER_CONFIG 0x00100000
++/* Disable
++#define ICU0_IM2_IER_CONFIG_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM2_IER_CONFIG_EN 0x00100000
++/** CONFIG Break Interrupt
++    Interrupt enable bit for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IER_CONFIG_BREAK 0x00080000
++/* Disable
++#define ICU0_IM2_IER_CONFIG_BREAK_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM2_IER_CONFIG_BREAK_EN 0x00080000
++/** OCTRLC Interrupt
++    Interrupt enable bit for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IER_OCTRLC 0x00040000
++/* Disable
++#define ICU0_IM2_IER_OCTRLC_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM2_IER_OCTRLC_EN 0x00040000
++/** ICTRLC 1 Interrupt
++    Interrupt enable bit for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IER_ICTRLC1 0x00020000
++/* Disable
++#define ICU0_IM2_IER_ICTRLC1_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM2_IER_ICTRLC1_EN 0x00020000
++/** ICTRLC 0 Interrupt
++    Interrupt enable bit for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IER_ICTRLC0 0x00010000
++/* Disable
++#define ICU0_IM2_IER_ICTRLC0_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM2_IER_ICTRLC0_EN 0x00010000
++/** LINK 1 Interrupt
++    Interrupt enable bit for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IER_LINK1 0x00004000
++/* Disable
++#define ICU0_IM2_IER_LINK1_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM2_IER_LINK1_EN 0x00004000
++/** TMU Interrupt
++    Interrupt enable bit for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IER_TMU 0x00001000
++/* Disable
++#define ICU0_IM2_IER_TMU_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM2_IER_TMU_EN 0x00001000
++/** FSQM Interrupt
++    Interrupt enable bit for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IER_FSQM 0x00000800
++/* Disable
++#define ICU0_IM2_IER_FSQM_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM2_IER_FSQM_EN 0x00000800
++/** IQM Interrupt
++    Interrupt enable bit for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IER_IQM 0x00000400
++/* Disable
++#define ICU0_IM2_IER_IQM_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM2_IER_IQM_EN 0x00000400
++/** OCTRLG Interrupt
++    Interrupt enable bit for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IER_OCTRLG 0x00000200
++/* Disable
++#define ICU0_IM2_IER_OCTRLG_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM2_IER_OCTRLG_EN 0x00000200
++/** OCTRLL 3 Interrupt
++    Interrupt enable bit for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IER_OCTRLL3 0x00000080
++/* Disable
++#define ICU0_IM2_IER_OCTRLL3_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM2_IER_OCTRLL3_EN 0x00000080
++/** OCTRLL 2 Interrupt
++    Interrupt enable bit for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IER_OCTRLL2 0x00000040
++/* Disable
++#define ICU0_IM2_IER_OCTRLL2_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM2_IER_OCTRLL2_EN 0x00000040
++/** OCTRLL 1 Interrupt
++    Interrupt enable bit for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IER_OCTRLL1 0x00000020
++/* Disable
++#define ICU0_IM2_IER_OCTRLL1_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM2_IER_OCTRLL1_EN 0x00000020
++/** OCTRLL 0 Interrupt
++    Interrupt enable bit for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IER_OCTRLL0 0x00000010
++/* Disable
++#define ICU0_IM2_IER_OCTRLL0_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM2_IER_OCTRLL0_EN 0x00000010
++/** ICTRLL 3 Interrupt
++    Interrupt enable bit for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IER_ICTRLL3 0x00000008
++/* Disable
++#define ICU0_IM2_IER_ICTRLL3_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM2_IER_ICTRLL3_EN 0x00000008
++/** ICTRLL 2 Interrupt
++    Interrupt enable bit for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IER_ICTRLL2 0x00000004
++/* Disable
++#define ICU0_IM2_IER_ICTRLL2_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM2_IER_ICTRLL2_EN 0x00000004
++/** ICTRLL 1 Interrupt
++    Interrupt enable bit for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IER_ICTRLL1 0x00000002
++/* Disable
++#define ICU0_IM2_IER_ICTRLL1_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM2_IER_ICTRLL1_EN 0x00000002
++/** ICTRLL 0 Interrupt
++    Interrupt enable bit for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IER_ICTRLL0 0x00000001
++/* Disable
++#define ICU0_IM2_IER_ICTRLL0_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM2_IER_ICTRLL0_EN 0x00000001
++
++/* Fields of "IM2 Interrupt Output Status Register" */
++/** EIM Interrupt
++    Masked interrupt bit for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IOSR_EIM 0x80000000
++/* Nothing
++#define ICU0_IM2_IOSR_EIM_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM2_IOSR_EIM_INTOCC 0x80000000
++/** GTC Upstream Interrupt
++    Masked interrupt bit for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IOSR_GTC_US 0x40000000
++/* Nothing
++#define ICU0_IM2_IOSR_GTC_US_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM2_IOSR_GTC_US_INTOCC 0x40000000
++/** GTC Downstream Interrupt
++    Masked interrupt bit for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IOSR_GTC_DS 0x20000000
++/* Nothing
++#define ICU0_IM2_IOSR_GTC_DS_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM2_IOSR_GTC_DS_INTOCC 0x20000000
++/** TBM Interrupt
++    Masked interrupt bit for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IOSR_TBM 0x00400000
++/* Nothing
++#define ICU0_IM2_IOSR_TBM_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM2_IOSR_TBM_INTOCC 0x00400000
++/** Dispatcher Interrupt
++    Masked interrupt bit for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IOSR_DISP 0x00200000
++/* Nothing
++#define ICU0_IM2_IOSR_DISP_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM2_IOSR_DISP_INTOCC 0x00200000
++/** CONFIG Interrupt
++    Masked interrupt bit for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IOSR_CONFIG 0x00100000
++/* Nothing
++#define ICU0_IM2_IOSR_CONFIG_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM2_IOSR_CONFIG_INTOCC 0x00100000
++/** CONFIG Break Interrupt
++    Masked interrupt bit for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IOSR_CONFIG_BREAK 0x00080000
++/* Nothing
++#define ICU0_IM2_IOSR_CONFIG_BREAK_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM2_IOSR_CONFIG_BREAK_INTOCC 0x00080000
++/** OCTRLC Interrupt
++    Masked interrupt bit for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IOSR_OCTRLC 0x00040000
++/* Nothing
++#define ICU0_IM2_IOSR_OCTRLC_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM2_IOSR_OCTRLC_INTOCC 0x00040000
++/** ICTRLC 1 Interrupt
++    Masked interrupt bit for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IOSR_ICTRLC1 0x00020000
++/* Nothing
++#define ICU0_IM2_IOSR_ICTRLC1_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM2_IOSR_ICTRLC1_INTOCC 0x00020000
++/** ICTRLC 0 Interrupt
++    Masked interrupt bit for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IOSR_ICTRLC0 0x00010000
++/* Nothing
++#define ICU0_IM2_IOSR_ICTRLC0_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM2_IOSR_ICTRLC0_INTOCC 0x00010000
++/** LINK 1 Interrupt
++    Masked interrupt bit for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IOSR_LINK1 0x00004000
++/* Nothing
++#define ICU0_IM2_IOSR_LINK1_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM2_IOSR_LINK1_INTOCC 0x00004000
++/** TMU Interrupt
++    Masked interrupt bit for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IOSR_TMU 0x00001000
++/* Nothing
++#define ICU0_IM2_IOSR_TMU_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM2_IOSR_TMU_INTOCC 0x00001000
++/** FSQM Interrupt
++    Masked interrupt bit for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IOSR_FSQM 0x00000800
++/* Nothing
++#define ICU0_IM2_IOSR_FSQM_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM2_IOSR_FSQM_INTOCC 0x00000800
++/** IQM Interrupt
++    Masked interrupt bit for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IOSR_IQM 0x00000400
++/* Nothing
++#define ICU0_IM2_IOSR_IQM_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM2_IOSR_IQM_INTOCC 0x00000400
++/** OCTRLG Interrupt
++    Masked interrupt bit for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IOSR_OCTRLG 0x00000200
++/* Nothing
++#define ICU0_IM2_IOSR_OCTRLG_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM2_IOSR_OCTRLG_INTOCC 0x00000200
++/** OCTRLL 3 Interrupt
++    Masked interrupt bit for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IOSR_OCTRLL3 0x00000080
++/* Nothing
++#define ICU0_IM2_IOSR_OCTRLL3_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM2_IOSR_OCTRLL3_INTOCC 0x00000080
++/** OCTRLL 2 Interrupt
++    Masked interrupt bit for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IOSR_OCTRLL2 0x00000040
++/* Nothing
++#define ICU0_IM2_IOSR_OCTRLL2_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM2_IOSR_OCTRLL2_INTOCC 0x00000040
++/** OCTRLL 1 Interrupt
++    Masked interrupt bit for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IOSR_OCTRLL1 0x00000020
++/* Nothing
++#define ICU0_IM2_IOSR_OCTRLL1_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM2_IOSR_OCTRLL1_INTOCC 0x00000020
++/** OCTRLL 0 Interrupt
++    Masked interrupt bit for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IOSR_OCTRLL0 0x00000010
++/* Nothing
++#define ICU0_IM2_IOSR_OCTRLL0_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM2_IOSR_OCTRLL0_INTOCC 0x00000010
++/** ICTRLL 3 Interrupt
++    Masked interrupt bit for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IOSR_ICTRLL3 0x00000008
++/* Nothing
++#define ICU0_IM2_IOSR_ICTRLL3_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM2_IOSR_ICTRLL3_INTOCC 0x00000008
++/** ICTRLL 2 Interrupt
++    Masked interrupt bit for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IOSR_ICTRLL2 0x00000004
++/* Nothing
++#define ICU0_IM2_IOSR_ICTRLL2_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM2_IOSR_ICTRLL2_INTOCC 0x00000004
++/** ICTRLL 1 Interrupt
++    Masked interrupt bit for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IOSR_ICTRLL1 0x00000002
++/* Nothing
++#define ICU0_IM2_IOSR_ICTRLL1_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM2_IOSR_ICTRLL1_INTOCC 0x00000002
++/** ICTRLL 0 Interrupt
++    Masked interrupt bit for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IOSR_ICTRLL0 0x00000001
++/* Nothing
++#define ICU0_IM2_IOSR_ICTRLL0_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM2_IOSR_ICTRLL0_INTOCC 0x00000001
++
++/* Fields of "IM2 Interrupt Request Set Register" */
++/** EIM Interrupt
++    Software control for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IRSR_EIM 0x80000000
++/** GTC Upstream Interrupt
++    Software control for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IRSR_GTC_US 0x40000000
++/** GTC Downstream Interrupt
++    Software control for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IRSR_GTC_DS 0x20000000
++/** TBM Interrupt
++    Software control for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IRSR_TBM 0x00400000
++/** Dispatcher Interrupt
++    Software control for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IRSR_DISP 0x00200000
++/** CONFIG Interrupt
++    Software control for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IRSR_CONFIG 0x00100000
++/** CONFIG Break Interrupt
++    Software control for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IRSR_CONFIG_BREAK 0x00080000
++/** OCTRLC Interrupt
++    Software control for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IRSR_OCTRLC 0x00040000
++/** ICTRLC 1 Interrupt
++    Software control for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IRSR_ICTRLC1 0x00020000
++/** ICTRLC 0 Interrupt
++    Software control for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IRSR_ICTRLC0 0x00010000
++/** LINK 1 Interrupt
++    Software control for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IRSR_LINK1 0x00004000
++/** TMU Interrupt
++    Software control for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IRSR_TMU 0x00001000
++/** FSQM Interrupt
++    Software control for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IRSR_FSQM 0x00000800
++/** IQM Interrupt
++    Software control for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IRSR_IQM 0x00000400
++/** OCTRLG Interrupt
++    Software control for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IRSR_OCTRLG 0x00000200
++/** OCTRLL 3 Interrupt
++    Software control for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IRSR_OCTRLL3 0x00000080
++/** OCTRLL 2 Interrupt
++    Software control for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IRSR_OCTRLL2 0x00000040
++/** OCTRLL 1 Interrupt
++    Software control for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IRSR_OCTRLL1 0x00000020
++/** OCTRLL 0 Interrupt
++    Software control for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IRSR_OCTRLL0 0x00000010
++/** ICTRLL 3 Interrupt
++    Software control for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IRSR_ICTRLL3 0x00000008
++/** ICTRLL 2 Interrupt
++    Software control for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IRSR_ICTRLL2 0x00000004
++/** ICTRLL 1 Interrupt
++    Software control for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IRSR_ICTRLL1 0x00000002
++/** ICTRLL 0 Interrupt
++    Software control for the corresponding bit in the IM2_ISR register. */
++#define ICU0_IM2_IRSR_ICTRLL0 0x00000001
++
++/* Fields of "IM2 Interrupt Mode Register" */
++/** EIM Interrupt
++    Type of interrupt. */
++#define ICU0_IM2_IMR_EIM 0x80000000
++/* Indirect Interrupt.
++#define ICU0_IM2_IMR_EIM_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM2_IMR_EIM_DIR 0x80000000
++/** GTC Upstream Interrupt
++    Type of interrupt. */
++#define ICU0_IM2_IMR_GTC_US 0x40000000
++/* Indirect Interrupt.
++#define ICU0_IM2_IMR_GTC_US_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM2_IMR_GTC_US_DIR 0x40000000
++/** GTC Downstream Interrupt
++    Type of interrupt. */
++#define ICU0_IM2_IMR_GTC_DS 0x20000000
++/* Indirect Interrupt.
++#define ICU0_IM2_IMR_GTC_DS_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM2_IMR_GTC_DS_DIR 0x20000000
++/** TBM Interrupt
++    Type of interrupt. */
++#define ICU0_IM2_IMR_TBM 0x00400000
++/* Indirect Interrupt.
++#define ICU0_IM2_IMR_TBM_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM2_IMR_TBM_DIR 0x00400000
++/** Dispatcher Interrupt
++    Type of interrupt. */
++#define ICU0_IM2_IMR_DISP 0x00200000
++/* Indirect Interrupt.
++#define ICU0_IM2_IMR_DISP_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM2_IMR_DISP_DIR 0x00200000
++/** CONFIG Interrupt
++    Type of interrupt. */
++#define ICU0_IM2_IMR_CONFIG 0x00100000
++/* Indirect Interrupt.
++#define ICU0_IM2_IMR_CONFIG_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM2_IMR_CONFIG_DIR 0x00100000
++/** CONFIG Break Interrupt
++    Type of interrupt. */
++#define ICU0_IM2_IMR_CONFIG_BREAK 0x00080000
++/* Indirect Interrupt.
++#define ICU0_IM2_IMR_CONFIG_BREAK_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM2_IMR_CONFIG_BREAK_DIR 0x00080000
++/** OCTRLC Interrupt
++    Type of interrupt. */
++#define ICU0_IM2_IMR_OCTRLC 0x00040000
++/* Indirect Interrupt.
++#define ICU0_IM2_IMR_OCTRLC_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM2_IMR_OCTRLC_DIR 0x00040000
++/** ICTRLC 1 Interrupt
++    Type of interrupt. */
++#define ICU0_IM2_IMR_ICTRLC1 0x00020000
++/* Indirect Interrupt.
++#define ICU0_IM2_IMR_ICTRLC1_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM2_IMR_ICTRLC1_DIR 0x00020000
++/** ICTRLC 0 Interrupt
++    Type of interrupt. */
++#define ICU0_IM2_IMR_ICTRLC0 0x00010000
++/* Indirect Interrupt.
++#define ICU0_IM2_IMR_ICTRLC0_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM2_IMR_ICTRLC0_DIR 0x00010000
++/** LINK 1 Interrupt
++    Type of interrupt. */
++#define ICU0_IM2_IMR_LINK1 0x00004000
++/* Indirect Interrupt.
++#define ICU0_IM2_IMR_LINK1_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM2_IMR_LINK1_DIR 0x00004000
++/** TMU Interrupt
++    Type of interrupt. */
++#define ICU0_IM2_IMR_TMU 0x00001000
++/* Indirect Interrupt.
++#define ICU0_IM2_IMR_TMU_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM2_IMR_TMU_DIR 0x00001000
++/** FSQM Interrupt
++    Type of interrupt. */
++#define ICU0_IM2_IMR_FSQM 0x00000800
++/* Indirect Interrupt.
++#define ICU0_IM2_IMR_FSQM_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM2_IMR_FSQM_DIR 0x00000800
++/** IQM Interrupt
++    Type of interrupt. */
++#define ICU0_IM2_IMR_IQM 0x00000400
++/* Indirect Interrupt.
++#define ICU0_IM2_IMR_IQM_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM2_IMR_IQM_DIR 0x00000400
++/** OCTRLG Interrupt
++    Type of interrupt. */
++#define ICU0_IM2_IMR_OCTRLG 0x00000200
++/* Indirect Interrupt.
++#define ICU0_IM2_IMR_OCTRLG_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM2_IMR_OCTRLG_DIR 0x00000200
++/** OCTRLL 3 Interrupt
++    Type of interrupt. */
++#define ICU0_IM2_IMR_OCTRLL3 0x00000080
++/* Indirect Interrupt.
++#define ICU0_IM2_IMR_OCTRLL3_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM2_IMR_OCTRLL3_DIR 0x00000080
++/** OCTRLL 2 Interrupt
++    Type of interrupt. */
++#define ICU0_IM2_IMR_OCTRLL2 0x00000040
++/* Indirect Interrupt.
++#define ICU0_IM2_IMR_OCTRLL2_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM2_IMR_OCTRLL2_DIR 0x00000040
++/** OCTRLL 1 Interrupt
++    Type of interrupt. */
++#define ICU0_IM2_IMR_OCTRLL1 0x00000020
++/* Indirect Interrupt.
++#define ICU0_IM2_IMR_OCTRLL1_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM2_IMR_OCTRLL1_DIR 0x00000020
++/** OCTRLL 0 Interrupt
++    Type of interrupt. */
++#define ICU0_IM2_IMR_OCTRLL0 0x00000010
++/* Indirect Interrupt.
++#define ICU0_IM2_IMR_OCTRLL0_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM2_IMR_OCTRLL0_DIR 0x00000010
++/** ICTRLL 3 Interrupt
++    Type of interrupt. */
++#define ICU0_IM2_IMR_ICTRLL3 0x00000008
++/* Indirect Interrupt.
++#define ICU0_IM2_IMR_ICTRLL3_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM2_IMR_ICTRLL3_DIR 0x00000008
++/** ICTRLL 2 Interrupt
++    Type of interrupt. */
++#define ICU0_IM2_IMR_ICTRLL2 0x00000004
++/* Indirect Interrupt.
++#define ICU0_IM2_IMR_ICTRLL2_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM2_IMR_ICTRLL2_DIR 0x00000004
++/** ICTRLL 1 Interrupt
++    Type of interrupt. */
++#define ICU0_IM2_IMR_ICTRLL1 0x00000002
++/* Indirect Interrupt.
++#define ICU0_IM2_IMR_ICTRLL1_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM2_IMR_ICTRLL1_DIR 0x00000002
++/** ICTRLL 0 Interrupt
++    Type of interrupt. */
++#define ICU0_IM2_IMR_ICTRLL0 0x00000001
++/* Indirect Interrupt.
++#define ICU0_IM2_IMR_ICTRLL0_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM2_IMR_ICTRLL0_DIR 0x00000001
++
++/* Fields of "IM3 Interrupt Status Register" */
++/** DFEV0, Channel 0 General Purpose Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM3_ISR_DFEV0_1GP 0x80000000
++/* Nothing
++#define ICU0_IM3_ISR_DFEV0_1GP_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM3_ISR_DFEV0_1GP_INTACK 0x80000000
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_ISR_DFEV0_1GP_INTOCC 0x80000000
++/** DFEV0, Channel 0 Receive Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM3_ISR_DFEV0_1RX 0x40000000
++/* Nothing
++#define ICU0_IM3_ISR_DFEV0_1RX_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM3_ISR_DFEV0_1RX_INTACK 0x40000000
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_ISR_DFEV0_1RX_INTOCC 0x40000000
++/** DFEV0, Channel 0 Transmit Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM3_ISR_DFEV0_1TX 0x20000000
++/* Nothing
++#define ICU0_IM3_ISR_DFEV0_1TX_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM3_ISR_DFEV0_1TX_INTACK 0x20000000
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_ISR_DFEV0_1TX_INTOCC 0x20000000
++/** DFEV0, Channel 1 General Purpose Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM3_ISR_DFEV0_2GP 0x10000000
++/* Nothing
++#define ICU0_IM3_ISR_DFEV0_2GP_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM3_ISR_DFEV0_2GP_INTACK 0x10000000
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_ISR_DFEV0_2GP_INTOCC 0x10000000
++/** DFEV0, Channel 1 Receive Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM3_ISR_DFEV0_2RX 0x08000000
++/* Nothing
++#define ICU0_IM3_ISR_DFEV0_2RX_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM3_ISR_DFEV0_2RX_INTACK 0x08000000
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_ISR_DFEV0_2RX_INTOCC 0x08000000
++/** DFEV0, Channel 1 Transmit Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM3_ISR_DFEV0_2TX 0x04000000
++/* Nothing
++#define ICU0_IM3_ISR_DFEV0_2TX_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM3_ISR_DFEV0_2TX_INTACK 0x04000000
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_ISR_DFEV0_2TX_INTOCC 0x04000000
++/** GPTC Timer/Counter 3B Interrupt
++    This bit is a direct interrupt. */
++#define ICU0_IM3_ISR_GPTC_TC3B 0x00200000
++/* Nothing
++#define ICU0_IM3_ISR_GPTC_TC3B_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM3_ISR_GPTC_TC3B_INTACK 0x00200000
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_ISR_GPTC_TC3B_INTOCC 0x00200000
++/** GPTC Timer/Counter 3A Interrupt
++    This bit is a direct interrupt. */
++#define ICU0_IM3_ISR_GPTC_TC3A 0x00100000
++/* Nothing
++#define ICU0_IM3_ISR_GPTC_TC3A_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM3_ISR_GPTC_TC3A_INTACK 0x00100000
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_ISR_GPTC_TC3A_INTOCC 0x00100000
++/** GPTC Timer/Counter 2B Interrupt
++    This bit is a direct interrupt. */
++#define ICU0_IM3_ISR_GPTC_TC2B 0x00080000
++/* Nothing
++#define ICU0_IM3_ISR_GPTC_TC2B_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM3_ISR_GPTC_TC2B_INTACK 0x00080000
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_ISR_GPTC_TC2B_INTOCC 0x00080000
++/** GPTC Timer/Counter 2A Interrupt
++    This bit is a direct interrupt. */
++#define ICU0_IM3_ISR_GPTC_TC2A 0x00040000
++/* Nothing
++#define ICU0_IM3_ISR_GPTC_TC2A_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM3_ISR_GPTC_TC2A_INTACK 0x00040000
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_ISR_GPTC_TC2A_INTOCC 0x00040000
++/** GPTC Timer/Counter 1B Interrupt
++    This bit is a direct interrupt. */
++#define ICU0_IM3_ISR_GPTC_TC1B 0x00020000
++/* Nothing
++#define ICU0_IM3_ISR_GPTC_TC1B_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM3_ISR_GPTC_TC1B_INTACK 0x00020000
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_ISR_GPTC_TC1B_INTOCC 0x00020000
++/** GPTC Timer/Counter 1A Interrupt
++    This bit is a direct interrupt. */
++#define ICU0_IM3_ISR_GPTC_TC1A 0x00010000
++/* Nothing
++#define ICU0_IM3_ISR_GPTC_TC1A_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM3_ISR_GPTC_TC1A_INTACK 0x00010000
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_ISR_GPTC_TC1A_INTOCC 0x00010000
++/** ASC1 Soft Flow Control Interrupt
++    This bit is a direct interrupt. */
++#define ICU0_IM3_ISR_ASC1_SFC 0x00008000
++/* Nothing
++#define ICU0_IM3_ISR_ASC1_SFC_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM3_ISR_ASC1_SFC_INTACK 0x00008000
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_ISR_ASC1_SFC_INTOCC 0x00008000
++/** ASC1 Modem Status Interrupt
++    This bit is a direct interrupt. */
++#define ICU0_IM3_ISR_ASC1_MS 0x00004000
++/* Nothing
++#define ICU0_IM3_ISR_ASC1_MS_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM3_ISR_ASC1_MS_INTACK 0x00004000
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_ISR_ASC1_MS_INTOCC 0x00004000
++/** ASC1 Autobaud Detection Interrupt
++    This bit is a direct interrupt. */
++#define ICU0_IM3_ISR_ASC1_ABDET 0x00002000
++/* Nothing
++#define ICU0_IM3_ISR_ASC1_ABDET_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM3_ISR_ASC1_ABDET_INTACK 0x00002000
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_ISR_ASC1_ABDET_INTOCC 0x00002000
++/** ASC1 Autobaud Start Interrupt
++    This bit is a direct interrupt. */
++#define ICU0_IM3_ISR_ASC1_ABST 0x00001000
++/* Nothing
++#define ICU0_IM3_ISR_ASC1_ABST_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM3_ISR_ASC1_ABST_INTACK 0x00001000
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_ISR_ASC1_ABST_INTOCC 0x00001000
++/** ASC1 Transmit Buffer Interrupt
++    This bit is a direct interrupt. */
++#define ICU0_IM3_ISR_ASC1_TB 0x00000800
++/* Nothing
++#define ICU0_IM3_ISR_ASC1_TB_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM3_ISR_ASC1_TB_INTACK 0x00000800
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_ISR_ASC1_TB_INTOCC 0x00000800
++/** ASC1 Error Interrupt
++    This bit is a direct interrupt. */
++#define ICU0_IM3_ISR_ASC1_E 0x00000400
++/* Nothing
++#define ICU0_IM3_ISR_ASC1_E_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM3_ISR_ASC1_E_INTACK 0x00000400
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_ISR_ASC1_E_INTOCC 0x00000400
++/** ASC1 Receive Interrupt
++    This bit is a direct interrupt. */
++#define ICU0_IM3_ISR_ASC1_R 0x00000200
++/* Nothing
++#define ICU0_IM3_ISR_ASC1_R_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM3_ISR_ASC1_R_INTACK 0x00000200
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_ISR_ASC1_R_INTOCC 0x00000200
++/** ASC1 Transmit Interrupt
++    This bit is a direct interrupt. */
++#define ICU0_IM3_ISR_ASC1_T 0x00000100
++/* Nothing
++#define ICU0_IM3_ISR_ASC1_T_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM3_ISR_ASC1_T_INTACK 0x00000100
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_ISR_ASC1_T_INTOCC 0x00000100
++/** ASC0 Soft Flow Control Interrupt
++    This bit is a direct interrupt. */
++#define ICU0_IM3_ISR_ASC0_SFC 0x00000080
++/* Nothing
++#define ICU0_IM3_ISR_ASC0_SFC_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM3_ISR_ASC0_SFC_INTACK 0x00000080
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_ISR_ASC0_SFC_INTOCC 0x00000080
++/** ASC1 Modem Status Interrupt
++    This bit is a direct interrupt. */
++#define ICU0_IM3_ISR_ASC0_MS 0x00000040
++/* Nothing
++#define ICU0_IM3_ISR_ASC0_MS_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM3_ISR_ASC0_MS_INTACK 0x00000040
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_ISR_ASC0_MS_INTOCC 0x00000040
++/** ASC0 Autobaud Detection Interrupt
++    This bit is a direct interrupt. */
++#define ICU0_IM3_ISR_ASC0_ABDET 0x00000020
++/* Nothing
++#define ICU0_IM3_ISR_ASC0_ABDET_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM3_ISR_ASC0_ABDET_INTACK 0x00000020
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_ISR_ASC0_ABDET_INTOCC 0x00000020
++/** ASC0 Autobaud Start Interrupt
++    This bit is a direct interrupt. */
++#define ICU0_IM3_ISR_ASC0_ABST 0x00000010
++/* Nothing
++#define ICU0_IM3_ISR_ASC0_ABST_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM3_ISR_ASC0_ABST_INTACK 0x00000010
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_ISR_ASC0_ABST_INTOCC 0x00000010
++/** ASC0 Transmit Buffer Interrupt
++    This bit is a direct interrupt. */
++#define ICU0_IM3_ISR_ASC0_TB 0x00000008
++/* Nothing
++#define ICU0_IM3_ISR_ASC0_TB_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM3_ISR_ASC0_TB_INTACK 0x00000008
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_ISR_ASC0_TB_INTOCC 0x00000008
++/** ASC0 Error Interrupt
++    This bit is a direct interrupt. */
++#define ICU0_IM3_ISR_ASC0_E 0x00000004
++/* Nothing
++#define ICU0_IM3_ISR_ASC0_E_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM3_ISR_ASC0_E_INTACK 0x00000004
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_ISR_ASC0_E_INTOCC 0x00000004
++/** ASC0 Receive Interrupt
++    This bit is a direct interrupt. */
++#define ICU0_IM3_ISR_ASC0_R 0x00000002
++/* Nothing
++#define ICU0_IM3_ISR_ASC0_R_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM3_ISR_ASC0_R_INTACK 0x00000002
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_ISR_ASC0_R_INTOCC 0x00000002
++/** ASC0 Transmit Interrupt
++    This bit is a direct interrupt. */
++#define ICU0_IM3_ISR_ASC0_T 0x00000001
++/* Nothing
++#define ICU0_IM3_ISR_ASC0_T_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM3_ISR_ASC0_T_INTACK 0x00000001
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_ISR_ASC0_T_INTOCC 0x00000001
++
++/* Fields of "IM3 Interrupt Enable Register" */
++/** DFEV0, Channel 0 General Purpose Interrupt
++    Interrupt enable bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IER_DFEV0_1GP 0x80000000
++/* Disable
++#define ICU0_IM3_IER_DFEV0_1GP_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM3_IER_DFEV0_1GP_EN 0x80000000
++/** DFEV0, Channel 0 Receive Interrupt
++    Interrupt enable bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IER_DFEV0_1RX 0x40000000
++/* Disable
++#define ICU0_IM3_IER_DFEV0_1RX_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM3_IER_DFEV0_1RX_EN 0x40000000
++/** DFEV0, Channel 0 Transmit Interrupt
++    Interrupt enable bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IER_DFEV0_1TX 0x20000000
++/* Disable
++#define ICU0_IM3_IER_DFEV0_1TX_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM3_IER_DFEV0_1TX_EN 0x20000000
++/** DFEV0, Channel 1 General Purpose Interrupt
++    Interrupt enable bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IER_DFEV0_2GP 0x10000000
++/* Disable
++#define ICU0_IM3_IER_DFEV0_2GP_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM3_IER_DFEV0_2GP_EN 0x10000000
++/** DFEV0, Channel 1 Receive Interrupt
++    Interrupt enable bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IER_DFEV0_2RX 0x08000000
++/* Disable
++#define ICU0_IM3_IER_DFEV0_2RX_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM3_IER_DFEV0_2RX_EN 0x08000000
++/** DFEV0, Channel 1 Transmit Interrupt
++    Interrupt enable bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IER_DFEV0_2TX 0x04000000
++/* Disable
++#define ICU0_IM3_IER_DFEV0_2TX_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM3_IER_DFEV0_2TX_EN 0x04000000
++/** GPTC Timer/Counter 3B Interrupt
++    Interrupt enable bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IER_GPTC_TC3B 0x00200000
++/* Disable
++#define ICU0_IM3_IER_GPTC_TC3B_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM3_IER_GPTC_TC3B_EN 0x00200000
++/** GPTC Timer/Counter 3A Interrupt
++    Interrupt enable bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IER_GPTC_TC3A 0x00100000
++/* Disable
++#define ICU0_IM3_IER_GPTC_TC3A_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM3_IER_GPTC_TC3A_EN 0x00100000
++/** GPTC Timer/Counter 2B Interrupt
++    Interrupt enable bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IER_GPTC_TC2B 0x00080000
++/* Disable
++#define ICU0_IM3_IER_GPTC_TC2B_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM3_IER_GPTC_TC2B_EN 0x00080000
++/** GPTC Timer/Counter 2A Interrupt
++    Interrupt enable bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IER_GPTC_TC2A 0x00040000
++/* Disable
++#define ICU0_IM3_IER_GPTC_TC2A_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM3_IER_GPTC_TC2A_EN 0x00040000
++/** GPTC Timer/Counter 1B Interrupt
++    Interrupt enable bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IER_GPTC_TC1B 0x00020000
++/* Disable
++#define ICU0_IM3_IER_GPTC_TC1B_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM3_IER_GPTC_TC1B_EN 0x00020000
++/** GPTC Timer/Counter 1A Interrupt
++    Interrupt enable bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IER_GPTC_TC1A 0x00010000
++/* Disable
++#define ICU0_IM3_IER_GPTC_TC1A_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM3_IER_GPTC_TC1A_EN 0x00010000
++/** ASC1 Soft Flow Control Interrupt
++    Interrupt enable bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IER_ASC1_SFC 0x00008000
++/* Disable
++#define ICU0_IM3_IER_ASC1_SFC_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM3_IER_ASC1_SFC_EN 0x00008000
++/** ASC1 Modem Status Interrupt
++    Interrupt enable bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IER_ASC1_MS 0x00004000
++/* Disable
++#define ICU0_IM3_IER_ASC1_MS_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM3_IER_ASC1_MS_EN 0x00004000
++/** ASC1 Autobaud Detection Interrupt
++    Interrupt enable bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IER_ASC1_ABDET 0x00002000
++/* Disable
++#define ICU0_IM3_IER_ASC1_ABDET_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM3_IER_ASC1_ABDET_EN 0x00002000
++/** ASC1 Autobaud Start Interrupt
++    Interrupt enable bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IER_ASC1_ABST 0x00001000
++/* Disable
++#define ICU0_IM3_IER_ASC1_ABST_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM3_IER_ASC1_ABST_EN 0x00001000
++/** ASC1 Transmit Buffer Interrupt
++    Interrupt enable bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IER_ASC1_TB 0x00000800
++/* Disable
++#define ICU0_IM3_IER_ASC1_TB_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM3_IER_ASC1_TB_EN 0x00000800
++/** ASC1 Error Interrupt
++    Interrupt enable bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IER_ASC1_E 0x00000400
++/* Disable
++#define ICU0_IM3_IER_ASC1_E_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM3_IER_ASC1_E_EN 0x00000400
++/** ASC1 Receive Interrupt
++    Interrupt enable bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IER_ASC1_R 0x00000200
++/* Disable
++#define ICU0_IM3_IER_ASC1_R_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM3_IER_ASC1_R_EN 0x00000200
++/** ASC1 Transmit Interrupt
++    Interrupt enable bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IER_ASC1_T 0x00000100
++/* Disable
++#define ICU0_IM3_IER_ASC1_T_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM3_IER_ASC1_T_EN 0x00000100
++/** ASC0 Soft Flow Control Interrupt
++    Interrupt enable bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IER_ASC0_SFC 0x00000080
++/* Disable
++#define ICU0_IM3_IER_ASC0_SFC_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM3_IER_ASC0_SFC_EN 0x00000080
++/** ASC1 Modem Status Interrupt
++    Interrupt enable bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IER_ASC0_MS 0x00000040
++/* Disable
++#define ICU0_IM3_IER_ASC0_MS_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM3_IER_ASC0_MS_EN 0x00000040
++/** ASC0 Autobaud Detection Interrupt
++    Interrupt enable bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IER_ASC0_ABDET 0x00000020
++/* Disable
++#define ICU0_IM3_IER_ASC0_ABDET_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM3_IER_ASC0_ABDET_EN 0x00000020
++/** ASC0 Autobaud Start Interrupt
++    Interrupt enable bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IER_ASC0_ABST 0x00000010
++/* Disable
++#define ICU0_IM3_IER_ASC0_ABST_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM3_IER_ASC0_ABST_EN 0x00000010
++/** ASC0 Transmit Buffer Interrupt
++    Interrupt enable bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IER_ASC0_TB 0x00000008
++/* Disable
++#define ICU0_IM3_IER_ASC0_TB_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM3_IER_ASC0_TB_EN 0x00000008
++/** ASC0 Error Interrupt
++    Interrupt enable bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IER_ASC0_E 0x00000004
++/* Disable
++#define ICU0_IM3_IER_ASC0_E_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM3_IER_ASC0_E_EN 0x00000004
++/** ASC0 Receive Interrupt
++    Interrupt enable bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IER_ASC0_R 0x00000002
++/* Disable
++#define ICU0_IM3_IER_ASC0_R_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM3_IER_ASC0_R_EN 0x00000002
++/** ASC0 Transmit Interrupt
++    Interrupt enable bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IER_ASC0_T 0x00000001
++/* Disable
++#define ICU0_IM3_IER_ASC0_T_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM3_IER_ASC0_T_EN 0x00000001
++
++/* Fields of "IM3 Interrupt Output Status Register" */
++/** DFEV0, Channel 0 General Purpose Interrupt
++    Masked interrupt bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IOSR_DFEV0_1GP 0x80000000
++/* Nothing
++#define ICU0_IM3_IOSR_DFEV0_1GP_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_IOSR_DFEV0_1GP_INTOCC 0x80000000
++/** DFEV0, Channel 0 Receive Interrupt
++    Masked interrupt bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IOSR_DFEV0_1RX 0x40000000
++/* Nothing
++#define ICU0_IM3_IOSR_DFEV0_1RX_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_IOSR_DFEV0_1RX_INTOCC 0x40000000
++/** DFEV0, Channel 0 Transmit Interrupt
++    Masked interrupt bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IOSR_DFEV0_1TX 0x20000000
++/* Nothing
++#define ICU0_IM3_IOSR_DFEV0_1TX_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_IOSR_DFEV0_1TX_INTOCC 0x20000000
++/** DFEV0, Channel 1 General Purpose Interrupt
++    Masked interrupt bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IOSR_DFEV0_2GP 0x10000000
++/* Nothing
++#define ICU0_IM3_IOSR_DFEV0_2GP_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_IOSR_DFEV0_2GP_INTOCC 0x10000000
++/** DFEV0, Channel 1 Receive Interrupt
++    Masked interrupt bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IOSR_DFEV0_2RX 0x08000000
++/* Nothing
++#define ICU0_IM3_IOSR_DFEV0_2RX_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_IOSR_DFEV0_2RX_INTOCC 0x08000000
++/** DFEV0, Channel 1 Transmit Interrupt
++    Masked interrupt bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IOSR_DFEV0_2TX 0x04000000
++/* Nothing
++#define ICU0_IM3_IOSR_DFEV0_2TX_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_IOSR_DFEV0_2TX_INTOCC 0x04000000
++/** GPTC Timer/Counter 3B Interrupt
++    Masked interrupt bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IOSR_GPTC_TC3B 0x00200000
++/* Nothing
++#define ICU0_IM3_IOSR_GPTC_TC3B_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_IOSR_GPTC_TC3B_INTOCC 0x00200000
++/** GPTC Timer/Counter 3A Interrupt
++    Masked interrupt bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IOSR_GPTC_TC3A 0x00100000
++/* Nothing
++#define ICU0_IM3_IOSR_GPTC_TC3A_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_IOSR_GPTC_TC3A_INTOCC 0x00100000
++/** GPTC Timer/Counter 2B Interrupt
++    Masked interrupt bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IOSR_GPTC_TC2B 0x00080000
++/* Nothing
++#define ICU0_IM3_IOSR_GPTC_TC2B_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_IOSR_GPTC_TC2B_INTOCC 0x00080000
++/** GPTC Timer/Counter 2A Interrupt
++    Masked interrupt bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IOSR_GPTC_TC2A 0x00040000
++/* Nothing
++#define ICU0_IM3_IOSR_GPTC_TC2A_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_IOSR_GPTC_TC2A_INTOCC 0x00040000
++/** GPTC Timer/Counter 1B Interrupt
++    Masked interrupt bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IOSR_GPTC_TC1B 0x00020000
++/* Nothing
++#define ICU0_IM3_IOSR_GPTC_TC1B_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_IOSR_GPTC_TC1B_INTOCC 0x00020000
++/** GPTC Timer/Counter 1A Interrupt
++    Masked interrupt bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IOSR_GPTC_TC1A 0x00010000
++/* Nothing
++#define ICU0_IM3_IOSR_GPTC_TC1A_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_IOSR_GPTC_TC1A_INTOCC 0x00010000
++/** ASC1 Soft Flow Control Interrupt
++    Masked interrupt bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IOSR_ASC1_SFC 0x00008000
++/* Nothing
++#define ICU0_IM3_IOSR_ASC1_SFC_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_IOSR_ASC1_SFC_INTOCC 0x00008000
++/** ASC1 Modem Status Interrupt
++    Masked interrupt bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IOSR_ASC1_MS 0x00004000
++/* Nothing
++#define ICU0_IM3_IOSR_ASC1_MS_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_IOSR_ASC1_MS_INTOCC 0x00004000
++/** ASC1 Autobaud Detection Interrupt
++    Masked interrupt bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IOSR_ASC1_ABDET 0x00002000
++/* Nothing
++#define ICU0_IM3_IOSR_ASC1_ABDET_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_IOSR_ASC1_ABDET_INTOCC 0x00002000
++/** ASC1 Autobaud Start Interrupt
++    Masked interrupt bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IOSR_ASC1_ABST 0x00001000
++/* Nothing
++#define ICU0_IM3_IOSR_ASC1_ABST_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_IOSR_ASC1_ABST_INTOCC 0x00001000
++/** ASC1 Transmit Buffer Interrupt
++    Masked interrupt bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IOSR_ASC1_TB 0x00000800
++/* Nothing
++#define ICU0_IM3_IOSR_ASC1_TB_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_IOSR_ASC1_TB_INTOCC 0x00000800
++/** ASC1 Error Interrupt
++    Masked interrupt bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IOSR_ASC1_E 0x00000400
++/* Nothing
++#define ICU0_IM3_IOSR_ASC1_E_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_IOSR_ASC1_E_INTOCC 0x00000400
++/** ASC1 Receive Interrupt
++    Masked interrupt bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IOSR_ASC1_R 0x00000200
++/* Nothing
++#define ICU0_IM3_IOSR_ASC1_R_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_IOSR_ASC1_R_INTOCC 0x00000200
++/** ASC1 Transmit Interrupt
++    Masked interrupt bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IOSR_ASC1_T 0x00000100
++/* Nothing
++#define ICU0_IM3_IOSR_ASC1_T_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_IOSR_ASC1_T_INTOCC 0x00000100
++/** ASC0 Soft Flow Control Interrupt
++    Masked interrupt bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IOSR_ASC0_SFC 0x00000080
++/* Nothing
++#define ICU0_IM3_IOSR_ASC0_SFC_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_IOSR_ASC0_SFC_INTOCC 0x00000080
++/** ASC1 Modem Status Interrupt
++    Masked interrupt bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IOSR_ASC0_MS 0x00000040
++/* Nothing
++#define ICU0_IM3_IOSR_ASC0_MS_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_IOSR_ASC0_MS_INTOCC 0x00000040
++/** ASC0 Autobaud Detection Interrupt
++    Masked interrupt bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IOSR_ASC0_ABDET 0x00000020
++/* Nothing
++#define ICU0_IM3_IOSR_ASC0_ABDET_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_IOSR_ASC0_ABDET_INTOCC 0x00000020
++/** ASC0 Autobaud Start Interrupt
++    Masked interrupt bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IOSR_ASC0_ABST 0x00000010
++/* Nothing
++#define ICU0_IM3_IOSR_ASC0_ABST_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_IOSR_ASC0_ABST_INTOCC 0x00000010
++/** ASC0 Transmit Buffer Interrupt
++    Masked interrupt bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IOSR_ASC0_TB 0x00000008
++/* Nothing
++#define ICU0_IM3_IOSR_ASC0_TB_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_IOSR_ASC0_TB_INTOCC 0x00000008
++/** ASC0 Error Interrupt
++    Masked interrupt bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IOSR_ASC0_E 0x00000004
++/* Nothing
++#define ICU0_IM3_IOSR_ASC0_E_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_IOSR_ASC0_E_INTOCC 0x00000004
++/** ASC0 Receive Interrupt
++    Masked interrupt bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IOSR_ASC0_R 0x00000002
++/* Nothing
++#define ICU0_IM3_IOSR_ASC0_R_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_IOSR_ASC0_R_INTOCC 0x00000002
++/** ASC0 Transmit Interrupt
++    Masked interrupt bit for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IOSR_ASC0_T 0x00000001
++/* Nothing
++#define ICU0_IM3_IOSR_ASC0_T_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM3_IOSR_ASC0_T_INTOCC 0x00000001
++
++/* Fields of "IM3 Interrupt Request Set Register" */
++/** DFEV0, Channel 0 General Purpose Interrupt
++    Software control for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IRSR_DFEV0_1GP 0x80000000
++/** DFEV0, Channel 0 Receive Interrupt
++    Software control for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IRSR_DFEV0_1RX 0x40000000
++/** DFEV0, Channel 0 Transmit Interrupt
++    Software control for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IRSR_DFEV0_1TX 0x20000000
++/** DFEV0, Channel 1 General Purpose Interrupt
++    Software control for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IRSR_DFEV0_2GP 0x10000000
++/** DFEV0, Channel 1 Receive Interrupt
++    Software control for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IRSR_DFEV0_2RX 0x08000000
++/** DFEV0, Channel 1 Transmit Interrupt
++    Software control for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IRSR_DFEV0_2TX 0x04000000
++/** GPTC Timer/Counter 3B Interrupt
++    Software control for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IRSR_GPTC_TC3B 0x00200000
++/** GPTC Timer/Counter 3A Interrupt
++    Software control for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IRSR_GPTC_TC3A 0x00100000
++/** GPTC Timer/Counter 2B Interrupt
++    Software control for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IRSR_GPTC_TC2B 0x00080000
++/** GPTC Timer/Counter 2A Interrupt
++    Software control for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IRSR_GPTC_TC2A 0x00040000
++/** GPTC Timer/Counter 1B Interrupt
++    Software control for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IRSR_GPTC_TC1B 0x00020000
++/** GPTC Timer/Counter 1A Interrupt
++    Software control for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IRSR_GPTC_TC1A 0x00010000
++/** ASC1 Soft Flow Control Interrupt
++    Software control for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IRSR_ASC1_SFC 0x00008000
++/** ASC1 Modem Status Interrupt
++    Software control for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IRSR_ASC1_MS 0x00004000
++/** ASC1 Autobaud Detection Interrupt
++    Software control for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IRSR_ASC1_ABDET 0x00002000
++/** ASC1 Autobaud Start Interrupt
++    Software control for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IRSR_ASC1_ABST 0x00001000
++/** ASC1 Transmit Buffer Interrupt
++    Software control for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IRSR_ASC1_TB 0x00000800
++/** ASC1 Error Interrupt
++    Software control for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IRSR_ASC1_E 0x00000400
++/** ASC1 Receive Interrupt
++    Software control for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IRSR_ASC1_R 0x00000200
++/** ASC1 Transmit Interrupt
++    Software control for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IRSR_ASC1_T 0x00000100
++/** ASC0 Soft Flow Control Interrupt
++    Software control for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IRSR_ASC0_SFC 0x00000080
++/** ASC1 Modem Status Interrupt
++    Software control for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IRSR_ASC0_MS 0x00000040
++/** ASC0 Autobaud Detection Interrupt
++    Software control for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IRSR_ASC0_ABDET 0x00000020
++/** ASC0 Autobaud Start Interrupt
++    Software control for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IRSR_ASC0_ABST 0x00000010
++/** ASC0 Transmit Buffer Interrupt
++    Software control for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IRSR_ASC0_TB 0x00000008
++/** ASC0 Error Interrupt
++    Software control for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IRSR_ASC0_E 0x00000004
++/** ASC0 Receive Interrupt
++    Software control for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IRSR_ASC0_R 0x00000002
++/** ASC0 Transmit Interrupt
++    Software control for the corresponding bit in the IM3_ISR register. */
++#define ICU0_IM3_IRSR_ASC0_T 0x00000001
++
++/* Fields of "IM3 Interrupt Mode Register" */
++/** DFEV0, Channel 0 General Purpose Interrupt
++    Type of interrupt. */
++#define ICU0_IM3_IMR_DFEV0_1GP 0x80000000
++/* Indirect Interrupt.
++#define ICU0_IM3_IMR_DFEV0_1GP_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM3_IMR_DFEV0_1GP_DIR 0x80000000
++/** DFEV0, Channel 0 Receive Interrupt
++    Type of interrupt. */
++#define ICU0_IM3_IMR_DFEV0_1RX 0x40000000
++/* Indirect Interrupt.
++#define ICU0_IM3_IMR_DFEV0_1RX_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM3_IMR_DFEV0_1RX_DIR 0x40000000
++/** DFEV0, Channel 0 Transmit Interrupt
++    Type of interrupt. */
++#define ICU0_IM3_IMR_DFEV0_1TX 0x20000000
++/* Indirect Interrupt.
++#define ICU0_IM3_IMR_DFEV0_1TX_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM3_IMR_DFEV0_1TX_DIR 0x20000000
++/** DFEV0, Channel 1 General Purpose Interrupt
++    Type of interrupt. */
++#define ICU0_IM3_IMR_DFEV0_2GP 0x10000000
++/* Indirect Interrupt.
++#define ICU0_IM3_IMR_DFEV0_2GP_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM3_IMR_DFEV0_2GP_DIR 0x10000000
++/** DFEV0, Channel 1 Receive Interrupt
++    Type of interrupt. */
++#define ICU0_IM3_IMR_DFEV0_2RX 0x08000000
++/* Indirect Interrupt.
++#define ICU0_IM3_IMR_DFEV0_2RX_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM3_IMR_DFEV0_2RX_DIR 0x08000000
++/** DFEV0, Channel 1 Transmit Interrupt
++    Type of interrupt. */
++#define ICU0_IM3_IMR_DFEV0_2TX 0x04000000
++/* Indirect Interrupt.
++#define ICU0_IM3_IMR_DFEV0_2TX_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM3_IMR_DFEV0_2TX_DIR 0x04000000
++/** GPTC Timer/Counter 3B Interrupt
++    Type of interrupt. */
++#define ICU0_IM3_IMR_GPTC_TC3B 0x00200000
++/* Indirect Interrupt.
++#define ICU0_IM3_IMR_GPTC_TC3B_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM3_IMR_GPTC_TC3B_DIR 0x00200000
++/** GPTC Timer/Counter 3A Interrupt
++    Type of interrupt. */
++#define ICU0_IM3_IMR_GPTC_TC3A 0x00100000
++/* Indirect Interrupt.
++#define ICU0_IM3_IMR_GPTC_TC3A_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM3_IMR_GPTC_TC3A_DIR 0x00100000
++/** GPTC Timer/Counter 2B Interrupt
++    Type of interrupt. */
++#define ICU0_IM3_IMR_GPTC_TC2B 0x00080000
++/* Indirect Interrupt.
++#define ICU0_IM3_IMR_GPTC_TC2B_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM3_IMR_GPTC_TC2B_DIR 0x00080000
++/** GPTC Timer/Counter 2A Interrupt
++    Type of interrupt. */
++#define ICU0_IM3_IMR_GPTC_TC2A 0x00040000
++/* Indirect Interrupt.
++#define ICU0_IM3_IMR_GPTC_TC2A_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM3_IMR_GPTC_TC2A_DIR 0x00040000
++/** GPTC Timer/Counter 1B Interrupt
++    Type of interrupt. */
++#define ICU0_IM3_IMR_GPTC_TC1B 0x00020000
++/* Indirect Interrupt.
++#define ICU0_IM3_IMR_GPTC_TC1B_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM3_IMR_GPTC_TC1B_DIR 0x00020000
++/** GPTC Timer/Counter 1A Interrupt
++    Type of interrupt. */
++#define ICU0_IM3_IMR_GPTC_TC1A 0x00010000
++/* Indirect Interrupt.
++#define ICU0_IM3_IMR_GPTC_TC1A_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM3_IMR_GPTC_TC1A_DIR 0x00010000
++/** ASC1 Soft Flow Control Interrupt
++    Type of interrupt. */
++#define ICU0_IM3_IMR_ASC1_SFC 0x00008000
++/* Indirect Interrupt.
++#define ICU0_IM3_IMR_ASC1_SFC_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM3_IMR_ASC1_SFC_DIR 0x00008000
++/** ASC1 Modem Status Interrupt
++    Type of interrupt. */
++#define ICU0_IM3_IMR_ASC1_MS 0x00004000
++/* Indirect Interrupt.
++#define ICU0_IM3_IMR_ASC1_MS_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM3_IMR_ASC1_MS_DIR 0x00004000
++/** ASC1 Autobaud Detection Interrupt
++    Type of interrupt. */
++#define ICU0_IM3_IMR_ASC1_ABDET 0x00002000
++/* Indirect Interrupt.
++#define ICU0_IM3_IMR_ASC1_ABDET_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM3_IMR_ASC1_ABDET_DIR 0x00002000
++/** ASC1 Autobaud Start Interrupt
++    Type of interrupt. */
++#define ICU0_IM3_IMR_ASC1_ABST 0x00001000
++/* Indirect Interrupt.
++#define ICU0_IM3_IMR_ASC1_ABST_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM3_IMR_ASC1_ABST_DIR 0x00001000
++/** ASC1 Transmit Buffer Interrupt
++    Type of interrupt. */
++#define ICU0_IM3_IMR_ASC1_TB 0x00000800
++/* Indirect Interrupt.
++#define ICU0_IM3_IMR_ASC1_TB_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM3_IMR_ASC1_TB_DIR 0x00000800
++/** ASC1 Error Interrupt
++    Type of interrupt. */
++#define ICU0_IM3_IMR_ASC1_E 0x00000400
++/* Indirect Interrupt.
++#define ICU0_IM3_IMR_ASC1_E_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM3_IMR_ASC1_E_DIR 0x00000400
++/** ASC1 Receive Interrupt
++    Type of interrupt. */
++#define ICU0_IM3_IMR_ASC1_R 0x00000200
++/* Indirect Interrupt.
++#define ICU0_IM3_IMR_ASC1_R_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM3_IMR_ASC1_R_DIR 0x00000200
++/** ASC1 Transmit Interrupt
++    Type of interrupt. */
++#define ICU0_IM3_IMR_ASC1_T 0x00000100
++/* Indirect Interrupt.
++#define ICU0_IM3_IMR_ASC1_T_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM3_IMR_ASC1_T_DIR 0x00000100
++/** ASC0 Soft Flow Control Interrupt
++    Type of interrupt. */
++#define ICU0_IM3_IMR_ASC0_SFC 0x00000080
++/* Indirect Interrupt.
++#define ICU0_IM3_IMR_ASC0_SFC_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM3_IMR_ASC0_SFC_DIR 0x00000080
++/** ASC1 Modem Status Interrupt
++    Type of interrupt. */
++#define ICU0_IM3_IMR_ASC0_MS 0x00000040
++/* Indirect Interrupt.
++#define ICU0_IM3_IMR_ASC0_MS_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM3_IMR_ASC0_MS_DIR 0x00000040
++/** ASC0 Autobaud Detection Interrupt
++    Type of interrupt. */
++#define ICU0_IM3_IMR_ASC0_ABDET 0x00000020
++/* Indirect Interrupt.
++#define ICU0_IM3_IMR_ASC0_ABDET_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM3_IMR_ASC0_ABDET_DIR 0x00000020
++/** ASC0 Autobaud Start Interrupt
++    Type of interrupt. */
++#define ICU0_IM3_IMR_ASC0_ABST 0x00000010
++/* Indirect Interrupt.
++#define ICU0_IM3_IMR_ASC0_ABST_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM3_IMR_ASC0_ABST_DIR 0x00000010
++/** ASC0 Transmit Buffer Interrupt
++    Type of interrupt. */
++#define ICU0_IM3_IMR_ASC0_TB 0x00000008
++/* Indirect Interrupt.
++#define ICU0_IM3_IMR_ASC0_TB_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM3_IMR_ASC0_TB_DIR 0x00000008
++/** ASC0 Error Interrupt
++    Type of interrupt. */
++#define ICU0_IM3_IMR_ASC0_E 0x00000004
++/* Indirect Interrupt.
++#define ICU0_IM3_IMR_ASC0_E_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM3_IMR_ASC0_E_DIR 0x00000004
++/** ASC0 Receive Interrupt
++    Type of interrupt. */
++#define ICU0_IM3_IMR_ASC0_R 0x00000002
++/* Indirect Interrupt.
++#define ICU0_IM3_IMR_ASC0_R_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM3_IMR_ASC0_R_DIR 0x00000002
++/** ASC0 Transmit Interrupt
++    Type of interrupt. */
++#define ICU0_IM3_IMR_ASC0_T 0x00000001
++/* Indirect Interrupt.
++#define ICU0_IM3_IMR_ASC0_T_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM3_IMR_ASC0_T_DIR 0x00000001
++
++/* Fields of "IM4 Interrupt Status Register" */
++/** VPE0 Performance Monitoring Counter Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM4_ISR_VPE0_PMCIR 0x80000000
++/* Nothing
++#define ICU0_IM4_ISR_VPE0_PMCIR_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM4_ISR_VPE0_PMCIR_INTACK 0x80000000
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_ISR_VPE0_PMCIR_INTOCC 0x80000000
++/** VPE0 Error Level Flag Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM4_ISR_VPE0_ERL 0x40000000
++/* Nothing
++#define ICU0_IM4_ISR_VPE0_ERL_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM4_ISR_VPE0_ERL_INTACK 0x40000000
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_ISR_VPE0_ERL_INTOCC 0x40000000
++/** VPE0 Exception Level Flag Interrupt
++    This bit is an indirect interrupt. */
++#define ICU0_IM4_ISR_VPE0_EXL 0x20000000
++/* Nothing
++#define ICU0_IM4_ISR_VPE0_EXL_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM4_ISR_VPE0_EXL_INTACK 0x20000000
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_ISR_VPE0_EXL_INTOCC 0x20000000
++/** MPS Bin. Sem Interrupt to VPE0
++    This bit is an indirect interrupt. */
++#define ICU0_IM4_ISR_MPS_IR8 0x00400000
++/* Nothing
++#define ICU0_IM4_ISR_MPS_IR8_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM4_ISR_MPS_IR8_INTACK 0x00400000
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_ISR_MPS_IR8_INTOCC 0x00400000
++/** MPS Global Interrupt to VPE0
++    This bit is an indirect interrupt. */
++#define ICU0_IM4_ISR_MPS_IR7 0x00200000
++/* Nothing
++#define ICU0_IM4_ISR_MPS_IR7_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM4_ISR_MPS_IR7_INTACK 0x00200000
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_ISR_MPS_IR7_INTOCC 0x00200000
++/** MPS Status Interrupt #6 (VPE1 to VPE0)
++    This bit is an indirect interrupt. */
++#define ICU0_IM4_ISR_MPS_IR6 0x00100000
++/* Nothing
++#define ICU0_IM4_ISR_MPS_IR6_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM4_ISR_MPS_IR6_INTACK 0x00100000
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_ISR_MPS_IR6_INTOCC 0x00100000
++/** MPS Status Interrupt #5 (VPE1 to VPE0)
++    This bit is an indirect interrupt. */
++#define ICU0_IM4_ISR_MPS_IR5 0x00080000
++/* Nothing
++#define ICU0_IM4_ISR_MPS_IR5_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM4_ISR_MPS_IR5_INTACK 0x00080000
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_ISR_MPS_IR5_INTOCC 0x00080000
++/** MPS Status Interrupt #4 (VPE1 to VPE0)
++    This bit is an indirect interrupt. */
++#define ICU0_IM4_ISR_MPS_IR4 0x00040000
++/* Nothing
++#define ICU0_IM4_ISR_MPS_IR4_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM4_ISR_MPS_IR4_INTACK 0x00040000
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_ISR_MPS_IR4_INTOCC 0x00040000
++/** MPS Status Interrupt #3 (VPE1 to VPE0)
++    This bit is an indirect interrupt. */
++#define ICU0_IM4_ISR_MPS_IR3 0x00020000
++/* Nothing
++#define ICU0_IM4_ISR_MPS_IR3_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM4_ISR_MPS_IR3_INTACK 0x00020000
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_ISR_MPS_IR3_INTOCC 0x00020000
++/** MPS Status Interrupt #2 (VPE1 to VPE0)
++    This bit is an indirect interrupt. */
++#define ICU0_IM4_ISR_MPS_IR2 0x00010000
++/* Nothing
++#define ICU0_IM4_ISR_MPS_IR2_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM4_ISR_MPS_IR2_INTACK 0x00010000
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_ISR_MPS_IR2_INTOCC 0x00010000
++/** MPS Status Interrupt #1 (VPE1 to VPE0)
++    This bit is an indirect interrupt. */
++#define ICU0_IM4_ISR_MPS_IR1 0x00008000
++/* Nothing
++#define ICU0_IM4_ISR_MPS_IR1_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM4_ISR_MPS_IR1_INTACK 0x00008000
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_ISR_MPS_IR1_INTOCC 0x00008000
++/** MPS Status Interrupt #0 (VPE1 to VPE0)
++    This bit is an indirect interrupt. */
++#define ICU0_IM4_ISR_MPS_IR0 0x00004000
++/* Nothing
++#define ICU0_IM4_ISR_MPS_IR0_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM4_ISR_MPS_IR0_INTACK 0x00004000
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_ISR_MPS_IR0_INTOCC 0x00004000
++/** TMU Error
++    This bit is an indirect interrupt. */
++#define ICU0_IM4_ISR_TMU_ERR 0x00001000
++/* Nothing
++#define ICU0_IM4_ISR_TMU_ERR_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM4_ISR_TMU_ERR_INTACK 0x00001000
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_ISR_TMU_ERR_INTOCC 0x00001000
++/** FSQM Error
++    This bit is an indirect interrupt. */
++#define ICU0_IM4_ISR_FSQM_ERR 0x00000800
++/* Nothing
++#define ICU0_IM4_ISR_FSQM_ERR_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM4_ISR_FSQM_ERR_INTACK 0x00000800
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_ISR_FSQM_ERR_INTOCC 0x00000800
++/** IQM Error
++    This bit is an indirect interrupt. */
++#define ICU0_IM4_ISR_IQM_ERR 0x00000400
++/* Nothing
++#define ICU0_IM4_ISR_IQM_ERR_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM4_ISR_IQM_ERR_INTACK 0x00000400
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_ISR_IQM_ERR_INTOCC 0x00000400
++/** OCTRLG Error
++    This bit is an indirect interrupt. */
++#define ICU0_IM4_ISR_OCTRLG_ERR 0x00000200
++/* Nothing
++#define ICU0_IM4_ISR_OCTRLG_ERR_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM4_ISR_OCTRLG_ERR_INTACK 0x00000200
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_ISR_OCTRLG_ERR_INTOCC 0x00000200
++/** ICTRLG Error
++    This bit is an indirect interrupt. */
++#define ICU0_IM4_ISR_ICTRLG_ERR 0x00000100
++/* Nothing
++#define ICU0_IM4_ISR_ICTRLG_ERR_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM4_ISR_ICTRLG_ERR_INTACK 0x00000100
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_ISR_ICTRLG_ERR_INTOCC 0x00000100
++/** OCTRLL 3 Error
++    This bit is an indirect interrupt. */
++#define ICU0_IM4_ISR_OCTRLL3_ERR 0x00000080
++/* Nothing
++#define ICU0_IM4_ISR_OCTRLL3_ERR_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM4_ISR_OCTRLL3_ERR_INTACK 0x00000080
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_ISR_OCTRLL3_ERR_INTOCC 0x00000080
++/** OCTRLL 2 Error
++    This bit is an indirect interrupt. */
++#define ICU0_IM4_ISR_OCTRLL2_ERR 0x00000040
++/* Nothing
++#define ICU0_IM4_ISR_OCTRLL2_ERR_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM4_ISR_OCTRLL2_ERR_INTACK 0x00000040
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_ISR_OCTRLL2_ERR_INTOCC 0x00000040
++/** OCTRLL 1 Error
++    This bit is an indirect interrupt. */
++#define ICU0_IM4_ISR_OCTRLL1_ERR 0x00000020
++/* Nothing
++#define ICU0_IM4_ISR_OCTRLL1_ERR_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM4_ISR_OCTRLL1_ERR_INTACK 0x00000020
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_ISR_OCTRLL1_ERR_INTOCC 0x00000020
++/** OCTRLL 0 Error
++    This bit is an indirect interrupt. */
++#define ICU0_IM4_ISR_OCTRLL0_ERR 0x00000010
++/* Nothing
++#define ICU0_IM4_ISR_OCTRLL0_ERR_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM4_ISR_OCTRLL0_ERR_INTACK 0x00000010
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_ISR_OCTRLL0_ERR_INTOCC 0x00000010
++/** ICTRLL 3 Error
++    This bit is an indirect interrupt. */
++#define ICU0_IM4_ISR_ICTRLL3_ERR 0x00000008
++/* Nothing
++#define ICU0_IM4_ISR_ICTRLL3_ERR_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM4_ISR_ICTRLL3_ERR_INTACK 0x00000008
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_ISR_ICTRLL3_ERR_INTOCC 0x00000008
++/** ICTRLL 2 Error
++    This bit is an indirect interrupt. */
++#define ICU0_IM4_ISR_ICTRLL2_ERR 0x00000004
++/* Nothing
++#define ICU0_IM4_ISR_ICTRLL2_ERR_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM4_ISR_ICTRLL2_ERR_INTACK 0x00000004
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_ISR_ICTRLL2_ERR_INTOCC 0x00000004
++/** ICTRLL 1 Error
++    This bit is an indirect interrupt. */
++#define ICU0_IM4_ISR_ICTRLL1_ERR 0x00000002
++/* Nothing
++#define ICU0_IM4_ISR_ICTRLL1_ERR_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM4_ISR_ICTRLL1_ERR_INTACK 0x00000002
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_ISR_ICTRLL1_ERR_INTOCC 0x00000002
++/** ICTRLL 0 Error
++    This bit is an indirect interrupt. */
++#define ICU0_IM4_ISR_ICTRLL0_ERR 0x00000001
++/* Nothing
++#define ICU0_IM4_ISR_ICTRLL0_ERR_NULL 0x00000000 */
++/** Write: Acknowledge the interrupt. */
++#define ICU0_IM4_ISR_ICTRLL0_ERR_INTACK 0x00000001
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_ISR_ICTRLL0_ERR_INTOCC 0x00000001
++
++/* Fields of "IM4 Interrupt Enable Register" */
++/** VPE0 Performance Monitoring Counter Interrupt
++    Interrupt enable bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IER_VPE0_PMCIR 0x80000000
++/* Disable
++#define ICU0_IM4_IER_VPE0_PMCIR_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM4_IER_VPE0_PMCIR_EN 0x80000000
++/** VPE0 Error Level Flag Interrupt
++    Interrupt enable bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IER_VPE0_ERL 0x40000000
++/* Disable
++#define ICU0_IM4_IER_VPE0_ERL_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM4_IER_VPE0_ERL_EN 0x40000000
++/** VPE0 Exception Level Flag Interrupt
++    Interrupt enable bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IER_VPE0_EXL 0x20000000
++/* Disable
++#define ICU0_IM4_IER_VPE0_EXL_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM4_IER_VPE0_EXL_EN 0x20000000
++/** MPS Bin. Sem Interrupt to VPE0
++    Interrupt enable bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IER_MPS_IR8 0x00400000
++/* Disable
++#define ICU0_IM4_IER_MPS_IR8_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM4_IER_MPS_IR8_EN 0x00400000
++/** MPS Global Interrupt to VPE0
++    Interrupt enable bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IER_MPS_IR7 0x00200000
++/* Disable
++#define ICU0_IM4_IER_MPS_IR7_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM4_IER_MPS_IR7_EN 0x00200000
++/** MPS Status Interrupt #6 (VPE1 to VPE0)
++    Interrupt enable bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IER_MPS_IR6 0x00100000
++/* Disable
++#define ICU0_IM4_IER_MPS_IR6_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM4_IER_MPS_IR6_EN 0x00100000
++/** MPS Status Interrupt #5 (VPE1 to VPE0)
++    Interrupt enable bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IER_MPS_IR5 0x00080000
++/* Disable
++#define ICU0_IM4_IER_MPS_IR5_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM4_IER_MPS_IR5_EN 0x00080000
++/** MPS Status Interrupt #4 (VPE1 to VPE0)
++    Interrupt enable bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IER_MPS_IR4 0x00040000
++/* Disable
++#define ICU0_IM4_IER_MPS_IR4_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM4_IER_MPS_IR4_EN 0x00040000
++/** MPS Status Interrupt #3 (VPE1 to VPE0)
++    Interrupt enable bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IER_MPS_IR3 0x00020000
++/* Disable
++#define ICU0_IM4_IER_MPS_IR3_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM4_IER_MPS_IR3_EN 0x00020000
++/** MPS Status Interrupt #2 (VPE1 to VPE0)
++    Interrupt enable bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IER_MPS_IR2 0x00010000
++/* Disable
++#define ICU0_IM4_IER_MPS_IR2_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM4_IER_MPS_IR2_EN 0x00010000
++/** MPS Status Interrupt #1 (VPE1 to VPE0)
++    Interrupt enable bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IER_MPS_IR1 0x00008000
++/* Disable
++#define ICU0_IM4_IER_MPS_IR1_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM4_IER_MPS_IR1_EN 0x00008000
++/** MPS Status Interrupt #0 (VPE1 to VPE0)
++    Interrupt enable bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IER_MPS_IR0 0x00004000
++/* Disable
++#define ICU0_IM4_IER_MPS_IR0_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM4_IER_MPS_IR0_EN 0x00004000
++/** TMU Error
++    Interrupt enable bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IER_TMU_ERR 0x00001000
++/* Disable
++#define ICU0_IM4_IER_TMU_ERR_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM4_IER_TMU_ERR_EN 0x00001000
++/** FSQM Error
++    Interrupt enable bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IER_FSQM_ERR 0x00000800
++/* Disable
++#define ICU0_IM4_IER_FSQM_ERR_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM4_IER_FSQM_ERR_EN 0x00000800
++/** IQM Error
++    Interrupt enable bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IER_IQM_ERR 0x00000400
++/* Disable
++#define ICU0_IM4_IER_IQM_ERR_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM4_IER_IQM_ERR_EN 0x00000400
++/** OCTRLG Error
++    Interrupt enable bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IER_OCTRLG_ERR 0x00000200
++/* Disable
++#define ICU0_IM4_IER_OCTRLG_ERR_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM4_IER_OCTRLG_ERR_EN 0x00000200
++/** ICTRLG Error
++    Interrupt enable bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IER_ICTRLG_ERR 0x00000100
++/* Disable
++#define ICU0_IM4_IER_ICTRLG_ERR_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM4_IER_ICTRLG_ERR_EN 0x00000100
++/** OCTRLL 3 Error
++    Interrupt enable bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IER_OCTRLL3_ERR 0x00000080
++/* Disable
++#define ICU0_IM4_IER_OCTRLL3_ERR_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM4_IER_OCTRLL3_ERR_EN 0x00000080
++/** OCTRLL 2 Error
++    Interrupt enable bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IER_OCTRLL2_ERR 0x00000040
++/* Disable
++#define ICU0_IM4_IER_OCTRLL2_ERR_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM4_IER_OCTRLL2_ERR_EN 0x00000040
++/** OCTRLL 1 Error
++    Interrupt enable bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IER_OCTRLL1_ERR 0x00000020
++/* Disable
++#define ICU0_IM4_IER_OCTRLL1_ERR_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM4_IER_OCTRLL1_ERR_EN 0x00000020
++/** OCTRLL 0 Error
++    Interrupt enable bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IER_OCTRLL0_ERR 0x00000010
++/* Disable
++#define ICU0_IM4_IER_OCTRLL0_ERR_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM4_IER_OCTRLL0_ERR_EN 0x00000010
++/** ICTRLL 3 Error
++    Interrupt enable bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IER_ICTRLL3_ERR 0x00000008
++/* Disable
++#define ICU0_IM4_IER_ICTRLL3_ERR_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM4_IER_ICTRLL3_ERR_EN 0x00000008
++/** ICTRLL 2 Error
++    Interrupt enable bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IER_ICTRLL2_ERR 0x00000004
++/* Disable
++#define ICU0_IM4_IER_ICTRLL2_ERR_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM4_IER_ICTRLL2_ERR_EN 0x00000004
++/** ICTRLL 1 Error
++    Interrupt enable bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IER_ICTRLL1_ERR 0x00000002
++/* Disable
++#define ICU0_IM4_IER_ICTRLL1_ERR_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM4_IER_ICTRLL1_ERR_EN 0x00000002
++/** ICTRLL 0 Error
++    Interrupt enable bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IER_ICTRLL0_ERR 0x00000001
++/* Disable
++#define ICU0_IM4_IER_ICTRLL0_ERR_DIS 0x00000000 */
++/** Enable */
++#define ICU0_IM4_IER_ICTRLL0_ERR_EN 0x00000001
++
++/* Fields of "IM4 Interrupt Output Status Register" */
++/** VPE0 Performance Monitoring Counter Interrupt
++    Masked interrupt bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IOSR_VPE0_PMCIR 0x80000000
++/* Nothing
++#define ICU0_IM4_IOSR_VPE0_PMCIR_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_IOSR_VPE0_PMCIR_INTOCC 0x80000000
++/** VPE0 Error Level Flag Interrupt
++    Masked interrupt bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IOSR_VPE0_ERL 0x40000000
++/* Nothing
++#define ICU0_IM4_IOSR_VPE0_ERL_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_IOSR_VPE0_ERL_INTOCC 0x40000000
++/** VPE0 Exception Level Flag Interrupt
++    Masked interrupt bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IOSR_VPE0_EXL 0x20000000
++/* Nothing
++#define ICU0_IM4_IOSR_VPE0_EXL_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_IOSR_VPE0_EXL_INTOCC 0x20000000
++/** MPS Bin. Sem Interrupt to VPE0
++    Masked interrupt bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IOSR_MPS_IR8 0x00400000
++/* Nothing
++#define ICU0_IM4_IOSR_MPS_IR8_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_IOSR_MPS_IR8_INTOCC 0x00400000
++/** MPS Global Interrupt to VPE0
++    Masked interrupt bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IOSR_MPS_IR7 0x00200000
++/* Nothing
++#define ICU0_IM4_IOSR_MPS_IR7_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_IOSR_MPS_IR7_INTOCC 0x00200000
++/** MPS Status Interrupt #6 (VPE1 to VPE0)
++    Masked interrupt bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IOSR_MPS_IR6 0x00100000
++/* Nothing
++#define ICU0_IM4_IOSR_MPS_IR6_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_IOSR_MPS_IR6_INTOCC 0x00100000
++/** MPS Status Interrupt #5 (VPE1 to VPE0)
++    Masked interrupt bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IOSR_MPS_IR5 0x00080000
++/* Nothing
++#define ICU0_IM4_IOSR_MPS_IR5_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_IOSR_MPS_IR5_INTOCC 0x00080000
++/** MPS Status Interrupt #4 (VPE1 to VPE0)
++    Masked interrupt bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IOSR_MPS_IR4 0x00040000
++/* Nothing
++#define ICU0_IM4_IOSR_MPS_IR4_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_IOSR_MPS_IR4_INTOCC 0x00040000
++/** MPS Status Interrupt #3 (VPE1 to VPE0)
++    Masked interrupt bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IOSR_MPS_IR3 0x00020000
++/* Nothing
++#define ICU0_IM4_IOSR_MPS_IR3_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_IOSR_MPS_IR3_INTOCC 0x00020000
++/** MPS Status Interrupt #2 (VPE1 to VPE0)
++    Masked interrupt bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IOSR_MPS_IR2 0x00010000
++/* Nothing
++#define ICU0_IM4_IOSR_MPS_IR2_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_IOSR_MPS_IR2_INTOCC 0x00010000
++/** MPS Status Interrupt #1 (VPE1 to VPE0)
++    Masked interrupt bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IOSR_MPS_IR1 0x00008000
++/* Nothing
++#define ICU0_IM4_IOSR_MPS_IR1_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_IOSR_MPS_IR1_INTOCC 0x00008000
++/** MPS Status Interrupt #0 (VPE1 to VPE0)
++    Masked interrupt bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IOSR_MPS_IR0 0x00004000
++/* Nothing
++#define ICU0_IM4_IOSR_MPS_IR0_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_IOSR_MPS_IR0_INTOCC 0x00004000
++/** TMU Error
++    Masked interrupt bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IOSR_TMU_ERR 0x00001000
++/* Nothing
++#define ICU0_IM4_IOSR_TMU_ERR_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_IOSR_TMU_ERR_INTOCC 0x00001000
++/** FSQM Error
++    Masked interrupt bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IOSR_FSQM_ERR 0x00000800
++/* Nothing
++#define ICU0_IM4_IOSR_FSQM_ERR_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_IOSR_FSQM_ERR_INTOCC 0x00000800
++/** IQM Error
++    Masked interrupt bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IOSR_IQM_ERR 0x00000400
++/* Nothing
++#define ICU0_IM4_IOSR_IQM_ERR_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_IOSR_IQM_ERR_INTOCC 0x00000400
++/** OCTRLG Error
++    Masked interrupt bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IOSR_OCTRLG_ERR 0x00000200
++/* Nothing
++#define ICU0_IM4_IOSR_OCTRLG_ERR_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_IOSR_OCTRLG_ERR_INTOCC 0x00000200
++/** ICTRLG Error
++    Masked interrupt bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IOSR_ICTRLG_ERR 0x00000100
++/* Nothing
++#define ICU0_IM4_IOSR_ICTRLG_ERR_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_IOSR_ICTRLG_ERR_INTOCC 0x00000100
++/** OCTRLL 3 Error
++    Masked interrupt bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IOSR_OCTRLL3_ERR 0x00000080
++/* Nothing
++#define ICU0_IM4_IOSR_OCTRLL3_ERR_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_IOSR_OCTRLL3_ERR_INTOCC 0x00000080
++/** OCTRLL 2 Error
++    Masked interrupt bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IOSR_OCTRLL2_ERR 0x00000040
++/* Nothing
++#define ICU0_IM4_IOSR_OCTRLL2_ERR_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_IOSR_OCTRLL2_ERR_INTOCC 0x00000040
++/** OCTRLL 1 Error
++    Masked interrupt bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IOSR_OCTRLL1_ERR 0x00000020
++/* Nothing
++#define ICU0_IM4_IOSR_OCTRLL1_ERR_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_IOSR_OCTRLL1_ERR_INTOCC 0x00000020
++/** OCTRLL 0 Error
++    Masked interrupt bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IOSR_OCTRLL0_ERR 0x00000010
++/* Nothing
++#define ICU0_IM4_IOSR_OCTRLL0_ERR_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_IOSR_OCTRLL0_ERR_INTOCC 0x00000010
++/** ICTRLL 3 Error
++    Masked interrupt bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IOSR_ICTRLL3_ERR 0x00000008
++/* Nothing
++#define ICU0_IM4_IOSR_ICTRLL3_ERR_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_IOSR_ICTRLL3_ERR_INTOCC 0x00000008
++/** ICTRLL 2 Error
++    Masked interrupt bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IOSR_ICTRLL2_ERR 0x00000004
++/* Nothing
++#define ICU0_IM4_IOSR_ICTRLL2_ERR_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_IOSR_ICTRLL2_ERR_INTOCC 0x00000004
++/** ICTRLL 1 Error
++    Masked interrupt bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IOSR_ICTRLL1_ERR 0x00000002
++/* Nothing
++#define ICU0_IM4_IOSR_ICTRLL1_ERR_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_IOSR_ICTRLL1_ERR_INTOCC 0x00000002
++/** ICTRLL 0 Error
++    Masked interrupt bit for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IOSR_ICTRLL0_ERR 0x00000001
++/* Nothing
++#define ICU0_IM4_IOSR_ICTRLL0_ERR_NULL 0x00000000 */
++/** Read: Interrupt occurred. */
++#define ICU0_IM4_IOSR_ICTRLL0_ERR_INTOCC 0x00000001
++
++/* Fields of "IM4 Interrupt Request Set Register" */
++/** VPE0 Performance Monitoring Counter Interrupt
++    Software control for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IRSR_VPE0_PMCIR 0x80000000
++/** VPE0 Error Level Flag Interrupt
++    Software control for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IRSR_VPE0_ERL 0x40000000
++/** VPE0 Exception Level Flag Interrupt
++    Software control for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IRSR_VPE0_EXL 0x20000000
++/** MPS Bin. Sem Interrupt to VPE0
++    Software control for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IRSR_MPS_IR8 0x00400000
++/** MPS Global Interrupt to VPE0
++    Software control for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IRSR_MPS_IR7 0x00200000
++/** MPS Status Interrupt #6 (VPE1 to VPE0)
++    Software control for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IRSR_MPS_IR6 0x00100000
++/** MPS Status Interrupt #5 (VPE1 to VPE0)
++    Software control for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IRSR_MPS_IR5 0x00080000
++/** MPS Status Interrupt #4 (VPE1 to VPE0)
++    Software control for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IRSR_MPS_IR4 0x00040000
++/** MPS Status Interrupt #3 (VPE1 to VPE0)
++    Software control for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IRSR_MPS_IR3 0x00020000
++/** MPS Status Interrupt #2 (VPE1 to VPE0)
++    Software control for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IRSR_MPS_IR2 0x00010000
++/** MPS Status Interrupt #1 (VPE1 to VPE0)
++    Software control for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IRSR_MPS_IR1 0x00008000
++/** MPS Status Interrupt #0 (VPE1 to VPE0)
++    Software control for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IRSR_MPS_IR0 0x00004000
++/** TMU Error
++    Software control for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IRSR_TMU_ERR 0x00001000
++/** FSQM Error
++    Software control for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IRSR_FSQM_ERR 0x00000800
++/** IQM Error
++    Software control for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IRSR_IQM_ERR 0x00000400
++/** OCTRLG Error
++    Software control for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IRSR_OCTRLG_ERR 0x00000200
++/** ICTRLG Error
++    Software control for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IRSR_ICTRLG_ERR 0x00000100
++/** OCTRLL 3 Error
++    Software control for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IRSR_OCTRLL3_ERR 0x00000080
++/** OCTRLL 2 Error
++    Software control for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IRSR_OCTRLL2_ERR 0x00000040
++/** OCTRLL 1 Error
++    Software control for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IRSR_OCTRLL1_ERR 0x00000020
++/** OCTRLL 0 Error
++    Software control for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IRSR_OCTRLL0_ERR 0x00000010
++/** ICTRLL 3 Error
++    Software control for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IRSR_ICTRLL3_ERR 0x00000008
++/** ICTRLL 2 Error
++    Software control for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IRSR_ICTRLL2_ERR 0x00000004
++/** ICTRLL 1 Error
++    Software control for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IRSR_ICTRLL1_ERR 0x00000002
++/** ICTRLL 0 Error
++    Software control for the corresponding bit in the IM4_ISR register. */
++#define ICU0_IM4_IRSR_ICTRLL0_ERR 0x00000001
++
++/* Fields of "IM4 Interrupt Mode Register" */
++/** VPE0 Performance Monitoring Counter Interrupt
++    Type of interrupt. */
++#define ICU0_IM4_IMR_VPE0_PMCIR 0x80000000
++/* Indirect Interrupt.
++#define ICU0_IM4_IMR_VPE0_PMCIR_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM4_IMR_VPE0_PMCIR_DIR 0x80000000
++/** VPE0 Error Level Flag Interrupt
++    Type of interrupt. */
++#define ICU0_IM4_IMR_VPE0_ERL 0x40000000
++/* Indirect Interrupt.
++#define ICU0_IM4_IMR_VPE0_ERL_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM4_IMR_VPE0_ERL_DIR 0x40000000
++/** VPE0 Exception Level Flag Interrupt
++    Type of interrupt. */
++#define ICU0_IM4_IMR_VPE0_EXL 0x20000000
++/* Indirect Interrupt.
++#define ICU0_IM4_IMR_VPE0_EXL_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM4_IMR_VPE0_EXL_DIR 0x20000000
++/** MPS Bin. Sem Interrupt to VPE0
++    Type of interrupt. */
++#define ICU0_IM4_IMR_MPS_IR8 0x00400000
++/* Indirect Interrupt.
++#define ICU0_IM4_IMR_MPS_IR8_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM4_IMR_MPS_IR8_DIR 0x00400000
++/** MPS Global Interrupt to VPE0
++    Type of interrupt. */
++#define ICU0_IM4_IMR_MPS_IR7 0x00200000
++/* Indirect Interrupt.
++#define ICU0_IM4_IMR_MPS_IR7_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM4_IMR_MPS_IR7_DIR 0x00200000
++/** MPS Status Interrupt #6 (VPE1 to VPE0)
++    Type of interrupt. */
++#define ICU0_IM4_IMR_MPS_IR6 0x00100000
++/* Indirect Interrupt.
++#define ICU0_IM4_IMR_MPS_IR6_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM4_IMR_MPS_IR6_DIR 0x00100000
++/** MPS Status Interrupt #5 (VPE1 to VPE0)
++    Type of interrupt. */
++#define ICU0_IM4_IMR_MPS_IR5 0x00080000
++/* Indirect Interrupt.
++#define ICU0_IM4_IMR_MPS_IR5_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM4_IMR_MPS_IR5_DIR 0x00080000
++/** MPS Status Interrupt #4 (VPE1 to VPE0)
++    Type of interrupt. */
++#define ICU0_IM4_IMR_MPS_IR4 0x00040000
++/* Indirect Interrupt.
++#define ICU0_IM4_IMR_MPS_IR4_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM4_IMR_MPS_IR4_DIR 0x00040000
++/** MPS Status Interrupt #3 (VPE1 to VPE0)
++    Type of interrupt. */
++#define ICU0_IM4_IMR_MPS_IR3 0x00020000
++/* Indirect Interrupt.
++#define ICU0_IM4_IMR_MPS_IR3_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM4_IMR_MPS_IR3_DIR 0x00020000
++/** MPS Status Interrupt #2 (VPE1 to VPE0)
++    Type of interrupt. */
++#define ICU0_IM4_IMR_MPS_IR2 0x00010000
++/* Indirect Interrupt.
++#define ICU0_IM4_IMR_MPS_IR2_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM4_IMR_MPS_IR2_DIR 0x00010000
++/** MPS Status Interrupt #1 (VPE1 to VPE0)
++    Type of interrupt. */
++#define ICU0_IM4_IMR_MPS_IR1 0x00008000
++/* Indirect Interrupt.
++#define ICU0_IM4_IMR_MPS_IR1_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM4_IMR_MPS_IR1_DIR 0x00008000
++/** MPS Status Interrupt #0 (VPE1 to VPE0)
++    Type of interrupt. */
++#define ICU0_IM4_IMR_MPS_IR0 0x00004000
++/* Indirect Interrupt.
++#define ICU0_IM4_IMR_MPS_IR0_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM4_IMR_MPS_IR0_DIR 0x00004000
++/** TMU Error
++    Type of interrupt. */
++#define ICU0_IM4_IMR_TMU_ERR 0x00001000
++/* Indirect Interrupt.
++#define ICU0_IM4_IMR_TMU_ERR_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM4_IMR_TMU_ERR_DIR 0x00001000
++/** FSQM Error
++    Type of interrupt. */
++#define ICU0_IM4_IMR_FSQM_ERR 0x00000800
++/* Indirect Interrupt.
++#define ICU0_IM4_IMR_FSQM_ERR_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM4_IMR_FSQM_ERR_DIR 0x00000800
++/** IQM Error
++    Type of interrupt. */
++#define ICU0_IM4_IMR_IQM_ERR 0x00000400
++/* Indirect Interrupt.
++#define ICU0_IM4_IMR_IQM_ERR_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM4_IMR_IQM_ERR_DIR 0x00000400
++/** OCTRLG Error
++    Type of interrupt. */
++#define ICU0_IM4_IMR_OCTRLG_ERR 0x00000200
++/* Indirect Interrupt.
++#define ICU0_IM4_IMR_OCTRLG_ERR_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM4_IMR_OCTRLG_ERR_DIR 0x00000200
++/** ICTRLG Error
++    Type of interrupt. */
++#define ICU0_IM4_IMR_ICTRLG_ERR 0x00000100
++/* Indirect Interrupt.
++#define ICU0_IM4_IMR_ICTRLG_ERR_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM4_IMR_ICTRLG_ERR_DIR 0x00000100
++/** OCTRLL 3 Error
++    Type of interrupt. */
++#define ICU0_IM4_IMR_OCTRLL3_ERR 0x00000080
++/* Indirect Interrupt.
++#define ICU0_IM4_IMR_OCTRLL3_ERR_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM4_IMR_OCTRLL3_ERR_DIR 0x00000080
++/** OCTRLL 2 Error
++    Type of interrupt. */
++#define ICU0_IM4_IMR_OCTRLL2_ERR 0x00000040
++/* Indirect Interrupt.
++#define ICU0_IM4_IMR_OCTRLL2_ERR_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM4_IMR_OCTRLL2_ERR_DIR 0x00000040
++/** OCTRLL 1 Error
++    Type of interrupt. */
++#define ICU0_IM4_IMR_OCTRLL1_ERR 0x00000020
++/* Indirect Interrupt.
++#define ICU0_IM4_IMR_OCTRLL1_ERR_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM4_IMR_OCTRLL1_ERR_DIR 0x00000020
++/** OCTRLL 0 Error
++    Type of interrupt. */
++#define ICU0_IM4_IMR_OCTRLL0_ERR 0x00000010
++/* Indirect Interrupt.
++#define ICU0_IM4_IMR_OCTRLL0_ERR_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM4_IMR_OCTRLL0_ERR_DIR 0x00000010
++/** ICTRLL 3 Error
++    Type of interrupt. */
++#define ICU0_IM4_IMR_ICTRLL3_ERR 0x00000008
++/* Indirect Interrupt.
++#define ICU0_IM4_IMR_ICTRLL3_ERR_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM4_IMR_ICTRLL3_ERR_DIR 0x00000008
++/** ICTRLL 2 Error
++    Type of interrupt. */
++#define ICU0_IM4_IMR_ICTRLL2_ERR 0x00000004
++/* Indirect Interrupt.
++#define ICU0_IM4_IMR_ICTRLL2_ERR_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM4_IMR_ICTRLL2_ERR_DIR 0x00000004
++/** ICTRLL 1 Error
++    Type of interrupt. */
++#define ICU0_IM4_IMR_ICTRLL1_ERR 0x00000002
++/* Indirect Interrupt.
++#define ICU0_IM4_IMR_ICTRLL1_ERR_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM4_IMR_ICTRLL1_ERR_DIR 0x00000002
++/** ICTRLL 0 Error
++    Type of interrupt. */
++#define ICU0_IM4_IMR_ICTRLL0_ERR 0x00000001
++/* Indirect Interrupt.
++#define ICU0_IM4_IMR_ICTRLL0_ERR_IND 0x00000000 */
++/** Direct Interrupt. */
++#define ICU0_IM4_IMR_ICTRLL0_ERR_DIR 0x00000001
++
++/* Fields of "ICU Interrupt Vector Register (5 bit variant)" */
++/** IM4 Interrupt Vector Value
++    Returns the highest priority pending interrupt vector. */
++#define ICU0_ICU_IVEC_IM4_vec_MASK 0x01F00000
++/** field offset */
++#define ICU0_ICU_IVEC_IM4_vec_OFFSET 20
++/** Interrupt pending at bit 31 or no pending interrupt */
++#define ICU0_ICU_IVEC_IM4_vec_NOINTorBit31 0x00000000
++/** Interrupt pending at bit 0. */
++#define ICU0_ICU_IVEC_IM4_vec_BIT0 0x00100000
++/** Interrupt pending at bit 1. */
++#define ICU0_ICU_IVEC_IM4_vec_BIT1 0x00200000
++/** Interrupt pending at bit 30. */
++#define ICU0_ICU_IVEC_IM4_vec_BIT30 0x01F00000
++/** IM3 Interrupt Vector Value
++    Returns the highest priority pending interrupt vector. */
++#define ICU0_ICU_IVEC_IM3_vec_MASK 0x000F8000
++/** field offset */
++#define ICU0_ICU_IVEC_IM3_vec_OFFSET 15
++/** Interrupt pending at bit 31 or no pending interrupt */
++#define ICU0_ICU_IVEC_IM3_vec_NOINTorBit31 0x00000000
++/** Interrupt pending at bit 0. */
++#define ICU0_ICU_IVEC_IM3_vec_BIT0 0x00008000
++/** Interrupt pending at bit 1. */
++#define ICU0_ICU_IVEC_IM3_vec_BIT1 0x00010000
++/** Interrupt pending at bit 30. */
++#define ICU0_ICU_IVEC_IM3_vec_BIT30 0x000F8000
++/** IM2 Interrupt Vector Value
++    Returns the highest priority pending interrupt vector. */
++#define ICU0_ICU_IVEC_IM2_vec_MASK 0x00007C00
++/** field offset */
++#define ICU0_ICU_IVEC_IM2_vec_OFFSET 10
++/** Interrupt pending at bit 31 or no pending interrupt */
++#define ICU0_ICU_IVEC_IM2_vec_NOINTorBit31 0x00000000
++/** Interrupt pending at bit 0. */
++#define ICU0_ICU_IVEC_IM2_vec_BIT0 0x00000400
++/** Interrupt pending at bit 1. */
++#define ICU0_ICU_IVEC_IM2_vec_BIT1 0x00000800
++/** Interrupt pending at bit 30. */
++#define ICU0_ICU_IVEC_IM2_vec_BIT30 0x00007C00
++/** IM1 Interrupt Vector Value
++    Returns the highest priority pending interrupt vector. */
++#define ICU0_ICU_IVEC_IM1_vec_MASK 0x000003E0
++/** field offset */
++#define ICU0_ICU_IVEC_IM1_vec_OFFSET 5
++/** Interrupt pending at bit 31 or no pending interrupt */
++#define ICU0_ICU_IVEC_IM1_vec_NOINTorBit31 0x00000000
++/** Interrupt pending at bit 0. */
++#define ICU0_ICU_IVEC_IM1_vec_BIT0 0x00000020
++/** Interrupt pending at bit 1. */
++#define ICU0_ICU_IVEC_IM1_vec_BIT1 0x00000040
++/** Interrupt pending at bit 30. */
++#define ICU0_ICU_IVEC_IM1_vec_BIT30 0x000003E0
++/** IM0 Interrupt Vector Value
++    Returns the highest priority pending interrupt vector. */
++#define ICU0_ICU_IVEC_IM0_vec_MASK 0x0000001F
++/** field offset */
++#define ICU0_ICU_IVEC_IM0_vec_OFFSET 0
++/** Interrupt pending at bit 31 or no pending interrupt */
++#define ICU0_ICU_IVEC_IM0_vec_NOINTorBit31 0x00000000
++/** Interrupt pending at bit 0. */
++#define ICU0_ICU_IVEC_IM0_vec_BIT0 0x00000001
++/** Interrupt pending at bit 1. */
++#define ICU0_ICU_IVEC_IM0_vec_BIT1 0x00000002
++/** Interrupt pending at bit 30. */
++#define ICU0_ICU_IVEC_IM0_vec_BIT30 0x0000001F
++
++/* Fields of "ICU Interrupt Vector Register (6 bit variant)" */
++/** IM4 Interrupt Vector Value
++    Returns the highest priority pending interrupt vector. */
++#define ICU0_ICU_IVEC_6_IM4_vec_MASK 0x3F000000
++/** field offset */
++#define ICU0_ICU_IVEC_6_IM4_vec_OFFSET 24
++/** No pending interrupt */
++#define ICU0_ICU_IVEC_6_IM4_vec_NOINT 0x00000000
++/** Interrupt pending at bit 0. */
++#define ICU0_ICU_IVEC_6_IM4_vec_BIT0 0x01000000
++/** Interrupt pending at bit 1. */
++#define ICU0_ICU_IVEC_6_IM4_vec_BIT1 0x02000000
++/** Interrupt pending at bit 30. */
++#define ICU0_ICU_IVEC_6_IM4_vec_BIT30 0x1F000000
++/** Interrupt pending at bit 31. */
++#define ICU0_ICU_IVEC_6_IM4_vec_BIT31 0x20000000
++/** IM3 Interrupt Vector Value
++    Returns the highest priority pending interrupt vector. */
++#define ICU0_ICU_IVEC_6_IM3_vec_MASK 0x00FC0000
++/** field offset */
++#define ICU0_ICU_IVEC_6_IM3_vec_OFFSET 18
++/** No pending interrupt */
++#define ICU0_ICU_IVEC_6_IM3_vec_NOINT 0x00000000
++/** Interrupt pending at bit 0. */
++#define ICU0_ICU_IVEC_6_IM3_vec_BIT0 0x00040000
++/** Interrupt pending at bit 1. */
++#define ICU0_ICU_IVEC_6_IM3_vec_BIT1 0x00080000
++/** Interrupt pending at bit 30. */
++#define ICU0_ICU_IVEC_6_IM3_vec_BIT30 0x007C0000
++/** Interrupt pending at bit 31. */
++#define ICU0_ICU_IVEC_6_IM3_vec_BIT31 0x00800000
++/** IM2 Interrupt Vector Value
++    Returns the highest priority pending interrupt vector. */
++#define ICU0_ICU_IVEC_6_IM2_vec_MASK 0x0003F000
++/** field offset */
++#define ICU0_ICU_IVEC_6_IM2_vec_OFFSET 12
++/** No pending interrupt */
++#define ICU0_ICU_IVEC_6_IM2_vec_NOINT 0x00000000
++/** Interrupt pending at bit 0. */
++#define ICU0_ICU_IVEC_6_IM2_vec_BIT0 0x00001000
++/** Interrupt pending at bit 1. */
++#define ICU0_ICU_IVEC_6_IM2_vec_BIT1 0x00002000
++/** Interrupt pending at bit 30. */
++#define ICU0_ICU_IVEC_6_IM2_vec_BIT30 0x0001F000
++/** Interrupt pending at bit 31. */
++#define ICU0_ICU_IVEC_6_IM2_vec_BIT31 0x00020000
++/** IM1 Interrupt Vector Value
++    Returns the highest priority pending interrupt vector. */
++#define ICU0_ICU_IVEC_6_IM1_vec_MASK 0x00000FC0
++/** field offset */
++#define ICU0_ICU_IVEC_6_IM1_vec_OFFSET 6
++/** No pending interrupt */
++#define ICU0_ICU_IVEC_6_IM1_vec_NOINT 0x00000000
++/** Interrupt pending at bit 0. */
++#define ICU0_ICU_IVEC_6_IM1_vec_BIT0 0x00000040
++/** Interrupt pending at bit 1. */
++#define ICU0_ICU_IVEC_6_IM1_vec_BIT1 0x00000080
++/** Interrupt pending at bit 30. */
++#define ICU0_ICU_IVEC_6_IM1_vec_BIT30 0x000007C0
++/** Interrupt pending at bit 31. */
++#define ICU0_ICU_IVEC_6_IM1_vec_BIT31 0x00000800
++/** IM0 Interrupt Vector Value
++    Returns the highest priority pending interrupt vector. */
++#define ICU0_ICU_IVEC_6_IM0_vec_MASK 0x0000003F
++/** field offset */
++#define ICU0_ICU_IVEC_6_IM0_vec_OFFSET 0
++/** No pending interrupt */
++#define ICU0_ICU_IVEC_6_IM0_vec_NOINT 0x00000000
++/** Interrupt pending at bit 0. */
++#define ICU0_ICU_IVEC_6_IM0_vec_BIT0 0x00000001
++/** Interrupt pending at bit 1. */
++#define ICU0_ICU_IVEC_6_IM0_vec_BIT1 0x00000002
++/** Interrupt pending at bit 30. */
++#define ICU0_ICU_IVEC_6_IM0_vec_BIT30 0x0000001F
++/** Interrupt pending at bit 31. */
++#define ICU0_ICU_IVEC_6_IM0_vec_BIT31 0x00000020
++
++/*! @} */ /* ICU0_REGISTER */
++
++#endif /* _icu0_reg_h */
+--- /dev/null
++++ b/arch/mips/include/asm/mach-lantiq/falcon/irq.h
+@@ -0,0 +1,31 @@
++/*
++ *   arch/mips/include/asm/mach-ifxmips/falcon/irq.h
++ *
++ *   This program is free software; you can redistribute it and/or modify
++ *   it under the terms of the GNU General Public License as published by
++ *   the Free Software Foundation; either version 2 of the License, or
++ *   (at your option) any later version.
++ *
++ *   This program is distributed in the hope that it will be useful,
++ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
++ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ *   GNU General Public License for more details.
++ *
++ *   You should have received a copy of the GNU General Public License
++ *   along with this program; if not, write to the Free Software
++ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
++ *
++ *   Copyright (C) 2010 Lantiq
++ *
++ */
++
++#ifndef __FALCON_IRQ_H
++#define __FALCON_IRQ_H
++
++#include <falcon_irq.h>
++
++#define NR_IRQS 264
++
++#include_next <irq.h>
++
++#endif
+--- /dev/null
++++ b/arch/mips/include/asm/mach-lantiq/falcon/status_reg.h
+@@ -0,0 +1,529 @@
++/******************************************************************************
++
++                               Copyright (c) 2010
++                            Lantiq Deutschland GmbH
++
++  For licensing information, see the file 'LICENSE' in the root folder of
++  this software module.
++
++******************************************************************************/
++
++#ifndef _status_reg_h
++#define _status_reg_h
++
++/** \addtogroup STATUS_REGISTER
++   @{
++*/
++/* access macros */
++#define status_r32(reg) reg_r32(&status->reg)
++#define status_w32(val, reg) reg_w32(val, &status->reg)
++#define status_w32_mask(clear, set, reg) reg_w32_mask(clear, set, &status->reg)
++#define status_r32_table(reg, idx) reg_r32_table(status->reg, idx)
++#define status_w32_table(val, reg, idx) reg_w32_table(val, status->reg, idx)
++#define status_w32_table_mask(clear, set, reg, idx) reg_w32_table_mask(clear, set, status->reg, idx)
++#define status_adr_table(reg, idx) adr_table(status->reg, idx)
++
++
++/** STATUS register structure */
++struct gpon_reg_status
++{
++   /** Reserved */
++   unsigned int res_0[3]; /* 0x00000000 */
++   /** Chip Identification Register */
++   unsigned int chipid; /* 0x0000000C */
++   /** Chip Location Register
++       Note: All fuse-bits have a default value of 0 that can be changed to 1 during production test (unfused = 0, fused = 1).The reset-values stated for these bits is 0 even though SW will never be able to read 0 if it was set to 1 during production test. */
++   unsigned int chiploc; /* 0x00000010 */
++   /** Redundancy register
++       Note: All fuse-bits have a default value of 0 that can be changed to 1 during production test (unfused = 0, fused = 1).The reset-values stated for these bits is 0 even though SW will never be able to read 0 if it was set to 1 during production test. */
++   unsigned int red0; /* 0x00000014 */
++   /** Redundancy register
++       Note: All fuse-bits have a default value of 0 that can be changed to 1 during production test (unfused = 0, fused = 1).The reset-values stated for these bits is 0 even though SW will never be able to read 0 if it was set to 1 during production test. */
++   unsigned int red1; /* 0x00000018 */
++   /** Redundancy register
++       Note: All fuse-bits have a default value of 0 that can be changed to 1 during production test (unfused = 0, fused = 1).The reset-values stated for these bits is 0 even though SW will never be able to read 0 if it was set to 1 during production test. */
++   unsigned int red2; /* 0x0000001C */
++   /** Redundancy register
++       Note: All fuse-bits have a default value of 0 that can be changed to 1 during production test (unfused = 0, fused = 1).The reset-values stated for these bits is 0 even though SW will never be able to read 0 if it was set to 1 during production test. */
++   unsigned int red3; /* 0x00000020 */
++   /** Redundancy register
++       Note: All fuse-bits have a default value of 0 that can be changed to 1 during production test (unfused = 0, fused = 1).The reset-values stated for these bits is 0 even though SW will never be able to read 0 if it was set to 1 during production test. */
++   unsigned int red4; /* 0x00000024 */
++   /** Redundancy register
++       Note: All fuse-bits have a default value of 0 that can be changed to 1 during production test (unfused = 0, fused = 1).The reset-values stated for these bits is 0 even though SW will never be able to read 0 if it was set to 1 during production test. */
++   unsigned int red5; /* 0x00000028 */
++   /** Redundancy register
++       Note: All fuse-bits have a default value of 0 that can be changed to 1 during production test (unfused = 0, fused = 1).The reset-values stated for these bits is 0 even though SW will never be able to read 0 if it was set to 1 during production test. */
++   unsigned int red6; /* 0x0000002C */
++   /** Redundancy register
++       Note: All fuse-bits have a default value of 0 that can be changed to 1 during production test (unfused = 0, fused = 1).The reset-values stated for these bits is 0 even though SW will never be able to read 0 if it was set to 1 during production test. */
++   unsigned int red7; /* 0x00000030 */
++   /** Redundancy register
++       Note: All fuse-bits have a default value of 0 that can be changed to 1 during production test (unfused = 0, fused = 1).The reset-values stated for these bits is 0 even though SW will never be able to read 0 if it was set to 1 during production test. */
++   unsigned int red8; /* 0x00000034 */
++   /** SPARE fuse register 0
++       Note: All fuse-bits have a default value of 0 that can be changed to 1 during production test (unfused = 0, fused = 1).The reset-values stated for these bits is 0 even though SW will never be able to read 0 if it was set to 1 during production test. */
++   unsigned int fuse0; /* 0x00000038 */
++   /** Fuses for Analog modules
++       Note: All fuse-bits have a default value of 0 that can be changed to 1 during production test (unfused = 0, fused = 1).The reset-values stated for these bits is 0 even though SW will never be able to read 0 if it was set to 1 during production test. */
++   unsigned int analog; /* 0x0000003C */
++   /** Configuration fuses for drivers and pll
++       Note: All fuse-bits have a default value of 0 that can be changed to 1 during production test (unfused = 0, fused = 1).The reset-values stated for these bits is 0 even though SW will never be able to read 0 if it was set to 1 during production test. */
++   unsigned int config; /* 0x00000040 */
++   /** SPARE fuse register 1
++       Note: All fuse-bits have a default value of 0 that can be changed to 1 during production test (unfused = 0, fused = 1).The reset-values stated for these bits is 0 even though SW will never be able to read 0 if it was set to 1 during production test. */
++   unsigned int fuse1; /* 0x00000044 */
++   /** Configuration for sbs0 rambist */
++   unsigned int mbcfg; /* 0x00000048 */
++   /** sbs0 bist result and debug data */
++   unsigned int mbdata; /* 0x0000004C */
++   /** Reserved */
++   unsigned int res_1[12]; /* 0x00000050 */
++};
++
++
++/* Fields of "Chip Identification Register" */
++/** Chip Version Number
++    Version number */
++#define STATUS_CHIPID_VERSION_MASK 0xF0000000
++/** field offset */
++#define STATUS_CHIPID_VERSION_OFFSET 28
++/** Part Number, Constant Part
++    The Part Number is fixed to 016Bhex. */
++#define STATUS_CHIPID_PARTNR_MASK 0x0FFFF000
++/** field offset */
++#define STATUS_CHIPID_PARTNR_OFFSET 12
++/** Manufacturer ID
++    The value of bit field MANID is fixed to 41hex as configured in the JTAG ID register. The JEDEC normalized manufacturer code for Infineon Technologies is C1hex */
++#define STATUS_CHIPID_MANID_MASK 0x00000FFE
++/** field offset */
++#define STATUS_CHIPID_MANID_OFFSET 1
++/** Constant bit
++    The value of bit field CONST1 is fixed to 1hex */
++#define STATUS_CHIPID_CONST1 0x00000001
++
++/* Fields of "Chip Location Register" */
++/** Chip Lot ID */
++#define STATUS_CHIPLOC_CHIPLOT_MASK 0xFFFF0000
++/** field offset */
++#define STATUS_CHIPLOC_CHIPLOT_OFFSET 16
++/** Chip X Coordinate */
++#define STATUS_CHIPLOC_CHIPX_MASK 0x0000FF00
++/** field offset */
++#define STATUS_CHIPLOC_CHIPX_OFFSET 8
++/** Chip Y Coordinate */
++#define STATUS_CHIPLOC_CHIPY_MASK 0x000000FF
++/** field offset */
++#define STATUS_CHIPLOC_CHIPY_OFFSET 0
++
++/* Fields of "Redundancy register" */
++/** Redundancy
++    redundancy information stored in eFuses. MSB + MEM_ADDR - MSB = 1 defines a valid address */
++#define STATUS_RED0_REDUNDANCY_MASK 0x0003FFFF
++/** field offset */
++#define STATUS_RED0_REDUNDANCY_OFFSET 0
++
++/* Fields of "Redundancy register" */
++/** Redundancy
++    redundancy information stored in eFuses. MSB + MEM_ADDR - MSB = 1 defines a valid address */
++#define STATUS_RED1_REDUNDANCY_MASK 0x0003FFFF
++/** field offset */
++#define STATUS_RED1_REDUNDANCY_OFFSET 0
++
++/* Fields of "Redundancy register" */
++/** Redundancy
++    redundancy information stored in eFuses. MSB + MEM_ADDR - MSB = 1 defines a valid address */
++#define STATUS_RED2_REDUNDANCY_MASK 0x0003FFFF
++/** field offset */
++#define STATUS_RED2_REDUNDANCY_OFFSET 0
++
++/* Fields of "Redundancy register" */
++/** Redundancy
++    redundancy information stored in eFuses. MSB + MEM_ADDR - MSB = 1 defines a valid address */
++#define STATUS_RED3_REDUNDANCY_MASK 0x0003FFFF
++/** field offset */
++#define STATUS_RED3_REDUNDANCY_OFFSET 0
++
++/* Fields of "Redundancy register" */
++/** Redundancy
++    redundancy information stored in eFuses. MSB + MEM_ADDR - MSB = 1 defines a valid address */
++#define STATUS_RED4_REDUNDANCY_MASK 0x0003FFFF
++/** field offset */
++#define STATUS_RED4_REDUNDANCY_OFFSET 0
++
++/* Fields of "Redundancy register" */
++/** Redundancy
++    redundancy information stored in eFuses. MSB + MEM_ADDR - MSB = 1 defines a valid address */
++#define STATUS_RED5_REDUNDANCY_MASK 0x0003FFFF
++/** field offset */
++#define STATUS_RED5_REDUNDANCY_OFFSET 0
++
++/* Fields of "Redundancy register" */
++/** Redundancy
++    redundancy information stored in eFuses. MSB + MEM_ADDR - MSB = 1 defines a valid address */
++#define STATUS_RED6_REDUNDANCY_MASK 0x0003FFFF
++/** field offset */
++#define STATUS_RED6_REDUNDANCY_OFFSET 0
++
++/* Fields of "Redundancy register" */
++/** Redundancy
++    redundancy information stored in eFuses. MSB + MEM_ADDR - MSB = 1 defines a valid address */
++#define STATUS_RED7_REDUNDANCY_MASK 0x0003FFFF
++/** field offset */
++#define STATUS_RED7_REDUNDANCY_OFFSET 0
++
++/* Fields of "Redundancy register" */
++/** Redundancy
++    redundancy information stored in eFuses. MSB + MEM_ADDR - MSB = 1 defines a valid address */
++#define STATUS_RED8_REDUNDANCY_MASK 0x0003FFFF
++/** field offset */
++#define STATUS_RED8_REDUNDANCY_OFFSET 0
++
++/* Fields of "SPARE fuse register 0" */
++/** Soft fuse control
++    Controls whether the status block is in its softfused state or not. In the softfused state the values written via software are active effective. */
++#define STATUS_FUSE0_SFC 0x80000000
++/* Not selected
++#define STATUS_FUSE0_SFC_NSEL 0x00000000 */
++/** Selected */
++#define STATUS_FUSE0_SFC_SEL 0x80000000
++/** Soft control MBCFG
++    Controls whether mbist configuration can be overwritten or not from subsystem. If not selected jtag mbcfg register is source for software mbist configuration */
++#define STATUS_FUSE0_SC_MBCFG 0x40000000
++/* Not selected
++#define STATUS_FUSE0_SC_MBCFG_NSEL 0x00000000 */
++/** Selected */
++#define STATUS_FUSE0_SC_MBCFG_SEL 0x40000000
++/** spare fuse0
++    eFuses not assigned to hw/sw, can be used for future applications */
++#define STATUS_FUSE0_F0_MASK 0x3C000000
++/** field offset */
++#define STATUS_FUSE0_F0_OFFSET 26
++/** VCALMM20 Voltage Reference
++    Voltage Reference for calibration via R and constant current (20 uA) */
++#define STATUS_FUSE0_VCALMM20_MASK 0x03F00000
++/** field offset */
++#define STATUS_FUSE0_VCALMM20_OFFSET 20
++/** VCALMM100 Voltage Reference
++    Voltage Reference for calibration via R and constant current (100 uA) */
++#define STATUS_FUSE0_VCALMM100_MASK 0x000FC000
++/** field offset */
++#define STATUS_FUSE0_VCALMM100_OFFSET 14
++/** VCALMM400 Voltage Reference
++    Voltage Reference for calibration via R and constant current (400 uA) */
++#define STATUS_FUSE0_VCALMM400_MASK 0x00003F00
++/** field offset */
++#define STATUS_FUSE0_VCALMM400_OFFSET 8
++/** RCALMM R error correction
++    The resistance deviation from ideal R (1000 Ohm) */
++#define STATUS_FUSE0_RCALMM_MASK 0x000000FF
++/** field offset */
++#define STATUS_FUSE0_RCALMM_OFFSET 0
++
++/* Fields of "Fuses for Analog modules" */
++/** reserved Analog eFuses
++    Reserved Register contains information stored in eFuses needed for the analog modules */
++#define STATUS_ANALOG_A0_MASK 0xFF000000
++/** field offset */
++#define STATUS_ANALOG_A0_OFFSET 24
++/** Absolut Temperature
++    Temperature ERROR */
++#define STATUS_ANALOG_TEMPMM_MASK 0x00FC0000
++/** field offset */
++#define STATUS_ANALOG_TEMPMM_OFFSET 18
++/** Bias Voltage Generation
++    temperature dependency */
++#define STATUS_ANALOG_TBGP_MASK 0x00038000
++/** field offset */
++#define STATUS_ANALOG_TBGP_OFFSET 15
++/** Bias Voltage Generation
++    voltage dependency */
++#define STATUS_ANALOG_VBGP_MASK 0x00007000
++/** field offset */
++#define STATUS_ANALOG_VBGP_OFFSET 12
++/** Bias Current Generation */
++#define STATUS_ANALOG_IREFBGP_MASK 0x00000F00
++/** field offset */
++#define STATUS_ANALOG_IREFBGP_OFFSET 8
++/** Drive DAC Gain */
++#define STATUS_ANALOG_GAINDRIVEDAC_MASK 0x000000F0
++/** field offset */
++#define STATUS_ANALOG_GAINDRIVEDAC_OFFSET 4
++/** BIAS DAC Gain */
++#define STATUS_ANALOG_GAINBIASDAC_MASK 0x0000000F
++/** field offset */
++#define STATUS_ANALOG_GAINBIASDAC_OFFSET 0
++
++/* Fields of "Configuration fuses for drivers and pll" */
++/** ddr PU driver
++    ddr pullup driver strength adjustment */
++#define STATUS_CONFIG_DDRPU_MASK 0xC0000000
++/** field offset */
++#define STATUS_CONFIG_DDRPU_OFFSET 30
++/** ddr PD driver
++    ddr pulldown driver strength adjustment */
++#define STATUS_CONFIG_DDRPD_MASK 0x30000000
++/** field offset */
++#define STATUS_CONFIG_DDRPD_OFFSET 28
++/** Authentification Unit enable
++    This bit can only be set via eFuse and enables the authentification unit. */
++#define STATUS_CONFIG_SHA1EN 0x08000000
++/* Not selected
++#define STATUS_CONFIG_SHA1EN_NSEL 0x00000000 */
++/** Selected */
++#define STATUS_CONFIG_SHA1EN_SEL 0x08000000
++/** Encryption Unit enable
++    This bit can only be set via eFuse and enables the encryption unit. */
++#define STATUS_CONFIG_AESEN 0x04000000
++/* Not selected
++#define STATUS_CONFIG_AESEN_NSEL 0x00000000 */
++/** Selected */
++#define STATUS_CONFIG_AESEN_SEL 0x04000000
++/** Subversion Number
++    The subversion number has no direct effect on hardware functions. It is used to provide another chip version number that is fixed in hardware and can be read out by software. In this way different product packages consisting of GPON_MODEM and software can be defined for example */
++#define STATUS_CONFIG_SUBVERS_MASK 0x03C00000
++/** field offset */
++#define STATUS_CONFIG_SUBVERS_OFFSET 22
++/** PLL settings
++    PLL settings for infrastructure block */
++#define STATUS_CONFIG_PLLINFRA_MASK 0x003FF000
++/** field offset */
++#define STATUS_CONFIG_PLLINFRA_OFFSET 12
++/** GPE frequency selection
++    Scaling down the GPE frequency for debugging purpose */
++#define STATUS_CONFIG_GPEFREQ_MASK 0x00000C00
++/** field offset */
++#define STATUS_CONFIG_GPEFREQ_OFFSET 10
++/** RM enable
++    Activates the Read Margin Settings defined in the RM Field, for all VIRAGE Memories except GPE */
++#define STATUS_CONFIG_RME 0x00000200
++/* Not selected
++#define STATUS_CONFIG_RME_NSEL 0x00000000 */
++/** Selected */
++#define STATUS_CONFIG_RME_SEL 0x00000200
++/** RM settings
++    Read Marging Settings for all VIRAGE Memories except GPE */
++#define STATUS_CONFIG_RM_MASK 0x000001E0
++/** field offset */
++#define STATUS_CONFIG_RM_OFFSET 5
++/** RM enable for GPE Memories
++    Activates the Read Margin Settings defined in the RM Field */
++#define STATUS_CONFIG_RMEGPE 0x00000010
++/* Not selected
++#define STATUS_CONFIG_RMEGPE_NSEL 0x00000000 */
++/** Selected */
++#define STATUS_CONFIG_RMEGPE_SEL 0x00000010
++/** RM settings for GPE Memories
++    Read Marging Settings for VIRAGE Memories in GPE module */
++#define STATUS_CONFIG_RMGPE_MASK 0x0000000F
++/** field offset */
++#define STATUS_CONFIG_RMGPE_OFFSET 0
++
++/* Fields of "SPARE fuse register 1" */
++/** spare fuse1
++    eFuses not assigned to hw/sw, can be used for future applications */
++#define STATUS_FUSE1_F1_MASK 0xFFF00000
++/** field offset */
++#define STATUS_FUSE1_F1_OFFSET 20
++/** DCDC DDR OFFSET
++    offset error sense path */
++#define STATUS_FUSE1_OFFSETDDRDCDC_MASK 0x000F0000
++/** field offset */
++#define STATUS_FUSE1_OFFSETDDRDCDC_OFFSET 16
++/** DCDC DDR GAIN
++    gain error sense path */
++#define STATUS_FUSE1_GAINDDRDCDC_MASK 0x0000FC00
++/** field offset */
++#define STATUS_FUSE1_GAINDDRDCDC_OFFSET 10
++/** DCDC APD OFFSET
++    offset error sense path */
++#define STATUS_FUSE1_OFFSETAPDDCDC_MASK 0x000003C0
++/** field offset */
++#define STATUS_FUSE1_OFFSETAPDDCDC_OFFSET 6
++/** DCDC APD GAIN
++    gain error sense path */
++#define STATUS_FUSE1_GAINAPDDCDC_MASK 0x0000003F
++/** field offset */
++#define STATUS_FUSE1_GAINAPDDCDC_OFFSET 0
++
++/* Fields of "Configuration for sbs0 rambist" */
++/** Disable asc monitoring during boot-up
++    Bit is used to avoid asc output for reducing pattern count on testsystem */
++#define STATUS_MBCFG_ASC_DBGDIS 0x01000000
++/* Disable
++#define STATUS_MBCFG_ASC_DBGDIS_DIS 0x00000000 */
++/** Enable */
++#define STATUS_MBCFG_ASC_DBGDIS_EN 0x01000000
++/** Descrambling Enable/Disable
++    Enables Address and Data Descrambling for internal Memory Test */
++#define STATUS_MBCFG_DSC 0x00800000
++/* Disable
++#define STATUS_MBCFG_DSC_DIS 0x00000000 */
++/** Enable */
++#define STATUS_MBCFG_DSC_EN 0x00800000
++/** Enable repair mode
++    When bit is set redundancy repair mode is activated */
++#define STATUS_MBCFG_REPAIR 0x00400000
++/* Disable
++#define STATUS_MBCFG_REPAIR_DIS 0x00000000 */
++/** Enable */
++#define STATUS_MBCFG_REPAIR_EN 0x00400000
++/** DEBUG Mode */
++#define STATUS_MBCFG_DBG 0x00200000
++/* Disable
++#define STATUS_MBCFG_DBG_DIS 0x00000000 */
++/** Enable */
++#define STATUS_MBCFG_DBG_EN 0x00200000
++/** Retention Time
++    Length oft the Retention Time */
++#define STATUS_MBCFG_RTIME_MASK 0x001C0000
++/** field offset */
++#define STATUS_MBCFG_RTIME_OFFSET 18
++/** retention mode is switched off */
++#define STATUS_MBCFG_RTIME_RET0 0x00000000
++/** Retention time 50 ms */
++#define STATUS_MBCFG_RTIME_RET50 0x00040000
++/** Retention time 60 ms */
++#define STATUS_MBCFG_RTIME_RET60 0x00080000
++/** Retention time 70 ms */
++#define STATUS_MBCFG_RTIME_RET70 0x000C0000
++/** Retention time 80 ms */
++#define STATUS_MBCFG_RTIME_RET80 0x00100000
++/** Retention time 90 ms */
++#define STATUS_MBCFG_RTIME_RET90 0x00140000
++/** Retention time 1000 ms */
++#define STATUS_MBCFG_RTIME_RET1000 0x00180000
++/** Test ID
++    Defines the test to execute. In which order the tests are executed can be defined via TID_n (TID_1 1st execution, TID_2 2nd execution ..) */
++#define STATUS_MBCFG_TID_5_MASK 0x00038000
++/** field offset */
++#define STATUS_MBCFG_TID_5_OFFSET 15
++/** No test is performed */
++#define STATUS_MBCFG_TID_5_NONE 0x00000000
++/** March test */
++#define STATUS_MBCFG_TID_5_MARCH 0x00008000
++/** Checkerboard test */
++#define STATUS_MBCFG_TID_5_CHCK 0x00010000
++/** Hammer test */
++#define STATUS_MBCFG_TID_5_HAM 0x00018000
++/** Address decoder test */
++#define STATUS_MBCFG_TID_5_ADEC 0x00020000
++/** Write mask byte test */
++#define STATUS_MBCFG_TID_5_WMBYTE 0x00028000
++/** Reserved */
++#define STATUS_MBCFG_TID_5_RES 0x00030000
++/** Test ID
++    Defines the test to execute. In which order the tests are executed can be defined via TID_n (TID_1 1st execution, TID_2 2nd execution ..) */
++#define STATUS_MBCFG_TID_4_MASK 0x00007000
++/** field offset */
++#define STATUS_MBCFG_TID_4_OFFSET 12
++/** No test is performed */
++#define STATUS_MBCFG_TID_4_NONE 0x00000000
++/** March test */
++#define STATUS_MBCFG_TID_4_MARCH 0x00001000
++/** Checkerboard test */
++#define STATUS_MBCFG_TID_4_CHCK 0x00002000
++/** Hammer test */
++#define STATUS_MBCFG_TID_4_HAM 0x00003000
++/** Address decoder test */
++#define STATUS_MBCFG_TID_4_ADEC 0x00004000
++/** Write mask byte test */
++#define STATUS_MBCFG_TID_4_WMBYTE 0x00005000
++/** Reserved */
++#define STATUS_MBCFG_TID_4_RES 0x00006000
++/** Test ID
++    Defines the test to execute. In which order the tests are executed can be defined via TID_n (TID_1 1st execution, TID_2 2nd execution ..) */
++#define STATUS_MBCFG_TID_3_MASK 0x00000E00
++/** field offset */
++#define STATUS_MBCFG_TID_3_OFFSET 9
++/** No test is performed */
++#define STATUS_MBCFG_TID_3_NONE 0x00000000
++/** March test */
++#define STATUS_MBCFG_TID_3_MARCH 0x00000200
++/** Checkerboard test */
++#define STATUS_MBCFG_TID_3_CHCK 0x00000400
++/** Hammer test */
++#define STATUS_MBCFG_TID_3_HAM 0x00000600
++/** Address decoder test */
++#define STATUS_MBCFG_TID_3_ADEC 0x00000800
++/** Write mask byte test */
++#define STATUS_MBCFG_TID_3_WMBYTE 0x00000A00
++/** Reserved */
++#define STATUS_MBCFG_TID_3_RES 0x00000C00
++/** Test ID
++    Defines the test to execute. In which order the tests are executed can be defined via TID_n (TID_1 1st execution, TID_2 2nd execution ..) */
++#define STATUS_MBCFG_TID_2_MASK 0x000001C0
++/** field offset */
++#define STATUS_MBCFG_TID_2_OFFSET 6
++/** No test is performed */
++#define STATUS_MBCFG_TID_2_NONE 0x00000000
++/** March test */
++#define STATUS_MBCFG_TID_2_MARCH 0x00000040
++/** Checkerboard test */
++#define STATUS_MBCFG_TID_2_CHCK 0x00000080
++/** Hammer test */
++#define STATUS_MBCFG_TID_2_HAM 0x000000C0
++/** Address decoder test */
++#define STATUS_MBCFG_TID_2_ADEC 0x00000100
++/** Write mask byte test */
++#define STATUS_MBCFG_TID_2_WMBYTE 0x00000140
++/** Reserved */
++#define STATUS_MBCFG_TID_2_RES 0x00000180
++/** Test ID
++    Defines the test to execute. In which order the tests are executed can be defined via TID_n (TID_1 1st execution, TID_2 2nd execution ..) */
++#define STATUS_MBCFG_TID_1_MASK 0x00000038
++/** field offset */
++#define STATUS_MBCFG_TID_1_OFFSET 3
++/** No test is performed */
++#define STATUS_MBCFG_TID_1_NONE 0x00000000
++/** March test */
++#define STATUS_MBCFG_TID_1_MARCH 0x00000008
++/** Checkerboard test */
++#define STATUS_MBCFG_TID_1_CHCK 0x00000010
++/** Hammer test */
++#define STATUS_MBCFG_TID_1_HAM 0x00000018
++/** Address decoder test */
++#define STATUS_MBCFG_TID_1_ADEC 0x00000020
++/** Write mask byte test */
++#define STATUS_MBCFG_TID_1_WMBYTE 0x00000028
++/** Reserved */
++#define STATUS_MBCFG_TID_1_RES 0x00000030
++/** Test ID
++    Defines the test to execute. In which order the tests are executed can be defined via TID_n (TID_1 1st execution, TID_2 2nd execution ..) */
++#define STATUS_MBCFG_TID_0_MASK 0x00000007
++/** field offset */
++#define STATUS_MBCFG_TID_0_OFFSET 0
++/** No test is performed */
++#define STATUS_MBCFG_TID_0_NONE 0x00000000
++/** March test */
++#define STATUS_MBCFG_TID_0_MARCH 0x00000001
++/** Checkerboard test */
++#define STATUS_MBCFG_TID_0_CHCK 0x00000002
++/** Hammer test */
++#define STATUS_MBCFG_TID_0_HAM 0x00000003
++/** Address decoder test */
++#define STATUS_MBCFG_TID_0_ADEC 0x00000004
++/** Write mask byte test */
++#define STATUS_MBCFG_TID_0_WMBYTE 0x00000005
++/** Reserved */
++#define STATUS_MBCFG_TID_0_RES 0x00000006
++
++/* Fields of "sbs0 bist result and debug data" */
++/** BIST result and debug data
++    Stores additional debug information */
++#define STATUS_MBDATA_DATA_MASK 0xFFFFFFF8
++/** field offset */
++#define STATUS_MBDATA_DATA_OFFSET 3
++/** MBIST NOGO
++    The BIST failed and cannot be repaired due to many failure locations */
++#define STATUS_MBDATA_MBNOGO 0x00000004
++/** MBIST FAILED
++    The BIST failed but can be repaired */
++#define STATUS_MBDATA_MBFAIL 0x00000002
++/** MBIST PASSED
++    The BIST passed without any Failures */
++#define STATUS_MBDATA_MBPASS 0x00000001
++
++/*! @} */ /* STATUS_REGISTER */
++
++#endif /* _status_reg_h */
+--- /dev/null
++++ b/arch/mips/include/asm/mach-lantiq/falcon/sys1_reg.h
+@@ -0,0 +1,2008 @@
++/******************************************************************************
++
++                               Copyright (c) 2010
++                            Lantiq Deutschland GmbH
++
++  For licensing information, see the file 'LICENSE' in the root folder of
++  this software module.
++
++******************************************************************************/
++
++#ifndef _sys1_reg_h
++#define _sys1_reg_h
++
++/** \addtogroup SYS1_REGISTER
++   @{
++*/
++/* access macros */
++#define sys1_r32(reg) reg_r32(&sys1->reg)
++#define sys1_w32(val, reg) reg_w32(val, &sys1->reg)
++#define sys1_w32_mask(clear, set, reg) reg_w32_mask(clear, set, &sys1->reg)
++#define sys1_r32_table(reg, idx) reg_r32_table(sys1->reg, idx)
++#define sys1_w32_table(val, reg, idx) reg_w32_table(val, sys1->reg, idx)
++#define sys1_w32_table_mask(clear, set, reg, idx) reg_w32_table_mask(clear, set, sys1->reg, idx)
++#define sys1_adr_table(reg, idx) adr_table(sys1->reg, idx)
++
++
++/** SYS1 register structure */
++struct gpon_reg_sys1
++{
++   /** Clock Status Register */
++   unsigned int clks; /* 0x00000000 */
++   /** Clock Enable Register
++       Via this register the clocks for the domains can be enabled. */
++   unsigned int clken; /* 0x00000004 */
++   /** Clock Clear Register
++       Via this register the clocks for the domains can be disabled. */
++   unsigned int clkclr; /* 0x00000008 */
++   /** Reserved */
++   unsigned int res_0[5]; /* 0x0000000C */
++   /** Activation Status Register */
++   unsigned int acts; /* 0x00000020 */
++   /** Activation Register
++       Via this register the domains can be activated. */
++   unsigned int act; /* 0x00000024 */
++   /** Deactivation Register
++       Via this register the domains can be deactivated. */
++   unsigned int deact; /* 0x00000028 */
++   /** Reboot Trigger Register
++       Via this register the domains can be rebooted (sent through reset). */
++   unsigned int rbt; /* 0x0000002C */
++   /** Reserved */
++   unsigned int res_1[4]; /* 0x00000030 */
++   /** CPU0 Clock Control Register
++       Clock control register for CPU0 */
++   unsigned int cpu0cc; /* 0x00000040 */
++   /** Reserved */
++   unsigned int res_2[7]; /* 0x00000044 */
++   /** CPU0 Reset Source Register
++       Via this register the CPU can find the the root cause for the boot it currently goes through, and take the appropriate measures. */
++   unsigned int cpu0rs; /* 0x00000060 */
++   /** Reserved */
++   unsigned int res_3[7]; /* 0x00000064 */
++   /** CPU0 Wakeup Configuration Register
++       Controls the wakeup condition for CPU0. Note: The upper 16 bit of this register have to be set to the same value as the mask bits within the yield-resume interface block. If the yield-resume interface is not used at all, set the upper 16 bit to 0. */
++   unsigned int cpu0wcfg; /* 0x00000080 */
++   /** Reserved */
++   unsigned int res_4[7]; /* 0x00000084 */
++   /** Bootmode Control Register
++       Reflects the bootmode for the CPU and provides means to manipulate it. */
++   unsigned int bmc; /* 0x000000A0 */
++   /** Reserved */
++   unsigned int res_5[3]; /* 0x000000A4 */
++   /** Sleep Configuration Register */
++   unsigned int scfg; /* 0x000000B0 */
++   /** Power Down Configuration Register
++       Via this register the configuration is done whether in case of deactivation the power supply of the domain shall be switched off. */
++   unsigned int pdcfg; /* 0x000000B4 */
++   /** CLKO Pad Control Register
++       Controls the behaviour of the CLKO pad/ball. */
++   unsigned int clkoc; /* 0x000000B8 */
++   /** Infrastructure Control Register
++       Controls the behaviour of the components of the infrastructure block. */
++   unsigned int infrac; /* 0x000000BC */
++   /** HRST_OUT_N Control Register
++       Controls the behaviour of the HRST_OUT_N pin. */
++   unsigned int hrstoutc; /* 0x000000C0 */
++   /** EBU Clock Control Register
++       Clock control register for the EBU. */
++   unsigned int ebucc; /* 0x000000C4 */
++   /** Reserved */
++   unsigned int res_6[2]; /* 0x000000C8 */
++   /** NMI Status Register
++       The Test NMI source is the GPTC counter 1A overflow bit. */
++   unsigned int nmis; /* 0x000000D0 */
++   /** NMI Set Register */
++   unsigned int nmiset; /* 0x000000D4 */
++   /** NMI Clear Register */
++   unsigned int nmiclr; /* 0x000000D8 */
++   /** NMI Test Configuration Register */
++   unsigned int nmitcfg; /* 0x000000DC */
++   /** NMI VPE1 Control Register */
++   unsigned int nmivpe1c; /* 0x000000E0 */
++   /** Reserved */
++   unsigned int res_7[3]; /* 0x000000E4 */
++   /** IRN Capture Register
++       This register shows the currently active interrupt events masked with the corresponding enable bits of the IRNEN register. The interrupts can be acknowledged by a write operation. */
++   unsigned int irncr; /* 0x000000F0 */
++   /** IRN Interrupt Control Register
++       A write operation directly effects the interrupts. This can be used to trigger events under software control for testing purposes. A read operation returns the unmasked interrupt events. */
++   unsigned int irnicr; /* 0x000000F4 */
++   /** IRN Interrupt Enable Register
++       This register contains the enable (or mask) bits for the interrupts. Disabled interrupts are not visible in the IRNCR register and are not signalled via the interrupt line towards the controller. */
++   unsigned int irnen; /* 0x000000F8 */
++   /** Reserved */
++   unsigned int res_8; /* 0x000000FC */
++};
++
++
++/* Fields of "Clock Status Register" */
++/** STATUS Clock Enable
++    Shows the clock enable bit for the STATUS domain. This domain contains the STATUS block. */
++#define CLKS_STATUS 0x80000000
++/* Disable
++#define CLKS_STATUS_DIS 0x00000000 */
++/** Enable */
++#define CLKS_STATUS_EN 0x80000000
++/** SHA1 Clock Enable
++    Shows the clock enable bit for the SHA1 domain. This domain contains the SHA1 block. */
++#define CLKS_SHA1 0x40000000
++/* Disable
++#define CLKS_SHA1_DIS 0x00000000 */
++/** Enable */
++#define CLKS_SHA1_EN 0x40000000
++/** AES Clock Enable
++    Shows the clock enable bit for the AES domain. This domain contains the AES block. */
++#define CLKS_AES 0x20000000
++/* Disable
++#define CLKS_AES_DIS 0x00000000 */
++/** Enable */
++#define CLKS_AES_EN 0x20000000
++/** PCM Clock Enable
++    Shows the clock enable bit for the PCM domain. This domain contains the PCM interface block. */
++#define CLKS_PCM 0x10000000
++/* Disable
++#define CLKS_PCM_DIS 0x00000000 */
++/** Enable */
++#define CLKS_PCM_EN 0x10000000
++/** FSCT Clock Enable
++    Shows the clock enable bit for the FSCT domain. This domain contains the FSCT block. */
++#define CLKS_FSCT 0x08000000
++/* Disable
++#define CLKS_FSCT_DIS 0x00000000 */
++/** Enable */
++#define CLKS_FSCT_EN 0x08000000
++/** GPTC Clock Enable
++    Shows the clock enable bit for the GPTC domain. This domain contains the GPTC block. */
++#define CLKS_GPTC 0x04000000
++/* Disable
++#define CLKS_GPTC_DIS 0x00000000 */
++/** Enable */
++#define CLKS_GPTC_EN 0x04000000
++/** MPS Clock Enable
++    Shows the clock enable bit for the MPS domain. This domain contains the MPS block. */
++#define CLKS_MPS 0x02000000
++/* Disable
++#define CLKS_MPS_DIS 0x00000000 */
++/** Enable */
++#define CLKS_MPS_EN 0x02000000
++/** DFEV0 Clock Enable
++    Shows the clock enable bit for the DFEV0 domain. This domain contains the DFEV0 block. */
++#define CLKS_DFEV0 0x01000000
++/* Disable
++#define CLKS_DFEV0_DIS 0x00000000 */
++/** Enable */
++#define CLKS_DFEV0_EN 0x01000000
++/** PADCTRL4 Clock Enable
++    Shows the clock enable bit for the PADCTRL4 domain. This domain contains the PADCTRL4 block. */
++#define CLKS_PADCTRL4 0x00400000
++/* Disable
++#define CLKS_PADCTRL4_DIS 0x00000000 */
++/** Enable */
++#define CLKS_PADCTRL4_EN 0x00400000
++/** PADCTRL3 Clock Enable
++    Shows the clock enable bit for the PADCTRL3 domain. This domain contains the PADCTRL3 block. */
++#define CLKS_PADCTRL3 0x00200000
++/* Disable
++#define CLKS_PADCTRL3_DIS 0x00000000 */
++/** Enable */
++#define CLKS_PADCTRL3_EN 0x00200000
++/** PADCTRL1 Clock Enable
++    Shows the clock enable bit for the PADCTRL1 domain. This domain contains the PADCTRL1 block. */
++#define CLKS_PADCTRL1 0x00100000
++/* Disable
++#define CLKS_PADCTRL1_DIS 0x00000000 */
++/** Enable */
++#define CLKS_PADCTRL1_EN 0x00100000
++/** P4 Clock Enable
++    Shows the clock enable bit for the P4 domain. This domain contains the P4 instance of the GPIO block. */
++#define CLKS_P4 0x00040000
++/* Disable
++#define CLKS_P4_DIS 0x00000000 */
++/** Enable */
++#define CLKS_P4_EN 0x00040000
++/** P3 Clock Enable
++    Shows the clock enable bit for the P3 domain. This domain contains the P3 instance of the GPIO block. */
++#define CLKS_P3 0x00020000
++/* Disable
++#define CLKS_P3_DIS 0x00000000 */
++/** Enable */
++#define CLKS_P3_EN 0x00020000
++/** P1 Clock Enable
++    Shows the clock enable bit for the P1 domain. This domain contains the P1 instance of the GPIO block. */
++#define CLKS_P1 0x00010000
++/* Disable
++#define CLKS_P1_DIS 0x00000000 */
++/** Enable */
++#define CLKS_P1_EN 0x00010000
++/** HOST Clock Enable
++    Shows the clock enable bit for the HOST domain. This domain contains the HOST interface block. */
++#define CLKS_HOST 0x00008000
++/* Disable
++#define CLKS_HOST_DIS 0x00000000 */
++/** Enable */
++#define CLKS_HOST_EN 0x00008000
++/** I2C Clock Enable
++    Shows the clock enable bit for the I2C domain. This domain contains the I2C interface block. */
++#define CLKS_I2C 0x00004000
++/* Disable
++#define CLKS_I2C_DIS 0x00000000 */
++/** Enable */
++#define CLKS_I2C_EN 0x00004000
++/** SSC0 Clock Enable
++    Shows the clock enable bit for the SSC0 domain. This domain contains the SSC0 interface block. */
++#define CLKS_SSC0 0x00002000
++/* Disable
++#define CLKS_SSC0_DIS 0x00000000 */
++/** Enable */
++#define CLKS_SSC0_EN 0x00002000
++/** ASC0 Clock Enable
++    Shows the clock enable bit for the ASC0 domain. This domain contains the ASC0 interface block. */
++#define CLKS_ASC0 0x00001000
++/* Disable
++#define CLKS_ASC0_DIS 0x00000000 */
++/** Enable */
++#define CLKS_ASC0_EN 0x00001000
++/** ASC1 Clock Enable
++    Shows the clock enable bit for the ASC1 domain. This domain contains the ASC1 block. */
++#define CLKS_ASC1 0x00000800
++/* Disable
++#define CLKS_ASC1_DIS 0x00000000 */
++/** Enable */
++#define CLKS_ASC1_EN 0x00000800
++/** DCDCAPD Clock Enable
++    Shows the clock enable bit for the DCDCAPD domain. This domain contains the digital part of the 60 volts DCDC converter. */
++#define CLKS_DCDCAPD 0x00000400
++/* Disable
++#define CLKS_DCDCAPD_DIS 0x00000000 */
++/** Enable */
++#define CLKS_DCDCAPD_EN 0x00000400
++/** DCDCDDR Clock Enable
++    Shows the clock enable bit for the DCDCDDR domain. This domain contains the digital part of the DCDC converter dedicated to the DDR interface. */
++#define CLKS_DCDCDDR 0x00000200
++/* Disable
++#define CLKS_DCDCDDR_DIS 0x00000000 */
++/** Enable */
++#define CLKS_DCDCDDR_EN 0x00000200
++/** DCDC1V0 Clock Enable
++    Shows the clock enable bit for the DCDC1V0 domain. This domain contains the digital part of the 1.0 volts DCDC converter. */
++#define CLKS_DCDC1V0 0x00000100
++/* Disable
++#define CLKS_DCDC1V0_DIS 0x00000000 */
++/** Enable */
++#define CLKS_DCDC1V0_EN 0x00000100
++/** TRC2MEM Clock Enable
++    Shows the clock enable bit for the TRC2MEM domain. This domain contains the TRC2MEM block. */
++#define CLKS_TRC2MEM 0x00000040
++/* Disable
++#define CLKS_TRC2MEM_DIS 0x00000000 */
++/** Enable */
++#define CLKS_TRC2MEM_EN 0x00000040
++/** DDR Clock Enable
++    Shows the clock enable bit for the DDR domain. This domain contains the DDR interface block. */
++#define CLKS_DDR 0x00000020
++/* Disable
++#define CLKS_DDR_DIS 0x00000000 */
++/** Enable */
++#define CLKS_DDR_EN 0x00000020
++/** EBU Clock Enable
++    Shows the clock enable bit for the EBU domain. This domain contains the EBU interface block. */
++#define CLKS_EBU 0x00000010
++/* Disable
++#define CLKS_EBU_DIS 0x00000000 */
++/** Enable */
++#define CLKS_EBU_EN 0x00000010
++
++/* Fields of "Clock Enable Register" */
++/** Set Clock Enable STATUS
++    Sets the clock enable bit of the STATUS domain. This domain contains the STATUS block. */
++#define CLKEN_STATUS 0x80000000
++/* No-Operation
++#define CLKEN_STATUS_NOP 0x00000000 */
++/** Set */
++#define CLKEN_STATUS_SET 0x80000000
++/** Set Clock Enable SHA1
++    Sets the clock enable bit of the SHA1 domain. This domain contains the SHA1 block. */
++#define CLKEN_SHA1 0x40000000
++/* No-Operation
++#define CLKEN_SHA1_NOP 0x00000000 */
++/** Set */
++#define CLKEN_SHA1_SET 0x40000000
++/** Set Clock Enable AES
++    Sets the clock enable bit of the AES domain. This domain contains the AES block. */
++#define CLKEN_AES 0x20000000
++/* No-Operation
++#define CLKEN_AES_NOP 0x00000000 */
++/** Set */
++#define CLKEN_AES_SET 0x20000000
++/** Set Clock Enable PCM
++    Sets the clock enable bit of the PCM domain. This domain contains the PCM interface block. */
++#define CLKEN_PCM 0x10000000
++/* No-Operation
++#define CLKEN_PCM_NOP 0x00000000 */
++/** Set */
++#define CLKEN_PCM_SET 0x10000000
++/** Set Clock Enable FSCT
++    Sets the clock enable bit of the FSCT domain. This domain contains the FSCT block. */
++#define CLKEN_FSCT 0x08000000
++/* No-Operation
++#define CLKEN_FSCT_NOP 0x00000000 */
++/** Set */
++#define CLKEN_FSCT_SET 0x08000000
++/** Set Clock Enable GPTC
++    Sets the clock enable bit of the GPTC domain. This domain contains the GPTC block. */
++#define CLKEN_GPTC 0x04000000
++/* No-Operation
++#define CLKEN_GPTC_NOP 0x00000000 */
++/** Set */
++#define CLKEN_GPTC_SET 0x04000000
++/** Set Clock Enable MPS
++    Sets the clock enable bit of the MPS domain. This domain contains the MPS block. */
++#define CLKEN_MPS 0x02000000
++/* No-Operation
++#define CLKEN_MPS_NOP 0x00000000 */
++/** Set */
++#define CLKEN_MPS_SET 0x02000000
++/** Set Clock Enable DFEV0
++    Sets the clock enable bit of the DFEV0 domain. This domain contains the DFEV0 block. */
++#define CLKEN_DFEV0 0x01000000
++/* No-Operation
++#define CLKEN_DFEV0_NOP 0x00000000 */
++/** Set */
++#define CLKEN_DFEV0_SET 0x01000000
++/** Set Clock Enable PADCTRL4
++    Sets the clock enable bit of the PADCTRL4 domain. This domain contains the PADCTRL4 block. */
++#define CLKEN_PADCTRL4 0x00400000
++/* No-Operation
++#define CLKEN_PADCTRL4_NOP 0x00000000 */
++/** Set */
++#define CLKEN_PADCTRL4_SET 0x00400000
++/** Set Clock Enable PADCTRL3
++    Sets the clock enable bit of the PADCTRL3 domain. This domain contains the PADCTRL3 block. */
++#define CLKEN_PADCTRL3 0x00200000
++/* No-Operation
++#define CLKEN_PADCTRL3_NOP 0x00000000 */
++/** Set */
++#define CLKEN_PADCTRL3_SET 0x00200000
++/** Set Clock Enable PADCTRL1
++    Sets the clock enable bit of the PADCTRL1 domain. This domain contains the PADCTRL1 block. */
++#define CLKEN_PADCTRL1 0x00100000
++/* No-Operation
++#define CLKEN_PADCTRL1_NOP 0x00000000 */
++/** Set */
++#define CLKEN_PADCTRL1_SET 0x00100000
++/** Set Clock Enable P4
++    Sets the clock enable bit of the P4 domain. This domain contains the P4 instance of the GPIO block. */
++#define CLKEN_P4 0x00040000
++/* No-Operation
++#define CLKEN_P4_NOP 0x00000000 */
++/** Set */
++#define CLKEN_P4_SET 0x00040000
++/** Set Clock Enable P3
++    Sets the clock enable bit of the P3 domain. This domain contains the P3 instance of the GPIO block. */
++#define CLKEN_P3 0x00020000
++/* No-Operation
++#define CLKEN_P3_NOP 0x00000000 */
++/** Set */
++#define CLKEN_P3_SET 0x00020000
++/** Set Clock Enable P1
++    Sets the clock enable bit of the P1 domain. This domain contains the P1 instance of the GPIO block. */
++#define CLKEN_P1 0x00010000
++/* No-Operation
++#define CLKEN_P1_NOP 0x00000000 */
++/** Set */
++#define CLKEN_P1_SET 0x00010000
++/** Set Clock Enable HOST
++    Sets the clock enable bit of the HOST domain. This domain contains the HOST interface block. */
++#define CLKEN_HOST 0x00008000
++/* No-Operation
++#define CLKEN_HOST_NOP 0x00000000 */
++/** Set */
++#define CLKEN_HOST_SET 0x00008000
++/** Set Clock Enable I2C
++    Sets the clock enable bit of the I2C domain. This domain contains the I2C interface block. */
++#define CLKEN_I2C 0x00004000
++/* No-Operation
++#define CLKEN_I2C_NOP 0x00000000 */
++/** Set */
++#define CLKEN_I2C_SET 0x00004000
++/** Set Clock Enable SSC0
++    Sets the clock enable bit of the SSC0 domain. This domain contains the SSC0 interface block. */
++#define CLKEN_SSC0 0x00002000
++/* No-Operation
++#define CLKEN_SSC0_NOP 0x00000000 */
++/** Set */
++#define CLKEN_SSC0_SET 0x00002000
++/** Set Clock Enable ASC0
++    Sets the clock enable bit of the ASC0 domain. This domain contains the ASC0 interface block. */
++#define CLKEN_ASC0 0x00001000
++/* No-Operation
++#define CLKEN_ASC0_NOP 0x00000000 */
++/** Set */
++#define CLKEN_ASC0_SET 0x00001000
++/** Set Clock Enable ASC1
++    Sets the clock enable bit of the ASC1 domain. This domain contains the ASC1 block. */
++#define CLKEN_ASC1 0x00000800
++/* No-Operation
++#define CLKEN_ASC1_NOP 0x00000000 */
++/** Set */
++#define CLKEN_ASC1_SET 0x00000800
++/** Set Clock Enable DCDCAPD
++    Sets the clock enable bit of the DCDCAPD domain. This domain contains the digital part of the 60 volts DCDC converter. */
++#define CLKEN_DCDCAPD 0x00000400
++/* No-Operation
++#define CLKEN_DCDCAPD_NOP 0x00000000 */
++/** Set */
++#define CLKEN_DCDCAPD_SET 0x00000400
++/** Set Clock Enable DCDCDDR
++    Sets the clock enable bit of the DCDCDDR domain. This domain contains the digital part of the DCDC converter dedicated to the DDR interface. */
++#define CLKEN_DCDCDDR 0x00000200
++/* No-Operation
++#define CLKEN_DCDCDDR_NOP 0x00000000 */
++/** Set */
++#define CLKEN_DCDCDDR_SET 0x00000200
++/** Set Clock Enable DCDC1V0
++    Sets the clock enable bit of the DCDC1V0 domain. This domain contains the digital part of the 1.0 volts DCDC converter. */
++#define CLKEN_DCDC1V0 0x00000100
++/* No-Operation
++#define CLKEN_DCDC1V0_NOP 0x00000000 */
++/** Set */
++#define CLKEN_DCDC1V0_SET 0x00000100
++/** Set Clock Enable TRC2MEM
++    Sets the clock enable bit of the TRC2MEM domain. This domain contains the TRC2MEM block. */
++#define CLKEN_TRC2MEM 0x00000040
++/* No-Operation
++#define CLKEN_TRC2MEM_NOP 0x00000000 */
++/** Set */
++#define CLKEN_TRC2MEM_SET 0x00000040
++/** Set Clock Enable DDR
++    Sets the clock enable bit of the DDR domain. This domain contains the DDR interface block. */
++#define CLKEN_DDR 0x00000020
++/* No-Operation
++#define CLKEN_DDR_NOP 0x00000000 */
++/** Set */
++#define CLKEN_DDR_SET 0x00000020
++/** Set Clock Enable EBU
++    Sets the clock enable bit of the EBU domain. This domain contains the EBU interface block. */
++#define CLKEN_EBU 0x00000010
++/* No-Operation
++#define CLKEN_EBU_NOP 0x00000000 */
++/** Set */
++#define CLKEN_EBU_SET 0x00000010
++
++/* Fields of "Clock Clear Register" */
++/** Clear Clock Enable STATUS
++    Clears the clock enable bit of the STATUS domain. This domain contains the STATUS block. */
++#define CLKCLR_STATUS 0x80000000
++/* No-Operation
++#define CLKCLR_STATUS_NOP 0x00000000 */
++/** Clear */
++#define CLKCLR_STATUS_CLR 0x80000000
++/** Clear Clock Enable SHA1
++    Clears the clock enable bit of the SHA1 domain. This domain contains the SHA1 block. */
++#define CLKCLR_SHA1 0x40000000
++/* No-Operation
++#define CLKCLR_SHA1_NOP 0x00000000 */
++/** Clear */
++#define CLKCLR_SHA1_CLR 0x40000000
++/** Clear Clock Enable AES
++    Clears the clock enable bit of the AES domain. This domain contains the AES block. */
++#define CLKCLR_AES 0x20000000
++/* No-Operation
++#define CLKCLR_AES_NOP 0x00000000 */
++/** Clear */
++#define CLKCLR_AES_CLR 0x20000000
++/** Clear Clock Enable PCM
++    Clears the clock enable bit of the PCM domain. This domain contains the PCM interface block. */
++#define CLKCLR_PCM 0x10000000
++/* No-Operation
++#define CLKCLR_PCM_NOP 0x00000000 */
++/** Clear */
++#define CLKCLR_PCM_CLR 0x10000000
++/** Clear Clock Enable FSCT
++    Clears the clock enable bit of the FSCT domain. This domain contains the FSCT block. */
++#define CLKCLR_FSCT 0x08000000
++/* No-Operation
++#define CLKCLR_FSCT_NOP 0x00000000 */
++/** Clear */
++#define CLKCLR_FSCT_CLR 0x08000000
++/** Clear Clock Enable GPTC
++    Clears the clock enable bit of the GPTC domain. This domain contains the GPTC block. */
++#define CLKCLR_GPTC 0x04000000
++/* No-Operation
++#define CLKCLR_GPTC_NOP 0x00000000 */
++/** Clear */
++#define CLKCLR_GPTC_CLR 0x04000000
++/** Clear Clock Enable MPS
++    Clears the clock enable bit of the MPS domain. This domain contains the MPS block. */
++#define CLKCLR_MPS 0x02000000
++/* No-Operation
++#define CLKCLR_MPS_NOP 0x00000000 */
++/** Clear */
++#define CLKCLR_MPS_CLR 0x02000000
++/** Clear Clock Enable DFEV0
++    Clears the clock enable bit of the DFEV0 domain. This domain contains the DFEV0 block. */
++#define CLKCLR_DFEV0 0x01000000
++/* No-Operation
++#define CLKCLR_DFEV0_NOP 0x00000000 */
++/** Clear */
++#define CLKCLR_DFEV0_CLR 0x01000000
++/** Clear Clock Enable PADCTRL4
++    Clears the clock enable bit of the PADCTRL4 domain. This domain contains the PADCTRL4 block. */
++#define CLKCLR_PADCTRL4 0x00400000
++/* No-Operation
++#define CLKCLR_PADCTRL4_NOP 0x00000000 */
++/** Clear */
++#define CLKCLR_PADCTRL4_CLR 0x00400000
++/** Clear Clock Enable PADCTRL3
++    Clears the clock enable bit of the PADCTRL3 domain. This domain contains the PADCTRL3 block. */
++#define CLKCLR_PADCTRL3 0x00200000
++/* No-Operation
++#define CLKCLR_PADCTRL3_NOP 0x00000000 */
++/** Clear */
++#define CLKCLR_PADCTRL3_CLR 0x00200000
++/** Clear Clock Enable PADCTRL1
++    Clears the clock enable bit of the PADCTRL1 domain. This domain contains the PADCTRL1 block. */
++#define CLKCLR_PADCTRL1 0x00100000
++/* No-Operation
++#define CLKCLR_PADCTRL1_NOP 0x00000000 */
++/** Clear */
++#define CLKCLR_PADCTRL1_CLR 0x00100000
++/** Clear Clock Enable P4
++    Clears the clock enable bit of the P4 domain. This domain contains the P4 instance of the GPIO block. */
++#define CLKCLR_P4 0x00040000
++/* No-Operation
++#define CLKCLR_P4_NOP 0x00000000 */
++/** Clear */
++#define CLKCLR_P4_CLR 0x00040000
++/** Clear Clock Enable P3
++    Clears the clock enable bit of the P3 domain. This domain contains the P3 instance of the GPIO block. */
++#define CLKCLR_P3 0x00020000
++/* No-Operation
++#define CLKCLR_P3_NOP 0x00000000 */
++/** Clear */
++#define CLKCLR_P3_CLR 0x00020000
++/** Clear Clock Enable P1
++    Clears the clock enable bit of the P1 domain. This domain contains the P1 instance of the GPIO block. */
++#define CLKCLR_P1 0x00010000
++/* No-Operation
++#define CLKCLR_P1_NOP 0x00000000 */
++/** Clear */
++#define CLKCLR_P1_CLR 0x00010000
++/** Clear Clock Enable HOST
++    Clears the clock enable bit of the HOST domain. This domain contains the HOST interface block. */
++#define CLKCLR_HOST 0x00008000
++/* No-Operation
++#define CLKCLR_HOST_NOP 0x00000000 */
++/** Clear */
++#define CLKCLR_HOST_CLR 0x00008000
++/** Clear Clock Enable I2C
++    Clears the clock enable bit of the I2C domain. This domain contains the I2C interface block. */
++#define CLKCLR_I2C 0x00004000
++/* No-Operation
++#define CLKCLR_I2C_NOP 0x00000000 */
++/** Clear */
++#define CLKCLR_I2C_CLR 0x00004000
++/** Clear Clock Enable SSC0
++    Clears the clock enable bit of the SSC0 domain. This domain contains the SSC0 interface block. */
++#define CLKCLR_SSC0 0x00002000
++/* No-Operation
++#define CLKCLR_SSC0_NOP 0x00000000 */
++/** Clear */
++#define CLKCLR_SSC0_CLR 0x00002000
++/** Clear Clock Enable ASC0
++    Clears the clock enable bit of the ASC0 domain. This domain contains the ASC0 interface block. */
++#define CLKCLR_ASC0 0x00001000
++/* No-Operation
++#define CLKCLR_ASC0_NOP 0x00000000 */
++/** Clear */
++#define CLKCLR_ASC0_CLR 0x00001000
++/** Clear Clock Enable ASC1
++    Clears the clock enable bit of the ASC1 domain. This domain contains the ASC1 block. */
++#define CLKCLR_ASC1 0x00000800
++/* No-Operation
++#define CLKCLR_ASC1_NOP 0x00000000 */
++/** Clear */
++#define CLKCLR_ASC1_CLR 0x00000800
++/** Clear Clock Enable DCDCAPD
++    Clears the clock enable bit of the DCDCAPD domain. This domain contains the digital part of the 60 volts DCDC converter. */
++#define CLKCLR_DCDCAPD 0x00000400
++/* No-Operation
++#define CLKCLR_DCDCAPD_NOP 0x00000000 */
++/** Clear */
++#define CLKCLR_DCDCAPD_CLR 0x00000400
++/** Clear Clock Enable DCDCDDR
++    Clears the clock enable bit of the DCDCDDR domain. This domain contains the digital part of the DCDC converter dedicated to the DDR interface. */
++#define CLKCLR_DCDCDDR 0x00000200
++/* No-Operation
++#define CLKCLR_DCDCDDR_NOP 0x00000000 */
++/** Clear */
++#define CLKCLR_DCDCDDR_CLR 0x00000200
++/** Clear Clock Enable DCDC1V0
++    Clears the clock enable bit of the DCDC1V0 domain. This domain contains the digital part of the 1.0 volts DCDC converter. */
++#define CLKCLR_DCDC1V0 0x00000100
++/* No-Operation
++#define CLKCLR_DCDC1V0_NOP 0x00000000 */
++/** Clear */
++#define CLKCLR_DCDC1V0_CLR 0x00000100
++/** Clear Clock Enable TRC2MEM
++    Clears the clock enable bit of the TRC2MEM domain. This domain contains the TRC2MEM block. */
++#define CLKCLR_TRC2MEM 0x00000040
++/* No-Operation
++#define CLKCLR_TRC2MEM_NOP 0x00000000 */
++/** Clear */
++#define CLKCLR_TRC2MEM_CLR 0x00000040
++/** Clear Clock Enable DDR
++    Clears the clock enable bit of the DDR domain. This domain contains the DDR interface block. */
++#define CLKCLR_DDR 0x00000020
++/* No-Operation
++#define CLKCLR_DDR_NOP 0x00000000 */
++/** Clear */
++#define CLKCLR_DDR_CLR 0x00000020
++/** Clear Clock Enable EBU
++    Clears the clock enable bit of the EBU domain. This domain contains the EBU interface block. */
++#define CLKCLR_EBU 0x00000010
++/* No-Operation
++#define CLKCLR_EBU_NOP 0x00000000 */
++/** Clear */
++#define CLKCLR_EBU_CLR 0x00000010
++
++/* Fields of "Activation Status Register" */
++/** STATUS Status
++    Shows the activation status of the STATUS domain. This domain contains the STATUS block. */
++#define ACTS_STATUS 0x80000000
++/* The block is inactive.
++#define ACTS_STATUS_INACT 0x00000000 */
++/** The block is active. */
++#define ACTS_STATUS_ACT 0x80000000
++/** SHA1 Status
++    Shows the activation status of the SHA1 domain. This domain contains the SHA1 block. */
++#define ACTS_SHA1 0x40000000
++/* The block is inactive.
++#define ACTS_SHA1_INACT 0x00000000 */
++/** The block is active. */
++#define ACTS_SHA1_ACT 0x40000000
++/** AES Status
++    Shows the activation status of the AES domain. This domain contains the AES block. */
++#define ACTS_AES 0x20000000
++/* The block is inactive.
++#define ACTS_AES_INACT 0x00000000 */
++/** The block is active. */
++#define ACTS_AES_ACT 0x20000000
++/** PCM Status
++    Shows the activation status of the PCM domain. This domain contains the PCM interface block. */
++#define ACTS_PCM 0x10000000
++/* The block is inactive.
++#define ACTS_PCM_INACT 0x00000000 */
++/** The block is active. */
++#define ACTS_PCM_ACT 0x10000000
++/** FSCT Status
++    Shows the activation status of the FSCT domain. This domain contains the FSCT block. */
++#define ACTS_FSCT 0x08000000
++/* The block is inactive.
++#define ACTS_FSCT_INACT 0x00000000 */
++/** The block is active. */
++#define ACTS_FSCT_ACT 0x08000000
++/** GPTC Status
++    Shows the activation status of the GPTC domain. This domain contains the GPTC block. */
++#define ACTS_GPTC 0x04000000
++/* The block is inactive.
++#define ACTS_GPTC_INACT 0x00000000 */
++/** The block is active. */
++#define ACTS_GPTC_ACT 0x04000000
++/** MPS Status
++    Shows the activation status of the MPS domain. This domain contains the MPS block. */
++#define ACTS_MPS 0x02000000
++/* The block is inactive.
++#define ACTS_MPS_INACT 0x00000000 */
++/** The block is active. */
++#define ACTS_MPS_ACT 0x02000000
++/** DFEV0 Status
++    Shows the activation status of the DFEV0 domain. This domain contains the DFEV0 block. */
++#define ACTS_DFEV0 0x01000000
++/* The block is inactive.
++#define ACTS_DFEV0_INACT 0x00000000 */
++/** The block is active. */
++#define ACTS_DFEV0_ACT 0x01000000
++/** PADCTRL4 Status
++    Shows the activation status of the PADCTRL4 domain. This domain contains the PADCTRL4 block. */
++#define ACTS_PADCTRL4 0x00400000
++/* The block is inactive.
++#define ACTS_PADCTRL4_INACT 0x00000000 */
++/** The block is active. */
++#define ACTS_PADCTRL4_ACT 0x00400000
++/** PADCTRL3 Status
++    Shows the activation status of the PADCTRL3 domain. This domain contains the PADCTRL3 block. */
++#define ACTS_PADCTRL3 0x00200000
++/* The block is inactive.
++#define ACTS_PADCTRL3_INACT 0x00000000 */
++/** The block is active. */
++#define ACTS_PADCTRL3_ACT 0x00200000
++/** PADCTRL1 Status
++    Shows the activation status of the PADCTRL1 domain. This domain contains the PADCTRL1 block. */
++#define ACTS_PADCTRL1 0x00100000
++/* The block is inactive.
++#define ACTS_PADCTRL1_INACT 0x00000000 */
++/** The block is active. */
++#define ACTS_PADCTRL1_ACT 0x00100000
++/** P4 Status
++    Shows the activation status of the P4 domain. This domain contains the P4 instance of the GPIO block. */
++#define ACTS_P4 0x00040000
++/* The block is inactive.
++#define ACTS_P4_INACT 0x00000000 */
++/** The block is active. */
++#define ACTS_P4_ACT 0x00040000
++/** P3 Status
++    Shows the activation status of the P3 domain. This domain contains the P3 instance of the GPIO block. */
++#define ACTS_P3 0x00020000
++/* The block is inactive.
++#define ACTS_P3_INACT 0x00000000 */
++/** The block is active. */
++#define ACTS_P3_ACT 0x00020000
++/** P1 Status
++    Shows the activation status of the P1 domain. This domain contains the P1 instance of the GPIO block. */
++#define ACTS_P1 0x00010000
++/* The block is inactive.
++#define ACTS_P1_INACT 0x00000000 */
++/** The block is active. */
++#define ACTS_P1_ACT 0x00010000
++/** HOST Status
++    Shows the activation status of the HOST domain. This domain contains the HOST interface block. */
++#define ACTS_HOST 0x00008000
++/* The block is inactive.
++#define ACTS_HOST_INACT 0x00000000 */
++/** The block is active. */
++#define ACTS_HOST_ACT 0x00008000
++/** I2C Status
++    Shows the activation status of the I2C domain. This domain contains the I2C interface block. */
++#define ACTS_I2C 0x00004000
++/* The block is inactive.
++#define ACTS_I2C_INACT 0x00000000 */
++/** The block is active. */
++#define ACTS_I2C_ACT 0x00004000
++/** SSC0 Status
++    Shows the activation status of the SSC0 domain. This domain contains the SSC0 interface block. */
++#define ACTS_SSC0 0x00002000
++/* The block is inactive.
++#define ACTS_SSC0_INACT 0x00000000 */
++/** The block is active. */
++#define ACTS_SSC0_ACT 0x00002000
++/** ASC0 Status
++    Shows the activation status of the ASC0 domain. This domain contains the ASC0 interface block. */
++#define ACTS_ASC0 0x00001000
++/* The block is inactive.
++#define ACTS_ASC0_INACT 0x00000000 */
++/** The block is active. */
++#define ACTS_ASC0_ACT 0x00001000
++/** ASC1 Status
++    Shows the activation status of the ASC1 domain. This domain contains the ASC1 block. */
++#define ACTS_ASC1 0x00000800
++/* The block is inactive.
++#define ACTS_ASC1_INACT 0x00000000 */
++/** The block is active. */
++#define ACTS_ASC1_ACT 0x00000800
++/** DCDCAPD Status
++    Shows the activation status of the DCDCAPD domain. This domain contains the digital part of the 60 volts DCDC converter. */
++#define ACTS_DCDCAPD 0x00000400
++/* The block is inactive.
++#define ACTS_DCDCAPD_INACT 0x00000000 */
++/** The block is active. */
++#define ACTS_DCDCAPD_ACT 0x00000400
++/** DCDCDDR Status
++    Shows the activation status of the DCDCDDR domain. This domain contains the digital part of the DCDC converter dedicated to the DDR interface. */
++#define ACTS_DCDCDDR 0x00000200
++/* The block is inactive.
++#define ACTS_DCDCDDR_INACT 0x00000000 */
++/** The block is active. */
++#define ACTS_DCDCDDR_ACT 0x00000200
++/** DCDC1V0 Status
++    Shows the activation status of the DCDC1V0 domain. This domain contains the digital part of the 1.0 volts DCDC converter. */
++#define ACTS_DCDC1V0 0x00000100
++/* The block is inactive.
++#define ACTS_DCDC1V0_INACT 0x00000000 */
++/** The block is active. */
++#define ACTS_DCDC1V0_ACT 0x00000100
++/** TRC2MEM Status
++    Shows the activation status of the TRC2MEM domain. This domain contains the TRC2MEM block. */
++#define ACTS_TRC2MEM 0x00000040
++/* The block is inactive.
++#define ACTS_TRC2MEM_INACT 0x00000000 */
++/** The block is active. */
++#define ACTS_TRC2MEM_ACT 0x00000040
++/** DDR Status
++    Shows the activation status of the DDR domain. This domain contains the DDR interface block. */
++#define ACTS_DDR 0x00000020
++/* The block is inactive.
++#define ACTS_DDR_INACT 0x00000000 */
++/** The block is active. */
++#define ACTS_DDR_ACT 0x00000020
++/** EBU Status
++    Shows the activation status of the EBU domain. This domain contains the EBU interface block. */
++#define ACTS_EBU 0x00000010
++/* The block is inactive.
++#define ACTS_EBU_INACT 0x00000000 */
++/** The block is active. */
++#define ACTS_EBU_ACT 0x00000010
++
++/* Fields of "Activation Register" */
++/** Activate STATUS
++    Sets the activation flag of the STATUS domain. This domain contains the STATUS block. */
++#define ACT_STATUS 0x80000000
++/* No-Operation
++#define ACT_STATUS_NOP 0x00000000 */
++/** Set */
++#define ACT_STATUS_SET 0x80000000
++/** Activate SHA1
++    Sets the activation flag of the SHA1 domain. This domain contains the SHA1 block. */
++#define ACT_SHA1 0x40000000
++/* No-Operation
++#define ACT_SHA1_NOP 0x00000000 */
++/** Set */
++#define ACT_SHA1_SET 0x40000000
++/** Activate AES
++    Sets the activation flag of the AES domain. This domain contains the AES block. */
++#define ACT_AES 0x20000000
++/* No-Operation
++#define ACT_AES_NOP 0x00000000 */
++/** Set */
++#define ACT_AES_SET 0x20000000
++/** Activate PCM
++    Sets the activation flag of the PCM domain. This domain contains the PCM interface block. */
++#define ACT_PCM 0x10000000
++/* No-Operation
++#define ACT_PCM_NOP 0x00000000 */
++/** Set */
++#define ACT_PCM_SET 0x10000000
++/** Activate FSCT
++    Sets the activation flag of the FSCT domain. This domain contains the FSCT block. */
++#define ACT_FSCT 0x08000000
++/* No-Operation
++#define ACT_FSCT_NOP 0x00000000 */
++/** Set */
++#define ACT_FSCT_SET 0x08000000
++/** Activate GPTC
++    Sets the activation flag of the GPTC domain. This domain contains the GPTC block. */
++#define ACT_GPTC 0x04000000
++/* No-Operation
++#define ACT_GPTC_NOP 0x00000000 */
++/** Set */
++#define ACT_GPTC_SET 0x04000000
++/** Activate MPS
++    Sets the activation flag of the MPS domain. This domain contains the MPS block. */
++#define ACT_MPS 0x02000000
++/* No-Operation
++#define ACT_MPS_NOP 0x00000000 */
++/** Set */
++#define ACT_MPS_SET 0x02000000
++/** Activate DFEV0
++    Sets the activation flag of the DFEV0 domain. This domain contains the DFEV0 block. */
++#define ACT_DFEV0 0x01000000
++/* No-Operation
++#define ACT_DFEV0_NOP 0x00000000 */
++/** Set */
++#define ACT_DFEV0_SET 0x01000000
++/** Activate PADCTRL4
++    Sets the activation flag of the PADCTRL4 domain. This domain contains the PADCTRL4 block. */
++#define ACT_PADCTRL4 0x00400000
++/* No-Operation
++#define ACT_PADCTRL4_NOP 0x00000000 */
++/** Set */
++#define ACT_PADCTRL4_SET 0x00400000
++/** Activate PADCTRL3
++    Sets the activation flag of the PADCTRL3 domain. This domain contains the PADCTRL3 block. */
++#define ACT_PADCTRL3 0x00200000
++/* No-Operation
++#define ACT_PADCTRL3_NOP 0x00000000 */
++/** Set */
++#define ACT_PADCTRL3_SET 0x00200000
++/** Activate PADCTRL1
++    Sets the activation flag of the PADCTRL1 domain. This domain contains the PADCTRL1 block. */
++#define ACT_PADCTRL1 0x00100000
++/* No-Operation
++#define ACT_PADCTRL1_NOP 0x00000000 */
++/** Set */
++#define ACT_PADCTRL1_SET 0x00100000
++/** Activate P4
++    Sets the activation flag of the P4 domain. This domain contains the P4 instance of the GPIO block. */
++#define ACT_P4 0x00040000
++/* No-Operation
++#define ACT_P4_NOP 0x00000000 */
++/** Set */
++#define ACT_P4_SET 0x00040000
++/** Activate P3
++    Sets the activation flag of the P3 domain. This domain contains the P3 instance of the GPIO block. */
++#define ACT_P3 0x00020000
++/* No-Operation
++#define ACT_P3_NOP 0x00000000 */
++/** Set */
++#define ACT_P3_SET 0x00020000
++/** Activate P1
++    Sets the activation flag of the P1 domain. This domain contains the P1 instance of the GPIO block. */
++#define ACT_P1 0x00010000
++/* No-Operation
++#define ACT_P1_NOP 0x00000000 */
++/** Set */
++#define ACT_P1_SET 0x00010000
++/** Activate HOST
++    Sets the activation flag of the HOST domain. This domain contains the HOST interface block. */
++#define ACT_HOST 0x00008000
++/* No-Operation
++#define ACT_HOST_NOP 0x00000000 */
++/** Set */
++#define ACT_HOST_SET 0x00008000
++/** Activate I2C
++    Sets the activation flag of the I2C domain. This domain contains the I2C interface block. */
++#define ACT_I2C 0x00004000
++/* No-Operation
++#define ACT_I2C_NOP 0x00000000 */
++/** Set */
++#define ACT_I2C_SET 0x00004000
++/** Activate SSC0
++    Sets the activation flag of the SSC0 domain. This domain contains the SSC0 interface block. */
++#define ACT_SSC0 0x00002000
++/* No-Operation
++#define ACT_SSC0_NOP 0x00000000 */
++/** Set */
++#define ACT_SSC0_SET 0x00002000
++/** Activate ASC0
++    Sets the activation flag of the ASC0 domain. This domain contains the ASC0 interface block. */
++#define ACT_ASC0 0x00001000
++/* No-Operation
++#define ACT_ASC0_NOP 0x00000000 */
++/** Set */
++#define ACT_ASC0_SET 0x00001000
++/** Activate ASC1
++    Sets the activation flag of the ASC1 domain. This domain contains the ASC1 block. */
++#define ACT_ASC1 0x00000800
++/* No-Operation
++#define ACT_ASC1_NOP 0x00000000 */
++/** Set */
++#define ACT_ASC1_SET 0x00000800
++/** Activate DCDCAPD
++    Sets the activation flag of the DCDCAPD domain. This domain contains the digital part of the 60 volts DCDC converter. */
++#define ACT_DCDCAPD 0x00000400
++/* No-Operation
++#define ACT_DCDCAPD_NOP 0x00000000 */
++/** Set */
++#define ACT_DCDCAPD_SET 0x00000400
++/** Activate DCDCDDR
++    Sets the activation flag of the DCDCDDR domain. This domain contains the digital part of the DCDC converter dedicated to the DDR interface. */
++#define ACT_DCDCDDR 0x00000200
++/* No-Operation
++#define ACT_DCDCDDR_NOP 0x00000000 */
++/** Set */
++#define ACT_DCDCDDR_SET 0x00000200
++/** Activate DCDC1V0
++    Sets the activation flag of the DCDC1V0 domain. This domain contains the digital part of the 1.0 volts DCDC converter. */
++#define ACT_DCDC1V0 0x00000100
++/* No-Operation
++#define ACT_DCDC1V0_NOP 0x00000000 */
++/** Set */
++#define ACT_DCDC1V0_SET 0x00000100
++/** Activate TRC2MEM
++    Sets the activation flag of the TRC2MEM domain. This domain contains the TRC2MEM block. */
++#define ACT_TRC2MEM 0x00000040
++/* No-Operation
++#define ACT_TRC2MEM_NOP 0x00000000 */
++/** Set */
++#define ACT_TRC2MEM_SET 0x00000040
++/** Activate DDR
++    Sets the activation flag of the DDR domain. This domain contains the DDR interface block. */
++#define ACT_DDR 0x00000020
++/* No-Operation
++#define ACT_DDR_NOP 0x00000000 */
++/** Set */
++#define ACT_DDR_SET 0x00000020
++/** Activate EBU
++    Sets the activation flag of the EBU domain. This domain contains the EBU interface block. */
++#define ACT_EBU 0x00000010
++/* No-Operation
++#define ACT_EBU_NOP 0x00000000 */
++/** Set */
++#define ACT_EBU_SET 0x00000010
++
++/* Fields of "Deactivation Register" */
++/** Deactivate STATUS
++    Clears the activation flag of the STATUS domain. This domain contains the STATUS block. */
++#define DEACT_STATUS 0x80000000
++/* No-Operation
++#define DEACT_STATUS_NOP 0x00000000 */
++/** Clear */
++#define DEACT_STATUS_CLR 0x80000000
++/** Deactivate SHA1
++    Clears the activation flag of the SHA1 domain. This domain contains the SHA1 block. */
++#define DEACT_SHA1 0x40000000
++/* No-Operation
++#define DEACT_SHA1_NOP 0x00000000 */
++/** Clear */
++#define DEACT_SHA1_CLR 0x40000000
++/** Deactivate AES
++    Clears the activation flag of the AES domain. This domain contains the AES block. */
++#define DEACT_AES 0x20000000
++/* No-Operation
++#define DEACT_AES_NOP 0x00000000 */
++/** Clear */
++#define DEACT_AES_CLR 0x20000000
++/** Deactivate PCM
++    Clears the activation flag of the PCM domain. This domain contains the PCM interface block. */
++#define DEACT_PCM 0x10000000
++/* No-Operation
++#define DEACT_PCM_NOP 0x00000000 */
++/** Clear */
++#define DEACT_PCM_CLR 0x10000000
++/** Deactivate FSCT
++    Clears the activation flag of the FSCT domain. This domain contains the FSCT block. */
++#define DEACT_FSCT 0x08000000
++/* No-Operation
++#define DEACT_FSCT_NOP 0x00000000 */
++/** Clear */
++#define DEACT_FSCT_CLR 0x08000000
++/** Deactivate GPTC
++    Clears the activation flag of the GPTC domain. This domain contains the GPTC block. */
++#define DEACT_GPTC 0x04000000
++/* No-Operation
++#define DEACT_GPTC_NOP 0x00000000 */
++/** Clear */
++#define DEACT_GPTC_CLR 0x04000000
++/** Deactivate MPS
++    Clears the activation flag of the MPS domain. This domain contains the MPS block. */
++#define DEACT_MPS 0x02000000
++/* No-Operation
++#define DEACT_MPS_NOP 0x00000000 */
++/** Clear */
++#define DEACT_MPS_CLR 0x02000000
++/** Deactivate DFEV0
++    Clears the activation flag of the DFEV0 domain. This domain contains the DFEV0 block. */
++#define DEACT_DFEV0 0x01000000
++/* No-Operation
++#define DEACT_DFEV0_NOP 0x00000000 */
++/** Clear */
++#define DEACT_DFEV0_CLR 0x01000000
++/** Deactivate PADCTRL4
++    Clears the activation flag of the PADCTRL4 domain. This domain contains the PADCTRL4 block. */
++#define DEACT_PADCTRL4 0x00400000
++/* No-Operation
++#define DEACT_PADCTRL4_NOP 0x00000000 */
++/** Clear */
++#define DEACT_PADCTRL4_CLR 0x00400000
++/** Deactivate PADCTRL3
++    Clears the activation flag of the PADCTRL3 domain. This domain contains the PADCTRL3 block. */
++#define DEACT_PADCTRL3 0x00200000
++/* No-Operation
++#define DEACT_PADCTRL3_NOP 0x00000000 */
++/** Clear */
++#define DEACT_PADCTRL3_CLR 0x00200000
++/** Deactivate PADCTRL1
++    Clears the activation flag of the PADCTRL1 domain. This domain contains the PADCTRL1 block. */
++#define DEACT_PADCTRL1 0x00100000
++/* No-Operation
++#define DEACT_PADCTRL1_NOP 0x00000000 */
++/** Clear */
++#define DEACT_PADCTRL1_CLR 0x00100000
++/** Deactivate P4
++    Clears the activation flag of the P4 domain. This domain contains the P4 instance of the GPIO block. */
++#define DEACT_P4 0x00040000
++/* No-Operation
++#define DEACT_P4_NOP 0x00000000 */
++/** Clear */
++#define DEACT_P4_CLR 0x00040000
++/** Deactivate P3
++    Clears the activation flag of the P3 domain. This domain contains the P3 instance of the GPIO block. */
++#define DEACT_P3 0x00020000
++/* No-Operation
++#define DEACT_P3_NOP 0x00000000 */
++/** Clear */
++#define DEACT_P3_CLR 0x00020000
++/** Deactivate P1
++    Clears the activation flag of the P1 domain. This domain contains the P1 instance of the GPIO block. */
++#define DEACT_P1 0x00010000
++/* No-Operation
++#define DEACT_P1_NOP 0x00000000 */
++/** Clear */
++#define DEACT_P1_CLR 0x00010000
++/** Deactivate HOST
++    Clears the activation flag of the HOST domain. This domain contains the HOST interface block. */
++#define DEACT_HOST 0x00008000
++/* No-Operation
++#define DEACT_HOST_NOP 0x00000000 */
++/** Clear */
++#define DEACT_HOST_CLR 0x00008000
++/** Deactivate I2C
++    Clears the activation flag of the I2C domain. This domain contains the I2C interface block. */
++#define DEACT_I2C 0x00004000
++/* No-Operation
++#define DEACT_I2C_NOP 0x00000000 */
++/** Clear */
++#define DEACT_I2C_CLR 0x00004000
++/** Deactivate SSC0
++    Clears the activation flag of the SSC0 domain. This domain contains the SSC0 interface block. */
++#define DEACT_SSC0 0x00002000
++/* No-Operation
++#define DEACT_SSC0_NOP 0x00000000 */
++/** Clear */
++#define DEACT_SSC0_CLR 0x00002000
++/** Deactivate ASC0
++    Clears the activation flag of the ASC0 domain. This domain contains the ASC0 interface block. */
++#define DEACT_ASC0 0x00001000
++/* No-Operation
++#define DEACT_ASC0_NOP 0x00000000 */
++/** Clear */
++#define DEACT_ASC0_CLR 0x00001000
++/** Deactivate ASC1
++    Clears the activation flag of the ASC1 domain. This domain contains the ASC1 block. */
++#define DEACT_ASC1 0x00000800
++/* No-Operation
++#define DEACT_ASC1_NOP 0x00000000 */
++/** Clear */
++#define DEACT_ASC1_CLR 0x00000800
++/** Deactivate DCDCAPD
++    Clears the activation flag of the DCDCAPD domain. This domain contains the digital part of the 60 volts DCDC converter. */
++#define DEACT_DCDCAPD 0x00000400
++/* No-Operation
++#define DEACT_DCDCAPD_NOP 0x00000000 */
++/** Clear */
++#define DEACT_DCDCAPD_CLR 0x00000400
++/** Deactivate DCDCDDR
++    Clears the activation flag of the DCDCDDR domain. This domain contains the digital part of the DCDC converter dedicated to the DDR interface. */
++#define DEACT_DCDCDDR 0x00000200
++/* No-Operation
++#define DEACT_DCDCDDR_NOP 0x00000000 */
++/** Clear */
++#define DEACT_DCDCDDR_CLR 0x00000200
++/** Deactivate DCDC1V0
++    Clears the activation flag of the DCDC1V0 domain. This domain contains the digital part of the 1.0 volts DCDC converter. */
++#define DEACT_DCDC1V0 0x00000100
++/* No-Operation
++#define DEACT_DCDC1V0_NOP 0x00000000 */
++/** Clear */
++#define DEACT_DCDC1V0_CLR 0x00000100
++/** Deactivate TRC2MEM
++    Clears the activation flag of the TRC2MEM domain. This domain contains the TRC2MEM block. */
++#define DEACT_TRC2MEM 0x00000040
++/* No-Operation
++#define DEACT_TRC2MEM_NOP 0x00000000 */
++/** Clear */
++#define DEACT_TRC2MEM_CLR 0x00000040
++/** Deactivate DDR
++    Clears the activation flag of the DDR domain. This domain contains the DDR interface block. */
++#define DEACT_DDR 0x00000020
++/* No-Operation
++#define DEACT_DDR_NOP 0x00000000 */
++/** Clear */
++#define DEACT_DDR_CLR 0x00000020
++/** Deactivate EBU
++    Clears the activation flag of the EBU domain. This domain contains the EBU interface block. */
++#define DEACT_EBU 0x00000010
++/* No-Operation
++#define DEACT_EBU_NOP 0x00000000 */
++/** Clear */
++#define DEACT_EBU_CLR 0x00000010
++
++/* Fields of "Reboot Trigger Register" */
++/** Reboot STATUS
++    Triggers a reboot of the STATUS domain. This domain contains the STATUS block. */
++#define RBT_STATUS 0x80000000
++/* No-Operation
++#define RBT_STATUS_NOP 0x00000000 */
++/** Trigger */
++#define RBT_STATUS_TRIG 0x80000000
++/** Reboot SHA1
++    Triggers a reboot of the SHA1 domain. This domain contains the SHA1 block. */
++#define RBT_SHA1 0x40000000
++/* No-Operation
++#define RBT_SHA1_NOP 0x00000000 */
++/** Trigger */
++#define RBT_SHA1_TRIG 0x40000000
++/** Reboot AES
++    Triggers a reboot of the AES domain. This domain contains the AES block. */
++#define RBT_AES 0x20000000
++/* No-Operation
++#define RBT_AES_NOP 0x00000000 */
++/** Trigger */
++#define RBT_AES_TRIG 0x20000000
++/** Reboot PCM
++    Triggers a reboot of the PCM domain. This domain contains the PCM interface block. */
++#define RBT_PCM 0x10000000
++/* No-Operation
++#define RBT_PCM_NOP 0x00000000 */
++/** Trigger */
++#define RBT_PCM_TRIG 0x10000000
++/** Reboot FSCT
++    Triggers a reboot of the FSCT domain. This domain contains the FSCT block. */
++#define RBT_FSCT 0x08000000
++/* No-Operation
++#define RBT_FSCT_NOP 0x00000000 */
++/** Trigger */
++#define RBT_FSCT_TRIG 0x08000000
++/** Reboot GPTC
++    Triggers a reboot of the GPTC domain. This domain contains the GPTC block. */
++#define RBT_GPTC 0x04000000
++/* No-Operation
++#define RBT_GPTC_NOP 0x00000000 */
++/** Trigger */
++#define RBT_GPTC_TRIG 0x04000000
++/** Reboot MPS
++    Triggers a reboot of the MPS domain. This domain contains the MPS block. */
++#define RBT_MPS 0x02000000
++/* No-Operation
++#define RBT_MPS_NOP 0x00000000 */
++/** Trigger */
++#define RBT_MPS_TRIG 0x02000000
++/** Reboot DFEV0
++    Triggers a reboot of the DFEV0 domain. This domain contains the DFEV0 block. */
++#define RBT_DFEV0 0x01000000
++/* No-Operation
++#define RBT_DFEV0_NOP 0x00000000 */
++/** Trigger */
++#define RBT_DFEV0_TRIG 0x01000000
++/** Reboot PADCTRL4
++    Triggers a reboot of the PADCTRL4 domain. This domain contains the PADCTRL4 block. */
++#define RBT_PADCTRL4 0x00400000
++/* No-Operation
++#define RBT_PADCTRL4_NOP 0x00000000 */
++/** Trigger */
++#define RBT_PADCTRL4_TRIG 0x00400000
++/** Reboot PADCTRL3
++    Triggers a reboot of the PADCTRL3 domain. This domain contains the PADCTRL3 block. */
++#define RBT_PADCTRL3 0x00200000
++/* No-Operation
++#define RBT_PADCTRL3_NOP 0x00000000 */
++/** Trigger */
++#define RBT_PADCTRL3_TRIG 0x00200000
++/** Reboot PADCTRL1
++    Triggers a reboot of the PADCTRL1 domain. This domain contains the PADCTRL1 block. */
++#define RBT_PADCTRL1 0x00100000
++/* No-Operation
++#define RBT_PADCTRL1_NOP 0x00000000 */
++/** Trigger */
++#define RBT_PADCTRL1_TRIG 0x00100000
++/** Reboot P4
++    Triggers a reboot of the P4 domain. This domain contains the P4 instance of the GPIO block. */
++#define RBT_P4 0x00040000
++/* No-Operation
++#define RBT_P4_NOP 0x00000000 */
++/** Trigger */
++#define RBT_P4_TRIG 0x00040000
++/** Reboot P3
++    Triggers a reboot of the P3 domain. This domain contains the P3 instance of the GPIO block. */
++#define RBT_P3 0x00020000
++/* No-Operation
++#define RBT_P3_NOP 0x00000000 */
++/** Trigger */
++#define RBT_P3_TRIG 0x00020000
++/** Reboot P1
++    Triggers a reboot of the P1 domain. This domain contains the P1 instance of the GPIO block. */
++#define RBT_P1 0x00010000
++/* No-Operation
++#define RBT_P1_NOP 0x00000000 */
++/** Trigger */
++#define RBT_P1_TRIG 0x00010000
++/** Reboot HOST
++    Triggers a reboot of the HOST domain. This domain contains the HOST interface block. */
++#define RBT_HOST 0x00008000
++/* No-Operation
++#define RBT_HOST_NOP 0x00000000 */
++/** Trigger */
++#define RBT_HOST_TRIG 0x00008000
++/** Reboot I2C
++    Triggers a reboot of the I2C domain. This domain contains the I2C interface block. */
++#define RBT_I2C 0x00004000
++/* No-Operation
++#define RBT_I2C_NOP 0x00000000 */
++/** Trigger */
++#define RBT_I2C_TRIG 0x00004000
++/** Reboot SSC0
++    Triggers a reboot of the SSC0 domain. This domain contains the SSC0 interface block. */
++#define RBT_SSC0 0x00002000
++/* No-Operation
++#define RBT_SSC0_NOP 0x00000000 */
++/** Trigger */
++#define RBT_SSC0_TRIG 0x00002000
++/** Reboot ASC0
++    Triggers a reboot of the ASC0 domain. This domain contains the ASC0 interface block. */
++#define RBT_ASC0 0x00001000
++/* No-Operation
++#define RBT_ASC0_NOP 0x00000000 */
++/** Trigger */
++#define RBT_ASC0_TRIG 0x00001000
++/** Reboot ASC1
++    Triggers a reboot of the ASC1 domain. This domain contains the ASC1 block. */
++#define RBT_ASC1 0x00000800
++/* No-Operation
++#define RBT_ASC1_NOP 0x00000000 */
++/** Trigger */
++#define RBT_ASC1_TRIG 0x00000800
++/** Reboot DCDCAPD
++    Triggers a reboot of the DCDCAPD domain. This domain contains the digital part of the 60 volts DCDC converter. */
++#define RBT_DCDCAPD 0x00000400
++/* No-Operation
++#define RBT_DCDCAPD_NOP 0x00000000 */
++/** Trigger */
++#define RBT_DCDCAPD_TRIG 0x00000400
++/** Reboot DCDCDDR
++    Triggers a reboot of the DCDCDDR domain. This domain contains the digital part of the DCDC converter dedicated to the DDR interface. */
++#define RBT_DCDCDDR 0x00000200
++/* No-Operation
++#define RBT_DCDCDDR_NOP 0x00000000 */
++/** Trigger */
++#define RBT_DCDCDDR_TRIG 0x00000200
++/** Reboot DCDC1V0
++    Triggers a reboot of the DCDC1V0 domain. This domain contains the digital part of the 1.0 volts DCDC converter. */
++#define RBT_DCDC1V0 0x00000100
++/* No-Operation
++#define RBT_DCDC1V0_NOP 0x00000000 */
++/** Trigger */
++#define RBT_DCDC1V0_TRIG 0x00000100
++/** Reboot TRC2MEM
++    Triggers a reboot of the TRC2MEM domain. This domain contains the TRC2MEM block. */
++#define RBT_TRC2MEM 0x00000040
++/* No-Operation
++#define RBT_TRC2MEM_NOP 0x00000000 */
++/** Trigger */
++#define RBT_TRC2MEM_TRIG 0x00000040
++/** Reboot DDR
++    Triggers a reboot of the DDR domain. This domain contains the DDR interface block. */
++#define RBT_DDR 0x00000020
++/* No-Operation
++#define RBT_DDR_NOP 0x00000000 */
++/** Trigger */
++#define RBT_DDR_TRIG 0x00000020
++/** Reboot EBU
++    Triggers a reboot of the EBU domain. This domain contains the EBU interface block. */
++#define RBT_EBU 0x00000010
++/* No-Operation
++#define RBT_EBU_NOP 0x00000000 */
++/** Trigger */
++#define RBT_EBU_TRIG 0x00000010
++/** Reboot XBAR
++    Triggers a reboot of the XBAR. */
++#define RBT_XBAR 0x00000002
++/* No-Operation
++#define RBT_XBAR_NOP 0x00000000 */
++/** Trigger */
++#define RBT_XBAR_TRIG 0x00000002
++/** Reboot CPU
++    Triggers a reboot of the CPU. */
++#define RBT_CPU 0x00000001
++/* No-Operation
++#define RBT_CPU_NOP 0x00000000 */
++/** Trigger */
++#define RBT_CPU_TRIG 0x00000001
++
++/* Fields of "CPU0 Clock Control Register" */
++/** CPU Clock Divider
++    Via this bit the divider and therefore the frequency of the clock of CPU0 can be selected. */
++#define CPU0CC_CPUDIV 0x00000001
++/* Frequency set to the nominal value.
++#define CPU0CC_CPUDIV_SELFNOM 0x00000000 */
++/** Frequency set to half of its nominal value. */
++#define CPU0CC_CPUDIV_SELFHALF 0x00000001
++
++/* Fields of "CPU0 Reset Source Register" */
++/** Software Reboot Request Occurred
++    This bit can be acknowledged by a write operation. */
++#define CPU0RS_SWRRO 0x00000004
++/* Nothing
++#define CPU0RS_SWRRO_NULL 0x00000000 */
++/** Write: Acknowledge the event. */
++#define CPU0RS_SWRRO_EVACK 0x00000004
++/** Read: Event occurred. */
++#define CPU0RS_SWRRO_EVOCC 0x00000004
++/** Hardware Reset Source
++    Reflects the root cause for the last hardware reset. The infrastructure-block is only reset in case of POR. For all other blocks there is no difference between the three HW-reset sources. */
++#define CPU0RS_HWRS_MASK 0x00000003
++/** field offset */
++#define CPU0RS_HWRS_OFFSET 0
++/** Power-on reset. */
++#define CPU0RS_HWRS_POR 0x00000000
++/** RST pin. */
++#define CPU0RS_HWRS_RST 0x00000001
++/** Watchdog reset request. */
++#define CPU0RS_HWRS_WDT 0x00000002
++
++/* Fields of "CPU0 Wakeup Configuration Register" */
++/** Wakeup Request Source Yield Resume 15
++    Select the signal connected to the yield/resume interface pin 15 as source for wakeup from sleep state. */
++#define CPU0WCFG_WRSYR15 0x80000000
++/* Not selected
++#define CPU0WCFG_WRSYR15_NSEL 0x00000000 */
++/** Selected */
++#define CPU0WCFG_WRSYR15_SEL 0x80000000
++/** Wakeup Request Source Yield Resume 14
++    Select the signal connected to the yield/resume interface pin 14 as source for wakeup from sleep state. */
++#define CPU0WCFG_WRSYR14 0x40000000
++/* Not selected
++#define CPU0WCFG_WRSYR14_NSEL 0x00000000 */
++/** Selected */
++#define CPU0WCFG_WRSYR14_SEL 0x40000000
++/** Wakeup Request Source Yield Resume 13
++    Select the signal connected to the yield/resume interface pin 13 as source for wakeup from sleep state. */
++#define CPU0WCFG_WRSYR13 0x20000000
++/* Not selected
++#define CPU0WCFG_WRSYR13_NSEL 0x00000000 */
++/** Selected */
++#define CPU0WCFG_WRSYR13_SEL 0x20000000
++/** Wakeup Request Source Yield Resume 12
++    Select the signal connected to the yield/resume interface pin 12 as source for wakeup from sleep state. */
++#define CPU0WCFG_WRSYR12 0x10000000
++/* Not selected
++#define CPU0WCFG_WRSYR12_NSEL 0x00000000 */
++/** Selected */
++#define CPU0WCFG_WRSYR12_SEL 0x10000000
++/** Wakeup Request Source Yield Resume 11
++    Select the signal connected to the yield/resume interface pin 11 as source for wakeup from sleep state. */
++#define CPU0WCFG_WRSYR11 0x08000000
++/* Not selected
++#define CPU0WCFG_WRSYR11_NSEL 0x00000000 */
++/** Selected */
++#define CPU0WCFG_WRSYR11_SEL 0x08000000
++/** Wakeup Request Source Yield Resume 10
++    Select the signal connected to the yield/resume interface pin 10 as source for wakeup from sleep state. */
++#define CPU0WCFG_WRSYR10 0x04000000
++/* Not selected
++#define CPU0WCFG_WRSYR10_NSEL 0x00000000 */
++/** Selected */
++#define CPU0WCFG_WRSYR10_SEL 0x04000000
++/** Wakeup Request Source Yield Resume 9
++    Select the signal connected to the yield/resume interface pin 9 as source for wakeup from sleep state. */
++#define CPU0WCFG_WRSYR9 0x02000000
++/* Not selected
++#define CPU0WCFG_WRSYR9_NSEL 0x00000000 */
++/** Selected */
++#define CPU0WCFG_WRSYR9_SEL 0x02000000
++/** Wakeup Request Source Yield Resume 8
++    Select the signal connected to the yield/resume interface pin 8 as source for wakeup from sleep state. */
++#define CPU0WCFG_WRSYR8 0x01000000
++/* Not selected
++#define CPU0WCFG_WRSYR8_NSEL 0x00000000 */
++/** Selected */
++#define CPU0WCFG_WRSYR8_SEL 0x01000000
++/** Wakeup Request Source Yield Resume 7
++    Select the signal connected to the yield/resume interface pin 7 as source for wakeup from sleep state. */
++#define CPU0WCFG_WRSYR7 0x00800000
++/* Not selected
++#define CPU0WCFG_WRSYR7_NSEL 0x00000000 */
++/** Selected */
++#define CPU0WCFG_WRSYR7_SEL 0x00800000
++/** Wakeup Request Source Yield Resume 6
++    Select the signal connected to the yield/resume interface pin 6 as source for wakeup from sleep state. */
++#define CPU0WCFG_WRSYR6 0x00400000
++/* Not selected
++#define CPU0WCFG_WRSYR6_NSEL 0x00000000 */
++/** Selected */
++#define CPU0WCFG_WRSYR6_SEL 0x00400000
++/** Wakeup Request Source Yield Resume 5
++    Select the signal connected to the yield/resume interface pin 5 as source for wakeup from sleep state. */
++#define CPU0WCFG_WRSYR5 0x00200000
++/* Not selected
++#define CPU0WCFG_WRSYR5_NSEL 0x00000000 */
++/** Selected */
++#define CPU0WCFG_WRSYR5_SEL 0x00200000
++/** Wakeup Request Source Yield Resume 4
++    Select the signal connected to the yield/resume interface pin 4 as source for wakeup from sleep state. */
++#define CPU0WCFG_WRSYR4 0x00100000
++/* Not selected
++#define CPU0WCFG_WRSYR4_NSEL 0x00000000 */
++/** Selected */
++#define CPU0WCFG_WRSYR4_SEL 0x00100000
++/** Wakeup Request Source Yield Resume 3
++    Select the signal connected to the yield/resume interface pin 3 as source for wakeup from sleep state. */
++#define CPU0WCFG_WRSYR3 0x00080000
++/* Not selected
++#define CPU0WCFG_WRSYR3_NSEL 0x00000000 */
++/** Selected */
++#define CPU0WCFG_WRSYR3_SEL 0x00080000
++/** Wakeup Request Source Yield Resume 2
++    Select the signal connected to the yield/resume interface pin 2 as source for wakeup from sleep state. */
++#define CPU0WCFG_WRSYR2 0x00040000
++/* Not selected
++#define CPU0WCFG_WRSYR2_NSEL 0x00000000 */
++/** Selected */
++#define CPU0WCFG_WRSYR2_SEL 0x00040000
++/** Wakeup Request Source Yield Resume 1
++    Select the signal connected to the yield/resume interface pin 1 as source for wakeup from sleep state. */
++#define CPU0WCFG_WRSYR1 0x00020000
++/* Not selected
++#define CPU0WCFG_WRSYR1_NSEL 0x00000000 */
++/** Selected */
++#define CPU0WCFG_WRSYR1_SEL 0x00020000
++/** Wakeup Request Source Yield Resume 0
++    Select the signal connected to the yield/resume interface pin 0 as source for wakeup from sleep state. */
++#define CPU0WCFG_WRSYR0 0x00010000
++/* Not selected
++#define CPU0WCFG_WRSYR0_NSEL 0x00000000 */
++/** Selected */
++#define CPU0WCFG_WRSYR0_SEL 0x00010000
++/** Wakeup Request Source Debug
++    Select signal EJ_DINT as source for wakeup from sleep state. */
++#define CPU0WCFG_WRSDBG 0x00000100
++/* Not selected
++#define CPU0WCFG_WRSDBG_NSEL 0x00000000 */
++/** Selected */
++#define CPU0WCFG_WRSDBG_SEL 0x00000100
++/** Wakeup Request Source ICU of VPE1
++    Select signal ICU_IRQ of VPE1 as source for wakeup from sleep state. */
++#define CPU0WCFG_WRSICUVPE1 0x00000002
++/* Not selected
++#define CPU0WCFG_WRSICUVPE1_NSEL 0x00000000 */
++/** Selected */
++#define CPU0WCFG_WRSICUVPE1_SEL 0x00000002
++/** Wakeup Request Source ICU of VPE0
++    Select signal ICU_IRQ of VPE0 as source for wakeup from sleep state. */
++#define CPU0WCFG_WRSICUVPE0 0x00000001
++/* Not selected
++#define CPU0WCFG_WRSICUVPE0_NSEL 0x00000000 */
++/** Selected */
++#define CPU0WCFG_WRSICUVPE0_SEL 0x00000001
++
++/* Fields of "Bootmode Control Register" */
++/** Software Bootmode Select
++    Enables SW writing of Bootmode and shows whether or not the SW-programmed bootmode is reflected in field Bootmode instead of the hardware given value. */
++#define BMC_BMSW 0x80000000
++/* Disable
++#define BMC_BMSW_DIS 0x00000000 */
++/** Enable */
++#define BMC_BMSW_EN 0x80000000
++/** Bootmode
++    Initially this field holds the value of the pinstraps LED_BMODEx on positions 5:0, and the value of the corresponding JTAG register bit on position 6. Writing is enabled by setting Software Bootmode Select to 1 during the write cycle. */
++#define BMC_BM_MASK 0x0000007F
++/** field offset */
++#define BMC_BM_OFFSET 0
++
++/* Fields of "Sleep Configuration Register" */
++/** Enable XBAR Clockoff When All XBAR masters Clockoff
++    Enable XBAR clock shutdown in case all XBAR masters are in clockoff mode. This bit has no effect if bit CPU0 is not enabled. */
++#define SCFG_XBAR 0x00010000
++/* Disable
++#define SCFG_XBAR_DIS 0x00000000 */
++/** Enable */
++#define SCFG_XBAR_EN 0x00010000
++/** CPU0 Clockoff On Sleep
++    Enable CPU0 clock shutdown in case its SI_SLEEP signal becomes active. */
++#define SCFG_CPU0 0x00000001
++/* Disable
++#define SCFG_CPU0_DIS 0x00000000 */
++/** Enable */
++#define SCFG_CPU0_EN 0x00000001
++
++/* Fields of "Power Down Configuration Register" */
++/** Enable Power Down STATUS
++    Ignore this bit as power-gating is not supported for this chip. */
++#define PDCFG_STATUS 0x80000000
++/* Disable
++#define PDCFG_STATUS_DIS 0x00000000 */
++/** Enable */
++#define PDCFG_STATUS_EN 0x80000000
++/** Enable Power Down SHA1
++    Ignore this bit as power-gating is not supported for this chip. */
++#define PDCFG_SHA1 0x40000000
++/* Disable
++#define PDCFG_SHA1_DIS 0x00000000 */
++/** Enable */
++#define PDCFG_SHA1_EN 0x40000000
++/** Enable Power Down AES
++    Ignore this bit as power-gating is not supported for this chip. */
++#define PDCFG_AES 0x20000000
++/* Disable
++#define PDCFG_AES_DIS 0x00000000 */
++/** Enable */
++#define PDCFG_AES_EN 0x20000000
++/** Enable Power Down PCM
++    Ignore this bit as power-gating is not supported for this chip. */
++#define PDCFG_PCM 0x10000000
++/* Disable
++#define PDCFG_PCM_DIS 0x00000000 */
++/** Enable */
++#define PDCFG_PCM_EN 0x10000000
++/** Enable Power Down FSCT
++    Ignore this bit as power-gating is not supported for this chip. */
++#define PDCFG_FSCT 0x08000000
++/* Disable
++#define PDCFG_FSCT_DIS 0x00000000 */
++/** Enable */
++#define PDCFG_FSCT_EN 0x08000000
++/** Enable Power Down GPTC
++    Ignore this bit as power-gating is not supported for this chip. */
++#define PDCFG_GPTC 0x04000000
++/* Disable
++#define PDCFG_GPTC_DIS 0x00000000 */
++/** Enable */
++#define PDCFG_GPTC_EN 0x04000000
++/** Enable Power Down MPS
++    Ignore this bit as power-gating is not supported for this chip. */
++#define PDCFG_MPS 0x02000000
++/* Disable
++#define PDCFG_MPS_DIS 0x00000000 */
++/** Enable */
++#define PDCFG_MPS_EN 0x02000000
++/** Enable Power Down DFEV0
++    Ignore this bit as power-gating is not supported for this chip. */
++#define PDCFG_DFEV0 0x01000000
++/* Disable
++#define PDCFG_DFEV0_DIS 0x00000000 */
++/** Enable */
++#define PDCFG_DFEV0_EN 0x01000000
++/** Enable Power Down PADCTRL4
++    Ignore this bit as power-gating is not supported for this chip. */
++#define PDCFG_PADCTRL4 0x00400000
++/* Disable
++#define PDCFG_PADCTRL4_DIS 0x00000000 */
++/** Enable */
++#define PDCFG_PADCTRL4_EN 0x00400000
++/** Enable Power Down PADCTRL3
++    Ignore this bit as power-gating is not supported for this chip. */
++#define PDCFG_PADCTRL3 0x00200000
++/* Disable
++#define PDCFG_PADCTRL3_DIS 0x00000000 */
++/** Enable */
++#define PDCFG_PADCTRL3_EN 0x00200000
++/** Enable Power Down PADCTRL1
++    Ignore this bit as power-gating is not supported for this chip. */
++#define PDCFG_PADCTRL1 0x00100000
++/* Disable
++#define PDCFG_PADCTRL1_DIS 0x00000000 */
++/** Enable */
++#define PDCFG_PADCTRL1_EN 0x00100000
++/** Enable Power Down P4
++    Ignore this bit as power-gating is not supported for this chip. */
++#define PDCFG_P4 0x00040000
++/* Disable
++#define PDCFG_P4_DIS 0x00000000 */
++/** Enable */
++#define PDCFG_P4_EN 0x00040000
++/** Enable Power Down P3
++    Ignore this bit as power-gating is not supported for this chip. */
++#define PDCFG_P3 0x00020000
++/* Disable
++#define PDCFG_P3_DIS 0x00000000 */
++/** Enable */
++#define PDCFG_P3_EN 0x00020000
++/** Enable Power Down P1
++    Ignore this bit as power-gating is not supported for this chip. */
++#define PDCFG_P1 0x00010000
++/* Disable
++#define PDCFG_P1_DIS 0x00000000 */
++/** Enable */
++#define PDCFG_P1_EN 0x00010000
++/** Enable Power Down HOST
++    Ignore this bit as power-gating is not supported for this chip. */
++#define PDCFG_HOST 0x00008000
++/* Disable
++#define PDCFG_HOST_DIS 0x00000000 */
++/** Enable */
++#define PDCFG_HOST_EN 0x00008000
++/** Enable Power Down I2C
++    Ignore this bit as power-gating is not supported for this chip. */
++#define PDCFG_I2C 0x00004000
++/* Disable
++#define PDCFG_I2C_DIS 0x00000000 */
++/** Enable */
++#define PDCFG_I2C_EN 0x00004000
++/** Enable Power Down SSC0
++    Ignore this bit as power-gating is not supported for this chip. */
++#define PDCFG_SSC0 0x00002000
++/* Disable
++#define PDCFG_SSC0_DIS 0x00000000 */
++/** Enable */
++#define PDCFG_SSC0_EN 0x00002000
++/** Enable Power Down ASC0
++    Ignore this bit as power-gating is not supported for this chip. */
++#define PDCFG_ASC0 0x00001000
++/* Disable
++#define PDCFG_ASC0_DIS 0x00000000 */
++/** Enable */
++#define PDCFG_ASC0_EN 0x00001000
++/** Enable Power Down ASC1
++    Ignore this bit as power-gating is not supported for this chip. */
++#define PDCFG_ASC1 0x00000800
++/* Disable
++#define PDCFG_ASC1_DIS 0x00000000 */
++/** Enable */
++#define PDCFG_ASC1_EN 0x00000800
++/** Enable Power Down DCDCAPD
++    Ignore this bit as power-gating is not supported for this chip. */
++#define PDCFG_DCDCAPD 0x00000400
++/* Disable
++#define PDCFG_DCDCAPD_DIS 0x00000000 */
++/** Enable */
++#define PDCFG_DCDCAPD_EN 0x00000400
++/** Enable Power Down DCDCDDR
++    Ignore this bit as power-gating is not supported for this chip. */
++#define PDCFG_DCDCDDR 0x00000200
++/* Disable
++#define PDCFG_DCDCDDR_DIS 0x00000000 */
++/** Enable */
++#define PDCFG_DCDCDDR_EN 0x00000200
++/** Enable Power Down DCDC1V0
++    Ignore this bit as power-gating is not supported for this chip. */
++#define PDCFG_DCDC1V0 0x00000100
++/* Disable
++#define PDCFG_DCDC1V0_DIS 0x00000000 */
++/** Enable */
++#define PDCFG_DCDC1V0_EN 0x00000100
++/** Enable Power Down TRC2MEM
++    Ignore this bit as power-gating is not supported for this chip. */
++#define PDCFG_TRC2MEM 0x00000040
++/* Disable
++#define PDCFG_TRC2MEM_DIS 0x00000000 */
++/** Enable */
++#define PDCFG_TRC2MEM_EN 0x00000040
++/** Enable Power Down DDR
++    Ignore this bit as power-gating is not supported for this chip. */
++#define PDCFG_DDR 0x00000020
++/* Disable
++#define PDCFG_DDR_DIS 0x00000000 */
++/** Enable */
++#define PDCFG_DDR_EN 0x00000020
++/** Enable Power Down EBU
++    Ignore this bit as power-gating is not supported for this chip. */
++#define PDCFG_EBU 0x00000010
++/* Disable
++#define PDCFG_EBU_DIS 0x00000000 */
++/** Enable */
++#define PDCFG_EBU_EN 0x00000010
++
++/* Fields of "CLKO Pad Control Register" */
++/** Ethernet Reference Clock CLKO Select
++    Selects the CLKO pad's input as source for the GPHY, SGMII PLLs. */
++#define&