summaryrefslogtreecommitdiffstats
path: root/sys/dev/utopia/suni.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/utopia/suni.h')
-rw-r--r--sys/dev/utopia/suni.h1515
1 files changed, 1515 insertions, 0 deletions
diff --git a/sys/dev/utopia/suni.h b/sys/dev/utopia/suni.h
new file mode 100644
index 0000000..ac8e997
--- /dev/null
+++ b/sys/dev/utopia/suni.h
@@ -0,0 +1,1515 @@
+/*
+ * Copyright (c) 2003
+ * Fraunhofer Institute for Open Communication Systems (FhG Fokus).
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * Author: Hartmut Brandt <harti@freebsd.org>
+ *
+ * $FreeBSD$
+ *
+ * Register definitions for the following chips:
+ * PMC-Sierra PMC-5346 (S/UNI-LITE)
+ * PMC-Sierra PMC-5350 (S/UNI-ULTRA)
+ * PMC-Sierra PMC-5355 (S/UNI-622)
+ *
+ * All definitions ending with _ULTRA are for the ULTRA chip only, all
+ * definitions ending with _LITE are for the LITE chip only. Some registers
+ * are only in the ULTRA and the definitions are not suffixed. All other
+ * definitions are for all chips.
+ */
+#ifndef _DEV_UTOPIA_SUNI_H
+#define _DEV_UTOPIA_SUNI_H
+
+/* lite, ultra, 622 */
+#define SUNI_REGN_MRESET "Master Reset and Identity/Load Meters"
+#define SUNI_REGO_MRESET 0x00
+#define SUNI_REGM_MRESET_RESET 0x80
+#define SUNI_REGM_MRESET_TYPE 0x70
+#define SUNI_REGM_MRESET_TYPE_622 0x10
+#define SUNI_REGM_MRESET_TYPE_LITE 0x30
+#define SUNI_REGM_MRESET_TYPE_ULTRA 0x70
+#define SUNI_REGM_MRESET_TIP_ULTRA 0x08
+#define SUNI_REGM_MRESET_ID_ULTRA 0x07
+#define SUNI_REGM_MRESET_ID_LITE 0x0f
+#define SUNI_REGM_MRESET_ID_622 0x0f
+#define SUNI_REGX_MRESET_ULTRA "\020\10RESET\12\x70\12TYPE\4TIP\12\7\12ID"
+#define SUNI_REGX_MRESET_LITE "\020\10RESET\12\x70\12TYPE\12\xf\12ID"
+#define SUNI_REGX_MRESET_622 "\020\10RESET\12\x70\12TYPE\12\xf\12ID"
+
+/* lite, ultra */
+#define SUNI_REGN_MCONFIG "Master Configuration"
+#define SUNI_REGO_MCONFIG 0x01
+#define SUNI_REGM_MCONFIG_AUTOFEBE 0x40
+#define SUNI_REGM_MCONFIG_AUTOLRDI 0x20
+#define SUNI_REGM_MCONFIG_AUTOPRDI 0x10
+#define SUNI_REGM_MCONFIG_TCAINV 0x08
+#define SUNI_REGM_MCONFIG_RCAINV 0x04
+#define SUNI_REGM_MCONFIG_RXDINV_LITE 0x02
+#define SUNI_REGM_MCONFIG_TFP_IN_ULTRA 0x01
+#define SUNI_REGM_MCONFIG_RESERVED 0x00
+#define SUNI_REGX_MCONFIG_LITE "\020\7AUTOFEBE\6AUTOLRDI\5AUTOPRDI\4TCAINV\3RCAINV\2RXDINV"
+#define SUNI_REGX_MCONFIG_ULTRA "\020\7AUTOFEBE\6AUTOLRDI\5AUTOPRDI\4TCAINV\3RCAINV\1TFPI_IN"
+
+/* 622 */
+#define SUNI_REGM_MCONFIG_TPTBEN_622 0x80
+#define SUNI_REGM_MCONFIG_TSTBEN_622 0x40
+#define SUNI_REGM_MCONFIG_SDH_C1_622 0x20
+#define SUNI_REGM_MCONFIG_FIXPTR_622 0x10
+#define SUNI_REGM_MCONFIG_TMODE_622 0x0C
+#define SUNI_REGM_MCONFIG_TMODE_STS1_BYTE 0x00
+#define SUNI_REGM_MCONFIG_TMODE_STS3c 0x04
+#define SUNI_REGM_MCONFIG_TMODE_STS1_BIT 0x08
+#define SUNI_REGM_MCONFIG_TMODE_STS12c 0x0C
+#define SUNI_REGM_MCONFIG_RMODE_622 0x03
+#define SUNI_REGM_MCONFIG_RMODE_STS1_BYTE 0x00
+#define SUNI_REGM_MCONFIG_RMODE_STS3c 0x01
+#define SUNI_REGM_MCONFIG_RMODE_STS1_BIT 0x02
+#define SUNI_REGM_MCONFIG_RMODE_STS12c 0x03
+#define SUNI_REGX_MCONFIG_622 "\020\10TPTBEN\7TSTBEN\6SDH_C1\5FIXPTR\11\x0C\0x00XSTS1BYTE\11\0x0C\0x04XSTS3c\11\0x0C\0x08XSTS1BIT\11\0x0C\0x0CXSTS12c\11\0x03\0x00RSTS1BYTE\11\0x03\0x01RSTS3c\11\0x03\0x02RSTS1BIT\11\0x03\0x03RSTS12c"
+
+/* lite, ultra, 622 */
+#define SUNI_REGN_MISTATUS "Master Interrupt Status"
+#define SUNI_REGO_MISTATUS 0x02
+#define SUNI_REGM_MISTATUS_CSUI_ULTRA 0x80
+#define SUNI_REGM_MISTATUS_TROOLI_LITE 0x80
+#define SUNI_REGM_MISTATUS_SUNII_622 0x80
+#define SUNI_REGM_MISTATUS_LCDI 0x40
+#define SUNI_REGM_MISTATUS_STBI_622 0x40
+#define SUNI_REGM_MISTATUS_CRUI_ULTRA 0x20
+#define SUNI_REGM_MISTATUS_RDOOLI_LITE 0x20
+#define SUNI_REGM_MISTATUS_RESERVED_622 0x20
+#define SUNI_REGM_MISTATUS_TACPI 0x10
+#define SUNI_REGM_MISTATUS_RACPI 0x08
+#define SUNI_REGM_MISTATUS_RPOPI 0x04
+#define SUNI_REGM_MISTATUS_RLOPI 0x02
+#define SUNI_REGM_MISTATUS_RSOPI 0x01
+#define SUNI_REGX_MISTATUS_LITE "\020\10TROOLI\7LCDI\6RDOOLI\5TACPI\4RACPI\3RPOPI\2RLOPI\1RSOPI"
+#define SUNI_REGX_MISTATUS_ULTRA "\020\10CSUI\7LCDI\6CRUI\5TACPI\4RACPI\3RPOPI\2RLOPI\1RSOPI"
+#define SUNI_REGX_MISTATUS_622 "\020\10S/UNII\7STBI\5TACPI\4RACPI\3RPOPI\2RLOPI\1RSOPI"
+
+/* ultra */
+#define SUNI_REGN_MMCTRL "Master Mode Control"
+#define SUNI_REGO_MMCTRL 0x03
+#define SUNI_REGM_MMCTRL_51 0x02
+#define SUNI_REGM_MMCTRL_155 0x03
+#define SUNI_REGX_MMCTRL "\020\11\3\00251MBIT\11\3\003155MBIT"
+
+/* 622 */
+#define SUNI_REGN_PISO "PISO Interrupt"
+#define SUNI_REGO_PISO 0x03
+#define SUNI_REGM_PISO_PAEE 0x02
+#define SUNI_REGM_PISO_PAEI 0x01
+#define SUNI_REGX_PISO "\020\2PAEE\1PAEI"
+
+/* ultra/lite */
+#define SUNI_REGN_MCLKM "Master Clock Monitor"
+#define SUNI_REGO_MCLKM 0x04
+#define SUNI_REGM_MCLKM_RFCLKA 0x10 /* ultra */
+#define SUNI_REGM_MCLKM_TFCLKA 0x08 /* ultra */
+#define SUNI_REGM_MCLKM_RRCLKA 0x08 /* lite */
+#define SUNI_REGM_MCLKM_REFCLKA 0x04 /* ultra */
+#define SUNI_REGM_MCLKM_TRCLKA 0x04 /* lite */
+#define SUNI_REGM_MCLKM_RCLKA 0x02
+#define SUNI_REGM_MCLKM_TCLKA 0x01
+#define SUNI_REGX_MCLKM_LITE "\020\4RRCLKA\3TRCLKA\2RCLKA\1TCLKA"
+#define SUNI_REGX_MCLKM_ULTRA "\020\5RFCLKA\4TFCLKA\3REFCLKA\2RCLKA\1TCLKA"
+
+/* 622 */
+#define SUNI_REGN_MCTRLM "Master Control/Monitor"
+#define SUNI_REGO_MCTRLM 0x04
+#define SUNI_REGM_MCTRLM_TCAINV 0x80
+#define SUNI_REGM_MCTRLM_RCAINV 0x40
+#define SUNI_REGM_MCTRLM_LLE 0x20
+#define SUNI_REGM_MCTRLM_DLE 0x10
+#define SUNI_REGM_MCTRLM_LOOPT 0x08
+#define SUNI_REGM_MCTRLM_DPLE 0x04
+#define SUNI_REGM_MCTRLM_PICLKA 0x02
+#define SUNI_REGM_MCTRLM_TCLKA 0x01
+#define SUNI_REGX_MCTRLM "\020\10TCAINV\7RCAINV\6LLE\5DLE\4LOOPT\3DPLE\2PICLKA\1TCLKA"
+
+/* ultra/lite */
+#define SUNI_REGN_MCTRL "Master Control"
+#define SUNI_REGO_MCTRL 0x05
+#define SUNI_REGM_MCTRL_LCDE 0x80
+#define SUNI_REGM_MCTRL_LCDV 0x40
+#define SUNI_REGM_MCTRL_FIXPTR 0x20
+#define SUNI_REGM_MCTRL_TPLE 0x10 /* ultra */
+#define SUNI_REGM_MCTRL_PDLE 0x08 /* ultra */
+#define SUNI_REGM_MCTRL_LLE 0x04
+#define SUNI_REGM_MCTRL_SDLE 0x02 /* ultra */
+#define SUNI_REGM_MCTRL_DLE 0x02 /* lite */
+#define SUNI_REGM_MCTRL_LOOPT 0x01
+#define SUNI_REGX_MCTRL_ULTRA "\020\10LCDE\7LCDV\6FIXPTR\5TPLE\4PDLE\3LLE\2SDLE\1LOOPT"
+#define SUNI_REGX_MCTRL_LITE "\020\10LCDE\7LCDV\6FIXPTR\3LLE\2DLE\1LOOPT"
+
+/* 622 */
+#define SUNI_REGN_MALARM "Master Auto Alarm"
+#define SUNI_REGO_MALARM 0x05
+#define SUNI_REGM_MALARM_AUTOFEBE 0x04
+#define SUNI_REGM_MALARM_AUTOLRDI 0x02
+#define SUNI_REGM_MALARM_AUTOPRDI 0x01
+#define SUNI_REGX_MALARM "\020\4AUTOFEBE\2AUTOLRDI\1AUTOPRDI"
+
+/* ultra/lite */
+#define SUNI_REGN_CLKSYN "Clock Synthesis Control and Status"
+#define SUNI_REGO_CLKSYN 0x06
+#define SUNI_REGM_CLKSYN_TROOLI 0x20 /* ultra */
+#define SUNI_REGM_CLKSYN_TROOLV 0x08
+#define SUNI_REGM_CLKSYN_TROOLE 0x02
+#define SUNI_REGM_CLKSYN_TREFSEL 0x01 /* lite */
+#define SUNI_REGM_CLKSYN_RESERVED 0x00
+#define SUNI_REGX_CLKSYN_ULTRA "\020\6TROOLI\4TROOLV\2TROOLE"
+#define SUNI_REGX_CLKSYN_LITE "\020\4TROOLV\2TROOLE\1TREFSEL"
+
+/* 622 */
+#define SUNI_REGN_POUT "Parallel Output Port"
+#define SUNI_REGO_POUT 0x06
+#define SUNI_REGM_POUT_POP 0x3f
+#define SUNI_REGX_POUT "\020\12\x3f\12POP"
+
+/* ultra/lite */
+#define SUNI_REGN_CLKREC "Clock Recovery Control and Status"
+#define SUNI_REGO_CLKREC_LITE 0x07
+#define SUNI_REGO_CLKREC_ULTRA 0x08
+#define SUNI_REGM_CLKREC_RROOLI 0x40 /* ultra */
+#define SUNI_REGM_CLKREC_RDOOLI 0x20 /* ultra */
+#define SUNI_REGM_CLKREC_RROOLV 0x10
+#define SUNI_REGM_CLKREC_RDOOLV 0x08
+#define SUNI_REGM_CLKREC_RROOLE 0x04 /* ultra */
+#define SUNI_REGM_CLKREC_RDOOLE 0x02
+#define SUNI_REGM_CLKREC_RREFSEL 0x01 /* lite */
+#define SUNI_REGM_CLKREC_RESERVED 0x00
+#define SUNI_REGX_CLKREC_ULTRA "\020\7RROOLI\6RDOOLI\5RROOLV\4RDOOLV\3RROOLE\2RDOOLE"
+#define SUNI_REGX_CLKREC_LITE "\020\5RROOLV\4RDOOLV\2RDOOLE\1RREFSEL"
+
+/* 622 */
+#define SUNI_REGN_PIN "Parallel Input Port"
+#define SUNI_REGO_PIN 0x07
+
+/* 622 */
+#define SUNI_REGN_PINV "Parallel Input Port Value"
+#define SUNI_REGO_PINV 0x08
+#define SUNI_REGM_PINV_PIPV 0x0f
+#define SUNI_REGX_PINV "\020\12\0x0f\12PIPIV"
+
+/* ultra */
+#define SUNI_REGN_CLKRECCFG "Clock Recovery Configuration"
+#define SUNI_REGO_CLKRECCFG 0x09
+#define SUNI_REGM_CLKRECCFG_RESERVED 0x07
+#define SUNI_REGX_CLKRECCFG "\020"
+
+/* 622 */
+#define SUNI_REGN_PINE "Parallel Input Port Enable"
+#define SUNI_REGO_PINE 0x09
+
+/* ultra */
+#define SUNI_REGN_LTXCFG1 "Line Transmitter Configuration 1"
+#define SUNI_REGO_LTXCFG1 0x0A
+#define SUNI_REGM_LTXCFG1_VREFSEL 0x80
+#define SUNI_REGM_LTXCFG1_OEN 0x20
+#define SUNI_REGM_LTXCFG1_OTQ 0x10
+#define SUNI_REGM_LTXCFG1_RESERVED 0x0C
+#define SUNI_REGX_LTXCFG1 "\020\10VREFSEL\6OEN\5OTQ"
+
+/* 622 */
+#define SUNI_REGN_XC1 "Transmit C1"
+#define SUNI_REGO_XC1 0x0A
+
+/* ultra */
+#define SUNI_REGN_LTXCFG2 "Line Transmitter Configuration 2"
+#define SUNI_REGO_LTXCFG2 0x0B
+#define SUNI_REGM_LTXCFG2_RESERVED 0xFF
+#define SUNI_REGX_LTXCFG2 "\020"
+
+/* 622 */
+#define SUNI_REGN_APSCS "APS Control/Status"
+#define SUNI_REGO_APSCS 0x0B
+#define SUNI_REGM_APSCS_PSBFE 0x80
+#define SUNI_REGM_APSCS_COAPSE 0x40
+#define SUNI_REGM_APSCS_Z1E 0x20
+#define SUNI_REGM_APSCS_Zi1 0x10
+#define SUNI_REGM_APSCS_PSBFI 0x08
+#define SUNI_REGM_APSCS_COAPSI 0x04
+#define SUNI_REGM_APSCS_RESERVED 0x02
+#define SUNI_REGM_APSCS_PSBFV 0x01
+#define SUNI_REGX_APSCS "\020\10PSBFE\7COAPSE\6Z1E\5Z1I\4PSBFI\3COAPSI\1PSBFV"
+
+/* ultra */
+#define SUNI_REGN_LRXCFG "Line Receiver Configuration"
+#define SUNI_REGO_LRXCFG 0x0C
+#define SUNI_REGM_LRXCFG_RESERVED 0x01
+#define SUNI_REGX_LRXCFG "\020"
+
+/* 622 */
+#define SUNI_REGN_RK1 "Receive K1"
+#define SUNI_REGO_RK1 0x0C
+
+/* 622 */
+#define SUNI_REGN_RK2 "Receive K2"
+#define SUNI_REGO_RK2 0x0D
+
+/* 622 */
+#define SUNI_REGN_RZ1 "Receive Z1"
+#define SUNI_REGO_RZ1 0x0E
+
+/* 622 */
+#define SUNI_REGN_XZ1 "Transmit Z1"
+#define SUNI_REGO_XZ1 0x0F
+
+/* lite, ultra, 622 */
+#define SUNI_REGN_RSOPCIE "RSOP Control/Interrupt Enable"
+#define SUNI_REGO_RSOPCIE 0x10
+#define SUNI_REGO_RSOPCIE_BIPWORD_622 0x80
+#define SUNI_REGM_RSOPCIE_DDS 0x40
+#define SUNI_REGM_RSOPCIE_FOOF 0x20
+#define SUNI_REGM_RSOPCIE_RESV 0x10
+#define SUNI_REGM_RSOPCIE_ALGO2_622 0x10
+#define SUNI_REGM_RSOPCIE_BIPEE 0x08
+#define SUNI_REGM_RSOPCIE_LOSE 0x04
+#define SUNI_REGM_RSOPCIE_LOFE 0x02
+#define SUNI_REGM_RSOPCIE_OOFE 0x01
+#define SUNI_REGX_RSOPCIE "\020\7DDS\6FOOF\4BIPEE\3LOSE\2LOFE\1OOFE"
+#define SUNI_REGX_RSOPCIE_622 "\020\10BIPWORD\7DDS\6FOOF\5ALGO2\4BIPEE\3LOSE\2LOFE\1OOFE"
+
+/* lite, ultra, 622 */
+#define SUNI_REGN_RSOPSIS "RSOP Status/Interrupt Status"
+#define SUNI_REGO_RSOPSIS 0x11
+#define SUNI_REGM_RSOPSIS_BIPEI 0x40
+#define SUNI_REGM_RSOPSIS_LOSI 0x20
+#define SUNI_REGM_RSOPSIS_LOFI 0x10
+#define SUNI_REGM_RSOPSIS_OOFI 0x08
+#define SUNI_REGM_RSOPSIS_LOSV 0x04
+#define SUNI_REGM_RSOPSIS_LOFV 0x02
+#define SUNI_REGM_RSOPSIS_OOFV 0x01
+#define SUNI_REGX_RSOPSIS "\020\7BIPEI\6LOSI\5LOFI\4OOFI\3LOSV\2LOFV\1OOFV"
+
+/* lite, ultra, 622 */
+#define SUNI_REGN_RSOP_BIP8 "RSOP Section BIP-8"
+#define SUNI_REGO_RSOP_BIP8 0x12 /* +0x13 */
+
+/* lite, ultra, 622 */
+#define SUNI_REGN_TSOPCTRL "TSOP Control"
+#define SUNI_REGO_TSOPCTRL 0x14
+#define SUNI_REGM_TSOPCTRL_DS 0x40
+#define SUNI_REGM_TSOPCTRL_LAIS 0x01
+#define SUNI_REGM_TSOPCTRL_RESERVED 0x00
+#define SUNI_REGX_TSOPCTRL "\020\7DS\1LAIS"
+
+/* lite, ultra, 622 */
+#define SUNI_REGN_TSOPDIAG "TSOP Diagnostics"
+#define SUNI_REGO_TSOPDIAG 0x15
+#define SUNI_REGM_TSOPDIAG_DLOS 0x04
+#define SUNI_REGM_TSOPDIAG_DBIP8 0x02
+#define SUNI_REGM_TSOPDIAG_DFP 0x01
+#define SUNI_REGX_TSOPDIAG "\020\3DLOS\2DBIP8\1DFP"
+
+/* lite, ultra, 622 */
+#define SUNI_REGN_RLOPCTRL "RLOP Control/Status"
+#define SUNI_REGO_RLOPCTRL 0x18
+#define SUNI_REGO_RLOPCTRL_BIPWORD 0x80
+#define SUNI_REGO_RLOPCTRL_ALLONES_622 0x40
+#define SUNI_REGO_RLOPCTRL_AISDET_622 0x20
+#define SUNI_REGO_RLOPCTRL_LRDIDET_622 0x10
+#define SUNI_REGO_RLOPCTRL_BIPWORDO_622 0x08
+#define SUNI_REGO_RLOPCTRL_LAISV 0x02
+#define SUNI_REGO_RLOPCTRL_RDIV 0x01
+#define SUNI_REGO_RLOPCTRL_RESERVED 0x00
+#define SUNI_REGX_RLOPCTRL "\020\10BIPWORD\2LAISV\1RDIV"
+#define SUNI_REGX_RLOPCTRL_622 "\020\10BIPWORD\7ALLONES\6AISDET\5LRDIDET\4BIPWORDO\2LAISV\1RDIV"
+
+/* lite, ultra, 622 */
+#define SUNI_REGN_RLOPINTR "RLOP Interrupt Enable/Interrupt Status"
+#define SUNI_REGO_RLOPINTR 0x19
+#define SUNI_REGO_RLOPINTR_FEBEE 0x80
+#define SUNI_REGO_RLOPINTR_BIPEE 0x40
+#define SUNI_REGO_RLOPINTR_LAISE 0x20
+#define SUNI_REGO_RLOPINTR_RDIE 0x10
+#define SUNI_REGO_RLOPINTR_FEBEI 0x08
+#define SUNI_REGO_RLOPINTR_BIPEI 0x04
+#define SUNI_REGO_RLOPINTR_LAISI 0x02
+#define SUNI_REGO_RLOPINTR_RDII 0x01
+#define SUNI_REGX_RLOPINTR "\020\10FEBEE\7BIPEE\6LAISE\5DRIE\4FEBEI\3BIPEI\2LAISI\1RDII"
+
+/* lite, ultra */
+#define SUNI_REGN_RLOPBIP8_24 "RLOP Line BIP-8/24"
+#define SUNI_REGO_RLOPBIP8_24 0x1A /* +1B,1C */
+#define SUNI_REGM_RLOPBIP8_24 0x0F
+
+/* 622 */
+#define SUNI_REGN_RLOPBIP8_24_96 "RLOP Line BIP-8/24/96"
+#define SUNI_REGO_RLOPBIP8_24_96 0x1A /* +1B,1C */
+#define SUNI_REGM_RLOPBIP8_24_96 0x0F
+
+/* lite, ultra, 622 */
+#define SUNI_REGN_RLOPFEBE "RLOP Line FEBE"
+#define SUNI_REGO_RLOPFEBE 0x1D /* +1E,1F */
+#define SUNI_REGM_RLOPFEBE 0x0F
+
+/* lite, ultra, 622 */
+#define SUNI_REGN_TLOPCTRL "TLOP Control"
+#define SUNI_REGO_TLOPCTRL 0x20
+#define SUNI_REGM_TLOPCTRL_APSREG_622 0x20
+#define SUNI_REGM_TLOPCTRL_RDI 0x01
+#define SUNI_REGM_TLOPCTRL_RESERVED 0x00
+#define SUNI_REGX_TLOPCTRL "\020\1RDI"
+#define SUNI_REGX_TLOPCTRL_622 "\020\6APSREG\1LRDI"
+
+/* lite, ultra, 622 */
+#define SUNI_REGN_TLOPDIAG "TLOP Diagnostics"
+#define SUNI_REGO_TLOPDIAG 0x21
+#define SUNI_REGM_TLOPDIAG_DBIP 0x01
+#define SUNI_REGX_TLOPDIAG "\020\1DBIP"
+
+/* 622 */
+#define SUNI_REGN_TLOP_XK1 "TLOP Transmit K1"
+#define SUNI_REGO_TLOP_XK1 0x22
+
+/* 622 */
+#define SUNI_REGN_TLOP_XK2 "TLOP Transmit K2"
+#define SUNI_REGO_TLOP_XK2 0x23
+
+/* 622 */
+#define SUNI_REGN_SSTBCTRL "SSTB Control"
+#define SUNI_REGO_SSTBCTRL 0x28
+#define SUNI_REGM_SSTBCTRL_RRAMACC 0x40
+#define SUNI_REGM_SSTBCTRL_RTIUIE 0x20
+#define SUNI_REGM_SSTBCTRL_RTIMIE 0x10
+#define SUNI_REGM_SSTBCTRL_PER5 0x08
+#define SUNI_REGM_SSTBCTRL_TNULL 0x04
+#define SUNI_REGM_SSTBCTRL_NOSYNC 0x02
+#define SUNI_REGM_SSTBCTRL_LEN16 0x01
+#define SUNI_REGX_SSTBCTRL "\020\7RRAMACC\6RTIUIE\5RTIMIE\4PER5\3TNULL\2NOSYNC\1LEN16"
+
+/* 622 */
+#define SUNI_REGN_SSTBSTIS "SSTB Section Trace Identifier Status"
+#define SUNI_REGO_SSTBSTIS 0x29
+#define SUNI_REGM_SSTBSTIS_BUSY 0x80
+#define SUNI_REGM_SSTBSTIS_RTIUI 0x08
+#define SUNI_REGM_SSTBSTIS_RTIUV 0x04
+#define SUNI_REGM_SSTBSTIS_RTIMI 0x02
+#define SUNI_REGM_SSTBSTIS_RTIMV 0x01
+#define SUNI_REGX_SSTBSTIS "\020\10BUSY\4RTIUI\3RTIUV\2RTIMI\1RTIMV"
+
+/* 622 */
+#define SUNI_REGN_SSTBIAR "SSTB Indirect Address Register"
+#define SUNI_REGO_SSTBIAR 0x2A
+#define SUNI_REGM_SSTBIAR_RWB 0x80
+#define SUNI_REGM_SSTBIAR_A 0x7F
+#define SUNI_REGX_SSTBIAR "\020\10RWB\12\x7f\20"
+
+/* 622 */
+#define SUNI_REGN_SSTBIDR "SSTB Indirect Data Register"
+#define SUNI_REGO_SSTBIDR 0x2B
+
+#if 0 /* see chip errata */
+/* 622 */
+#define SUNI_REGN_SSTBECSM "SSTB Expected Clock Synchronization Message"
+#define SUNI_REGO_SSTBECSM 0x2C
+#endif
+
+/* 622 */
+#define SUNI_REGN_SSTBCSMS "SSTB Clock Synchronisation Message Status"
+#define SUNI_REGO_SSTBCSMS 0x2D
+#define SUNI_REGM_SSTBCSMS_RCSMUIE 0x80
+#define SUNI_REGM_SSTBCSMS_RCSMMIE 0x40
+#define SUNI_REGM_SSTBCSMS_RCSMUI 0x08
+#define SUNI_REGM_SSTBCSMS_RCSMUV 0x04
+#define SUNI_REGM_SSTBCSMS_RCSMMI 0x02
+#define SUNI_REGM_SSTBCSMS_RCSMMV 0x01
+#define SUNI_REGX_SSTBCSMS "\020\10RCSMUIE\7RCSMMIE\4RCSMUI\3RCSMUV\2RCSMMI\1RCSMMV"
+
+/* lite, ultra, 622 */
+#define SUNI_REGN_RPOPCTRL "RPOP Status/Control"
+#define SUNI_REGO_RPOPCTRL 0x30
+#define SUNI_REGM_RPOPCTRL_LOP 0x20
+#define SUNI_REGM_RPOPCTRL_PAIS 0x08
+#define SUNI_REGM_RPOPCTRL_PRDI 0x04
+#define SUNI_REGM_RPOPCTRL_NEWPTRI_622 0x02
+#define SUNI_REGM_RPOPCTRL_NEWPTRE_622 0x01
+#define SUNI_REGM_RPOPCTRL_RESERVED 0x00
+#define SUNI_REGX_RPOPCTRL "\020\6LOP\4PAIS\3PRDI"
+#define SUNI_REGX_RPOPCTRL_622 "\020\6LOP\4PAIS\3PRDI\2NEWPTRI\1NEWPTRE"
+
+/* lite, ultra, 622 */
+#define SUNI_REGN_RPOPISTAT "RPOP Interrupt Status"
+#define SUNI_REGO_RPOPISTAT 0x31
+#define SUNI_REGM_RPOPISTAT_PSLI 0x80
+#define SUNI_REGM_RPOPISTAT_LOPI 0x20
+#define SUNI_REGM_RPOPISTAT_PAISI 0x08
+#define SUNI_REGM_RPOPISTAT_PRDII 0x04
+#define SUNI_REGM_RPOPISTAT_BIPEI 0x02
+#define SUNI_REGM_RPOPISTAT_FEBEI 0x01
+#define SUNI_REGX_RPOPISTAT "\02010PSLI\6LOPI\4PAISI\3PRDII\2BIPEI\1FEBEI"
+
+/* 622 */
+#define SUNI_REGN_RPOPPIS "RPOP Pointer Interrupt Status"
+#define SUNI_REGO_RPOPPIS 0x32
+#define SUNI_REGM_RPOPPIS_ILLJREQI 0x80
+#define SUNI_REGM_RPOPPIS_DISCOPAI 0x20
+#define SUNI_REGM_RPOPPIS_INVNDFI 0x10
+#define SUNI_REGM_RPOPPIS_ILLPTRI 0x08
+#define SUNI_REGM_RPOPPIS_NSEI 0x04
+#define SUNI_REGM_RPOPPIS_PSEI 0x02
+#define SUNI_REGM_RPOPPIS_NDFI 0x01
+#define SUNI_REGX_RPOPPIS "\020\10ILLJREQI\6DISCOPAI\5INVNDFI\4ILLPTRI\3NSEI\2PSEI\1NDFI"
+
+/* lite, ultra, 622 */
+#define SUNI_REGN_RPOPIEN "RPOP Interrupt Enable"
+#define SUNI_REGO_RPOPIEN 0x33
+#define SUNI_REGM_RPOPIEN_PSLE 0x80
+#define SUNI_REGM_RPOPIEN_LOPE 0x20
+#define SUNI_REGM_RPOPIEN_PAISE 0x08
+#define SUNI_REGM_RPOPIEN_PRDIE 0x04
+#define SUNI_REGM_RPOPIEN_BIPEE 0x02
+#define SUNI_REGM_RPOPIEN_FEBEE 0x01
+#define SUNI_REGM_RPOPIEN_RESERVED 0x00
+#define SUNI_REGX_RPOPIEN "\02010PSLE\6LOPE\4PAISE\3PRDIE\2BIPEE\1FEBEE"
+
+/* 622 */
+#define SUNI_REGN_RPOPPIE "RPOP Pointer Interrupt Enable"
+#define SUNI_REGO_RPOPPIE 0x34
+#define SUNI_REGM_RPOPPIE_ILLJREQE 0x80
+#define SUNI_REGM_RPOPPIE_DISCOPAE 0x20
+#define SUNI_REGM_RPOPPIE_INVNDFE 0x10
+#define SUNI_REGM_RPOPPIE_ILLPTRE 0x08
+#define SUNI_REGM_RPOPPIE_NSEE 0x04
+#define SUNI_REGM_RPOPPIE_PSEE 0x02
+#define SUNI_REGM_RPOPPIE_NDFE 0x01
+#define SUNI_REGX_RPOPPIE "\020\10ILLJREQE\6DISCOPAE\5INVNDFE\4ILLPTRE\3NSEE\2PSEE\1NDFE"
+
+/* 622 */
+#define SUNI_REGN_RPOPPTR "RPOP Pointer"
+#define SUNI_REGO_RPOPPTR 0x35 /* +36 */
+#define SUNI_REGM_RPOPPTR_RDI10 0x20
+#define SUNI_REGM_RPOPPTR_S 0x0c
+#define SUNI_REGS_RPOPPTR_S 2
+#define SUNI_REGM_RPOPPTR 0x03
+#define SUNI_REGS_RPOPPTR 0
+#define SUNI_REGX_RPOPPTR "\020\6RDI10\12\xc\20S"
+
+/* lite, ultra, 622 */
+#define SUNI_REGN_RPOPPSL "RPOP Path Signal Label"
+#define SUNI_REGO_RPOPPSL 0x37
+
+/* lite, ultra, 622 */
+#define SUNI_REGN_RPOPBIP8 "RPOP Path BIP-8"
+#define SUNI_REGO_RPOPBIP8 0x38 /* +39 */
+
+/* lite, ultra, 622 */
+#define SUNI_REGN_RPOPFEBE "RPOP Path FEBE"
+#define SUNI_REGO_RPOPFEBE 0x3A /* +3B */
+
+/* 622 */
+#define SUNI_REGN_RPOPRDI "RPOP RDI"
+#define SUNI_REGO_RPOPRDI 0x3C
+#define SUNI_REGM_RPOPRDI_BLKFEBE 0x10
+#define SUNI_REGM_RPOPRDI_ARDIE 0x02
+#define SUNI_REGM_RPOPRDI_ARDIV 0x01
+#define SUNI_REGM_RPOPRDI_RESERVED 0x00
+#define SUNI_REGX_RPOPRDI "\020\5BLKFEBE\2ARDIE\1ARDIV"
+
+/* lite, ultra */
+#define SUNI_REGN_RPOPBIP8CFG "RPOP Path BIP-8 Configuration"
+#define SUNI_REGO_RPOPBIP8CFG 0x3D
+#define SUNI_REGM_RPOPBIP8CFG_BLKBIP 0x20
+#define SUNI_REGM_RPOPBIP8CFG_RESERVED 0x00
+#define SUNI_REGX_RPOPBIP8CFG "\020\6BLKBIP"
+
+/* 622 */
+#define SUNI_REGN_RPOPRING "RPOP Ring Control"
+#define SUNI_REGO_RPOPRING 0x3D
+#define SUNI_REGM_RPOPRING_SOS 0x80
+#define SUNI_REGM_RPOPRING_ENSS 0x40
+#define SUNI_REGM_RPOPRING_BLKBIP 0x20
+#define SUNI_REGM_RPOPRING_DISFS 0x10
+#define SUNI_REGM_RPOPRING_BLKBIPO 0x08
+#define SUNI_REGM_RPOPRING_RESERVED 0x00
+#define SUNI_REGX_RPOPRING "\020\10SOS\7ENSS\6BLKBIP\5DISFS\4BLKBIPO"
+
+/* lite, ultra, 622 */
+#define SUNI_REGN_TPOPCTRL "TPOP Control/Diagnostic"
+#define SUNI_REGO_TPOPCTRL 0x40
+#define SUNI_REGM_TPOPCTRL_EXCFS 0x80 /* 622 */
+#define SUNI_REGM_TPOPCTRL_DB3 0x02
+#define SUNI_REGM_TPOPCTRL_PAIS 0x01
+#define SUNI_REGM_TPOPCTRL_RESERVED 0x00
+#define SUNI_REGX_TPOPCTRL "\020\2DB3\1PAIS"
+#define SUNI_REGX_TPOPCTRL_622 "\020\4EXCFS\2DB3\1PAIS"
+
+/* lite, ultra, 622 */
+#define SUNI_REGN_TPOPPTRC "TPOP Pointer Control"
+#define SUNI_REGO_TPOPPTRC 0x41
+#define SUNI_REGM_TPOPPTRC_FTPTR 0x40
+#define SUNI_REGM_TPOPPTRC_SOS 0x20
+#define SUNI_REGM_TPOPPTRC_PLD 0x10
+#define SUNI_REGM_TPOPPTRC_NDF 0x08
+#define SUNI_REGM_TPOPPTRC_NSE 0x04
+#define SUNI_REGM_TPOPPTRC_PSE 0x02
+#define SUNI_REGM_TPOPPTRC_RESERVED 0x00
+#define SUNI_REGX_TPOPPTRC "\020\7FTPTR\6SOS\5PLD\4NDF\3NSE\2PSE"
+
+/* 622 */
+#define SUNI_REGN_TPOPCP "TPOP Current Pointer"
+#define SUNI_REGO_TPOPCP 0x43 /* +44 */
+#define SUNI_REGM_TPOPCP 0x03
+#define SUNI_REGS_TPOPCP 0
+#define SUNI_REGX_TPOPCP "\020"
+
+/* lite, ultra, 622 */
+#define SUNI_REGN_TPOPAPTR "TPOP Arbitrary Pointer"
+#define SUNI_REGO_TPOPAPTR 0x45 /* +46 */
+#define SUNI_REGM_TPOPAPTR_NDF 0xF0
+#define SUNI_REGS_TPOPAPTR_NDF 4
+#define SUNI_REGM_TPOPAPTR_S 0x0C
+#define SUNI_REGS_TPOPAPTR_S 2
+#define SUNI_REGM_TPOPAPTR 0x03
+#define SUNI_REGS_TPOPAPTR 0
+#define SUNI_REGX_TPOPAPTR "\020\12\x0C\12S\12\xF0\12NDF"
+
+#define SUNI_REGM_SONET 0
+#define SUNI_REGM_SDH 2
+
+/* 622 */
+#define SUNI_REGN_TPOPPT "TPOP Path Trace"
+#define SUNI_REGO_TPOPPT 0x47
+
+/* lite, ultra, 622 */
+#define SUNI_REGN_TPOPPSL "TPOP Path Signal Label"
+#define SUNI_REGO_TPOPPSL 0x48
+
+/* lite, ultra, 622 */
+#define SUNI_REGN_TPOPSTATUS "TPOP Path Status"
+#define SUNI_REGO_TPOPSTATUS 0x49
+#define SUNI_REGM_TPOPSTATUS_FEBE 0xF0
+#define SUNI_REGS_TPOPSTATUS_FEBE 4
+#define SUNI_REGM_TPOPSTATUS_PRDI 0x08
+#define SUNI_REGM_TPOPSTATUS_G1 0x07
+#define SUNI_REGS_TPOPSTATUS_G1 0
+#define SUNI_REGX_TPOPSTATUS "\020\12\xF0\12FEBE\4PRDI\12\x7\12G"
+
+/* 622 */
+#define SUNI_REGN_TPOPPUC "TPOP Path User Channel"
+#define SUNI_REGO_TPOPPUC 0x4A
+
+/* 622 */
+#define SUNI_REGN_TPOPPG1 "TPOP Path Grow #1"
+#define SUNI_REGO_TPOPPG1 0x4B
+
+/* 622 */
+#define SUNI_REGN_TPOPPG2 "TPOP Path Grow #2"
+#define SUNI_REGO_TPOPPG2 0x4C
+
+/* 622 */
+#define SUNI_REGN_TPOPPG3 "TPOP Path Grow #3"
+#define SUNI_REGO_TPOPPG3 0x4D
+
+/* lite, ultra, 622 */
+#define SUNI_REGN_RACPCTRL "RACP Control/Status"
+#define SUNI_REGO_RACPCTRL 0x50
+#define SUNI_REGM_RACPCTRL_OOCDV 0x80
+#define SUNI_REGM_RACPCTRL_FSEN 0x80
+#define SUNI_REGM_RACPCTRL_RXPTYP 0x40
+#define SUNI_REGM_RACPCTRL_PASS 0x20
+#define SUNI_REGM_RACPCTRL_DISCOR 0x10
+#define SUNI_REGM_RACPCTRL_HCSPASS 0x08
+#define SUNI_REGM_RACPCTRL_HCSADD 0x04
+#define SUNI_REGM_RACPCTRL_DDSCR 0x02
+#define SUNI_REGM_RACPCTRL_FIFORST 0x01
+#define SUNI_REGX_RACPCTRL "\020\10OOCDV\7RXPTYP\6PASS\5DISCO\4HCSPASS\3HCSADD\2DDSCR\1FIFORST"
+#define SUNI_REGX_RACPCTRL_622 "\020\10FSEN\7RXPTYP\6PASS\5DISCO\4HCSPASS\3HCSADD\2DDSCR\1FIFORST"
+
+/* lite, ultra */
+#define SUNI_REGN_RACPINTR "RACP Interrupt Enable/Status"
+#define SUNI_REGO_RACPINTR 0x51
+#define SUNI_REGM_RACPINTR_OOCDE 0x80
+#define SUNI_REGM_RACPINTR_HCSE 0x40
+#define SUNI_REGM_RACPINTR_FIFOE 0x20
+#define SUNI_REGM_RACPINTR_OOCDI 0x10
+#define SUNI_REGM_RACPINTR_CHCSI 0x08
+#define SUNI_REGM_RACPINTR_UHCSI 0x04
+#define SUNI_REGM_RACPINTR_FOVRI 0x02
+#define SUNI_REGX_RACPINTR "\020\10OOCDE\7HCSE\6FIFOE\5OOCDI\4CHCSI\3UHCSI\2FOVRI"
+
+/* 622 */
+#define SUNI_REGN_RACPIS "RACP Interrupt Status"
+#define SUNI_REGO_RACPIS 0x51
+#define SUNI_REGM_RACPIS_OCDV 0x80
+#define SUNI_REGM_RACPIS_LCDV 0x40
+#define SUNI_REGM_RACPIS_OCDI 0x20
+#define SUNI_REGM_RACPIS_LCDI 0x10
+#define SUNI_REGM_RACPIS_CHCSI 0x08
+#define SUNI_REGM_RACPIS_UHCSI 0x04
+#define SUNI_REGM_RACPIS_FOVRI 0x02
+#define SUNI_REGM_RACPIS_FUDRI 0x01
+#define SUNI_REGX_RACPIS "\020\10OCDV\7LCDV\6OCDI\5LCDI\4CHCSI\3UHCSI\2FOVRI\1FUDRI"
+
+/* lite, ultra */
+#define SUNI_REGN_RACPPATTERN "RACP Match Header Pattern"
+#define SUNI_REGO_RACPPATTERN 0x52
+#define SUNI_REGM_RACPPATTERN_GFC 0xF0
+#define SUNI_REGS_RACPPATTERN_GFC 4
+#define SUNI_REGM_RACPPATTERN_PTI 0x0E
+#define SUNI_REGS_RACPPATTERN_PTI 1
+#define SUNI_REGM_RACPPATTERN_CLP 0x01
+#define SUNI_REGS_RACPPATTERN_CLP 0
+#define SUNI_REGX_RACPPATTERN "\020\12\xF0\12GFC\12\x0E\12PTI\1CLP"
+
+/* 622 */
+#define SUNI_REGN_RACPIEC "RACP Interrupt Enable/Control"
+#define SUNI_REGO_RACPIEC 0x52
+#define SUNI_REGM_RACPIEC_OCDE 0x80
+#define SUNI_REGM_RACPIEC_LCDE 0x40
+#define SUNI_REGM_RACPIEC_HCSE 0x20
+#define SUNI_REGM_RACPIEC_FIFOE 0x10
+#define SUNI_REGM_RACPIEC_LCDDROP 0x08
+#define SUNI_REGM_RACPIEC_RCALEVEL0 0x04
+#define SUNI_REGM_RACPIEC_HCSFTR 0x03
+#define SUNI_REGX_RACPIEC "\020\10OCDE\7LCDE\6HCSE\5FIFOE\4LCDDROP\3RCALEVEL0\12\0x3\12HCSFTR"
+
+/* lite, ultra */
+#define SUNI_REGN_RACPMASK "RACP Match Header Mask"
+#define SUNI_REGO_RACPMASK 0x53
+#define SUNI_REGM_RACPMASK_MGFC 0xF0
+#define SUNI_REGS_RACPMASK_MGFC 4
+#define SUNI_REGM_RACPMASK_MPTI 0x0E
+#define SUNI_REGS_RACPMASK_MPTI 1
+#define SUNI_REGM_RACPMASK_MCLP 0x01
+#define SUNI_REGS_RACPMASK_MCLP 0
+#define SUNI_REGX_RACPMASK "\020\12\xF0\12MGFC\12\x0E\12MPTI\1MCLP"
+
+/* 622 */
+#define SUNI_REGO_RACPPATTERN_622 0x53
+
+/* lite, ultra */
+#define SUNI_REGN_RACPCHCS "RACP Correctable HCS Error Count"
+#define SUNI_REGO_RACPCHCS 0x54
+
+/* 622 */
+#define SUNI_REGO_RACPMASK_622 0x54
+
+/* lite, ultra */
+#define SUNI_REGN_RACPUHCS "RACP Uncorrectable HCS Error Count"
+#define SUNI_REGO_RACPUHCS 0x55
+
+/* 622 */
+#define SUNI_REGO_RACPCHCS_622 0x55 /* +56 */
+#define SUNI_REGM_RACPCHCS_622 0x0f
+
+/* lite, ultra */
+#define SUNI_REGN_RACPCNT "RACP Receive Cell Counter"
+#define SUNI_REGO_RACPCNT 0x56 /* +57,58 */
+#define SUNI_REGM_RACPCNT 0x07
+
+/* 622 */
+#define SUNI_REGO_RACPUHCS_622 0x57 /* +58 */
+#define SUNI_REGM_RACPUHCS_622 0x0f
+
+/* 622 */
+#define SUNI_REGO_RACPCNT_622 0x59 /* +5A,5B */
+#define SUNI_REGM_RACPCNT_622 0x1F
+
+/* lite, ultra */
+#define SUNI_REGN_RACPCFG "RACP Configuration"
+#define SUNI_REGO_RACPCFG 0x59
+#define SUNI_REGM_RACPCFG_RGFCE 0xF0
+#define SUNI_REGS_RACPCFG_RGFCE 4
+#define SUNI_REGM_RACPCFG_FSEN 0x08
+#define SUNI_REGM_RACPCFG_LEVEL0 0x04
+#define SUNI_REGM_RACPCFG_HCSFTR 0x03
+#define SUNI_REGS_RACPCFG_HCSFTR 0
+#define SUNI_REGX_RACPCFG "\020\12\xF0\20RGFCE\4FSEN\3RCALEVEL0\12\x03\12HCSFTR"
+
+/* 622 */
+#define SUNI_REGN_RACPGFC "RACP GFC Control/Misc. Control"
+#define SUNI_REGO_RACPGFC 0x5C
+#define SUNI_REGM_RACPGFC_CDDIS 0x80
+#define SUNI_REGM_RACPGFC_RXBYTEPRTY 0x40
+#define SUNI_REGM_RACPGFC_RGFCE 0x0f
+#define SUNI_REGX_RACPGFC "\020\10CDDIS\7RXBYTEPRTY\12\xf\20"
+
+/* lite, ultra, 622 */
+#define SUNI_REGN_TACPCTRL "TACP Control/Status"
+#define SUNI_REGO_TACPCTRL 0x60
+#define SUNI_REGM_TACPCTRL_FIFOE 0x80
+#define SUNI_REGM_TACPCTRL_TSOCI 0x40
+#define SUNI_REGM_TACPCTRL_FOVRI 0x20
+#define SUNI_REGM_TACPCTRL_DHCS 0x10
+#define SUNI_REGM_TACPCTRL_HCSB 0x08 /* ultra, 622 */
+#define SUNI_REGM_TACPCTRL_HCSADD 0x04
+#define SUNI_REGM_TACPCTRL_DSCR 0x02
+#define SUNI_REGM_TACPCTRL_FIFORST 0x01
+#define SUNI_REGX_TACPCTRL_LITE "\020\10FIFOE\7TSOCI\6FOVRI\5DHCS\3HCSADD\2DSCR\1FIFORST"
+#define SUNI_REGX_TACPCTRL_ULTRA "\020\10FIFOE\7TSOCI\6FOVRI\5DHCS\4HCSB\3HCSADD\2DSCR\1FIFORST"
+#define SUNI_REGX_TACPCTRL_622 "\020\10FIFOE\7TSOCI\6FOVRI\5DHCS\4HCSB\3HCSADD\2DSCR\1FIFORST"
+
+/* lite, ultra, 622 */
+#define SUNI_REGN_TACPIDLEH "TACP Idle/Unassigned Cell Header Pattern"
+#define SUNI_REGO_TACPIDLEH 0x61
+#define SUNI_REGM_TACPIDLEH_GFC 0xF0
+#define SUNI_REGS_TACPIDLEH_GFC 4
+#define SUNI_REGM_TACPIDLEH_PTI 0x0E
+#define SUNI_REGS_TACPIDLEH_PTI 1
+#define SUNI_REGM_TACPIDLEH_CLP 0x01
+#define SUNI_REGS_TACPIDLEH_CLP 0
+#define SUNI_REGX_TACPIDLEH "\020\12\xF0\20GFC\12\x0E\20PTI\12\x01\20CLP"
+
+/* lite, ultra, 622 */
+#define SUNI_REGN_TACPIDLEP "TACP Idle/Unassigned Cell Payload Octet Pattern"
+#define SUNI_REGO_TACPIDLEP 0x62
+
+/* lite, ultra, 622 */
+#define SUNI_REGN_TACPFIFOC "TACP FIFO Control"
+#define SUNI_REGO_TACPFIFOC 0x63
+#define SUNI_REGM_TACPFIFOC_TXPTYP 0x80
+#define SUNI_REGM_TACPFIFOC_TXPRTYE 0x40
+#define SUNI_REGM_TACPFIFOC_TXPRTYI 0x10
+#define SUNI_REGM_TACPFIFOC_TXPRTYI_622 0x30
+#define SUNI_REGS_TACPFIFOC_TXPRTYI_622 4
+#define SUNI_REGM_TACPFIFOC_FIFODP 0x0C
+#define SUNI_REGS_TACPFIFOC_FIFODP 2
+#define SUNI_REGM_TACPFIFOC_TCALEVEL0 0x02
+#define SUNI_REGM_TACPFIFOC_HCSCTLEB 0x01
+#define SUNI_REGM_TACPFIFOC_RESERVED 0x00
+#define SUNI_REGX_TACPFIFOC "\020\10TXPTYP\7TXPRTYE\5TXPRTYI\12\x0C\20FIFODP\2TCALEVEL0"
+#define SUNI_REGX_TACPFIFOC_622 "\020\10TXPTYP\7TXPRTYE\12\x30\12TXPRTYI\12\x0C\20FIFODP\2TCALEVEL0\1HCSCTLEB"
+
+/* lite, ultra, 622 */
+#define SUNI_REGN_TACPCNT "TACP Transmit Cell Counter"
+#define SUNI_REGO_TACPCNT 0x64 /* +65,66 */
+#define SUNI_REGM_TACPCNT 0x07
+#define SUNI_REGM_TACPCNT_622 0x1F
+
+/* lite, ultra */
+#define SUNI_REGN_TACPCFG "TACP Configuration"
+#define SUNI_REGO_TACPCFG 0x67
+#define SUNI_REGM_TACPCFG_TGFCE 0xF0
+#define SUNI_REGS_TACPCFG_TGFCE 4
+#define SUNI_REGM_TACPCFG_FSEN 0x08
+#define SUNI_REGM_TACPCFG_H4INSB 0x04
+#define SUNI_REGM_TACPCFG_FIXBYTE 0x03
+#define SUNI_REGS_TACPCFG_FIXBYTE 0
+#define SUNI_REGX_TACPCFG "\020\12\xF0\20TGFCE\4FSEN\3H4INSB\12\x03\20FIXBYTE"
+
+/* 622 */
+#define SUNI_REGN_TACPGFC "TACP Fixed Stuff/GFC"
+#define SUNI_REGO_TACPGFC 0x67
+#define SUNI_REGO_TACPGFC_TGFCE 0xf0
+#define SUNI_REGS_TACPGFC_TGFCE 4
+#define SUNI_REGO_TACPGFC_FSEN 0x08
+#define SUNI_REGO_TACPGFC_TXBYTEPRTY 0x04
+#define SUNI_REGO_TACPGFC_FIXBYTE 0x03
+#define SUNI_REGS_TACPGFC_FIXBYTE 0
+#define SUNI_REGX_TACPGFC "\020\12\xf0\20TGFCE\4FSEN\3TXBYTEPRTY\12\x3\20FIXBYTE"
+
+/* 622 */
+#define SUNI_REGN_SPTBCTRL "SPTB Control"
+#define SUNI_REGO_SPTBCTRL 0x68
+#define SUNI_REGO_SPTBCTRL_RRAMACC 0x40
+#define SUNI_REGO_SPTBCTRL_RTIUIE 0x20
+#define SUNI_REGO_SPTBCTRL_RTIMIE 0x10
+#define SUNI_REGO_SPTBCTRL_PER5 0x08
+#define SUNI_REGO_SPTBCTRL_TNULL 0x04
+#define SUNI_REGO_SPTBCTRL_NOSYNC 0x02
+#define SUNI_REGO_SPTBCTRL_LEN16 0x01
+#define SUNI_REGX_SPTBCTRL "\020\7RRAMACC\6RTIUIE\5RTIMIE\4PER5\3TNULL\2NOSYNC\1LEN16"
+
+/* 622 */
+#define SUNI_REGN_SPTBPTIS "SPTB Path Trace Identifier Status"
+#define SUNI_REGO_SPTBPTIS 0x69
+#define SUNI_REGM_SPTBPTIS_BUSY 0x80
+#define SUNI_REGM_SPTBPTIS_RTIUI 0x08
+#define SUNI_REGM_SPTBPTIS_RTIUV 0x04
+#define SUNI_REGM_SPTBPTIS_RTIMI 0x02
+#define SUNI_REGM_SPTBPTIS_RTIMV 0x01
+#define SUNI_REGX_SPTBPTIS "\020\10BUSY\4RTIUI\3RTIUV\2RTIMI\1RTIMV"
+
+/* 622 */
+#define SUNI_REGN_SPTBIAR "SPTB Indirect Address Register"
+#define SUNI_REGO_SPTBIAR 0x6A
+#define SUNI_REGM_SPTBIAR_RWB 0x80
+#define SUNI_REGM_SPTBIAR_A 0x7f
+#define SUNI_REGX_SPTBIAR "\020\10RWB\12\x7f\20A"
+
+/* 622 */
+#define SUNI_REGN_SPTBIDR "SPTB Indirect Data Register"
+#define SUNI_REGO_SPTBIDR 0x6B
+
+/* 622 */
+#define SUNI_REGN_SPTBEPSL "SPTB Expected Path Signal Label"
+#define SUNI_REGO_SPTBEPSL 0x6C
+
+/* 622 */
+#define SUNI_REGN_SPTBPSLS "SPTB Path Signal Label Status"
+#define SUNI_REGO_SPTBPSLS 0x6D
+#define SUNI_REGM_SPTBPSLS_RPSLUIE 0x80
+#define SUNI_REGM_SPTBPSLS_RPSLMIE 0x40
+#define SUNI_REGM_SPTBPSLS_RPSLUI 0x08
+#define SUNI_REGM_SPTBPSLS_RPSLUV 0x04
+#define SUNI_REGM_SPTBPSLS_RPSLMI 0x02
+#define SUNI_REGM_SPTBPSLS_RPSLMV 0x01
+#define SUNI_REGX_SPTBPSLS "\020\10RPSLUIE\7RPSLMIE\4RPSLUI\3RPSLUV\2RPSLMI\1RPSLMV"
+
+/* ultra */
+#define SUNI_REGN_POPCCTRL "POPC Control"
+#define SUNI_REGO_POPCCTRL 0x68
+#define SUNI_REGM_POPCCTRL_PDAT 0xC0
+#define SUNI_REGS_POPCCTRL_PDAT 6
+#define SUNI_REGM_POPCCTRL_TOGGLE 0x30
+#define SUNI_REGS_POPCCTRL_TOGGLE 4
+#define SUNI_REGM_POPCCTRL_TRAFFIC 0x02
+#define SUNI_REGM_POPCCTRL_ALARM 0x01
+#define SUNI_REGX_POPCCTRL "\020\12\xC0\20PDAT\12\x30\20TOGGLE\2TRAFFIC\1ALARM"
+
+/* ultra */
+#define SUNI_REGN_POPCSTROBE0 "POPC Strobe Rate 0"
+#define SUNI_REGO_POPCSTROBE0 0x69
+
+/* ultra */
+#define SUNI_REGN_POPCSTROBE1 "POPC Strobe Rate 1"
+#define SUNI_REGO_POPCSTROBE1 0x6A
+
+/* 622 */
+#define SUNI_REGN_BERMCTRL "BERM Control"
+#define SUNI_REGO_BERMCTRL 0x70
+#define SUNI_REGM_BERMCTRL_BERTEN 0x80
+#define SUNI_REGM_BERMCTRL_BERIE 0x01
+#define SUNI_REGX_BERMCTRL "\020\10BERTEN\1BERIE"
+
+/* 622 */
+#define SUNI_REGN_BERMINT "BERM Interrupt"
+#define SUNI_REGO_BERMINT 0x71
+#define SUNI_REGM_BERMINT_TST 0xf0
+#define SUNI_REGS_BERMINT_TST 4
+#define SUNI_REGM_BERMINT_BERI 0x01
+#define SUNI_REGX_BERMINT "\020\12\xf0\20BERM_TST\1BERI"
+
+/* 622 */
+#define SUNI_REGN_BERMLAP "BERM Line BIP Accumulation Period"
+#define SUNI_REGO_BERMLAP 0x72 /* +73 */
+
+/* 622 */
+#define SUNI_REGN_BERMLT "BERM Line BIP Threshold"
+#define SUNI_REGO_BERMLT 0x74 /* +75 */
+
+/* lite, ultra, 622 */
+#define SUNI_REGN_MTEST "Master Test"
+#define SUNI_REGO_MTEST 0x80
+#define SUNI_REGM_MTEST_DS27_53_622 0x80
+#define SUNI_REGM_MTEST_BYPASS_ULTRA 0x40
+#define SUNI_REGM_MTEST_PMCATST_ULTRA 0x20
+#define SUNI_REGM_MTEST_PMCTST 0x10
+#define SUNI_REGM_MTEST_DBCTRL 0x08
+#define SUNI_REGM_MTEST_IOTST 0x04
+#define SUNI_REGM_MTEST_HIZDATA 0x02
+#define SUNI_REGM_MTEST_HIZIO 0x01
+#define SUNI_REGX_MTEST_LITE "\020\5PMCTST\4DBCTRL\3IOTST\2HIZDATA\1HIZIO"
+#define SUNI_REGX_MTEST_ULTRA "\020\7BYPASS\6PMCATST\5PMCTST\4DBCTRL\3IOTST\2HIZDATA\1HIZIO"
+#define SUNI_REGX_MTEST_622 "\020\10DS27_53\5PMCTST\4DBCTRL\3IOTST\2HIZDATA\1HIZIO"
+
+/*
+ * Printing support
+ */
+#define SUNI_PRINT_LITE \
+ { /* 00 */ \
+ UTP_REGT_BITS, SUNI_REGO_MRESET, \
+ SUNI_REGN_MRESET, SUNI_REGX_MRESET_LITE }, \
+ { /* 01 */ \
+ UTP_REGT_BITS, SUNI_REGO_MCONFIG, \
+ SUNI_REGN_MCONFIG, SUNI_REGX_MCONFIG_LITE }, \
+ { /* 02 */ \
+ UTP_REGT_BITS, SUNI_REGO_MISTATUS, \
+ SUNI_REGN_MISTATUS, SUNI_REGX_MISTATUS_LITE }, \
+ /* 03 unused */ \
+ { /* 04 */ \
+ UTP_REGT_BITS, SUNI_REGO_MCLKM, \
+ SUNI_REGN_MCLKM, SUNI_REGX_MCLKM_LITE }, \
+ { /* 05 */ \
+ UTP_REGT_BITS, SUNI_REGO_MCTRL, \
+ SUNI_REGN_MCTRL, SUNI_REGX_MCTRL_LITE }, \
+ { /* 06 */ \
+ UTP_REGT_BITS, SUNI_REGO_CLKSYN, \
+ SUNI_REGN_CLKSYN, SUNI_REGX_CLKSYN_LITE }, \
+ { /* 07 */ \
+ UTP_REGT_BITS, SUNI_REGO_CLKREC_LITE, \
+ SUNI_REGN_CLKREC, SUNI_REGX_CLKREC_LITE }, \
+ /* 08-0F unused */ \
+ { /* 10 */ \
+ UTP_REGT_BITS, SUNI_REGO_RSOPCIE, \
+ SUNI_REGN_RSOPCIE, SUNI_REGX_RSOPCIE }, \
+ { /* 11 */ \
+ UTP_REGT_BITS, SUNI_REGO_RSOPSIS, \
+ SUNI_REGN_RSOPSIS, SUNI_REGX_RSOPSIS }, \
+ { /* 12, 13 */ \
+ UTP_REGT_INT16, SUNI_REGO_RSOP_BIP8, \
+ SUNI_REGN_RSOP_BIP8, NULL }, \
+ { /* 14 */ \
+ UTP_REGT_BITS, SUNI_REGO_TSOPCTRL, \
+ SUNI_REGN_TSOPCTRL, SUNI_REGX_TSOPCTRL }, \
+ { /* 15 */ \
+ UTP_REGT_BITS, SUNI_REGO_TSOPDIAG, \
+ SUNI_REGN_TSOPDIAG, SUNI_REGX_TSOPDIAG }, \
+ /* 16-17 unused */ \
+ { /* 18 */ \
+ UTP_REGT_BITS, SUNI_REGO_RLOPCTRL, \
+ SUNI_REGN_RLOPCTRL, SUNI_REGX_RLOPCTRL }, \
+ { /* 19 */ \
+ UTP_REGT_BITS, SUNI_REGO_RLOPINTR, \
+ SUNI_REGN_RLOPINTR, SUNI_REGX_RLOPINTR }, \
+ { /* 1A, 1B, 1C */ \
+ UTP_REGT_INT20, SUNI_REGO_RLOPBIP8_24, \
+ SUNI_REGN_RLOPBIP8_24, NULL }, \
+ { /* 1D, 1E, 1F */ \
+ UTP_REGT_INT20, SUNI_REGO_RLOPFEBE, \
+ SUNI_REGN_RLOPFEBE, NULL }, \
+ { /* 20 */ \
+ UTP_REGT_BITS, SUNI_REGO_TLOPCTRL, \
+ SUNI_REGN_TLOPCTRL, SUNI_REGX_TLOPCTRL }, \
+ { /* 21 */ \
+ UTP_REGT_BITS, SUNI_REGO_TLOPDIAG, \
+ SUNI_REGN_TLOPDIAG, SUNI_REGX_TLOPDIAG }, \
+ /* 22-2F unused */ \
+ { /* 30 */ \
+ UTP_REGT_BITS, SUNI_REGO_RPOPCTRL, \
+ SUNI_REGN_RPOPCTRL, SUNI_REGX_RPOPCTRL }, \
+ { /* 31 */ \
+ UTP_REGT_BITS, SUNI_REGO_RPOPISTAT, \
+ SUNI_REGN_RPOPISTAT, SUNI_REGX_RPOPISTAT }, \
+ /* 32 unused */ \
+ { /* 33 */ \
+ UTP_REGT_BITS, SUNI_REGO_RPOPIEN, \
+ SUNI_REGN_RPOPIEN, SUNI_REGX_RPOPIEN }, \
+ /* 34-36 unused */ \
+ { /* 37 */ \
+ UTP_REGT_INT8, SUNI_REGO_RPOPPSL, \
+ SUNI_REGN_RPOPPSL, NULL }, \
+ { /* 38, 39 */ \
+ UTP_REGT_INT16, SUNI_REGO_RPOPBIP8, \
+ SUNI_REGN_RPOPBIP8, NULL }, \
+ { /* 3A, 3B */ \
+ UTP_REGT_INT16, SUNI_REGO_RPOPFEBE, \
+ SUNI_REGN_RPOPFEBE, NULL }, \
+ /* 3C unused */ \
+ { /* 3D */ \
+ UTP_REGT_BITS, SUNI_REGO_RPOPBIP8CFG, \
+ SUNI_REGN_RPOPBIP8CFG, SUNI_REGX_RPOPBIP8CFG }, \
+ /* 3E-3F unused */ \
+ { /* 40 */ \
+ UTP_REGT_BITS, SUNI_REGO_TPOPCTRL, \
+ SUNI_REGN_TPOPCTRL, SUNI_REGX_TPOPCTRL }, \
+ { /* 41 */ \
+ UTP_REGT_BITS, SUNI_REGO_TPOPPTRC, \
+ SUNI_REGN_TPOPPTRC, SUNI_REGX_TPOPPTRC }, \
+ /* 42-44 unused */ \
+ { /* 45, 46 */ \
+ UTP_REGT_INT10BITS, SUNI_REGO_TPOPAPTR, \
+ SUNI_REGN_TPOPAPTR, SUNI_REGX_TPOPAPTR }, \
+ /* 47 unused */ \
+ { /* 48 */ \
+ UTP_REGT_INT8, SUNI_REGO_TPOPPSL, \
+ SUNI_REGN_TPOPPSL, NULL }, \
+ { /* 49 */ \
+ UTP_REGT_BITS, SUNI_REGO_TPOPSTATUS, \
+ SUNI_REGN_TPOPSTATUS, SUNI_REGX_TPOPSTATUS }, \
+ /* 4A-4F unused */ \
+ { /* 50 */ \
+ UTP_REGT_BITS, SUNI_REGO_RACPCTRL, \
+ SUNI_REGN_RACPCTRL, SUNI_REGX_RACPCTRL }, \
+ { /* 51 */ \
+ UTP_REGT_BITS, SUNI_REGO_RACPINTR, \
+ SUNI_REGN_RACPINTR, SUNI_REGX_RACPINTR }, \
+ { /* 52 */ \
+ UTP_REGT_BITS, SUNI_REGO_RACPPATTERN, \
+ SUNI_REGN_RACPPATTERN, SUNI_REGX_RACPPATTERN }, \
+ { /* 53 */ \
+ UTP_REGT_BITS, SUNI_REGO_RACPMASK, \
+ SUNI_REGN_RACPMASK, SUNI_REGX_RACPMASK }, \
+ { /* 54 */ \
+ UTP_REGT_INT8, SUNI_REGO_RACPCHCS, \
+ SUNI_REGN_RACPCHCS, NULL }, \
+ { /* 55 */ \
+ UTP_REGT_INT8, SUNI_REGO_RACPUHCS, \
+ SUNI_REGN_RACPUHCS, NULL }, \
+ { /* 56, 57, 58 */ \
+ UTP_REGT_INT19, SUNI_REGO_RACPCNT, \
+ SUNI_REGN_RACPCNT, NULL }, \
+ { /* 59 */ \
+ UTP_REGT_BITS, SUNI_REGO_RACPCFG, \
+ SUNI_REGN_RACPCFG, SUNI_REGX_RACPCFG }, \
+ /* 5A-5F unused */ \
+ { /* 60 */ \
+ UTP_REGT_BITS, SUNI_REGO_TACPCTRL, \
+ SUNI_REGN_TACPCTRL, SUNI_REGX_TACPCTRL_LITE }, \
+ { /* 61 */ \
+ UTP_REGT_BITS, SUNI_REGO_TACPIDLEH, \
+ SUNI_REGN_TACPIDLEH, SUNI_REGX_TACPIDLEH }, \
+ { /* 62 */ \
+ UTP_REGT_INT8, SUNI_REGO_TACPIDLEP, \
+ SUNI_REGN_TACPIDLEP, NULL }, \
+ { /* 63 */ \
+ UTP_REGT_BITS, SUNI_REGO_TACPFIFOC, \
+ SUNI_REGN_TACPFIFOC, SUNI_REGX_TACPFIFOC }, \
+ { /* 64, 65, 66 */ \
+ UTP_REGT_INT19, SUNI_REGO_TACPCNT, \
+ SUNI_REGN_TACPCNT, NULL }, \
+ { /* 67 */ \
+ UTP_REGT_BITS, SUNI_REGO_TACPGFC, \
+ SUNI_REGN_TACPGFC, SUNI_REGX_TACPGFC }, \
+ /* 68-7f unused */ \
+ { /* 80 */ \
+ UTP_REGT_BITS, SUNI_REGO_MTEST, \
+ SUNI_REGN_MTEST, SUNI_REGX_MTEST_LITE }
+
+#define SUNI_PRINT_ULTRA \
+ { /* 00 */ \
+ UTP_REGT_BITS, SUNI_REGO_MRESET, \
+ SUNI_REGN_MRESET, SUNI_REGX_MRESET_ULTRA }, \
+ { /* 01 */ \
+ UTP_REGT_BITS, SUNI_REGO_MCONFIG, \
+ SUNI_REGN_MCONFIG, SUNI_REGX_MCONFIG_ULTRA }, \
+ { /* 02 */ \
+ UTP_REGT_BITS, SUNI_REGO_MISTATUS, \
+ SUNI_REGN_MISTATUS, SUNI_REGX_MISTATUS_ULTRA }, \
+ { /* 03 */ \
+ UTP_REGT_BITS, SUNI_REGO_MMCTRL, \
+ SUNI_REGN_MMCTRL, SUNI_REGX_MMCTRL }, \
+ { /* 04 */ \
+ UTP_REGT_BITS, SUNI_REGO_MCLKM, \
+ SUNI_REGN_MCLKM, SUNI_REGX_MCLKM_ULTRA }, \
+ { /* 05 */ \
+ UTP_REGT_BITS, SUNI_REGO_MCTRL, \
+ SUNI_REGN_MCTRL, SUNI_REGX_MCTRL_ULTRA }, \
+ { /* 06 */ \
+ UTP_REGT_BITS, SUNI_REGO_CLKSYN, \
+ SUNI_REGN_CLKSYN, SUNI_REGX_CLKSYN_ULTRA }, \
+ /* 07 unused */ \
+ { /* 08 */ \
+ UTP_REGT_BITS, SUNI_REGO_CLKREC_ULTRA, \
+ SUNI_REGN_CLKREC, SUNI_REGX_CLKREC_ULTRA }, \
+ { /* 09 */ \
+ UTP_REGT_BITS, SUNI_REGO_CLKRECCFG, \
+ SUNI_REGN_CLKRECCFG, SUNI_REGX_CLKRECCFG }, \
+ { /* 0A */ \
+ UTP_REGT_BITS, SUNI_REGO_LTXCFG1, \
+ SUNI_REGN_LTXCFG1, SUNI_REGX_LTXCFG1 }, \
+ { /* 0B */ \
+ UTP_REGT_BITS, SUNI_REGO_LTXCFG2, \
+ SUNI_REGN_LTXCFG2, SUNI_REGX_LTXCFG2 }, \
+ { /* 0C */ \
+ UTP_REGT_BITS, SUNI_REGO_LRXCFG, \
+ SUNI_REGN_LRXCFG, SUNI_REGX_LRXCFG }, \
+ /* 0D-0F unused */ \
+ { /* 10 */ \
+ UTP_REGT_BITS, SUNI_REGO_RSOPCIE, \
+ SUNI_REGN_RSOPCIE, SUNI_REGX_RSOPCIE }, \
+ { /* 11 */ \
+ UTP_REGT_BITS, SUNI_REGO_RSOPSIS, \
+ SUNI_REGN_RSOPSIS, SUNI_REGX_RSOPSIS }, \
+ { /* 12, 13 */ \
+ UTP_REGT_INT16, SUNI_REGO_RSOP_BIP8, \
+ SUNI_REGN_RSOP_BIP8, NULL }, \
+ { /* 14 */ \
+ UTP_REGT_BITS, SUNI_REGO_TSOPCTRL, \
+ SUNI_REGN_TSOPCTRL, SUNI_REGX_TSOPCTRL }, \
+ { /* 15 */ \
+ UTP_REGT_BITS, SUNI_REGO_TSOPDIAG, \
+ SUNI_REGN_TSOPDIAG, SUNI_REGX_TSOPDIAG }, \
+ /* 16-17 unused */ \
+ { /* 18 */ \
+ UTP_REGT_BITS, SUNI_REGO_RLOPCTRL, \
+ SUNI_REGN_RLOPCTRL, SUNI_REGX_RLOPCTRL }, \
+ { /* 19 */ \
+ UTP_REGT_BITS, SUNI_REGO_RLOPINTR, \
+ SUNI_REGN_RLOPINTR, SUNI_REGX_RLOPINTR }, \
+ { /* 1A, 1B, 1C */ \
+ UTP_REGT_INT20, SUNI_REGO_RLOPBIP8_24, \
+ SUNI_REGN_RLOPBIP8_24, NULL }, \
+ { /* 1D, 1E, 1F */ \
+ UTP_REGT_INT20, SUNI_REGO_RLOPFEBE, \
+ SUNI_REGN_RLOPFEBE, NULL }, \
+ { /* 20 */ \
+ UTP_REGT_BITS, SUNI_REGO_TLOPCTRL, \
+ SUNI_REGN_TLOPCTRL, SUNI_REGX_TLOPCTRL }, \
+ { /* 21 */ \
+ UTP_REGT_BITS, SUNI_REGO_TLOPDIAG, \
+ SUNI_REGN_TLOPDIAG, SUNI_REGX_TLOPDIAG }, \
+ /* 22-2F unused */ \
+ { /* 30 */ \
+ UTP_REGT_BITS, SUNI_REGO_RPOPCTRL, \
+ SUNI_REGN_RPOPCTRL, SUNI_REGX_RPOPCTRL }, \
+ { /* 31 */ \
+ UTP_REGT_BITS, SUNI_REGO_RPOPISTAT, \
+ SUNI_REGN_RPOPISTAT, SUNI_REGX_RPOPISTAT }, \
+ /* 32 unused */ \
+ { /* 33 */ \
+ UTP_REGT_BITS, SUNI_REGO_RPOPIEN, \
+ SUNI_REGN_RPOPIEN, SUNI_REGX_RPOPIEN }, \
+ /* 34-36 unused */ \
+ { /* 37 */ \
+ UTP_REGT_INT8, SUNI_REGO_RPOPPSL, \
+ SUNI_REGN_RPOPPSL, NULL }, \
+ { /* 38, 39 */ \
+ UTP_REGT_INT16, SUNI_REGO_RPOPBIP8, \
+ SUNI_REGN_RPOPBIP8, NULL }, \
+ { /* 3A, 3B */ \
+ UTP_REGT_INT16, SUNI_REGO_RPOPFEBE, \
+ SUNI_REGN_RPOPFEBE, NULL }, \
+ /* 3C unused */ \
+ { /* 3D */ \
+ UTP_REGT_BITS, SUNI_REGO_RPOPBIP8CFG, \
+ SUNI_REGN_RPOPBIP8CFG, SUNI_REGX_RPOPBIP8CFG }, \
+ /* 3E-3F unused */ \
+ { /* 40 */ \
+ UTP_REGT_BITS, SUNI_REGO_TPOPCTRL, \
+ SUNI_REGN_TPOPCTRL, SUNI_REGX_TPOPCTRL }, \
+ { /* 41 */ \
+ UTP_REGT_BITS, SUNI_REGO_TPOPPTRC, \
+ SUNI_REGN_TPOPPTRC, SUNI_REGX_TPOPPTRC }, \
+ /* 42-44 unused */ \
+ { /* 45, 46 */ \
+ UTP_REGT_INT10BITS, SUNI_REGO_TPOPAPTR, \
+ SUNI_REGN_TPOPAPTR, SUNI_REGX_TPOPAPTR }, \
+ /* 47 unused */ \
+ { /* 48 */ \
+ UTP_REGT_INT8, SUNI_REGO_TPOPPSL, \
+ SUNI_REGN_TPOPPSL, NULL }, \
+ { /* 49 */ \
+ UTP_REGT_BITS, SUNI_REGO_TPOPSTATUS, \
+ SUNI_REGN_TPOPSTATUS, SUNI_REGX_TPOPSTATUS }, \
+ /* 4A-4F unused */ \
+ { /* 50 */ \
+ UTP_REGT_BITS, SUNI_REGO_RACPCTRL, \
+ SUNI_REGN_RACPCTRL, SUNI_REGX_RACPCTRL }, \
+ { /* 51 */ \
+ UTP_REGT_BITS, SUNI_REGO_RACPINTR, \
+ SUNI_REGN_RACPINTR, SUNI_REGX_RACPINTR }, \
+ { /* 52 */ \
+ UTP_REGT_BITS, SUNI_REGO_RACPPATTERN, \
+ SUNI_REGN_RACPPATTERN, SUNI_REGX_RACPPATTERN }, \
+ { /* 53 */ \
+ UTP_REGT_BITS, SUNI_REGO_RACPMASK, \
+ SUNI_REGN_RACPMASK, SUNI_REGX_RACPMASK }, \
+ { /* 54 */ \
+ UTP_REGT_INT8, SUNI_REGO_RACPCHCS, \
+ SUNI_REGN_RACPCHCS, NULL }, \
+ { /* 55 */ \
+ UTP_REGT_INT8, SUNI_REGO_RACPUHCS, \
+ SUNI_REGN_RACPUHCS, NULL }, \
+ { /* 56, 57, 58 */ \
+ UTP_REGT_INT19, SUNI_REGO_RACPCNT, \
+ SUNI_REGN_RACPCNT, NULL }, \
+ { /* 59 */ \
+ UTP_REGT_BITS, SUNI_REGO_RACPCFG, \
+ SUNI_REGN_RACPCFG, SUNI_REGX_RACPCFG }, \
+ /* 5A-5F unused */ \
+ { /* 60 */ \
+ UTP_REGT_BITS, SUNI_REGO_TACPCTRL, \
+ SUNI_REGN_TACPCTRL, SUNI_REGX_TACPCTRL_ULTRA }, \
+ { /* 61 */ \
+ UTP_REGT_BITS, SUNI_REGO_TACPIDLEH, \
+ SUNI_REGN_TACPIDLEH, SUNI_REGX_TACPIDLEH }, \
+ { /* 62 */ \
+ UTP_REGT_INT8, SUNI_REGO_TACPIDLEP, \
+ SUNI_REGN_TACPIDLEP, NULL }, \
+ { /* 63 */ \
+ UTP_REGT_BITS, SUNI_REGO_TACPFIFOC, \
+ SUNI_REGN_TACPFIFOC, SUNI_REGX_TACPFIFOC }, \
+ { /* 64, 65, 66 */ \
+ UTP_REGT_INT19, SUNI_REGO_TACPCNT, \
+ SUNI_REGN_TACPCNT, NULL }, \
+ { /* 67 */ \
+ UTP_REGT_BITS, SUNI_REGO_TACPGFC, \
+ SUNI_REGN_TACPGFC, SUNI_REGX_TACPGFC }, \
+ { /* 68 */ \
+ UTP_REGT_BITS, SUNI_REGO_POPCCTRL, \
+ SUNI_REGN_POPCCTRL, SUNI_REGX_POPCCTRL }, \
+ { /* 69 */ \
+ UTP_REGT_INT8, SUNI_REGO_POPCSTROBE0, \
+ SUNI_REGN_POPCSTROBE0, NULL }, \
+ { /* 6A */ \
+ UTP_REGT_INT8, SUNI_REGO_POPCSTROBE1, \
+ SUNI_REGN_POPCSTROBE1, NULL }, \
+ /* 6B-7f unused */ \
+ { /* 80 */ \
+ UTP_REGT_BITS, SUNI_REGO_MTEST, \
+ SUNI_REGN_MTEST, SUNI_REGX_MTEST_ULTRA }
+
+#define SUNI_PRINT_622 \
+ { /* 00 */ \
+ UTP_REGT_BITS, SUNI_REGO_MRESET, \
+ SUNI_REGN_MRESET, SUNI_REGX_MRESET_622 }, \
+ { /* 01 */ \
+ UTP_REGT_BITS, SUNI_REGO_MCONFIG, \
+ SUNI_REGN_MCONFIG, SUNI_REGX_MCONFIG_622 }, \
+ { /* 02 */ \
+ UTP_REGT_BITS, SUNI_REGO_MISTATUS, \
+ SUNI_REGN_MISTATUS, SUNI_REGX_MISTATUS_622 }, \
+ { /* 03 */ \
+ UTP_REGT_BITS, SUNI_REGO_PISO, \
+ SUNI_REGN_PISO, SUNI_REGX_PISO }, \
+ { /* 04 */ \
+ UTP_REGT_BITS, SUNI_REGO_MCTRLM, \
+ SUNI_REGN_MCTRLM, SUNI_REGX_MCTRLM }, \
+ { /* 05 */ \
+ UTP_REGT_BITS, SUNI_REGO_MALARM, \
+ SUNI_REGN_MALARM, SUNI_REGX_MALARM }, \
+ { /* 06 */ \
+ UTP_REGT_BITS, SUNI_REGO_POUT, \
+ SUNI_REGN_POUT, SUNI_REGX_POUT }, \
+ { /* 07 */ \
+ UTP_REGT_INT8, SUNI_REGO_PIN, \
+ SUNI_REGN_PIN, NULL }, \
+ { /* 08 */ \
+ UTP_REGT_BITS, SUNI_REGO_PINV, \
+ SUNI_REGN_PINV, SUNI_REGX_PINV }, \
+ { /* 09 */ \
+ UTP_REGT_INT8, SUNI_REGO_PINE, \
+ SUNI_REGN_PINE, NULL }, \
+ { /* 0A */ \
+ UTP_REGT_INT8, SUNI_REGO_XC1, \
+ SUNI_REGN_XC1, NULL }, \
+ { /* 0B */ \
+ UTP_REGT_BITS, SUNI_REGO_APSCS, \
+ SUNI_REGN_APSCS, SUNI_REGX_APSCS }, \
+ { /* 0C */ \
+ UTP_REGT_INT8, SUNI_REGO_RK1, \
+ SUNI_REGN_RK1, NULL }, \
+ { /* 0D */ \
+ UTP_REGT_INT8, SUNI_REGO_RK2, \
+ SUNI_REGN_RK2, NULL }, \
+ { /* 0E */ \
+ UTP_REGT_INT8, SUNI_REGO_RZ1, \
+ SUNI_REGN_RZ1, NULL }, \
+ { /* 0F */ \
+ UTP_REGT_INT8, SUNI_REGO_XZ1, \
+ SUNI_REGN_XZ1, NULL }, \
+ { /* 10 */ \
+ UTP_REGT_BITS, SUNI_REGO_RSOPCIE, \
+ SUNI_REGN_RSOPCIE, SUNI_REGX_RSOPCIE_622 }, \
+ { /* 11 */ \
+ UTP_REGT_BITS, SUNI_REGO_RSOPSIS, \
+ SUNI_REGN_RSOPSIS, SUNI_REGX_RSOPSIS }, \
+ { /* 12, 13 */ \
+ UTP_REGT_INT16, SUNI_REGO_RSOP_BIP8, \
+ SUNI_REGN_RSOP_BIP8, NULL }, \
+ { /* 14 */ \
+ UTP_REGT_BITS, SUNI_REGO_TSOPCTRL, \
+ SUNI_REGN_TSOPCTRL, SUNI_REGX_TSOPCTRL }, \
+ { /* 15 */ \
+ UTP_REGT_BITS, SUNI_REGO_TSOPDIAG, \
+ SUNI_REGN_TSOPDIAG, SUNI_REGX_TSOPDIAG }, \
+ /* 16-17 unused */ \
+ { /* 18 */ \
+ UTP_REGT_BITS, SUNI_REGO_RLOPCTRL, \
+ SUNI_REGN_RLOPCTRL, SUNI_REGX_RLOPCTRL_622 }, \
+ { /* 19 */ \
+ UTP_REGT_BITS, SUNI_REGO_RLOPINTR, \
+ SUNI_REGN_RLOPINTR, SUNI_REGX_RLOPINTR }, \
+ { /* 1A, 1B, 1C */ \
+ UTP_REGT_INT20, SUNI_REGO_RLOPBIP8_24_96, \
+ SUNI_REGN_RLOPBIP8_24_96, NULL }, \
+ { /* 1D, 1E, 1F */ \
+ UTP_REGT_INT20, SUNI_REGO_RLOPFEBE, \
+ SUNI_REGN_RLOPFEBE, NULL }, \
+ { /* 20 */ \
+ UTP_REGT_BITS, SUNI_REGO_TLOPCTRL, \
+ SUNI_REGN_TLOPCTRL, SUNI_REGX_TLOPCTRL_622 }, \
+ { /* 21 */ \
+ UTP_REGT_BITS, SUNI_REGO_TLOPDIAG, \
+ SUNI_REGN_TLOPDIAG, SUNI_REGX_TLOPDIAG }, \
+ { /* 22 */ \
+ UTP_REGT_INT8, SUNI_REGO_TLOP_XK1, \
+ SUNI_REGN_TLOP_XK1, NULL }, \
+ { /* 23 */ \
+ UTP_REGT_INT8, SUNI_REGO_TLOP_XK2, \
+ SUNI_REGN_TLOP_XK2, NULL }, \
+ /* 24-27 unused */ \
+ { /* 28 */ \
+ UTP_REGT_BITS, SUNI_REGO_SSTBCTRL, \
+ SUNI_REGN_SSTBCTRL, SUNI_REGX_SSTBCTRL }, \
+ { /* 29 */ \
+ UTP_REGT_BITS, SUNI_REGO_SSTBSTIS, \
+ SUNI_REGN_SSTBSTIS, SUNI_REGX_SSTBSTIS }, \
+ { /* 2A */ \
+ UTP_REGT_BITS, SUNI_REGO_SSTBIAR, \
+ SUNI_REGN_SSTBIAR, SUNI_REGX_SSTBIAR }, \
+ { /* 2B */ \
+ UTP_REGT_INT8, SUNI_REGO_SSTBIDR, \
+ SUNI_REGN_SSTBIDR, NULL }, \
+ /* 2C unused (see chip errata) */ \
+ { /* 2D */ \
+ UTP_REGT_BITS, SUNI_REGO_SSTBCSMS, \
+ SUNI_REGN_SSTBCSMS, SUNI_REGX_SSTBCSMS }, \
+ /* 2E-2F unused */ \
+ { /* 30 */ \
+ UTP_REGT_BITS, SUNI_REGO_RPOPCTRL, \
+ SUNI_REGN_RPOPCTRL, SUNI_REGX_RPOPCTRL_622 }, \
+ { /* 31 */ \
+ UTP_REGT_BITS, SUNI_REGO_RPOPISTAT, \
+ SUNI_REGN_RPOPISTAT, SUNI_REGX_RPOPISTAT }, \
+ { /* 32 */ \
+ UTP_REGT_BITS, SUNI_REGO_RPOPPIS, \
+ SUNI_REGN_RPOPPIS, SUNI_REGX_RPOPPIS }, \
+ { /* 33 */ \
+ UTP_REGT_BITS, SUNI_REGO_RPOPIEN, \
+ SUNI_REGN_RPOPIEN, SUNI_REGX_RPOPIEN }, \
+ { /* 34 */ \
+ UTP_REGT_BITS, SUNI_REGO_RPOPPIE, \
+ SUNI_REGN_RPOPPIE, SUNI_REGX_RPOPPIE }, \
+ { /* 35, 36 */ \
+ UTP_REGT_INT10BITS, SUNI_REGO_RPOPPTR, \
+ SUNI_REGN_RPOPPTR, SUNI_REGX_RPOPPTR }, \
+ { /* 37 */ \
+ UTP_REGT_INT8, SUNI_REGO_RPOPPSL, \
+ SUNI_REGN_RPOPPSL, NULL }, \
+ { /* 38, 39 */ \
+ UTP_REGT_INT16, SUNI_REGO_RPOPBIP8, \
+ SUNI_REGN_RPOPBIP8, NULL }, \
+ { /* 3A, 3B */ \
+ UTP_REGT_INT16, SUNI_REGO_RPOPFEBE, \
+ SUNI_REGN_RPOPFEBE, NULL }, \
+ { /* 3C */ \
+ UTP_REGT_BITS, SUNI_REGO_RPOPRDI, \
+ SUNI_REGN_RPOPRDI, SUNI_REGX_RPOPRDI }, \
+ { /* 3D */ \
+ UTP_REGT_BITS, SUNI_REGO_RPOPRING, \
+ SUNI_REGN_RPOPRING, SUNI_REGX_RPOPRING }, \
+ /* 3E-3F unused */ \
+ { /* 40 */ \
+ UTP_REGT_BITS, SUNI_REGO_TPOPCTRL, \
+ SUNI_REGN_TPOPCTRL, SUNI_REGX_TPOPCTRL_622 }, \
+ { /* 41 */ \
+ UTP_REGT_BITS, SUNI_REGO_TPOPPTRC, \
+ SUNI_REGN_TPOPPTRC, SUNI_REGX_TPOPPTRC }, \
+ /* 42 unused */ \
+ { /* 43, 44 */ \
+ UTP_REGT_INT10BITS, SUNI_REGO_TPOPCP, \
+ SUNI_REGN_TPOPCP, SUNI_REGX_TPOPCP }, \
+ { /* 45, 46 */ \
+ UTP_REGT_INT10BITS, SUNI_REGO_TPOPAPTR, \
+ SUNI_REGN_TPOPAPTR, SUNI_REGX_TPOPAPTR }, \
+ { /* 47 */ \
+ UTP_REGT_INT8, SUNI_REGO_TPOPPT, \
+ SUNI_REGN_TPOPPT, NULL }, \
+ { /* 48 */ \
+ UTP_REGT_INT8, SUNI_REGO_TPOPPSL, \
+ SUNI_REGN_TPOPPSL, NULL }, \
+ { /* 49 */ \
+ UTP_REGT_BITS, SUNI_REGO_TPOPSTATUS, \
+ SUNI_REGN_TPOPSTATUS, SUNI_REGX_TPOPSTATUS }, \
+ { /* 4A */ \
+ UTP_REGT_INT8, SUNI_REGO_TPOPPUC, \
+ SUNI_REGN_TPOPPUC, NULL }, \
+ { /* 4B */ \
+ UTP_REGT_INT8, SUNI_REGO_TPOPPG1, \
+ SUNI_REGN_TPOPPG1, NULL }, \
+ { /* 4C */ \
+ UTP_REGT_INT8, SUNI_REGO_TPOPPG2, \
+ SUNI_REGN_TPOPPG2, NULL }, \
+ { /* 4D */ \
+ UTP_REGT_INT8, SUNI_REGO_TPOPPG3, \
+ SUNI_REGN_TPOPPG3, NULL }, \
+ /* 4E-4F unused */ \
+ { /* 50 */ \
+ UTP_REGT_BITS, SUNI_REGO_RACPCTRL, \
+ SUNI_REGN_RACPCTRL, SUNI_REGX_RACPCTRL_622 }, \
+ { /* 51 */ \
+ UTP_REGT_BITS, SUNI_REGO_RACPIS, \
+ SUNI_REGN_RACPIS, SUNI_REGX_RACPIS }, \
+ { /* 52 */ \
+ UTP_REGT_BITS, SUNI_REGO_RACPIEC, \
+ SUNI_REGN_RACPIEC, SUNI_REGX_RACPIEC }, \
+ { /* 53 */ \
+ UTP_REGT_BITS, SUNI_REGO_RACPPATTERN_622, \
+ SUNI_REGN_RACPPATTERN, SUNI_REGX_RACPPATTERN }, \
+ { /* 54 */ \
+ UTP_REGT_BITS, SUNI_REGO_RACPMASK_622, \
+ SUNI_REGN_RACPMASK, SUNI_REGX_RACPMASK }, \
+ { /* 55, 56 */ \
+ UTP_REGT_INT12, SUNI_REGO_RACPCHCS_622, \
+ SUNI_REGN_RACPCHCS, NULL }, \
+ { /* 57, 58 */ \
+ UTP_REGT_INT12, SUNI_REGO_RACPUHCS_622, \
+ SUNI_REGN_RACPUHCS, NULL }, \
+ { /* 59, 5A, 5B */ \
+ UTP_REGT_INT21, SUNI_REGO_RACPCNT_622, \
+ SUNI_REGN_RACPCNT, NULL }, \
+ { /* 5C */ \
+ UTP_REGT_BITS, SUNI_REGO_RACPGFC, \
+ SUNI_REGN_RACPGFC, SUNI_REGX_RACPGFC }, \
+ /* 5D-5F unused */ \
+ { /* 60 */ \
+ UTP_REGT_BITS, SUNI_REGO_TACPCTRL, \
+ SUNI_REGN_TACPCTRL, SUNI_REGX_TACPCTRL_622 }, \
+ { /* 61 */ \
+ UTP_REGT_BITS, SUNI_REGO_TACPIDLEH, \
+ SUNI_REGN_TACPIDLEH, SUNI_REGX_TACPIDLEH }, \
+ { /* 62 */ \
+ UTP_REGT_INT8, SUNI_REGO_TACPIDLEP, \
+ SUNI_REGN_TACPIDLEP, NULL }, \
+ { /* 63 */ \
+ UTP_REGT_BITS, SUNI_REGO_TACPFIFOC, \
+ SUNI_REGN_TACPFIFOC, SUNI_REGX_TACPFIFOC_622 }, \
+ { /* 64, 65, 66 */ \
+ UTP_REGT_INT21, SUNI_REGO_TACPCNT, \
+ SUNI_REGN_TACPCNT, NULL }, \
+ { /* 67 */ \
+ UTP_REGT_BITS, SUNI_REGO_TACPGFC, \
+ SUNI_REGN_TACPGFC, SUNI_REGX_TACPGFC }, \
+ { /* 68 */ \
+ UTP_REGT_BITS, SUNI_REGO_SPTBCTRL, \
+ SUNI_REGN_SPTBCTRL, SUNI_REGX_SPTBCTRL }, \
+ { /* 69 */ \
+ UTP_REGT_BITS, SUNI_REGO_SPTBPTIS, \
+ SUNI_REGN_SPTBPTIS, SUNI_REGX_SPTBPTIS }, \
+ { /* 6A */ \
+ UTP_REGT_BITS, SUNI_REGO_SPTBIAR, \
+ SUNI_REGN_SPTBIAR, SUNI_REGX_SPTBIAR }, \
+ { /* 6B */ \
+ UTP_REGT_INT8, SUNI_REGO_SPTBIDR, \
+ SUNI_REGN_SPTBIDR, NULL }, \
+ { /* 6C */ \
+ UTP_REGT_INT8, SUNI_REGO_SPTBEPSL, \
+ SUNI_REGN_SPTBEPSL, NULL }, \
+ { /* 6D */ \
+ UTP_REGT_BITS, SUNI_REGO_SPTBPSLS, \
+ SUNI_REGN_SPTBPSLS, SUNI_REGX_SPTBPSLS }, \
+ /* 6E-6F unused */ \
+ { /* 70 */ \
+ UTP_REGT_BITS, SUNI_REGO_BERMCTRL, \
+ SUNI_REGN_BERMCTRL, SUNI_REGX_BERMCTRL }, \
+ { /* 71 */ \
+ UTP_REGT_BITS, SUNI_REGO_BERMINT, \
+ SUNI_REGN_BERMINT, SUNI_REGX_BERMINT }, \
+ { /* 72, 73 */ \
+ UTP_REGT_INT16, SUNI_REGO_BERMLAP, \
+ SUNI_REGN_BERMLAP, NULL }, \
+ { /* 74, 75 */ \
+ UTP_REGT_INT16, SUNI_REGO_BERMLT, \
+ SUNI_REGN_BERMLT, NULL }, \
+ /* 76-7f unused */ \
+ { /* 80 */ \
+ UTP_REGT_BITS, SUNI_REGO_MTEST, \
+ SUNI_REGN_MTEST, SUNI_REGX_MTEST_622 }
+
+#endif /* _DEV_UTOPIA_SUNI_H */
OpenPOWER on IntegriCloud