blob: 249dfec649ad4ed8fc4addf9278128231dd3a988 [file] [log] [blame]
/****************************************************************************
* arch/xtensa/src/esp32/hardware/esp32_pcnt.h
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership. The
* ASF licenses this file to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance with the
* License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*
****************************************************************************/
#ifndef __ARCH_XTENSA_SRC_ESP32_HARDWARE_ESP32_PCNT_H
#define __ARCH_XTENSA_SRC_ESP32_HARDWARE_ESP32_PCNT_H
/****************************************************************************
* Included Files
****************************************************************************/
#include "esp32_soc.h"
/****************************************************************************
* Pre-processor Definitions
****************************************************************************/
/* PCNT_U0_CONF0_REG register
* Configuration register 0 for unit 0
*/
#define PCNT_U0_CONF0_REG (DR_REG_PCNT_BASE + 0x0)
/* PCNT_CH1_LCTRL_MODE_U0 : R/W; bitpos: [31:30]; default: 0;
* This register configures how the CH0_POS_MODE/CH0_NEG_MODE settings will
* be modified when the control signal is low.
*
* 0: No modification;1: Invert behavior (increase -> decrease, decrease ->
* increase);2, 3: Inhibit counter modification
*/
#define PCNT_CH1_LCTRL_MODE_U0 0x00000003
#define PCNT_CH1_LCTRL_MODE_U0_M (PCNT_CH1_LCTRL_MODE_U0_V << PCNT_CH1_LCTRL_MODE_U0_S)
#define PCNT_CH1_LCTRL_MODE_U0_V 0x00000003
#define PCNT_CH1_LCTRL_MODE_U0_S 30
/* PCNT_CH1_HCTRL_MODE_U0 : R/W; bitpos: [29:28]; default: 0;
* This register configures how the CH0_POS_MODE/CH0_NEG_MODE settings will
* be modified when the control signal is high.
*
* 0: No modification;1: Invert behavior (increase -> decrease, decrease ->
* increase);2, 3: Inhibit counter modification
*/
#define PCNT_CH1_HCTRL_MODE_U0 0x00000003
#define PCNT_CH1_HCTRL_MODE_U0_M (PCNT_CH1_HCTRL_MODE_U0_V << PCNT_CH1_HCTRL_MODE_U0_S)
#define PCNT_CH1_HCTRL_MODE_U0_V 0x00000003
#define PCNT_CH1_HCTRL_MODE_U0_S 28
/* PCNT_CH1_POS_MODE_U0 : R/W; bitpos: [27:26]; default: 0;
* This register sets the behavior when the signal input of channel 1
* detects a positive edge.
*
* 1: Increment the counter;2: Decrement the counter;0, 3: No effect on
* counter
*/
#define PCNT_CH1_POS_MODE_U0 0x00000003
#define PCNT_CH1_POS_MODE_U0_M (PCNT_CH1_POS_MODE_U0_V << PCNT_CH1_POS_MODE_U0_S)
#define PCNT_CH1_POS_MODE_U0_V 0x00000003
#define PCNT_CH1_POS_MODE_U0_S 26
/* PCNT_CH1_NEG_MODE_U0 : R/W; bitpos: [25:24]; default: 0;
* This register sets the behavior when the signal input of channel 1
* detects a negative edge.
*
* 1: Increment the counter;2: Decrement the counter;0, 3: No effect on
* counter
*/
#define PCNT_CH1_NEG_MODE_U0 0x00000003
#define PCNT_CH1_NEG_MODE_U0_M (PCNT_CH1_NEG_MODE_U0_V << PCNT_CH1_NEG_MODE_U0_S)
#define PCNT_CH1_NEG_MODE_U0_V 0x00000003
#define PCNT_CH1_NEG_MODE_U0_S 24
/* PCNT_CH0_LCTRL_MODE_U0 : R/W; bitpos: [23:22]; default: 0;
* This register configures how the CH0_POS_MODE/CH0_NEG_MODE settings will
* be modified when the control signal is low.
*
* 0: No modification;1: Invert behavior (increase -> decrease, decrease ->
* increase);2, 3: Inhibit counter modification
*/
#define PCNT_CH0_LCTRL_MODE_U0 0x00000003
#define PCNT_CH0_LCTRL_MODE_U0_M (PCNT_CH0_LCTRL_MODE_U0_V << PCNT_CH0_LCTRL_MODE_U0_S)
#define PCNT_CH0_LCTRL_MODE_U0_V 0x00000003
#define PCNT_CH0_LCTRL_MODE_U0_S 22
/* PCNT_CH0_HCTRL_MODE_U0 : R/W; bitpos: [21:20]; default: 0;
* This register configures how the CH0_POS_MODE/CH0_NEG_MODE settings will
* be modified when the control signal is high.
*
* 0: No modification;1: Invert behavior (increase -> decrease, decrease ->
* increase);2, 3: Inhibit counter modification
*/
#define PCNT_CH0_HCTRL_MODE_U0 0x00000003
#define PCNT_CH0_HCTRL_MODE_U0_M (PCNT_CH0_HCTRL_MODE_U0_V << PCNT_CH0_HCTRL_MODE_U0_S)
#define PCNT_CH0_HCTRL_MODE_U0_V 0x00000003
#define PCNT_CH0_HCTRL_MODE_U0_S 20
/* PCNT_CH0_POS_MODE_U0 : R/W; bitpos: [19:18]; default: 0;
* This register sets the behavior when the signal input of channel 0
* detects a positive edge.
*
* 1: Increase the counter;2: Decrease the counter;0, 3: No effect on counter
*/
#define PCNT_CH0_POS_MODE_U0 0x00000003
#define PCNT_CH0_POS_MODE_U0_M (PCNT_CH0_POS_MODE_U0_V << PCNT_CH0_POS_MODE_U0_S)
#define PCNT_CH0_POS_MODE_U0_V 0x00000003
#define PCNT_CH0_POS_MODE_U0_S 18
/* PCNT_CH0_NEG_MODE_U0 : R/W; bitpos: [17:16]; default: 0;
* This register sets the behavior when the signal input of channel 0
* detects a negative edge.
*
* 1: Increase the counter;2: Decrease the counter;0, 3: No effect on counter
*/
#define PCNT_CH0_NEG_MODE_U0 0x00000003
#define PCNT_CH0_NEG_MODE_U0_M (PCNT_CH0_NEG_MODE_U0_V << PCNT_CH0_NEG_MODE_U0_S)
#define PCNT_CH0_NEG_MODE_U0_V 0x00000003
#define PCNT_CH0_NEG_MODE_U0_S 16
/* PCNT_THR_THRES1_EN_U0 : R/W; bitpos: [15]; default: 0;
* This is the enable bit for unit 0's thres1 comparator.
*/
#define PCNT_THR_THRES1_EN_U0 (BIT(15))
#define PCNT_THR_THRES1_EN_U0_M (PCNT_THR_THRES1_EN_U0_V << PCNT_THR_THRES1_EN_U0_S)
#define PCNT_THR_THRES1_EN_U0_V 0x00000001
#define PCNT_THR_THRES1_EN_U0_S 15
/* PCNT_THR_THRES0_EN_U0 : R/W; bitpos: [14]; default: 0;
* This is the enable bit for unit 0's thres0 comparator.
*/
#define PCNT_THR_THRES0_EN_U0 (BIT(14))
#define PCNT_THR_THRES0_EN_U0_M (PCNT_THR_THRES0_EN_U0_V << PCNT_THR_THRES0_EN_U0_S)
#define PCNT_THR_THRES0_EN_U0_V 0x00000001
#define PCNT_THR_THRES0_EN_U0_S 14
/* PCNT_THR_L_LIM_EN_U0 : R/W; bitpos: [13]; default: 1;
* This is the enable bit for unit 0's thr_l_lim comparator.
*/
#define PCNT_THR_L_LIM_EN_U0 (BIT(13))
#define PCNT_THR_L_LIM_EN_U0_M (PCNT_THR_L_LIM_EN_U0_V << PCNT_THR_L_LIM_EN_U0_S)
#define PCNT_THR_L_LIM_EN_U0_V 0x00000001
#define PCNT_THR_L_LIM_EN_U0_S 13
/* PCNT_THR_H_LIM_EN_U0 : R/W; bitpos: [12]; default: 1;
* This is the enable bit for unit 0's thr_h_lim comparator.
*/
#define PCNT_THR_H_LIM_EN_U0 (BIT(12))
#define PCNT_THR_H_LIM_EN_U0_M (PCNT_THR_H_LIM_EN_U0_V << PCNT_THR_H_LIM_EN_U0_S)
#define PCNT_THR_H_LIM_EN_U0_V 0x00000001
#define PCNT_THR_H_LIM_EN_U0_S 12
/* PCNT_THR_ZERO_EN_U0 : R/W; bitpos: [11]; default: 1;
* This is the enable bit for unit 0's zero comparator.
*/
#define PCNT_THR_ZERO_EN_U0 (BIT(11))
#define PCNT_THR_ZERO_EN_U0_M (PCNT_THR_ZERO_EN_U0_V << PCNT_THR_ZERO_EN_U0_S)
#define PCNT_THR_ZERO_EN_U0_V 0x00000001
#define PCNT_THR_ZERO_EN_U0_S 11
/* PCNT_FILTER_EN_U0 : R/W; bitpos: [10]; default: 1;
* This is the enable bit for unit 0's input filter.
*/
#define PCNT_FILTER_EN_U0 (BIT(10))
#define PCNT_FILTER_EN_U0_M (PCNT_FILTER_EN_U0_V << PCNT_FILTER_EN_U0_S)
#define PCNT_FILTER_EN_U0_V 0x00000001
#define PCNT_FILTER_EN_U0_S 10
/* PCNT_FILTER_THRES_U0 : R/W; bitpos: [9:0]; default: 16;
* This sets the maximum threshold, in APB_CLK cycles, for the filter.
*
* Any pulses with width less than this will be ignored when the filter is
* enabled.
*/
#define PCNT_FILTER_THRES_U0 0x000003ff
#define PCNT_FILTER_THRES_U0_M (PCNT_FILTER_THRES_U0_V << PCNT_FILTER_THRES_U0_S)
#define PCNT_FILTER_THRES_U0_V 0x000003ff
#define PCNT_FILTER_THRES_U0_S 0
/* PCNT_U0_CONF1_REG register
* Configuration register 1 for unit 0
*/
#define PCNT_U0_CONF1_REG (DR_REG_PCNT_BASE + 0x4)
/* PCNT_CNT_THRES1_U0 : R/W; bitpos: [31:16]; default: 0;
* This register is used to configure the thres1 value for unit 0.
*/
#define PCNT_CNT_THRES1_U0 0x0000ffff
#define PCNT_CNT_THRES1_U0_M (PCNT_CNT_THRES1_U0_V << PCNT_CNT_THRES1_U0_S)
#define PCNT_CNT_THRES1_U0_V 0x0000ffff
#define PCNT_CNT_THRES1_U0_S 16
/* PCNT_CNT_THRES0_U0 : R/W; bitpos: [15:0]; default: 0;
* This register is used to configure the thres0 value for unit 0.
*/
#define PCNT_CNT_THRES0_U0 0x0000ffff
#define PCNT_CNT_THRES0_U0_M (PCNT_CNT_THRES0_U0_V << PCNT_CNT_THRES0_U0_S)
#define PCNT_CNT_THRES0_U0_V 0x0000ffff
#define PCNT_CNT_THRES0_U0_S 0
/* PCNT_U0_CONF2_REG register
* Configuration register 2 for unit 0
*/
#define PCNT_U0_CONF2_REG (DR_REG_PCNT_BASE + 0x8)
/* PCNT_CNT_L_LIM_U0 : R/W; bitpos: [31:16]; default: 0;
* This register is used to configure the thr_l_lim value for unit 0.
*/
#define PCNT_CNT_L_LIM_U0 0x0000ffff
#define PCNT_CNT_L_LIM_U0_M (PCNT_CNT_L_LIM_U0_V << PCNT_CNT_L_LIM_U0_S)
#define PCNT_CNT_L_LIM_U0_V 0x0000ffff
#define PCNT_CNT_L_LIM_U0_S 16
/* PCNT_CNT_H_LIM_U0 : R/W; bitpos: [15:0]; default: 0;
* This register is used to configure the thr_h_lim value for unit 0.
*/
#define PCNT_CNT_H_LIM_U0 0x0000ffff
#define PCNT_CNT_H_LIM_U0_M (PCNT_CNT_H_LIM_U0_V << PCNT_CNT_H_LIM_U0_S)
#define PCNT_CNT_H_LIM_U0_V 0x0000ffff
#define PCNT_CNT_H_LIM_U0_S 0
/* PCNT_U1_CONF0_REG register
* Configuration register 0 for unit 1
*/
#define PCNT_U1_CONF0_REG (DR_REG_PCNT_BASE + 0xc)
/* PCNT_CH1_LCTRL_MODE_U1 : R/W; bitpos: [31:30]; default: 0;
* This register configures how the CH1_POS_MODE/CH1_NEG_MODE settings will
* be modified when the control signal is low.
*
* 0: No modification;1: Invert behavior (increase -> decrease, decrease ->
* increase);2, 3: Inhibit counter modification
*/
#define PCNT_CH1_LCTRL_MODE_U1 0x00000003
#define PCNT_CH1_LCTRL_MODE_U1_M (PCNT_CH1_LCTRL_MODE_U1_V << PCNT_CH1_LCTRL_MODE_U1_S)
#define PCNT_CH1_LCTRL_MODE_U1_V 0x00000003
#define PCNT_CH1_LCTRL_MODE_U1_S 30
/* PCNT_CH1_HCTRL_MODE_U1 : R/W; bitpos: [29:28]; default: 0;
* This register configures how the CH1_POS_MODE/CH1_NEG_MODE settings will
* be modified when the control signal is high.
*
* 0: No modification;1: Invert behavior (increase -> decrease, decrease ->
* increase);2, 3: Inhibit counter modification
*/
#define PCNT_CH1_HCTRL_MODE_U1 0x00000003
#define PCNT_CH1_HCTRL_MODE_U1_M (PCNT_CH1_HCTRL_MODE_U1_V << PCNT_CH1_HCTRL_MODE_U1_S)
#define PCNT_CH1_HCTRL_MODE_U1_V 0x00000003
#define PCNT_CH1_HCTRL_MODE_U1_S 28
/* PCNT_CH1_POS_MODE_U1 : R/W; bitpos: [27:26]; default: 0;
* This register sets the behavior when the signal input of channel 1
* detects a positive edge.
*
* 1: Increment the counter;2: Decrement the counter;0, 3: No effect on
* counter
*/
#define PCNT_CH1_POS_MODE_U1 0x00000003
#define PCNT_CH1_POS_MODE_U1_M (PCNT_CH1_POS_MODE_U1_V << PCNT_CH1_POS_MODE_U1_S)
#define PCNT_CH1_POS_MODE_U1_V 0x00000003
#define PCNT_CH1_POS_MODE_U1_S 26
/* PCNT_CH1_NEG_MODE_U1 : R/W; bitpos: [25:24]; default: 0;
* This register sets the behavior when the signal input of channel 1
* detects a negative edge.
*
* 1: Increment the counter;2: Decrement the counter;0, 3: No effect on
* counter
*/
#define PCNT_CH1_NEG_MODE_U1 0x00000003
#define PCNT_CH1_NEG_MODE_U1_M (PCNT_CH1_NEG_MODE_U1_V << PCNT_CH1_NEG_MODE_U1_S)
#define PCNT_CH1_NEG_MODE_U1_V 0x00000003
#define PCNT_CH1_NEG_MODE_U1_S 24
/* PCNT_CH0_LCTRL_MODE_U1 : R/W; bitpos: [23:22]; default: 0;
* This register configures how the CH1_POS_MODE/CH1_NEG_MODE settings will
* be modified when the control signal is low.
*
* 0: No modification;1: Invert behavior (increase -> decrease, decrease ->
* increase);2, 3: Inhibit counter modification
*/
#define PCNT_CH0_LCTRL_MODE_U1 0x00000003
#define PCNT_CH0_LCTRL_MODE_U1_M (PCNT_CH0_LCTRL_MODE_U1_V << PCNT_CH0_LCTRL_MODE_U1_S)
#define PCNT_CH0_LCTRL_MODE_U1_V 0x00000003
#define PCNT_CH0_LCTRL_MODE_U1_S 22
/* PCNT_CH0_HCTRL_MODE_U1 : R/W; bitpos: [21:20]; default: 0;
* This register configures how the CH1_POS_MODE/CH1_NEG_MODE settings will
* be modified when the control signal is high.
*
* 0: No modification;1: Invert behavior (increase -> decrease, decrease ->
* increase);2, 3: Inhibit counter modification
*/
#define PCNT_CH0_HCTRL_MODE_U1 0x00000003
#define PCNT_CH0_HCTRL_MODE_U1_M (PCNT_CH0_HCTRL_MODE_U1_V << PCNT_CH0_HCTRL_MODE_U1_S)
#define PCNT_CH0_HCTRL_MODE_U1_V 0x00000003
#define PCNT_CH0_HCTRL_MODE_U1_S 20
/* PCNT_CH0_POS_MODE_U1 : R/W; bitpos: [19:18]; default: 0;
* This register sets the behavior when the signal input of channel 0
* detects a positive edge.
*
* 1: Increase the counter;2: Decrease the counter;0, 3: No effect on counter
*/
#define PCNT_CH0_POS_MODE_U1 0x00000003
#define PCNT_CH0_POS_MODE_U1_M (PCNT_CH0_POS_MODE_U1_V << PCNT_CH0_POS_MODE_U1_S)
#define PCNT_CH0_POS_MODE_U1_V 0x00000003
#define PCNT_CH0_POS_MODE_U1_S 18
/* PCNT_CH0_NEG_MODE_U1 : R/W; bitpos: [17:16]; default: 0;
* This register sets the behavior when the signal input of channel 0
* detects a negative edge.
*
* 1: Increase the counter;2: Decrease the counter;0, 3: No effect on counter
*/
#define PCNT_CH0_NEG_MODE_U1 0x00000003
#define PCNT_CH0_NEG_MODE_U1_M (PCNT_CH0_NEG_MODE_U1_V << PCNT_CH0_NEG_MODE_U1_S)
#define PCNT_CH0_NEG_MODE_U1_V 0x00000003
#define PCNT_CH0_NEG_MODE_U1_S 16
/* PCNT_THR_THRES1_EN_U1 : R/W; bitpos: [15]; default: 0;
* This is the enable bit for unit 1's thres1 comparator.
*/
#define PCNT_THR_THRES1_EN_U1 (BIT(15))
#define PCNT_THR_THRES1_EN_U1_M (PCNT_THR_THRES1_EN_U1_V << PCNT_THR_THRES1_EN_U1_S)
#define PCNT_THR_THRES1_EN_U1_V 0x00000001
#define PCNT_THR_THRES1_EN_U1_S 15
/* PCNT_THR_THRES0_EN_U1 : R/W; bitpos: [14]; default: 0;
* This is the enable bit for unit 1's thres0 comparator.
*/
#define PCNT_THR_THRES0_EN_U1 (BIT(14))
#define PCNT_THR_THRES0_EN_U1_M (PCNT_THR_THRES0_EN_U1_V << PCNT_THR_THRES0_EN_U1_S)
#define PCNT_THR_THRES0_EN_U1_V 0x00000001
#define PCNT_THR_THRES0_EN_U1_S 14
/* PCNT_THR_L_LIM_EN_U1 : R/W; bitpos: [13]; default: 1;
* This is the enable bit for unit 1's thr_l_lim comparator.
*/
#define PCNT_THR_L_LIM_EN_U1 (BIT(13))
#define PCNT_THR_L_LIM_EN_U1_M (PCNT_THR_L_LIM_EN_U1_V << PCNT_THR_L_LIM_EN_U1_S)
#define PCNT_THR_L_LIM_EN_U1_V 0x00000001
#define PCNT_THR_L_LIM_EN_U1_S 13
/* PCNT_THR_H_LIM_EN_U1 : R/W; bitpos: [12]; default: 1;
* This is the enable bit for unit 1's thr_h_lim comparator.
*/
#define PCNT_THR_H_LIM_EN_U1 (BIT(12))
#define PCNT_THR_H_LIM_EN_U1_M (PCNT_THR_H_LIM_EN_U1_V << PCNT_THR_H_LIM_EN_U1_S)
#define PCNT_THR_H_LIM_EN_U1_V 0x00000001
#define PCNT_THR_H_LIM_EN_U1_S 12
/* PCNT_THR_ZERO_EN_U1 : R/W; bitpos: [11]; default: 1;
* This is the enable bit for unit 1's zero comparator.
*/
#define PCNT_THR_ZERO_EN_U1 (BIT(11))
#define PCNT_THR_ZERO_EN_U1_M (PCNT_THR_ZERO_EN_U1_V << PCNT_THR_ZERO_EN_U1_S)
#define PCNT_THR_ZERO_EN_U1_V 0x00000001
#define PCNT_THR_ZERO_EN_U1_S 11
/* PCNT_FILTER_EN_U1 : R/W; bitpos: [10]; default: 1;
* This is the enable bit for unit 1's input filter.
*/
#define PCNT_FILTER_EN_U1 (BIT(10))
#define PCNT_FILTER_EN_U1_M (PCNT_FILTER_EN_U1_V << PCNT_FILTER_EN_U1_S)
#define PCNT_FILTER_EN_U1_V 0x00000001
#define PCNT_FILTER_EN_U1_S 10
/* PCNT_FILTER_THRES_U1 : R/W; bitpos: [9:0]; default: 16;
* This sets the maximum threshold, in APB_CLK cycles, for the filter.
*
* Any pulses with width less than this will be ignored when the filter is
* enabled.
*/
#define PCNT_FILTER_THRES_U1 0x000003ff
#define PCNT_FILTER_THRES_U1_M (PCNT_FILTER_THRES_U1_V << PCNT_FILTER_THRES_U1_S)
#define PCNT_FILTER_THRES_U1_V 0x000003ff
#define PCNT_FILTER_THRES_U1_S 0
/* PCNT_U1_CONF1_REG register
* Configuration register 1 for unit 1
*/
#define PCNT_U1_CONF1_REG (DR_REG_PCNT_BASE + 0x10)
/* PCNT_CNT_THRES1_U1 : R/W; bitpos: [31:16]; default: 0;
* This register is used to configure the thres1 value for unit 1.
*/
#define PCNT_CNT_THRES1_U1 0x0000ffff
#define PCNT_CNT_THRES1_U1_M (PCNT_CNT_THRES1_U1_V << PCNT_CNT_THRES1_U1_S)
#define PCNT_CNT_THRES1_U1_V 0x0000ffff
#define PCNT_CNT_THRES1_U1_S 16
/* PCNT_CNT_THRES0_U1 : R/W; bitpos: [15:0]; default: 0;
* This register is used to configure the thres0 value for unit 1.
*/
#define PCNT_CNT_THRES0_U1 0x0000ffff
#define PCNT_CNT_THRES0_U1_M (PCNT_CNT_THRES0_U1_V << PCNT_CNT_THRES0_U1_S)
#define PCNT_CNT_THRES0_U1_V 0x0000ffff
#define PCNT_CNT_THRES0_U1_S 0
/* PCNT_U1_CONF2_REG register
* Configuration register 2 for unit 1
*/
#define PCNT_U1_CONF2_REG (DR_REG_PCNT_BASE + 0x14)
/* PCNT_CNT_L_LIM_U1 : R/W; bitpos: [31:16]; default: 0;
* This register is used to configure the thr_l_lim value for unit 1.
*/
#define PCNT_CNT_L_LIM_U1 0x0000ffff
#define PCNT_CNT_L_LIM_U1_M (PCNT_CNT_L_LIM_U1_V << PCNT_CNT_L_LIM_U1_S)
#define PCNT_CNT_L_LIM_U1_V 0x0000ffff
#define PCNT_CNT_L_LIM_U1_S 16
/* PCNT_CNT_H_LIM_U1 : R/W; bitpos: [15:0]; default: 0;
* This register is used to configure the thr_h_lim value for unit 1.
*/
#define PCNT_CNT_H_LIM_U1 0x0000ffff
#define PCNT_CNT_H_LIM_U1_M (PCNT_CNT_H_LIM_U1_V << PCNT_CNT_H_LIM_U1_S)
#define PCNT_CNT_H_LIM_U1_V 0x0000ffff
#define PCNT_CNT_H_LIM_U1_S 0
/* PCNT_U2_CONF0_REG register
* Configuration register 0 for unit 2
*/
#define PCNT_U2_CONF0_REG (DR_REG_PCNT_BASE + 0x18)
/* PCNT_CH1_LCTRL_MODE_U2 : R/W; bitpos: [31:30]; default: 0;
* This register configures how the CH2_POS_MODE/CH2_NEG_MODE settings will
* be modified when the control signal is low.
*
* 0: No modification;1: Invert behavior (increase -> decrease, decrease ->
* increase);2, 3: Inhibit counter modification
*/
#define PCNT_CH1_LCTRL_MODE_U2 0x00000003
#define PCNT_CH1_LCTRL_MODE_U2_M (PCNT_CH1_LCTRL_MODE_U2_V << PCNT_CH1_LCTRL_MODE_U2_S)
#define PCNT_CH1_LCTRL_MODE_U2_V 0x00000003
#define PCNT_CH1_LCTRL_MODE_U2_S 30
/* PCNT_CH1_HCTRL_MODE_U2 : R/W; bitpos: [29:28]; default: 0;
* This register configures how the CH2_POS_MODE/CH2_NEG_MODE settings will
* be modified when the control signal is high.
*
* 0: No modification;1: Invert behavior (increase -> decrease, decrease ->
* increase);2, 3: Inhibit counter modification
*/
#define PCNT_CH1_HCTRL_MODE_U2 0x00000003
#define PCNT_CH1_HCTRL_MODE_U2_M (PCNT_CH1_HCTRL_MODE_U2_V << PCNT_CH1_HCTRL_MODE_U2_S)
#define PCNT_CH1_HCTRL_MODE_U2_V 0x00000003
#define PCNT_CH1_HCTRL_MODE_U2_S 28
/* PCNT_CH1_POS_MODE_U2 : R/W; bitpos: [27:26]; default: 0;
* This register sets the behavior when the signal input of channel 1
* detects a positive edge.
*
* 1: Increment the counter;2: Decrement the counter;0, 3: No effect on
* counter
*/
#define PCNT_CH1_POS_MODE_U2 0x00000003
#define PCNT_CH1_POS_MODE_U2_M (PCNT_CH1_POS_MODE_U2_V << PCNT_CH1_POS_MODE_U2_S)
#define PCNT_CH1_POS_MODE_U2_V 0x00000003
#define PCNT_CH1_POS_MODE_U2_S 26
/* PCNT_CH1_NEG_MODE_U2 : R/W; bitpos: [25:24]; default: 0;
* This register sets the behavior when the signal input of channel 1
* detects a negative edge.
*
* 1: Increment the counter;2: Decrement the counter;0, 3: No effect on
* counter
*/
#define PCNT_CH1_NEG_MODE_U2 0x00000003
#define PCNT_CH1_NEG_MODE_U2_M (PCNT_CH1_NEG_MODE_U2_V << PCNT_CH1_NEG_MODE_U2_S)
#define PCNT_CH1_NEG_MODE_U2_V 0x00000003
#define PCNT_CH1_NEG_MODE_U2_S 24
/* PCNT_CH0_LCTRL_MODE_U2 : R/W; bitpos: [23:22]; default: 0;
* This register configures how the CH2_POS_MODE/CH2_NEG_MODE settings will
* be modified when the control signal is low.
*
* 0: No modification;1: Invert behavior (increase -> decrease, decrease ->
* increase);2, 3: Inhibit counter modification
*/
#define PCNT_CH0_LCTRL_MODE_U2 0x00000003
#define PCNT_CH0_LCTRL_MODE_U2_M (PCNT_CH0_LCTRL_MODE_U2_V << PCNT_CH0_LCTRL_MODE_U2_S)
#define PCNT_CH0_LCTRL_MODE_U2_V 0x00000003
#define PCNT_CH0_LCTRL_MODE_U2_S 22
/* PCNT_CH0_HCTRL_MODE_U2 : R/W; bitpos: [21:20]; default: 0;
* This register configures how the CH2_POS_MODE/CH2_NEG_MODE settings will
* be modified when the control signal is high.
*
* 0: No modification;1: Invert behavior (increase -> decrease, decrease ->
* increase);2, 3: Inhibit counter modification
*/
#define PCNT_CH0_HCTRL_MODE_U2 0x00000003
#define PCNT_CH0_HCTRL_MODE_U2_M (PCNT_CH0_HCTRL_MODE_U2_V << PCNT_CH0_HCTRL_MODE_U2_S)
#define PCNT_CH0_HCTRL_MODE_U2_V 0x00000003
#define PCNT_CH0_HCTRL_MODE_U2_S 20
/* PCNT_CH0_POS_MODE_U2 : R/W; bitpos: [19:18]; default: 0;
* This register sets the behavior when the signal input of channel 0
* detects a positive edge.
*
* 1: Increase the counter;2: Decrease the counter;0, 3: No effect on counter
*/
#define PCNT_CH0_POS_MODE_U2 0x00000003
#define PCNT_CH0_POS_MODE_U2_M (PCNT_CH0_POS_MODE_U2_V << PCNT_CH0_POS_MODE_U2_S)
#define PCNT_CH0_POS_MODE_U2_V 0x00000003
#define PCNT_CH0_POS_MODE_U2_S 18
/* PCNT_CH0_NEG_MODE_U2 : R/W; bitpos: [17:16]; default: 0;
* This register sets the behavior when the signal input of channel 0
* detects a negative edge.
*
* 1: Increase the counter;2: Decrease the counter;0, 3: No effect on counter
*/
#define PCNT_CH0_NEG_MODE_U2 0x00000003
#define PCNT_CH0_NEG_MODE_U2_M (PCNT_CH0_NEG_MODE_U2_V << PCNT_CH0_NEG_MODE_U2_S)
#define PCNT_CH0_NEG_MODE_U2_V 0x00000003
#define PCNT_CH0_NEG_MODE_U2_S 16
/* PCNT_THR_THRES1_EN_U2 : R/W; bitpos: [15]; default: 0;
* This is the enable bit for unit 2's thres1 comparator.
*/
#define PCNT_THR_THRES1_EN_U2 (BIT(15))
#define PCNT_THR_THRES1_EN_U2_M (PCNT_THR_THRES1_EN_U2_V << PCNT_THR_THRES1_EN_U2_S)
#define PCNT_THR_THRES1_EN_U2_V 0x00000001
#define PCNT_THR_THRES1_EN_U2_S 15
/* PCNT_THR_THRES0_EN_U2 : R/W; bitpos: [14]; default: 0;
* This is the enable bit for unit 2's thres0 comparator.
*/
#define PCNT_THR_THRES0_EN_U2 (BIT(14))
#define PCNT_THR_THRES0_EN_U2_M (PCNT_THR_THRES0_EN_U2_V << PCNT_THR_THRES0_EN_U2_S)
#define PCNT_THR_THRES0_EN_U2_V 0x00000001
#define PCNT_THR_THRES0_EN_U2_S 14
/* PCNT_THR_L_LIM_EN_U2 : R/W; bitpos: [13]; default: 1;
* This is the enable bit for unit 2's thr_l_lim comparator.
*/
#define PCNT_THR_L_LIM_EN_U2 (BIT(13))
#define PCNT_THR_L_LIM_EN_U2_M (PCNT_THR_L_LIM_EN_U2_V << PCNT_THR_L_LIM_EN_U2_S)
#define PCNT_THR_L_LIM_EN_U2_V 0x00000001
#define PCNT_THR_L_LIM_EN_U2_S 13
/* PCNT_THR_H_LIM_EN_U2 : R/W; bitpos: [12]; default: 1;
* This is the enable bit for unit 2's thr_h_lim comparator.
*/
#define PCNT_THR_H_LIM_EN_U2 (BIT(12))
#define PCNT_THR_H_LIM_EN_U2_M (PCNT_THR_H_LIM_EN_U2_V << PCNT_THR_H_LIM_EN_U2_S)
#define PCNT_THR_H_LIM_EN_U2_V 0x00000001
#define PCNT_THR_H_LIM_EN_U2_S 12
/* PCNT_THR_ZERO_EN_U2 : R/W; bitpos: [11]; default: 1;
* This is the enable bit for unit 2's zero comparator.
*/
#define PCNT_THR_ZERO_EN_U2 (BIT(11))
#define PCNT_THR_ZERO_EN_U2_M (PCNT_THR_ZERO_EN_U2_V << PCNT_THR_ZERO_EN_U2_S)
#define PCNT_THR_ZERO_EN_U2_V 0x00000001
#define PCNT_THR_ZERO_EN_U2_S 11
/* PCNT_FILTER_EN_U2 : R/W; bitpos: [10]; default: 1;
* This is the enable bit for unit 2's input filter.
*/
#define PCNT_FILTER_EN_U2 (BIT(10))
#define PCNT_FILTER_EN_U2_M (PCNT_FILTER_EN_U2_V << PCNT_FILTER_EN_U2_S)
#define PCNT_FILTER_EN_U2_V 0x00000001
#define PCNT_FILTER_EN_U2_S 10
/* PCNT_FILTER_THRES_U2 : R/W; bitpos: [9:0]; default: 16;
* This sets the maximum threshold, in APB_CLK cycles, for the filter.
*
* Any pulses with width less than this will be ignored when the filter is
* enabled.
*/
#define PCNT_FILTER_THRES_U2 0x000003ff
#define PCNT_FILTER_THRES_U2_M (PCNT_FILTER_THRES_U2_V << PCNT_FILTER_THRES_U2_S)
#define PCNT_FILTER_THRES_U2_V 0x000003ff
#define PCNT_FILTER_THRES_U2_S 0
/* PCNT_U2_CONF1_REG register
* Configuration register 1 for unit 2
*/
#define PCNT_U2_CONF1_REG (DR_REG_PCNT_BASE + 0x1c)
/* PCNT_CNT_THRES1_U2 : R/W; bitpos: [31:16]; default: 0;
* This register is used to configure the thres1 value for unit 2.
*/
#define PCNT_CNT_THRES1_U2 0x0000ffff
#define PCNT_CNT_THRES1_U2_M (PCNT_CNT_THRES1_U2_V << PCNT_CNT_THRES1_U2_S)
#define PCNT_CNT_THRES1_U2_V 0x0000ffff
#define PCNT_CNT_THRES1_U2_S 16
/* PCNT_CNT_THRES0_U2 : R/W; bitpos: [15:0]; default: 0;
* This register is used to configure the thres0 value for unit 2.
*/
#define PCNT_CNT_THRES0_U2 0x0000ffff
#define PCNT_CNT_THRES0_U2_M (PCNT_CNT_THRES0_U2_V << PCNT_CNT_THRES0_U2_S)
#define PCNT_CNT_THRES0_U2_V 0x0000ffff
#define PCNT_CNT_THRES0_U2_S 0
/* PCNT_U2_CONF2_REG register
* Configuration register 2 for unit 2
*/
#define PCNT_U2_CONF2_REG (DR_REG_PCNT_BASE + 0x20)
/* PCNT_CNT_L_LIM_U2 : R/W; bitpos: [31:16]; default: 0;
* This register is used to configure the thr_l_lim value for unit 2.
*/
#define PCNT_CNT_L_LIM_U2 0x0000ffff
#define PCNT_CNT_L_LIM_U2_M (PCNT_CNT_L_LIM_U2_V << PCNT_CNT_L_LIM_U2_S)
#define PCNT_CNT_L_LIM_U2_V 0x0000ffff
#define PCNT_CNT_L_LIM_U2_S 16
/* PCNT_CNT_H_LIM_U2 : R/W; bitpos: [15:0]; default: 0;
* This register is used to configure the thr_h_lim value for unit 2.
*/
#define PCNT_CNT_H_LIM_U2 0x0000ffff
#define PCNT_CNT_H_LIM_U2_M (PCNT_CNT_H_LIM_U2_V << PCNT_CNT_H_LIM_U2_S)
#define PCNT_CNT_H_LIM_U2_V 0x0000ffff
#define PCNT_CNT_H_LIM_U2_S 0
/* PCNT_U3_CONF0_REG register
* Configuration register 0 for unit 3
*/
#define PCNT_U3_CONF0_REG (DR_REG_PCNT_BASE + 0x24)
/* PCNT_CH1_LCTRL_MODE_U3 : R/W; bitpos: [31:30]; default: 0;
* This register configures how the CH3_POS_MODE/CH3_NEG_MODE settings will
* be modified when the control signal is low.
*
* 0: No modification;1: Invert behavior (increase -> decrease, decrease ->
* increase);2, 3: Inhibit counter modification
*/
#define PCNT_CH1_LCTRL_MODE_U3 0x00000003
#define PCNT_CH1_LCTRL_MODE_U3_M (PCNT_CH1_LCTRL_MODE_U3_V << PCNT_CH1_LCTRL_MODE_U3_S)
#define PCNT_CH1_LCTRL_MODE_U3_V 0x00000003
#define PCNT_CH1_LCTRL_MODE_U3_S 30
/* PCNT_CH1_HCTRL_MODE_U3 : R/W; bitpos: [29:28]; default: 0;
* This register configures how the CH3_POS_MODE/CH3_NEG_MODE settings will
* be modified when the control signal is high.
*
* 0: No modification;1: Invert behavior (increase -> decrease, decrease ->
* increase);2, 3: Inhibit counter modification
*/
#define PCNT_CH1_HCTRL_MODE_U3 0x00000003
#define PCNT_CH1_HCTRL_MODE_U3_M (PCNT_CH1_HCTRL_MODE_U3_V << PCNT_CH1_HCTRL_MODE_U3_S)
#define PCNT_CH1_HCTRL_MODE_U3_V 0x00000003
#define PCNT_CH1_HCTRL_MODE_U3_S 28
/* PCNT_CH1_POS_MODE_U3 : R/W; bitpos: [27:26]; default: 0;
* This register sets the behavior when the signal input of channel 1
* detects a positive edge.
*
* 1: Increment the counter;2: Decrement the counter;0, 3: No effect on
* counter
*/
#define PCNT_CH1_POS_MODE_U3 0x00000003
#define PCNT_CH1_POS_MODE_U3_M (PCNT_CH1_POS_MODE_U3_V << PCNT_CH1_POS_MODE_U3_S)
#define PCNT_CH1_POS_MODE_U3_V 0x00000003
#define PCNT_CH1_POS_MODE_U3_S 26
/* PCNT_CH1_NEG_MODE_U3 : R/W; bitpos: [25:24]; default: 0;
* This register sets the behavior when the signal input of channel 1
* detects a negative edge.
*
* 1: Increment the counter;2: Decrement the counter;0, 3: No effect on
* counter
*/
#define PCNT_CH1_NEG_MODE_U3 0x00000003
#define PCNT_CH1_NEG_MODE_U3_M (PCNT_CH1_NEG_MODE_U3_V << PCNT_CH1_NEG_MODE_U3_S)
#define PCNT_CH1_NEG_MODE_U3_V 0x00000003
#define PCNT_CH1_NEG_MODE_U3_S 24
/* PCNT_CH0_LCTRL_MODE_U3 : R/W; bitpos: [23:22]; default: 0;
* This register configures how the CH3_POS_MODE/CH3_NEG_MODE settings will
* be modified when the control signal is low.
*
* 0: No modification;1: Invert behavior (increase -> decrease, decrease ->
* increase);2, 3: Inhibit counter modification
*/
#define PCNT_CH0_LCTRL_MODE_U3 0x00000003
#define PCNT_CH0_LCTRL_MODE_U3_M (PCNT_CH0_LCTRL_MODE_U3_V << PCNT_CH0_LCTRL_MODE_U3_S)
#define PCNT_CH0_LCTRL_MODE_U3_V 0x00000003
#define PCNT_CH0_LCTRL_MODE_U3_S 22
/* PCNT_CH0_HCTRL_MODE_U3 : R/W; bitpos: [21:20]; default: 0;
* This register configures how the CH3_POS_MODE/CH3_NEG_MODE settings will
* be modified when the control signal is high.
*
* 0: No modification;1: Invert behavior (increase -> decrease, decrease ->
* increase);2, 3: Inhibit counter modification
*/
#define PCNT_CH0_HCTRL_MODE_U3 0x00000003
#define PCNT_CH0_HCTRL_MODE_U3_M (PCNT_CH0_HCTRL_MODE_U3_V << PCNT_CH0_HCTRL_MODE_U3_S)
#define PCNT_CH0_HCTRL_MODE_U3_V 0x00000003
#define PCNT_CH0_HCTRL_MODE_U3_S 20
/* PCNT_CH0_POS_MODE_U3 : R/W; bitpos: [19:18]; default: 0;
* This register sets the behavior when the signal input of channel 0
* detects a positive edge.
*
* 1: Increase the counter;2: Decrease the counter;0, 3: No effect on counter
*/
#define PCNT_CH0_POS_MODE_U3 0x00000003
#define PCNT_CH0_POS_MODE_U3_M (PCNT_CH0_POS_MODE_U3_V << PCNT_CH0_POS_MODE_U3_S)
#define PCNT_CH0_POS_MODE_U3_V 0x00000003
#define PCNT_CH0_POS_MODE_U3_S 18
/* PCNT_CH0_NEG_MODE_U3 : R/W; bitpos: [17:16]; default: 0;
* This register sets the behavior when the signal input of channel 0
* detects a negative edge.
*
* 1: Increase the counter;2: Decrease the counter;0, 3: No effect on counter
*/
#define PCNT_CH0_NEG_MODE_U3 0x00000003
#define PCNT_CH0_NEG_MODE_U3_M (PCNT_CH0_NEG_MODE_U3_V << PCNT_CH0_NEG_MODE_U3_S)
#define PCNT_CH0_NEG_MODE_U3_V 0x00000003
#define PCNT_CH0_NEG_MODE_U3_S 16
/* PCNT_THR_THRES1_EN_U3 : R/W; bitpos: [15]; default: 0;
* This is the enable bit for unit 3's thres1 comparator.
*/
#define PCNT_THR_THRES1_EN_U3 (BIT(15))
#define PCNT_THR_THRES1_EN_U3_M (PCNT_THR_THRES1_EN_U3_V << PCNT_THR_THRES1_EN_U3_S)
#define PCNT_THR_THRES1_EN_U3_V 0x00000001
#define PCNT_THR_THRES1_EN_U3_S 15
/* PCNT_THR_THRES0_EN_U3 : R/W; bitpos: [14]; default: 0;
* This is the enable bit for unit 3's thres0 comparator.
*/
#define PCNT_THR_THRES0_EN_U3 (BIT(14))
#define PCNT_THR_THRES0_EN_U3_M (PCNT_THR_THRES0_EN_U3_V << PCNT_THR_THRES0_EN_U3_S)
#define PCNT_THR_THRES0_EN_U3_V 0x00000001
#define PCNT_THR_THRES0_EN_U3_S 14
/* PCNT_THR_L_LIM_EN_U3 : R/W; bitpos: [13]; default: 1;
* This is the enable bit for unit 3's thr_l_lim comparator.
*/
#define PCNT_THR_L_LIM_EN_U3 (BIT(13))
#define PCNT_THR_L_LIM_EN_U3_M (PCNT_THR_L_LIM_EN_U3_V << PCNT_THR_L_LIM_EN_U3_S)
#define PCNT_THR_L_LIM_EN_U3_V 0x00000001
#define PCNT_THR_L_LIM_EN_U3_S 13
/* PCNT_THR_H_LIM_EN_U3 : R/W; bitpos: [12]; default: 1;
* This is the enable bit for unit 3's thr_h_lim comparator.
*/
#define PCNT_THR_H_LIM_EN_U3 (BIT(12))
#define PCNT_THR_H_LIM_EN_U3_M (PCNT_THR_H_LIM_EN_U3_V << PCNT_THR_H_LIM_EN_U3_S)
#define PCNT_THR_H_LIM_EN_U3_V 0x00000001
#define PCNT_THR_H_LIM_EN_U3_S 12
/* PCNT_THR_ZERO_EN_U3 : R/W; bitpos: [11]; default: 1;
* This is the enable bit for unit 3's zero comparator.
*/
#define PCNT_THR_ZERO_EN_U3 (BIT(11))
#define PCNT_THR_ZERO_EN_U3_M (PCNT_THR_ZERO_EN_U3_V << PCNT_THR_ZERO_EN_U3_S)
#define PCNT_THR_ZERO_EN_U3_V 0x00000001
#define PCNT_THR_ZERO_EN_U3_S 11
/* PCNT_FILTER_EN_U3 : R/W; bitpos: [10]; default: 1;
* This is the enable bit for unit 3's input filter.
*/
#define PCNT_FILTER_EN_U3 (BIT(10))
#define PCNT_FILTER_EN_U3_M (PCNT_FILTER_EN_U3_V << PCNT_FILTER_EN_U3_S)
#define PCNT_FILTER_EN_U3_V 0x00000001
#define PCNT_FILTER_EN_U3_S 10
/* PCNT_FILTER_THRES_U3 : R/W; bitpos: [9:0]; default: 16;
* This sets the maximum threshold, in APB_CLK cycles, for the filter.
*
* Any pulses with width less than this will be ignored when the filter is
* enabled.
*/
#define PCNT_FILTER_THRES_U3 0x000003ff
#define PCNT_FILTER_THRES_U3_M (PCNT_FILTER_THRES_U3_V << PCNT_FILTER_THRES_U3_S)
#define PCNT_FILTER_THRES_U3_V 0x000003ff
#define PCNT_FILTER_THRES_U3_S 0
/* PCNT_U3_CONF1_REG register
* Configuration register 1 for unit 3
*/
#define PCNT_U3_CONF1_REG (DR_REG_PCNT_BASE + 0x28)
/* PCNT_CNT_THRES1_U3 : R/W; bitpos: [31:16]; default: 0;
* This register is used to configure the thres1 value for unit 3.
*/
#define PCNT_CNT_THRES1_U3 0x0000ffff
#define PCNT_CNT_THRES1_U3_M (PCNT_CNT_THRES1_U3_V << PCNT_CNT_THRES1_U3_S)
#define PCNT_CNT_THRES1_U3_V 0x0000ffff
#define PCNT_CNT_THRES1_U3_S 16
/* PCNT_CNT_THRES0_U3 : R/W; bitpos: [15:0]; default: 0;
* This register is used to configure the thres0 value for unit 3.
*/
#define PCNT_CNT_THRES0_U3 0x0000ffff
#define PCNT_CNT_THRES0_U3_M (PCNT_CNT_THRES0_U3_V << PCNT_CNT_THRES0_U3_S)
#define PCNT_CNT_THRES0_U3_V 0x0000ffff
#define PCNT_CNT_THRES0_U3_S 0
/* PCNT_U3_CONF2_REG register
* Configuration register 2 for unit 3
*/
#define PCNT_U3_CONF2_REG (DR_REG_PCNT_BASE + 0x2c)
/* PCNT_CNT_L_LIM_U3 : R/W; bitpos: [31:16]; default: 0;
* This register is used to configure the thr_l_lim value for unit 3.
*/
#define PCNT_CNT_L_LIM_U3 0x0000ffff
#define PCNT_CNT_L_LIM_U3_M (PCNT_CNT_L_LIM_U3_V << PCNT_CNT_L_LIM_U3_S)
#define PCNT_CNT_L_LIM_U3_V 0x0000ffff
#define PCNT_CNT_L_LIM_U3_S 16
/* PCNT_CNT_H_LIM_U3 : R/W; bitpos: [15:0]; default: 0;
* This register is used to configure the thr_h_lim value for unit 3.
*/
#define PCNT_CNT_H_LIM_U3 0x0000ffff
#define PCNT_CNT_H_LIM_U3_M (PCNT_CNT_H_LIM_U3_V << PCNT_CNT_H_LIM_U3_S)
#define PCNT_CNT_H_LIM_U3_V 0x0000ffff
#define PCNT_CNT_H_LIM_U3_S 0
#define PCNT_U4_CONF0_REG (DR_REG_PCNT_BASE + 0x0030)
/* PCNT_CH1_LCTRL_MODE_U4 : R/W ;bitpos:[31:30] ;default: 2'd0 ;
* Description: This register is used to control the mode of channel1's low
* control signal for unit4.
* 0: increase when control signal is low
* 1: decrease when control signal is high
* others: forbidden
*/
#define PCNT_CH1_LCTRL_MODE_U4 0x00000003
#define PCNT_CH1_LCTRL_MODE_U4_M ((PCNT_CH1_LCTRL_MODE_U4_V) << (PCNT_CH1_LCTRL_MODE_U4_S))
#define PCNT_CH1_LCTRL_MODE_U4_V 0x3
#define PCNT_CH1_LCTRL_MODE_U4_S 30
/* PCNT_CH1_HCTRL_MODE_U4 : R/W ;bitpos:[29:28] ;default: 2'd0 ;
* Description: This register is used to control the mode of channel1's high
* control signal for unit4.
* 0: increase when control signal is low
* 1: decrease when control signal is high
* others: forbidden
*/
#define PCNT_CH1_HCTRL_MODE_U4 0x00000003
#define PCNT_CH1_HCTRL_MODE_U4_M ((PCNT_CH1_HCTRL_MODE_U4_V) << (PCNT_CH1_HCTRL_MODE_U4_S))
#define PCNT_CH1_HCTRL_MODE_U4_V 0x3
#define PCNT_CH1_HCTRL_MODE_U4_S 28
/* PCNT_CH1_POS_MODE_U4 : R/W ;bitpos:[27:26] ;default: 2'd0 ;
* Description: This register is used to control the mode of channel1's input
* posedge signal for unit4.
* 1: increase at the posedge of input signal
* 2: decrease at the posedge of input signal
* others: forbidden
*/
#define PCNT_CH1_POS_MODE_U4 0x00000003
#define PCNT_CH1_POS_MODE_U4_M ((PCNT_CH1_POS_MODE_U4_V) << (PCNT_CH1_POS_MODE_U4_S))
#define PCNT_CH1_POS_MODE_U4_V 0x3
#define PCNT_CH1_POS_MODE_U4_S 26
/* PCNT_CH1_NEG_MODE_U4 : R/W ;bitpos:[25:24] ;default: 2'd0 ;
* Description: This register is used to control the mode of channel1's input
* negedge signal for unit4.
* 1: increase at the negedge of input signal
* 2: decrease at the negedge of input signal
* others: forbidden
*/
#define PCNT_CH1_NEG_MODE_U4 0x00000003
#define PCNT_CH1_NEG_MODE_U4_M ((PCNT_CH1_NEG_MODE_U4_V) << (PCNT_CH1_NEG_MODE_U4_S))
#define PCNT_CH1_NEG_MODE_U4_V 0x3
#define PCNT_CH1_NEG_MODE_U4_S 24
/* PCNT_CH0_LCTRL_MODE_U4 : R/W ;bitpos:[23:22] ;default: 2'd0 ;
* Description: This register is used to control the mode of channel0's low
* control signal for unit4.
* 0: increase when control signal is low
* 1: decrease when control signal is high
* others: forbidden
*/
#define PCNT_CH0_LCTRL_MODE_U4 0x00000003
#define PCNT_CH0_LCTRL_MODE_U4_M ((PCNT_CH0_LCTRL_MODE_U4_V) << (PCNT_CH0_LCTRL_MODE_U4_S))
#define PCNT_CH0_LCTRL_MODE_U4_V 0x3
#define PCNT_CH0_LCTRL_MODE_U4_S 22
/* PCNT_CH0_HCTRL_MODE_U4 : R/W ;bitpos:[21:20] ;default: 2'd0 ;
* Description: This register is used to control the mode of channel0's high
* control signal for unit4.
* 0: increase when control signal is low
* 1: decrease when control signal is high
* others: forbidden
*/
#define PCNT_CH0_HCTRL_MODE_U4 0x00000003
#define PCNT_CH0_HCTRL_MODE_U4_M ((PCNT_CH0_HCTRL_MODE_U4_V) << (PCNT_CH0_HCTRL_MODE_U4_S))
#define PCNT_CH0_HCTRL_MODE_U4_V 0x3
#define PCNT_CH0_HCTRL_MODE_U4_S 20
/* PCNT_CH0_POS_MODE_U4 : R/W ;bitpos:[19:18] ;default: 2'd0 ;
* Description: This register is used to control the mode of channel0's input
* posedge signal for unit4.
* 1: increase at the posedge of input signal
* 2: decrease at the posedge of input signal
* others: forbidden
*/
#define PCNT_CH0_POS_MODE_U4 0x00000003
#define PCNT_CH0_POS_MODE_U4_M ((PCNT_CH0_POS_MODE_U4_V) << (PCNT_CH0_POS_MODE_U4_S))
#define PCNT_CH0_POS_MODE_U4_V 0x3
#define PCNT_CH0_POS_MODE_U4_S 18
/* PCNT_CH0_NEG_MODE_U4 : R/W ;bitpos:[17:16] ;default: 2'd0 ;
* Description: This register is used to control the mode of channel0's input
* negedge signal for unit4.
* 1: increase at the negedge of input signal
* 2: decrease at the negedge of input signal
* others: forbidden
*/
#define PCNT_CH0_NEG_MODE_U4 0x00000003
#define PCNT_CH0_NEG_MODE_U4_M ((PCNT_CH0_NEG_MODE_U4_V) << (PCNT_CH0_NEG_MODE_U4_S))
#define PCNT_CH0_NEG_MODE_U4_V 0x3
#define PCNT_CH0_NEG_MODE_U4_S 16
/* PCNT_THR_THRES1_EN_U4 : R/W ;bitpos:[15] ;default: 1'b0 ;
* Description: This is the enable bit for comparing unit4's count with
* thres1 value.
*/
#define PCNT_THR_THRES1_EN_U4 (BIT(15))
#define PCNT_THR_THRES1_EN_U4_M (BIT(15))
#define PCNT_THR_THRES1_EN_U4_V 0x1
#define PCNT_THR_THRES1_EN_U4_S 15
/* PCNT_THR_THRES0_EN_U4 : R/W ;bitpos:[14] ;default: 1'b0 ;
* Description: This is the enable bit for comparing unit4's count with
* thres0 value.
*/
#define PCNT_THR_THRES0_EN_U4 (BIT(14))
#define PCNT_THR_THRES0_EN_U4_M (BIT(14))
#define PCNT_THR_THRES0_EN_U4_V 0x1
#define PCNT_THR_THRES0_EN_U4_S 14
/* PCNT_THR_L_LIM_EN_U4 : R/W ;bitpos:[13] ;default: 1'b1 ;
* Description: This is the enable bit for comparing unit4's count with
* thr_l_lim value.
*/
#define PCNT_THR_L_LIM_EN_U4 (BIT(13))
#define PCNT_THR_L_LIM_EN_U4_M (BIT(13))
#define PCNT_THR_L_LIM_EN_U4_V 0x1
#define PCNT_THR_L_LIM_EN_U4_S 13
/* PCNT_THR_H_LIM_EN_U4 : R/W ;bitpos:[12] ;default: 1'b1 ;
* Description: This is the enable bit for comparing unit4's count with
* thr_h_lim value.
*/
#define PCNT_THR_H_LIM_EN_U4 (BIT(12))
#define PCNT_THR_H_LIM_EN_U4_M (BIT(12))
#define PCNT_THR_H_LIM_EN_U4_V 0x1
#define PCNT_THR_H_LIM_EN_U4_S 12
/* PCNT_THR_ZERO_EN_U4 : R/W ;bitpos:[11] ;default: 1'b1 ;
* Description: This is the enable bit for comparing unit4's count
* with 0 value.
*/
#define PCNT_THR_ZERO_EN_U4 (BIT(11))
#define PCNT_THR_ZERO_EN_U4_M (BIT(11))
#define PCNT_THR_ZERO_EN_U4_V 0x1
#define PCNT_THR_ZERO_EN_U4_S 11
/* PCNT_FILTER_EN_U4 : R/W ;bitpos:[10] ;default: 1'b1 ;
* Description: This is the enable bit for filtering input signals for unit4.
*/
#define PCNT_FILTER_EN_U4 (BIT(10))
#define PCNT_FILTER_EN_U4_M (BIT(10))
#define PCNT_FILTER_EN_U4_V 0x1
#define PCNT_FILTER_EN_U4_S 10
/* PCNT_FILTER_THRES_U4 : R/W ;bitpos:[9:0] ;default: 10'h10 ;
* Description: This register is used to filter pluse whose width is smaller
* than this value for unit4.
*/
#define PCNT_FILTER_THRES_U4 0x000003FF
#define PCNT_FILTER_THRES_U4_M ((PCNT_FILTER_THRES_U4_V) << (PCNT_FILTER_THRES_U4_S))
#define PCNT_FILTER_THRES_U4_V 0x3FF
#define PCNT_FILTER_THRES_U4_S 0
#define PCNT_U4_CONF1_REG (DR_REG_PCNT_BASE + 0x0034)
/* PCNT_CNT_THRES1_U4 : R/W ;bitpos:[31:16] ;default: 10'h0 ;
* Description: This register is used to configure thres1 value for unit4.
*/
#define PCNT_CNT_THRES1_U4 0x0000FFFF
#define PCNT_CNT_THRES1_U4_M ((PCNT_CNT_THRES1_U4_V) << (PCNT_CNT_THRES1_U4_S))
#define PCNT_CNT_THRES1_U4_V 0xFFFF
#define PCNT_CNT_THRES1_U4_S 16
/* PCNT_CNT_THRES0_U4 : R/W ;bitpos:[15:0] ;default: 10'h0 ;
* Description: This register is used to configure thres0 value for unit4.
*/
#define PCNT_CNT_THRES0_U4 0x0000FFFF
#define PCNT_CNT_THRES0_U4_M ((PCNT_CNT_THRES0_U4_V) << (PCNT_CNT_THRES0_U4_S))
#define PCNT_CNT_THRES0_U4_V 0xFFFF
#define PCNT_CNT_THRES0_U4_S 0
#define PCNT_U4_CONF2_REG (DR_REG_PCNT_BASE + 0x0038)
/* PCNT_CNT_L_LIM_U4 : R/W ;bitpos:[31:16] ;default: 10'h0 ;
* Description: This register is used to confiugre thr_l_lim value for unit4.
*/
#define PCNT_CNT_L_LIM_U4 0x0000FFFF
#define PCNT_CNT_L_LIM_U4_M ((PCNT_CNT_L_LIM_U4_V) << (PCNT_CNT_L_LIM_U4_S))
#define PCNT_CNT_L_LIM_U4_V 0xFFFF
#define PCNT_CNT_L_LIM_U4_S 16
/* PCNT_CNT_H_LIM_U4 : R/W ;bitpos:[15:0] ;default: 10'h0 ;
* Description: This register is used to configure thr_h_lim value for unit4.
*/
#define PCNT_CNT_H_LIM_U4 0x0000FFFF
#define PCNT_CNT_H_LIM_U4_M ((PCNT_CNT_H_LIM_U4_V) << (PCNT_CNT_H_LIM_U4_S))
#define PCNT_CNT_H_LIM_U4_V 0xFFFF
#define PCNT_CNT_H_LIM_U4_S 0
#define PCNT_U5_CONF0_REG (DR_REG_PCNT_BASE + 0x003c)
/* PCNT_CH1_LCTRL_MODE_U5 : R/W ;bitpos:[31:30] ;default: 2'd0 ;
* Description: This register is used to control the mode of channel1's low
* control signal for unit5.
* 0: increase when control signal is low
* 1: decrease when control signal is high
* others: forbidden
*/
#define PCNT_CH1_LCTRL_MODE_U5 0x00000003
#define PCNT_CH1_LCTRL_MODE_U5_M ((PCNT_CH1_LCTRL_MODE_U5_V) << (PCNT_CH1_LCTRL_MODE_U5_S))
#define PCNT_CH1_LCTRL_MODE_U5_V 0x3
#define PCNT_CH1_LCTRL_MODE_U5_S 30
/* PCNT_CH1_HCTRL_MODE_U5 : R/W ;bitpos:[29:28] ;default: 2'd0 ;
* Description: This register is used to control the mode of channel1's high
* control signal for unit5.
* 0: increase when control signal is low
* 1: decrease when control signal is high
* others: forbidden
*/
#define PCNT_CH1_HCTRL_MODE_U5 0x00000003
#define PCNT_CH1_HCTRL_MODE_U5_M ((PCNT_CH1_HCTRL_MODE_U5_V) << (PCNT_CH1_HCTRL_MODE_U5_S))
#define PCNT_CH1_HCTRL_MODE_U5_V 0x3
#define PCNT_CH1_HCTRL_MODE_U5_S 28
/* PCNT_CH1_POS_MODE_U5 : R/W ;bitpos:[27:26] ;default: 2'd0 ;
* Description: This register is used to control the mode of channel1's input
* posedge signal for unit5.
* 1: increase at the posedge of input signal
* 2: decrease at the posedge of input signal
* others: forbidden
*/
#define PCNT_CH1_POS_MODE_U5 0x00000003
#define PCNT_CH1_POS_MODE_U5_M ((PCNT_CH1_POS_MODE_U5_V) << (PCNT_CH1_POS_MODE_U5_S))
#define PCNT_CH1_POS_MODE_U5_V 0x3
#define PCNT_CH1_POS_MODE_U5_S 26
/* PCNT_CH1_NEG_MODE_U5 : R/W ;bitpos:[25:24] ;default: 2'd0 ;
* Description: This register is used to control the mode of channel1's input
* negedge signal for unit5.
* 1: increase at the negedge of input signal
* 2: decrease at the negedge of input signal
* others: forbidden
*/
#define PCNT_CH1_NEG_MODE_U5 0x00000003
#define PCNT_CH1_NEG_MODE_U5_M ((PCNT_CH1_NEG_MODE_U5_V) << (PCNT_CH1_NEG_MODE_U5_S))
#define PCNT_CH1_NEG_MODE_U5_V 0x3
#define PCNT_CH1_NEG_MODE_U5_S 24
/* PCNT_CH0_LCTRL_MODE_U5 : R/W ;bitpos:[23:22] ;default: 2'd0 ; */
/* Description: This register is used to control the mode of channel0's low
* control signal for unit5.
* 0: increase when control signal is low
* 1: decrease when control signal is high
* others: forbidden
*/
#define PCNT_CH0_LCTRL_MODE_U5 0x00000003
#define PCNT_CH0_LCTRL_MODE_U5_M ((PCNT_CH0_LCTRL_MODE_U5_V) << (PCNT_CH0_LCTRL_MODE_U5_S))
#define PCNT_CH0_LCTRL_MODE_U5_V 0x3
#define PCNT_CH0_LCTRL_MODE_U5_S 22
/* PCNT_CH0_HCTRL_MODE_U5 : R/W ;bitpos:[21:20] ;default: 2'd0 ; */
/* Description: This register is used to control the mode of channel0's high
* control signal for unit5.
* 0:increase when control signal is low
* 1: decrease when control signal is high
* others: forbidden
*/
#define PCNT_CH0_HCTRL_MODE_U5 0x00000003
#define PCNT_CH0_HCTRL_MODE_U5_M ((PCNT_CH0_HCTRL_MODE_U5_V) << (PCNT_CH0_HCTRL_MODE_U5_S))
#define PCNT_CH0_HCTRL_MODE_U5_V 0x3
#define PCNT_CH0_HCTRL_MODE_U5_S 20
/* PCNT_CH0_POS_MODE_U5 : R/W ;bitpos:[19:18] ;default: 2'd0 ;
* Description: This register is used to control the mode of channel0's input
* posedge signal for unit5.
* 1: increase at the posedge of input signal
* 2: decrease at the posedge of input signal
* others: forbidden
*/
#define PCNT_CH0_POS_MODE_U5 0x00000003
#define PCNT_CH0_POS_MODE_U5_M ((PCNT_CH0_POS_MODE_U5_V) << (PCNT_CH0_POS_MODE_U5_S))
#define PCNT_CH0_POS_MODE_U5_V 0x3
#define PCNT_CH0_POS_MODE_U5_S 18
/* PCNT_CH0_NEG_MODE_U5 : R/W ;bitpos:[17:16] ;default: 2'd0 ;
* Description: This register is used to control the mode of channel0's input
* negedge signal for unit5.
* 1: increase at the negedge of input signal
* 2: decrease at the negedge of input signal
* others: forbidden
*/
#define PCNT_CH0_NEG_MODE_U5 0x00000003
#define PCNT_CH0_NEG_MODE_U5_M ((PCNT_CH0_NEG_MODE_U5_V) << (PCNT_CH0_NEG_MODE_U5_S))
#define PCNT_CH0_NEG_MODE_U5_V 0x3
#define PCNT_CH0_NEG_MODE_U5_S 16
/* PCNT_THR_THRES1_EN_U5 : R/W ;bitpos:[15] ;default: 1'b0 ;
* Description: This is the enable bit for comparing unit5's count with
* thres1 value.
*/
#define PCNT_THR_THRES1_EN_U5 (BIT(15))
#define PCNT_THR_THRES1_EN_U5_M (BIT(15))
#define PCNT_THR_THRES1_EN_U5_V 0x1
#define PCNT_THR_THRES1_EN_U5_S 15
/* PCNT_THR_THRES0_EN_U5 : R/W ;bitpos:[14] ;default: 1'b0 ;
* Description: This is the enable bit for comparing unit5's count with
* thres0 value.
*/
#define PCNT_THR_THRES0_EN_U5 (BIT(14))
#define PCNT_THR_THRES0_EN_U5_M (BIT(14))
#define PCNT_THR_THRES0_EN_U5_V 0x1
#define PCNT_THR_THRES0_EN_U5_S 14
/* PCNT_THR_L_LIM_EN_U5 : R/W ;bitpos:[13] ;default: 1'b1 ;
* Description: This is the enable bit for comparing unit5's count with
* thr_l_lim value.
*/
#define PCNT_THR_L_LIM_EN_U5 (BIT(13))
#define PCNT_THR_L_LIM_EN_U5_M (BIT(13))
#define PCNT_THR_L_LIM_EN_U5_V 0x1
#define PCNT_THR_L_LIM_EN_U5_S 13
/* PCNT_THR_H_LIM_EN_U5 : R/W ;bitpos:[12] ;default: 1'b1 ;
* Description: This is the enable bit for comparing unit5's count with
* thr_h_lim value.
*/
#define PCNT_THR_H_LIM_EN_U5 (BIT(12))
#define PCNT_THR_H_LIM_EN_U5_M (BIT(12))
#define PCNT_THR_H_LIM_EN_U5_V 0x1
#define PCNT_THR_H_LIM_EN_U5_S 12
/* PCNT_THR_ZERO_EN_U5 : R/W ;bitpos:[11] ;default: 1'b1 ;
* Description: This is the enable bit for comparing unit5's count
* with 0 value.
*/
#define PCNT_THR_ZERO_EN_U5 (BIT(11))
#define PCNT_THR_ZERO_EN_U5_M (BIT(11))
#define PCNT_THR_ZERO_EN_U5_V 0x1
#define PCNT_THR_ZERO_EN_U5_S 11
/* PCNT_FILTER_EN_U5 : R/W ;bitpos:[10] ;default: 1'b1 ;
* Description: This is the enable bit for filtering input signals for unit5.
*/
#define PCNT_FILTER_EN_U5 (BIT(10))
#define PCNT_FILTER_EN_U5_M (BIT(10))
#define PCNT_FILTER_EN_U5_V 0x1
#define PCNT_FILTER_EN_U5_S 10
/* PCNT_FILTER_THRES_U5 : R/W ;bitpos:[9:0] ;default: 10'h10 ;
* Description: This register is used to filter pluse whose width is smaller
* than this value for unit5.
*/
#define PCNT_FILTER_THRES_U5 0x000003FF
#define PCNT_FILTER_THRES_U5_M ((PCNT_FILTER_THRES_U5_V) << (PCNT_FILTER_THRES_U5_S))
#define PCNT_FILTER_THRES_U5_V 0x3FF
#define PCNT_FILTER_THRES_U5_S 0
#define PCNT_U5_CONF1_REG (DR_REG_PCNT_BASE + 0x0040)
/* PCNT_CNT_THRES1_U5 : R/W ;bitpos:[31:16] ;default: 10'h0 ;
* Description: This register is used to configure thres1 value for unit5.
*/
#define PCNT_CNT_THRES1_U5 0x0000FFFF
#define PCNT_CNT_THRES1_U5_M ((PCNT_CNT_THRES1_U5_V) << (PCNT_CNT_THRES1_U5_S))
#define PCNT_CNT_THRES1_U5_V 0xFFFF
#define PCNT_CNT_THRES1_U5_S 16
/* PCNT_CNT_THRES0_U5 : R/W ;bitpos:[15:0] ;default: 10'h0 ;
* Description: This register is used to configure thres0 value for unit5.
*/
#define PCNT_CNT_THRES0_U5 0x0000FFFF
#define PCNT_CNT_THRES0_U5_M ((PCNT_CNT_THRES0_U5_V) << (PCNT_CNT_THRES0_U5_S))
#define PCNT_CNT_THRES0_U5_V 0xFFFF
#define PCNT_CNT_THRES0_U5_S 0
#define PCNT_U5_CONF2_REG (DR_REG_PCNT_BASE + 0x0044)
/* PCNT_CNT_L_LIM_U5 : R/W ;bitpos:[31:16] ;default: 10'h0 ;
* Description: This register is used to confiugre thr_l_lim value for unit5.
*/
#define PCNT_CNT_L_LIM_U5 0x0000FFFF
#define PCNT_CNT_L_LIM_U5_M ((PCNT_CNT_L_LIM_U5_V) << (PCNT_CNT_L_LIM_U5_S))
#define PCNT_CNT_L_LIM_U5_V 0xFFFF
#define PCNT_CNT_L_LIM_U5_S 16
/* PCNT_CNT_H_LIM_U5 : R/W ;bitpos:[15:0] ;default: 10'h0 ;
* Description: This register is used to configure thr_h_lim value for unit5.
*/
#define PCNT_CNT_H_LIM_U5 0x0000FFFF
#define PCNT_CNT_H_LIM_U5_M ((PCNT_CNT_H_LIM_U5_V) << (PCNT_CNT_H_LIM_U5_S))
#define PCNT_CNT_H_LIM_U5_V 0xFFFF
#define PCNT_CNT_H_LIM_U5_S 0
#define PCNT_U6_CONF0_REG (DR_REG_PCNT_BASE + 0x0048)
/* PCNT_CH1_LCTRL_MODE_U6 : R/W ;bitpos:[31:30] ;default: 2'd0 ;
* Description: This register is used to control the mode of channel1's
* low control signal for unit6.
* 0: increase when control signal is low
* 1: decrease when control signal is high
* others: forbidden
*/
#define PCNT_CH1_LCTRL_MODE_U6 0x00000003
#define PCNT_CH1_LCTRL_MODE_U6_M ((PCNT_CH1_LCTRL_MODE_U6_V) << (PCNT_CH1_LCTRL_MODE_U6_S))
#define PCNT_CH1_LCTRL_MODE_U6_V 0x3
#define PCNT_CH1_LCTRL_MODE_U6_S 30
/* PCNT_CH1_HCTRL_MODE_U6 : R/W ;bitpos:[29:28] ;default: 2'd0 ;
* Description: This register is used to control the mode of channel1's high
* control signal for unit6.
* 0: increase when control signal is low
* 1: decrease when control signal is high
* others: forbidden
*/
#define PCNT_CH1_HCTRL_MODE_U6 0x00000003
#define PCNT_CH1_HCTRL_MODE_U6_M ((PCNT_CH1_HCTRL_MODE_U6_V) << (PCNT_CH1_HCTRL_MODE_U6_S))
#define PCNT_CH1_HCTRL_MODE_U6_V 0x3
#define PCNT_CH1_HCTRL_MODE_U6_S 28
/* PCNT_CH1_POS_MODE_U6 : R/W ;bitpos:[27:26] ;default: 2'd0 ;
* Description: This register is used to control the mode of channel1's input
* posedge signal for unit6.
* 1: increase at the posedge of input signal
* 2: decrease at the posedge of input signal
* others: forbidden
*/
#define PCNT_CH1_POS_MODE_U6 0x00000003
#define PCNT_CH1_POS_MODE_U6_M ((PCNT_CH1_POS_MODE_U6_V) << (PCNT_CH1_POS_MODE_U6_S))
#define PCNT_CH1_POS_MODE_U6_V 0x3
#define PCNT_CH1_POS_MODE_U6_S 26
/* PCNT_CH1_NEG_MODE_U6 : R/W ;bitpos:[25:24] ;default: 2'd0 ;
* Description: This register is used to control the mode of channel1's
* input negedge signal for unit6.
* 1: increase at the negedge of input signal
* 2: decrease at the negedge of input signal
* others: forbidden
*/
#define PCNT_CH1_NEG_MODE_U6 0x00000003
#define PCNT_CH1_NEG_MODE_U6_M ((PCNT_CH1_NEG_MODE_U6_V) << (PCNT_CH1_NEG_MODE_U6_S))
#define PCNT_CH1_NEG_MODE_U6_V 0x3
#define PCNT_CH1_NEG_MODE_U6_S 24
/* PCNT_CH0_LCTRL_MODE_U6 : R/W ;bitpos:[23:22] ;default: 2'd0 ;
* Description: This register is used to control the mode of channel0's low
* control signal for unit6.
* 0: increase when control signal is low
* 1: decrease when control signal is high
* others: forbidden
*/
#define PCNT_CH0_LCTRL_MODE_U6 0x00000003
#define PCNT_CH0_LCTRL_MODE_U6_M ((PCNT_CH0_LCTRL_MODE_U6_V) << (PCNT_CH0_LCTRL_MODE_U6_S))
#define PCNT_CH0_LCTRL_MODE_U6_V 0x3
#define PCNT_CH0_LCTRL_MODE_U6_S 22
/* PCNT_CH0_HCTRL_MODE_U6 : R/W ;bitpos:[21:20] ;default: 2'd0 ;
* Description: This register is used to control the mode of channel0's
* high control signal for unit6.
* 0: increase when control signal is low
* 1: decrease when control signal is high
* others: forbidden
*/
#define PCNT_CH0_HCTRL_MODE_U6 0x00000003
#define PCNT_CH0_HCTRL_MODE_U6_M ((PCNT_CH0_HCTRL_MODE_U6_V) << (PCNT_CH0_HCTRL_MODE_U6_S))
#define PCNT_CH0_HCTRL_MODE_U6_V 0x3
#define PCNT_CH0_HCTRL_MODE_U6_S 20
/* PCNT_CH0_POS_MODE_U6 : R/W ;bitpos:[19:18] ;default: 2'd0 ;
* Description: This register is used to control the mode of channel0's input
* posedge signal for unit6.
* 1: increase at the posedge of input signal
* 2: decrease at the posedge of input signal
* others: forbidden
*/
#define PCNT_CH0_POS_MODE_U6 0x00000003
#define PCNT_CH0_POS_MODE_U6_M ((PCNT_CH0_POS_MODE_U6_V) << (PCNT_CH0_POS_MODE_U6_S))
#define PCNT_CH0_POS_MODE_U6_V 0x3
#define PCNT_CH0_POS_MODE_U6_S 18
/* PCNT_CH0_NEG_MODE_U6 : R/W ;bitpos:[17:16] ;default: 2'd0 ;
* Description: This register is used to control the mode of channel0's input
* negedge signal for unit6.
* 1: increase at the negedge of input signal
* 2: decrease at the negedge of input signal
* others: forbidden
*/
#define PCNT_CH0_NEG_MODE_U6 0x00000003
#define PCNT_CH0_NEG_MODE_U6_M ((PCNT_CH0_NEG_MODE_U6_V) << (PCNT_CH0_NEG_MODE_U6_S))
#define PCNT_CH0_NEG_MODE_U6_V 0x3
#define PCNT_CH0_NEG_MODE_U6_S 16
/* PCNT_THR_THRES1_EN_U6 : R/W ;bitpos:[15] ;default: 1'b0 ;
* Description: This is the enable bit for comparing unit6's count with
* thres1 value.
*/
#define PCNT_THR_THRES1_EN_U6 (BIT(15))
#define PCNT_THR_THRES1_EN_U6_M (BIT(15))
#define PCNT_THR_THRES1_EN_U6_V 0x1
#define PCNT_THR_THRES1_EN_U6_S 15
/* PCNT_THR_THRES0_EN_U6 : R/W ;bitpos:[14] ;default: 1'b0 ;
* Description: This is the enable bit for comparing unit6's count with
* thres0 value.
*/
#define PCNT_THR_THRES0_EN_U6 (BIT(14))
#define PCNT_THR_THRES0_EN_U6_M (BIT(14))
#define PCNT_THR_THRES0_EN_U6_V 0x1
#define PCNT_THR_THRES0_EN_U6_S 14
/* PCNT_THR_L_LIM_EN_U6 : R/W ;bitpos:[13] ;default: 1'b1 ;
* Description: This is the enable bit for comparing unit6's count with
* thr_l_lim value.
*/
#define PCNT_THR_L_LIM_EN_U6 (BIT(13))
#define PCNT_THR_L_LIM_EN_U6_M (BIT(13))
#define PCNT_THR_L_LIM_EN_U6_V 0x1
#define PCNT_THR_L_LIM_EN_U6_S 13
/* PCNT_THR_H_LIM_EN_U6 : R/W ;bitpos:[12] ;default: 1'b1 ;
* Description: This is the enable bit for comparing unit6's count with
* thr_h_lim value.
*/
#define PCNT_THR_H_LIM_EN_U6 (BIT(12))
#define PCNT_THR_H_LIM_EN_U6_M (BIT(12))
#define PCNT_THR_H_LIM_EN_U6_V 0x1
#define PCNT_THR_H_LIM_EN_U6_S 12
/* PCNT_THR_ZERO_EN_U6 : R/W ;bitpos:[11] ;default: 1'b1 ;
* Description: This is the enable bit for comparing unit6's count with 0
* value.
*/
#define PCNT_THR_ZERO_EN_U6 (BIT(11))
#define PCNT_THR_ZERO_EN_U6_M (BIT(11))
#define PCNT_THR_ZERO_EN_U6_V 0x1
#define PCNT_THR_ZERO_EN_U6_S 11
/* PCNT_FILTER_EN_U6 : R/W ;bitpos:[10] ;default: 1'b1 ;
* Description: This is the enable bit for filtering input signals for unit6.
*/
#define PCNT_FILTER_EN_U6 (BIT(10))
#define PCNT_FILTER_EN_U6_M (BIT(10))
#define PCNT_FILTER_EN_U6_V 0x1
#define PCNT_FILTER_EN_U6_S 10
/* PCNT_FILTER_THRES_U6 : R/W ;bitpos:[9:0] ;default: 10'h10 ;
* Description: This register is used to filter pluse whose width is
* smaller than this value for unit6.
*/
#define PCNT_FILTER_THRES_U6 0x000003FF
#define PCNT_FILTER_THRES_U6_M ((PCNT_FILTER_THRES_U6_V) << (PCNT_FILTER_THRES_U6_S))
#define PCNT_FILTER_THRES_U6_V 0x3FF
#define PCNT_FILTER_THRES_U6_S 0
#define PCNT_U6_CONF1_REG (DR_REG_PCNT_BASE + 0x004c)
/* PCNT_CNT_THRES1_U6 : R/W ;bitpos:[31:16] ;default: 10'h0 ;
* Description: This register is used to configure thres1 value for unit6.
*/
#define PCNT_CNT_THRES1_U6 0x0000FFFF
#define PCNT_CNT_THRES1_U6_M ((PCNT_CNT_THRES1_U6_V) << (PCNT_CNT_THRES1_U6_S))
#define PCNT_CNT_THRES1_U6_V 0xFFFF
#define PCNT_CNT_THRES1_U6_S 16
/* PCNT_CNT_THRES0_U6 : R/W ;bitpos:[15:0] ;default: 10'h0 ;
* Description: This register is used to configure thres0 value for unit6.
*/
#define PCNT_CNT_THRES0_U6 0x0000FFFF
#define PCNT_CNT_THRES0_U6_M ((PCNT_CNT_THRES0_U6_V) << (PCNT_CNT_THRES0_U6_S))
#define PCNT_CNT_THRES0_U6_V 0xFFFF
#define PCNT_CNT_THRES0_U6_S 0
#define PCNT_U6_CONF2_REG (DR_REG_PCNT_BASE + 0x0050)
/* PCNT_CNT_L_LIM_U6 : R/W ;bitpos:[31:16] ;default: 10'h0 ;
* Description: This register is used to confiugre thr_l_lim value for unit6.
*/
#define PCNT_CNT_L_LIM_U6 0x0000FFFF
#define PCNT_CNT_L_LIM_U6_M ((PCNT_CNT_L_LIM_U6_V) << (PCNT_CNT_L_LIM_U6_S))
#define PCNT_CNT_L_LIM_U6_V 0xFFFF
#define PCNT_CNT_L_LIM_U6_S 16
/* PCNT_CNT_H_LIM_U6 : R/W ;bitpos:[15:0] ;default: 10'h0 ;
* Description: This register is used to configure thr_h_lim value for unit6.
*/
#define PCNT_CNT_H_LIM_U6 0x0000FFFF
#define PCNT_CNT_H_LIM_U6_M ((PCNT_CNT_H_LIM_U6_V) << (PCNT_CNT_H_LIM_U6_S))
#define PCNT_CNT_H_LIM_U6_V 0xFFFF
#define PCNT_CNT_H_LIM_U6_S 0
#define PCNT_U7_CONF0_REG (DR_REG_PCNT_BASE + 0x0054)
/* PCNT_CH1_LCTRL_MODE_U7 : R/W ;bitpos:[31:30] ;
* default: 0 ;
* Description: This register is used to control the mode of channel1's low
* control signal for unit7.
* 0: increase when control signal is low
* 1: decrease when control signal is high
* others: forbidden
*/
#define PCNT_CH1_LCTRL_MODE_U7 0x00000003
#define PCNT_CH1_LCTRL_MODE_U7_M ((PCNT_CH1_LCTRL_MODE_U7_V) << (PCNT_CH1_LCTRL_MODE_U7_S))
#define PCNT_CH1_LCTRL_MODE_U7_V 0x3
#define PCNT_CH1_LCTRL_MODE_U7_S 30
/* PCNT_CH1_HCTRL_MODE_U7 : R/W ;bitpos:[29:28] ;
* default: 0 ;
* Description: This register is used to control the mode of channel1's high
* control signal for unit7.
* 0: increase when control signal is low
* 1: decrease when control signal is high
* others: forbidden
*/
#define PCNT_CH1_HCTRL_MODE_U7 0x00000003
#define PCNT_CH1_HCTRL_MODE_U7_M ((PCNT_CH1_HCTRL_MODE_U7_V) << (PCNT_CH1_HCTRL_MODE_U7_S))
#define PCNT_CH1_HCTRL_MODE_U7_V 0x3
#define PCNT_CH1_HCTRL_MODE_U7_S 28
/* PCNT_CH1_POS_MODE_U7 : R/W ;bitpos:[27:26] ;default: 2'd0 ;
* Description: This register is used to control the mode of channel1's input
* posedge signal for unit7.
* 1: increase at the posedge of input signal
* 2:decrease at the posedge of input signal
* others: forbidden
*/
#define PCNT_CH1_POS_MODE_U7 0x00000003
#define PCNT_CH1_POS_MODE_U7_M ((PCNT_CH1_POS_MODE_U7_V) << (PCNT_CH1_POS_MODE_U7_S))
#define PCNT_CH1_POS_MODE_U7_V 0x3
#define PCNT_CH1_POS_MODE_U7_S 26
/* PCNT_CH1_NEG_MODE_U7 : R/W ;bitpos:[25:24] ;default: 2'd0 ;
* Description: This register is used to control the mode of channel1's input
* negedge signal for unit7.
* 1: increase at the negedge of input signal
* 2: decrease at the negedge of input signal
* others: forbidden
*/
#define PCNT_CH1_NEG_MODE_U7 0x00000003
#define PCNT_CH1_NEG_MODE_U7_M ((PCNT_CH1_NEG_MODE_U7_V) << (PCNT_CH1_NEG_MODE_U7_S))
#define PCNT_CH1_NEG_MODE_U7_V 0x3
#define PCNT_CH1_NEG_MODE_U7_S 24
/* PCNT_CH0_LCTRL_MODE_U7 : R/W ;bitpos:[23:22] ;default: 2'd0 ;
* Description: This register is used to control the mode of channel0's low
* control signal for unit7.
* 0: increase when control signal is low
* 1: decrease when control signal is high
* others: forbidden
*/
#define PCNT_CH0_LCTRL_MODE_U7 0x00000003
#define PCNT_CH0_LCTRL_MODE_U7_M ((PCNT_CH0_LCTRL_MODE_U7_V) << (PCNT_CH0_LCTRL_MODE_U7_S))
#define PCNT_CH0_LCTRL_MODE_U7_V 0x3
#define PCNT_CH0_LCTRL_MODE_U7_S 22
/* PCNT_CH0_HCTRL_MODE_U7 : R/W ;bitpos:[21:20] ;default: 2'd0 ;
* Description: This register is used to control the mode of channel0's high
* control signal for unit7.
* 0: increase when control signal is low
* 1: decrease when control signal is high
* others: forbidden
*/
#define PCNT_CH0_HCTRL_MODE_U7 0x00000003
#define PCNT_CH0_HCTRL_MODE_U7_M ((PCNT_CH0_HCTRL_MODE_U7_V) << (PCNT_CH0_HCTRL_MODE_U7_S))
#define PCNT_CH0_HCTRL_MODE_U7_V 0x3
#define PCNT_CH0_HCTRL_MODE_U7_S 20
/* PCNT_CH0_POS_MODE_U7 : R/W ;bitpos:[19:18] ;
* default: 0 ;
* Description: This register is used to control the mode of channel0's input
* posedge signal for unit7.
* 1: increase at the posedge of input signal
* 2: decrease at the posedge of input signal
* others: forbidden
*/
#define PCNT_CH0_POS_MODE_U7 0x00000003
#define PCNT_CH0_POS_MODE_U7_M ((PCNT_CH0_POS_MODE_U7_V) << (PCNT_CH0_POS_MODE_U7_S))
#define PCNT_CH0_POS_MODE_U7_V 0x3
#define PCNT_CH0_POS_MODE_U7_S 18
/* PCNT_CH0_NEG_MODE_U7 : R/W ;bitpos:[17:16] ;default: 2'd0 ;
* Description: This register is used to control the mode of channel0's
* input negedge signal for unit7.
* 1: increase at the negedge of input signal
* 2: decrease at the negedge of input signal
* others: forbidden
*/
#define PCNT_CH0_NEG_MODE_U7 0x00000003
#define PCNT_CH0_NEG_MODE_U7_M ((PCNT_CH0_NEG_MODE_U7_V) << (PCNT_CH0_NEG_MODE_U7_S))
#define PCNT_CH0_NEG_MODE_U7_V 0x3
#define PCNT_CH0_NEG_MODE_U7_S 16
/* PCNT_THR_THRES1_EN_U7 : R/W ;bitpos:[15] ;default: 1'b0 ;
* Description: This is the enable bit for comparing unit7's count with
* thres1 value.
*/
#define PCNT_THR_THRES1_EN_U7 (BIT(15))
#define PCNT_THR_THRES1_EN_U7_M (BIT(15))
#define PCNT_THR_THRES1_EN_U7_V 0x1
#define PCNT_THR_THRES1_EN_U7_S 15
/* PCNT_THR_THRES0_EN_U7 : R/W ;bitpos:[14] ;default: 1'b0 ;
* Description: This is the enable bit for comparing unit7's count with
* thres0 value.
*/
#define PCNT_THR_THRES0_EN_U7 (BIT(14))
#define PCNT_THR_THRES0_EN_U7_M (BIT(14))
#define PCNT_THR_THRES0_EN_U7_V 0x1
#define PCNT_THR_THRES0_EN_U7_S 14
/* PCNT_THR_L_LIM_EN_U7 : R/W ;bitpos:[13] ;default: 1'b1 ;
* Description: This is the enable bit for comparing unit7's count with
* thr_l_lim value.
*/
#define PCNT_THR_L_LIM_EN_U7 (BIT(13))
#define PCNT_THR_L_LIM_EN_U7_M (BIT(13))
#define PCNT_THR_L_LIM_EN_U7_V 0x1
#define PCNT_THR_L_LIM_EN_U7_S 13
/* PCNT_THR_H_LIM_EN_U7 : R/W ;bitpos:[12] ;default: 1'b1 ;
* Description: This is the enable bit for comparing unit7's count
* with thr_h_lim value.
*/
#define PCNT_THR_H_LIM_EN_U7 (BIT(12))
#define PCNT_THR_H_LIM_EN_U7_M (BIT(12))
#define PCNT_THR_H_LIM_EN_U7_V 0x1
#define PCNT_THR_H_LIM_EN_U7_S 12
/* PCNT_THR_ZERO_EN_U7 : R/W ;bitpos:[11] ;default: 1'b1 ;
* Description: This is the enable bit for comparing unit7's count with 0
* value.
*/
#define PCNT_THR_ZERO_EN_U7 (BIT(11))
#define PCNT_THR_ZERO_EN_U7_M (BIT(11))
#define PCNT_THR_ZERO_EN_U7_V 0x1
#define PCNT_THR_ZERO_EN_U7_S 11
/* PCNT_FILTER_EN_U7 : R/W ;bitpos:[10] ;default: 1'b1 ;
* Description: This is the enable bit for filtering input signals for unit7.
*/
#define PCNT_FILTER_EN_U7 (BIT(10))
#define PCNT_FILTER_EN_U7_M (BIT(10))
#define PCNT_FILTER_EN_U7_V 0x1
#define PCNT_FILTER_EN_U7_S 10
/* PCNT_FILTER_THRES_U7 : R/W ;bitpos:[9:0] ;default: 10'h10 ;
* Description: This register is used to filter pluse whose width is smaller
* than this value for unit7.
*/
#define PCNT_FILTER_THRES_U7 0x000003FF
#define PCNT_FILTER_THRES_U7_M ((PCNT_FILTER_THRES_U7_V) << (PCNT_FILTER_THRES_U7_S))
#define PCNT_FILTER_THRES_U7_V 0x3FF
#define PCNT_FILTER_THRES_U7_S 0
#define PCNT_U7_CONF1_REG (DR_REG_PCNT_BASE + 0x0058)
/* PCNT_CNT_THRES1_U7 : R/W ;bitpos:[31:16] ;default: 10'h0 ;
* Description: This register is used to configure thres1 value for unit7.
*/
#define PCNT_CNT_THRES1_U7 0x0000FFFF
#define PCNT_CNT_THRES1_U7_M ((PCNT_CNT_THRES1_U7_V) << (PCNT_CNT_THRES1_U7_S))
#define PCNT_CNT_THRES1_U7_V 0xFFFF
#define PCNT_CNT_THRES1_U7_S 16
/* PCNT_CNT_THRES0_U7 : R/W ;bitpos:[15:0] ;default: 10'h0 ;
* Description: This register is used to configure thres0 value for unit7.
*/
#define PCNT_CNT_THRES0_U7 0x0000FFFF
#define PCNT_CNT_THRES0_U7_M ((PCNT_CNT_THRES0_U7_V) << (PCNT_CNT_THRES0_U7_S))
#define PCNT_CNT_THRES0_U7_V 0xFFFF
#define PCNT_CNT_THRES0_U7_S 0
#define PCNT_U7_CONF2_REG (DR_REG_PCNT_BASE + 0x005c)
/* PCNT_CNT_L_LIM_U7 : R/W ;bitpos:[31:16] ;default: 10'h0 ;
* Description: This register is used to confiugre thr_l_lim value for unit7.
*/
#define PCNT_CNT_L_LIM_U7 0x0000FFFF
#define PCNT_CNT_L_LIM_U7_M ((PCNT_CNT_L_LIM_U7_V) << (PCNT_CNT_L_LIM_U7_S))
#define PCNT_CNT_L_LIM_U7_V 0xFFFF
#define PCNT_CNT_L_LIM_U7_S 16
/* PCNT_CNT_H_LIM_U7 : R/W ;bitpos:[15:0] ;default: 10'h0 ;
* Description: This register is used to configure thr_h_lim value for unit7.
*/
#define PCNT_CNT_H_LIM_U7 0x0000FFFF
#define PCNT_CNT_H_LIM_U7_M ((PCNT_CNT_H_LIM_U7_V) << (PCNT_CNT_H_LIM_U7_S))
#define PCNT_CNT_H_LIM_U7_V 0xFFFF
#define PCNT_CNT_H_LIM_U7_S 0
#define PCNT_U0_CNT_REG (DR_REG_PCNT_BASE + 0x0060)
/* PCNT_PLUS_CNT_U0 : RO ;bitpos:[15:0] ;default: 16'h0 ;
* Description: This register stores the current pulse count value for unit0.
*/
#define PCNT_PLUS_CNT_U0 0x0000FFFF
#define PCNT_PLUS_CNT_U0_M ((PCNT_PLUS_CNT_U0_V) << (PCNT_PLUS_CNT_U0_S))
#define PCNT_PLUS_CNT_U0_V 0xFFFF
#define PCNT_PLUS_CNT_U0_S 0
#define PCNT_U1_CNT_REG (DR_REG_PCNT_BASE + 0x0064)
/* PCNT_PLUS_CNT_U1 : RO ;bitpos:[15:0] ;default: 16'h0 ;
* Description: This register stores the current pulse count value for unit1.
*/
#define PCNT_PLUS_CNT_U1 0x0000FFFF
#define PCNT_PLUS_CNT_U1_M ((PCNT_PLUS_CNT_U1_V) << (PCNT_PLUS_CNT_U1_S))
#define PCNT_PLUS_CNT_U1_V 0xFFFF
#define PCNT_PLUS_CNT_U1_S 0
#define PCNT_U2_CNT_REG (DR_REG_PCNT_BASE + 0x0068)
/* PCNT_PLUS_CNT_U2 : RO ;bitpos:[15:0] ;default: 16'h0 ;
* Description: This register stores the current pulse count value for unit2.
*/
#define PCNT_PLUS_CNT_U2 0x0000FFFF
#define PCNT_PLUS_CNT_U2_M ((PCNT_PLUS_CNT_U2_V) << (PCNT_PLUS_CNT_U2_S))
#define PCNT_PLUS_CNT_U2_V 0xFFFF
#define PCNT_PLUS_CNT_U2_S 0
#define PCNT_U3_CNT_REG (DR_REG_PCNT_BASE + 0x006c)
/* PCNT_PLUS_CNT_U3 : RO ;bitpos:[15:0] ;default: 16'h0 ;
* Description: This register stores the current pulse count value for unit3.
*/
#define PCNT_PLUS_CNT_U3 0x0000FFFF
#define PCNT_PLUS_CNT_U3_M ((PCNT_PLUS_CNT_U3_V) << (PCNT_PLUS_CNT_U3_S))
#define PCNT_PLUS_CNT_U3_V 0xFFFF
#define PCNT_PLUS_CNT_U3_S 0
#define PCNT_U4_CNT_REG (DR_REG_PCNT_BASE + 0x0070)
/* PCNT_PLUS_CNT_U4 : RO ;bitpos:[15:0] ;default: 16'h0 ;
* Description: This register stores the current pulse count value for unit4.
*/
#define PCNT_PLUS_CNT_U4 0x0000FFFF
#define PCNT_PLUS_CNT_U4_M ((PCNT_PLUS_CNT_U4_V) << (PCNT_PLUS_CNT_U4_S))
#define PCNT_PLUS_CNT_U4_V 0xFFFF
#define PCNT_PLUS_CNT_U4_S 0
#define PCNT_U5_CNT_REG (DR_REG_PCNT_BASE + 0x0074)
/* PCNT_PLUS_CNT_U5 : RO ;bitpos:[15:0] ;default: 16'h0 ;
* Description: This register stores the current pulse count value for unit5.
*/
#define PCNT_PLUS_CNT_U5 0x0000FFFF
#define PCNT_PLUS_CNT_U5_M ((PCNT_PLUS_CNT_U5_V) << (PCNT_PLUS_CNT_U5_S))
#define PCNT_PLUS_CNT_U5_V 0xFFFF
#define PCNT_PLUS_CNT_U5_S 0
#define PCNT_U6_CNT_REG (DR_REG_PCNT_BASE + 0x0078)
/* PCNT_PLUS_CNT_U6 : RO ;bitpos:[15:0] ;default: 16'h0 ;
* Description: This register stores the current pulse count value for unit6.
*/
#define PCNT_PLUS_CNT_U6 0x0000FFFF
#define PCNT_PLUS_CNT_U6_M ((PCNT_PLUS_CNT_U6_V) << (PCNT_PLUS_CNT_U6_S))
#define PCNT_PLUS_CNT_U6_V 0xFFFF
#define PCNT_PLUS_CNT_U6_S 0
#define PCNT_U7_CNT_REG (DR_REG_PCNT_BASE + 0x007c)
/* PCNT_PLUS_CNT_U7 : RO ;bitpos:[15:0] ;default: 16'h0 ;
* Description: This register stores the current pulse count value for unit7.
*/
#define PCNT_PLUS_CNT_U7 0x0000FFFF
#define PCNT_PLUS_CNT_U7_M ((PCNT_PLUS_CNT_U7_V) << (PCNT_PLUS_CNT_U7_S))
#define PCNT_PLUS_CNT_U7_V 0xFFFF
#define PCNT_PLUS_CNT_U7_S 0
#define PCNT_INT_RAW_REG (DR_REG_PCNT_BASE + 0x0080)
/* PCNT_CNT_THR_EVENT_U7_INT_RAW : RO ;bitpos:[7] ;default: 1'b0 ;
* Description: This is the interrupt raw bit for channel7 event.
*/
#define PCNT_CNT_THR_EVENT_U7_INT_RAW (BIT(7))
#define PCNT_CNT_THR_EVENT_U7_INT_RAW_M (BIT(7))
#define PCNT_CNT_THR_EVENT_U7_INT_RAW_V 0x1
#define PCNT_CNT_THR_EVENT_U7_INT_RAW_S 7
/* PCNT_CNT_THR_EVENT_U6_INT_RAW : RO ;bitpos:[6] ;default: 1'b0 ;
* Description: This is the interrupt raw bit for channel6 event.
*/
#define PCNT_CNT_THR_EVENT_U6_INT_RAW (BIT(6))
#define PCNT_CNT_THR_EVENT_U6_INT_RAW_M (BIT(6))
#define PCNT_CNT_THR_EVENT_U6_INT_RAW_V 0x1
#define PCNT_CNT_THR_EVENT_U6_INT_RAW_S 6
/* PCNT_CNT_THR_EVENT_U5_INT_RAW : RO ;bitpos:[5] ;default: 1'b0 ;
* Description: This is the interrupt raw bit for channel5 event.
*/
#define PCNT_CNT_THR_EVENT_U5_INT_RAW (BIT(5))
#define PCNT_CNT_THR_EVENT_U5_INT_RAW_M (BIT(5))
#define PCNT_CNT_THR_EVENT_U5_INT_RAW_V 0x1
#define PCNT_CNT_THR_EVENT_U5_INT_RAW_S 5
/* PCNT_CNT_THR_EVENT_U4_INT_RAW : RO ;bitpos:[4] ;default: 1'b0 ;
* Description: This is the interrupt raw bit for channel4 event.
*/
#define PCNT_CNT_THR_EVENT_U4_INT_RAW (BIT(4))
#define PCNT_CNT_THR_EVENT_U4_INT_RAW_M (BIT(4))
#define PCNT_CNT_THR_EVENT_U4_INT_RAW_V 0x1
#define PCNT_CNT_THR_EVENT_U4_INT_RAW_S 4
/* PCNT_CNT_THR_EVENT_U3_INT_RAW : RO ;bitpos:[3] ;default: 1'b0 ;
* Description: This is the interrupt raw bit for channel3 event.
*/
#define PCNT_CNT_THR_EVENT_U3_INT_RAW (BIT(3))
#define PCNT_CNT_THR_EVENT_U3_INT_RAW_M (BIT(3))
#define PCNT_CNT_THR_EVENT_U3_INT_RAW_V 0x1
#define PCNT_CNT_THR_EVENT_U3_INT_RAW_S 3
/* PCNT_CNT_THR_EVENT_U2_INT_RAW : RO ;bitpos:[2] ;default: 1'b0 ;
* Description: This is the interrupt raw bit for channel2 event.
*/
#define PCNT_CNT_THR_EVENT_U2_INT_RAW (BIT(2))
#define PCNT_CNT_THR_EVENT_U2_INT_RAW_M (BIT(2))
#define PCNT_CNT_THR_EVENT_U2_INT_RAW_V 0x1
#define PCNT_CNT_THR_EVENT_U2_INT_RAW_S 2
/* PCNT_CNT_THR_EVENT_U1_INT_RAW : RO ;bitpos:[1] ;default: 1'b0 ;
* Description: This is the interrupt raw bit for channel1 event.
*/
#define PCNT_CNT_THR_EVENT_U1_INT_RAW (BIT(1))
#define PCNT_CNT_THR_EVENT_U1_INT_RAW_M (BIT(1))
#define PCNT_CNT_THR_EVENT_U1_INT_RAW_V 0x1
#define PCNT_CNT_THR_EVENT_U1_INT_RAW_S 1
/* PCNT_CNT_THR_EVENT_U0_INT_RAW : RO ;bitpos:[0] ;default: 1'b0 ;
* Description: This is the interrupt raw bit for channel0 event.
*/
#define PCNT_CNT_THR_EVENT_U0_INT_RAW (BIT(0))
#define PCNT_CNT_THR_EVENT_U0_INT_RAW_M (BIT(0))
#define PCNT_CNT_THR_EVENT_U0_INT_RAW_V 0x1
#define PCNT_CNT_THR_EVENT_U0_INT_RAW_S 0
#define PCNT_INT_ST_REG (DR_REG_PCNT_BASE + 0x0084)
/* PCNT_CNT_THR_EVENT_U7_INT_ST : RO ;bitpos:[7] ;default: 1'b0 ;
* Description: This is the interrupt status bit for channel7 event.
*/
#define PCNT_CNT_THR_EVENT_U7_INT_ST (BIT(7))
#define PCNT_CNT_THR_EVENT_U7_INT_ST_M (BIT(7))
#define PCNT_CNT_THR_EVENT_U7_INT_ST_V 0x1
#define PCNT_CNT_THR_EVENT_U7_INT_ST_S 7
/* PCNT_CNT_THR_EVENT_U6_INT_ST : RO ;bitpos:[6] ;default: 1'b0 ;
* Description: This is the interrupt status bit for channel6 event.
*/
#define PCNT_CNT_THR_EVENT_U6_INT_ST (BIT(6))
#define PCNT_CNT_THR_EVENT_U6_INT_ST_M (BIT(6))
#define PCNT_CNT_THR_EVENT_U6_INT_ST_V 0x1
#define PCNT_CNT_THR_EVENT_U6_INT_ST_S 6
/* PCNT_CNT_THR_EVENT_U5_INT_ST : RO ;bitpos:[5] ;default: 1'b0 ;
* Description: This is the interrupt status bit for channel5 event.
*/
#define PCNT_CNT_THR_EVENT_U5_INT_ST (BIT(5))
#define PCNT_CNT_THR_EVENT_U5_INT_ST_M (BIT(5))
#define PCNT_CNT_THR_EVENT_U5_INT_ST_V 0x1
#define PCNT_CNT_THR_EVENT_U5_INT_ST_S 5
/* PCNT_CNT_THR_EVENT_U4_INT_ST : RO ;bitpos:[4] ;default: 1'b0 ;
* Description: This is the interrupt status bit for channel4 event.
*/
#define PCNT_CNT_THR_EVENT_U4_INT_ST (BIT(4))
#define PCNT_CNT_THR_EVENT_U4_INT_ST_M (BIT(4))
#define PCNT_CNT_THR_EVENT_U4_INT_ST_V 0x1
#define PCNT_CNT_THR_EVENT_U4_INT_ST_S 4
/* PCNT_CNT_THR_EVENT_U3_INT_ST : RO ;bitpos:[3] ;default: 1'b0 ;
* Description: This is the interrupt status bit for channel3 event.
*/
#define PCNT_CNT_THR_EVENT_U3_INT_ST (BIT(3))
#define PCNT_CNT_THR_EVENT_U3_INT_ST_M (BIT(3))
#define PCNT_CNT_THR_EVENT_U3_INT_ST_V 0x1
#define PCNT_CNT_THR_EVENT_U3_INT_ST_S 3
/* PCNT_CNT_THR_EVENT_U2_INT_ST : RO; bitpos: [2]; default: 0;
* The masked interrupt status bit for the PCNT_CNT_THR_EVENT_U2_INT
* interrupt.
*/
#define PCNT_CNT_THR_EVENT_U2_INT_ST (BIT(2))
#define PCNT_CNT_THR_EVENT_U2_INT_ST_M (PCNT_CNT_THR_EVENT_U2_INT_ST_V << PCNT_CNT_THR_EVENT_U2_INT_ST_S)
#define PCNT_CNT_THR_EVENT_U2_INT_ST_V 0x00000001
#define PCNT_CNT_THR_EVENT_U2_INT_ST_S 2
/* PCNT_CNT_THR_EVENT_U1_INT_ST : RO; bitpos: [1]; default: 0;
* The masked interrupt status bit for the PCNT_CNT_THR_EVENT_U1_INT
* interrupt.
*/
#define PCNT_CNT_THR_EVENT_U1_INT_ST (BIT(1))
#define PCNT_CNT_THR_EVENT_U1_INT_ST_M (PCNT_CNT_THR_EVENT_U1_INT_ST_V << PCNT_CNT_THR_EVENT_U1_INT_ST_S)
#define PCNT_CNT_THR_EVENT_U1_INT_ST_V 0x00000001
#define PCNT_CNT_THR_EVENT_U1_INT_ST_S 1
/* PCNT_CNT_THR_EVENT_U0_INT_ST : RO; bitpos: [0]; default: 0;
* The masked interrupt status bit for the PCNT_CNT_THR_EVENT_U0_INT
* interrupt.
*/
#define PCNT_CNT_THR_EVENT_U0_INT_ST (BIT(0))
#define PCNT_CNT_THR_EVENT_U0_INT_ST_M (PCNT_CNT_THR_EVENT_U0_INT_ST_V << PCNT_CNT_THR_EVENT_U0_INT_ST_S)
#define PCNT_CNT_THR_EVENT_U0_INT_ST_V 0x00000001
#define PCNT_CNT_THR_EVENT_U0_INT_ST_S 0
/* PCNT_INT_ENA_REG register
* Interrupt enable register
*/
#define PCNT_INT_ENA_REG (DR_REG_PCNT_BASE + 0x0088)
/* PCNT_CNT_THR_EVENT_U7_INT_ENA : R/W ;bitpos:[7] ;default: 1'b0 ;
* Description: This is the interrupt enable bit for channel7 event.
*/
#define PCNT_CNT_THR_EVENT_U7_INT_ENA (BIT(7))
#define PCNT_CNT_THR_EVENT_U7_INT_ENA_M (BIT(7))
#define PCNT_CNT_THR_EVENT_U7_INT_ENA_V 0x1
#define PCNT_CNT_THR_EVENT_U7_INT_ENA_S 7
/* PCNT_CNT_THR_EVENT_U6_INT_ENA : R/W ;bitpos:[6] ;default: 1'b0 ;
* Description: This is the interrupt enable bit for channel6 event.
*/
#define PCNT_CNT_THR_EVENT_U6_INT_ENA (BIT(6))
#define PCNT_CNT_THR_EVENT_U6_INT_ENA_M (BIT(6))
#define PCNT_CNT_THR_EVENT_U6_INT_ENA_V 0x1
#define PCNT_CNT_THR_EVENT_U6_INT_ENA_S 6
/* PCNT_CNT_THR_EVENT_U5_INT_ENA : R/W ;bitpos:[5] ;default: 1'b0 ;
* Description: This is the interrupt enable bit for channel5 event.
*/
#define PCNT_CNT_THR_EVENT_U5_INT_ENA (BIT(5))
#define PCNT_CNT_THR_EVENT_U5_INT_ENA_M (BIT(5))
#define PCNT_CNT_THR_EVENT_U5_INT_ENA_V 0x1
#define PCNT_CNT_THR_EVENT_U5_INT_ENA_S 5
/* PCNT_CNT_THR_EVENT_U4_INT_ENA : R/W ;bitpos:[4] ;default: 1'b0 ;
* Description: This is the interrupt enable bit for channel4 event.
*/
#define PCNT_CNT_THR_EVENT_U4_INT_ENA (BIT(4))
#define PCNT_CNT_THR_EVENT_U4_INT_ENA_M (BIT(4))
#define PCNT_CNT_THR_EVENT_U4_INT_ENA_V 0x1
#define PCNT_CNT_THR_EVENT_U4_INT_ENA_S 4
/* PCNT_CNT_THR_EVENT_U3_INT_ENA : R/W ;bitpos:[3] ;default: 1'b0 ;
* Description: This is the interrupt enable bit for channel3 event.
*/
#define PCNT_CNT_THR_EVENT_U3_INT_ENA (BIT(3))
#define PCNT_CNT_THR_EVENT_U3_INT_ENA_M (BIT(3))
#define PCNT_CNT_THR_EVENT_U3_INT_ENA_V 0x1
#define PCNT_CNT_THR_EVENT_U3_INT_ENA_S 3
/* PCNT_CNT_THR_EVENT_U2_INT_ENA : R/W ;bitpos:[2] ;default: 1'b0 ;
* Description: This is the interrupt enable bit for channel2 event.
*/
#define PCNT_CNT_THR_EVENT_U2_INT_ENA (BIT(2))
#define PCNT_CNT_THR_EVENT_U2_INT_ENA_M (BIT(2))
#define PCNT_CNT_THR_EVENT_U2_INT_ENA_V 0x1
#define PCNT_CNT_THR_EVENT_U2_INT_ENA_S 2
/* PCNT_CNT_THR_EVENT_U1_INT_ENA : R/W ;bitpos:[1] ;default: 1'b0 ;
* Description: This is the interrupt enable bit for channel1 event.
*/
#define PCNT_CNT_THR_EVENT_U1_INT_ENA (BIT(1))
#define PCNT_CNT_THR_EVENT_U1_INT_ENA_M (BIT(1))
#define PCNT_CNT_THR_EVENT_U1_INT_ENA_V 0x1
#define PCNT_CNT_THR_EVENT_U1_INT_ENA_S 1
/* PCNT_CNT_THR_EVENT_U0_INT_ENA : R/W ;bitpos:[0] ;default: 1'b0 ;
* Description: This is the interrupt enable bit for channel0 event.
*/
#define PCNT_CNT_THR_EVENT_U0_INT_ENA (BIT(0))
#define PCNT_CNT_THR_EVENT_U0_INT_ENA_M (BIT(0))
#define PCNT_CNT_THR_EVENT_U0_INT_ENA_V 0x1
#define PCNT_CNT_THR_EVENT_U0_INT_ENA_S 0
#define PCNT_INT_CLR_REG (DR_REG_PCNT_BASE + 0x008c)
/* PCNT_CNT_THR_EVENT_U7_INT_CLR : WO ;bitpos:[7] ;default: 1'b0 ;
* Description: Set this bit to clear channel7 event interrupt.
*/
#define PCNT_CNT_THR_EVENT_U7_INT_CLR (BIT(7))
#define PCNT_CNT_THR_EVENT_U7_INT_CLR_M (BIT(7))
#define PCNT_CNT_THR_EVENT_U7_INT_CLR_V 0x1
#define PCNT_CNT_THR_EVENT_U7_INT_CLR_S 7
/* PCNT_CNT_THR_EVENT_U6_INT_CLR : WO ;bitpos:[6] ;default: 1'b0 ;
* Description: Set this bit to clear channel6 event interrupt.
*/
#define PCNT_CNT_THR_EVENT_U6_INT_CLR (BIT(6))
#define PCNT_CNT_THR_EVENT_U6_INT_CLR_M (BIT(6))
#define PCNT_CNT_THR_EVENT_U6_INT_CLR_V 0x1
#define PCNT_CNT_THR_EVENT_U6_INT_CLR_S 6
/* PCNT_CNT_THR_EVENT_U5_INT_CLR : WO ;bitpos:[5] ;default: 1'b0 ;
* Description: Set this bit to clear channel5 event interrupt.
*/
#define PCNT_CNT_THR_EVENT_U5_INT_CLR (BIT(5))
#define PCNT_CNT_THR_EVENT_U5_INT_CLR_M (BIT(5))
#define PCNT_CNT_THR_EVENT_U5_INT_CLR_V 0x1
#define PCNT_CNT_THR_EVENT_U5_INT_CLR_S 5
/* PCNT_CNT_THR_EVENT_U4_INT_CLR : WO ;bitpos:[4] ;default: 1'b0 ;
* Description: Set this bit to clear channel4 event interrupt.
*/
#define PCNT_CNT_THR_EVENT_U4_INT_CLR (BIT(4))
#define PCNT_CNT_THR_EVENT_U4_INT_CLR_M (BIT(4))
#define PCNT_CNT_THR_EVENT_U4_INT_CLR_V 0x1
#define PCNT_CNT_THR_EVENT_U4_INT_CLR_S 4
/* PCNT_CNT_THR_EVENT_U3_INT_CLR : WO ;bitpos:[3] ;default: 1'b0 ;
* Description: Set this bit to clear channel3 event interrupt.
*/
#define PCNT_CNT_THR_EVENT_U3_INT_CLR (BIT(3))
#define PCNT_CNT_THR_EVENT_U3_INT_CLR_M (BIT(3))
#define PCNT_CNT_THR_EVENT_U3_INT_CLR_V 0x1
#define PCNT_CNT_THR_EVENT_U3_INT_CLR_S 3
/* PCNT_CNT_THR_EVENT_U2_INT_CLR : WO; bitpos: [2]; default: 0;
* Set this bit to clear the PCNT_CNT_THR_EVENT_U2_INT interrupt.
*/
#define PCNT_CNT_THR_EVENT_U2_INT_CLR (BIT(2))
#define PCNT_CNT_THR_EVENT_U2_INT_CLR_M (PCNT_CNT_THR_EVENT_U2_INT_CLR_V << PCNT_CNT_THR_EVENT_U2_INT_CLR_S)
#define PCNT_CNT_THR_EVENT_U2_INT_CLR_V 0x00000001
#define PCNT_CNT_THR_EVENT_U2_INT_CLR_S 2
/* PCNT_CNT_THR_EVENT_U1_INT_CLR : WO ;bitpos:[1] ;default: 1'b0 ;
* Description: Set this bit to clear channel1 event interrupt.
*/
#define PCNT_CNT_THR_EVENT_U1_INT_CLR (BIT(1))
#define PCNT_CNT_THR_EVENT_U1_INT_CLR_M (BIT(1))
#define PCNT_CNT_THR_EVENT_U1_INT_CLR_V 0x1
#define PCNT_CNT_THR_EVENT_U1_INT_CLR_S 1
/* PCNT_CNT_THR_EVENT_U0_INT_CLR : WO ;bitpos:[0] ;default: 1'b0 ;
* Description: Set this bit to clear channel0 event interrupt.
*/
#define PCNT_CNT_THR_EVENT_U0_INT_CLR (BIT(0))
#define PCNT_CNT_THR_EVENT_U0_INT_CLR_M (BIT(0))
#define PCNT_CNT_THR_EVENT_U0_INT_CLR_V 0x1
#define PCNT_CNT_THR_EVENT_U0_INT_CLR_S 0
#define PCNT_U0_STATUS_REG (DR_REG_PCNT_BASE + 0x0090)
/* PCNT_CORE_STATUS_U0 : RO ;bitpos:[31:0] ;default: 32'h0 ; */
#define PCNT_CORE_STATUS_U0 0xFFFFFFFF
#define PCNT_CORE_STATUS_U0_M ((PCNT_CORE_STATUS_U0_V) << (PCNT_CORE_STATUS_U0_S))
#define PCNT_CORE_STATUS_U0_V 0xFFFFFFFF
#define PCNT_CORE_STATUS_U0_S 0
/* 0: positive value to zero;
* 1: negative value to zero;
* 2: counter value negative;
* 3: counter value positive
*/
#define PCNT_STATUS_CNT_MODE 0x3
#define PCNT_STATUS_CNT_MODE_M ((PCNT_STATUS_CNT_MODE_V) << (PCNT_STATUS_CNT_MODE_S))
#define PCNT_STATUS_CNT_MODE_V 0x3
#define PCNT_STATUS_CNT_MODE_S 0
/* counter value equals to thresh1 */
#define PCNT_STATUS_THRES1 BIT(2)
#define PCNT_STATUS_THRES1_M BIT(2)
#define PCNT_STATUS_THRES1_V 0x1
#define PCNT_STATUS_THRES1_S 2
/* counter value equals to thresh0 */
#define PCNT_STATUS_THRES0 BIT(3)
#define PCNT_STATUS_THRES0_M BIT(3)
#define PCNT_STATUS_THRES0_V 0x1
#define PCNT_STATUS_THRES0_S 3
/* counter value reaches h_lim */
#define PCNT_STATUS_L_LIM BIT(4)
#define PCNT_STATUS_L_LIM_M BIT(4)
#define PCNT_STATUS_L_LIM_V 0x1
#define PCNT_STATUS_L_LIM_S 4
/* counter value reaches l_lim */
#define PCNT_STATUS_H_LIM BIT(5)
#define PCNT_STATUS_H_LIM_M BIT(5)
#define PCNT_STATUS_H_LIM_V 0x1
#define PCNT_STATUS_H_LIM_S 5
/* counter value equals to zero */
#define PCNT_STATUS_ZERO BIT(6)
#define PCNT_STATUS_ZERO_M BIT(6)
#define PCNT_STATUS_ZERO_V 0x1
#define PCNT_STATUS_ZERO_S 6
#define PCNT_U1_STATUS_REG (DR_REG_PCNT_BASE + 0x0094)
/* PCNT_CORE_STATUS_U1 : RO ;bitpos:[31:0] ;default: 32'h0 ; */
/* Description: */
#define PCNT_CORE_STATUS_U1 0xFFFFFFFF
#define PCNT_CORE_STATUS_U1_M ((PCNT_CORE_STATUS_U1_V) << (PCNT_CORE_STATUS_U1_S))
#define PCNT_CORE_STATUS_U1_V 0xFFFFFFFF
#define PCNT_CORE_STATUS_U1_S 0
#define PCNT_U2_STATUS_REG (DR_REG_PCNT_BASE + 0x0098)
/* PCNT_CORE_STATUS_U2 : RO ;bitpos:[31:0] ;default: 32'h0 ; */
#define PCNT_CORE_STATUS_U2 0xFFFFFFFF
#define PCNT_CORE_STATUS_U2_M ((PCNT_CORE_STATUS_U2_V) << (PCNT_CORE_STATUS_U2_S))
#define PCNT_CORE_STATUS_U2_V 0xFFFFFFFF
#define PCNT_CORE_STATUS_U2_S 0
#define PCNT_U3_STATUS_REG (DR_REG_PCNT_BASE + 0x009c)
/* PCNT_CORE_STATUS_U3 : RO ;bitpos:[31:0] ;default: 32'h0 ; */
#define PCNT_CORE_STATUS_U3 0xFFFFFFFF
#define PCNT_CORE_STATUS_U3_M ((PCNT_CORE_STATUS_U3_V) << (PCNT_CORE_STATUS_U3_S))
#define PCNT_CORE_STATUS_U3_V 0xFFFFFFFF
#define PCNT_CORE_STATUS_U3_S 0
#define PCNT_U4_STATUS_REG (DR_REG_PCNT_BASE + 0x00a0)
/* PCNT_CORE_STATUS_U4 : RO ;bitpos:[31:0] ;default: 32'h0 ; */
/* Description: */
#define PCNT_CORE_STATUS_U4 0xFFFFFFFF
#define PCNT_CORE_STATUS_U4_M ((PCNT_CORE_STATUS_U4_V) << (PCNT_CORE_STATUS_U4_S))
#define PCNT_CORE_STATUS_U4_V 0xFFFFFFFF
#define PCNT_CORE_STATUS_U4_S 0
#define PCNT_U5_STATUS_REG (DR_REG_PCNT_BASE + 0x00a4)
/* PCNT_CORE_STATUS_U5 : RO ;bitpos:[31:0] ;default: 32'h0 ; */
/* Description: */
#define PCNT_CORE_STATUS_U5 0xFFFFFFFF
#define PCNT_CORE_STATUS_U5_M ((PCNT_CORE_STATUS_U5_V) << (PCNT_CORE_STATUS_U5_S))
#define PCNT_CORE_STATUS_U5_V 0xFFFFFFFF
#define PCNT_CORE_STATUS_U5_S 0
#define PCNT_U6_STATUS_REG (DR_REG_PCNT_BASE + 0x00a8)
/* PCNT_CORE_STATUS_U6 : RO ;bitpos:[31:0] ;default: 32'h0 ; */
/* Description: */
#define PCNT_CORE_STATUS_U6 0xFFFFFFFF
#define PCNT_CORE_STATUS_U6_M ((PCNT_CORE_STATUS_U6_V) << (PCNT_CORE_STATUS_U6_S))
#define PCNT_CORE_STATUS_U6_V 0xFFFFFFFF
#define PCNT_CORE_STATUS_U6_S 0
#define PCNT_U7_STATUS_REG (DR_REG_PCNT_BASE + 0x00ac)
/* PCNT_CORE_STATUS_U7 : RO ;bitpos:[31:0] ;default: 32'h0 ; */
#define PCNT_CORE_STATUS_U7 0xFFFFFFFF
#define PCNT_CORE_STATUS_U7_M ((PCNT_CORE_STATUS_U7_V) << (PCNT_CORE_STATUS_U7_S))
#define PCNT_CORE_STATUS_U7_V 0xFFFFFFFF
#define PCNT_CORE_STATUS_U7_S 0
#define PCNT_CTRL_REG (DR_REG_PCNT_BASE + 0x00b0)
/* PCNT_CLK_EN : R/W ;bitpos:[16] ;default: 1'b0 ; */
#define PCNT_CLK_EN (BIT(16))
#define PCNT_CLK_EN_M (BIT(16))
#define PCNT_CLK_EN_V 0x1
#define PCNT_CLK_EN_S 16
/* PCNT_CNT_PAUSE_U7 : R/W ;bitpos:[15] ;default: 1'b0 ; */
/* Description: Set this bit to pause unit7's counter. */
#define PCNT_CNT_PAUSE_U7 (BIT(15))
#define PCNT_CNT_PAUSE_U7_M (BIT(15))
#define PCNT_CNT_PAUSE_U7_V 0x1
#define PCNT_CNT_PAUSE_U7_S 15
/* PCNT_PLUS_CNT_RST_U7 : R/W ;bitpos:[14] ;default: 1'b1 ; */
/* Description: Set this bit to clear unit7's counter. */
#define PCNT_PLUS_CNT_RST_U7 (BIT(14))
#define PCNT_PLUS_CNT_RST_U7_M (BIT(14))
#define PCNT_PLUS_CNT_RST_U7_V 0x1
#define PCNT_PLUS_CNT_RST_U7_S 14
/* PCNT_CNT_PAUSE_U6 : R/W ;bitpos:[13] ;default: 1'b0 ; */
/* Description: Set this bit to pause unit6's counter. */
#define PCNT_CNT_PAUSE_U6 (BIT(13))
#define PCNT_CNT_PAUSE_U6_M (BIT(13))
#define PCNT_CNT_PAUSE_U6_V 0x1
#define PCNT_CNT_PAUSE_U6_S 13
/* PCNT_PLUS_CNT_RST_U6 : R/W ;bitpos:[12] ;default: 1'b1 ; */
/* Description: Set this bit to clear unit6's counter. */
#define PCNT_PLUS_CNT_RST_U6 (BIT(12))
#define PCNT_PLUS_CNT_RST_U6_M (BIT(12))
#define PCNT_PLUS_CNT_RST_U6_V 0x1
#define PCNT_PLUS_CNT_RST_U6_S 12
/* PCNT_CNT_PAUSE_U5 : R/W ;bitpos:[11] ;default: 1'b0 ; */
/* Description: Set this bit to pause unit5's counter. */
#define PCNT_CNT_PAUSE_U5 (BIT(11))
#define PCNT_CNT_PAUSE_U5_M (BIT(11))
#define PCNT_CNT_PAUSE_U5_V 0x1
#define PCNT_CNT_PAUSE_U5_S 11
/* PCNT_PLUS_CNT_RST_U5 : R/W ;bitpos:[10] ;default: 1'b1 ; */
/* Description: Set this bit to clear unit5's counter. */
#define PCNT_PLUS_CNT_RST_U5 (BIT(10))
#define PCNT_PLUS_CNT_RST_U5_M (BIT(10))
#define PCNT_PLUS_CNT_RST_U5_V 0x1
#define PCNT_PLUS_CNT_RST_U5_S 10
/* PCNT_CNT_PAUSE_U4 : R/W ;bitpos:[9] ;default: 1'b0 ; */
/* Description: Set this bit to pause unit4's counter. */
#define PCNT_CNT_PAUSE_U4 (BIT(9))
#define PCNT_CNT_PAUSE_U4_M (BIT(9))
#define PCNT_CNT_PAUSE_U4_V 0x1
#define PCNT_CNT_PAUSE_U4_S 9
/* PCNT_PLUS_CNT_RST_U4 : R/W ;bitpos:[8] ;default: 1'b1 ; */
/* Description: Set this bit to clear unit4's counter. */
#define PCNT_PLUS_CNT_RST_U4 (BIT(8))
#define PCNT_PLUS_CNT_RST_U4_M (BIT(8))
#define PCNT_PLUS_CNT_RST_U4_V 0x1
#define PCNT_PLUS_CNT_RST_U4_S 8
/* PCNT_CNT_PAUSE_U3 : R/W ;bitpos:[7] ;default: 1'b0 ; */
/* Description: Set this bit to pause unit3's counter. */
#define PCNT_CNT_PAUSE_U3 (BIT(7))
#define PCNT_CNT_PAUSE_U3_M (BIT(7))
#define PCNT_CNT_PAUSE_U3_V 0x1
#define PCNT_CNT_PAUSE_U3_S 7
/* PCNT_PLUS_CNT_RST_U3 : R/W ;bitpos:[6] ;default: 1'b1 ; */
/* Description: Set this bit to clear unit3's counter. */
#define PCNT_PLUS_CNT_RST_U3 (BIT(6))
#define PCNT_PLUS_CNT_RST_U3_M (BIT(6))
#define PCNT_PLUS_CNT_RST_U3_V 0x1
#define PCNT_PLUS_CNT_RST_U3_S 6
/* PCNT_CNT_PAUSE_U2 : R/W ;bitpos:[5] ;default: 1'b0 ; */
/* Description: Set this bit to pause unit2's counter. */
#define PCNT_CNT_PAUSE_U2 (BIT(5))
#define PCNT_CNT_PAUSE_U2_M (BIT(5))
#define PCNT_CNT_PAUSE_U2_V 0x1
#define PCNT_CNT_PAUSE_U2_S 5
/* PCNT_PLUS_CNT_RST_U2 : R/W ;bitpos:[4] ;default: 1'b1 ; */
/* Description: Set this bit to clear unit2's counter. */
#define PCNT_PLUS_CNT_RST_U2 (BIT(4))
#define PCNT_PLUS_CNT_RST_U2_M (BIT(4))
#define PCNT_PLUS_CNT_RST_U2_V 0x1
#define PCNT_PLUS_CNT_RST_U2_S 4
/* PCNT_CNT_PAUSE_U1 : R/W ;bitpos:[3] ;default: 1'b0 ; */
/* Description: Set this bit to pause unit1's counter. */
#define PCNT_CNT_PAUSE_U1 (BIT(3))
#define PCNT_CNT_PAUSE_U1_M (BIT(3))
#define PCNT_CNT_PAUSE_U1_V 0x1
#define PCNT_CNT_PAUSE_U1_S 3
/* PCNT_PLUS_CNT_RST_U1 : R/W ;bitpos:[2] ;default: 1'b1 ; */
/* Description: Set this bit to clear unit1's counter. */
#define PCNT_PLUS_CNT_RST_U1 (BIT(2))
#define PCNT_PLUS_CNT_RST_U1_M (BIT(2))
#define PCNT_PLUS_CNT_RST_U1_V 0x1
#define PCNT_PLUS_CNT_RST_U1_S 2
/* PCNT_CNT_PAUSE_U0 : R/W ;bitpos:[1] ;default: 1'b0 ; */
/* Description: Set this bit to pause unit0's counter. */
#define PCNT_CNT_PAUSE_U0 (BIT(1))
#define PCNT_CNT_PAUSE_U0_M (BIT(1))
#define PCNT_CNT_PAUSE_U0_V 0x1
#define PCNT_CNT_PAUSE_U0_S 1
/* PCNT_PLUS_CNT_RST_U0 : R/W ;bitpos:[0] ;default: 1'b1 ; */
/* Description: Set this bit to clear unit0's counter. */
#define PCNT_PLUS_CNT_RST_U0 (BIT(0))
#define PCNT_PLUS_CNT_RST_U0_M (BIT(0))
#define PCNT_PLUS_CNT_RST_U0_V 0x1
#define PCNT_PLUS_CNT_RST_U0_S 0
#define PCNT_DATE_REG (DR_REG_PCNT_BASE + 0x00fc)
/* PCNT_DATE : R/W ;bitpos:[31:0] ;default: 32'h14122600 ; */
#define PCNT_DATE 0xFFFFFFFF
#define PCNT_DATE_M ((PCNT_DATE_V) << (PCNT_DATE_S))
#define PCNT_DATE_V 0xFFFFFFFF
#define PCNT_DATE_S 0
/* Index macros for CONF0/1/2 */
#define PCNT_CONF0_U(X) (PCNT_U0_CONF0_REG + (X) * 12)
#define PCNT_CONF1_U(X) (PCNT_U0_CONF1_REG + (X) * 12)
#define PCNT_CONF2_U(X) (PCNT_U0_CONF2_REG + (X) * 12)
/* Index macros for CONT */
#define PCNT_CNT_U(X) (PCNT_U0_CNT_REG + (X) * 4)
/* Index macros for STATUS */
#define PCNT_STATUS_U(X) (PCNT_U0_STATUS_REG + (X) * 4)
/* PCNT Reset bit, Even bits: 0, 2, 4, 6 */
#define PCNT_CNT_RST_U(X) (1 << ((X) * 2))
/* PCNT channel action on control level */
#define PCNT_MODE_KEEP 0 /* Control mode: won't change counter mode */
#define PCNT_MODE_REVERSE 1 /* Control mode: invert counter mode(increase -> decrease, decrease -> increase) */
#define PCNT_MODE_DISABLE 2 /* Control mode: Inhibit counter(counter value will not change in this condition) */
#define PCNT_MODE_MAX 3
/* PCNT channel action on signal edge */
#define PCNT_COUNT_DIS 0 /* Counter mode: Inhibit counter(counter value will not change in this condition) */
#define PCNT_COUNT_INC 1 /* Counter mode: Increase counter value */
#define PCNT_COUNT_DEC 2 /* Counter mode: Decrease counter value */
#define PCNT_COUNT_MAX 3
#endif /* __ARCH_XTENSA_SRC_ESP32_HARDWARE_ESP32_PCNT_H */