📄 omap30_tcif.c
字号:
//-------------------------------------------------------------------------------
// TEXAS INSTRUMENTS INCORPORATED PROPRIETARY INFORMATION
// Property of Texas Instruments
// For Unrestricted Internal Use Only
// Unauthorized reprofuction and/or distribution is strictly prohibited.
// This product is protected under copyright law and trade secret law
// as an unpublished work
// Created 2000, (C) Copyright 2000 Texas Instruments. All rights reserved
//
//-------------------------------------------------------------------------------
#include "omap30.h"
//-------------------------------------------------------------------------------
//
// FUNCTIONS
//
//-------------------------------------------------------------------------------
//-------------------------------------------------------------------------------
// NAME : TCIF_SetEMIFSPriority
// DESCRIPTION : Configure the Emif slow priority
// PARAMETERS : Host from 0 to 15
// Dma from 0 to 15
// Dsp from 0 to 7
// Arm from 0 to 7
// RETURN VALUE : None
//-------------------------------------------------------------------------------
void TCIF_SetEMIFSPriority(UWORD8 Host, UWORD8 Dma, UWORD8 Dsp, UWORD8 Arm)
{
UWORD32 PriorityReg;
SetField(PriorityReg,TC_EMIFS_PRIO_LBHOST,Host);
SetField(PriorityReg,TC_EMIFS_PRIO_DMA,Dma);
SetField(PriorityReg,TC_EMIFS_PRIO_DSP,Dsp);
SetField(PriorityReg,TC_EMIFS_PRIO_ARM,Arm);
TC_EMIFS_PRIO= PriorityReg;
}
//-------------------------------------------------------------------------------
// NAME : TCIF_SetEMIFFPriority
// DESCRIPTION : Configure the Emif slow priority
// PARAMETERS : Host from 0 to 15
// Dma from 0 to 15
// Dsp from 0 to 7
// Arm from 0 to 7
// RETURN VALUE : None
//-------------------------------------------------------------------------------
void TCIF_SetEMIFFPriority(UWORD8 Host, UWORD8 Dma, UWORD8 Dsp, UWORD8 Arm)
{
UWORD32 PriorityReg;
SetField(PriorityReg,TC_EMIFF_PRIO_LBHOST,Host);
SetField(PriorityReg,TC_EMIFF_PRIO_DMA,Dma);
SetField(PriorityReg,TC_EMIFF_PRIO_DSP,Dsp);
SetField(PriorityReg,TC_EMIFF_PRIO_ARM,Arm);
TC_EMIFF_PRIO= PriorityReg;
}
//-------------------------------------------------------------------------------
// NAME : TCIF_SetImifPriority
// DESCRIPTION : Configure the Imif priority
// PARAMETERS : Host from 0 to 15
// Dma from 0 to 15
// Dsp from 0 to 7
// Arm from 0 to 7
// RETURN VALUE : None
//-------------------------------------------------------------------------------
void TCIF_SetIMIFPriority(UWORD8 Host, UWORD8 Dma, UWORD8 Dsp, UWORD8 Arm)
{
UWORD32 PriorityReg;
SetField(PriorityReg,TC_IMIF_PRIO_LBHOST,Host);
SetField(PriorityReg,TC_IMIF_PRIO_DMA,Dma);
SetField(PriorityReg,TC_IMIF_PRIO_DSP,Dsp);
SetField(PriorityReg,TC_IMIF_PRIO_ARM,Arm);
TC_IMIF_PRIO= PriorityReg;
}
//-------------------------------------------------------------------------------
// NAME : TCIF_EmifSlowCommonConfig
// DESCRIPTION : Configure the EMIF slow global register
// PARAMETERS : GlobalPowerDown GLOBAL_POWER_DOWN_DISABLE or
// GLOBAL_POWER_DOWN_ENABLE
// ImifPowerDown IMIF_POWER_DOWN_DISABLE or
// IMIF_POWER_DOWN_ENABLE
// WriteProtect WRITE_PROTECT_ENABLE
// WRITE_PROTECT_DISABLE
// RETURN VALUE : None
//-------------------------------------------------------------------------------
void TCIF_EmifSlowCommonConfig( BOOL GlobalPowerDown,
UWORD8 ImifPowerDown,
UWORD8 WriteProtect
)
{
UWORD32 temp;
temp = TC_EMIFS_GLB_CONFIG;
SetField(temp,TC_EMIFS_GLB_CONFIG_PWD_EN,GlobalPowerDown);
SetField(temp,TC_EMIFS_GLB_CONFIG_PDE,ImifPowerDown);
SetField(temp,TC_EMIFS_GLB_CONFIG_WP,WriteProtect);
TC_EMIFS_GLB_CONFIG=temp;
}
//-------------------------------------------------------------------------------
// NAME : TCIF_SelectBootMode
// DESCRIPTION : Select OMAP boot Mode: CS0 CS3 dynamically.
// PARAMETERS : BootMode BOOT_MODE_CS0
// BOOT_MODE_CS3
// RETURN VALUE : None
//-------------------------------------------------------------------------------
void TCIF_SelectBootMode(UWORD8 BootMode)
{
UWORD32 temp;
temp = TC_EMIFS_GLB_CONFIG;
SetField(temp,TC_EMIFS_GLB_CONFIG_BM,BootMode);
TC_EMIFS_GLB_CONFIG=temp;
}
//-------------------------------------------------------------------------------
// NAME : TCIF_EmifSlowConfigChipSelect
// DESCRIPTION : Initialize the Slow Config register for each Config spec
// SYNOPSYS : void TCIF_EmifSlowConfigChipSelect( UWORD8 SlowChipSelect,
// BOOL IsItFlashIntel,
// BOOL BusWidth,
// UWORD8 ReadMode,
// UWORD8 PgwstOrWelen,
// UWORD8 WriteWaitState,
// UWORD8 ReadWaitState,
// BOOL PipelineFlowthroug
// BOOL Retiming,
// UWORD8 FlashClockDivider)
// PARAMETERS : SlowChipSelect TCIF_Slow_nCS0
// TCIF_Slow_nCS1
// TCIF_Slow_nCS2
// TCIF_Slow_nCS3
// IsItFlashIntel FLASH_INTEL or NO_FLASH_INTEL
// BusWidth MEMORY_16BIT_WIDE or MEMORY_32BIT_WIDE
// ReadMode ASYNC_READ
// PAGE_ROM_READ_WORDS4
// PAGE_ROM_READ_WORDS8
// PAGE_ROM_READ_WORDS16
// SYNC_BURST_READ_TI
// SYNC_BURST_READ_SMART3
// SYNC_READ_WRITE_ZBT
// PgwstOrWelen WE length (0-15)
// WriteWaitState Number of write wait state (0-15)
// ReadWaitState Number of read wait state (0-5)
// Retiming RETIME_ENABLE or RETIME_DISABLE
// FlashClockDivider TCIF_DIVIDE_BY_1
// TCIF_DIVIDE_BY_2
// TCIF_DIVIDE_BY_4
// TCIF_DIVIDE_BY_6
// RETURN VALUE: None
// LIMITATIONS : None
//-------------------------------------------------------------------------------
void TCIF_EmifSlowConfigChipSelect( UWORD8 SlowChipSelect,
BOOL IsItFlashIntel,
BOOL BusWidth,
UWORD8 ReadMode,
UWORD8 PgwstOrWelen,
UWORD8 WriteWaitState,
UWORD8 ReadWaitState,
BOOL Retiming,
UWORD8 FlashClockDivider)
{
UWORD32 temp;
//All EMIFS slow registers are considered identical. CS0 is
//reference for bit position.
SetField(temp,TC_EMIFS_CS0_CONFIG_FL,IsItFlashIntel);
SetField(temp,TC_EMIFS_CS0_CONFIG_BW,BusWidth);
SetField(temp,TC_EMIFS_CS0_CONFIG_RDMODE,ReadMode);
SetField(temp,TC_EMIFS_CS0_CONFIG_PGWST,PgwstOrWelen);
SetField(temp,TC_EMIFS_CS0_CONFIG_WRWST,WriteWaitState);
SetField(temp,TC_EMIFS_CS0_CONFIG_RDWST,ReadWaitState);
SetField(temp,TC_EMIFS_CS0_CONFIG_RT,Retiming);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -