140 lines
6.6 KiB
Plaintext
140 lines
6.6 KiB
Plaintext
/*
|
|
* Copyright (c) 2013 ETH Zurich. All rights reserved.
|
|
*
|
|
* This file is distributed under the terms in the attached LICENSE file.
|
|
* If you do not find this file, copies can be found by writing to:
|
|
* ETH Zurich D-INFK, CAB F.78, Universitaetstrasse 6, CH-8092 Zurich,
|
|
* Attn: Systems Group.
|
|
*/
|
|
|
|
/*
|
|
* omap44xx_gpio2.dev
|
|
*
|
|
* DESCRIPTION:
|
|
*
|
|
* NOTE: This file has been automatically generated based on the
|
|
* XML files extracted from the TI RDT v1.0.0.4p Tool.
|
|
* Download from here: http://www.ti.com/product/omap4460
|
|
* This means that the file might not be optimal in terms of naming
|
|
* conventions for constants and registers (duplicated
|
|
* namespaces in register and device name etc.).
|
|
* Also, because of the underlying structure from the original XML
|
|
* it's possible that some constants appear multiple times (if they
|
|
* have slightly different descriptions for example).
|
|
*
|
|
* You want to clean that up before using the files for the first time!
|
|
*/
|
|
|
|
device omap44xx_gpio2 msbfirst ( addr base ) "" {
|
|
|
|
|
|
register gpio_revision ro addr(base, 0x0) "IP revision identifier (X.Y.R)" type(uint32);
|
|
|
|
constants idlemode_status width(2) "" {
|
|
IDLEMODE_1 = 1 "No-idle: An idle request is never acknowledged.";
|
|
IDLEMODE_2 = 2 "Smart-idle: The acknowledgment to an idle request is given based on the internal activity (see 4.1.2).";
|
|
IDLEMODE_3 = 3 "Smart-idle wakeup";
|
|
};
|
|
|
|
constants enawakeup_status width(1) "" {
|
|
ENAWAKEUP_0 = 0 "Wake-up generation is disabled.";
|
|
ENAWAKEUP_1 = 1 "Wake-up capability is enabled upon expected transition on input GPIO pin.";
|
|
};
|
|
|
|
constants softreset_status width(1) "" {
|
|
SOFTRESET_0 = 0 "Normal mode";
|
|
SOFTRESET_1 = 1 "The module is reset.";
|
|
};
|
|
|
|
constants autoidle_status width(1) "" {
|
|
AUTOIDLE_0 = 0 "Internal Interface OCP clock is free-running.";
|
|
AUTOIDLE_1 = 1 "Automatic internal OCP clock gating, based on the OCP interface activity";
|
|
};
|
|
|
|
register gpio_sysconfig addr(base, 0x10) "System configuration register" {
|
|
_ 27 mbz;
|
|
idlemode 2 rw type(idlemode_status) "0x0: Force-idle: An idle request is acknowledged unconditionally.";
|
|
enawakeup 1 rw type(enawakeup_status) "Wake-up control";
|
|
softreset 1 rw type(softreset_status) "Software reset. Set this bit to 1 to trigger a module reset. The bit is automatically reset by the hardware. During reads, it always returns 0.";
|
|
autoidle 1 rw type(autoidle_status) "OCP clock gating control.";
|
|
};
|
|
|
|
register gpio_irqstatus_raw_0 rw addr(base, 0x24) "Per-event raw interrupt status vector (corresponding to first line of interrupt)" type(uint32);
|
|
|
|
register gpio_irqstatus_raw_1 rw addr(base, 0x28) "Per-event raw interrupt status vector (corresponding to second line of interrupt)" type(uint32);
|
|
|
|
register gpio_irqstatus_0 rw addr(base, 0x2C) "Per-event interrupt status vector (enabled) (corresponding to first line of interrupt)" type(uint32);
|
|
|
|
register gpio_irqstatus_1 rw addr(base, 0x30) "Per-event enabled interrupt status vector (corresponding to second line of interrupt)" type(uint32);
|
|
|
|
register gpio_irqstatus_set_0 rw addr(base, 0x34) "Per-event interrupt enable set vector (corresponding to first line of interrupt)" type(uint32);
|
|
|
|
register gpio_irqstatus_set_1 rw addr(base, 0x38) "Per-event enable set interrupt vector (corresponding to second line of interrupt)" type(uint32);
|
|
|
|
register gpio_irqstatus_clr_0 rw addr(base, 0x3C) "Per-event interrupt enable clear vector (corresponding to first line of interrupt)" type(uint32);
|
|
|
|
register gpio_irqstatus_clr_1 rw addr(base, 0x40) "Per-event enable clear interrupt vector (corresponding to second line of interrupt)" type(uint32);
|
|
|
|
register gpio_irqwaken_0 rw addr(base, 0x44) "Per-event wake-up enable set vector (corresponding to first line of interrupt)" type(uint32);
|
|
|
|
register gpio_irqwaken_1 rw addr(base, 0x48) "Per-event wake-up enable set vector (corresponding to second line of interrupt)" type(uint32);
|
|
|
|
constants resetdone_status width(1) "" {
|
|
RESETDONE_0_r = 0 "Internal reset is on-going.";
|
|
RESETDONE_1_r = 1 "Reset completed";
|
|
};
|
|
|
|
register gpio_sysstatus addr(base, 0x114) "System status register" {
|
|
_ 31 mbz;
|
|
resetdone 1 ro type(resetdone_status) "";
|
|
};
|
|
|
|
register gpio_wakeupenable rw addr(base, 0x120) "Wake-up enable register (legacy) for first line of interrupt" type(uint32);
|
|
|
|
constants gatingratio_status width(2) "" {
|
|
GATINGRATIO_0 = 0 "N = 1";
|
|
GATINGRATIO_1 = 1 "N = 2";
|
|
GATINGRATIO_2 = 2 "N = 4";
|
|
GATINGRATIO_3 = 3 "N = 8";
|
|
};
|
|
|
|
constants disablemodule_status width(1) "" {
|
|
DISABLEMODULE_0 = 0 "Module is enabled, clocks are not gated.";
|
|
DISABLEMODULE_1 = 1 "Module is disabled, internal clocks are gated";
|
|
};
|
|
|
|
register gpio_ctrl addr(base, 0x130) "GPIO control register" {
|
|
_ 29 mbz;
|
|
gatingratio 2 rw type(gatingratio_status) "Clock gating ratio for event detection";
|
|
disablemodule 1 rw type(disablemodule_status) "";
|
|
};
|
|
|
|
register gpio_oe rw addr(base, 0x134) "Output enable register. 0: Output enabled ; 1: Output disabled" type(uint32);
|
|
|
|
register gpio_datain ro addr(base, 0x138) "Data input register (with sampled input data)" type(uint32);
|
|
|
|
register gpio_dataout rw addr(base, 0x13C) "Data output register (data to set on output pins)." type(uint32);
|
|
|
|
register gpio_leveldetect0 rw addr(base, 0x140) "Detect low-level register. 0: Low-level detection disabled; 1: Low-level detection enabled" type(uint32);
|
|
|
|
register gpio_leveldetect1 rw addr(base, 0x144) "Detect high-level register" type(uint32);
|
|
|
|
register gpio_risingdetect rw addr(base, 0x148) "Detect rising edge register" type(uint32);
|
|
|
|
register gpio_fallingdetect rw addr(base, 0x14C) "Detect falling edge register" type(uint32);
|
|
|
|
register gpio_debouncenable rw addr(base, 0x150) "Debouncing enable register" type(uint32);
|
|
|
|
register gpio_debouncingtime addr(base, 0x154) "Debouncing value register" {
|
|
_ 24 mbz;
|
|
debouncetime 8 rw "8-bit values specifying the debouncing time in 31 us steps";
|
|
};
|
|
|
|
register gpio_clearwkupena rw addr(base, 0x180) "Clear wake-up-enable register - legacy register" type(uint32);
|
|
|
|
register gpio_setwkuena rw addr(base, 0x184) "Set wake-up-enable register - legacy register" type(uint32);
|
|
|
|
register gpio_cleardataout rw addr(base, 0x190) "Clear data output register" type(uint32);
|
|
|
|
register gpio_setdataout rw addr(base, 0x194) "Set data output register" type(uint32);
|
|
}; |