Files

copied
Last update 2 years 1 month by Gianpaolo Macario
Filesfirmwarecommon
..
rad1o
xapp058
LPC4320_M4_memory.ld
LPC4330_M4_memory.ld
LPC43xx_M0_memory.ld
LPC43xx_M4_M0_image_from_text.ld
LPC43xx_M4_memory.ld
README
bitband.c
bitband.h
clkin.c
clkin.h
configure_file.cmake
cpld_jtag.c
cpld_jtag.h
cpld_xc2c.c
cpld_xc2c.h
crc.c
crc.h
fault_handler.c
fault_handler.h
firmware_info.c
firmware_info.h
gpdma.c
gpdma.h
gpio.h
gpio_lpc.c
gpio_lpc.h
hackrf_core.c
hackrf_core.h
hackrf_ui.c
hackrf_ui.h
i2c_bus.c
i2c_bus.h
i2c_lpc.c
i2c_lpc.h
m0_bin.s.cmake
m0_sleep.c
max2837.c
max2837.h
max2837_regs.def
max2837_target.c
max2837_target.h
max2839.c
max2839.h
max2839_regs.def
max2839_target.c
max2839_target.h
max283x.c
max283x.h
max2871.c
max2871.h
max2871_regs.c
max2871_regs.h
max5864.c
max5864.h
max5864_target.c
max5864_target.h
mixer.c
mixer.h
operacake.c
operacake.h
operacake_sctimer.c
operacake_sctimer.h
platform_detect.c
platform_detect.h
portapack.c
portapack.h
rf_path.c
rf_path.h
rffc5071.c
rffc5071.h
rffc5071_regs.def
rffc5071_spi.c
rffc5071_spi.h
rom_iap.c
rom_iap.h
sct.h
sgpio.c
sgpio.h
si5351c.c
si5351c.h
spi_bus.c
spi_bus.h
spi_ssp.c
spi_ssp.h
streaming.c
streaming.h
tuning.c
tuning.h
ui_portapack.c
ui_portapack.h
ui_rad1o.c
ui_rad1o.h
usb.c
usb.h
usb_queue.c
usb_queue.h
usb_request.c
usb_request.h
usb_standard_request.c
usb_standard_request.h
usb_type.h
w25q80bv.c
w25q80bv.h
w25q80bv_target.c
w25q80bv_target.h
sct.h
/* * Copyright 2017-2022 Great Scott Gadgets <info@greatscottgadgets.com> * * This file is part of HackRF. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; see the file COPYING. If not, write to * the Free Software Foundation, Inc., 51 Franklin Street, * Boston, MA 02110-1301, USA. */ #include <libopencm3/cm3/common.h> #include <libopencm3/lpc43xx/memorymap.h> #define SCT_EVENT_COUNT 16 #undef SCT_DITHER_ENGINE_EN /* SCT Dither Engine only registers and fields: EV[0:15]_CTRL[MATCHMEM, DIRECTION] */ /* --- SCT_CONFIG ---------------------------------------- */ #define SCT_CONFIG MMIO32(SCT_BASE + 0x00) /* -- SCT_CONFIG_UNIFY: SCT operation */ #define SCT_CONFIG_UNIFY_SHIFT (0) #define SCT_CONFIG_UNIFY_MASK (0x01 << SCT_CONFIG_UNIFY_SHIFT) #define SCT_CONFIG_UNIFY(x) ((x) << SCT_CONFIG_UNIFY_SHIFT) /* SCT_CONFIG_UNIFY_UNIFY values */ /* 16-bit.The SCT operates as two 16-bit counters named L and H. */ #define SCT_CONFIG_UNIFY_16_BIT SCT_CONFIG_UNIFY(0x00) /* 32-bit. The SCT operates as a unified 32-bit counter. */ #define SCT_CONFIG_UNIFY_32_BIT SCT_CONFIG_UNIFY(0x01) /* -- SCT_CONFIG_CLKMODE: SCT clock mode */ #define SCT_CONFIG_CLKMODE_SHIFT (1) #define SCT_CONFIG_CLKMODE_MASK (0x03 << SCT_CONFIG_CLKMODE_SHIFT) #define SCT_CONFIG_CLKMODE(x) ((x) << SCT_CONFIG_CLKMODE_SHIFT) /* SCT_CONFIG_CLKMODE_CLKMODE values */ /* Bus clock. The bus clock clocks the SCT and prescalers. */ #define SCT_CONFIG_CLKMODE_BUS_CLOCK SCT_CONFIG_CLKMODE(0x00) /* Prescaled bus clock. The SCT clock is the bus clock, but the prescalers are * enabled to count only when sampling of the input selected by the CKSEL field * finds the selected edge. The minimum pulse width on the clock input is 1 bus * clock period. This mode is the high-performance sampled-clock mode. */ #define SCT_CONFIG_CLKMODE_PRESCALED_BUS_CLOCK SCT_CONFIG_CLKMODE(0x01) /* SCT Input. The input selected by CKSEL clocks the SCT and prescalers. The * input is synchronized to the bus clock and possibly inverted. The minimum * pulse width on the clock input is 1 bus clock period. This mode is the * low-power sampled-clock mode. */ #define SCT_CONFIG_CLKMODE_SCT_INPUT SCT_CONFIG_CLKMODE(0x02) /* Reserved. */ #define SCT_CONFIG_CLKMODE_RESERVED SCT_CONFIG_CLKMODE(0x03) /* -- SCT_CONFIG_CKSEL: SCT clock select */ #define SCT_CONFIG_CKSEL_SHIFT (3) #define SCT_CONFIG_CKSEL_MASK (0x0F << SCT_CONFIG_CKSEL_SHIFT) #define SCT_CONFIG_CKSEL(x) ((x) << SCT_CONFIG_CKSEL_SHIFT) /* SCT_CONFIG_CKSEL_CKSEL values */ /* Rising edges on input 0. */ #define SCT_CONFIG_CKSEL_RISING_EDGES_ON_INPUT_0 SCT_CONFIG_CKSEL(0x00) /* Falling edges on input 0. */ #define SCT_CONFIG_CKSEL_FALLING_EDGES_ON_INPUT_0 SCT_CONFIG_CKSEL(0x01) /* Rising edges on input 1. */ #define SCT_CONFIG_CKSEL_RISING_EDGES_ON_INPUT_1 SCT_CONFIG_CKSEL(0x02) /* Falling edges on input 1. */ #define SCT_CONFIG_CKSEL_FALLING_EDGES_ON_INPUT_1 SCT_CONFIG_CKSEL(0x03) /* Rising edges on input 2. */ #define SCT_CONFIG_CKSEL_RISING_EDGES_ON_INPUT_2 SCT_CONFIG_CKSEL(0x04) /* Falling edges on input 2. */ #define SCT_CONFIG_CKSEL_FALLING_EDGES_ON_INPUT_2 SCT_CONFIG_CKSEL(0x05) /* Rising edges on input 3. */ #define SCT_CONFIG_CKSEL_RISING_EDGES_ON_INPUT_3 SCT_CONFIG_CKSEL(0x06) /* Falling edges on input 3. */ #define SCT_CONFIG_CKSEL_FALLING_EDGES_ON_INPUT_3 SCT_CONFIG_CKSEL(0x07) /* Rising edges on input 4. */ #define SCT_CONFIG_CKSEL_RISING_EDGES_ON_INPUT_4 SCT_CONFIG_CKSEL(0x08) /* Falling edges on input 4. */ #define SCT_CONFIG_CKSEL_FALLING_EDGES_ON_INPUT_4 SCT_CONFIG_CKSEL(0x09) /* Rising edges on input 5. */ #define SCT_CONFIG_CKSEL_RISING_EDGES_ON_INPUT_5 SCT_CONFIG_CKSEL(0x0A) /* Falling edges on input 5. */ #define SCT_CONFIG_CKSEL_FALLING_EDGES_ON_INPUT_5 SCT_CONFIG_CKSEL(0x0B) /* Rising edges on input 6. */ #define SCT_CONFIG_CKSEL_RISING_EDGES_ON_INPUT_6 SCT_CONFIG_CKSEL(0x0C) /* Falling edges on input 6. */ #define SCT_CONFIG_CKSEL_FALLING_EDGES_ON_INPUT_6 SCT_CONFIG_CKSEL(0x0D) /* Rising edges on input 7. */ #define SCT_CONFIG_CKSEL_RISING_EDGES_ON_INPUT_7 SCT_CONFIG_CKSEL(0x0E) /* Falling edges on input 7. */ #define SCT_CONFIG_CKSEL_FALLING_EDGES_ON_INPUT_7 SCT_CONFIG_CKSEL(0x0F) /* -- SCT_CONFIG_NORELAOD_L: A 1 in this bit prevents the lower match and * fractional match registers from being reloaded from their respective reload * registers. Software can write to set or clear this bit at any time. This bit * applies to both the higher and lower registers when the UNIFY bit is set. */ #define SCT_CONFIG_NORELAOD_L_SHIFT (7) #define SCT_CONFIG_NORELAOD_L_MASK (0x01 << SCT_CONFIG_NORELAOD_L_SHIFT) #define SCT_CONFIG_NORELAOD_L(x) ((x) << SCT_CONFIG_NORELAOD_L_SHIFT) /* -- SCT_CONFIG_NORELOAD_H: A 1 in this bit prevents the higher match and * fractional match registers from being reloaded from their respective reload * registers. Software can write to set or clear this bit at any time. This bit * is not used when the UNIFY bit is set. */ #define SCT_CONFIG_NORELOAD_H_SHIFT (8) #define SCT_CONFIG_NORELOAD_H_MASK (0x01 << SCT_CONFIG_NORELOAD_H_SHIFT) #define SCT_CONFIG_NORELOAD_H(x) ((x) << SCT_CONFIG_NORELOAD_H_SHIFT) /* -- SCT_CONFIG_INSYNC: Synchronization for input n (bit 9 = input 0, bit 10 = * input 1,..., bit 16 = input 7). A 1 in one of these bits subjects the * corresponding input to synchronization to the SCT clock, before it is used * to create an event. If an input is synchronous to the SCT clock, keep its bit * 0 for faster response. When the CKMODE field is 1x, the bit in this field, * corresponding to the input selected by the CKSEL field, is not used. */ #define SCT_CONFIG_INSYNC_SHIFT (9) #define SCT_CONFIG_INSYNC_MASK (0xFF << SCT_CONFIG_INSYNC_SHIFT) #define SCT_CONFIG_INSYNC(x) ((x) << SCT_CONFIG_INSYNC_SHIFT) /* -- SCT_CONFIG_AUTOLIMIT_L: A one in this bit causes a match on match register * 0 to be treated as a de-facto LIMIT condition without the need to define an * associated event. As with any LIMIT event, this automatic limit causes the * counter to be cleared to zero in uni-directional mode or to change the * direction of count in bi-directional mode. Software can write to set or clear * this bit at any time. This bit applies to both the higher and lower * registers when the UNIFY bit is set. */ #define SCT_CONFIG_AUTOLIMIT_L_SHIFT (17) #define SCT_CONFIG_AUTOLIMIT_L_MASK (0x01 << SCT_CONFIG_AUTOLIMIT_L_SHIFT) #define SCT_CONFIG_AUTOLIMIT_L(x) ((x) << SCT_CONFIG_AUTOLIMIT_L_SHIFT) /* -- SCT_CONFIG_AUTOLIMIT_H: A one in this bit will cause a match on match * register 0 to be treated as a de-facto LIMIT condition without the need to * define an associated event. As with any LIMIT event, this automatic limit * causes the counter to be cleared to zero in uni-directional mode or to * change the direction of count in bi-directional mode. Software can write to * set or clear this bit at any time. This bit is not used when the UNIFY bit * is set. */ #define SCT_CONFIG_AUTOLIMIT_H_SHIFT (18) #define SCT_CONFIG_AUTOLIMIT_H_MASK (0x01 << SCT_CONFIG_AUTOLIMIT_H_SHIFT) #define SCT_CONFIG_AUTOLIMIT_H(x) ((x) << SCT_CONFIG_AUTOLIMIT_H_SHIFT) /* --- SCT_CTRL ------------------------------------------ */ #define SCT_CTRL MMIO32(SCT_BASE + 0x04) /* -- SCT_CTRL_DOWN_L: This bit is 1 when the L or unified counter is counting * down. Hardware sets this bit when the counter limit is reached and BIDIR * is 1. Hardware clears this bit when the counter reaches 0 or when the counter * is counting down and a limit condition occurs. */ #define SCT_CTRL_DOWN_L_SHIFT (0) #define SCT_CTRL_DOWN_L_MASK (0x01 << SCT_CTRL_DOWN_L_SHIFT) #define SCT_CTRL_DOWN_L(x) ((x) << SCT_CTRL_DOWN_L_SHIFT) /* -- SCT_CTRL_STOP_L: When this bit is 1 and HALT is 0, the L or unified * counter does not run but I/O events related to the counter can occur. If * such an event matches the mask in the Start register, this bit is cleared * and counting resumes. */ #define SCT_CTRL_STOP_L_SHIFT (1) #define SCT_CTRL_STOP_L_MASK (0x01 << SCT_CTRL_STOP_L_SHIFT) #define SCT_CTRL_STOP_L(x) ((x) << SCT_CTRL_STOP_L_SHIFT) /* -- SCT_CTRL_HALT_L: When this bit is 1, the L or unified counter does not run * and no events can occur. A reset sets this bit. When the HALT_L bit is one, * the STOP_L bit is cleared. If you want to remove the halt condition and keep * the SCT in the stop condition (not running), then you can change the halt and * stop condition with one single write to this register. Once set, only * software can clear this bit to restore counter operation. */ #define SCT_CTRL_HALT_L_SHIFT (2) #define SCT_CTRL_HALT_L_MASK (0x01 << SCT_CTRL_HALT_L_SHIFT) #define SCT_CTRL_HALT_L(x) ((x) << SCT_CTRL_HALT_L_SHIFT) /* -- SCT_CTRL_CLRCTR_L: Writing a 1 to this bit clears the L or unified * counter. This bit always reads as 0. */ #define SCT_CTRL_CLRCTR_L_SHIFT (3) #define SCT_CTRL_CLRCTR_L_MASK (0x01 << SCT_CTRL_CLRCTR_L_SHIFT) #define SCT_CTRL_CLRCTR_L(x) ((x) << SCT_CTRL_CLRCTR_L_SHIFT) /* -- SCT_CTRL_BIDIR_L: L or unified counter direction select */ #define SCT_CTRL_BIDIR_L_SHIFT (4) #define SCT_CTRL_BIDIR_L_MASK (0x01 << SCT_CTRL_BIDIR_L_SHIFT) #define SCT_CTRL_BIDIR_L(x) ((x) << SCT_CTRL_BIDIR_L_SHIFT) /* SCT_CTRL_BIDIR_L_BIDIR_L values */ /* Up. The counter counts up to its limit condition, then is cleared to zero. */ #define SCT_CTRL_BIDIR_L_UP SCT_CTRL_BIDIR_L(0x00) /* Up-down. The counter counts up to its limit, then counts down to a limit * condition or to 0. */ #define SCT_CTRL_BIDIR_L_UPDOWN SCT_CTRL_BIDIR_L(0x01) /* -- SCT_CTRL_PRE_L: Specifies the factor by which the SCT clock is prescaled * to produce the L or unified counter clock. The counter clock is clocked at * the rate of the SCT clock divided by PRE_L+1. Clear the counter (by writing * a 1 to the CLRCTR bit) whenever changing the PRE value. */ #define SCT_CTRL_PRE_L_SHIFT (5) #define SCT_CTRL_PRE_L_MASK (0xFF << SCT_CTRL_PRE_L_SHIFT) #define SCT_CTRL_PRE_L(x) ((x) << SCT_CTRL_PRE_L_SHIFT) /* -- SCT_CTRL_DOWN_H: This bit is 1 when the H counter is counting down. * Hardware sets this bit when the counter limit is reached and BIDIR is 1. * Hardware clears this bit when the counter reaches 0 or when the counter is * counting down and a limit condition occurs. */ #define SCT_CTRL_DOWN_H_SHIFT (16) #define SCT_CTRL_DOWN_H_MASK (0x01 << SCT_CTRL_DOWN_H_SHIFT) #define SCT_CTRL_DOWN_H(x) ((x) << SCT_CTRL_DOWN_H_SHIFT) /* -- SCT_CTRL_STOP_H: When this bit is 1 and HALT is 0, the H counter does not * run but I/O events related to the counter can occur. If such an event matches * the mask in the Start register, this bit is cleared and counting resumes. */ #define SCT_CTRL_STOP_H_SHIFT (17) #define SCT_CTRL_STOP_H_MASK (0x01 << SCT_CTRL_STOP_H_SHIFT) #define SCT_CTRL_STOP_H(x) ((x) << SCT_CTRL_STOP_H_SHIFT) /* -- SCT_CTRL_HALT_H: When this bit is 1, the H counter does not run and no * events can occur. A reset sets this bit. When the HALT_H bit is one, the * STOP_H bit is cleared. If you want to remove the halt condition and keep the * SCT in the stop condition (not running), then you can change the halt and * stop condition with one single write to this register. Once set, this bit can * only be cleared by software to restore counter operation. */ #define SCT_CTRL_HALT_H_SHIFT (18) #define SCT_CTRL_HALT_H_MASK (0x01 << SCT_CTRL_HALT_H_SHIFT) #define SCT_CTRL_HALT_H(x) ((x) << SCT_CTRL_HALT_H_SHIFT) /* -- SCT_CTRL_CLRCTR_H: Writing a 1 to this bit clears the H counter. This bit * always reads as 0. */ #define SCT_CTRL_CLRCTR_H_SHIFT (19) #define SCT_CTRL_CLRCTR_H_MASK (0x01 << SCT_CTRL_CLRCTR_H_SHIFT) #define SCT_CTRL_CLRCTR_H(x) ((x) << SCT_CTRL_CLRCTR_H_SHIFT) /* -- SCT_CTRL_BIDIR_H: Direction select */ #define SCT_CTRL_BIDIR_H_SHIFT (20) #define SCT_CTRL_BIDIR_H_MASK (0x01 << SCT_CTRL_BIDIR_H_SHIFT) #define SCT_CTRL_BIDIR_H(x) ((x) << SCT_CTRL_BIDIR_H_SHIFT) /* SCT_CTRL_BIDIR_H_BIDIR_H values */ /* Up. The H counter counts up to its limit condition, then is cleared to zero. */ #define SCT_CTRL_BIDIR_H_UP SCT_CTRL_BIDIR_H(0x00) /* Up-down. The H counter counts up to its limit, then counts down to a limit * condition or to 0. */ #define SCT_CTRL_BIDIR_H_UPDOWN SCT_CTRL_BIDIR_H(0x01) /* -- SCT_CTRL_PRE_H: Specifies the factor by which the SCT clock is prescaled * to produce the H counter clock. The counter clock is clocked at the rate of * the SCT clock divided by PRELH+1. Clear the counter (by writing a 1 to the * CLRCTR bit) whenever changing the PRE value. */ #define SCT_CTRL_PRE_H_SHIFT (21) #define SCT_CTRL_PRE_H_MASK (0xFF << SCT_CTRL_PRE_H_SHIFT) #define SCT_CTRL_PRE_H(x) ((x) << SCT_CTRL_PRE_H_SHIFT) /* --- SCT_LIMIT ----------------------------------------- */ #define SCT_LIMIT MMIO32(SCT_BASE + 0x08) /* -- SCT_LIMIT_LIMMSK_L: If bit n is one, event n is used as a counter limit * event for the L or unified counter (event 0 = bit 0, event 1 = bit 1, event * 15 = bit 15). */ #define SCT_LIMIT_LIMMSK_L_SHIFT (0) #define SCT_LIMIT_LIMMSK_L_MASK (0xFFFF << SCT_LIMIT_LIMMSK_L_SHIFT) #define SCT_LIMIT_LIMMSK_L(x) ((x) << SCT_LIMIT_LIMMSK_L_SHIFT) /* -- SCT_LIMIT_LIMMSK_H: If bit n is one, event n is used as a counter limit * event for the H counter (event 0 = bit 16, event 1 = bit 17, event 15 = bit * 31). */ #define SCT_LIMIT_LIMMSK_H_SHIFT (16) #define SCT_LIMIT_LIMMSK_H_MASK (0xFFFF << SCT_LIMIT_LIMMSK_H_SHIFT) #define SCT_LIMIT_LIMMSK_H(x) ((x) << SCT_LIMIT_LIMMSK_H_SHIFT) /* --- SCT_HALT ------------------------------------------ */ #define SCT_HALT MMIO32(SCT_BASE + 0x0C) /* -- SCT_HALT_HALTMSK_L: If bit n is one, event n sets the HALT_L bit in the * CTRL register (event 0 = bit 0, event 1 = bit 1, event 15 = bit 15). */ #define SCT_HALT_HALTMSK_L_SHIFT (0) #define SCT_HALT_HALTMSK_L_MASK (0xFFFF << SCT_HALT_HALTMSK_L_SHIFT) #define SCT_HALT_HALTMSK_L(x) ((x) << SCT_HALT_HALTMSK_L_SHIFT) /* -- SCT_HALT_HALTMSK_H: If bit n is one, event n sets the HALT_H bit in the * CTRL register (event 0 = bit 16, event 1 = bit 17, event 15 = bit 31). */ #define SCT_HALT_HALTMSK_H_SHIFT (16) #define SCT_HALT_HALTMSK_H_MASK (0xFFFF << SCT_HALT_HALTMSK_H_SHIFT) #define SCT_HALT_HALTMSK_H(x) ((x) << SCT_HALT_HALTMSK_H_SHIFT) /* --- SCT_STOP ------------------------------------------ */ #define SCT_STOP MMIO32(SCT_BASE + 0x10) /* -- SCT_STOP_STOPMSK_L: If bit n is one, event n sets the STOP_L bit in the * CTRL register (event 0 = bit 0, event 1 = bit 1, event 15 = bit 15). */ #define SCT_STOP_STOPMSK_L_SHIFT (0) #define SCT_STOP_STOPMSK_L_MASK (0xFFFF << SCT_STOP_STOPMSK_L_SHIFT) #define SCT_STOP_STOPMSK_L(x) ((x) << SCT_STOP_STOPMSK_L_SHIFT) /* -- SCT_STOP_STOPMSK_H: If bit n is one, event n sets the STOP_H bit in the * CTRL register (event 0 = bit 16, event 1 = bit 17, event 15 = bit 31). */ #define SCT_STOP_STOPMSK_H_SHIFT (16) #define SCT_STOP_STOPMSK_H_MASK (0xFFFF << SCT_STOP_STOPMSK_H_SHIFT) #define SCT_STOP_STOPMSK_H(x) ((x) << SCT_STOP_STOPMSK_H_SHIFT) /* --- SCT_START ----------------------------------------- */ #define SCT_START MMIO32(SCT_BASE + 0x14) /* -- SCT_START_STARTMSK_L: If bit n is one, event n clears the STOP_L bit in * the CTRL register (event 0 = bit 0, event 1 = bit 1, event 15 = bit 15). */ #define SCT_START_STARTMSK_L_SHIFT (0) #define SCT_START_STARTMSK_L_MASK (0xFFFF << SCT_START_STARTMSK_L_SHIFT) #define SCT_START_STARTMSK_L(x) ((x) << SCT_START_STARTMSK_L_SHIFT) /* -- SCT_START_STARTMSK_H: If bit n is one, event n clears the STOP_H bit in * the CTRL register (event 0 = bit 16, event 1 = bit 17, event 15 = bit 31). */ #define SCT_START_STARTMSK_H_SHIFT (16) #define SCT_START_STARTMSK_H_MASK (0xFFFF << SCT_START_STARTMSK_H_SHIFT) #define SCT_START_STARTMSK_H(x) ((x) << SCT_START_STARTMSK_H_SHIFT) /* --- SCT_DITHER ---------------------------------------- */ #define SCT_DITHER MMIO32(SCT_BASE + 0x18) /* -- SCT_DITHER_DITHMSK_L: If bit n is one, the event n causes the dither engine * to advance to the next element in the dither pattern at the start of the next * counter cycle of the 16-bit low counter or the unified counter (event 0 = bit * 0, event 1 = bit 1, event 15 = bit 15). If all bits are set to 0, the dither * pattern automatically advances at the start of every new counter cycle. */ #define SCT_DITHER_DITHMSK_L_SHIFT (0) #define SCT_DITHER_DITHMSK_L_MASK (0xFFFF << SCT_DITHER_DITHMSK_L_SHIFT) #define SCT_DITHER_DITHMSK_L(x) ((x) << SCT_DITHER_DITHMSK_L_SHIFT) /* -- SCT_DITHER_DITHMSK_H: If bit n is one, the event n causes the dither * engine to advance to the next element in the dither pattern at the start of * the next counter cycle of the 16-bit high counter (event 0 = bit 0, event 1 = * bit 1, event 15 = bit 15). If all bits are set to 0, the dither pattern * automatically advances at the start of every new counter cycle. */ #define SCT_DITHER_DITHMSK_H_SHIFT (16) #define SCT_DITHER_DITHMSK_H_MASK (0xFFFF << SCT_DITHER_DITHMSK_H_SHIFT) #define SCT_DITHER_DITHMSK_H(x) ((x) << SCT_DITHER_DITHMSK_H_SHIFT) /* --- SCT_COUNT ----------------------------------------- */ #define SCT_COUNT MMIO32(SCT_BASE + 0x40) /* -- SCT_COUNT_CTR_L: When UNIFY = 0, read or write the 16-bit L counter value. * When UNIFY = 1, read or write the lower 16 bits of the 32-bit unified * counter. */ #define SCT_COUNT_CTR_L_SHIFT (0) #define SCT_COUNT_CTR_L_MASK (0xFFFF << SCT_COUNT_CTR_L_SHIFT) #define SCT_COUNT_CTR_L(x) ((x) << SCT_COUNT_CTR_L_SHIFT) /* -- SCT_COUNT_CTR_H: When UNIFY = 0, read or write the 16-bit H counter value. * When UNIFY = 1, read or write the upper 16 bits of the 32-bit unified * counter. */ #define SCT_COUNT_CTR_H_SHIFT (16) #define SCT_COUNT_CTR_H_MASK (0xFFFF << SCT_COUNT_CTR_H_SHIFT) #define SCT_COUNT_CTR_H(x) ((x) << SCT_COUNT_CTR_H_SHIFT) /* --- SCT_STATE ----------------------------------------- */ #define SCT_STATE MMIO32(SCT_BASE + 0x44) /* -- SCT_STATE_STATE_L: State variable. */ #define SCT_STATE_STATE_L_SHIFT (0) #define SCT_STATE_STATE_L_MASK (0x1F << SCT_STATE_STATE_L_SHIFT) #define SCT_STATE_STATE_L(x) ((x) << SCT_STATE_STATE_L_SHIFT) /* -- SCT_STATE_STATE_H: State variable. */ #define SCT_STATE_STATE_H_SHIFT (16) #define SCT_STATE_STATE_H_MASK (0x1F << SCT_STATE_STATE_H_SHIFT) #define SCT_STATE_STATE_H(x) ((x) << SCT_STATE_STATE_H_SHIFT) /* --- SCT_INPUT ----------------------------------------- */ #define SCT_INPUT MMIO32(SCT_BASE + 0x48) /* -- SCT_INPUT_AIN0: Real-time status of input 0. */ #define SCT_INPUT_AIN0_SHIFT (0) #define SCT_INPUT_AIN0_MASK (0x01 << SCT_INPUT_AIN0_SHIFT) #define SCT_INPUT_AIN0(x) ((x) << SCT_INPUT_AIN0_SHIFT) /* -- SCT_INPUT_AIN1: Real-time status of input 1. */ #define SCT_INPUT_AIN1_SHIFT (1) #define SCT_INPUT_AIN1_MASK (0x01 << SCT_INPUT_AIN1_SHIFT) #define SCT_INPUT_AIN1(x) ((x) << SCT_INPUT_AIN1_SHIFT) /* -- SCT_INPUT_AIN2: Real-time status of input 2. */ #define SCT_INPUT_AIN2_SHIFT (2) #define SCT_INPUT_AIN2_MASK (0x01 << SCT_INPUT_AIN2_SHIFT) #define SCT_INPUT_AIN2(x) ((x) << SCT_INPUT_AIN2_SHIFT) /* -- SCT_INPUT_AIN3: Real-time status of input 3. */ #define SCT_INPUT_AIN3_SHIFT (3) #define SCT_INPUT_AIN3_MASK (0x01 << SCT_INPUT_AIN3_SHIFT) #define SCT_INPUT_AIN3(x) ((x) << SCT_INPUT_AIN3_SHIFT) /* -- SCT_INPUT_AIN4: Real-time status of input 4. */ #define SCT_INPUT_AIN4_SHIFT (4) #define SCT_INPUT_AIN4_MASK (0x01 << SCT_INPUT_AIN4_SHIFT) #define SCT_INPUT_AIN4(x) ((x) << SCT_INPUT_AIN4_SHIFT) /* -- SCT_INPUT_AIN5: Real-time status of input 5. */ #define SCT_INPUT_AIN5_SHIFT (5) #define SCT_INPUT_AIN5_MASK (0x01 << SCT_INPUT_AIN5_SHIFT) #define SCT_INPUT_AIN5(x) ((x) << SCT_INPUT_AIN5_SHIFT) /* -- SCT_INPUT_AIN6: Real-time status of input 6. */ #define SCT_INPUT_AIN6_SHIFT (6) #define SCT_INPUT_AIN6_MASK (0x01 << SCT_INPUT_AIN6_SHIFT) #define SCT_INPUT_AIN6(x) ((x) << SCT_INPUT_AIN6_SHIFT) /* -- SCT_INPUT_AIN7: Real-time status of input 7. */ #define SCT_INPUT_AIN7_SHIFT (7) #define SCT_INPUT_AIN7_MASK (0x01 << SCT_INPUT_AIN7_SHIFT) #define SCT_INPUT_AIN7(x) ((x) << SCT_INPUT_AIN7_SHIFT) /* -- SCT_INPUT_SIN0: Input 0 state synchronized to the SCT clock. */ #define SCT_INPUT_SIN0_SHIFT (16) #define SCT_INPUT_SIN0_MASK (0x01 << SCT_INPUT_SIN0_SHIFT) #define SCT_INPUT_SIN0(x) ((x) << SCT_INPUT_SIN0_SHIFT) /* -- SCT_INPUT_SIN1: Input 1 state synchronized to the SCT clock. */ #define SCT_INPUT_SIN1_SHIFT (17) #define SCT_INPUT_SIN1_MASK (0x01 << SCT_INPUT_SIN1_SHIFT) #define SCT_INPUT_SIN1(x) ((x) << SCT_INPUT_SIN1_SHIFT) /* -- SCT_INPUT_SIN2: Input 2 state synchronized to the SCT clock. */ #define SCT_INPUT_SIN2_SHIFT (18) #define SCT_INPUT_SIN2_MASK (0x01 << SCT_INPUT_SIN2_SHIFT) #define SCT_INPUT_SIN2(x) ((x) << SCT_INPUT_SIN2_SHIFT) /* -- SCT_INPUT_SIN3: Input 3 state synchronized to the SCT clock. */ #define SCT_INPUT_SIN3_SHIFT (19) #define SCT_INPUT_SIN3_MASK (0x01 << SCT_INPUT_SIN3_SHIFT) #define SCT_INPUT_SIN3(x) ((x) << SCT_INPUT_SIN3_SHIFT) /* -- SCT_INPUT_SIN4: Input 4 state synchronized to the SCT clock. */ #define SCT_INPUT_SIN4_SHIFT (20) #define SCT_INPUT_SIN4_MASK (0x01 << SCT_INPUT_SIN4_SHIFT) #define SCT_INPUT_SIN4(x) ((x) << SCT_INPUT_SIN4_SHIFT) /* -- SCT_INPUT_SIN5: Input 5 state synchronized to the SCT clock. */ #define SCT_INPUT_SIN5_SHIFT (21) #define SCT_INPUT_SIN5_MASK (0x01 << SCT_INPUT_SIN5_SHIFT) #define SCT_INPUT_SIN5(x) ((x) << SCT_INPUT_SIN5_SHIFT) /* -- SCT_INPUT_SIN6: Input 6 state synchronized to the SCT clock. */ #define SCT_INPUT_SIN6_SHIFT (22) #define SCT_INPUT_SIN6_MASK (0x01 << SCT_INPUT_SIN6_SHIFT) #define SCT_INPUT_SIN6(x) ((x) << SCT_INPUT_SIN6_SHIFT) /* -- SCT_INPUT_SIN7: Input 7 state synchronized to the SCT clock. */ #define SCT_INPUT_SIN7_SHIFT (23) #define SCT_INPUT_SIN7_MASK (0x01 << SCT_INPUT_SIN7_SHIFT) #define SCT_INPUT_SIN7(x) ((x) << SCT_INPUT_SIN7_SHIFT) /* --- SCT_REGMODE --------------------------------------- */ #define SCT_REGMODE MMIO32(SCT_BASE + 0x4C) /* -- SCT_REGMODE_REGMOD_L: Each bit controls one pair of match/capture * registers (register 0 = bit 0, register 1 = bit 1,..., register 15 = bit 15). * 0 = registers operate as match registers. 1 = registers operate as capture * registers. */ #define SCT_REGMODE_REGMOD_L_SHIFT (0) #define SCT_REGMODE_REGMOD_L_MASK (0xFFFF << SCT_REGMODE_REGMOD_L_SHIFT) #define SCT_REGMODE_REGMOD_L(x) ((x) << SCT_REGMODE_REGMOD_L_SHIFT) /* -- SCT_REGMODE_REGMOD_H: Each bit controls one pair of match/capture * registers (register 0 = bit 16, register 1 = bit 17,..., register 15 = bit * 31). 0 = registers operate as match registers. 1 = registers operate as * capture registers. */ #define SCT_REGMODE_REGMOD_H_SHIFT (16) #define SCT_REGMODE_REGMOD_H_MASK (0xFFFF << SCT_REGMODE_REGMOD_H_SHIFT) #define SCT_REGMODE_REGMOD_H(x) ((x) << SCT_REGMODE_REGMOD_H_SHIFT) /* --- SCT_OUTPUT ---------------------------------------- */ #define SCT_OUTPUT MMIO32(SCT_BASE + 0x50) /* -- SCT_OUTPUT_OUT: Writing a 1 to bit n makes the corresponding output HIGH. * 0 makes the corresponding output LOW (output 0 = bit 0, output 1 = bit 1,..., * output 15 = bit 15). */ #define SCT_OUTPUT_OUT_SHIFT (0) #define SCT_OUTPUT_OUT_MASK (0xFFFF << SCT_OUTPUT_OUT_SHIFT) #define SCT_OUTPUT_OUT(x) ((x) << SCT_OUTPUT_OUT_SHIFT) /* --- SCT_OUTPUTDIRCTRL --------------------------------- */ #define SCT_OUTPUTDIRCTRL MMIO32(SCT_BASE + 0x54) /* -- SCT_OUTPUTDIRCTRL_SETCLR0: Set/clear operation on output 0. Value 0x3 is * reserved. Do not program this value. */ #define SCT_OUTPUTDIRCTRL_SETCLR0_SHIFT (0) #define SCT_OUTPUTDIRCTRL_SETCLR0_MASK (0x03 << SCT_OUTPUTDIRCTRL_SETCLR0_SHIFT) #define SCT_OUTPUTDIRCTRL_SETCLR0(x) ((x) << SCT_OUTPUTDIRCTRL_SETCLR0_SHIFT) /* SCT_OUTPUTDIRCTRL_SETCLR0_SETCLR0 values */ /* Independent. Set and clear do not depend on any counter. */ #define SCT_OUTPUTDIRCTRL_SETCLR0_INDEPENDENT SCT_OUTPUTDIRCTRL_SETCLR0(0x00) /* L counter. Set and clear are reversed when counter L or the unified counter * is counting down. */ #define SCT_OUTPUTDIRCTRL_SETCLR0_L_COUNTER SCT_OUTPUTDIRCTRL_SETCLR0(0x01) /* H counter. Set and clear are reversed when counter H is counting down. Do * not use if UNIFY = 1. */ #define SCT_OUTPUTDIRCTRL_SETCLR0_H_COUNTER SCT_OUTPUTDIRCTRL_SETCLR0(0x02) /* -- SCT_OUTPUTDIRCTRL_SETCLR1: Set/clear operation on output 1. Value 0x3 is * reserved. Do not program this value. */ #define SCT_OUTPUTDIRCTRL_SETCLR1_SHIFT (2) #define SCT_OUTPUTDIRCTRL_SETCLR1_MASK (0x03 << SCT_OUTPUTDIRCTRL_SETCLR1_SHIFT) #define SCT_OUTPUTDIRCTRL_SETCLR1(x) ((x) << SCT_OUTPUTDIRCTRL_SETCLR1_SHIFT) /* SCT_OUTPUTDIRCTRL_SETCLR1_SETCLR1 values */ /* Independent. Set and clear do not depend on any counter. */ #define SCT_OUTPUTDIRCTRL_SETCLR1_INDEPENDENT SCT_OUTPUTDIRCTRL_SETCLR1(0x00) /* L counter. Set and clear are reversed when counter L or the unified counter * is counting down. */ #define SCT_OUTPUTDIRCTRL_SETCLR1_L_COUNTER SCT_OUTPUTDIRCTRL_SETCLR1(0x01) /* H counter. Set and clear are reversed when counter H is counting down. Do * not use if UNIFY = 1. */ #define SCT_OUTPUTDIRCTRL_SETCLR1_H_COUNTER SCT_OUTPUTDIRCTRL_SETCLR1(0x02) /* -- SCT_OUTPUTDIRCTRL_SETCLR2: Set/clear operation on output 2. Value 0x3 is * reserved. Do not program this value. */ #define SCT_OUTPUTDIRCTRL_SETCLR2_SHIFT (4) #define SCT_OUTPUTDIRCTRL_SETCLR2_MASK (0x03 << SCT_OUTPUTDIRCTRL_SETCLR2_SHIFT) #define SCT_OUTPUTDIRCTRL_SETCLR2(x) ((x) << SCT_OUTPUTDIRCTRL_SETCLR2_SHIFT) /* SCT_OUTPUTDIRCTRL_SETCLR2_SETCLR2 values */ /* Independent. Set and clear do not depend on any counter. */ #define SCT_OUTPUTDIRCTRL_SETCLR2_INDEPENDENT SCT_OUTPUTDIRCTRL_SETCLR2(0x00) /* L counter. Set and clear are reversed when counter L or the unified counter * is counting down. */ #define SCT_OUTPUTDIRCTRL_SETCLR2_L_COUNTER SCT_OUTPUTDIRCTRL_SETCLR2(0x01) /* H counter. Set and clear are reversed when counter H is counting down. Do * not use if UNIFY = 1. */ #define SCT_OUTPUTDIRCTRL_SETCLR2_H_COUNTER SCT_OUTPUTDIRCTRL_SETCLR2(0x02) /* -- SCT_OUTPUTDIRCTRL_SETCLR3: Set/clear operation on output 3. Value 0x3 is * reserved. Do not program this value. */ #define SCT_OUTPUTDIRCTRL_SETCLR3_SHIFT (6) #define SCT_OUTPUTDIRCTRL_SETCLR3_MASK (0x03 << SCT_OUTPUTDIRCTRL_SETCLR3_SHIFT) #define SCT_OUTPUTDIRCTRL_SETCLR3(x) ((x) << SCT_OUTPUTDIRCTRL_SETCLR3_SHIFT) /* SCT_OUTPUTDIRCTRL_SETCLR3_SETCLR3 values */ /* Independent. Set and clear do not depend on any counter. */ #define SCT_OUTPUTDIRCTRL_SETCLR3_INDEPENDENT SCT_OUTPUTDIRCTRL_SETCLR3(0x00) /* L counter. Set and clear are reversed when counter L or the unified counter * is counting down. */ #define SCT_OUTPUTDIRCTRL_SETCLR3_L_COUNTER SCT_OUTPUTDIRCTRL_SETCLR3(0x01) /* H counter. Set and clear are reversed when counter H is counting down. Do * not use if UNIFY = 1. */ #define SCT_OUTPUTDIRCTRL_SETCLR3_H_COUNTER SCT_OUTPUTDIRCTRL_SETCLR3(0x02) /* -- SCT_OUTPUTDIRCTRL_SETCLR4: Set/clear operation on output 4. Value 0x3 is * reserved. Do not program this value. */ #define SCT_OUTPUTDIRCTRL_SETCLR4_SHIFT (8) #define SCT_OUTPUTDIRCTRL_SETCLR4_MASK (0x03 << SCT_OUTPUTDIRCTRL_SETCLR4_SHIFT) #define SCT_OUTPUTDIRCTRL_SETCLR4(x) ((x) << SCT_OUTPUTDIRCTRL_SETCLR4_SHIFT) /* SCT_OUTPUTDIRCTRL_SETCLR4_SETCLR4 values */ /* Independent. Set and clear do not depend on any counter. */ #define SCT_OUTPUTDIRCTRL_SETCLR4_INDEPENDENT SCT_OUTPUTDIRCTRL_SETCLR4(0x00) /* L counter. Set and clear are reversed when counter L or the unified counter * is counting down. */ #define SCT_OUTPUTDIRCTRL_SETCLR4_L_COUNTER SCT_OUTPUTDIRCTRL_SETCLR4(0x01) /* H counter. Set and clear are reversed when counter H is counting down. Do * not use if UNIFY = 1. */ #define SCT_OUTPUTDIRCTRL_SETCLR4_H_COUNTER SCT_OUTPUTDIRCTRL_SETCLR4(0x02) /* -- SCT_OUTPUTDIRCTRL_SETCLR5: Set/clear operation on output 5. Value 0x3 is * reserved. Do not program this value. */ #define SCT_OUTPUTDIRCTRL_SETCLR5_SHIFT (10) #define SCT_OUTPUTDIRCTRL_SETCLR5_MASK (0x03 << SCT_OUTPUTDIRCTRL_SETCLR5_SHIFT) #define SCT_OUTPUTDIRCTRL_SETCLR5(x) ((x) << SCT_OUTPUTDIRCTRL_SETCLR5_SHIFT) /* SCT_OUTPUTDIRCTRL_SETCLR5_SETCLR5 values */ /* Independent. Set and clear do not depend on any counter. */ #define SCT_OUTPUTDIRCTRL_SETCLR5_INDEPENDENT SCT_OUTPUTDIRCTRL_SETCLR5(0x00) /* L counter. Set and clear are reversed when counter L or the unified counter * is counting down. */ #define SCT_OUTPUTDIRCTRL_SETCLR5_L_COUNTER SCT_OUTPUTDIRCTRL_SETCLR5(0x01) /* H counter. Set and clear are reversed when counter H is counting down. Do * not use if UNIFY = 1. */ #define SCT_OUTPUTDIRCTRL_SETCLR5_H_COUNTER SCT_OUTPUTDIRCTRL_SETCLR5(0x02) /* -- SCT_OUTPUTDIRCTRL_SETCLR6: Set/clear operation on output 6. Value 0x3 is * reserved. Do not program this value. */ #define SCT_OUTPUTDIRCTRL_SETCLR6_SHIFT (12) #define SCT_OUTPUTDIRCTRL_SETCLR6_MASK (0x03 << SCT_OUTPUTDIRCTRL_SETCLR6_SHIFT) #define SCT_OUTPUTDIRCTRL_SETCLR6(x) ((x) << SCT_OUTPUTDIRCTRL_SETCLR6_SHIFT) /* SCT_OUTPUTDIRCTRL_SETCLR6_SETCLR6 values */ /* Independent. Set and clear do not depend on any counter. */ #define SCT_OUTPUTDIRCTRL_SETCLR6_INDEPENDENT SCT_OUTPUTDIRCTRL_SETCLR6(0x00) /* L counter. Set and clear are reversed when counter L or the unified counter * is counting down. */ #define SCT_OUTPUTDIRCTRL_SETCLR6_L_COUNTER SCT_OUTPUTDIRCTRL_SETCLR6(0x01) /* H counter. Set and clear are reversed when counter H is counting down. Do * not use if UNIFY = 1. */ #define SCT_OUTPUTDIRCTRL_SETCLR6_H_COUNTER SCT_OUTPUTDIRCTRL_SETCLR6(0x02) /* -- SCT_OUTPUTDIRCTRL_SETCLR7: Set/clear operation on output 7. Value 0x3 is * reserved. Do not program this value. */ #define SCT_OUTPUTDIRCTRL_SETCLR7_SHIFT (14) #define SCT_OUTPUTDIRCTRL_SETCLR7_MASK (0x03 << SCT_OUTPUTDIRCTRL_SETCLR7_SHIFT) #define SCT_OUTPUTDIRCTRL_SETCLR7(x) ((x) << SCT_OUTPUTDIRCTRL_SETCLR7_SHIFT) /* SCT_OUTPUTDIRCTRL_SETCLR7_SETCLR7 values */ /* Independent. Set and clear do not depend on any counter. */ #define SCT_OUTPUTDIRCTRL_SETCLR7_INDEPENDENT SCT_OUTPUTDIRCTRL_SETCLR7(0x00) /* L counter. Set and clear are reversed when counter L or the unified counter * is counting down. */ #define SCT_OUTPUTDIRCTRL_SETCLR7_L_COUNTER SCT_OUTPUTDIRCTRL_SETCLR7(0x01) /* H counter. Set and clear are reversed when counter H is counting down. Do * not use if UNIFY = 1. */ #define SCT_OUTPUTDIRCTRL_SETCLR7_H_COUNTER SCT_OUTPUTDIRCTRL_SETCLR7(0x02) /* -- SCT_OUTPUTDIRCTRL_SETCLR8: Set/clear operation on output 8. Value 0x3 is * reserved. Do not program this value. */ #define SCT_OUTPUTDIRCTRL_SETCLR8_SHIFT (16) #define SCT_OUTPUTDIRCTRL_SETCLR8_MASK (0x03 << SCT_OUTPUTDIRCTRL_SETCLR8_SHIFT) #define SCT_OUTPUTDIRCTRL_SETCLR8(x) ((x) << SCT_OUTPUTDIRCTRL_SETCLR8_SHIFT) /* SCT_OUTPUTDIRCTRL_SETCLR8_SETCLR8 values */ /* Independent. Set and clear do not depend on any counter. */ #define SCT_OUTPUTDIRCTRL_SETCLR8_INDEPENDENT SCT_OUTPUTDIRCTRL_SETCLR8(0x00) /* L counter. Set and clear are reversed when counter L or the unified counter * is counting down. */ #define SCT_OUTPUTDIRCTRL_SETCLR8_L_COUNTER SCT_OUTPUTDIRCTRL_SETCLR8(0x01) /* H counter. Set and clear are reversed when counter H is counting down. Do * not use if UNIFY = 1. */ #define SCT_OUTPUTDIRCTRL_SETCLR8_H_COUNTER SCT_OUTPUTDIRCTRL_SETCLR8(0x02) /* -- SCT_OUTPUTDIRCTRL_SETCLR9: Set/clear operation on output 9. Value 0x3 is * reserved. Do not program this value. */ #define SCT_OUTPUTDIRCTRL_SETCLR9_SHIFT (18) #define SCT_OUTPUTDIRCTRL_SETCLR9_MASK (0x03 << SCT_OUTPUTDIRCTRL_SETCLR9_SHIFT) #define SCT_OUTPUTDIRCTRL_SETCLR9(x) ((x) << SCT_OUTPUTDIRCTRL_SETCLR9_SHIFT) /* SCT_OUTPUTDIRCTRL_SETCLR9_SETCLR9 values */ /* Independent. Set and clear do not depend on any counter. */ #define SCT_OUTPUTDIRCTRL_SETCLR9_INDEPENDENT SCT_OUTPUTDIRCTRL_SETCLR9(0x00) /* L counter. Set and clear are reversed when counter L or the unified counter * is counting down. */ #define SCT_OUTPUTDIRCTRL_SETCLR9_L_COUNTER SCT_OUTPUTDIRCTRL_SETCLR9(0x01) /* H counter. Set and clear are reversed when counter H is counting down. Do * not use if UNIFY = 1. */ #define SCT_OUTPUTDIRCTRL_SETCLR9_H_COUNTER SCT_OUTPUTDIRCTRL_SETCLR9(0x02) /* -- SCT_OUTPUTDIRCTRL_SETCLR10: Set/clear operation on output 5. Value 0x3 is * reserved. Do not program this value. */ #define SCT_OUTPUTDIRCTRL_SETCLR10_SHIFT (20) #define SCT_OUTPUTDIRCTRL_SETCLR10_MASK (0x03 << SCT_OUTPUTDIRCTRL_SETCLR10_SHIFT) #define SCT_OUTPUTDIRCTRL_SETCLR10(x) ((x) << SCT_OUTPUTDIRCTRL_SETCLR10_SHIFT) /* SCT_OUTPUTDIRCTRL_SETCLR10_SETCLR10 values */ /* Independent. Set and clear do not depend on any counter. */ #define SCT_OUTPUTDIRCTRL_SETCLR10_INDEPENDENT SCT_OUTPUTDIRCTRL_SETCLR10(0x00) /* L counter. Set and clear are reversed when counter L or the unified counter * is counting down. */ #define SCT_OUTPUTDIRCTRL_SETCLR10_L_COUNTER SCT_OUTPUTDIRCTRL_SETCLR10(0x01) /* H counter. Set and clear are reversed when counter H is counting down. Do * not use if UNIFY = 1. */ #define SCT_OUTPUTDIRCTRL_SETCLR10_H_COUNTER SCT_OUTPUTDIRCTRL_SETCLR10(0x02) /* -- SCT_OUTPUTDIRCTRL_SETCLR11: Set/clear operation on output 11. Value 0x3 is * reserved. Do not program this value. */ #define SCT_OUTPUTDIRCTRL_SETCLR11_SHIFT (22) #define SCT_OUTPUTDIRCTRL_SETCLR11_MASK (0x03 << SCT_OUTPUTDIRCTRL_SETCLR11_SHIFT) #define SCT_OUTPUTDIRCTRL_SETCLR11(x) ((x) << SCT_OUTPUTDIRCTRL_SETCLR11_SHIFT) /* SCT_OUTPUTDIRCTRL_SETCLR11_SETCLR11 values */ /* Independent. Set and clear do not depend on any counter. */ #define SCT_OUTPUTDIRCTRL_SETCLR11_INDEPENDENT SCT_OUTPUTDIRCTRL_SETCLR11(0x00) /* L counter. Set and clear are reversed when counter L or the unified counter * is counting down. */ #define SCT_OUTPUTDIRCTRL_SETCLR11_L_COUNTER SCT_OUTPUTDIRCTRL_SETCLR11(0x01) /* H counter. Set and clear are reversed when counter H is counting down. Do * not use if UNIFY = 1. */ #define SCT_OUTPUTDIRCTRL_SETCLR11_H_COUNTER SCT_OUTPUTDIRCTRL_SETCLR11(0x02) /* -- SCT_OUTPUTDIRCTRL_SETCLR12: Set/clear operation on output 12. Value 0x3 is * reserved. Do not program this value. */ #define SCT_OUTPUTDIRCTRL_SETCLR12_SHIFT (24) #define SCT_OUTPUTDIRCTRL_SETCLR12_MASK (0x03 << SCT_OUTPUTDIRCTRL_SETCLR12_SHIFT) #define SCT_OUTPUTDIRCTRL_SETCLR12(x) ((x) << SCT_OUTPUTDIRCTRL_SETCLR12_SHIFT) /* SCT_OUTPUTDIRCTRL_SETCLR12_SETCLR12 values */ /* Independent. Set and clear do not depend on any counter. */ #define SCT_OUTPUTDIRCTRL_SETCLR12_INDEPENDENT SCT_OUTPUTDIRCTRL_SETCLR12(0x00) /* L counter. Set and clear are reversed when counter L or the unified counter * is counting down. */ #define SCT_OUTPUTDIRCTRL_SETCLR12_L_COUNTER SCT_OUTPUTDIRCTRL_SETCLR12(0x01) /* H counter. Set and clear are reversed when counter H is counting down. Do * not use if UNIFY = 1. */ #define SCT_OUTPUTDIRCTRL_SETCLR12_H_COUNTER SCT_OUTPUTDIRCTRL_SETCLR12(0x02) /* -- SCT_OUTPUTDIRCTRL_SETCLR13: Set/clear operation on output 13. Value 0x3 is * reserved. Do not program this value. */ #define SCT_OUTPUTDIRCTRL_SETCLR13_SHIFT (26) #define SCT_OUTPUTDIRCTRL_SETCLR13_MASK (0x03 << SCT_OUTPUTDIRCTRL_SETCLR13_SHIFT) #define SCT_OUTPUTDIRCTRL_SETCLR13(x) ((x) << SCT_OUTPUTDIRCTRL_SETCLR13_SHIFT) /* SCT_OUTPUTDIRCTRL_SETCLR13_SETCLR13 values */ /* Independent. Set and clear do not depend on any counter. */ #define SCT_OUTPUTDIRCTRL_SETCLR13_INDEPENDENT SCT_OUTPUTDIRCTRL_SETCLR13(0x00) /* L counter. Set and clear are reversed when counter L or the unified counter * is counting down. */ #define SCT_OUTPUTDIRCTRL_SETCLR13_L_COUNTER SCT_OUTPUTDIRCTRL_SETCLR13(0x01) /* H counter. Set and clear are reversed when counter H is counting down. Do * not use if UNIFY = 1. */ #define SCT_OUTPUTDIRCTRL_SETCLR13_H_COUNTER SCT_OUTPUTDIRCTRL_SETCLR13(0x02) /* -- SCT_OUTPUTDIRCTRL_SETCLR14: Set/clear operation on output 14. Value 0x3 is * reserved. Do not program this value. */ #define SCT_OUTPUTDIRCTRL_SETCLR14_SHIFT (28) #define SCT_OUTPUTDIRCTRL_SETCLR14_MASK (0x03 << SCT_OUTPUTDIRCTRL_SETCLR14_SHIFT) #define SCT_OUTPUTDIRCTRL_SETCLR14(x) ((x) << SCT_OUTPUTDIRCTRL_SETCLR14_SHIFT) /* SCT_OUTPUTDIRCTRL_SETCLR14_SETCLR14 values */ /* Independent. Set and clear do not depend on any counter. */ #define SCT_OUTPUTDIRCTRL_SETCLR14_INDEPENDENT SCT_OUTPUTDIRCTRL_SETCLR14(0x00) /* L counter. Set and clear are reversed when counter L or the unified counter * is counting down. */ #define SCT_OUTPUTDIRCTRL_SETCLR14_L_COUNTER SCT_OUTPUTDIRCTRL_SETCLR14(0x01) /* H counter. Set and clear are reversed when counter H is counting down. Do * not use if UNIFY = 1. */ #define SCT_OUTPUTDIRCTRL_SETCLR14_H_COUNTER SCT_OUTPUTDIRCTRL_SETCLR14(0x02) /* -- SCT_OUTPUTDIRCTRL_SETCLR15: Set/clear operation on output 15. Value 0x3 is * reserved. Do not program this value. */ #define SCT_OUTPUTDIRCTRL_SETCLR15_SHIFT (30) #define SCT_OUTPUTDIRCTRL_SETCLR15_MASK (0x03 << SCT_OUTPUTDIRCTRL_SETCLR15_SHIFT) #define SCT_OUTPUTDIRCTRL_SETCLR15(x) ((x) << SCT_OUTPUTDIRCTRL_SETCLR15_SHIFT) /* SCT_OUTPUTDIRCTRL_SETCLR15_SETCLR15 values */ /* Independent. Set and clear do not depend on any counter. */ #define SCT_OUTPUTDIRCTRL_SETCLR15_INDEPENDENT SCT_OUTPUTDIRCTRL_SETCLR15(0x00) /* L counter. Set and clear are reversed when counter L or the unified counter * is counting down. */ #define SCT_OUTPUTDIRCTRL_SETCLR15_L_COUNTER SCT_OUTPUTDIRCTRL_SETCLR15(0x01) /* H counter. Set and clear are reversed when counter H is counting down. Do * not use if UNIFY = 1. */ #define SCT_OUTPUTDIRCTRL_SETCLR15_H_COUNTER SCT_OUTPUTDIRCTRL_SETCLR15(0x02) /* --- SCT_RES ------------------------------------------- */ #define SCT_RES MMIO32(SCT_BASE + 0x58) /* -- SCT_RES_O0RES: Effect of simultaneous set and clear on output 0. */ #define SCT_RES_O0RES_SHIFT (0) #define SCT_RES_O0RES_MASK (0x03 << SCT_RES_O0RES_SHIFT) #define SCT_RES_O0RES(x) ((x) << SCT_RES_O0RES_SHIFT) /* SCT_RES_O0RES_O0RES values */ /* No change. */ #define SCT_RES_O0RES_NO_CHANGE SCT_RES_O0RES(0x00) /* Set output (or clear based on the SETCLR0 field). */ #define SCT_RES_O0RES_SET_OUTPUT_OR_CLEAR SCT_RES_O0RES(0x01) /* Clear output (or set based on the SETCLR0 field). */ #define SCT_RES_O0RES_CLEAR_OUTPUT_OR_SET SCT_RES_O0RES(0x02) /* Toggle output. */ #define SCT_RES_O0RES_TOGGLE_OUTPUT SCT_RES_O0RES(0x03) /* -- SCT_RES_O1RES: Effect of simultaneous set and clear on output 1. */ #define SCT_RES_O1RES_SHIFT (2) #define SCT_RES_O1RES_MASK (0x03 << SCT_RES_O1RES_SHIFT) #define SCT_RES_O1RES(x) ((x) << SCT_RES_O1RES_SHIFT) /* SCT_RES_O1RES_O1RES values */ /* No change. */ #define SCT_RES_O1RES_NO_CHANGE SCT_RES_O1RES(0x00) /* Set output (or clear based on the SETCLR1 field). */ #define SCT_RES_O1RES_SET_OUTPUT_OR_CLEAR SCT_RES_O1RES(0x01) /* Clear output (or set based on the SETCLR1 field). */ #define SCT_RES_O1RES_CLEAR_OUTPUT_OR_SET SCT_RES_O1RES(0x02) /* Toggle output. */ #define SCT_RES_O1RES_TOGGLE_OUTPUT SCT_RES_O1RES(0x03) /* -- SCT_RES_O2RES: Effect of simultaneous set and clear on output 2. */ #define SCT_RES_O2RES_SHIFT (4) #define SCT_RES_O2RES_MASK (0x03 << SCT_RES_O2RES_SHIFT) #define SCT_RES_O2RES(x) ((x) << SCT_RES_O2RES_SHIFT) /* SCT_RES_O2RES_O2RES values */ /* No change. */ #define SCT_RES_O2RES_NO_CHANGE SCT_RES_O2RES(0x00) /* Set output (or clear based on the SETCLR2 field). */ #define SCT_RES_O2RES_SET_OUTPUT_OR_CLEAR SCT_RES_O2RES(0x01) /* Clear output n (or set based on the SETCLR2 field). */ #define SCT_RES_O2RES_CLEAR_OUTPUT_N_OR_S SCT_RES_O2RES(0x02) /* Toggle output. */ #define SCT_RES_O2RES_TOGGLE_OUTPUT SCT_RES_O2RES(0x03) /* -- SCT_RES_O3RES: Effect of simultaneous set and clear on output 3. */ #define SCT_RES_O3RES_SHIFT (6) #define SCT_RES_O3RES_MASK (0x03 << SCT_RES_O3RES_SHIFT) #define SCT_RES_O3RES(x) ((x) << SCT_RES_O3RES_SHIFT) /* SCT_RES_O3RES_O3RES values */ /* No change. */ #define SCT_RES_O3RES_NO_CHANGE SCT_RES_O3RES(0x00) /* Set output (or clear based on the SETCLR3 field). */ #define SCT_RES_O3RES_SET_OUTPUT_OR_CLEAR SCT_RES_O3RES(0x01) /* Clear output (or set based on the SETCLR3 field). */ #define SCT_RES_O3RES_CLEAR_OUTPUT_OR_SET SCT_RES_O3RES(0x02) /* Toggle output. */ #define SCT_RES_O3RES_TOGGLE_OUTPUT SCT_RES_O3RES(0x03) /* -- SCT_RES_O4RES: Effect of simultaneous set and clear on output 4. */ #define SCT_RES_O4RES_SHIFT (8) #define SCT_RES_O4RES_MASK (0x03 << SCT_RES_O4RES_SHIFT) #define SCT_RES_O4RES(x) ((x) << SCT_RES_O4RES_SHIFT) /* SCT_RES_O4RES_O4RES values */ /* No change. */ #define SCT_RES_O4RES_NO_CHANGE SCT_RES_O4RES(0x00) /* Set output (or clear based on the SETCLR4 field). */ #define SCT_RES_O4RES_SET_OUTPUT_OR_CLEAR SCT_RES_O4RES(0x01) /* Clear output (or set based on the SETCLR4 field). */ #define SCT_RES_O4RES_CLEAR_OUTPUT_OR_SET SCT_RES_O4RES(0x02) /* Toggle output. */ #define SCT_RES_O4RES_TOGGLE_OUTPUT SCT_RES_O4RES(0x03) /* -- SCT_RES_O5RES: Effect of simultaneous set and clear on output 5. */ #define SCT_RES_O5RES_SHIFT (10) #define SCT_RES_O5RES_MASK (0x03 << SCT_RES_O5RES_SHIFT) #define SCT_RES_O5RES(x) ((x) << SCT_RES_O5RES_SHIFT) /* SCT_RES_O5RES_O5RES values */ /* No change. */ #define SCT_RES_O5RES_NO_CHANGE SCT_RES_O5RES(0x00) /* Set output (or clear based on the SETCLR5 field). */ #define SCT_RES_O5RES_SET_OUTPUT_OR_CLEAR SCT_RES_O5RES(0x01) /* Clear output (or set based on the SETCLR5 field). */ #define SCT_RES_O5RES_CLEAR_OUTPUT_OR_SET SCT_RES_O5RES(0x02) /* Toggle output. */ #define SCT_RES_O5RES_TOGGLE_OUTPUT SCT_RES_O5RES(0x03) /* -- SCT_RES_O6RES: Effect of simultaneous set and clear on output 6. */ #define SCT_RES_O6RES_SHIFT (12) #define SCT_RES_O6RES_MASK (0x03 << SCT_RES_O6RES_SHIFT) #define SCT_RES_O6RES(x) ((x) << SCT_RES_O6RES_SHIFT) /* SCT_RES_O6RES_O6RES values */ /* No change. */ #define SCT_RES_O6RES_NO_CHANGE SCT_RES_O6RES(0x00) /* Set output (or clear based on the SETCLR6 field). */ #define SCT_RES_O6RES_SET_OUTPUT_OR_CLEAR SCT_RES_O6RES(0x01) /* Clear output (or set based on the SETCLR6 field). */ #define SCT_RES_O6RES_CLEAR_OUTPUT_OR_SET SCT_RES_O6RES(0x02) /* Toggle output. */ #define SCT_RES_O6RES_TOGGLE_OUTPUT SCT_RES_O6RES(0x03) /* -- SCT_RES_O7RES: Effect of simultaneous set and clear on output 7. */ #define SCT_RES_O7RES_SHIFT (14) #define SCT_RES_O7RES_MASK (0x03 << SCT_RES_O7RES_SHIFT) #define SCT_RES_O7RES(x) ((x) << SCT_RES_O7RES_SHIFT) /* SCT_RES_O7RES_O7RES values */ /* No change. */ #define SCT_RES_O7RES_NO_CHANGE SCT_RES_O7RES(0x00) /* Set output (or clear based on the SETCLR7 field). */ #define SCT_RES_O7RES_SET_OUTPUT_OR_CLEAR SCT_RES_O7RES(0x01) /* Clear output (or set based on the SETCLR7 field). */ #define SCT_RES_O7RES_CLEAR_OUTPUT_OR_SET SCT_RES_O7RES(0x02) /* Toggle output. */ #define SCT_RES_O7RES_TOGGLE_OUTPUT SCT_RES_O7RES(0x03) /* -- SCT_RES_O8RES: Effect of simultaneous set and clear on output 8. */ #define SCT_RES_O8RES_SHIFT (16) #define SCT_RES_O8RES_MASK (0x03 << SCT_RES_O8RES_SHIFT) #define SCT_RES_O8RES(x) ((x) << SCT_RES_O8RES_SHIFT) /* SCT_RES_O8RES_O8RES values */ /* No change. */ #define SCT_RES_O8RES_NO_CHANGE SCT_RES_O8RES(0x00) /* Set output (or clear based on the SETCLR8 field). */ #define SCT_RES_O8RES_SET_OUTPUT_OR_CLEAR SCT_RES_O8RES(0x01) /* Clear output (or set based on the SETCLR8 field). */ #define SCT_RES_O8RES_CLEAR_OUTPUT_OR_SET SCT_RES_O8RES(0x02) /* Toggle output. */ #define SCT_RES_O8RES_TOGGLE_OUTPUT SCT_RES_O8RES(0x03) /* -- SCT_RES_O9RES: Effect of simultaneous set and clear on output 9. */ #define SCT_RES_O9RES_SHIFT (18) #define SCT_RES_O9RES_MASK (0x03 << SCT_RES_O9RES_SHIFT) #define SCT_RES_O9RES(x) ((x) << SCT_RES_O9RES_SHIFT) /* SCT_RES_O9RES_O9RES values */ /* No change. */ #define SCT_RES_O9RES_NO_CHANGE SCT_RES_O9RES(0x00) /* Set output (or clear based on the SETCLR9 field). */ #define SCT_RES_O9RES_SET_OUTPUT_OR_CLEAR SCT_RES_O9RES(0x01) /* Clear output (or set based on the SETCLR9 field). */ #define SCT_RES_O9RES_CLEAR_OUTPUT_OR_SET SCT_RES_O9RES(0x02) /* Toggle output. */ #define SCT_RES_O9RES_TOGGLE_OUTPUT SCT_RES_O9RES(0x03) /* -- SCT_RES_O10RES: Effect of simultaneous set and clear on output 10. */ #define SCT_RES_O10RES_SHIFT (20) #define SCT_RES_O10RES_MASK (0x03 << SCT_RES_O10RES_SHIFT) #define SCT_RES_O10RES(x) ((x) << SCT_RES_O10RES_SHIFT) /* SCT_RES_O10RES_O10RES values */ /* No change. */ #define SCT_RES_O10RES_NO_CHANGE SCT_RES_O10RES(0x00) /* Set output (or clear based on the SETCLR10 field). */ #define SCT_RES_O10RES_SET_OUTPUT_OR_CLEAR SCT_RES_O10RES(0x01) /* Clear output (or set based on the SETCLR10 field). */ #define SCT_RES_O10RES_CLEAR_OUTPUT_OR_SET SCT_RES_O10RES(0x02) /* Toggle output. */ #define SCT_RES_O10RES_TOGGLE_OUTPUT SCT_RES_O10RES(0x03) /* -- SCT_RES_O11RES: Effect of simultaneous set and clear on output 11. */ #define SCT_RES_O11RES_SHIFT (22) #define SCT_RES_O11RES_MASK (0x03 << SCT_RES_O11RES_SHIFT) #define SCT_RES_O11RES(x) ((x) << SCT_RES_O11RES_SHIFT) /* SCT_RES_O11RES_O11RES values */ /* No change. */ #define SCT_RES_O11RES_NO_CHANGE SCT_RES_O11RES(0x00) /* Set output (or clear based on the SETCLR11 field). */ #define SCT_RES_O11RES_SET_OUTPUT_OR_CLEAR SCT_RES_O11RES(0x01) /* Clear output (or set based on the SETCLR11 field). */ #define SCT_RES_O11RES_CLEAR_OUTPUT_OR_SET SCT_RES_O11RES(0x02) /* Toggle output. */ #define SCT_RES_O11RES_TOGGLE_OUTPUT SCT_RES_O11RES(0x03) /* -- SCT_RES_O12RES: Effect of simultaneous set and clear on output 12. */ #define SCT_RES_O12RES_SHIFT (24) #define SCT_RES_O12RES_MASK (0x03 << SCT_RES_O12RES_SHIFT) #define SCT_RES_O12RES(x) ((x) << SCT_RES_O12RES_SHIFT) /* SCT_RES_O12RES_O12RES values */ /* No change. */ #define SCT_RES_O12RES_NO_CHANGE SCT_RES_O12RES(0x00) /* Set output (or clear based on the SETCLR12 field). */ #define SCT_RES_O12RES_SET_OUTPUT_OR_CLEAR SCT_RES_O12RES(0x01) /* Clear output (or set based on the SETCLR12 field). */ #define SCT_RES_O12RES_CLEAR_OUTPUT_OR_SET SCT_RES_O12RES(0x02) /* Toggle output. */ #define SCT_RES_O12RES_TOGGLE_OUTPUT SCT_RES_O12RES(0x03) /* -- SCT_RES_O13RES: Effect of simultaneous set and clear on output 13. */ #define SCT_RES_O13RES_SHIFT (26) #define SCT_RES_O13RES_MASK (0x03 << SCT_RES_O13RES_SHIFT) #define SCT_RES_O13RES(x) ((x) << SCT_RES_O13RES_SHIFT) /* SCT_RES_O13RES_O13RES values */ /* No change. */ #define SCT_RES_O13RES_NO_CHANGE SCT_RES_O13RES(0x00) /* Set output (or clear based on the SETCLR13 field). */ #define SCT_RES_O13RES_SET_OUTPUT_OR_CLEAR SCT_RES_O13RES(0x01) /* Clear output (or set based on the SETCLR13 field). */ #define SCT_RES_O13RES_CLEAR_OUTPUT_OR_SET SCT_RES_O13RES(0x02) /* Toggle output. */ #define SCT_RES_O13RES_TOGGLE_OUTPUT SCT_RES_O13RES(0x03) /* -- SCT_RES_O14RES: Effect of simultaneous set and clear on output 14. */ #define SCT_RES_O14RES_SHIFT (28) #define SCT_RES_O14RES_MASK (0x03 << SCT_RES_O14RES_SHIFT) #define SCT_RES_O14RES(x) ((x) << SCT_RES_O14RES_SHIFT) /* SCT_RES_O14RES_O14RES values */ /* No change. */ #define SCT_RES_O14RES_NO_CHANGE SCT_RES_O14RES(0x00) /* Set output (or clear based on the SETCLR14 field). */ #define SCT_RES_O14RES_SET_OUTPUT_OR_CLEAR SCT_RES_O14RES(0x01) /* Clear output (or set based on the SETCLR14 field). */ #define SCT_RES_O14RES_CLEAR_OUTPUT_OR_SET SCT_RES_O14RES(0x02) /* Toggle output. */ #define SCT_RES_O14RES_TOGGLE_OUTPUT SCT_RES_O14RES(0x03) /* -- SCT_RES_O15RES: Effect of simultaneous set and clear on output 15. */ #define SCT_RES_O15RES_SHIFT (30) #define SCT_RES_O15RES_MASK (0x03 << SCT_RES_O15RES_SHIFT) #define SCT_RES_O15RES(x) ((x) << SCT_RES_O15RES_SHIFT) /* SCT_RES_O15RES_O15RES values */ /* No change. */ #define SCT_RES_O15RES_NO_CHANGE SCT_RES_O15RES(0x00) /* Set output (or clear based on the SETCLR15 field). */ #define SCT_RES_O15RES_SET_OUTPUT_OR_CLEAR SCT_RES_O15RES(0x01) /* Clear output (or set based on the SETCLR15 field). */ #define SCT_RES_O15RES_CLEAR_OUTPUT_OR_SET SCT_RES_O15RES(0x02) /* Toggle output. */ #define SCT_RES_O15RES_TOGGLE_OUTPUT SCT_RES_O15RES(0x03) /* --- SCT_DMAREQ0 --------------------------------------- */ #define SCT_DMAREQ0 MMIO32(SCT_BASE + 0x5C) /* -- SCT_DMAREQ0_DEV_00: If bit n is one, event n sets DMA request 0 (event 0 = * bit 0, event 1 = bit 1,..., event 15 = bit 15). */ #define SCT_DMAREQ0_DEV_00_SHIFT (0) #define SCT_DMAREQ0_DEV_00_MASK (0x01 << SCT_DMAREQ0_DEV_00_SHIFT) #define SCT_DMAREQ0_DEV_00(x) ((x) << SCT_DMAREQ0_DEV_00_SHIFT) /* -- SCT_DMAREQ0_DEV_01: If bit n is one, event n sets DMA request 0 (event 0 = * bit 0, event 1 = bit 1,..., event 15 = bit 15). */ #define SCT_DMAREQ0_DEV_01_SHIFT (1) #define SCT_DMAREQ0_DEV_01_MASK (0x01 << SCT_DMAREQ0_DEV_01_SHIFT) #define SCT_DMAREQ0_DEV_01(x) ((x) << SCT_DMAREQ0_DEV_01_SHIFT) /* -- SCT_DMAREQ0_DEV_02: If bit n is one, event n sets DMA request 0 (event 0 = * bit 0, event 1 = bit 1,..., event 15 = bit 15). */ #define SCT_DMAREQ0_DEV_02_SHIFT (2) #define SCT_DMAREQ0_DEV_02_MASK (0x01 << SCT_DMAREQ0_DEV_02_SHIFT) #define SCT_DMAREQ0_DEV_02(x) ((x) << SCT_DMAREQ0_DEV_02_SHIFT) /* -- SCT_DMAREQ0_DEV_03: If bit n is one, event n sets DMA request 0 (event 0 = * bit 0, event 1 = bit 1,..., event 15 = bit 15). */ #define SCT_DMAREQ0_DEV_03_SHIFT (3) #define SCT_DMAREQ0_DEV_03_MASK (0x01 << SCT_DMAREQ0_DEV_03_SHIFT) #define SCT_DMAREQ0_DEV_03(x) ((x) << SCT_DMAREQ0_DEV_03_SHIFT) /* -- SCT_DMAREQ0_DEV_04: If bit n is one, event n sets DMA request 0 (event 0 = * bit 0, event 1 = bit 1,..., event 15 = bit 15). */ #define SCT_DMAREQ0_DEV_04_SHIFT (4) #define SCT_DMAREQ0_DEV_04_MASK (0x01 << SCT_DMAREQ0_DEV_04_SHIFT) #define SCT_DMAREQ0_DEV_04(x) ((x) << SCT_DMAREQ0_DEV_04_SHIFT) /* -- SCT_DMAREQ0_DEV_05: If bit n is one, event n sets DMA request 0 (event 0 = * bit 0, event 1 = bit 1,..., event 15 = bit 15). */ #define SCT_DMAREQ0_DEV_05_SHIFT (5) #define SCT_DMAREQ0_DEV_05_MASK (0x01 << SCT_DMAREQ0_DEV_05_SHIFT) #define SCT_DMAREQ0_DEV_05(x) ((x) << SCT_DMAREQ0_DEV_05_SHIFT) /* -- SCT_DMAREQ0_DEV_06: If bit n is one, event n sets DMA request 0 (event 0 = * bit 0, event 1 = bit 1,..., event 15 = bit 15). */ #define SCT_DMAREQ0_DEV_06_SHIFT (6) #define SCT_DMAREQ0_DEV_06_MASK (0x01 << SCT_DMAREQ0_DEV_06_SHIFT) #define SCT_DMAREQ0_DEV_06(x) ((x) << SCT_DMAREQ0_DEV_06_SHIFT) /* -- SCT_DMAREQ0_DEV_07: If bit n is one, event n sets DMA request 0 (event 0 = * bit 0, event 1 = bit 1,..., event 15 = bit 15). */ #define SCT_DMAREQ0_DEV_07_SHIFT (7) #define SCT_DMAREQ0_DEV_07_MASK (0x01 << SCT_DMAREQ0_DEV_07_SHIFT) #define SCT_DMAREQ0_DEV_07(x) ((x) << SCT_DMAREQ0_DEV_07_SHIFT) /* -- SCT_DMAREQ0_DEV_08: If bit n is one, event n sets DMA request 0 (event 0 = * bit 0, event 1 = bit 1,..., event 15 = bit 15). */ #define SCT_DMAREQ0_DEV_08_SHIFT (8) #define SCT_DMAREQ0_DEV_08_MASK (0x01 << SCT_DMAREQ0_DEV_08_SHIFT) #define SCT_DMAREQ0_DEV_08(x) ((x) << SCT_DMAREQ0_DEV_08_SHIFT) /* -- SCT_DMAREQ0_DEV_09: If bit n is one, event n sets DMA request 0 (event 0 = * bit 0, event 1 = bit 1,..., event 15 = bit 15). */ #define SCT_DMAREQ0_DEV_09_SHIFT (9) #define SCT_DMAREQ0_DEV_09_MASK (0x01 << SCT_DMAREQ0_DEV_09_SHIFT) #define SCT_DMAREQ0_DEV_09(x) ((x) << SCT_DMAREQ0_DEV_09_SHIFT) /* -- SCT_DMAREQ0_DEV_010: If bit n is one, event n sets DMA request 0 (event 0 * = bit 0, event 1 = bit 1,..., event 15 = bit 15). */ #define SCT_DMAREQ0_DEV_010_SHIFT (10) #define SCT_DMAREQ0_DEV_010_MASK (0x01 << SCT_DMAREQ0_DEV_010_SHIFT) #define SCT_DMAREQ0_DEV_010(x) ((x) << SCT_DMAREQ0_DEV_010_SHIFT) /* -- SCT_DMAREQ0_DEV_011: If bit n is one, event n sets DMA request 0 (event 0 * = bit 0, event 1 = bit 1,..., event 15 = bit 15). */ #define SCT_DMAREQ0_DEV_011_SHIFT (11) #define SCT_DMAREQ0_DEV_011_MASK (0x01 << SCT_DMAREQ0_DEV_011_SHIFT) #define SCT_DMAREQ0_DEV_011(x) ((x) << SCT_DMAREQ0_DEV_011_SHIFT) /* -- SCT_DMAREQ0_DEV_012: If bit n is one, event n sets DMA request 0 (event 0 * = bit 0, event 1 = bit 1,..., event 15 = bit 15). */ #define SCT_DMAREQ0_DEV_012_SHIFT (12) #define SCT_DMAREQ0_DEV_012_MASK (0x01 << SCT_DMAREQ0_DEV_012_SHIFT) #define SCT_DMAREQ0_DEV_012(x) ((x) << SCT_DMAREQ0_DEV_012_SHIFT) /* -- SCT_DMAREQ0_DEV_013: If bit n is one, event n sets DMA request 0 (event 0 * = bit 0, event 1 = bit 1,..., event 15 = bit 15). */ #define SCT_DMAREQ0_DEV_013_SHIFT (13) #define SCT_DMAREQ0_DEV_013_MASK (0x01 << SCT_DMAREQ0_DEV_013_SHIFT) #define SCT_DMAREQ0_DEV_013(x) ((x) << SCT_DMAREQ0_DEV_013_SHIFT) /* -- SCT_DMAREQ0_DEV_014: If bit n is one, event n sets DMA request 0 (event 0 * = bit 0, event 1 = bit 1,..., event 15 = bit 15). */ #define SCT_DMAREQ0_DEV_014_SHIFT (14) #define SCT_DMAREQ0_DEV_014_MASK (0x01 << SCT_DMAREQ0_DEV_014_SHIFT) #define SCT_DMAREQ0_DEV_014(x) ((x) << SCT_DMAREQ0_DEV_014_SHIFT) /* -- SCT_DMAREQ0_DEV_015: If bit n is one, event n sets DMA request 0 (event 0 * = bit 0, event 1 = bit 1,..., event 15 = bit 15). */ #define SCT_DMAREQ0_DEV_015_SHIFT (15) #define SCT_DMAREQ0_DEV_015_MASK (0x01 << SCT_DMAREQ0_DEV_015_SHIFT) #define SCT_DMAREQ0_DEV_015(x) ((x) << SCT_DMAREQ0_DEV_015_SHIFT) /* -- SCT_DMAREQ0_DRL0: A 1 in this bit makes the SCT set DMA request 0 when it * loads the Match_L/Unified registers from the Reload_L/Unified registers. */ #define SCT_DMAREQ0_DRL0_SHIFT (30) #define SCT_DMAREQ0_DRL0_MASK (0x01 << SCT_DMAREQ0_DRL0_SHIFT) #define SCT_DMAREQ0_DRL0(x) ((x) << SCT_DMAREQ0_DRL0_SHIFT) /* -- SCT_DMAREQ0_DRQ0: This read-only bit indicates the state of DMA Request 0 */ #define SCT_DMAREQ0_DRQ0_SHIFT (31) #define SCT_DMAREQ0_DRQ0_MASK (0x01 << SCT_DMAREQ0_DRQ0_SHIFT) #define SCT_DMAREQ0_DRQ0(x) ((x) << SCT_DMAREQ0_DRQ0_SHIFT) /* --- SCT_DMAREQ1 --------------------------------------- */ #define SCT_DMAREQ1 MMIO32(SCT_BASE + 0x60) /* -- SCT_DMAREQ1_DEV_10: If bit n is one, event n sets DMA request 1 (event 0 = * bit 0, event 1 = bit 1,..., event 15 = bit 15). */ #define SCT_DMAREQ1_DEV_10_SHIFT (0) #define SCT_DMAREQ1_DEV_10_MASK (0x01 << SCT_DMAREQ1_DEV_10_SHIFT) #define SCT_DMAREQ1_DEV_10(x) ((x) << SCT_DMAREQ1_DEV_10_SHIFT) /* -- SCT_DMAREQ1_DEV_11: If bit n is one, event n sets DMA request 1 (event 0 = * bit 0, event 1 = bit 1,..., event 15 = bit 15). */ #define SCT_DMAREQ1_DEV_11_SHIFT (1) #define SCT_DMAREQ1_DEV_11_MASK (0x01 << SCT_DMAREQ1_DEV_11_SHIFT) #define SCT_DMAREQ1_DEV_11(x) ((x) << SCT_DMAREQ1_DEV_11_SHIFT) /* -- SCT_DMAREQ1_DEV_12: If bit n is one, event n sets DMA request 1 (event 0 = * bit 0, event 1 = bit 1,..., event 15 = bit 15). */ #define SCT_DMAREQ1_DEV_12_SHIFT (2) #define SCT_DMAREQ1_DEV_12_MASK (0x01 << SCT_DMAREQ1_DEV_12_SHIFT) #define SCT_DMAREQ1_DEV_12(x) ((x) << SCT_DMAREQ1_DEV_12_SHIFT) /* -- SCT_DMAREQ1_DEV_13: If bit n is one, event n sets DMA request 1 (event 0 = * bit 0, event 1 = bit 1,..., event 15 = bit 15). */ #define SCT_DMAREQ1_DEV_13_SHIFT (3) #define SCT_DMAREQ1_DEV_13_MASK (0x01 << SCT_DMAREQ1_DEV_13_SHIFT) #define SCT_DMAREQ1_DEV_13(x) ((x) << SCT_DMAREQ1_DEV_13_SHIFT) /* -- SCT_DMAREQ1_DEV_14: If bit n is one, event n sets DMA request 1 (event 0 = * bit 0, event 1 = bit 1,..., event 15 = bit 15). */ #define SCT_DMAREQ1_DEV_14_SHIFT (4) #define SCT_DMAREQ1_DEV_14_MASK (0x01 << SCT_DMAREQ1_DEV_14_SHIFT) #define SCT_DMAREQ1_DEV_14(x) ((x) << SCT_DMAREQ1_DEV_14_SHIFT) /* -- SCT_DMAREQ1_DEV_15: If bit n is one, event n sets DMA request 1 (event 0 = * bit 0, event 1 = bit 1,..., event 15 = bit 15). */ #define SCT_DMAREQ1_DEV_15_SHIFT (5) #define SCT_DMAREQ1_DEV_15_MASK (0x01 << SCT_DMAREQ1_DEV_15_SHIFT) #define SCT_DMAREQ1_DEV_15(x) ((x) << SCT_DMAREQ1_DEV_15_SHIFT) /* -- SCT_DMAREQ1_DEV_16: If bit n is one, event n sets DMA request 1 (event 0 = * bit 0, event 1 = bit 1,..., event 15 = bit 15). */ #define SCT_DMAREQ1_DEV_16_SHIFT (6) #define SCT_DMAREQ1_DEV_16_MASK (0x01 << SCT_DMAREQ1_DEV_16_SHIFT) #define SCT_DMAREQ1_DEV_16(x) ((x) << SCT_DMAREQ1_DEV_16_SHIFT) /* -- SCT_DMAREQ1_DEV_17: If bit n is one, event n sets DMA request 1 (event 0 = * bit 0, event 1 = bit 1,..., event 15 = bit 15). */ #define SCT_DMAREQ1_DEV_17_SHIFT (7) #define SCT_DMAREQ1_DEV_17_MASK (0x01 << SCT_DMAREQ1_DEV_17_SHIFT) #define SCT_DMAREQ1_DEV_17(x) ((x) << SCT_DMAREQ1_DEV_17_SHIFT) /* -- SCT_DMAREQ1_DEV_18: If bit n is one, event n sets DMA request 1 (event 0 = * bit 0, event 1 = bit 1,..., event 15 = bit 15). */ #define SCT_DMAREQ1_DEV_18_SHIFT (8) #define SCT_DMAREQ1_DEV_18_MASK (0x01 << SCT_DMAREQ1_DEV_18_SHIFT) #define SCT_DMAREQ1_DEV_18(x) ((x) << SCT_DMAREQ1_DEV_18_SHIFT) /* -- SCT_DMAREQ1_DEV_19: If bit n is one, event n sets DMA request 1 (event 0 = * bit 0, event 1 = bit 1,..., event 15 = bit 15). */ #define SCT_DMAREQ1_DEV_19_SHIFT (9) #define SCT_DMAREQ1_DEV_19_MASK (0x01 << SCT_DMAREQ1_DEV_19_SHIFT) #define SCT_DMAREQ1_DEV_19(x) ((x) << SCT_DMAREQ1_DEV_19_SHIFT) /* -- SCT_DMAREQ1_DEV_110: If bit n is one, event n sets DMA request 1 (event 0 * = bit 0, event 1 = bit 1,..., event 15 = bit 15). */ #define SCT_DMAREQ1_DEV_110_SHIFT (10) #define SCT_DMAREQ1_DEV_110_MASK (0x01 << SCT_DMAREQ1_DEV_110_SHIFT) #define SCT_DMAREQ1_DEV_110(x) ((x) << SCT_DMAREQ1_DEV_110_SHIFT) /* -- SCT_DMAREQ1_DEV_111: If bit n is one, event n sets DMA request 1 (event 0 * = bit 0, event 1 = bit 1,..., event 15 = bit 15). */ #define SCT_DMAREQ1_DEV_111_SHIFT (11) #define SCT_DMAREQ1_DEV_111_MASK (0x01 << SCT_DMAREQ1_DEV_111_SHIFT) #define SCT_DMAREQ1_DEV_111(x) ((x) << SCT_DMAREQ1_DEV_111_SHIFT) /* -- SCT_DMAREQ1_DEV_112: If bit n is one, event n sets DMA request 1 (event 0 * = bit 0, event 1 = bit 1,..., event 15 = bit 15). */ #define SCT_DMAREQ1_DEV_112_SHIFT (12) #define SCT_DMAREQ1_DEV_112_MASK (0x01 << SCT_DMAREQ1_DEV_112_SHIFT) #define SCT_DMAREQ1_DEV_112(x) ((x) << SCT_DMAREQ1_DEV_112_SHIFT) /* -- SCT_DMAREQ1_DEV_113: If bit n is one, event n sets DMA request 1 (event 0 * = bit 0, event 1 = bit 1,..., event 15 = bit 15). */ #define SCT_DMAREQ1_DEV_113_SHIFT (13) #define SCT_DMAREQ1_DEV_113_MASK (0x01 << SCT_DMAREQ1_DEV_113_SHIFT) #define SCT_DMAREQ1_DEV_113(x) ((x) << SCT_DMAREQ1_DEV_113_SHIFT) /* -- SCT_DMAREQ1_DEV_114: If bit n is one, event n sets DMA request 1 (event 0 * = bit 0, event 1 = bit 1,..., event 15 = bit 15). */ #define SCT_DMAREQ1_DEV_114_SHIFT (14) #define SCT_DMAREQ1_DEV_114_MASK (0x01 << SCT_DMAREQ1_DEV_114_SHIFT) #define SCT_DMAREQ1_DEV_114(x) ((x) << SCT_DMAREQ1_DEV_114_SHIFT) /* -- SCT_DMAREQ1_DEV_115: If bit n is one, event n sets DMA request 1 (event 0 * = bit 0, event 1 = bit 1,..., event 15 = bit 15). */ #define SCT_DMAREQ1_DEV_115_SHIFT (15) #define SCT_DMAREQ1_DEV_115_MASK (0x01 << SCT_DMAREQ1_DEV_115_SHIFT) #define SCT_DMAREQ1_DEV_115(x) ((x) << SCT_DMAREQ1_DEV_115_SHIFT) /* -- SCT_DMAREQ1_DRL1: A 1 in this bit makes the SCT set DMA request 1 when it * loads the Match L/Unified registers from the Reload L/Unified registers. */ #define SCT_DMAREQ1_DRL1_SHIFT (30) #define SCT_DMAREQ1_DRL1_MASK (0x01 << SCT_DMAREQ1_DRL1_SHIFT) #define SCT_DMAREQ1_DRL1(x) ((x) << SCT_DMAREQ1_DRL1_SHIFT) /* -- SCT_DMAREQ1_DRQ1: This read-only bit indicates the state of DMA Request 1. */ #define SCT_DMAREQ1_DRQ1_SHIFT (31) #define SCT_DMAREQ1_DRQ1_MASK (0x01 << SCT_DMAREQ1_DRQ1_SHIFT) #define SCT_DMAREQ1_DRQ1(x) ((x) << SCT_DMAREQ1_DRQ1_SHIFT) /* --- SCT_EVEN ------------------------------------------ */ #define SCT_EVEN MMIO32(SCT_BASE + 0xF0) /* -- SCT_EVEN_IEN0: The SCT requests interrupt when bit n of this register and * the event flag register are both one (event 0 = bit 0, event 1 = bit 1,..., * event 15 = bit 15). */ #define SCT_EVEN_IEN0_SHIFT (0) #define SCT_EVEN_IEN0_MASK (0x01 << SCT_EVEN_IEN0_SHIFT) #define SCT_EVEN_IEN0(x) ((x) << SCT_EVEN_IEN0_SHIFT) /* -- SCT_EVEN_IEN1: The SCT requests interrupt when bit n of this register and * the event flag register are both one (event 0 = bit 0, event 1 = bit 1,..., * event 15 = bit 15). */ #define SCT_EVEN_IEN1_SHIFT (1) #define SCT_EVEN_IEN1_MASK (0x01 << SCT_EVEN_IEN1_SHIFT) #define SCT_EVEN_IEN1(x) ((x) << SCT_EVEN_IEN1_SHIFT) /* -- SCT_EVEN_IEN2: The SCT requests interrupt when bit n of this register and * the event flag register are both one (event 0 = bit 0, event 1 = bit 1,..., * event 15 = bit 15). */ #define SCT_EVEN_IEN2_SHIFT (2) #define SCT_EVEN_IEN2_MASK (0x01 << SCT_EVEN_IEN2_SHIFT) #define SCT_EVEN_IEN2(x) ((x) << SCT_EVEN_IEN2_SHIFT) /* -- SCT_EVEN_IEN3: The SCT requests interrupt when bit n of this register and * the event flag register are both one (event 0 = bit 0, event 1 = bit 1,..., * event 15 = bit 15). */ #define SCT_EVEN_IEN3_SHIFT (3) #define SCT_EVEN_IEN3_MASK (0x01 << SCT_EVEN_IEN3_SHIFT) #define SCT_EVEN_IEN3(x) ((x) << SCT_EVEN_IEN3_SHIFT) /* -- SCT_EVEN_IEN4: The SCT requests interrupt when bit n of this register and * the event flag register are both one (event 0 = bit 0, event 1 = bit 1,..., * event 15 = bit 15). */ #define SCT_EVEN_IEN4_SHIFT (4) #define SCT_EVEN_IEN4_MASK (0x01 << SCT_EVEN_IEN4_SHIFT) #define SCT_EVEN_IEN4(x) ((x) << SCT_EVEN_IEN4_SHIFT) /* -- SCT_EVEN_IEN5: The SCT requests interrupt when bit n of this register and * the event flag register are both one (event 0 = bit 0, event 1 = bit 1,..., * event 15 = bit 15). */ #define SCT_EVEN_IEN5_SHIFT (5) #define SCT_EVEN_IEN5_MASK (0x01 << SCT_EVEN_IEN5_SHIFT) #define SCT_EVEN_IEN5(x) ((x) << SCT_EVEN_IEN5_SHIFT) /* -- SCT_EVEN_IEN6: The SCT requests interrupt when bit n of this register and * the event flag register are both one (event 0 = bit 0, event 1 = bit 1,..., * event 15 = bit 15). */ #define SCT_EVEN_IEN6_SHIFT (6) #define SCT_EVEN_IEN6_MASK (0x01 << SCT_EVEN_IEN6_SHIFT) #define SCT_EVEN_IEN6(x) ((x) << SCT_EVEN_IEN6_SHIFT) /* -- SCT_EVEN_IEN7: The SCT requests interrupt when bit n of this register and * the event flag register are both one (event 0 = bit 0, event 1 = bit 1,..., * event 15 = bit 15). */ #define SCT_EVEN_IEN7_SHIFT (7) #define SCT_EVEN_IEN7_MASK (0x01 << SCT_EVEN_IEN7_SHIFT) #define SCT_EVEN_IEN7(x) ((x) << SCT_EVEN_IEN7_SHIFT) /* -- SCT_EVEN_IEN8: The SCT requests interrupt when bit n of this register and * the event flag register are both one (event 0 = bit 0, event 1 = bit 1,..., * event 15 = bit 15). */ #define SCT_EVEN_IEN8_SHIFT (8) #define SCT_EVEN_IEN8_MASK (0x01 << SCT_EVEN_IEN8_SHIFT) #define SCT_EVEN_IEN8(x) ((x) << SCT_EVEN_IEN8_SHIFT) /* -- SCT_EVEN_IEN9: The SCT requests interrupt when bit n of this register and * the event flag register are both one (event 0 = bit 0, event 1 = bit 1,..., * event 15 = bit 15). */ #define SCT_EVEN_IEN9_SHIFT (9) #define SCT_EVEN_IEN9_MASK (0x01 << SCT_EVEN_IEN9_SHIFT) #define SCT_EVEN_IEN9(x) ((x) << SCT_EVEN_IEN9_SHIFT) /* -- SCT_EVEN_IEN10: The SCT requests interrupt when bit n of this register and * the event flag register are both one (event 0 = bit 0, event 1 = bit 1,..., * event 15 = bit 15). */ #define SCT_EVEN_IEN10_SHIFT (10) #define SCT_EVEN_IEN10_MASK (0x01 << SCT_EVEN_IEN10_SHIFT) #define SCT_EVEN_IEN10(x) ((x) << SCT_EVEN_IEN10_SHIFT) /* -- SCT_EVEN_IEN11: The SCT requests interrupt when bit n of this register and * the event flag register are both one (event 0 = bit 0, event 1 = bit 1,..., * event 15 = bit 15). */ #define SCT_EVEN_IEN11_SHIFT (11) #define SCT_EVEN_IEN11_MASK (0x01 << SCT_EVEN_IEN11_SHIFT) #define SCT_EVEN_IEN11(x) ((x) << SCT_EVEN_IEN11_SHIFT) /* -- SCT_EVEN_IEN12: The SCT requests interrupt when bit n of this register and * the event flag register are both one (event 0 = bit 0, event 1 = bit 1,..., * event 15 = bit 15). */ #define SCT_EVEN_IEN12_SHIFT (12) #define SCT_EVEN_IEN12_MASK (0x01 << SCT_EVEN_IEN12_SHIFT) #define SCT_EVEN_IEN12(x) ((x) << SCT_EVEN_IEN12_SHIFT) /* -- SCT_EVEN_IEN13: The SCT requests interrupt when bit n of this register and * the event flag register are both one (event 0 = bit 0, event 1 = bit 1,..., * event 15 = bit 15). */ #define SCT_EVEN_IEN13_SHIFT (13) #define SCT_EVEN_IEN13_MASK (0x01 << SCT_EVEN_IEN13_SHIFT) #define SCT_EVEN_IEN13(x) ((x) << SCT_EVEN_IEN13_SHIFT) /* -- SCT_EVEN_IEN14: The SCT requests interrupt when bit n of this register and * the event flag register are both one (event 0 = bit 0, event 1 = bit 1,..., * event 15 = bit 15). */ #define SCT_EVEN_IEN14_SHIFT (14) #define SCT_EVEN_IEN14_MASK (0x01 << SCT_EVEN_IEN14_SHIFT) #define SCT_EVEN_IEN14(x) ((x) << SCT_EVEN_IEN14_SHIFT) /* -- SCT_EVEN_IEN15: The SCT requests interrupt when bit n of this register and * the event flag register are both one (event 0 = bit 0, event 1 = bit 1,..., * event 15 = bit 15). */ #define SCT_EVEN_IEN15_SHIFT (15) #define SCT_EVEN_IEN15_MASK (0x01 << SCT_EVEN_IEN15_SHIFT) #define SCT_EVEN_IEN15(x) ((x) << SCT_EVEN_IEN15_SHIFT) /* --- SCT_EVFLAG ---------------------------------------- */ #define SCT_EVFLAG MMIO32(SCT_BASE + 0xF4) /* -- SCT_EVFLAG_FLAG0: Bit n is one if event n has occurred since reset or a 1 * was last written to this bit (event 0 = bit 0, event 1 = bit 1,..., event 15 * = bit 15). */ #define SCT_EVFLAG_FLAG0_SHIFT (0) #define SCT_EVFLAG_FLAG0_MASK (0x01 << SCT_EVFLAG_FLAG0_SHIFT) #define SCT_EVFLAG_FLAG0(x) ((x) << SCT_EVFLAG_FLAG0_SHIFT) /* -- SCT_EVFLAG_FLAG1: Bit n is one if event n has occurred since reset or a 1 * was last written to this bit (event 0 = bit 0, event 1 = bit 1,..., event 15 * = bit 15). */ #define SCT_EVFLAG_FLAG1_SHIFT (1) #define SCT_EVFLAG_FLAG1_MASK (0x01 << SCT_EVFLAG_FLAG1_SHIFT) #define SCT_EVFLAG_FLAG1(x) ((x) << SCT_EVFLAG_FLAG1_SHIFT) /* -- SCT_EVFLAG_FLAG2: Bit n is one if event n has occurred since reset or a 1 * was last written to this bit (event 0 = bit 0, event 1 = bit 1,..., event 15 * = bit 15). */ #define SCT_EVFLAG_FLAG2_SHIFT (2) #define SCT_EVFLAG_FLAG2_MASK (0x01 << SCT_EVFLAG_FLAG2_SHIFT) #define SCT_EVFLAG_FLAG2(x) ((x) << SCT_EVFLAG_FLAG2_SHIFT) /* -- SCT_EVFLAG_FLAG3: Bit n is one if event n has occurred since reset or a 1 * was last written to this bit (event 0 = bit 0, event 1 = bit 1,..., event 15 * = bit 15). */ #define SCT_EVFLAG_FLAG3_SHIFT (3) #define SCT_EVFLAG_FLAG3_MASK (0x01 << SCT_EVFLAG_FLAG3_SHIFT) #define SCT_EVFLAG_FLAG3(x) ((x) << SCT_EVFLAG_FLAG3_SHIFT) /* -- SCT_EVFLAG_FLAG4: Bit n is one if event n has occurred since reset or a 1 * was last written to this bit (event 0 = bit 0, event 1 = bit 1,..., event 15 * = bit 15). */ #define SCT_EVFLAG_FLAG4_SHIFT (4) #define SCT_EVFLAG_FLAG4_MASK (0x01 << SCT_EVFLAG_FLAG4_SHIFT) #define SCT_EVFLAG_FLAG4(x) ((x) << SCT_EVFLAG_FLAG4_SHIFT) /* -- SCT_EVFLAG_FLAG5: Bit n is one if event n has occurred since reset or a 1 * was last written to this bit (event 0 = bit 0, event 1 = bit 1,..., event 15 * = bit 15). */ #define SCT_EVFLAG_FLAG5_SHIFT (5) #define SCT_EVFLAG_FLAG5_MASK (0x01 << SCT_EVFLAG_FLAG5_SHIFT) #define SCT_EVFLAG_FLAG5(x) ((x) << SCT_EVFLAG_FLAG5_SHIFT) /* -- SCT_EVFLAG_FLAG6: Bit n is one if event n has occurred since reset or a 1 * was last written to this bit (event 0 = bit 0, event 1 = bit 1,..., event 15 * = bit 15). */ #define SCT_EVFLAG_FLAG6_SHIFT (6) #define SCT_EVFLAG_FLAG6_MASK (0x01 << SCT_EVFLAG_FLAG6_SHIFT) #define SCT_EVFLAG_FLAG6(x) ((x) << SCT_EVFLAG_FLAG6_SHIFT) /* -- SCT_EVFLAG_FLAG7: Bit n is one if event n has occurred since reset or a 1 * was last written to this bit (event 0 = bit 0, event 1 = bit 1,..., event 15 * = bit 15). */ #define SCT_EVFLAG_FLAG7_SHIFT (7) #define SCT_EVFLAG_FLAG7_MASK (0x01 << SCT_EVFLAG_FLAG7_SHIFT) #define SCT_EVFLAG_FLAG7(x) ((x) << SCT_EVFLAG_FLAG7_SHIFT) /* -- SCT_EVFLAG_FLAG8: Bit n is one if event n has occurred since reset or a 1 * was last written to this bit (event 0 = bit 0, event 1 = bit 1,..., event 15 * = bit 15). */ #define SCT_EVFLAG_FLAG8_SHIFT (8) #define SCT_EVFLAG_FLAG8_MASK (0x01 << SCT_EVFLAG_FLAG8_SHIFT) #define SCT_EVFLAG_FLAG8(x) ((x) << SCT_EVFLAG_FLAG8_SHIFT) /* -- SCT_EVFLAG_FLAG9: Bit n is one if event n has occurred since reset or a 1 * was last written to this bit (event 0 = bit 0, event 1 = bit 1,..., event 15 * = bit 15). */ #define SCT_EVFLAG_FLAG9_SHIFT (9) #define SCT_EVFLAG_FLAG9_MASK (0x01 << SCT_EVFLAG_FLAG9_SHIFT) #define SCT_EVFLAG_FLAG9(x) ((x) << SCT_EVFLAG_FLAG9_SHIFT) /* -- SCT_EVFLAG_FLAG10: Bit n is one if event n has occurred since reset or a 1 * was last written to this bit (event 0 = bit 0, event 1 = bit 1,..., event 15 * = bit 15). */ #define SCT_EVFLAG_FLAG10_SHIFT (10) #define SCT_EVFLAG_FLAG10_MASK (0x01 << SCT_EVFLAG_FLAG10_SHIFT) #define SCT_EVFLAG_FLAG10(x) ((x) << SCT_EVFLAG_FLAG10_SHIFT) /* -- SCT_EVFLAG_FLAG11: Bit n is one if event n has occurred since reset or a 1 * was last written to this bit (event 0 = bit 0, event 1 = bit 1,..., event 15 * = bit 15). */ #define SCT_EVFLAG_FLAG11_SHIFT (11) #define SCT_EVFLAG_FLAG11_MASK (0x01 << SCT_EVFLAG_FLAG11_SHIFT) #define SCT_EVFLAG_FLAG11(x) ((x) << SCT_EVFLAG_FLAG11_SHIFT) /* -- SCT_EVFLAG_FLAG12: Bit n is one if event n has occurred since reset or a 1 * was last written to this bit (event 0 = bit 0, event 1 = bit 1,..., event 15 * = bit 15). */ #define SCT_EVFLAG_FLAG12_SHIFT (12) #define SCT_EVFLAG_FLAG12_MASK (0x01 << SCT_EVFLAG_FLAG12_SHIFT) #define SCT_EVFLAG_FLAG12(x) ((x) << SCT_EVFLAG_FLAG12_SHIFT) /* -- SCT_EVFLAG_FLAG13: Bit n is one if event n has occurred since reset or a 1 * was last written to this bit (event 0 = bit 0, event 1 = bit 1,..., event 15 * = bit 15). */ #define SCT_EVFLAG_FLAG13_SHIFT (13) #define SCT_EVFLAG_FLAG13_MASK (0x01 << SCT_EVFLAG_FLAG13_SHIFT) #define SCT_EVFLAG_FLAG13(x) ((x) << SCT_EVFLAG_FLAG13_SHIFT) /* -- SCT_EVFLAG_FLAG14: Bit n is one if event n has occurred since reset or a 1 * was last written to this bit (event 0 = bit 0, event 1 = bit 1,..., event 15 * = bit 15). */ #define SCT_EVFLAG_FLAG14_SHIFT (14) #define SCT_EVFLAG_FLAG14_MASK (0x01 << SCT_EVFLAG_FLAG14_SHIFT) #define SCT_EVFLAG_FLAG14(x) ((x) << SCT_EVFLAG_FLAG14_SHIFT) /* -- SCT_EVFLAG_FLAG15: Bit n is one if event n has occurred since reset or a 1 * was last written to this bit (event 0 = bit 0, event 1 = bit 1,..., event 15 * = bit 15). */ #define SCT_EVFLAG_FLAG15_SHIFT (15) #define SCT_EVFLAG_FLAG15_MASK (0x01 << SCT_EVFLAG_FLAG15_SHIFT) #define SCT_EVFLAG_FLAG15(x) ((x) << SCT_EVFLAG_FLAG15_SHIFT) /* --- SCT_CONEN ----------------------------------------- */ #define SCT_CONEN MMIO32(SCT_BASE + 0xF8) /* -- SCT_CONEN_NCEN0: The SCT requests interrupt when bit n of this register * and the SCT conflict flag register are both one (output 0 = bit 0, output 1 = * bit 1,..., output 15 = bit 15). */ #define SCT_CONEN_NCEN0_SHIFT (0) #define SCT_CONEN_NCEN0_MASK (0x01 << SCT_CONEN_NCEN0_SHIFT) #define SCT_CONEN_NCEN0(x) ((x) << SCT_CONEN_NCEN0_SHIFT) /* -- SCT_CONEN_NCEN1: The SCT requests interrupt when bit n of this register * and the SCT conflict flag register are both one (output 0 = bit 0, output 1 = * bit 1,..., output 15 = bit 15). */ #define SCT_CONEN_NCEN1_SHIFT (1) #define SCT_CONEN_NCEN1_MASK (0x01 << SCT_CONEN_NCEN1_SHIFT) #define SCT_CONEN_NCEN1(x) ((x) << SCT_CONEN_NCEN1_SHIFT) /* -- SCT_CONEN_NCEN2: The SCT requests interrupt when bit n of this register * and the SCT conflict flag register are both one (output 0 = bit 0, output 1 = * bit 1,..., output 15 = bit 15). */ #define SCT_CONEN_NCEN2_SHIFT (2) #define SCT_CONEN_NCEN2_MASK (0x01 << SCT_CONEN_NCEN2_SHIFT) #define SCT_CONEN_NCEN2(x) ((x) << SCT_CONEN_NCEN2_SHIFT) /* -- SCT_CONEN_NCEN3: The SCT requests interrupt when bit n of this register * and the SCT conflict flag register are both one (output 0 = bit 0, output 1 = * bit 1,..., output 15 = bit 15). */ #define SCT_CONEN_NCEN3_SHIFT (3) #define SCT_CONEN_NCEN3_MASK (0x01 << SCT_CONEN_NCEN3_SHIFT) #define SCT_CONEN_NCEN3(x) ((x) << SCT_CONEN_NCEN3_SHIFT) /* -- SCT_CONEN_NCEN4: The SCT requests interrupt when bit n of this register * and the SCT conflict flag register are both one (output 0 = bit 0, output 1 = * bit 1,..., output 15 = bit 15). */ #define SCT_CONEN_NCEN4_SHIFT (4) #define SCT_CONEN_NCEN4_MASK (0x01 << SCT_CONEN_NCEN4_SHIFT) #define SCT_CONEN_NCEN4(x) ((x) << SCT_CONEN_NCEN4_SHIFT) /* -- SCT_CONEN_NCEN5: The SCT requests interrupt when bit n of this register * and the SCT conflict flag register are both one (output 0 = bit 0, output 1 = * bit 1,..., output 15 = bit 15). */ #define SCT_CONEN_NCEN5_SHIFT (5) #define SCT_CONEN_NCEN5_MASK (0x01 << SCT_CONEN_NCEN5_SHIFT) #define SCT_CONEN_NCEN5(x) ((x) << SCT_CONEN_NCEN5_SHIFT) /* -- SCT_CONEN_NCEN6: The SCT requests interrupt when bit n of this register * and the SCT conflict flag register are both one (output 0 = bit 0, output 1 = * bit 1,..., output 15 = bit 15). */ #define SCT_CONEN_NCEN6_SHIFT (6) #define SCT_CONEN_NCEN6_MASK (0x01 << SCT_CONEN_NCEN6_SHIFT) #define SCT_CONEN_NCEN6(x) ((x) << SCT_CONEN_NCEN6_SHIFT) /* -- SCT_CONEN_NCEN7: The SCT requests interrupt when bit n of this register * and the SCT conflict flag register are both one (output 0 = bit 0, output 1 = * bit 1,..., output 15 = bit 15). */ #define SCT_CONEN_NCEN7_SHIFT (7) #define SCT_CONEN_NCEN7_MASK (0x01 << SCT_CONEN_NCEN7_SHIFT) #define SCT_CONEN_NCEN7(x) ((x) << SCT_CONEN_NCEN7_SHIFT) /* -- SCT_CONEN_NCEN8: The SCT requests interrupt when bit n of this register * and the SCT conflict flag register are both one (output 0 = bit 0, output 1 = * bit 1,..., output 15 = bit 15). */ #define SCT_CONEN_NCEN8_SHIFT (8) #define SCT_CONEN_NCEN8_MASK (0x01 << SCT_CONEN_NCEN8_SHIFT) #define SCT_CONEN_NCEN8(x) ((x) << SCT_CONEN_NCEN8_SHIFT) /* -- SCT_CONEN_NCEN9: The SCT requests interrupt when bit n of this register * and the SCT conflict flag register are both one (output 0 = bit 0, output 1 = * bit 1,..., output 15 = bit 15). */ #define SCT_CONEN_NCEN9_SHIFT (9) #define SCT_CONEN_NCEN9_MASK (0x01 << SCT_CONEN_NCEN9_SHIFT) #define SCT_CONEN_NCEN9(x) ((x) << SCT_CONEN_NCEN9_SHIFT) /* -- SCT_CONEN_NCEN10: The SCT requests interrupt when bit n of this register * and the SCT conflict flag register are both one (output 0 = bit 0, output 1 = * bit 1,..., output 15 = bit 15). */ #define SCT_CONEN_NCEN10_SHIFT (10) #define SCT_CONEN_NCEN10_MASK (0x01 << SCT_CONEN_NCEN10_SHIFT) #define SCT_CONEN_NCEN10(x) ((x) << SCT_CONEN_NCEN10_SHIFT) /* -- SCT_CONEN_NCEN11: The SCT requests interrupt when bit n of this register * and the SCT conflict flag register are both one (output 0 = bit 0, output 1 = * bit 1,..., output 15 = bit 15). */ #define SCT_CONEN_NCEN11_SHIFT (11) #define SCT_CONEN_NCEN11_MASK (0x01 << SCT_CONEN_NCEN11_SHIFT) #define SCT_CONEN_NCEN11(x) ((x) << SCT_CONEN_NCEN11_SHIFT) /* -- SCT_CONEN_NCEN12: The SCT requests interrupt when bit n of this register * and the SCT conflict flag register are both one (output 0 = bit 0, output 1 = * bit 1,..., output 15 = bit 15). */ #define SCT_CONEN_NCEN12_SHIFT (12) #define SCT_CONEN_NCEN12_MASK (0x01 << SCT_CONEN_NCEN12_SHIFT) #define SCT_CONEN_NCEN12(x) ((x) << SCT_CONEN_NCEN12_SHIFT) /* -- SCT_CONEN_NCEN13: The SCT requests interrupt when bit n of this register * and the SCT conflict flag register are both one (output 0 = bit 0, output 1 = * bit 1,..., output 15 = bit 15). */ #define SCT_CONEN_NCEN13_SHIFT (13) #define SCT_CONEN_NCEN13_MASK (0x01 << SCT_CONEN_NCEN13_SHIFT) #define SCT_CONEN_NCEN13(x) ((x) << SCT_CONEN_NCEN13_SHIFT) /* -- SCT_CONEN_NCEN14: The SCT requests interrupt when bit n of this register * and the SCT conflict flag register are both one (output 0 = bit 0, output 1 = * bit 1,..., output 15 = bit 15). */ #define SCT_CONEN_NCEN14_SHIFT (14) #define SCT_CONEN_NCEN14_MASK (0x01 << SCT_CONEN_NCEN14_SHIFT) #define SCT_CONEN_NCEN14(x) ((x) << SCT_CONEN_NCEN14_SHIFT) /* -- SCT_CONEN_NCEN15: The SCT requests interrupt when bit n of this register * and the SCT conflict flag register are both one (output 0 = bit 0, output 1 = * bit 1,..., output 15 = bit 15). */ #define SCT_CONEN_NCEN15_SHIFT (15) #define SCT_CONEN_NCEN15_MASK (0x01 << SCT_CONEN_NCEN15_SHIFT) #define SCT_CONEN_NCEN15(x) ((x) << SCT_CONEN_NCEN15_SHIFT) /* --- SCT_CONFLAG --------------------------------------- */ #define SCT_CONFLAG MMIO32(SCT_BASE + 0xFC) /* -- SCT_CONFLAG_NCFLAG0: Bit n is one if a no-change conflict event occurred * on output n since reset or a 1 was last written to this bit (output 0 = bit * 0, output 1 = bit 1,..., output 15 = bit 15). */ #define SCT_CONFLAG_NCFLAG0_SHIFT (0) #define SCT_CONFLAG_NCFLAG0_MASK (0x01 << SCT_CONFLAG_NCFLAG0_SHIFT) #define SCT_CONFLAG_NCFLAG0(x) ((x) << SCT_CONFLAG_NCFLAG0_SHIFT) /* -- SCT_CONFLAG_NCFLAG1: Bit n is one if a no-change conflict event occurred * on output n since reset or a 1 was last written to this bit (output 0 = bit * 0, output 1 = bit 1,..., output 15 = bit 15). */ #define SCT_CONFLAG_NCFLAG1_SHIFT (1) #define SCT_CONFLAG_NCFLAG1_MASK (0x01 << SCT_CONFLAG_NCFLAG1_SHIFT) #define SCT_CONFLAG_NCFLAG1(x) ((x) << SCT_CONFLAG_NCFLAG1_SHIFT) /* -- SCT_CONFLAG_NCFLAG2: Bit n is one if a no-change conflict event occurred * on output n since reset or a 1 was last written to this bit (output 0 = bit * 0, output 1 = bit 1,..., output 15 = bit 15). */ #define SCT_CONFLAG_NCFLAG2_SHIFT (2) #define SCT_CONFLAG_NCFLAG2_MASK (0x01 << SCT_CONFLAG_NCFLAG2_SHIFT) #define SCT_CONFLAG_NCFLAG2(x) ((x) << SCT_CONFLAG_NCFLAG2_SHIFT) /* -- SCT_CONFLAG_NCFLAG3: Bit n is one if a no-change conflict event occurred * on output n since reset or a 1 was last written to this bit (output 0 = bit * 0, output 1 = bit 1,..., output 15 = bit 15). */ #define SCT_CONFLAG_NCFLAG3_SHIFT (3) #define SCT_CONFLAG_NCFLAG3_MASK (0x01 << SCT_CONFLAG_NCFLAG3_SHIFT) #define SCT_CONFLAG_NCFLAG3(x) ((x) << SCT_CONFLAG_NCFLAG3_SHIFT) /* -- SCT_CONFLAG_NCFLAG4: Bit n is one if a no-change conflict event occurred * on output n since reset or a 1 was last written to this bit (output 0 = bit * 0, output 1 = bit 1,..., output 15 = bit 15). */ #define SCT_CONFLAG_NCFLAG4_SHIFT (4) #define SCT_CONFLAG_NCFLAG4_MASK (0x01 << SCT_CONFLAG_NCFLAG4_SHIFT) #define SCT_CONFLAG_NCFLAG4(x) ((x) << SCT_CONFLAG_NCFLAG4_SHIFT) /* -- SCT_CONFLAG_NCFLAG5: Bit n is one if a no-change conflict event occurred * on output n since reset or a 1 was last written to this bit (output 0 = bit * 0, output 1 = bit 1,..., output 15 = bit 15). */ #define SCT_CONFLAG_NCFLAG5_SHIFT (5) #define SCT_CONFLAG_NCFLAG5_MASK (0x01 << SCT_CONFLAG_NCFLAG5_SHIFT) #define SCT_CONFLAG_NCFLAG5(x) ((x) << SCT_CONFLAG_NCFLAG5_SHIFT) /* -- SCT_CONFLAG_NCFLAG6: Bit n is one if a no-change conflict event occurred * on output n since reset or a 1 was last written to this bit (output 0 = bit * 0, output 1 = bit 1,..., output 15 = bit 15). */ #define SCT_CONFLAG_NCFLAG6_SHIFT (6) #define SCT_CONFLAG_NCFLAG6_MASK (0x01 << SCT_CONFLAG_NCFLAG6_SHIFT) #define SCT_CONFLAG_NCFLAG6(x) ((x) << SCT_CONFLAG_NCFLAG6_SHIFT) /* -- SCT_CONFLAG_NCFLAG7: Bit n is one if a no-change conflict event occurred * on output n since reset or a 1 was last written to this bit (output 0 = bit * 0, output 1 = bit 1,..., output 15 = bit 15). */ #define SCT_CONFLAG_NCFLAG7_SHIFT (7) #define SCT_CONFLAG_NCFLAG7_MASK (0x01 << SCT_CONFLAG_NCFLAG7_SHIFT) #define SCT_CONFLAG_NCFLAG7(x) ((x) << SCT_CONFLAG_NCFLAG7_SHIFT) /* -- SCT_CONFLAG_NCFLAG8: Bit n is one if a no-change conflict event occurred * on output n since reset or a 1 was last written to this bit (output 0 = bit * 0, output 1 = bit 1,..., output 15 = bit 15). */ #define SCT_CONFLAG_NCFLAG8_SHIFT (8) #define SCT_CONFLAG_NCFLAG8_MASK (0x01 << SCT_CONFLAG_NCFLAG8_SHIFT) #define SCT_CONFLAG_NCFLAG8(x) ((x) << SCT_CONFLAG_NCFLAG8_SHIFT) /* -- SCT_CONFLAG_NCFLAG9: Bit n is one if a no-change conflict event occurred * on output n since reset or a 1 was last written to this bit (output 0 = bit * 0, output 1 = bit 1,..., output 15 = bit 15). */ #define SCT_CONFLAG_NCFLAG9_SHIFT (9) #define SCT_CONFLAG_NCFLAG9_MASK (0x01 << SCT_CONFLAG_NCFLAG9_SHIFT) #define SCT_CONFLAG_NCFLAG9(x) ((x) << SCT_CONFLAG_NCFLAG9_SHIFT) /* -- SCT_CONFLAG_NCFLAG10: Bit n is one if a no-change conflict event occurred * on output n since reset or a 1 was last written to this bit (output 0 = bit * 0, output 1 = bit 1,..., output 15 = bit 15). */ #define SCT_CONFLAG_NCFLAG10_SHIFT (10) #define SCT_CONFLAG_NCFLAG10_MASK (0x01 << SCT_CONFLAG_NCFLAG10_SHIFT) #define SCT_CONFLAG_NCFLAG10(x) ((x) << SCT_CONFLAG_NCFLAG10_SHIFT) /* -- SCT_CONFLAG_NCFLAG11: Bit n is one if a no-change conflict event occurred * on output n since reset or a 1 was last written to this bit (output 0 = bit * 0, output 1 = bit 1,..., output 15 = bit 15). */ #define SCT_CONFLAG_NCFLAG11_SHIFT (11) #define SCT_CONFLAG_NCFLAG11_MASK (0x01 << SCT_CONFLAG_NCFLAG11_SHIFT) #define SCT_CONFLAG_NCFLAG11(x) ((x) << SCT_CONFLAG_NCFLAG11_SHIFT) /* -- SCT_CONFLAG_NCFLAG12: Bit n is one if a no-change conflict event occurred * on output n since reset or a 1 was last written to this bit (output 0 = bit * 0, output 1 = bit 1,..., output 15 = bit 15). */ #define SCT_CONFLAG_NCFLAG12_SHIFT (12) #define SCT_CONFLAG_NCFLAG12_MASK (0x01 << SCT_CONFLAG_NCFLAG12_SHIFT) #define SCT_CONFLAG_NCFLAG12(x) ((x) << SCT_CONFLAG_NCFLAG12_SHIFT) /* -- SCT_CONFLAG_NCFLAG13: Bit n is one if a no-change conflict event occurred * on output n since reset or a 1 was last written to this bit (output 0 = bit * 0, output 1 = bit 1,..., output 15 = bit 15). */ #define SCT_CONFLAG_NCFLAG13_SHIFT (13) #define SCT_CONFLAG_NCFLAG13_MASK (0x01 << SCT_CONFLAG_NCFLAG13_SHIFT) #define SCT_CONFLAG_NCFLAG13(x) ((x) << SCT_CONFLAG_NCFLAG13_SHIFT) /* -- SCT_CONFLAG_NCFLAG14: Bit n is one if a no-change conflict event occurred * on output n since reset or a 1 was last written to this bit (output 0 = bit * 0, output 1 = bit 1,..., output 15 = bit 15). */ #define SCT_CONFLAG_NCFLAG14_SHIFT (14) #define SCT_CONFLAG_NCFLAG14_MASK (0x01 << SCT_CONFLAG_NCFLAG14_SHIFT) #define SCT_CONFLAG_NCFLAG14(x) ((x) << SCT_CONFLAG_NCFLAG14_SHIFT) /* -- SCT_CONFLAG_NCFLAG15: Bit n is one if a no-change conflict event occurred * on output n since reset or a 1 was last written to this bit (output 0 = bit * 0, output 1 = bit 1,..., output 15 = bit 15). */ #define SCT_CONFLAG_NCFLAG15_SHIFT (15) #define SCT_CONFLAG_NCFLAG15_MASK (0x01 << SCT_CONFLAG_NCFLAG15_SHIFT) #define SCT_CONFLAG_NCFLAG15(x) ((x) << SCT_CONFLAG_NCFLAG15_SHIFT) /* -- SCT_CONFLAG_BUSERRL: The most recent bus error from this SCT involved * writing CTR L/Unified, STATE L/Unified, MATCH L/Unified, or the Output * register when the L/U counter was not halted. A word write to certain L and * H registers can be half successful and half unsuccessful. */ #define SCT_CONFLAG_BUSERRL_SHIFT (30) #define SCT_CONFLAG_BUSERRL_MASK (0x01 << SCT_CONFLAG_BUSERRL_SHIFT) #define SCT_CONFLAG_BUSERRL(x) ((x) << SCT_CONFLAG_BUSERRL_SHIFT) /* -- SCT_CONFLAG_BUSERRH: The most recent bus error from this SCT involved * writing CTR H, STATE H, MATCH H, or the Output register when the H counter * was not halted. */ #define SCT_CONFLAG_BUSERRH_SHIFT (31) #define SCT_CONFLAG_BUSERRH_MASK (0x01 << SCT_CONFLAG_BUSERRH_SHIFT) #define SCT_CONFLAG_BUSERRH(x) ((x) << SCT_CONFLAG_BUSERRH_SHIFT) /* --- SCT_MATCHn ---------------------------------------- */ #define SCT_MATCHn(n) MMIO32(SCT_BASE + 0x100 + (n * 4)) /* -- SCT_MATCHn_MATCH_L: When UNIFY = 0, read or write the 16-bit value to be * compared to the L counter. When UNIFY = 1, read or write the lower 16 bits of * the 32-bit value to be compared to the unified counter. */ #define SCT_MATCHn_MATCH_L_SHIFT (0) #define SCT_MATCHn_MATCH_L_MASK (0xFFFF << SCT_MATCHn_MATCH_L_SHIFT) #define SCT_MATCHn_MATCH_L(x) ((x) << SCT_MATCHn_MATCH_L_SHIFT) /* -- SCT_MATCHn_MATCH_H: When UNIFY = 0, read or write the 16-bit value to be * compared to the H counter. When UNIFY = 1, read or write the upper 16 bits of * the 32-bit value to be compared to the unified counter. */ #define SCT_MATCHn_MATCH_H_SHIFT (16) #define SCT_MATCHn_MATCH_H_MASK (0xFFFF << SCT_MATCHn_MATCH_H_SHIFT) #define SCT_MATCHn_MATCH_H(x) ((x) << SCT_MATCHn_MATCH_H_SHIFT) /* --- SCT_FRACMAT0 -------------------------------------- */ #define SCT_FRACMAT0 MMIO32(SCT_BASE + 0x140) /* --- SCT_FRACMAT1 -------------------------------------- */ #define SCT_FRACMAT1 MMIO32(SCT_BASE + 0x144) /* --- SCT_FRACMAT2 -------------------------------------- */ #define SCT_FRACMAT2 MMIO32(SCT_BASE + 0x148) /* --- SCT_FRACMAT3 -------------------------------------- */ #define SCT_FRACMAT3 MMIO32(SCT_BASE + 0x14C) /* --- SCT_FRACMAT4 -------------------------------------- */ #define SCT_FRACMAT4 MMIO32(SCT_BASE + 0x150) /* --- SCT_FRACMAT5 -------------------------------------- */ #define SCT_FRACMAT5 MMIO32(SCT_BASE + 0x154) /* -- SCT_FRACMATn_FRACMAT_L: When UNIFY = 0, read or write the 4-bit value * specifying the dither pattern to be applied to the corresponding MATCHn_L * register (n = 0 to 5). When UNIFY = 1, the value applies to the unified, * 32-bit fractional match register. */ #define SCT_FRACMATn_FRACMAT_L_SHIFT (0) #define SCT_FRACMATn_FRACMAT_L_MASK (0x0F << SCT_FRACMATn_FRACMAT_L_SHIFT) #define SCT_FRACMATn_FRACMAT_L(x) ((x) << SCT_FRACMATn_FRACMAT_L_SHIFT) /* -- SCT_FRACMATn_FRACMAT_H: When UNIFY = 0, read or write 4-bit value * specifying the dither pattern to be applied to the corresponding MATCHn_H * register (n = 0 to 5). */ #define SCT_FRACMATn_FRACMAT_H_SHIFT (16) #define SCT_FRACMATn_FRACMAT_H_MASK (0x0F << SCT_FRACMATn_FRACMAT_H_SHIFT) #define SCT_FRACMATn_FRACMAT_H(x) ((x) << SCT_FRACMATn_FRACMAT_H_SHIFT) /* --- SCT_CAP0 ------------------------------------------ */ #define SCT_CAP0 MMIO32(SCT_BASE + 0x100) /* --- SCT_CAP1 ------------------------------------------ */ #define SCT_CAP1 MMIO32(SCT_BASE + 0x104) /* --- SCT_CAP2 ------------------------------------------ */ #define SCT_CAP2 MMIO32(SCT_BASE + 0x108) /* --- SCT_CAP3 ------------------------------------------ */ #define SCT_CAP3 MMIO32(SCT_BASE + 0x10C) /* --- SCT_CAP4 ------------------------------------------ */ #define SCT_CAP4 MMIO32(SCT_BASE + 0x110) /* --- SCT_CAP5 ------------------------------------------ */ #define SCT_CAP5 MMIO32(SCT_BASE + 0x114) /* --- SCT_CAP6 ------------------------------------------ */ #define SCT_CAP6 MMIO32(SCT_BASE + 0x118) /* --- SCT_CAP7 ------------------------------------------ */ #define SCT_CAP7 MMIO32(SCT_BASE + 0x11C) /* --- SCT_CAP8 ------------------------------------------ */ #define SCT_CAP8 MMIO32(SCT_BASE + 0x120) /* --- SCT_CAP9 ------------------------------------------ */ #define SCT_CAP9 MMIO32(SCT_BASE + 0x124) /* --- SCT_CAP10 ----------------------------------------- */ #define SCT_CAP10 MMIO32(SCT_BASE + 0x128) /* --- SCT_CAP11 ----------------------------------------- */ #define SCT_CAP11 MMIO32(SCT_BASE + 0x12C) /* --- SCT_CAP12 ----------------------------------------- */ #define SCT_CAP12 MMIO32(SCT_BASE + 0x130) /* --- SCT_CAP13 ----------------------------------------- */ #define SCT_CAP13 MMIO32(SCT_BASE + 0x134) /* --- SCT_CAP14 ----------------------------------------- */ #define SCT_CAP14 MMIO32(SCT_BASE + 0x138) /* --- SCT_CAP15 ----------------------------------------- */ #define SCT_CAP15 MMIO32(SCT_BASE + 0x13C) /* -- SCT_CAPn_CAP_L: When UNIFY = 0, read the 16-bit counter value at which * this register was last captured. When UNIFY = 1, read the lower 16 bits of * the 32-bit value at which this register was last captured. */ #define SCT_CAPn_CAP_L_SHIFT (0) #define SCT_CAPn_CAP_L_MASK (0xFFFF << SCT_CAPn_CAP_L_SHIFT) #define SCT_CAPn_CAP_L(x) ((x) << SCT_CAPn_CAP_L_SHIFT) /* -- SCT_CAPn_CAP_H: When UNIFY = 0, read the 16-bit counter value at which * this register was last captured. When UNIFY = 1, read the upper 16 bits of * the 32-bit value at which this register was last captured. */ #define SCT_CAPn_CAP_H_SHIFT (16) #define SCT_CAPn_CAP_H_MASK (0xFFFF << SCT_CAPn_CAP_H_SHIFT) #define SCT_CAPn_CAP_H(x) ((x) << SCT_CAPn_CAP_H_SHIFT) /* --- SCT_MATCHRELn ------------------------------------- */ #define SCT_MATCHRELn(n) MMIO32(SCT_BASE + 0x200 + (n * 4)) /* -- SCT_MATCHRELn_RELOAD_L: When UNIFY = 0, read or write the 16-bit value to * be loaded into the MATCHn_L register. When UNIFY = 1, read or write the lower * 16 bits of the 32-bit value to be loaded into the MATCHn register. */ #define SCT_MATCHRELn_RELOAD_L_SHIFT (0) #define SCT_MATCHRELn_RELOAD_L_MASK (0xFFFF << SCT_MATCHRELn_RELOAD_L_SHIFT) #define SCT_MATCHRELn_RELOAD_L(x) ((x) << SCT_MATCHRELn_RELOAD_L_SHIFT) /* -- SCT_MATCHRELn_RELOAD_H: When UNIFY = 0, read or write the 16-bit to be * loaded into the MATCHn_H register. When UNIFY = 1, read or write the upper 16 * bits of the 32-bit value to be loaded into the MATCHn register. */ #define SCT_MATCHRELn_RELOAD_H_SHIFT (16) #define SCT_MATCHRELn_RELOAD_H_MASK (0xFFFF << SCT_MATCHRELn_RELOAD_H_SHIFT) #define SCT_MATCHRELn_RELOAD_H(x) ((x) << SCT_MATCHRELn_RELOAD_H_SHIFT) /* --- SCT_FRACMATREL0 ----------------------------------- */ #define SCT_FRACMATREL0 MMIO32(SCT_BASE + 0x240) /* --- SCT_FRACMATREL1 ----------------------------------- */ #define SCT_FRACMATREL1 MMIO32(SCT_BASE + 0x244) /* --- SCT_FRACMATREL2 ----------------------------------- */ #define SCT_FRACMATREL2 MMIO32(SCT_BASE + 0x248) /* --- SCT_FRACMATREL3 ----------------------------------- */ #define SCT_FRACMATREL3 MMIO32(SCT_BASE + 0x24C) /* --- SCT_FRACMATREL4 ----------------------------------- */ #define SCT_FRACMATREL4 MMIO32(SCT_BASE + 0x250) /* --- SCT_FRACMATREL5 ----------------------------------- */ #define SCT_FRACMATREL5 MMIO32(SCT_BASE + 0x254) /* -- SCT_FRACMATRELn_RELFRAC_L: When UNIFY = 0, read or write the 4-bit value * to be loaded into the FRACMATn_L register. When UNIFY = 1, read or write the * lower 4 bits to be loaded into the FRACMATn register. */ #define SCT_FRACMATRELn_RELFRAC_L_SHIFT (0) #define SCT_FRACMATRELn_RELFRAC_L_MASK (0x0F << SCT_FRACMATRELn_RELFRAC_L_SHIFT) #define SCT_FRACMATRELn_RELFRAC_L(x) ((x) << SCT_FRACMATRELn_RELFRAC_L_SHIFT) /* -- SCT_FRACMATRELn_RELFRAC_H: When UNIFY = 0, read or write the 4-bit value * to be loaded into the FRACMATn_H register. When UNIFY = 1, read or write the * upper 4 bits with the 4-bit value to be loaded into the FRACMATn register. */ #define SCT_FRACMATRELn_RELFRAC_H_SHIFT (16) #define SCT_FRACMATRELn_RELFRAC_H_MASK (0x0F << SCT_FRACMATRELn_RELFRAC_H_SHIFT) #define SCT_FRACMATRELn_RELFRAC_H(x) ((x) << SCT_FRACMATRELn_RELFRAC_H_SHIFT) /* --- SCT_CAPCTRL0 -------------------------------------- */ #define SCT_CAPCTRL0 MMIO32(SCT_BASE + 0x200) /* --- SCT_CAPCTRL1 -------------------------------------- */ #define SCT_CAPCTRL1 MMIO32(SCT_BASE + 0x204) /* --- SCT_CAPCTRL2 -------------------------------------- */ #define SCT_CAPCTRL2 MMIO32(SCT_BASE + 0x208) /* --- SCT_CAPCTRL3 -------------------------------------- */ #define SCT_CAPCTRL3 MMIO32(SCT_BASE + 0x20C) /* --- SCT_CAPCTRL4 -------------------------------------- */ #define SCT_CAPCTRL4 MMIO32(SCT_BASE + 0x210) /* --- SCT_CAPCTRL5 -------------------------------------- */ #define SCT_CAPCTRL5 MMIO32(SCT_BASE + 0x214) /* --- SCT_CAPCTRL6 -------------------------------------- */ #define SCT_CAPCTRL6 MMIO32(SCT_BASE + 0x218) /* --- SCT_CAPCTRL7 -------------------------------------- */ #define SCT_CAPCTRL7 MMIO32(SCT_BASE + 0x21C) /* --- SCT_CAPCTRL8 -------------------------------------- */ #define SCT_CAPCTRL8 MMIO32(SCT_BASE + 0x220) /* --- SCT_CAPCTRL9 -------------------------------------- */ #define SCT_CAPCTRL9 MMIO32(SCT_BASE + 0x224) /* --- SCT_CAPCTRL10 ------------------------------------- */ #define SCT_CAPCTRL10 MMIO32(SCT_BASE + 0x228) /* --- SCT_CAPCTRL11 ------------------------------------- */ #define SCT_CAPCTRL11 MMIO32(SCT_BASE + 0x22C) /* --- SCT_CAPCTRL12 ------------------------------------- */ #define SCT_CAPCTRL12 MMIO32(SCT_BASE + 0x230) /* --- SCT_CAPCTRL13 ------------------------------------- */ #define SCT_CAPCTRL13 MMIO32(SCT_BASE + 0x234) /* --- SCT_CAPCTRL14 ------------------------------------- */ #define SCT_CAPCTRL14 MMIO32(SCT_BASE + 0x238) /* --- SCT_CAPCTRL15 ------------------------------------- */ #define SCT_CAPCTRL15 MMIO32(SCT_BASE + 0x23C) /* -- SCT_CAPCTRLn_CAPCON_L: If bit m is one, event m causes the CAPn_L (UNIFY = * 0) or the CAPn (UNIFY = 1) register to be loaded (event 0 = bit 0, event 1 = * bit 1,..., event 15 = bit 15). */ #define SCT_CAPCTRLn_CAPCON_L_SHIFT (0) #define SCT_CAPCTRLn_CAPCON_L_MASK (0xFFFF << SCT_CAPCTRLn_CAPCON_L_SHIFT) #define SCT_CAPCTRLn_CAPCON_L(x) ((x) << SCT_CAPCTRLn_CAPCON_L_SHIFT) /* -- SCT_CAPCTRLn_CAPCON_H: If bit m is one, event m causes the CAPn_H (UNIFY = * 0) register to be loaded (event 0 = bit 16, event 1 = bit 17,..., event 15 = * bit 31). */ #define SCT_CAPCTRLn_CAPCON_H_SHIFT (16) #define SCT_CAPCTRLn_CAPCON_H_MASK (0xFFFF << SCT_CAPCTRLn_CAPCON_H_SHIFT) #define SCT_CAPCTRLn_CAPCON_H(x) ((x) << SCT_CAPCTRLn_CAPCON_H_SHIFT) /* --- SCT_EVn_STATE ------------------------------------- */ #define SCT_EVn_STATE(n) MMIO32(SCT_BASE + 0x300 + (n * 8)) /* -- SCT_EVn_STATE_STATEMSK0: If bit m is one, event n (n= 0 to 15) happens in * state m of the counter selected by the HEVENT bit (m = state number; state 0 * = bit 0, state 1= bit 1,..., state 31 = bit 31). */ #define SCT_EVn_STATE_STATEMSK0_SHIFT (0) #define SCT_EVn_STATE_STATEMSK0_MASK (0x01 << SCT_EVn_STATE_STATEMSK0_SHIFT) #define SCT_EVn_STATE_STATEMSK0(x) ((x) << SCT_EVn_STATE_STATEMSK0_SHIFT) /* -- SCT_EVn_STATE_STATEMSK1: If bit m is one, event n (n= 0 to 15) happens in * state m of the counter selected by the HEVENT bit (m = state number; state 0 * = bit 0, state 1= bit 1,..., state 31 = bit 31). */ #define SCT_EVn_STATE_STATEMSK1_SHIFT (1) #define SCT_EVn_STATE_STATEMSK1_MASK (0x01 << SCT_EVn_STATE_STATEMSK1_SHIFT) #define SCT_EVn_STATE_STATEMSK1(x) ((x) << SCT_EVn_STATE_STATEMSK1_SHIFT) /* -- SCT_EVn_STATE_STATEMSK2: If bit m is one, event n (n= 0 to 15) happens in * state m of the counter selected by the HEVENT bit (m = state number; state 0 * = bit 0, state 1= bit 1,..., state 31 = bit 31). */ #define SCT_EVn_STATE_STATEMSK2_SHIFT (2) #define SCT_EVn_STATE_STATEMSK2_MASK (0x01 << SCT_EVn_STATE_STATEMSK2_SHIFT) #define SCT_EVn_STATE_STATEMSK2(x) ((x) << SCT_EVn_STATE_STATEMSK2_SHIFT) /* -- SCT_EVn_STATE_STATEMSK3: If bit m is one, event n (n= 0 to 15) happens in * state m of the counter selected by the HEVENT bit (m = state number; state 0 * = bit 0, state 1= bit 1,..., state 31 = bit 31). */ #define SCT_EVn_STATE_STATEMSK3_SHIFT (3) #define SCT_EVn_STATE_STATEMSK3_MASK (0x01 << SCT_EVn_STATE_STATEMSK3_SHIFT) #define SCT_EVn_STATE_STATEMSK3(x) ((x) << SCT_EVn_STATE_STATEMSK3_SHIFT) /* -- SCT_EVn_STATE_STATEMSK4: If bit m is one, event n (n= 0 to 15) happens in * state m of the counter selected by the HEVENT bit (m = state number; state 0 * = bit 0, state 1= bit 1,..., state 31 = bit 31). */ #define SCT_EVn_STATE_STATEMSK4_SHIFT (4) #define SCT_EVn_STATE_STATEMSK4_MASK (0x01 << SCT_EVn_STATE_STATEMSK4_SHIFT) #define SCT_EVn_STATE_STATEMSK4(x) ((x) << SCT_EVn_STATE_STATEMSK4_SHIFT) /* -- SCT_EVn_STATE_STATEMSK5: If bit m is one, event n (n= 0 to 15) happens in * state m of the counter selected by the HEVENT bit (m = state number; state 0 * = bit 0, state 1= bit 1,..., state 31 = bit 31). */ #define SCT_EVn_STATE_STATEMSK5_SHIFT (5) #define SCT_EVn_STATE_STATEMSK5_MASK (0x01 << SCT_EVn_STATE_STATEMSK5_SHIFT) #define SCT_EVn_STATE_STATEMSK5(x) ((x) << SCT_EVn_STATE_STATEMSK5_SHIFT) /* -- SCT_EVn_STATE_STATEMSK6: If bit m is one, event n (n= 0 to 15) happens in * state m of the counter selected by the HEVENT bit (m = state number; state 0 * = bit 0, state 1= bit 1,..., state 31 = bit 31). */ #define SCT_EVn_STATE_STATEMSK6_SHIFT (6) #define SCT_EVn_STATE_STATEMSK6_MASK (0x01 << SCT_EVn_STATE_STATEMSK6_SHIFT) #define SCT_EVn_STATE_STATEMSK6(x) ((x) << SCT_EVn_STATE_STATEMSK6_SHIFT) /* -- SCT_EVn_STATE_STATEMSK7: If bit m is one, event n (n= 0 to 15) happens in * state m of the counter selected by the HEVENT bit (m = state number; state 0 * = bit 0, state 1= bit 1,..., state 31 = bit 31). */ #define SCT_EVn_STATE_STATEMSK7_SHIFT (7) #define SCT_EVn_STATE_STATEMSK7_MASK (0x01 << SCT_EVn_STATE_STATEMSK7_SHIFT) #define SCT_EVn_STATE_STATEMSK7(x) ((x) << SCT_EVn_STATE_STATEMSK7_SHIFT) /* -- SCT_EVn_STATE_STATEMSK8: If bit m is one, event n (n= 0 to 15) happens in * state m of the counter selected by the HEVENT bit (m = state number; state 0 * = bit 0, state 1= bit 1,..., state 31 = bit 31). */ #define SCT_EVn_STATE_STATEMSK8_SHIFT (8) #define SCT_EVn_STATE_STATEMSK8_MASK (0x01 << SCT_EVn_STATE_STATEMSK8_SHIFT) #define SCT_EVn_STATE_STATEMSK8(x) ((x) << SCT_EVn_STATE_STATEMSK8_SHIFT) /* -- SCT_EVn_STATE_STATEMSK9: If bit m is one, event n (n= 0 to 15) happens in * state m of the counter selected by the HEVENT bit (m = state number; state 0 * = bit 0, state 1= bit 1,..., state 31 = bit 31). */ #define SCT_EVn_STATE_STATEMSK9_SHIFT (9) #define SCT_EVn_STATE_STATEMSK9_MASK (0x01 << SCT_EVn_STATE_STATEMSK9_SHIFT) #define SCT_EVn_STATE_STATEMSK9(x) ((x) << SCT_EVn_STATE_STATEMSK9_SHIFT) /* -- SCT_EVn_STATE_STATEMSK10: If bit m is one, event n (n= 0 to 15) happens in * state m of the counter selected by the HEVENT bit (m = state number; state 0 * = bit 0, state 1= bit 1,..., state 31 = bit 31). */ #define SCT_EVn_STATE_STATEMSK10_SHIFT (10) #define SCT_EVn_STATE_STATEMSK10_MASK (0x01 << SCT_EVn_STATE_STATEMSK10_SHIFT) #define SCT_EVn_STATE_STATEMSK10(x) ((x) << SCT_EVn_STATE_STATEMSK10_SHIFT) /* -- SCT_EVn_STATE_STATEMSK11: If bit m is one, event n (n= 0 to 15) happens in * state m of the counter selected by the HEVENT bit (m = state number; state 0 * = bit 0, state 1= bit 1,..., state 31 = bit 31). */ #define SCT_EVn_STATE_STATEMSK11_SHIFT (11) #define SCT_EVn_STATE_STATEMSK11_MASK (0x01 << SCT_EVn_STATE_STATEMSK11_SHIFT) #define SCT_EVn_STATE_STATEMSK11(x) ((x) << SCT_EVn_STATE_STATEMSK11_SHIFT) /* -- SCT_EVn_STATE_STATEMSK12: If bit m is one, event n (n= 0 to 15) happens in * state m of the counter selected by the HEVENT bit (m = state number; state 0 * = bit 0, state 1= bit 1,..., state 31 = bit 31). */ #define SCT_EVn_STATE_STATEMSK12_SHIFT (12) #define SCT_EVn_STATE_STATEMSK12_MASK (0x01 << SCT_EVn_STATE_STATEMSK12_SHIFT) #define SCT_EVn_STATE_STATEMSK12(x) ((x) << SCT_EVn_STATE_STATEMSK12_SHIFT) /* -- SCT_EVn_STATE_STATEMSK13: If bit m is one, event n (n= 0 to 15) happens in * state m of the counter selected by the HEVENT bit (m = state number; state 0 * = bit 0, state 1= bit 1,..., state 31 = bit 31). */ #define SCT_EVn_STATE_STATEMSK13_SHIFT (13) #define SCT_EVn_STATE_STATEMSK13_MASK (0x01 << SCT_EVn_STATE_STATEMSK13_SHIFT) #define SCT_EVn_STATE_STATEMSK13(x) ((x) << SCT_EVn_STATE_STATEMSK13_SHIFT) /* -- SCT_EVn_STATE_STATEMSK14: If bit m is one, event n (n= 0 to 15) happens in * state m of the counter selected by the HEVENT bit (m = state number; state 0 * = bit 0, state 1= bit 1,..., state 31 = bit 31). */ #define SCT_EVn_STATE_STATEMSK14_SHIFT (14) #define SCT_EVn_STATE_STATEMSK14_MASK (0x01 << SCT_EVn_STATE_STATEMSK14_SHIFT) #define SCT_EVn_STATE_STATEMSK14(x) ((x) << SCT_EVn_STATE_STATEMSK14_SHIFT) /* -- SCT_EVn_STATE_STATEMSK15: If bit m is one, event n (n= 0 to 15) happens in * state m of the counter selected by the HEVENT bit (m = state number; state 0 * = bit 0, state 1= bit 1,..., state 31 = bit 31). */ #define SCT_EVn_STATE_STATEMSK15_SHIFT (15) #define SCT_EVn_STATE_STATEMSK15_MASK (0x01 << SCT_EVn_STATE_STATEMSK15_SHIFT) #define SCT_EVn_STATE_STATEMSK15(x) ((x) << SCT_EVn_STATE_STATEMSK15_SHIFT) /* -- SCT_EVn_STATE_STATEMSK16: If bit m is one, event n (n= 0 to 15) happens in * state m of the counter selected by the HEVENT bit (m = state number; state 0 * = bit 0, state 1= bit 1,..., state 31 = bit 31). */ #define SCT_EVn_STATE_STATEMSK16_SHIFT (16) #define SCT_EVn_STATE_STATEMSK16_MASK (0x01 << SCT_EVn_STATE_STATEMSK16_SHIFT) #define SCT_EVn_STATE_STATEMSK16(x) ((x) << SCT_EVn_STATE_STATEMSK16_SHIFT) /* -- SCT_EVn_STATE_STATEMSK17: If bit m is one, event n (n= 0 to 15) happens in * state m of the counter selected by the HEVENT bit (m = state number; state 0 * = bit 0, state 1= bit 1,..., state 31 = bit 31). */ #define SCT_EVn_STATE_STATEMSK17_SHIFT (17) #define SCT_EVn_STATE_STATEMSK17_MASK (0x01 << SCT_EVn_STATE_STATEMSK17_SHIFT) #define SCT_EVn_STATE_STATEMSK17(x) ((x) << SCT_EVn_STATE_STATEMSK17_SHIFT) /* -- SCT_EVn_STATE_STATEMSK18: If bit m is one, event n (n= 0 to 15) happens in * state m of the counter selected by the HEVENT bit (m = state number; state 0 * = bit 0, state 1= bit 1,..., state 31 = bit 31). */ #define SCT_EVn_STATE_STATEMSK18_SHIFT (18) #define SCT_EVn_STATE_STATEMSK18_MASK (0x01 << SCT_EVn_STATE_STATEMSK18_SHIFT) #define SCT_EVn_STATE_STATEMSK18(x) ((x) << SCT_EVn_STATE_STATEMSK18_SHIFT) /* -- SCT_EVn_STATE_STATEMSK19: If bit m is one, event n (n= 0 to 15) happens in * state m of the counter selected by the HEVENT bit (m = state number; state 0 * = bit 0, state 1= bit 1,..., state 31 = bit 31). */ #define SCT_EVn_STATE_STATEMSK19_SHIFT (19) #define SCT_EVn_STATE_STATEMSK19_MASK (0x01 << SCT_EVn_STATE_STATEMSK19_SHIFT) #define SCT_EVn_STATE_STATEMSK19(x) ((x) << SCT_EVn_STATE_STATEMSK19_SHIFT) /* -- SCT_EVn_STATE_STATEMSK20: If bit m is one, event n (n= 0 to 15) happens in * state m of the counter selected by the HEVENT bit (m = state number; state 0 * = bit 0, state 1= bit 1,..., state 31 = bit 31). */ #define SCT_EVn_STATE_STATEMSK20_SHIFT (20) #define SCT_EVn_STATE_STATEMSK20_MASK (0x01 << SCT_EVn_STATE_STATEMSK20_SHIFT) #define SCT_EVn_STATE_STATEMSK20(x) ((x) << SCT_EVn_STATE_STATEMSK20_SHIFT) /* -- SCT_EVn_STATE_STATEMSK21: If bit m is one, event n (n= 0 to 15) happens in * state m of the counter selected by the HEVENT bit (m = state number; state 0 * = bit 0, state 1= bit 1,..., state 31 = bit 31). */ #define SCT_EVn_STATE_STATEMSK21_SHIFT (21) #define SCT_EVn_STATE_STATEMSK21_MASK (0x01 << SCT_EVn_STATE_STATEMSK21_SHIFT) #define SCT_EVn_STATE_STATEMSK21(x) ((x) << SCT_EVn_STATE_STATEMSK21_SHIFT) /* -- SCT_EVn_STATE_STATEMSK22: If bit m is one, event n (n= 0 to 15) happens in * state m of the counter selected by the HEVENT bit (m = state number; state 0 * = bit 0, state 1= bit 1,..., state 31 = bit 31). */ #define SCT_EVn_STATE_STATEMSK22_SHIFT (22) #define SCT_EVn_STATE_STATEMSK22_MASK (0x01 << SCT_EVn_STATE_STATEMSK22_SHIFT) #define SCT_EVn_STATE_STATEMSK22(x) ((x) << SCT_EVn_STATE_STATEMSK22_SHIFT) /* -- SCT_EVn_STATE_STATEMSK23: If bit m is one, event n (n= 0 to 15) happens in * state m of the counter selected by the HEVENT bit (m = state number; state 0 * = bit 0, state 1= bit 1,..., state 31 = bit 31). */ #define SCT_EVn_STATE_STATEMSK23_SHIFT (23) #define SCT_EVn_STATE_STATEMSK23_MASK (0x01 << SCT_EVn_STATE_STATEMSK23_SHIFT) #define SCT_EVn_STATE_STATEMSK23(x) ((x) << SCT_EVn_STATE_STATEMSK23_SHIFT) /* -- SCT_EVn_STATE_STATEMSK24: If bit m is one, event n (n= 0 to 15) happens in * state m of the counter selected by the HEVENT bit (m = state number; state 0 * = bit 0, state 1= bit 1,..., state 31 = bit 31). */ #define SCT_EVn_STATE_STATEMSK24_SHIFT (24) #define SCT_EVn_STATE_STATEMSK24_MASK (0x01 << SCT_EVn_STATE_STATEMSK24_SHIFT) #define SCT_EVn_STATE_STATEMSK24(x) ((x) << SCT_EVn_STATE_STATEMSK24_SHIFT) /* -- SCT_EVn_STATE_STATEMSK25: If bit m is one, event n (n= 0 to 15) happens in * state m of the counter selected by the HEVENT bit (m = state number; state 0 * = bit 0, state 1= bit 1,..., state 31 = bit 31). */ #define SCT_EVn_STATE_STATEMSK25_SHIFT (25) #define SCT_EVn_STATE_STATEMSK25_MASK (0x01 << SCT_EVn_STATE_STATEMSK25_SHIFT) #define SCT_EVn_STATE_STATEMSK25(x) ((x) << SCT_EVn_STATE_STATEMSK25_SHIFT) /* -- SCT_EVn_STATE_STATEMSK26: If bit m is one, event n (n= 0 to 15) happens in * state m of the counter selected by the HEVENT bit (m = state number; state 0 * = bit 0, state 1= bit 1,..., state 31 = bit 31). */ #define SCT_EVn_STATE_STATEMSK26_SHIFT (26) #define SCT_EVn_STATE_STATEMSK26_MASK (0x01 << SCT_EVn_STATE_STATEMSK26_SHIFT) #define SCT_EVn_STATE_STATEMSK26(x) ((x) << SCT_EVn_STATE_STATEMSK26_SHIFT) /* -- SCT_EVn_STATE_STATEMSK27: If bit m is one, event n (n= 0 to 15) happens in * state m of the counter selected by the HEVENT bit (m = state number; state 0 * = bit 0, state 1= bit 1,..., state 31 = bit 31). */ #define SCT_EVn_STATE_STATEMSK27_SHIFT (27) #define SCT_EVn_STATE_STATEMSK27_MASK (0x01 << SCT_EVn_STATE_STATEMSK27_SHIFT) #define SCT_EVn_STATE_STATEMSK27(x) ((x) << SCT_EVn_STATE_STATEMSK27_SHIFT) /* -- SCT_EVn_STATE_STATEMSK28: If bit m is one, event n (n= 0 to 15) happens in * state m of the counter selected by the HEVENT bit (m = state number; state 0 * = bit 0, state 1= bit 1,..., state 31 = bit 31). */ #define SCT_EVn_STATE_STATEMSK28_SHIFT (28) #define SCT_EVn_STATE_STATEMSK28_MASK (0x01 << SCT_EVn_STATE_STATEMSK28_SHIFT) #define SCT_EVn_STATE_STATEMSK28(x) ((x) << SCT_EVn_STATE_STATEMSK28_SHIFT) /* -- SCT_EVn_STATE_STATEMSK29: If bit m is one, event n (n= 0 to 15) happens in * state m of the counter selected by the HEVENT bit (m = state number; state 0 * = bit 0, state 1= bit 1,..., state 31 = bit 31). */ #define SCT_EVn_STATE_STATEMSK29_SHIFT (29) #define SCT_EVn_STATE_STATEMSK29_MASK (0x01 << SCT_EVn_STATE_STATEMSK29_SHIFT) #define SCT_EVn_STATE_STATEMSK29(x) ((x) << SCT_EVn_STATE_STATEMSK29_SHIFT) /* -- SCT_EVn_STATE_STATEMSK30: If bit m is one, event n (n= 0 to 15) happens in * state m of the counter selected by the HEVENT bit (m = state number; state 0 * = bit 0, state 1= bit 1,..., state 31 = bit 31). */ #define SCT_EVn_STATE_STATEMSK30_SHIFT (30) #define SCT_EVn_STATE_STATEMSK30_MASK (0x01 << SCT_EVn_STATE_STATEMSK30_SHIFT) #define SCT_EVn_STATE_STATEMSK30(x) ((x) << SCT_EVn_STATE_STATEMSK30_SHIFT) /* -- SCT_EVn_STATE_STATEMSK31: If bit m is one, event n (n= 0 to 15) happens in * state m of the counter selected by the HEVENT bit (m = state number; state 0 * = bit 0, state 1= bit 1,..., state 31 = bit 31). */ #define SCT_EVn_STATE_STATEMSK31_SHIFT (31) #define SCT_EVn_STATE_STATEMSK31_MASK (0x01 << SCT_EVn_STATE_STATEMSK31_SHIFT) #define SCT_EVn_STATE_STATEMSK31(x) ((x) << SCT_EVn_STATE_STATEMSK31_SHIFT) /* --- SCT_EVn_CTRL -------------------------------------- */ #define SCT_EVn_CTRL(n) MMIO32(SCT_BASE + 0x304 + (n * 8)) /* -- SCT_EVn_CTRL_MATCHSEL: Selects the Match register associated with this * event (if any). A match can occur only when the counter selected by the * HEVENT bit is running. */ #define SCT_EVn_CTRL_MATCHSEL_SHIFT (0) #define SCT_EVn_CTRL_MATCHSEL_MASK (0x0F << SCT_EVn_CTRL_MATCHSEL_SHIFT) #define SCT_EVn_CTRL_MATCHSEL(x) ((x) << SCT_EVn_CTRL_MATCHSEL_SHIFT) /* -- SCT_EVn_CTRL_HEVENT: Select L/H counter. Do not set this bit if UNIFY = 1. */ #define SCT_EVn_CTRL_HEVENT_SHIFT (4) #define SCT_EVn_CTRL_HEVENT_MASK (0x01 << SCT_EVn_CTRL_HEVENT_SHIFT) #define SCT_EVn_CTRL_HEVENT(x) ((x) << SCT_EVn_CTRL_HEVENT_SHIFT) /* SCT_EVn_CTRL_HEVENT_HEVENT values */ /* L state. Selects the L state and the L match register selected by MATCHSEL. */ #define SCT_EVn_CTRL_HEVENT_L_STATE SCT_EVn_CTRL_HEVENT(0x00) /* H state. Selects the H state and the H match register selected by MATCHSEL. */ #define SCT_EVn_CTRL_HEVENT_H_STATE SCT_EVn_CTRL_HEVENT(0x01) /* -- SCT_EVn_CTRL_OUTSEL: Input/output select */ #define SCT_EVn_CTRL_OUTSEL_SHIFT (5) #define SCT_EVn_CTRL_OUTSEL_MASK (0x01 << SCT_EVn_CTRL_OUTSEL_SHIFT) #define SCT_EVn_CTRL_OUTSEL(x) ((x) << SCT_EVn_CTRL_OUTSEL_SHIFT) /* SCT_EVn_CTRL_OUTSEL_OUTSEL values */ /* Input. Selects the input selected by IOSEL. */ #define SCT_EVn_CTRL_OUTSEL_INPUT SCT_EVn_CTRL_OUTSEL(0x00) /* Output. Selects the output selected by IOSEL. */ #define SCT_EVn_CTRL_OUTSEL_OUTPUT SCT_EVn_CTRL_OUTSEL(0x01) /* -- SCT_EVn_CTRL_IOSEL: Selects the input or output signal associated with * this event (if any). Do not select an input in this register, if CKMODE is * 1x. In this case the clock input is an implicit ingredient of every event. */ #define SCT_EVn_CTRL_IOSEL_SHIFT (6) #define SCT_EVn_CTRL_IOSEL_MASK (0x0F << SCT_EVn_CTRL_IOSEL_SHIFT) #define SCT_EVn_CTRL_IOSEL(x) ((x) << SCT_EVn_CTRL_IOSEL_SHIFT) /* -- SCT_EVn_CTRL_IOCOND: Selects the I/O condition for event n. (The detection * of edges on outputs lags the conditions that switch the outputs by one SCT * clock). In order to guarantee proper edge/state detection, an input must have * a minimum pulse width of at least one SCT clock period . */ #define SCT_EVn_CTRL_IOCOND_SHIFT (10) #define SCT_EVn_CTRL_IOCOND_MASK (0x03 << SCT_EVn_CTRL_IOCOND_SHIFT) #define SCT_EVn_CTRL_IOCOND(x) ((x) << SCT_EVn_CTRL_IOCOND_SHIFT) /* SCT_EVn_CTRL_IOCOND_IOCOND values */ /* LOW */ #define SCT_EVn_CTRL_IOCOND_LOW SCT_EVn_CTRL_IOCOND(0x00) /* Rise */ #define SCT_EVn_CTRL_IOCOND_RISE SCT_EVn_CTRL_IOCOND(0x01) /* Fall */ #define SCT_EVn_CTRL_IOCOND_FALL SCT_EVn_CTRL_IOCOND(0x02) /* HIGH */ #define SCT_EVn_CTRL_IOCOND_HIGH SCT_EVn_CTRL_IOCOND(0x03) /* -- SCT_EVn_CTRL_COMBMODE: Selects how the specified match and I/O condition * are used and combined. */ #define SCT_EVn_CTRL_COMBMODE_SHIFT (12) #define SCT_EVn_CTRL_COMBMODE_MASK (0x03 << SCT_EVn_CTRL_COMBMODE_SHIFT) #define SCT_EVn_CTRL_COMBMODE(x) ((x) << SCT_EVn_CTRL_COMBMODE_SHIFT) /* SCT_EVn_CTRL_COMBMODE_COMBMODE values */ /* OR. The event occurs when either the specified match or I/O condition * occurs. */ #define SCT_EVn_CTRL_COMBMODE_OR SCT_EVn_CTRL_COMBMODE(0x00) /* MATCH. Uses the specified match only. */ #define SCT_EVn_CTRL_COMBMODE_MATCH SCT_EVn_CTRL_COMBMODE(0x01) /* IO. Uses the specified I/O condition only. */ #define SCT_EVn_CTRL_COMBMODE_IO SCT_EVn_CTRL_COMBMODE(0x02) /* AND. The event occurs when the specified match and I/O condition occur * simultaneously. */ #define SCT_EVn_CTRL_COMBMODE_AND SCT_EVn_CTRL_COMBMODE(0x03) /* -- SCT_EVn_CTRL_STATELD: This bit controls how the STATEV value modifies the * state selected by HEVENT when this event is the highest-numbered event * occurring for that state. */ #define SCT_EVn_CTRL_STATELD_SHIFT (14) #define SCT_EVn_CTRL_STATELD_MASK (0x01 << SCT_EVn_CTRL_STATELD_SHIFT) #define SCT_EVn_CTRL_STATELD(x) ((x) << SCT_EVn_CTRL_STATELD_SHIFT) /* SCT_EVn_CTRL_STATELD_STATELD values */ /* STATEV value is added into STATE (the carry-out is ignored). */ #define SCT_EVn_CTRL_STATELD_STATEV_VALUE_IS_ADDE SCT_EVn_CTRL_STATELD(0x00) /* STATEV value is loaded into STATE. */ #define SCT_EVn_CTRL_STATELD_STATEV_VALUE_IS_LOAD SCT_EVn_CTRL_STATELD(0x01) /* -- SCT_EVn_CTRL_STATEV: This value is loaded into or added to the state * selected by HEVENT, depending on STATELD, when this event is the * highest-numbered event occurring for that state. If STATELD and STATEV are * both zero, there is no change to the STATE value. */ #define SCT_EVn_CTRL_STATEV_SHIFT (15) #define SCT_EVn_CTRL_STATEV_MASK (0x1F << SCT_EVn_CTRL_STATEV_SHIFT) #define SCT_EVn_CTRL_STATEV(x) ((x) << SCT_EVn_CTRL_STATEV_SHIFT) /* -- SCT_EVn_CTRL_MATCHMEM: If this bit is one and the COMBMODE field specifies * a match component to the triggering of this event, then a match is * considered to be active whenever the counter value is GREATER THAN OR EQUAL * TO the value specified in the match register when counting up, LESS THEN OR * EQUAL TO the match value when counting down. If this bit is zero, a match is * only be active during the cycle when the counter is equal to the match * value. */ #define SCT_EVn_CTRL_MATCHMEM_SHIFT (20) #define SCT_EVn_CTRL_MATCHMEM_MASK (0x01 << SCT_EVn_CTRL_MATCHMEM_SHIFT) #define SCT_EVn_CTRL_MATCHMEM(x) ((x) << SCT_EVn_CTRL_MATCHMEM_SHIFT) /* -- SCT_EVn_CTRL_DIRECTION: Direction qualifier for event generation. This * field only applies when the counters are operating in BIDIR mode. If BIDIR = * 0, the SCT ignores this field. Value 0x3 is reserved. */ #define SCT_EVn_CTRL_DIRECTION_SHIFT (21) #define SCT_EVn_CTRL_DIRECTION_MASK (0x03 << SCT_EVn_CTRL_DIRECTION_SHIFT) #define SCT_EVn_CTRL_DIRECTION(x) ((x) << SCT_EVn_CTRL_DIRECTION_SHIFT) /* SCT_EVn_CTRL_DIRECTION_DIRECTION values */ /* Direction independent. This event is triggered regardless of the count * direction. */ #define SCT_EVn_CTRL_DIRECTION_DIRECTION_INDEPENDEN SCT_EVn_CTRL_DIRECTION(0x00) /* Counting up. This event is triggered only during up-counting when BIDIR = 1. */ #define SCT_EVn_CTRL_DIRECTION_COUNTING_UP SCT_EVn_CTRL_DIRECTION(0x01) /* Counting down. This event is triggered only during down-counting when BIDIR * = 1. */ #define SCT_EVn_CTRL_DIRECTION_COUNTING_DOWN SCT_EVn_CTRL_DIRECTION(0x02) /* --- SCT_OUT0_SET -------------------------------------- */ #define SCT_OUT0_SET MMIO32(SCT_BASE + 0x500) /* --- SCT_OUT1_SET -------------------------------------- */ #define SCT_OUT1_SET MMIO32(SCT_BASE + 0x508) /* --- SCT_OUT2_SET -------------------------------------- */ #define SCT_OUT2_SET MMIO32(SCT_BASE + 0x510) /* --- SCT_OUT3_SET -------------------------------------- */ #define SCT_OUT3_SET MMIO32(SCT_BASE + 0x518) /* --- SCT_OUT4_SET -------------------------------------- */ #define SCT_OUT4_SET MMIO32(SCT_BASE + 0x520) /* --- SCT_OUT5_SET -------------------------------------- */ #define SCT_OUT5_SET MMIO32(SCT_BASE + 0x528) /* --- SCT_OUT6_SET -------------------------------------- */ #define SCT_OUT6_SET MMIO32(SCT_BASE + 0x530) /* --- SCT_OUT7_SET -------------------------------------- */ #define SCT_OUT7_SET MMIO32(SCT_BASE + 0x538) /* --- SCT_OUT8_SET -------------------------------------- */ #define SCT_OUT8_SET MMIO32(SCT_BASE + 0x540) /* --- SCT_OUT9_SET -------------------------------------- */ #define SCT_OUT9_SET MMIO32(SCT_BASE + 0x548) /* --- SCT_OUT10_SET ------------------------------------- */ #define SCT_OUT10_SET MMIO32(SCT_BASE + 0x550) /* --- SCT_OUT11_SET ------------------------------------- */ #define SCT_OUT11_SET MMIO32(SCT_BASE + 0x558) /* --- SCT_OUT12_SET ------------------------------------- */ #define SCT_OUT12_SET MMIO32(SCT_BASE + 0x560) /* --- SCT_OUT13_SET ------------------------------------- */ #define SCT_OUT13_SET MMIO32(SCT_BASE + 0x568) /* --- SCT_OUT14_SET ------------------------------------- */ #define SCT_OUT14_SET MMIO32(SCT_BASE + 0x570) /* --- SCT_OUT15_SET ------------------------------------- */ #define SCT_OUT15_SET MMIO32(SCT_BASE + 0x578) /* -- SCT_OUTn_SETm: A 1 in bit m selects event m to set output n (or clear it * if SETCLRn = 0x1 or 0x2) event 0 = bit 0, event 1 = bit 1,..., event 15 = * bit 15. */ #define SCT_OUTn_SETm(n, m) (((n) &1) << (m)) /* --- SCT_OUT0_CLR -------------------------------------- */ #define SCT_OUT0_CLR MMIO32(SCT_BASE + 0x504) /* --- SCT_OUT1_CLR -------------------------------------- */ #define SCT_OUT1_CLR MMIO32(SCT_BASE + 0x50C) /* --- SCT_OUT2_CLR -------------------------------------- */ #define SCT_OUT2_CLR MMIO32(SCT_BASE + 0x514) /* --- SCT_OUT3_CLR -------------------------------------- */ #define SCT_OUT3_CLR MMIO32(SCT_BASE + 0x51C) /* --- SCT_OUT4_CLR -------------------------------------- */ #define SCT_OUT4_CLR MMIO32(SCT_BASE + 0x524) /* --- SCT_OUT5_CLR -------------------------------------- */ #define SCT_OUT5_CLR MMIO32(SCT_BASE + 0x52C) /* --- SCT_OUT6_CLR -------------------------------------- */ #define SCT_OUT6_CLR MMIO32(SCT_BASE + 0x534) /* --- SCT_OUT7_CLR -------------------------------------- */ #define SCT_OUT7_CLR MMIO32(SCT_BASE + 0x53C) /* --- SCT_OUT8_CLR -------------------------------------- */ #define SCT_OUT8_CLR MMIO32(SCT_BASE + 0x544) /* --- SCT_OUT9_CLR -------------------------------------- */ #define SCT_OUT9_CLR MMIO32(SCT_BASE + 0x54C) /* --- SCT_OUT10_CLR ------------------------------------- */ #define SCT_OUT10_CLR MMIO32(SCT_BASE + 0x554) /* --- SCT_OUT11_CLR ------------------------------------- */ #define SCT_OUT11_CLR MMIO32(SCT_BASE + 0x55C) /* --- SCT_OUT12_CLR ------------------------------------- */ #define SCT_OUT12_CLR MMIO32(SCT_BASE + 0x564) /* --- SCT_OUT13_CLR ------------------------------------- */ #define SCT_OUT13_CLR MMIO32(SCT_BASE + 0x56C) /* --- SCT_OUT14_CLR ------------------------------------- */ #define SCT_OUT14_CLR MMIO32(SCT_BASE + 0x574) /* --- SCT_OUT15_CLR ------------------------------------- */ #define SCT_OUT15_CLR MMIO32(SCT_BASE + 0x57C) /* -- SCT_OUTn_CLR_CLRm: A 1 in bit m selects event m to clear output n (or set * it if SETCLRn = 0x1 or 0x2) event 0 = bit 0, event 1 = bit 1,..., event 15 = * bit 15. */ #define SCT_OUTn_CLRm(n, m) (((n) &1) << (m))
Report a bug