blob: ef8b152b0c7239132eb8d999073744e3ab66ea7b (
plain) (
tree)
|
|
/** ============================================================================
* \file soc_AM33XX.h
*
* \brief This file contains the peripheral information for AM33XX SoC
*
* ============================================================================
*/
/*
* Copyright (C) 2010 Texas Instruments Incorporated - http://www.ti.com/
*/
/*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 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.
*
* Neither the name of Texas Instruments Incorporated 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
* OWNER 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 _SOC_AM33XX_H_
#define _SOC_AM33XX_H_
#ifdef __cplusplus
extern "C" {
#endif
/** Cache Line size in ARM Cortex-A8. */
#define SOC_CACHELINE_SIZE_MAX (64)
/** @brief Base address of AINTC memory mapped registers */
#define SOC_AINTC_REGS (0x48200000)
/** @brief Base addresses of UART memory mapped registers */
#define SOC_UART_0_REGS (0x44E09000)
#define SOC_UART_1_REGS (0x48022000)
#define SOC_UART_2_REGS (0x48024000)
#define SOC_UART_3_REGS (0x481A6000)
#define SOC_UART_4_REGS (0x481A8000)
#define SOC_UART_5_REGS (0x481AA000)
/** @brief Base addresses of USB memory mapped registers */
#define SOC_USB_0_BASE (0x47401400)
#define SOC_USB_1_BASE (0x47401C00)
/** @brief Base addresses of SPI memory mapped registers */
#define SOC_SPI_0_REGS (0x48030000)
#define SOC_SPI_1_REGS (0x481A0000)
/** @brief Base addresses of GPIO memory mapped registers */
#define SOC_GPIO_0_REGS (0x44E07000)
#define SOC_GPIO_1_REGS (0x4804C000)
#define SOC_GPIO_2_REGS (0x481AC000)
#define SOC_GPIO_3_REGS (0x481AE000)
/** @brief Base addresses of DMTIMER memory mapped registers */
#define SOC_DMTIMER_0_REGS (0x44E05000)
#define SOC_DMTIMER_1_REGS (0x44E31000)
#define SOC_DMTIMER_2_REGS (0x48040000)
#define SOC_DMTIMER_3_REGS (0x48042000)
#define SOC_DMTIMER_4_REGS (0x48044000)
#define SOC_DMTIMER_5_REGS (0x48046000)
#define SOC_DMTIMER_6_REGS (0x48048000)
#define SOC_DMTIMER_7_REGS (0x4804A000)
/** @brief Base address of MMC memory mapped registers */
#define SOC_MMCHS_0_REGS (0x48060000)
#define SOC_MMCHS_1_REGS (0x481D8000)
#define SOC_MMCHS_2_REGS (0x47810000)
/** @brief Base address of GPMC memory mapped registers */
#define SOC_GPMC_0_REGS (0x50000000)
/** @brief Base address of GPMC memory mapped registers */
#define SOC_ELM_0_REGS (0x48080000)
/** @brief Base address of I2C memory mapped registers */
#define SOC_I2C_0_REGS (0x44E0B000)
#define SOC_I2C_1_REGS (0x4802A000)
#define SOC_I2C_2_REGS (0x4819C000)
/** @brief Base address of WDT memory mapped registers */
#define SOC_WDT_0_REGS (0x44E33000)
#define SOC_WDT_1_REGS (0x44E35000)
/** @brief Base address of WDT memory mapped registers */
#define SOC_CPSW_SS_REGS (0x4A100000)
#define SOC_CPSW_MDIO_REGS (0x4A101000)
#define SOC_CPSW_WR_REGS (0x4A101200)
#define SOC_CPSW_CPDMA_REGS (0x4A100800)
#define SOC_CPSW_ALE_REGS (0x4A100D00)
#define SOC_CPSW_STAT_REGS (0x4A100900)
#define SOC_CPSW_PORT_0_REGS (0x4A100100)
#define SOC_CPSW_PORT_1_REGS (0x4A100200)
#define SOC_CPSW_SLIVER_1_REGS (0x4A100D80)
#define SOC_CPSW_PORT_2_REGS (0x4A100300)
#define SOC_CPSW_SLIVER_2_REGS (0x4A100DC0)
#define SOC_CPSW_CPPI_RAM_REGS (0x4A102000)
/** @brief Base address of McASP memory mapped registers */
#define SOC_MCASP_0_CTRL_REGS (0x48038000)
#define SOC_MCASP_0_FIFO_REGS (SOC_MCASP_0_CTRL_REGS + 0x1000)
#define SOC_MCASP_0_DATA_REGS (0x46000000)
#define SOC_MCASP_1_CTRL_REGS (0x4803C000)
#define SOC_MCASP_1_FIFO_REGS (SOC_MCASP_1_CTRL_REGS + 0x1000)
#define SOC_MCASP_1_DATA_REGS (0x46400000)
/** @brief Base address of EMIF memory mapped registers */
#define SOC_EMIF_0_REGS (0x4C000000)
/** @brief Base addresses of RTC memory mapped registers */
#define SOC_RTC_0_REGS (0x44E3E000)
/** @brief Base addresses of PRCM memory mapped registers */
#define SOC_PRCM_REGS (0x44E00000)
#define SOC_CM_PER_REGS (SOC_PRCM_REGS + 0)
#define SOC_CM_WKUP_REGS (SOC_PRCM_REGS + 0x400)
#define SOC_CM_DPLL_REGS (SOC_PRCM_REGS + 0x500)
#define SOC_CM_MPU_REGS (SOC_PRCM_REGS + 0x600)
#define SOC_CM_DEVICE_REGS (SOC_PRCM_REGS + 0x700)
#define SOC_CM_RTC_REGS (SOC_PRCM_REGS + 0x800)
#define SOC_CM_GFX_REGS (SOC_PRCM_REGS + 0x900)
#define SOC_CM_CEFUSE_REGS (SOC_PRCM_REGS + 0xA00)
#define SOC_OCP_SOCKET_RAM_REGS (SOC_PRCM_REGS + 0xB00)
#define SOC_PRM_PER_REGS (SOC_PRCM_REGS + 0xC00)
#define SOC_PRM_WKUP_REGS (SOC_PRCM_REGS + 0xD00)
#define SOC_PRM_MPU_REGS (SOC_PRCM_REGS + 0xE00)
#define SOC_PRM_DEVICE_REGS (SOC_PRCM_REGS + 0xF00)
#define SOC_PRM_RTC_REGS (SOC_PRCM_REGS + 0x1000)
#define SOC_PRM_GFX_REGS (SOC_PRCM_REGS + 0x1100)
#define SOC_PRM_CEFUSE_REGS (SOC_PRCM_REGS + 0x1200)
/** @brief Base address of control module memory mapped registers */
#define SOC_CONTROL_REGS (0x44E10000)
/** @brief Base address of Channel controller memory mapped registers */
#define SOC_EDMA30CC_0_REGS (0x49000000)
/** @brief Base address of DCAN module memory mapped registers */
#define SOC_DCAN_0_REGS (0x481CC000)
#define SOC_DCAN_1_REGS (0x481D0000)
/******************************************************************************\
* Parameterizable Configuration:- These are fed directly from the RTL
* parameters for the given SOC
\******************************************************************************/
#define TPCC_MUX(n) 0xF90 + ((n) * 4)
#define SOC_LCDC_0_REGS 0x4830E000
#define SOC_ADC_TSC_0_REGS 0x44E0D000
/** @brief Base addresses of PWMSS memory mapped registers. */
#define SOC_PWMSS0_REGS (0x48300000)
#define SOC_PWMSS1_REGS (0x48302000)
#define SOC_PWMSS2_REGS (0x48304000)
#define SOC_ECAP_REGS (0x00000100)
#define SOC_EQEP_REGS (0x00000180)
#define SOC_EPWM_REGS (0x00000200)
#define SOC_ECAP_0_REGS (SOC_PWMSS0_REGS + SOC_ECAP_REGS)
#define SOC_ECAP_1_REGS (SOC_PWMSS1_REGS + SOC_ECAP_REGS)
#define SOC_ECAP_2_REGS (SOC_PWMSS2_REGS + SOC_ECAP_REGS)
#define SOC_EQEP_0_REGS (SOC_PWMSS0_REGS + SOC_EQEP_REGS)
#define SOC_EQEP_1_REGS (SOC_PWMSS1_REGS + SOC_EQEP_REGS)
#define SOC_EQEP_2_REGS (SOC_PWMSS2_REGS + SOC_EQEP_REGS)
#define SOC_EPWM_0_REGS (SOC_PWMSS0_REGS + SOC_EPWM_REGS)
#define SOC_EPWM_1_REGS (SOC_PWMSS1_REGS + SOC_EPWM_REGS)
#define SOC_EPWM_2_REGS (SOC_PWMSS2_REGS + SOC_EPWM_REGS)
#define SOC_EPWM_MODULE_FREQ 100
#ifdef __cplusplus
}
#endif
#endif /* _SOC_AM33XX_H_ */
|