/***************************************************************************
 *     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 Jan 22 20:24:37 2010
 *                 MD5 Checksum         a2d1f2163f65e87d228a0fb491cb442d
 *
 * 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/7125/rdb/c0/bchp_pm_l2.h $
 * 
 * Hydra_Software_Devel/1   1/25/10 9:16p albertl
 * SW7125-177: 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                    0x00401c00 /* CPU interrupt Status Register */
#define BCHP_PM_L2_CPU_SET                       0x00401c04 /* CPU interrupt Set Register */
#define BCHP_PM_L2_CPU_CLEAR                     0x00401c08 /* CPU interrupt Clear Register */
#define BCHP_PM_L2_CPU_MASK_STATUS               0x00401c0c /* CPU interrupt Mask Status Register */
#define BCHP_PM_L2_CPU_MASK_SET                  0x00401c10 /* CPU interrupt Mask Set Register */
#define BCHP_PM_L2_CPU_MASK_CLEAR                0x00401c14 /* CPU interrupt Mask Clear Register */
#define BCHP_PM_L2_PCI_STATUS                    0x00401c18 /* PCI interrupt Status Register */
#define BCHP_PM_L2_PCI_SET                       0x00401c1c /* PCI interrupt Set Register */
#define BCHP_PM_L2_PCI_CLEAR                     0x00401c20 /* PCI interrupt Clear Register */
#define BCHP_PM_L2_PCI_MASK_STATUS               0x00401c24 /* PCI interrupt Mask Status Register */
#define BCHP_PM_L2_PCI_MASK_SET                  0x00401c28 /* PCI interrupt Mask Set Register */
#define BCHP_PM_L2_PCI_MASK_CLEAR                0x00401c2c /* PCI interrupt Mask Clear Register */

/***************************************************************************
 *CPU_STATUS - CPU interrupt Status Register
 ***************************************************************************/
/* PM_L2 :: CPU_STATUS :: reserved0 [31:12] */
#define BCHP_PM_L2_CPU_STATUS_reserved0_MASK                       0xfffff000
#define BCHP_PM_L2_CPU_STATUS_reserved0_SHIFT                      12

/* PM_L2 :: CPU_STATUS :: SPARE_WAKEUP_EVENT_0 [11:11] */
#define BCHP_PM_L2_CPU_STATUS_SPARE_WAKEUP_EVENT_0_MASK            0x00000800
#define BCHP_PM_L2_CPU_STATUS_SPARE_WAKEUP_EVENT_0_SHIFT           11

/* PM_L2 :: CPU_STATUS :: PERIPH_TOP_INTR [10:10] */
#define BCHP_PM_L2_CPU_STATUS_PERIPH_TOP_INTR_MASK                 0x00000400
#define BCHP_PM_L2_CPU_STATUS_PERIPH_TOP_INTR_SHIFT                10

/* PM_L2 :: CPU_STATUS :: WOL_MPD [09:09] */
#define BCHP_PM_L2_CPU_STATUS_WOL_MPD_MASK                         0x00000200
#define BCHP_PM_L2_CPU_STATUS_WOL_MPD_SHIFT                        9

/* PM_L2 :: CPU_STATUS :: WOL_HFB [08:08] */
#define BCHP_PM_L2_CPU_STATUS_WOL_HFB_MASK                         0x00000100
#define BCHP_PM_L2_CPU_STATUS_WOL_HFB_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_MOCA [06:06] */
#define BCHP_PM_L2_CPU_STATUS_WOL_MOCA_MASK                        0x00000040
#define BCHP_PM_L2_CPU_STATUS_WOL_MOCA_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:12] */
#define BCHP_PM_L2_CPU_SET_reserved0_MASK                          0xfffff000
#define BCHP_PM_L2_CPU_SET_reserved0_SHIFT                         12

/* PM_L2 :: CPU_SET :: SPARE_WAKEUP_EVENT_0 [11:11] */
#define BCHP_PM_L2_CPU_SET_SPARE_WAKEUP_EVENT_0_MASK               0x00000800
#define BCHP_PM_L2_CPU_SET_SPARE_WAKEUP_EVENT_0_SHIFT              11

/* PM_L2 :: CPU_SET :: PERIPH_TOP_INTR [10:10] */
#define BCHP_PM_L2_CPU_SET_PERIPH_TOP_INTR_MASK                    0x00000400
#define BCHP_PM_L2_CPU_SET_PERIPH_TOP_INTR_SHIFT                   10

/* PM_L2 :: CPU_SET :: WOL_MPD [09:09] */
#define BCHP_PM_L2_CPU_SET_WOL_MPD_MASK                            0x00000200
#define BCHP_PM_L2_CPU_SET_WOL_MPD_SHIFT                           9

/* PM_L2 :: CPU_SET :: WOL_HFB [08:08] */
#define BCHP_PM_L2_CPU_SET_WOL_HFB_MASK                            0x00000100
#define BCHP_PM_L2_CPU_SET_WOL_HFB_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_MOCA [06:06] */
#define BCHP_PM_L2_CPU_SET_WOL_MOCA_MASK                           0x00000040
#define BCHP_PM_L2_CPU_SET_WOL_MOCA_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:12] */
#define BCHP_PM_L2_CPU_CLEAR_reserved0_MASK                        0xfffff000
#define BCHP_PM_L2_CPU_CLEAR_reserved0_SHIFT                       12

/* PM_L2 :: CPU_CLEAR :: SPARE_WAKEUP_EVENT_0 [11:11] */
#define BCHP_PM_L2_CPU_CLEAR_SPARE_WAKEUP_EVENT_0_MASK             0x00000800
#define BCHP_PM_L2_CPU_CLEAR_SPARE_WAKEUP_EVENT_0_SHIFT            11

/* PM_L2 :: CPU_CLEAR :: PERIPH_TOP_INTR [10:10] */
#define BCHP_PM_L2_CPU_CLEAR_PERIPH_TOP_INTR_MASK                  0x00000400
#define BCHP_PM_L2_CPU_CLEAR_PERIPH_TOP_INTR_SHIFT                 10

/* PM_L2 :: CPU_CLEAR :: WOL_MPD [09:09] */
#define BCHP_PM_L2_CPU_CLEAR_WOL_MPD_MASK                          0x00000200
#define BCHP_PM_L2_CPU_CLEAR_WOL_MPD_SHIFT                         9

/* PM_L2 :: CPU_CLEAR :: WOL_HFB [08:08] */
#define BCHP_PM_L2_CPU_CLEAR_WOL_HFB_MASK                          0x00000100
#define BCHP_PM_L2_CPU_CLEAR_WOL_HFB_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_MOCA [06:06] */
#define BCHP_PM_L2_CPU_CLEAR_WOL_MOCA_MASK                         0x00000040
#define BCHP_PM_L2_CPU_CLEAR_WOL_MOCA_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:12] */
#define BCHP_PM_L2_CPU_MASK_STATUS_reserved0_MASK                  0xfffff000
#define BCHP_PM_L2_CPU_MASK_STATUS_reserved0_SHIFT                 12

/* PM_L2 :: CPU_MASK_STATUS :: SPARE_WAKEUP_EVENT_0 [11:11] */
#define BCHP_PM_L2_CPU_MASK_STATUS_SPARE_WAKEUP_EVENT_0_MASK       0x00000800
#define BCHP_PM_L2_CPU_MASK_STATUS_SPARE_WAKEUP_EVENT_0_SHIFT      11

/* PM_L2 :: CPU_MASK_STATUS :: PERIPH_TOP_INTR [10:10] */
#define BCHP_PM_L2_CPU_MASK_STATUS_PERIPH_TOP_INTR_MASK            0x00000400
#define BCHP_PM_L2_CPU_MASK_STATUS_PERIPH_TOP_INTR_SHIFT           10

/* PM_L2 :: CPU_MASK_STATUS :: WOL_MPD [09:09] */
#define BCHP_PM_L2_CPU_MASK_STATUS_WOL_MPD_MASK                    0x00000200
#define BCHP_PM_L2_CPU_MASK_STATUS_WOL_MPD_SHIFT                   9

/* PM_L2 :: CPU_MASK_STATUS :: WOL_HFB [08:08] */
#define BCHP_PM_L2_CPU_MASK_STATUS_WOL_HFB_MASK                    0x00000100
#define BCHP_PM_L2_CPU_MASK_STATUS_WOL_HFB_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_MOCA [06:06] */
#define BCHP_PM_L2_CPU_MASK_STATUS_WOL_MOCA_MASK                   0x00000040
#define BCHP_PM_L2_CPU_MASK_STATUS_WOL_MOCA_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:12] */
#define BCHP_PM_L2_CPU_MASK_SET_reserved0_MASK                     0xfffff000
#define BCHP_PM_L2_CPU_MASK_SET_reserved0_SHIFT                    12

/* PM_L2 :: CPU_MASK_SET :: SPARE_WAKEUP_EVENT_0 [11:11] */
#define BCHP_PM_L2_CPU_MASK_SET_SPARE_WAKEUP_EVENT_0_MASK          0x00000800
#define BCHP_PM_L2_CPU_MASK_SET_SPARE_WAKEUP_EVENT_0_SHIFT         11

/* PM_L2 :: CPU_MASK_SET :: PERIPH_TOP_INTR [10:10] */
#define BCHP_PM_L2_CPU_MASK_SET_PERIPH_TOP_INTR_MASK               0x00000400
#define BCHP_PM_L2_CPU_MASK_SET_PERIPH_TOP_INTR_SHIFT              10

/* PM_L2 :: CPU_MASK_SET :: WOL_MPD [09:09] */
#define BCHP_PM_L2_CPU_MASK_SET_WOL_MPD_MASK                       0x00000200
#define BCHP_PM_L2_CPU_MASK_SET_WOL_MPD_SHIFT                      9

/* PM_L2 :: CPU_MASK_SET :: WOL_HFB [08:08] */
#define BCHP_PM_L2_CPU_MASK_SET_WOL_HFB_MASK                       0x00000100
#define BCHP_PM_L2_CPU_MASK_SET_WOL_HFB_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_MOCA [06:06] */
#define BCHP_PM_L2_CPU_MASK_SET_WOL_MOCA_MASK                      0x00000040
#define BCHP_PM_L2_CPU_MASK_SET_WOL_MOCA_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:12] */
#define BCHP_PM_L2_CPU_MASK_CLEAR_reserved0_MASK                   0xfffff000
#define BCHP_PM_L2_CPU_MASK_CLEAR_reserved0_SHIFT                  12

/* PM_L2 :: CPU_MASK_CLEAR :: SPARE_WAKEUP_EVENT_0 [11:11] */
#define BCHP_PM_L2_CPU_MASK_CLEAR_SPARE_WAKEUP_EVENT_0_MASK        0x00000800
#define BCHP_PM_L2_CPU_MASK_CLEAR_SPARE_WAKEUP_EVENT_0_SHIFT       11

/* PM_L2 :: CPU_MASK_CLEAR :: PERIPH_TOP_INTR [10:10] */
#define BCHP_PM_L2_CPU_MASK_CLEAR_PERIPH_TOP_INTR_MASK             0x00000400
#define BCHP_PM_L2_CPU_MASK_CLEAR_PERIPH_TOP_INTR_SHIFT            10

/* PM_L2 :: CPU_MASK_CLEAR :: WOL_MPD [09:09] */
#define BCHP_PM_L2_CPU_MASK_CLEAR_WOL_MPD_MASK                     0x00000200
#define BCHP_PM_L2_CPU_MASK_CLEAR_WOL_MPD_SHIFT                    9

/* PM_L2 :: CPU_MASK_CLEAR :: WOL_HFB [08:08] */
#define BCHP_PM_L2_CPU_MASK_CLEAR_WOL_HFB_MASK                     0x00000100
#define BCHP_PM_L2_CPU_MASK_CLEAR_WOL_HFB_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_MOCA [06:06] */
#define BCHP_PM_L2_CPU_MASK_CLEAR_WOL_MOCA_MASK                    0x00000040
#define BCHP_PM_L2_CPU_MASK_CLEAR_WOL_MOCA_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:12] */
#define BCHP_PM_L2_PCI_STATUS_reserved0_MASK                       0xfffff000
#define BCHP_PM_L2_PCI_STATUS_reserved0_SHIFT                      12

/* PM_L2 :: PCI_STATUS :: SPARE_WAKEUP_EVENT_0 [11:11] */
#define BCHP_PM_L2_PCI_STATUS_SPARE_WAKEUP_EVENT_0_MASK            0x00000800
#define BCHP_PM_L2_PCI_STATUS_SPARE_WAKEUP_EVENT_0_SHIFT           11

/* PM_L2 :: PCI_STATUS :: PERIPH_TOP_INTR [10:10] */
#define BCHP_PM_L2_PCI_STATUS_PERIPH_TOP_INTR_MASK                 0x00000400
#define BCHP_PM_L2_PCI_STATUS_PERIPH_TOP_INTR_SHIFT                10

/* PM_L2 :: PCI_STATUS :: WOL_MPD [09:09] */
#define BCHP_PM_L2_PCI_STATUS_WOL_MPD_MASK                         0x00000200
#define BCHP_PM_L2_PCI_STATUS_WOL_MPD_SHIFT                        9

/* PM_L2 :: PCI_STATUS :: WOL_HFB [08:08] */
#define BCHP_PM_L2_PCI_STATUS_WOL_HFB_MASK                         0x00000100
#define BCHP_PM_L2_PCI_STATUS_WOL_HFB_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_MOCA [06:06] */
#define BCHP_PM_L2_PCI_STATUS_WOL_MOCA_MASK                        0x00000040
#define BCHP_PM_L2_PCI_STATUS_WOL_MOCA_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:12] */
#define BCHP_PM_L2_PCI_SET_reserved0_MASK                          0xfffff000
#define BCHP_PM_L2_PCI_SET_reserved0_SHIFT                         12

/* PM_L2 :: PCI_SET :: SPARE_WAKEUP_EVENT_0 [11:11] */
#define BCHP_PM_L2_PCI_SET_SPARE_WAKEUP_EVENT_0_MASK               0x00000800
#define BCHP_PM_L2_PCI_SET_SPARE_WAKEUP_EVENT_0_SHIFT              11

/* PM_L2 :: PCI_SET :: PERIPH_TOP_INTR [10:10] */
#define BCHP_PM_L2_PCI_SET_PERIPH_TOP_INTR_MASK                    0x00000400
#define BCHP_PM_L2_PCI_SET_PERIPH_TOP_INTR_SHIFT                   10

/* PM_L2 :: PCI_SET :: WOL_MPD [09:09] */
#define BCHP_PM_L2_PCI_SET_WOL_MPD_MASK                            0x00000200
#define BCHP_PM_L2_PCI_SET_WOL_MPD_SHIFT                           9

/* PM_L2 :: PCI_SET :: WOL_HFB [08:08] */
#define BCHP_PM_L2_PCI_SET_WOL_HFB_MASK                            0x00000100
#define BCHP_PM_L2_PCI_SET_WOL_HFB_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_MOCA [06:06] */
#define BCHP_PM_L2_PCI_SET_WOL_MOCA_MASK                           0x00000040
#define BCHP_PM_L2_PCI_SET_WOL_MOCA_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:12] */
#define BCHP_PM_L2_PCI_CLEAR_reserved0_MASK                        0xfffff000
#define BCHP_PM_L2_PCI_CLEAR_reserved0_SHIFT                       12

/* PM_L2 :: PCI_CLEAR :: SPARE_WAKEUP_EVENT_0 [11:11] */
#define BCHP_PM_L2_PCI_CLEAR_SPARE_WAKEUP_EVENT_0_MASK             0x00000800
#define BCHP_PM_L2_PCI_CLEAR_SPARE_WAKEUP_EVENT_0_SHIFT            11

/* PM_L2 :: PCI_CLEAR :: PERIPH_TOP_INTR [10:10] */
#define BCHP_PM_L2_PCI_CLEAR_PERIPH_TOP_INTR_MASK                  0x00000400
#define BCHP_PM_L2_PCI_CLEAR_PERIPH_TOP_INTR_SHIFT                 10

/* PM_L2 :: PCI_CLEAR :: WOL_MPD [09:09] */
#define BCHP_PM_L2_PCI_CLEAR_WOL_MPD_MASK                          0x00000200
#define BCHP_PM_L2_PCI_CLEAR_WOL_MPD_SHIFT                         9

/* PM_L2 :: PCI_CLEAR :: WOL_HFB [08:08] */
#define BCHP_PM_L2_PCI_CLEAR_WOL_HFB_MASK                          0x00000100
#define BCHP_PM_L2_PCI_CLEAR_WOL_HFB_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_MOCA [06:06] */
#define BCHP_PM_L2_PCI_CLEAR_WOL_MOCA_MASK                         0x00000040
#define BCHP_PM_L2_PCI_CLEAR_WOL_MOCA_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:12] */
#define BCHP_PM_L2_PCI_MASK_STATUS_reserved0_MASK                  0xfffff000
#define BCHP_PM_L2_PCI_MASK_STATUS_reserved0_SHIFT                 12

/* PM_L2 :: PCI_MASK_STATUS :: SPARE_WAKEUP_EVENT_0 [11:11] */
#define BCHP_PM_L2_PCI_MASK_STATUS_SPARE_WAKEUP_EVENT_0_MASK       0x00000800
#define BCHP_PM_L2_PCI_MASK_STATUS_SPARE_WAKEUP_EVENT_0_SHIFT      11

/* PM_L2 :: PCI_MASK_STATUS :: PERIPH_TOP_INTR [10:10] */
#define BCHP_PM_L2_PCI_MASK_STATUS_PERIPH_TOP_INTR_MASK            0x00000400
#define BCHP_PM_L2_PCI_MASK_STATUS_PERIPH_TOP_INTR_SHIFT           10

/* PM_L2 :: PCI_MASK_STATUS :: WOL_MPD [09:09] */
#define BCHP_PM_L2_PCI_MASK_STATUS_WOL_MPD_MASK                    0x00000200
#define BCHP_PM_L2_PCI_MASK_STATUS_WOL_MPD_SHIFT                   9

/* PM_L2 :: PCI_MASK_STATUS :: WOL_HFB [08:08] */
#define BCHP_PM_L2_PCI_MASK_STATUS_WOL_HFB_MASK                    0x00000100
#define BCHP_PM_L2_PCI_MASK_STATUS_WOL_HFB_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_MOCA [06:06] */
#define BCHP_PM_L2_PCI_MASK_STATUS_WOL_MOCA_MASK                   0x00000040
#define BCHP_PM_L2_PCI_MASK_STATUS_WOL_MOCA_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:12] */
#define BCHP_PM_L2_PCI_MASK_SET_reserved0_MASK                     0xfffff000
#define BCHP_PM_L2_PCI_MASK_SET_reserved0_SHIFT                    12

/* PM_L2 :: PCI_MASK_SET :: SPARE_WAKEUP_EVENT_0 [11:11] */
#define BCHP_PM_L2_PCI_MASK_SET_SPARE_WAKEUP_EVENT_0_MASK          0x00000800
#define BCHP_PM_L2_PCI_MASK_SET_SPARE_WAKEUP_EVENT_0_SHIFT         11

/* PM_L2 :: PCI_MASK_SET :: PERIPH_TOP_INTR [10:10] */
#define BCHP_PM_L2_PCI_MASK_SET_PERIPH_TOP_INTR_MASK               0x00000400
#define BCHP_PM_L2_PCI_MASK_SET_PERIPH_TOP_INTR_SHIFT              10

/* PM_L2 :: PCI_MASK_SET :: WOL_MPD [09:09] */
#define BCHP_PM_L2_PCI_MASK_SET_WOL_MPD_MASK                       0x00000200
#define BCHP_PM_L2_PCI_MASK_SET_WOL_MPD_SHIFT                      9

/* PM_L2 :: PCI_MASK_SET :: WOL_HFB [08:08] */
#define BCHP_PM_L2_PCI_MASK_SET_WOL_HFB_MASK                       0x00000100
#define BCHP_PM_L2_PCI_MASK_SET_WOL_HFB_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_MOCA [06:06] */
#define BCHP_PM_L2_PCI_MASK_SET_WOL_MOCA_MASK                      0x00000040
#define BCHP_PM_L2_PCI_MASK_SET_WOL_MOCA_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:12] */
#define BCHP_PM_L2_PCI_MASK_CLEAR_reserved0_MASK                   0xfffff000
#define BCHP_PM_L2_PCI_MASK_CLEAR_reserved0_SHIFT                  12

/* PM_L2 :: PCI_MASK_CLEAR :: SPARE_WAKEUP_EVENT_0 [11:11] */
#define BCHP_PM_L2_PCI_MASK_CLEAR_SPARE_WAKEUP_EVENT_0_MASK        0x00000800
#define BCHP_PM_L2_PCI_MASK_CLEAR_SPARE_WAKEUP_EVENT_0_SHIFT       11

/* PM_L2 :: PCI_MASK_CLEAR :: PERIPH_TOP_INTR [10:10] */
#define BCHP_PM_L2_PCI_MASK_CLEAR_PERIPH_TOP_INTR_MASK             0x00000400
#define BCHP_PM_L2_PCI_MASK_CLEAR_PERIPH_TOP_INTR_SHIFT            10

/* PM_L2 :: PCI_MASK_CLEAR :: WOL_MPD [09:09] */
#define BCHP_PM_L2_PCI_MASK_CLEAR_WOL_MPD_MASK                     0x00000200
#define BCHP_PM_L2_PCI_MASK_CLEAR_WOL_MPD_SHIFT                    9

/* PM_L2 :: PCI_MASK_CLEAR :: WOL_HFB [08:08] */
#define BCHP_PM_L2_PCI_MASK_CLEAR_WOL_HFB_MASK                     0x00000100
#define BCHP_PM_L2_PCI_MASK_CLEAR_WOL_HFB_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_MOCA [06:06] */
#define BCHP_PM_L2_PCI_MASK_CLEAR_WOL_MOCA_MASK                    0x00000040
#define BCHP_PM_L2_PCI_MASK_CLEAR_WOL_MOCA_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 */
