/***************************************************************************
 *     Copyright (c) 1999-2010, Broadcom Corporation
 *
 * 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.
 *
 * 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.
 *
 * Module Description:
 *                     DO NOT EDIT THIS FILE DIRECTLY
 *
 * This module was generated magically with RDB from a source description
 * file. You must edit the source file for changes to be made to this file.
 *
 *
 * Date:           Generated on         Fri May  7 20:14:14 2010
 *                 MD5 Checksum         9170aeef162fecc7d1a70fbd8134c303
 *
 * Compiled with:  RDB Utility          combo_header.pl
 *                 RDB Parser           3.0
 *                 unknown              unknown
 *                 Perl Interpreter     5.008008
 *                 Operating System     linux
 *
 * Revision History:
 *
 * $brcm_Log: /magnum/basemodules/chp/7468/rdb/b0/bchp_pm_l2.h $
 * 
 * Hydra_Software_Devel/1   5/7/10 11:18p albertl
 * SW7468-226: Initial revision.
 *
 ***************************************************************************/

#ifndef BCHP_PM_L2_H__
#define BCHP_PM_L2_H__

/***************************************************************************
 *PM_L2 - Registers for the power management block's L2 interrupt controller
 ***************************************************************************/
#define BCHP_PM_L2_CPU_STATUS                    0x00301c00 /* CPU interrupt Status Register */
#define BCHP_PM_L2_CPU_SET                       0x00301c04 /* CPU interrupt Set Register */
#define BCHP_PM_L2_CPU_CLEAR                     0x00301c08 /* CPU interrupt Clear Register */
#define BCHP_PM_L2_CPU_MASK_STATUS               0x00301c0c /* CPU interrupt Mask Status Register */
#define BCHP_PM_L2_CPU_MASK_SET                  0x00301c10 /* CPU interrupt Mask Set Register */
#define BCHP_PM_L2_CPU_MASK_CLEAR                0x00301c14 /* CPU interrupt Mask Clear Register */
#define BCHP_PM_L2_PCI_STATUS                    0x00301c18 /* PCI interrupt Status Register */
#define BCHP_PM_L2_PCI_SET                       0x00301c1c /* PCI interrupt Set Register */
#define BCHP_PM_L2_PCI_CLEAR                     0x00301c20 /* PCI interrupt Clear Register */
#define BCHP_PM_L2_PCI_MASK_STATUS               0x00301c24 /* PCI interrupt Mask Status Register */
#define BCHP_PM_L2_PCI_MASK_SET                  0x00301c28 /* PCI interrupt Mask Set Register */
#define BCHP_PM_L2_PCI_MASK_CLEAR                0x00301c2c /* PCI interrupt Mask Clear Register */

/***************************************************************************
 *CPU_STATUS - CPU interrupt Status Register
 ***************************************************************************/
/* PM_L2 :: CPU_STATUS :: reserved0 [31:09] */
#define BCHP_PM_L2_CPU_STATUS_reserved0_MASK                       0xfffffe00
#define BCHP_PM_L2_CPU_STATUS_reserved0_SHIFT                      9

/* PM_L2 :: CPU_STATUS :: SPARE_WAKEUP_EVENT_0 [08:08] */
#define BCHP_PM_L2_CPU_STATUS_SPARE_WAKEUP_EVENT_0_MASK            0x00000100
#define BCHP_PM_L2_CPU_STATUS_SPARE_WAKEUP_EVENT_0_SHIFT           8

/* PM_L2 :: CPU_STATUS :: XPT_PMU [07:07] */
#define BCHP_PM_L2_CPU_STATUS_XPT_PMU_MASK                         0x00000080
#define BCHP_PM_L2_CPU_STATUS_XPT_PMU_SHIFT                        7

/* PM_L2 :: CPU_STATUS :: WOL_ENET [06:06] */
#define BCHP_PM_L2_CPU_STATUS_WOL_ENET_MASK                        0x00000040
#define BCHP_PM_L2_CPU_STATUS_WOL_ENET_SHIFT                       6

/* PM_L2 :: CPU_STATUS :: GPIO [05:05] */
#define BCHP_PM_L2_CPU_STATUS_GPIO_MASK                            0x00000020
#define BCHP_PM_L2_CPU_STATUS_GPIO_SHIFT                           5

/* PM_L2 :: CPU_STATUS :: NMI_B_INTR [04:04] */
#define BCHP_PM_L2_CPU_STATUS_NMI_B_INTR_MASK                      0x00000010
#define BCHP_PM_L2_CPU_STATUS_NMI_B_INTR_SHIFT                     4

/* PM_L2 :: CPU_STATUS :: TIMER_INTR [03:03] */
#define BCHP_PM_L2_CPU_STATUS_TIMER_INTR_MASK                      0x00000008
#define BCHP_PM_L2_CPU_STATUS_TIMER_INTR_SHIFT                     3

/* PM_L2 :: CPU_STATUS :: KPD_INTR [02:02] */
#define BCHP_PM_L2_CPU_STATUS_KPD_INTR_MASK                        0x00000004
#define BCHP_PM_L2_CPU_STATUS_KPD_INTR_SHIFT                       2

/* PM_L2 :: CPU_STATUS :: IRR_INTR [01:01] */
#define BCHP_PM_L2_CPU_STATUS_IRR_INTR_MASK                        0x00000002
#define BCHP_PM_L2_CPU_STATUS_IRR_INTR_SHIFT                       1

/* PM_L2 :: CPU_STATUS :: CEC_INTR [00:00] */
#define BCHP_PM_L2_CPU_STATUS_CEC_INTR_MASK                        0x00000001
#define BCHP_PM_L2_CPU_STATUS_CEC_INTR_SHIFT                       0

/***************************************************************************
 *CPU_SET - CPU interrupt Set Register
 ***************************************************************************/
/* PM_L2 :: CPU_SET :: reserved0 [31:09] */
#define BCHP_PM_L2_CPU_SET_reserved0_MASK                          0xfffffe00
#define BCHP_PM_L2_CPU_SET_reserved0_SHIFT                         9

/* PM_L2 :: CPU_SET :: SPARE_WAKEUP_EVENT_0 [08:08] */
#define BCHP_PM_L2_CPU_SET_SPARE_WAKEUP_EVENT_0_MASK               0x00000100
#define BCHP_PM_L2_CPU_SET_SPARE_WAKEUP_EVENT_0_SHIFT              8

/* PM_L2 :: CPU_SET :: XPT_PMU [07:07] */
#define BCHP_PM_L2_CPU_SET_XPT_PMU_MASK                            0x00000080
#define BCHP_PM_L2_CPU_SET_XPT_PMU_SHIFT                           7

/* PM_L2 :: CPU_SET :: WOL_ENET [06:06] */
#define BCHP_PM_L2_CPU_SET_WOL_ENET_MASK                           0x00000040
#define BCHP_PM_L2_CPU_SET_WOL_ENET_SHIFT                          6

/* PM_L2 :: CPU_SET :: GPIO [05:05] */
#define BCHP_PM_L2_CPU_SET_GPIO_MASK                               0x00000020
#define BCHP_PM_L2_CPU_SET_GPIO_SHIFT                              5

/* PM_L2 :: CPU_SET :: NMI_B_INTR [04:04] */
#define BCHP_PM_L2_CPU_SET_NMI_B_INTR_MASK                         0x00000010
#define BCHP_PM_L2_CPU_SET_NMI_B_INTR_SHIFT                        4

/* PM_L2 :: CPU_SET :: TIMER_INTR [03:03] */
#define BCHP_PM_L2_CPU_SET_TIMER_INTR_MASK                         0x00000008
#define BCHP_PM_L2_CPU_SET_TIMER_INTR_SHIFT                        3

/* PM_L2 :: CPU_SET :: KPD_INTR [02:02] */
#define BCHP_PM_L2_CPU_SET_KPD_INTR_MASK                           0x00000004
#define BCHP_PM_L2_CPU_SET_KPD_INTR_SHIFT                          2

/* PM_L2 :: CPU_SET :: IRR_INTR [01:01] */
#define BCHP_PM_L2_CPU_SET_IRR_INTR_MASK                           0x00000002
#define BCHP_PM_L2_CPU_SET_IRR_INTR_SHIFT                          1

/* PM_L2 :: CPU_SET :: CEC_INTR [00:00] */
#define BCHP_PM_L2_CPU_SET_CEC_INTR_MASK                           0x00000001
#define BCHP_PM_L2_CPU_SET_CEC_INTR_SHIFT                          0

/***************************************************************************
 *CPU_CLEAR - CPU interrupt Clear Register
 ***************************************************************************/
/* PM_L2 :: CPU_CLEAR :: reserved0 [31:09] */
#define BCHP_PM_L2_CPU_CLEAR_reserved0_MASK                        0xfffffe00
#define BCHP_PM_L2_CPU_CLEAR_reserved0_SHIFT                       9

/* PM_L2 :: CPU_CLEAR :: SPARE_WAKEUP_EVENT_0 [08:08] */
#define BCHP_PM_L2_CPU_CLEAR_SPARE_WAKEUP_EVENT_0_MASK             0x00000100
#define BCHP_PM_L2_CPU_CLEAR_SPARE_WAKEUP_EVENT_0_SHIFT            8

/* PM_L2 :: CPU_CLEAR :: XPT_PMU [07:07] */
#define BCHP_PM_L2_CPU_CLEAR_XPT_PMU_MASK                          0x00000080
#define BCHP_PM_L2_CPU_CLEAR_XPT_PMU_SHIFT                         7

/* PM_L2 :: CPU_CLEAR :: WOL_ENET [06:06] */
#define BCHP_PM_L2_CPU_CLEAR_WOL_ENET_MASK                         0x00000040
#define BCHP_PM_L2_CPU_CLEAR_WOL_ENET_SHIFT                        6

/* PM_L2 :: CPU_CLEAR :: GPIO [05:05] */
#define BCHP_PM_L2_CPU_CLEAR_GPIO_MASK                             0x00000020
#define BCHP_PM_L2_CPU_CLEAR_GPIO_SHIFT                            5

/* PM_L2 :: CPU_CLEAR :: NMI_B_INTR [04:04] */
#define BCHP_PM_L2_CPU_CLEAR_NMI_B_INTR_MASK                       0x00000010
#define BCHP_PM_L2_CPU_CLEAR_NMI_B_INTR_SHIFT                      4

/* PM_L2 :: CPU_CLEAR :: TIMER_INTR [03:03] */
#define BCHP_PM_L2_CPU_CLEAR_TIMER_INTR_MASK                       0x00000008
#define BCHP_PM_L2_CPU_CLEAR_TIMER_INTR_SHIFT                      3

/* PM_L2 :: CPU_CLEAR :: KPD_INTR [02:02] */
#define BCHP_PM_L2_CPU_CLEAR_KPD_INTR_MASK                         0x00000004
#define BCHP_PM_L2_CPU_CLEAR_KPD_INTR_SHIFT                        2

/* PM_L2 :: CPU_CLEAR :: IRR_INTR [01:01] */
#define BCHP_PM_L2_CPU_CLEAR_IRR_INTR_MASK                         0x00000002
#define BCHP_PM_L2_CPU_CLEAR_IRR_INTR_SHIFT                        1

/* PM_L2 :: CPU_CLEAR :: CEC_INTR [00:00] */
#define BCHP_PM_L2_CPU_CLEAR_CEC_INTR_MASK                         0x00000001
#define BCHP_PM_L2_CPU_CLEAR_CEC_INTR_SHIFT                        0

/***************************************************************************
 *CPU_MASK_STATUS - CPU interrupt Mask Status Register
 ***************************************************************************/
/* PM_L2 :: CPU_MASK_STATUS :: reserved0 [31:09] */
#define BCHP_PM_L2_CPU_MASK_STATUS_reserved0_MASK                  0xfffffe00
#define BCHP_PM_L2_CPU_MASK_STATUS_reserved0_SHIFT                 9

/* PM_L2 :: CPU_MASK_STATUS :: SPARE_WAKEUP_EVENT_0 [08:08] */
#define BCHP_PM_L2_CPU_MASK_STATUS_SPARE_WAKEUP_EVENT_0_MASK       0x00000100
#define BCHP_PM_L2_CPU_MASK_STATUS_SPARE_WAKEUP_EVENT_0_SHIFT      8

/* PM_L2 :: CPU_MASK_STATUS :: XPT_PMU [07:07] */
#define BCHP_PM_L2_CPU_MASK_STATUS_XPT_PMU_MASK                    0x00000080
#define BCHP_PM_L2_CPU_MASK_STATUS_XPT_PMU_SHIFT                   7

/* PM_L2 :: CPU_MASK_STATUS :: WOL_ENET [06:06] */
#define BCHP_PM_L2_CPU_MASK_STATUS_WOL_ENET_MASK                   0x00000040
#define BCHP_PM_L2_CPU_MASK_STATUS_WOL_ENET_SHIFT                  6

/* PM_L2 :: CPU_MASK_STATUS :: GPIO [05:05] */
#define BCHP_PM_L2_CPU_MASK_STATUS_GPIO_MASK                       0x00000020
#define BCHP_PM_L2_CPU_MASK_STATUS_GPIO_SHIFT                      5

/* PM_L2 :: CPU_MASK_STATUS :: NMI_B_INTR [04:04] */
#define BCHP_PM_L2_CPU_MASK_STATUS_NMI_B_INTR_MASK                 0x00000010
#define BCHP_PM_L2_CPU_MASK_STATUS_NMI_B_INTR_SHIFT                4

/* PM_L2 :: CPU_MASK_STATUS :: TIMER_INTR [03:03] */
#define BCHP_PM_L2_CPU_MASK_STATUS_TIMER_INTR_MASK                 0x00000008
#define BCHP_PM_L2_CPU_MASK_STATUS_TIMER_INTR_SHIFT                3

/* PM_L2 :: CPU_MASK_STATUS :: KPD_INTR [02:02] */
#define BCHP_PM_L2_CPU_MASK_STATUS_KPD_INTR_MASK                   0x00000004
#define BCHP_PM_L2_CPU_MASK_STATUS_KPD_INTR_SHIFT                  2

/* PM_L2 :: CPU_MASK_STATUS :: IRR_INTR [01:01] */
#define BCHP_PM_L2_CPU_MASK_STATUS_IRR_INTR_MASK                   0x00000002
#define BCHP_PM_L2_CPU_MASK_STATUS_IRR_INTR_SHIFT                  1

/* PM_L2 :: CPU_MASK_STATUS :: CEC_INTR [00:00] */
#define BCHP_PM_L2_CPU_MASK_STATUS_CEC_INTR_MASK                   0x00000001
#define BCHP_PM_L2_CPU_MASK_STATUS_CEC_INTR_SHIFT                  0

/***************************************************************************
 *CPU_MASK_SET - CPU interrupt Mask Set Register
 ***************************************************************************/
/* PM_L2 :: CPU_MASK_SET :: reserved0 [31:09] */
#define BCHP_PM_L2_CPU_MASK_SET_reserved0_MASK                     0xfffffe00
#define BCHP_PM_L2_CPU_MASK_SET_reserved0_SHIFT                    9

/* PM_L2 :: CPU_MASK_SET :: SPARE_WAKEUP_EVENT_0 [08:08] */
#define BCHP_PM_L2_CPU_MASK_SET_SPARE_WAKEUP_EVENT_0_MASK          0x00000100
#define BCHP_PM_L2_CPU_MASK_SET_SPARE_WAKEUP_EVENT_0_SHIFT         8

/* PM_L2 :: CPU_MASK_SET :: XPT_PMU [07:07] */
#define BCHP_PM_L2_CPU_MASK_SET_XPT_PMU_MASK                       0x00000080
#define BCHP_PM_L2_CPU_MASK_SET_XPT_PMU_SHIFT                      7

/* PM_L2 :: CPU_MASK_SET :: WOL_ENET [06:06] */
#define BCHP_PM_L2_CPU_MASK_SET_WOL_ENET_MASK                      0x00000040
#define BCHP_PM_L2_CPU_MASK_SET_WOL_ENET_SHIFT                     6

/* PM_L2 :: CPU_MASK_SET :: GPIO [05:05] */
#define BCHP_PM_L2_CPU_MASK_SET_GPIO_MASK                          0x00000020
#define BCHP_PM_L2_CPU_MASK_SET_GPIO_SHIFT                         5

/* PM_L2 :: CPU_MASK_SET :: NMI_B_INTR [04:04] */
#define BCHP_PM_L2_CPU_MASK_SET_NMI_B_INTR_MASK                    0x00000010
#define BCHP_PM_L2_CPU_MASK_SET_NMI_B_INTR_SHIFT                   4

/* PM_L2 :: CPU_MASK_SET :: TIMER_INTR [03:03] */
#define BCHP_PM_L2_CPU_MASK_SET_TIMER_INTR_MASK                    0x00000008
#define BCHP_PM_L2_CPU_MASK_SET_TIMER_INTR_SHIFT                   3

/* PM_L2 :: CPU_MASK_SET :: KPD_INTR [02:02] */
#define BCHP_PM_L2_CPU_MASK_SET_KPD_INTR_MASK                      0x00000004
#define BCHP_PM_L2_CPU_MASK_SET_KPD_INTR_SHIFT                     2

/* PM_L2 :: CPU_MASK_SET :: IRR_INTR [01:01] */
#define BCHP_PM_L2_CPU_MASK_SET_IRR_INTR_MASK                      0x00000002
#define BCHP_PM_L2_CPU_MASK_SET_IRR_INTR_SHIFT                     1

/* PM_L2 :: CPU_MASK_SET :: CEC_INTR [00:00] */
#define BCHP_PM_L2_CPU_MASK_SET_CEC_INTR_MASK                      0x00000001
#define BCHP_PM_L2_CPU_MASK_SET_CEC_INTR_SHIFT                     0

/***************************************************************************
 *CPU_MASK_CLEAR - CPU interrupt Mask Clear Register
 ***************************************************************************/
/* PM_L2 :: CPU_MASK_CLEAR :: reserved0 [31:09] */
#define BCHP_PM_L2_CPU_MASK_CLEAR_reserved0_MASK                   0xfffffe00
#define BCHP_PM_L2_CPU_MASK_CLEAR_reserved0_SHIFT                  9

/* PM_L2 :: CPU_MASK_CLEAR :: SPARE_WAKEUP_EVENT_0 [08:08] */
#define BCHP_PM_L2_CPU_MASK_CLEAR_SPARE_WAKEUP_EVENT_0_MASK        0x00000100
#define BCHP_PM_L2_CPU_MASK_CLEAR_SPARE_WAKEUP_EVENT_0_SHIFT       8

/* PM_L2 :: CPU_MASK_CLEAR :: XPT_PMU [07:07] */
#define BCHP_PM_L2_CPU_MASK_CLEAR_XPT_PMU_MASK                     0x00000080
#define BCHP_PM_L2_CPU_MASK_CLEAR_XPT_PMU_SHIFT                    7

/* PM_L2 :: CPU_MASK_CLEAR :: WOL_ENET [06:06] */
#define BCHP_PM_L2_CPU_MASK_CLEAR_WOL_ENET_MASK                    0x00000040
#define BCHP_PM_L2_CPU_MASK_CLEAR_WOL_ENET_SHIFT                   6

/* PM_L2 :: CPU_MASK_CLEAR :: GPIO [05:05] */
#define BCHP_PM_L2_CPU_MASK_CLEAR_GPIO_MASK                        0x00000020
#define BCHP_PM_L2_CPU_MASK_CLEAR_GPIO_SHIFT                       5

/* PM_L2 :: CPU_MASK_CLEAR :: NMI_B_INTR [04:04] */
#define BCHP_PM_L2_CPU_MASK_CLEAR_NMI_B_INTR_MASK                  0x00000010
#define BCHP_PM_L2_CPU_MASK_CLEAR_NMI_B_INTR_SHIFT                 4

/* PM_L2 :: CPU_MASK_CLEAR :: TIMER_INTR [03:03] */
#define BCHP_PM_L2_CPU_MASK_CLEAR_TIMER_INTR_MASK                  0x00000008
#define BCHP_PM_L2_CPU_MASK_CLEAR_TIMER_INTR_SHIFT                 3

/* PM_L2 :: CPU_MASK_CLEAR :: KPD_INTR [02:02] */
#define BCHP_PM_L2_CPU_MASK_CLEAR_KPD_INTR_MASK                    0x00000004
#define BCHP_PM_L2_CPU_MASK_CLEAR_KPD_INTR_SHIFT                   2

/* PM_L2 :: CPU_MASK_CLEAR :: IRR_INTR [01:01] */
#define BCHP_PM_L2_CPU_MASK_CLEAR_IRR_INTR_MASK                    0x00000002
#define BCHP_PM_L2_CPU_MASK_CLEAR_IRR_INTR_SHIFT                   1

/* PM_L2 :: CPU_MASK_CLEAR :: CEC_INTR [00:00] */
#define BCHP_PM_L2_CPU_MASK_CLEAR_CEC_INTR_MASK                    0x00000001
#define BCHP_PM_L2_CPU_MASK_CLEAR_CEC_INTR_SHIFT                   0

/***************************************************************************
 *PCI_STATUS - PCI interrupt Status Register
 ***************************************************************************/
/* PM_L2 :: PCI_STATUS :: reserved0 [31:09] */
#define BCHP_PM_L2_PCI_STATUS_reserved0_MASK                       0xfffffe00
#define BCHP_PM_L2_PCI_STATUS_reserved0_SHIFT                      9

/* PM_L2 :: PCI_STATUS :: SPARE_WAKEUP_EVENT_0 [08:08] */
#define BCHP_PM_L2_PCI_STATUS_SPARE_WAKEUP_EVENT_0_MASK            0x00000100
#define BCHP_PM_L2_PCI_STATUS_SPARE_WAKEUP_EVENT_0_SHIFT           8

/* PM_L2 :: PCI_STATUS :: XPT_PMU [07:07] */
#define BCHP_PM_L2_PCI_STATUS_XPT_PMU_MASK                         0x00000080
#define BCHP_PM_L2_PCI_STATUS_XPT_PMU_SHIFT                        7

/* PM_L2 :: PCI_STATUS :: WOL_ENET [06:06] */
#define BCHP_PM_L2_PCI_STATUS_WOL_ENET_MASK                        0x00000040
#define BCHP_PM_L2_PCI_STATUS_WOL_ENET_SHIFT                       6

/* PM_L2 :: PCI_STATUS :: GPIO [05:05] */
#define BCHP_PM_L2_PCI_STATUS_GPIO_MASK                            0x00000020
#define BCHP_PM_L2_PCI_STATUS_GPIO_SHIFT                           5

/* PM_L2 :: PCI_STATUS :: NMI_B_INTR [04:04] */
#define BCHP_PM_L2_PCI_STATUS_NMI_B_INTR_MASK                      0x00000010
#define BCHP_PM_L2_PCI_STATUS_NMI_B_INTR_SHIFT                     4

/* PM_L2 :: PCI_STATUS :: TIMER_INTR [03:03] */
#define BCHP_PM_L2_PCI_STATUS_TIMER_INTR_MASK                      0x00000008
#define BCHP_PM_L2_PCI_STATUS_TIMER_INTR_SHIFT                     3

/* PM_L2 :: PCI_STATUS :: KPD_INTR [02:02] */
#define BCHP_PM_L2_PCI_STATUS_KPD_INTR_MASK                        0x00000004
#define BCHP_PM_L2_PCI_STATUS_KPD_INTR_SHIFT                       2

/* PM_L2 :: PCI_STATUS :: IRR_INTR [01:01] */
#define BCHP_PM_L2_PCI_STATUS_IRR_INTR_MASK                        0x00000002
#define BCHP_PM_L2_PCI_STATUS_IRR_INTR_SHIFT                       1

/* PM_L2 :: PCI_STATUS :: CEC_INTR [00:00] */
#define BCHP_PM_L2_PCI_STATUS_CEC_INTR_MASK                        0x00000001
#define BCHP_PM_L2_PCI_STATUS_CEC_INTR_SHIFT                       0

/***************************************************************************
 *PCI_SET - PCI interrupt Set Register
 ***************************************************************************/
/* PM_L2 :: PCI_SET :: reserved0 [31:09] */
#define BCHP_PM_L2_PCI_SET_reserved0_MASK                          0xfffffe00
#define BCHP_PM_L2_PCI_SET_reserved0_SHIFT                         9

/* PM_L2 :: PCI_SET :: SPARE_WAKEUP_EVENT_0 [08:08] */
#define BCHP_PM_L2_PCI_SET_SPARE_WAKEUP_EVENT_0_MASK               0x00000100
#define BCHP_PM_L2_PCI_SET_SPARE_WAKEUP_EVENT_0_SHIFT              8

/* PM_L2 :: PCI_SET :: XPT_PMU [07:07] */
#define BCHP_PM_L2_PCI_SET_XPT_PMU_MASK                            0x00000080
#define BCHP_PM_L2_PCI_SET_XPT_PMU_SHIFT                           7

/* PM_L2 :: PCI_SET :: WOL_ENET [06:06] */
#define BCHP_PM_L2_PCI_SET_WOL_ENET_MASK                           0x00000040
#define BCHP_PM_L2_PCI_SET_WOL_ENET_SHIFT                          6

/* PM_L2 :: PCI_SET :: GPIO [05:05] */
#define BCHP_PM_L2_PCI_SET_GPIO_MASK                               0x00000020
#define BCHP_PM_L2_PCI_SET_GPIO_SHIFT                              5

/* PM_L2 :: PCI_SET :: NMI_B_INTR [04:04] */
#define BCHP_PM_L2_PCI_SET_NMI_B_INTR_MASK                         0x00000010
#define BCHP_PM_L2_PCI_SET_NMI_B_INTR_SHIFT                        4

/* PM_L2 :: PCI_SET :: TIMER_INTR [03:03] */
#define BCHP_PM_L2_PCI_SET_TIMER_INTR_MASK                         0x00000008
#define BCHP_PM_L2_PCI_SET_TIMER_INTR_SHIFT                        3

/* PM_L2 :: PCI_SET :: KPD_INTR [02:02] */
#define BCHP_PM_L2_PCI_SET_KPD_INTR_MASK                           0x00000004
#define BCHP_PM_L2_PCI_SET_KPD_INTR_SHIFT                          2

/* PM_L2 :: PCI_SET :: IRR_INTR [01:01] */
#define BCHP_PM_L2_PCI_SET_IRR_INTR_MASK                           0x00000002
#define BCHP_PM_L2_PCI_SET_IRR_INTR_SHIFT                          1

/* PM_L2 :: PCI_SET :: CEC_INTR [00:00] */
#define BCHP_PM_L2_PCI_SET_CEC_INTR_MASK                           0x00000001
#define BCHP_PM_L2_PCI_SET_CEC_INTR_SHIFT                          0

/***************************************************************************
 *PCI_CLEAR - PCI interrupt Clear Register
 ***************************************************************************/
/* PM_L2 :: PCI_CLEAR :: reserved0 [31:09] */
#define BCHP_PM_L2_PCI_CLEAR_reserved0_MASK                        0xfffffe00
#define BCHP_PM_L2_PCI_CLEAR_reserved0_SHIFT                       9

/* PM_L2 :: PCI_CLEAR :: SPARE_WAKEUP_EVENT_0 [08:08] */
#define BCHP_PM_L2_PCI_CLEAR_SPARE_WAKEUP_EVENT_0_MASK             0x00000100
#define BCHP_PM_L2_PCI_CLEAR_SPARE_WAKEUP_EVENT_0_SHIFT            8

/* PM_L2 :: PCI_CLEAR :: XPT_PMU [07:07] */
#define BCHP_PM_L2_PCI_CLEAR_XPT_PMU_MASK                          0x00000080
#define BCHP_PM_L2_PCI_CLEAR_XPT_PMU_SHIFT                         7

/* PM_L2 :: PCI_CLEAR :: WOL_ENET [06:06] */
#define BCHP_PM_L2_PCI_CLEAR_WOL_ENET_MASK                         0x00000040
#define BCHP_PM_L2_PCI_CLEAR_WOL_ENET_SHIFT                        6

/* PM_L2 :: PCI_CLEAR :: GPIO [05:05] */
#define BCHP_PM_L2_PCI_CLEAR_GPIO_MASK                             0x00000020
#define BCHP_PM_L2_PCI_CLEAR_GPIO_SHIFT                            5

/* PM_L2 :: PCI_CLEAR :: NMI_B_INTR [04:04] */
#define BCHP_PM_L2_PCI_CLEAR_NMI_B_INTR_MASK                       0x00000010
#define BCHP_PM_L2_PCI_CLEAR_NMI_B_INTR_SHIFT                      4

/* PM_L2 :: PCI_CLEAR :: TIMER_INTR [03:03] */
#define BCHP_PM_L2_PCI_CLEAR_TIMER_INTR_MASK                       0x00000008
#define BCHP_PM_L2_PCI_CLEAR_TIMER_INTR_SHIFT                      3

/* PM_L2 :: PCI_CLEAR :: KPD_INTR [02:02] */
#define BCHP_PM_L2_PCI_CLEAR_KPD_INTR_MASK                         0x00000004
#define BCHP_PM_L2_PCI_CLEAR_KPD_INTR_SHIFT                        2

/* PM_L2 :: PCI_CLEAR :: IRR_INTR [01:01] */
#define BCHP_PM_L2_PCI_CLEAR_IRR_INTR_MASK                         0x00000002
#define BCHP_PM_L2_PCI_CLEAR_IRR_INTR_SHIFT                        1

/* PM_L2 :: PCI_CLEAR :: CEC_INTR [00:00] */
#define BCHP_PM_L2_PCI_CLEAR_CEC_INTR_MASK                         0x00000001
#define BCHP_PM_L2_PCI_CLEAR_CEC_INTR_SHIFT                        0

/***************************************************************************
 *PCI_MASK_STATUS - PCI interrupt Mask Status Register
 ***************************************************************************/
/* PM_L2 :: PCI_MASK_STATUS :: reserved0 [31:09] */
#define BCHP_PM_L2_PCI_MASK_STATUS_reserved0_MASK                  0xfffffe00
#define BCHP_PM_L2_PCI_MASK_STATUS_reserved0_SHIFT                 9

/* PM_L2 :: PCI_MASK_STATUS :: SPARE_WAKEUP_EVENT_0 [08:08] */
#define BCHP_PM_L2_PCI_MASK_STATUS_SPARE_WAKEUP_EVENT_0_MASK       0x00000100
#define BCHP_PM_L2_PCI_MASK_STATUS_SPARE_WAKEUP_EVENT_0_SHIFT      8

/* PM_L2 :: PCI_MASK_STATUS :: XPT_PMU [07:07] */
#define BCHP_PM_L2_PCI_MASK_STATUS_XPT_PMU_MASK                    0x00000080
#define BCHP_PM_L2_PCI_MASK_STATUS_XPT_PMU_SHIFT                   7

/* PM_L2 :: PCI_MASK_STATUS :: WOL_ENET [06:06] */
#define BCHP_PM_L2_PCI_MASK_STATUS_WOL_ENET_MASK                   0x00000040
#define BCHP_PM_L2_PCI_MASK_STATUS_WOL_ENET_SHIFT                  6

/* PM_L2 :: PCI_MASK_STATUS :: GPIO [05:05] */
#define BCHP_PM_L2_PCI_MASK_STATUS_GPIO_MASK                       0x00000020
#define BCHP_PM_L2_PCI_MASK_STATUS_GPIO_SHIFT                      5

/* PM_L2 :: PCI_MASK_STATUS :: NMI_B_INTR [04:04] */
#define BCHP_PM_L2_PCI_MASK_STATUS_NMI_B_INTR_MASK                 0x00000010
#define BCHP_PM_L2_PCI_MASK_STATUS_NMI_B_INTR_SHIFT                4

/* PM_L2 :: PCI_MASK_STATUS :: TIMER_INTR [03:03] */
#define BCHP_PM_L2_PCI_MASK_STATUS_TIMER_INTR_MASK                 0x00000008
#define BCHP_PM_L2_PCI_MASK_STATUS_TIMER_INTR_SHIFT                3

/* PM_L2 :: PCI_MASK_STATUS :: KPD_INTR [02:02] */
#define BCHP_PM_L2_PCI_MASK_STATUS_KPD_INTR_MASK                   0x00000004
#define BCHP_PM_L2_PCI_MASK_STATUS_KPD_INTR_SHIFT                  2

/* PM_L2 :: PCI_MASK_STATUS :: IRR_INTR [01:01] */
#define BCHP_PM_L2_PCI_MASK_STATUS_IRR_INTR_MASK                   0x00000002
#define BCHP_PM_L2_PCI_MASK_STATUS_IRR_INTR_SHIFT                  1

/* PM_L2 :: PCI_MASK_STATUS :: CEC_INTR [00:00] */
#define BCHP_PM_L2_PCI_MASK_STATUS_CEC_INTR_MASK                   0x00000001
#define BCHP_PM_L2_PCI_MASK_STATUS_CEC_INTR_SHIFT                  0

/***************************************************************************
 *PCI_MASK_SET - PCI interrupt Mask Set Register
 ***************************************************************************/
/* PM_L2 :: PCI_MASK_SET :: reserved0 [31:09] */
#define BCHP_PM_L2_PCI_MASK_SET_reserved0_MASK                     0xfffffe00
#define BCHP_PM_L2_PCI_MASK_SET_reserved0_SHIFT                    9

/* PM_L2 :: PCI_MASK_SET :: SPARE_WAKEUP_EVENT_0 [08:08] */
#define BCHP_PM_L2_PCI_MASK_SET_SPARE_WAKEUP_EVENT_0_MASK          0x00000100
#define BCHP_PM_L2_PCI_MASK_SET_SPARE_WAKEUP_EVENT_0_SHIFT         8

/* PM_L2 :: PCI_MASK_SET :: XPT_PMU [07:07] */
#define BCHP_PM_L2_PCI_MASK_SET_XPT_PMU_MASK                       0x00000080
#define BCHP_PM_L2_PCI_MASK_SET_XPT_PMU_SHIFT                      7

/* PM_L2 :: PCI_MASK_SET :: WOL_ENET [06:06] */
#define BCHP_PM_L2_PCI_MASK_SET_WOL_ENET_MASK                      0x00000040
#define BCHP_PM_L2_PCI_MASK_SET_WOL_ENET_SHIFT                     6

/* PM_L2 :: PCI_MASK_SET :: GPIO [05:05] */
#define BCHP_PM_L2_PCI_MASK_SET_GPIO_MASK                          0x00000020
#define BCHP_PM_L2_PCI_MASK_SET_GPIO_SHIFT                         5

/* PM_L2 :: PCI_MASK_SET :: NMI_B_INTR [04:04] */
#define BCHP_PM_L2_PCI_MASK_SET_NMI_B_INTR_MASK                    0x00000010
#define BCHP_PM_L2_PCI_MASK_SET_NMI_B_INTR_SHIFT                   4

/* PM_L2 :: PCI_MASK_SET :: TIMER_INTR [03:03] */
#define BCHP_PM_L2_PCI_MASK_SET_TIMER_INTR_MASK                    0x00000008
#define BCHP_PM_L2_PCI_MASK_SET_TIMER_INTR_SHIFT                   3

/* PM_L2 :: PCI_MASK_SET :: KPD_INTR [02:02] */
#define BCHP_PM_L2_PCI_MASK_SET_KPD_INTR_MASK                      0x00000004
#define BCHP_PM_L2_PCI_MASK_SET_KPD_INTR_SHIFT                     2

/* PM_L2 :: PCI_MASK_SET :: IRR_INTR [01:01] */
#define BCHP_PM_L2_PCI_MASK_SET_IRR_INTR_MASK                      0x00000002
#define BCHP_PM_L2_PCI_MASK_SET_IRR_INTR_SHIFT                     1

/* PM_L2 :: PCI_MASK_SET :: CEC_INTR [00:00] */
#define BCHP_PM_L2_PCI_MASK_SET_CEC_INTR_MASK                      0x00000001
#define BCHP_PM_L2_PCI_MASK_SET_CEC_INTR_SHIFT                     0

/***************************************************************************
 *PCI_MASK_CLEAR - PCI interrupt Mask Clear Register
 ***************************************************************************/
/* PM_L2 :: PCI_MASK_CLEAR :: reserved0 [31:09] */
#define BCHP_PM_L2_PCI_MASK_CLEAR_reserved0_MASK                   0xfffffe00
#define BCHP_PM_L2_PCI_MASK_CLEAR_reserved0_SHIFT                  9

/* PM_L2 :: PCI_MASK_CLEAR :: SPARE_WAKEUP_EVENT_0 [08:08] */
#define BCHP_PM_L2_PCI_MASK_CLEAR_SPARE_WAKEUP_EVENT_0_MASK        0x00000100
#define BCHP_PM_L2_PCI_MASK_CLEAR_SPARE_WAKEUP_EVENT_0_SHIFT       8

/* PM_L2 :: PCI_MASK_CLEAR :: XPT_PMU [07:07] */
#define BCHP_PM_L2_PCI_MASK_CLEAR_XPT_PMU_MASK                     0x00000080
#define BCHP_PM_L2_PCI_MASK_CLEAR_XPT_PMU_SHIFT                    7

/* PM_L2 :: PCI_MASK_CLEAR :: WOL_ENET [06:06] */
#define BCHP_PM_L2_PCI_MASK_CLEAR_WOL_ENET_MASK                    0x00000040
#define BCHP_PM_L2_PCI_MASK_CLEAR_WOL_ENET_SHIFT                   6

/* PM_L2 :: PCI_MASK_CLEAR :: GPIO [05:05] */
#define BCHP_PM_L2_PCI_MASK_CLEAR_GPIO_MASK                        0x00000020
#define BCHP_PM_L2_PCI_MASK_CLEAR_GPIO_SHIFT                       5

/* PM_L2 :: PCI_MASK_CLEAR :: NMI_B_INTR [04:04] */
#define BCHP_PM_L2_PCI_MASK_CLEAR_NMI_B_INTR_MASK                  0x00000010
#define BCHP_PM_L2_PCI_MASK_CLEAR_NMI_B_INTR_SHIFT                 4

/* PM_L2 :: PCI_MASK_CLEAR :: TIMER_INTR [03:03] */
#define BCHP_PM_L2_PCI_MASK_CLEAR_TIMER_INTR_MASK                  0x00000008
#define BCHP_PM_L2_PCI_MASK_CLEAR_TIMER_INTR_SHIFT                 3

/* PM_L2 :: PCI_MASK_CLEAR :: KPD_INTR [02:02] */
#define BCHP_PM_L2_PCI_MASK_CLEAR_KPD_INTR_MASK                    0x00000004
#define BCHP_PM_L2_PCI_MASK_CLEAR_KPD_INTR_SHIFT                   2

/* PM_L2 :: PCI_MASK_CLEAR :: IRR_INTR [01:01] */
#define BCHP_PM_L2_PCI_MASK_CLEAR_IRR_INTR_MASK                    0x00000002
#define BCHP_PM_L2_PCI_MASK_CLEAR_IRR_INTR_SHIFT                   1

/* PM_L2 :: PCI_MASK_CLEAR :: CEC_INTR [00:00] */
#define BCHP_PM_L2_PCI_MASK_CLEAR_CEC_INTR_MASK                    0x00000001
#define BCHP_PM_L2_PCI_MASK_CLEAR_CEC_INTR_SHIFT                   0

#endif /* #ifndef BCHP_PM_L2_H__ */

/* End of File */
