亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? csl_pllc.h

?? 基于ti tms320c672x下音頻開發例子程式
?? H
?? 第 1 頁 / 共 2 頁
字號:
/*  ============================================================================
 *   Copyright (c) Texas Instruments Inc 2002, 2003, 2004
 *
 *   Use of this software is controlled by the terms and conditions found
 *   in the license agreement under which this software has been supplied.
 *   ===========================================================================
 */

/** @file  csl_pllc.h
 *
 *  @path $(CSLPATH)\pllc\v1\src
 *
 *  @brief PLLC functional layer API header file
 *
 */

/** @mainpage PLLC CSL 3.x
 *
 * @section Introduction
 *
 * @subsection xxx Purpose and Scope
 * The purpose of this document is to identify a set of common CSL APIs for
 * the PLLC module across various devices. The CSL developer is expected to
 * refer to this document while designing APIs for these modules. Some of the
 * listed APIs may not be applicable to a given PLLC module. While other cases
 * this list of APIs may not be sufficient to cover all the features of a
 * particular PLLC Module. The CSL developer should use his discretion designing
 * new APIs or extending the existing ones to cover these.
 *
 * @subsection aaa Terms and Abbreviations
 *   -# CSL:  Chip Support Library
 *   -# API:  Application Programmer Interface
 *
 * @subsection References
 *    -# CSL-001-DES, CSL 3.x Design Specification DocumentVersion 1.02
 *
 */

/* =============================================================================
 *  Revision History
 *  ===============
 *  22-Nov-2004 Asha File Created.
 * =============================================================================
 */

#ifndef _CSL_PLLC_H_
#define _CSL_PLLC_H_

#ifdef __cplusplus
extern "C" {
#endif

#include <cslr.h>
#include <soc.h>
#include <csl_error.h>
#include <csl_types.h>
#include <csl.h>
#include <cslr_pllc.h>


/**
 *  pllc global macro declarations
 */
 
#define DELAY_100MS		3000

/**
 *  pllc ENUM declarations
 */
/** \brief  This enum describes the modes of the pllc
 *
 *  It can either be in bypass/pll mode.
 */
typedef enum {
    /** The pllc is in bypass mode. */
    CSL_PLLC_BYPASS = CSL_PLLC_PLLCSR_PLLEN_BYPASS,
    /** The pllc is in pll mode. */
    CSL_PLLC_PLL_MODE = CSL_PLLC_PLLCSR_PLLEN_PLL
} CSL_PllcMode;
	
/** \brief  This enum describes the reset states of the pllc
 *
 *  It can be either released/asserted.
 */
typedef enum {
    /** The pllc reset is released. */
    CSL_PLLC_RELEASE = CSL_PLLC_PLLCSR_PLLRST_RELEASED,
    /** The pllc reset is asserted. */
    CSL_PLLC_ASSERT  = CSL_PLLC_PLLCSR_PLLRST_ASSERTED
} CSL_PllcResetState;
				 
/** \brief  This enum describes the states of the pllc
 *
 *  It can be either in operational/power down state.
 */
typedef enum {
    /** The pllc is in operational state. */
    CSL_PLLC_OPERATIONAL = CSL_PLLC_PLLCSR_PLLPWRDN_NO,
    /** The pllc is in power down state. */
    CSL_PLLC_PWRDN       = CSL_PLLC_PLLCSR_PLLPWRDN_YES
} CSL_PllcState;

/** \brief  This enum describes the Clock state of the PLL
 *
 *  It can be either in Stable / Not Stable.
 */
typedef enum {
    /** The pllc is in Stable state. */
    CSL_PLLC_CLK_STABLE = CSL_PLLC_PLLCSR_STABLE_STABLE,
    /** The pllc is not in stable state. */
    CSL_PLLC_CLK_NOT_STABLE = CSL_PLLC_PLLCSR_STABLE_NOT_STABLE
}CSL_PllcOscStableState;

/** \brief  This enum describes the GO Operation Enabled state
 *
 *  It can either be in Enabled or disabled.
 */
typedef enum {
	/** The GO Operation is disabled. */
    CSL_PLLC_GO_OPRN_DISABLE = CSL_PLLC_PLLSTAT_GOSTAT_NOT_PROGRESS,
	/** The GO Operation is in progress. */
	CSL_PLLC_GO_OPRN_IN_PROGRESS = CSL_PLLC_PLLSTAT_GOSTAT_INPROG
} CSL_PllcGoStatus;

/** \brief  This enum describes clocks of PLLC except SYSCLK  
 *
 */
typedef enum {
    /** AUXCLK   */
    CSL_PLLC_AUXCLK  = 0,
    /** OBSCLK   */
    CSL_PLLC_OBSCLK  = 1,
    /** AUXCLK   */
    CSL_PLLC_TCLK  = 2
} CSL_PllcClk;

/** \brief  This enum describes the various clock's enable status  
 *
 *  It can be either enabled/disabled.
 */
typedef enum {
    /** Clock is enabled. */
    CSL_PLLC_CLK_ENABLE  = CSL_PLLC_CKEN_AUXEN_ENABLE,
    /** Clock is disabled. */
    CSL_PLLC_CLK_DISABLE = CSL_PLLC_CKEN_AUXEN_DISABLE
} CSL_PllcClkState;

/** \brief  This enum describes the clock's enable status  
 *
 *  It can be either ON/Gated.
 */
typedef enum {
    /** Clock is On. */
    CSL_PLLC_CLK_ON  = CSL_PLLC_CKSTAT_AUXON_ON,
    /** Clock is Gated. */
    CSL_PLLC_CLK_GATED = CSL_PLLC_CKSTAT_AUXON_GATED
} CSL_PllcClockStatus;

/** \brief  This enum describes the pllc dividers  
 *
 */

typedef enum {
	/* Divider for PLL mode*/
	CSL_PLLC_DIV0	= 0,
	/* Divider for SYSCLK 1*/
	CSL_PLLC_DIV1	= 1,
	/* Divider for SYSCLK 2*/
	CSL_PLLC_DIV2	= 2,
	/* Divider for SYSCLK 3*/
	CSL_PLLC_DIV3	= 3
}CSL_PllcDivNum;
				  
/** \brief  This enum describes the sysclk   
 *
 */

typedef enum {
	/* PLLC DIV1 output*/
	CSL_PLLC_SYSCLK1	= 0,
	/* PLLC DIV2 output*/
	CSL_PLLC_SYSCLK2	= 1,
	/* PLLC DIV3 output*/
	CSL_PLLC_SYSCLK3	= 2
}CSL_PllcSysClk;

/** \brief  This enum describes the states of the pllc dividers  
 *
 *  It can be either enabled/disabled.
 */
typedef enum {
    /** The pllc divider  is enabled. */
    CSL_PLLC_PLLDIV_ENABLE  = CSL_PLLC_PLLDIV0_D0EN_ENABLE,
    /** The pllc divider 0 is disabled. */
    CSL_PLLC_PLLDIV_DISABLE = CSL_PLLC_PLLDIV0_D0EN_DISABLE
} CSL_PllcDivState;

/** \brief This enum describes control commands passed to CSL_pllcHwControl()
 *
 *  This is the set of commands that are passed to CSL_pllcHwControl() with
 *  an optional argument type-casted to a void* .
 *  The arguments to be passed with each enumeration (if any) are specified
 *  next to the enumeration.
 */
typedef enum {
    /**<
     * @brief   Set PLL mode: Either bypass/ pll mode.
     */
	CSL_PLLC_CMD_SET_MODE             = 1,
	/**<
     * @brief   Set PLL state: Either power down/ operational state.
     */
    CSL_PLLC_CMD_SET_PLL_STATE        = 2,
	/**<
     * @brief   Set Oscillator state: Either power down/ operational state.
     */
    CSL_PLLC_CMD_SET_OSC_STATE        = 3,
    /**<
     * @brief   Assert reset to pll: Either reset released/ asserted.
     */
	CSL_PLLC_CMD_RESET_CONTROL        = 4,
    /**<
     * @brief   Set GO Operation.
     */
	CSL_PLLC_CMD_SET_GO_OPN           = 5,
    /**<
     * @brief   Controls ALIGNing with the corresponding SYSCLK .
     */
    CSL_PLLC_CMD_ALIGN_CONTROL        = 6,
    /**<
     * @brief   Set PLLM multiplier factor.
     */
    CSL_PLLC_CMD_SET_PLLM_MULFACTOR	   = 7,
    /**<
     * @brief   Controls the given divider by enabling/disabling the divider
	 * and/or setting the divider ratio of the given divider.
     */
	 CSL_PLLC_CMD_DIV_CONTROL         = 8,
     /**<
     * @brief   Controls the AuxCLK enable/disable.
     */ 
     CSL_PLLC_CMD_AUCXLK_CONTROL      = 9
}CSL_PllcHwControlCmd;
    

/** \brief This enum describes queries passed to CSL_PllcGetHwStatus()
 *
 *  This is used to get the status of different operations.
 *  The arguments to be passed with each enumeration if any
 *  are specified next to the enumeration
 */
typedef enum {
    /**<
     * @brief   Queries PLL Controller Mode (bypass/ pll).
     * @param   (CSL_PllcMode*)
     */
    CSL_PLLC_QUERY_MODE                 = 1,
	/**<
     * @brief   Queries PLL Controller State (operational/ powerdown).
     * @param   (CSL_PllcState*)
     */
    CSL_PLLC_QUERY_STATE                = 2,
    /**<
     * @brief   Queries Oscillator Powerdown State (operational/ powerdown).
     * @param   (CSL_PllcState*)
     */
    CSL_PLLC_QUERY_OSC_STATE            = 3,
    /**<
     * @brief   Queries PLL Controller Reset (reset released/ asserted).
     * @param   (CSL_PllcResetState*)
     */
    CSL_PLLC_QUERY_RESET                = 4,
    /**<
     * @brief   Queries PLL Controller DISABLE (Disable released/ asserted).
     * @param   (CSL_PllcDisableState*)
     */
    CSL_PLLC_QUERY_DISABLE              = 5,
    /**<
     * @brief   Queries Oscillator Input stable state (stable/ Not stable).
     * @param   (CSL_PllcOscStableState*)
     */ 
	CSL_PLLC_QUERY_OSC_STABLE_STATE     = 6,
    /**<
     * @brief   Queries PLL Core Lock Status (LOCKED / UNLOCKED).
     * @param   (CSL_PllcLockState*)
     */ 
	CSL_PLLC_QUERY_LOCK_STATE     		= 7,
    /**<
     * @brief   Queries Go Operation Enabled Status (Enabled/Disabled).
     * @param   (CSL_PllcGoState*)
     */ 
	CSL_PLLC_QUERY_GOEN_STATE     		= 8,
    /**<
     * @brief   Queries Go transition Status (Enabled/Disabled).
     * @param   (CSL_PllcGoStatus*)
     */ 
	CSL_PLLC_QUERY_GOSTAT     			= 9,
    /**<
     * @brief   Queries PLL Controller Multiplier multiplication factor.
     * @param   (CSL_BitMask16*)
     */
    CSL_PLLC_QUERY_PLLM_MUL_FACTOR      = 10,
    /**<
     * @brief   Queries PLL Controller Divider  state (enabled/ disabled).
     * and its divider ratio.
	 * @param   (CSL_PllcDivCntrl*)
     */
    CSL_PLLC_QUERY_DIVIDER_STATE        = 11,
    /**<
     * @brief   Queries the given clock (AUX/OBS/TCLK) state (ON/Gated)
     * @param   (CSL_PllcDivCntrl*)
     */
    CSL_PLLC_QUERY_CLK_STATE       		= 12,
	 /**<
     * @brief   Queries the given SYSCLK clock state (ON/Gated)
     * @param   (CSL_PllcSysClkStatus*)
     */
    CSL_PLLC_QUERY_SYSCLK_STATE       	= 13
}CSL_PllcHwStatusQuery;


typedef struct {
	/** Divider State (Enabled/Disabled) */
	CSL_PllcDivState	divEnable;
	/** Divider ratio */
	Uint32        		pllDivRatio;
} CSL_PllcDivEnable;

/** \brief  This struct describes the divider, its state and divider ratio 
 *
 *  It can be either enabled/disabled.
 */
typedef struct {
	/** Divider number (DIV0..DIV3, OD1*/
	CSL_PllcDivNum		divNum;
	CSL_PllcDivEnable	divControl; 
}CSL_PllcDivCntrl;	
	
/** \brief Hardware setup structure for PLLC
 */
typedef struct {
	/** PLLC Mode BYPASS or PLL */
	CSL_PllcMode	pllcMode;

    /** divider 0 enable/disable and its divider ratio */
    CSL_PllcDivEnable div0Enable;
	
	/** divider 1 enable/disable and its divider ratio */
	CSL_PllcDivEnable div1Enable;
	
	/** divider 2 enable/disable and its divider ratio */
	CSL_PllcDivEnable div2Enable;
	
	/** divider 3 enable/disable and its divider ratio */
	CSL_PllcDivEnable div3Enable;
	
	/** Oscillator divider 1 enable/disable and its divider ratio */
	CSL_PllcDivEnable oscDiv1Enable;

	/** PLL Multiplier factor */
    Uint32        pllM;

    /** PLL OBSCLK select  */
    Uint32        pllOcsel;

    /** Setup that can be used for future implementation */
    void         *extendSetup;
} CSL_PllcHwSetup;


/** \brief Config-structure
 *
 * Used to configure the pllc using CSL_wdtHwSetupRaw()
 */
typedef struct {
    /** pllc control/status register */
	volatile Uint32 PLLCSR;

	/** pllc multiplier control register */
    volatile Uint32 PLLM;

    /** pllc divider 0 register */
    volatile Uint32 PLLDIV0;

    /** pllc divider 1 register */
    volatile Uint32 PLLDIV1;

    /** pllc divider 2 register */
    volatile Uint32 PLLDIV2;

    /** pllc divider 3 register */
    volatile Uint32 PLLDIV3;

	/** PLL Command register */
	volatile Uint32 PLLCMD;

	/** PLL Align control register */
	volatile Uint32 ALNCTL;

	/** PLL Clock enable register */
	volatile Uint32 CKEN;

} CSL_PllcConfig;


/** \brief  This structure describes the sysclk and its corresponding
 *	status of the clock.
 *
 */
typedef struct {
	CSL_PllcSysClk	sysClk;			/* SYSCLK1 to SYSCLK8 */
	CSL_PllcClockStatus	pllClkState; /* Enable/Disable */	
}CSL_PllcSysClkStatus;

/** \brief Module specific context information. Present implementation of pllc CSL
 *  doesn't have any context information.
 */
typedef struct {
    /** Context information of pllc CSL.
     *  The below declaration is just a place-holder for future implementation.
     */
    Uint16  contextInfo;
} CSL_PllcContext;

/** \brief Module specific parameters. Present implementation of pllc CSL
 *  doesn't have any module specific parameters.
 */
typedef struct {
    /** Bit mask to be used for module specific parameters. The below
     *  declaration is just a place-holder for future implementation.
     */
    CSL_BitMask16   flags;
} CSL_PllcParam;

/** \brief This structure contains the base-address information for the peripheral
 *  instance of the PLLC
 */
typedef struct {
    /** Base-address of the configuration registers of the peripheral
     */
    CSL_PllcRegsOvly  regs;
} CSL_PllcBaseAddress;

/** \brief PLLC object structure
 */
typedef struct CSL_PllcObj{
    /** Pointer to the register overlay structure of the pllc */
    CSL_PllcRegsOvly  regs;
    /** Instance of pllc being referred by this object  */
    CSL_InstNum       pllcNum;
} CSL_PllcObj;


/** \brief Default values for config structure
 */
#define CSL_PLLC_CONFIG_DEFAULTS {  \
        CSL_PLLC_PLLCSR_RESETVAL,   \
		CSL_PLLC_PLLM_RESETVAL,     \
        CSL_PLLC_PLLDIV0_RESETVAL,  \
        CSL_PLLC_PLLDIV1_RESETVAL,  \
        CSL_PLLC_PLLDIV2_RESETVAL,  \
        CSL_PLLC_PLLDIV3_RESETVAL,  \
        CSL_PLLC_PLLCMD_RESETVAL,	\
        CSL_PLLC_ALNCTL_RESETVAL,  \
        CSL_PLLC_CKEN_RESETVAL \
}

/** \brief Default hardware setup parameters
 */
#define CSL_PLLC_HWSETUP_DEFAULTS{  \
        CSL_PLLC_BYPASS, \
		{CSL_PLLC_PLLDIV_DISABLE,0x0},\
		{CSL_PLLC_PLLDIV_ENABLE,0x0},\
		{CSL_PLLC_PLLDIV_ENABLE,0x2},\

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧洲av色图| 精品欧美乱码久久久久久| 午夜精品福利在线| 久久精品亚洲麻豆av一区二区 | 成人午夜私人影院| 五月天一区二区三区| 国产精品久线观看视频| 精品日韩在线一区| 9191久久久久久久久久久| eeuss鲁片一区二区三区在线看| 亚洲精品免费视频| 精品1区2区在线观看| 91啪亚洲精品| 国产一区激情在线| 日本伊人午夜精品| 亚洲线精品一区二区三区| 日本一区免费视频| 日韩精品专区在线影院重磅| 欧美亚洲一区三区| 91蜜桃视频在线| 丰满岳乱妇一区二区三区| 久久99精品国产| 日韩国产高清影视| 亚洲成av人片在www色猫咪| 成人欧美一区二区三区黑人麻豆| 国产亚洲综合av| 精品国产乱码久久久久久浪潮| 3atv在线一区二区三区| 欧美午夜电影网| 欧美图区在线视频| 欧洲色大大久久| 色香蕉成人二区免费| caoporm超碰国产精品| 另类专区欧美蜜桃臀第一页| 一卡二卡欧美日韩| 一区二区三区免费看视频| 亚洲青青青在线视频| 中文字幕一区二区三区在线播放 | 欧美三级乱人伦电影| 91理论电影在线观看| 91网址在线看| 色吧成人激情小说| 欧美性xxxxx极品少妇| 欧美色国产精品| 欧美日韩国产美女| 777xxx欧美| 日韩久久精品一区| 久久久久久久综合色一本| 久久精品亚洲乱码伦伦中文| 中文字幕av在线一区二区三区| 国产精品无码永久免费888| 国产精品久久久久久久久久久免费看 | 一本色道久久加勒比精品| 国产一区不卡视频| 成人激情文学综合网| a在线播放不卡| 色网综合在线观看| 欧美日韩一区二区三区四区| 欧美一级黄色片| 久久天天做天天爱综合色| 国产日韩精品视频一区| 中文字幕一区二区三区四区不卡| 亚洲欧美日韩在线| 午夜精品久久久久久久99水蜜桃 | 成人aa视频在线观看| 91丨porny丨户外露出| 欧美午夜电影网| 精品伦理精品一区| 国产精品久久久久aaaa樱花| 夜夜揉揉日日人人青青一国产精品 | 欧美精品日韩一区| 欧美三片在线视频观看| 91精品国产综合久久小美女| 亚洲精品一线二线三线| 国产精品毛片无遮挡高清| 亚洲成人资源网| 国产一区二区三区免费播放| 91麻豆精品一区二区三区| 日韩午夜在线播放| 日韩一区在线免费观看| 蜜桃精品视频在线观看| 成人少妇影院yyyy| 91精品国产91久久久久久一区二区| 久久先锋影音av| 亚洲综合色在线| 国产成人精品一区二区三区四区 | 成人午夜大片免费观看| 欧美日韩你懂的| 久久久www成人免费无遮挡大片| 亚洲欧美日韩在线不卡| 精品一区中文字幕| 色婷婷精品大在线视频| 日韩一区二区在线播放| 国产精品麻豆视频| 精品一区二区三区免费视频| 91在线丨porny丨国产| 2022国产精品视频| 三级久久三级久久| 91蜜桃在线免费视频| 久久精品人人做人人综合| 亚洲成人你懂的| 99久久夜色精品国产网站| 欧美mv和日韩mv的网站| 午夜国产精品一区| gogo大胆日本视频一区| ww亚洲ww在线观看国产| 午夜久久电影网| 色天使久久综合网天天| 国产精品无遮挡| 国产美女精品在线| 日韩亚洲欧美中文三级| 亚洲第一搞黄网站| 91免费观看国产| 中文字幕一区免费在线观看| 国产酒店精品激情| 日韩欧美国产电影| 日韩和欧美一区二区三区| 欧美亚洲综合另类| 一区二区三区日韩欧美精品| 成人av手机在线观看| 亚洲综合在线第一页| **欧美大码日韩| 亚洲免费观看高清| 日韩黄色在线观看| 91麻豆国产在线观看| 日韩欧美一卡二卡| 亚洲综合色丁香婷婷六月图片| 国产麻豆一精品一av一免费| 欧美自拍偷拍午夜视频| 久久久久久久电影| 亚洲午夜私人影院| 成人网男人的天堂| 精品少妇一区二区三区在线播放| 亚洲图片欧美激情| 国产成人午夜精品5599| 日韩女优制服丝袜电影| 一二三区精品视频| 99久久综合狠狠综合久久| 精品理论电影在线观看| 亚洲尤物视频在线| 97久久精品人人做人人爽50路| 精品美女在线观看| 日本成人在线一区| 欧美日韩免费不卡视频一区二区三区| 国产精品人妖ts系列视频| 久久精品久久99精品久久| 91福利视频网站| 中文字幕在线视频一区| 国产乱码字幕精品高清av| 91精品国产综合久久精品app| 亚洲摸摸操操av| 99精品视频免费在线观看| 国产亚洲成年网址在线观看| 久久99精品国产.久久久久久| 51久久夜色精品国产麻豆| 亚洲18影院在线观看| 欧美在线观看一区| 亚洲国产高清在线观看视频| 亚洲高清免费观看高清完整版在线观看| 美女看a上一区| 91成人国产精品| 亚洲免费在线视频| 色天天综合色天天久久| 亚洲精品欧美在线| 91日韩精品一区| 亚洲另类一区二区| 色综合久久天天综合网| 亚洲少妇30p| 色综合色狠狠天天综合色| 亚洲视频一区二区免费在线观看 | 亚洲综合小说图片| 色女孩综合影院| 亚洲自拍偷拍av| 欧美日本一道本| 亚洲乱码一区二区三区在线观看| 免费成人av在线播放| 欧美日韩在线播放| 亚洲成人精品影院| 日韩一区二区在线看| 九色综合狠狠综合久久| 久久久不卡网国产精品一区| 风流少妇一区二区| 一区二区三区视频在线看| 欧美色视频一区| 另类的小说在线视频另类成人小视频在线 | 亚洲国产三级在线| 欧美一区永久视频免费观看| 蜜乳av一区二区三区| 国产亚洲欧洲997久久综合| 国产成人精品一区二| 亚洲免费看黄网站| 欧美蜜桃一区二区三区| 国产最新精品精品你懂的| 中文在线一区二区| 欧美日本视频在线| 国产乱人伦偷精品视频不卡| 亚洲人成亚洲人成在线观看图片| 欧美欧美欧美欧美首页| 国产成人亚洲精品狼色在线| 亚洲尤物视频在线|