aos/devices/omap/omap44xx_sr_mpu.dev
Daniel Schwyn 6d444bf552 Main handout
Signed-off-by: Daniel Schwyn <daniel.schwyn@inf.ethz.ch>
2022-03-03 14:57:51 +01:00

154 lines
9.4 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_sr_mpu.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_sr_mpu msbfirst ( addr base ) "" {
register srconfig addr(base, 0x0) "Configuration bits for the Sensor Core and the Digital Processing." {
accumdata 10 rw "Number of Values to Accumulate";
srclklength 10 rw "Determines frequency of SRClk";
srenable 1 rw "0: Asynchronously resets MinMaxAvgAccumValid, MinMaxAvgValid, ErrorGeneratorValid, AccumData sensor, SRClk counter, and MinMaxAvg registers. Also gates the clock for power savings and disables all the digital logic. , 1: Enables the module";
senenable 1 rw "0: All sensors disabled, 1: Sensors enabled per SenNEnable and SenPEnable";
errorgeneratorenable 1 rw "0: Error Generator Module disabled, 1: Error Generator Module enabled";
minmaxavgenable 1 rw "0: MinMaxAvg Detector Module disabled, 1: MinMaxAvg Detector Module enabled";
_ 6 mbz;
sennenable 1 rw "0: Disable SenN sensor, 1: Enable SenN sensor";
senpenable 1 rw "0: Disable SenP sensor, 1: Enable SenP sensor";
};
register srstatus addr(base, 0x4) "Status bits that indicate that the values in the register are valid or events have occurred." {
_ 28 mbz;
avgerrvalid 1 ro "0: AvgError registers are not valid, 1: AvgError registers are valid.";
minmaxavgvalid 1 ro "0: SenVal, SenMin, SenMax, SenAvg registers are not valid, 1: SenVal, SenMin, SenMax, SenAvg registers are valid, but not necessarily fully accumulated";
errorgeneratorvalid 1 ro "0: SenError register do not have valid data, 1: SenError registers have valid data.";
minmaxavgaccumvalid 1 ro "0: SenVal, SenMin, SenMax, SenAvg registers are not valid, 1: SenVal, SenMin, SenMax, SenAvg registers have valid, final data";
};
register senval addr(base, 0x8) "The current sensor values from the Sensor Core." {
senpval 16 ro "The latest value of the SenPVal from the sensor core.";
sennval 16 ro "The latest value of the SenNVal from the sensor core.";
};
register senmin addr(base, 0xC) "The minimum sensor values." {
senpmin 16 ro "The minimum value of the SenPVal from the sensor core since the last restat operation.";
sennmin 16 ro "The minimum value of the SenNVal from the sensor core since the last restat operation.";
};
register senmax addr(base, 0x10) "The maximum sensor values." {
senpmax 16 ro "The maximum value of the SenPVal from the sensor core since the last restat operation.";
sennmax 16 ro "The maximum value of the SenNVal from the sensor core since the last restat operation.";
};
register senavg addr(base, 0x14) "The average sensor values." {
senpavg 16 ro "The running average of the SenPVal from the sensor core since the last restat operation.";
sennavg 16 ro "The running average of the SenNVal from the sensor core since the last restat operation.";
};
register avgweight addr(base, 0x18) "The weighting factor in the average computation." {
_ 28 mbz;
senpavgweight 2 rw "The weighting factor for the SenP averager.";
sennavgweight 2 rw "The weighting factor for the SenN averager.";
};
register nvaluereciprocal addr(base, 0x1C) "The reciprocal of the SenN and SenP values used in error generation." {
_ 8 mbz;
senpgain 4 rw "The gain value for the SenP reciprocal.";
senngain 4 rw "The gain value for the SenN reciprocal.";
senprn 8 rw "The scale value for the SenP reciprocal.";
sennrn 8 rw "The scale value for the SenN reciprocal.";
};
register irqstatus_raw addr(base, 0x24) "MCU raw interrup status and set." {
_ 28 mbz;
mcuaccumintstatraw 1 rw "0: Accum interrupt status is unchanged 1: Accum interrupt status is set";
mcuvalidintstatraw 1 rw "0: Valid interrupt status is unchanged 1: Valid interrupt status is set";
mcuboundsintstatraw 1 rw "0: Bounds interrupt status is unchanged 1: Bounds interrupt status is set";
mcudisableackintstatraw 1 rw "0: MCUDisable acknowledge status is unchanged 1: MCUDisable acknowledge status is set";
};
constants mcuaccumintstatena_status width(1) "" {
MCUACCUMINTSTATENA_1_r = 1 "Accum interrupt status is set.";
MCUACCUMINTSTATENA_0_w = 0 "Accum interrupt status is unchanged.";
};
constants mcuvalidintstatena_status width(1) "" {
MCUVALIDINTSTATENA_1_r = 1 "Valid interrupt status is set.";
MCUVALIDINTSTATENA_0_w = 0 "Valid interrupt status is unchanged.";
};
constants mcuboundsintstatena_status width(1) "" {
MCUBOUNDSINTSTATENA_1_r = 1 "Bounds interrupt status is set.";
MCUBOUNDSINTSTATENA_0_w = 0 "Bounds interrupt status is unchanged.";
};
constants mcudisableackintstatena_status width(1) "" {
MCUDISABLEACKINTSTATENA_1_r = 1 "MCUDisable acknowledge status is set.";
MCUDISABLEACKINTSTATENA_0_w = 0 "MCUDisable interrupt status is unchanged.";
};
register irqstatus addr(base, 0x28) "MCU masked interrupt status and clear." {
_ 28 mbz;
mcuaccumintstatena 1 rw type(mcuaccumintstatena_status) "Read 0: Accum interrupt status is unchanged.";
mcuvalidintstatena 1 rw type(mcuvalidintstatena_status) "Read 0: Valid interrupt status is unchanged.";
mcuboundsintstatena 1 rw type(mcuboundsintstatena_status) "Read 0: Bounds interrupt status is unchanged.";
mcudisableackintstatena 1 rw type(mcudisableackintstatena_status) "Read 0: MCUDisable acknowledge status is unchanged.";
};
register irqenable_set addr(base, 0x2C) "MCU interrupt enable flag and set." {
_ 28 mbz;
mcuaccumintenaset 1 rw "Read mode: 0: Accum interrupt generation is disabled/masked, 1: Accum interrupt generation is enabled; Write mode: 0: No change to Accum interrupt enable, 1: Enable Accum interrupt generation.";
mcuvalidintenaset 1 rw "Read mode: 0: Valid interrupt generation is disabled/masked, 1: Valid interrupt generation is enabled; Write mode: 0: No change to Valid interrupt enable, 1: Enable Valid interrupt generation.";
mcuboundsintenaset 1 rw "Read mode: 0: Bounds interrupt generation is disabled/masked, 1: Bounds interrupt generation is enabled; Write mode: 0: No change to Bounds interrupt enable, 1: Enable Bounds interrupt generation.";
mcudisableactintenaset 1 rw "Read mode: 0: MCUDisableAck interrupt generation is disabled/masked, 1: MCUDisableAck interrupt generation is enabled; Write mode: 0: No change to MCUDisAck interrupt enable, 1: Enable MCUDisableAck interrupt generation.";
};
register irqenable_clr addr(base, 0x30) "MCU interrup enable flag and clear." {
_ 28 mbz;
mcuaccumintenaclr 1 rw "Read mode: 0: Accum interrupt generation is disabled/masked, 1: Accum interrupt generation is enabled; Write mode: 0: No change to Accum interrupt enable, 1: Enable Accum interrupt generation.";
mcuvalidintenaclr 1 rw "Read mode: 0: Valid interrupt generation is disabled/masked, 1: Valid interrupt generation is enabled; Write mode: 0: No change to Valid interrupt enable, 1: Enable Valid interrupt generation.";
mcuboundsintenaclr 1 rw "Read mode: 0: Bounds interrupt generation is disabled/masked, 1: Bounds interrupt generation is enabled; Write mode: 0: No change to Bounds interrupt enable, 1: Enable Bounds interrupt generation.";
mcudisableackintenaclr 1 rw "Read mode: 0: MCUDisableAck interrupt generation is disabled/masked, 1: MCUDisableAck interrupt generation is enabled; Write mode: 0: No change to MCUDisAck interrupt enable, 1: Enable MCUDisableAck interrupt generation.";
};
register senerror addr(base, 0x34) "The sensor error from the error generator." {
_ 16 mbz;
avgerror 8 ro "The average sensor error.";
senerror 8 ro "The percentage of sensor error.";
};
register errconfig addr(base, 0x38) "The sensor error configuration." {
_ 5 mbz;
wakeupenable 1 rw "Wakeup from MCU Interrupts enable.";
idlemode 2 rw "0b00: Force-Idle Mode, 0b01: No Idle Mode, 0b10: Smart-Idle Mode #2, 0b11: Smart-Idle-Wkup mode";
vpboundsintstatena 1 rw "0: Bounds interrupt status is unchanged, 1: Bounds interrupt status is cleared.";
vpboundsintenable 1 rw "0: Bounds interrupt disabled, 1: Bounds interrupt enabled.";
_ 3 mbz;
errweight 3 rw "The AvgSenError weight.";
errmaxlimit 8 rw "The upper limit of SenError for interrupt generation.";
errminlimit 8 rw "The lower limit of SenError for interrupt generation.";
};
};