blob: c2f354da79e9f4674e9885c51c2de142ee622b43 [file] [log] [blame]
/******************************************************************************
* Filename: hw_aux_spim_h
* Revised: 2018-05-14 12:24:52 +0200 (Mon, 14 May 2018)
* Revision: 51990
*
* Copyright (c) 2015 - 2017, Texas Instruments Incorporated
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1) Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* 2) Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* 3) Neither the name of the ORGANIZATION nor the names of its contributors may
* be used to endorse or promote products derived from this software without
* specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
******************************************************************************/
#ifndef __HW_AUX_SPIM_H__
#define __HW_AUX_SPIM_H__
//*****************************************************************************
//
// This section defines the register offsets of
// AUX_SPIM component
//
//*****************************************************************************
// SPI Master Configuration
#define AUX_SPIM_O_SPIMCFG 0x00000000
// MISO Configuration
#define AUX_SPIM_O_MISOCFG 0x00000004
// MOSI Control
#define AUX_SPIM_O_MOSICTL 0x00000008
// Transmit 8 Bit
#define AUX_SPIM_O_TX8 0x0000000C
// Transmit 16 Bit
#define AUX_SPIM_O_TX16 0x00000010
// Receive 8 Bit
#define AUX_SPIM_O_RX8 0x00000014
// Receive 16 Bit
#define AUX_SPIM_O_RX16 0x00000018
// SCLK Idle
#define AUX_SPIM_O_SCLKIDLE 0x0000001C
// Data Idle
#define AUX_SPIM_O_DATAIDLE 0x00000020
//*****************************************************************************
//
// Register: AUX_SPIM_O_SPIMCFG
//
//*****************************************************************************
// Field: [7:2] DIV
//
// SCLK divider.
//
// Peripheral clock frequency division gives the SCLK clock frequency. The
// division factor equals (2 * (DIV+1)):
//
// 0x00: Divide by 2.
// 0x01: Divide by 4.
// 0x02: Divide by 6.
// ...
// 0x3F: Divide by 128.
#define AUX_SPIM_SPIMCFG_DIV_W 6
#define AUX_SPIM_SPIMCFG_DIV_M 0x000000FC
#define AUX_SPIM_SPIMCFG_DIV_S 2
// Field: [1] PHA
//
// Phase of the MOSI and MISO data signals.
//
// 0: Sample MISO at leading (odd) edges and shift MOSI at trailing (even)
// edges of SCLK.
// 1: Sample MISO at trailing (even) edges and shift MOSI at leading (odd)
// edges of SCLK.
#define AUX_SPIM_SPIMCFG_PHA 0x00000002
#define AUX_SPIM_SPIMCFG_PHA_BITN 1
#define AUX_SPIM_SPIMCFG_PHA_M 0x00000002
#define AUX_SPIM_SPIMCFG_PHA_S 1
// Field: [0] POL
//
// Polarity of the SCLK signal.
//
// 0: SCLK is low when idle, first clock edge rises.
// 1: SCLK is high when idle, first clock edge falls.
#define AUX_SPIM_SPIMCFG_POL 0x00000001
#define AUX_SPIM_SPIMCFG_POL_BITN 0
#define AUX_SPIM_SPIMCFG_POL_M 0x00000001
#define AUX_SPIM_SPIMCFG_POL_S 0
//*****************************************************************************
//
// Register: AUX_SPIM_O_MISOCFG
//
//*****************************************************************************
// Field: [4:0] AUXIO
//
// AUXIO to MISO mux.
//
// Select the AUXIO pin that connects to MISO.
#define AUX_SPIM_MISOCFG_AUXIO_W 5
#define AUX_SPIM_MISOCFG_AUXIO_M 0x0000001F
#define AUX_SPIM_MISOCFG_AUXIO_S 0
//*****************************************************************************
//
// Register: AUX_SPIM_O_MOSICTL
//
//*****************************************************************************
// Field: [0] VALUE
//
// MOSI level control.
//
// 0: Set MOSI low.
// 1: Set MOSI high.
#define AUX_SPIM_MOSICTL_VALUE 0x00000001
#define AUX_SPIM_MOSICTL_VALUE_BITN 0
#define AUX_SPIM_MOSICTL_VALUE_M 0x00000001
#define AUX_SPIM_MOSICTL_VALUE_S 0
//*****************************************************************************
//
// Register: AUX_SPIM_O_TX8
//
//*****************************************************************************
// Field: [7:0] DATA
//
// 8 bit data transfer.
//
// Write DATA to start transfer, MSB first. When transfer completes, MOSI stays
// at the value of LSB.
#define AUX_SPIM_TX8_DATA_W 8
#define AUX_SPIM_TX8_DATA_M 0x000000FF
#define AUX_SPIM_TX8_DATA_S 0
//*****************************************************************************
//
// Register: AUX_SPIM_O_TX16
//
//*****************************************************************************
// Field: [15:0] DATA
//
// 16 bit data transfer.
//
// Write DATA to start transfer, MSB first. When transfer completes, MOSI stays
// at the value of LSB.
#define AUX_SPIM_TX16_DATA_W 16
#define AUX_SPIM_TX16_DATA_M 0x0000FFFF
#define AUX_SPIM_TX16_DATA_S 0
//*****************************************************************************
//
// Register: AUX_SPIM_O_RX8
//
//*****************************************************************************
// Field: [7:0] DATA
//
// Latest 8 bits received on MISO.
#define AUX_SPIM_RX8_DATA_W 8
#define AUX_SPIM_RX8_DATA_M 0x000000FF
#define AUX_SPIM_RX8_DATA_S 0
//*****************************************************************************
//
// Register: AUX_SPIM_O_RX16
//
//*****************************************************************************
// Field: [15:0] DATA
//
// Latest 16 bits received on MISO.
#define AUX_SPIM_RX16_DATA_W 16
#define AUX_SPIM_RX16_DATA_M 0x0000FFFF
#define AUX_SPIM_RX16_DATA_S 0
//*****************************************************************************
//
// Register: AUX_SPIM_O_SCLKIDLE
//
//*****************************************************************************
// Field: [0] STAT
//
// Wait for SCLK idle.
//
// Read operation stalls until SCLK is idle with no remaining clock edges. Read
// then returns 1.
//
// AUX_SCE can use this to control CS deassertion.
#define AUX_SPIM_SCLKIDLE_STAT 0x00000001
#define AUX_SPIM_SCLKIDLE_STAT_BITN 0
#define AUX_SPIM_SCLKIDLE_STAT_M 0x00000001
#define AUX_SPIM_SCLKIDLE_STAT_S 0
//*****************************************************************************
//
// Register: AUX_SPIM_O_DATAIDLE
//
//*****************************************************************************
// Field: [0] STAT
//
// Wait for data idle.
//
// Read operation stalls until the SCLK period associated with LSB transmission
// completes. Read then returns 1.
//
// AUX_SCE can use this to control CS deassertion.
#define AUX_SPIM_DATAIDLE_STAT 0x00000001
#define AUX_SPIM_DATAIDLE_STAT_BITN 0
#define AUX_SPIM_DATAIDLE_STAT_M 0x00000001
#define AUX_SPIM_DATAIDLE_STAT_S 0
#endif // __AUX_SPIM__