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

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

?? icg.h

?? This network protcol stack,it is very strong and powerful!
?? H
字號:
/************************************************************************************
* This module contains the ICG module defines etc.
* 
* Note! Support for selecting external crystal and external clock source from Abel 2.0
*
* Author(s):  Michael V. Christensen
*
* (c) Copyright 2004, Freescale, Inc.  All rights reserved.
*
* Freescale Confidential Proprietary
* Digianswer Confidential
*
* No part of this document must be reproduced in any form - including copied,
* transcribed, printed or by any electronic means - without specific written
* permission from Freescale.
*
* Last Inspected: 29-03-01
* Last Tested:
************************************************************************************/

#ifndef _ICG_H
#define _ICG_H

#include "DigiType.h"
#include "phy_spi.h"
#include "AbelReg.h"
#include "gb60_io.h"
#include "NV_Data.h"

// **************************************************************************
// debug defines

//#define ENABLE_LEDS // Enables status on LEDS
//#define ENABLE_DEBUG_MEASURING // Enables bus frequency measuring loop after setup

// **************************************************************************
// User configuration defines

// Select one type of external clock source.
//#define USE_EXT_CLK // Use external crystal
#define USE_ABEL_CLKO // Use Abel CLKO output - select Abel CLKO frequency below

// Uses the values from NV RAM else  use default values
#define USE_VALUES_FROM_NV_RAM 
							  

#ifdef USE_ABEL_CLKO
// If Abel version 2.0/2.1 CLKO clock is selected - select one Abel CLKO output frequency.
// Note! All values will give a CPU frequency = 16 MHz and a bus frequency = 8 MHz
// However, 32,78 KHz and 16,39 KHz will give 8,39 MHz as bus frequency. This has impact on
// the UART baud rate and SPI clock.

	//#define USE_16MHZ_CLKO // DO NOT SELECT THIS - WILL NOT WORK (MAX. 10 MHz)
	//#define USE_8MHZ_CLKO
	//#define USE_4MHZ_CLKO
	//#define USE_2MHZ_CLKO
	//#define USE_1MHZ_CLKO // REQUIRES ADDITIONAL NOPS
	#define USE_62_5KHZ_CLKO
	//#define USE_32_78KHZ_CLKO
	//#define USE_16_39KHZ_CLKO // REQUIRES ADDITIONAL NOPS

// If Abel version 2.0/2.1 CLKO clock is selected - select one Abel CLKO output frequency.
// Note! All values will give a CPU frequency = 32 MHz and a bus frequency = 16 MHz
// However, 32,78 KHz and 16,39 KHz will give 16,78 MHz as bus frequency. This has impact on
// the UART baud rate and SPI clock.
    //#define USE_32_78KHZ_CLKO_AT_16_78HMZ
    //#define USE_32_78KHZ_CLKO_AT_14_24HMZ
    
#endif USE_ABEL_CLKO

// **************************************************************************
// Abel CLKO defines

// Abel CLKO register valuedefines
#define ABEL_16MHZ		0x0000
#define ABEL_8MHZ		0x0001
#define ABEL_4MHZ		0x0002
#define ABEL_2MHZ		0x0003
#define ABEL_1MHZ		0x0004
#define ABEL_62_50KHZ	0x0005
#define ABEL_32_78KHZ	0x0006
#define ABEL_16_39KHZ	0x0007

// **************************************************************************

// Note! The selected clock is the CPU frequency. Bus clock is half of CPU.
// I.e. CPU = 16 MHz => 8 MHz bus clock

// Set ICG module to run @ 8 MHz as bus clock using Abel clock 16 MHz clock out
#define ABEL_CLOKO_16MHZ_TO_8MHZ_ICG ICGC2 = 0x02; \
									 ICGC1 = 0x58;

// Set ICG module to run @ 8 MHz as bus clock using Abel clock 8 MHz clock out
#define ABEL_CLOKO_8MHZ_TO_8MHZ_ICG	 ICGC2 = 0x01; \
									 ICGC1 = 0x58;

// Set ICG module to run @ 8 MHz as bus clock using Abel clock 4 MHz clock out
#define ABEL_CLOKO_4MHZ_TO_8MHZ_ICG	 ICGC2 = 0x00; \
									 ICGC1 = 0x58;

// Set ICG module to run @ 8 MHz as bus clock using Abel clock 2 MHz clock out
#define ABEL_CLOKO_2MHZ_TO_8MHZ_ICG	 ICGC2 = 0x20; \
									 ICGC1 = 0x58;

// Set ICG module to run @ 8 MHz as bus clock using Abel clock 1 MHz clock out
#define ABEL_CLOKO_1MHZ_TO_8MHZ_ICG	 ICGC2 = 0x60; \
									 ICGC1 = 0x58;

// Set ICG module to run @ 8 MHz as bus clock using Abel clock 62,5 KHz clock out
#define ABEL_CLOKO_62_5_TO_8MHZ_ICG  ICGC2 = 0x00; \
									 ICGC1 = 0x18; 

// Note! Below running @ 8,39 MHz
// Set ICG module to run @ 8,39 MHz as bus clock using Abel clock 32,78 KHz clock out
#define ABEL_CLOKO_32_78_TO_8MHZ_ICG ICGC2 = 0x20; \
									 ICGC1 = 0x18; 

// Set ICG module to run @ 8,39 MHz as bus clock using Abel clock 16,39 KHz clock out
#define ABEL_CLOKO_16_39_TO_8MHZ_ICG ICGC2 = 0x60; \
									 ICGC1 = 0x18; 

// Set ICG module to run @ 8 MHz as bus clock using external crystal
#define EXT_CRYSTAL_4MHZ_TO_8MHZ_ICG ICGC2 = 0x00; \
									 ICGC1 = 0x78;
									 

// Set ICG module to run @ 16,78 MHz as bus clock using Abel clock 32,78 KHz clock out
#define ABEL_CLOKO_32_78_TO_16_78MHZ_ICG ICGC2 = 0x60; \
									     ICGC1 = 0x18; 

// Set ICG module to run @ 14,24 MHz as bus clock using Abel clock 32,78 KHz clock out
#define ABEL_CLOKO_32_78_TO_14_24MHZ_ICG ICGC2 = 0x50; \
									     ICGC1 = 0x18; 


// **************************************************************************

// SCM filter values for ~8 MHz bus clock
#define ICGFLTH_VALUE_8MHZ			0x02
#define ICGFLTL_VALUE_8MHZ			0x40

// SCM filter values for ~2 MHz bus clock (lowest possible value)
#define ICGFLTH_VALUE_2MHZ			0x00
#define ICGFLTL_VALUE_2MHZ			0x11 //0x10

// **************************************************************************

// Set ICG module to run @ 8 MHz as SCM bus clock. Adjust filter
// Note! LSB first
#define SCM_8MHZ_DEFAULT_ICG_FILTER	ICGFLTL = ICGFLTL_VALUE_8MHZ; \
									ICGFLTH = ICGFLTH_VALUE_8MHZ;

// Set ICG module to run @ 2 MHz as SCM bus clock. Adjust filter
// Note! LSB first
#define SCM_2MHZ_ICG_FILTER		ICGFLTL = ICGFLTL_VALUE_2MHZ; \
								ICGFLTH = ICGFLTH_VALUE_2MHZ;

// **************************************************************************

#define SELECT_SCM_MODE				ICGC1 = 0x40;

// **************************************************************************

#define LOOP_COUNTER_VALUE			100

// **************************************************************************
// Configuration dependend defines

#ifdef USE_ABEL_CLKO

#ifdef USE_16MHZ_CLKO
	#define DEFAULT_SETUP_ICG_MODULE	ABEL_CLOKO_16MHZ_TO_8MHZ_ICG
	#define SELECT_ABEL_CLOCK			ABEL_16MHZ
#endif USE_16MHZ_CLKO

#ifdef USE_8MHZ_CLKO
	#define DEFAULT_SETUP_ICG_MODULE	ABEL_CLOKO_8MHZ_TO_8MHZ_ICG
	#define SELECT_ABEL_CLOCK			ABEL_8MHZ
#endif USE_8MHZ_CLKO

#ifdef USE_4MHZ_CLKO
	#define DEFAULT_SETUP_ICG_MODULE	ABEL_CLOKO_4MHZ_TO_8MHZ_ICG
	#define SELECT_ABEL_CLOCK			ABEL_4MHZ
#endif USE_4MHZ_CLKO

#ifdef USE_2MHZ_CLKO
	#define DEFAULT_SETUP_ICG_MODULE	ABEL_CLOKO_2MHZ_TO_8MHZ_ICG
	#define SELECT_ABEL_CLOCK			ABEL_2MHZ
#endif USE_2MHZ_CLKO

#ifdef USE_1MHZ_CLKO
	#define DEFAULT_SETUP_ICG_MODULE	ABEL_CLOKO_1MHZ_TO_8MHZ_ICG
	#define SELECT_ABEL_CLOCK			ABEL_1MHZ
#endif USE_1MHZ_CLKO

#ifdef USE_62_5KHZ_CLKO
	#define DEFAULT_SETUP_ICG_MODULE	ABEL_CLOKO_62_5_TO_8MHZ_ICG
	#define SELECT_ABEL_CLOCK			ABEL_62_50KHZ
#endif USE_62_5KHZ_CLKO

#ifdef USE_32_78KHZ_CLKO
	#define DEFAULT_SETUP_ICG_MODULE	ABEL_CLOKO_32_78_TO_8MHZ_ICG
	#define SELECT_ABEL_CLOCK			ABEL_32_78KHZ
#endif USE_32_78KHZ_CLKO

#ifdef USE_16_39KHZ_CLKO
	#define DEFAULT_SETUP_ICG_MODULE	ABEL_CLOKO_16_39_TO_8MHZ_ICG
	#define SELECT_ABEL_CLOCK			ABEL_16_39KHZ
#endif USE_16_39KHZ_CLKO


#ifdef USE_32_78KHZ_CLKO_AT_16_78HMZ
	#define DEFAULT_SETUP_ICG_MODULE	ABEL_CLOKO_32_78_TO_16_78MHZ_ICG
	#define SELECT_ABEL_CLOCK			ABEL_32_78KHZ
#endif USE_32_78KHZ_CLKO_AT_16_78HMZ

#ifdef USE_32_78KHZ_CLKO_AT_14_24HMZ
	#define DEFAULT_SETUP_ICG_MODULE	ABEL_CLOKO_32_78_TO_14_24MHZ_ICG
	#define SELECT_ABEL_CLOCK			ABEL_32_78KHZ
#endif USE_32_78KHZ_CLKO_AT_14_24_HMZ


#define DEFAULT_SETUP_ABEL_CLOCK		ABEL_WRITE(ABEL_regA, 0x3640 | SELECT_ABEL_CLOCK);
#define NV_SETUP_ABEL_CLOCK				ABEL_WRITE(ABEL_regA, NV_RAM_ptr->Abel_Clock_Out_Setting);

#endif USE_ABEL_CLKO




// **************************************************************************

#define NV_SETUP_ICG_MODULE	ICGC2 = NV_RAM_ptr->NV_ICGC2; \
							ICGC1 = NV_RAM_ptr->NV_ICGC1; 

// **************************************************************************

#ifdef USE_EXT_CLK

	#define SETUP_ICG_MODULE		EXT_CRYSTAL_4MHZ_TO_8MHZ_ICG
	#define SETUP_ABEL_CLOCK 		// Empty

#endif USE_EXT_CLK

// **************************************************************************
// Macros

#define SETUP_ICG_MODULE	if(NV_RAM_ptr != NULL) \
							{ \
								NV_SETUP_ICG_MODULE \
							} \
							else \
							{ \
								DEFAULT_SETUP_ICG_MODULE\
							}

#define SETUP_ABEL_CLOCK	if(NV_RAM_ptr != NULL) \
							{ \
								NV_SETUP_ABEL_CLOCK \
							} \
							else \
							{ \
								DEFAULT_SETUP_ABEL_CLOCK \
							}
							
// **************************************************************************

// Some NOPS
#define SOME_NOPS	__asm nop; \
			 		__asm nop; \
			 		__asm nop; \
			 		__asm nop; \
			 		__asm nop; \
			 		__asm nop;
							      
// These special low CLKO requires additional settling nops
#if defined USE_16_39KHZ_CLKO | defined USE_1MHZ_CLKO | defined USE_16MHZ_CLKO
	// A few NOPS in loop for clock to settle.
	#define WAIT_FOR_STABLE_CLOCK	{                           \
								   	uint8_t i;                  \
										for(i = 50; i > 0; i--) \
											SOME_NOPS           \
									}
#else
	// A few NOPS for clock to settle.
	#define WAIT_FOR_STABLE_CLOCK	SOME_NOPS
#endif 							   
// **************************************************************************

#ifdef ENABLE_DEBUG_MEASURING

// This macro can be used to measure the bus frequency.
// The loop and toggling of the GPIO takes 22318 cycles.
// Connect a scope on PTC6 trigger falling edge. MUST BE UNUSED IN SYSTEM
// Number of cycles 22318 divided with measured time on scope _|-|_ = bus clock in Hz
#define MEASURING_BUS_CLOCK     PTCPE = 0x00;                   \
								PTCSE = 0x00;                   \
								PTCDD = 0x40;                   \
																\
								PTCD &= ~0x40;					\
						  		    	  					    \
															    \
  						        PTCD |= 0x40;					\
															    \
						        {								\
						        uint16_t i, j;					\
															    \
							      for(i = 10; i > 0; i--)		\
								    for(j = 100; j > 0; j--);	\
						        } 								\
															    \
  					            PTCD &= ~0x40;

#else
#define MEASURING_BUS_CLOCK // Empty function

#endif ENABLE_DEBUG_MEASURING

// **************************************************************************

#ifdef ENABLE_LEDS

// Setup port F 0,1,2 and 3 as output LED1, LED2, LED3 and LED4
#define SETUP_LED_PORT 		PTFPE = 0x00; \
							PTFSE = 0x00; \
							PTFDD = 0x0F;


// LED's on Axiom development board are inverted.
// I.e. port = "1" => LED off and port = "0" => LED on
#define SET_LED1			PTFD &= ~0x01;
#define SET_LED2		 	PTFD &= ~0x02;
#define SET_LED3			PTFD &= ~0x04;
#define SET_LED4			PTFD &= ~0x08;

#define CLEAR_LED1			PTFD |= 0x01;
#define CLEAR_LED2			PTFD |= 0x02;
#define CLEAR_LED3			PTFD |= 0x04;
#define CLEAR_LED4			PTFD |= 0x08;


#define TOGGLE_LED1			if((PTFD & 0x01) == 0x01) \
								SET_LED1              \
							else                      \
								CLEAR_LED1

#define TOGGLE_LED2			if((PTFD & 0x02) == 0x02) \
								SET_LED2              \
							else                      \
								CLEAR_LED2         

#define TOGGLE_LED3			if((PTFD & 0x04) == 0x04) \
								SET_LED3              \
							else                      \
								CLEAR_LED3

#define TOGGLE_LED4			if((PTFD & 0x08) == 0x08) \
								SET_LED4              \
							else                      \
								CLEAR_LED4
								
#else ENABLE_LEDS

// Use empty defines

#define SETUP_LED_PORT

// LED's on Axiom development board are inverted.
// I.e. port = "1" => LED off and port = "0" => LED on
#define SET_LED1
#define SET_LED2
#define SET_LED3
#define SET_LED4

#define CLEAR_LED1
#define CLEAR_LED2
#define CLEAR_LED3
#define CLEAR_LED4

#define TOGGLE_LED1
#define TOGGLE_LED2
#define TOGGLE_LED3
#define TOGGLE_LED4
								
#endif ENABLE_LEDS

// **************************************************************************

// Some ICG module bit positions
#define ICG_IRQ_PENDING	0x01
#define ICG_FLL_LOCKED	0x08

// **************************************************************************
// Prototypes

extern void ICG_Setup(void);

// **************************************************************************

#endif _ICG_H

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美韩国日本一区| 日韩中文字幕区一区有砖一区| 亚洲精品视频一区| 久草这里只有精品视频| 91免费在线看| 国产视频在线观看一区二区三区| 亚洲午夜一区二区三区| 成人毛片在线观看| 日韩视频中午一区| 亚洲国产精品欧美一二99| 成人黄色电影在线| 日韩女优电影在线观看| 亚洲影视在线观看| 99精品欧美一区二区蜜桃免费| 久久这里只有精品视频网| 亚洲第一久久影院| 在线免费一区三区| 国产精品久久久久久久浪潮网站| 久久99精品久久久久久久久久久久| 欧美日韩精品免费观看视频| 日韩毛片在线免费观看| 成人av资源站| 中文字幕乱码日本亚洲一区二区| 九九热在线视频观看这里只有精品| 欧美在线视频不卡| 亚洲一区欧美一区| 91高清视频免费看| 一区二区三区91| 一本大道久久a久久精二百| 国产精品超碰97尤物18| 成人av网站在线观看| 亚洲国产精品成人综合色在线婷婷| 韩国av一区二区三区在线观看| 欧美日韩精品一二三区| 亚洲色图欧美在线| 色婷婷精品大在线视频| 一区二区三区在线影院| 在线观看亚洲专区| 亚洲不卡av一区二区三区| 在线视频你懂得一区二区三区| 一区二区三区91| 欧美精品日韩精品| 麻豆精品久久精品色综合| 日韩欧美亚洲一区二区| 韩国一区二区视频| 久久综合九色综合欧美亚洲| 久久er精品视频| 国产亚洲一本大道中文在线| 成人app网站| 亚洲最大成人网4388xx| 69p69国产精品| 美腿丝袜亚洲色图| 日本一区二区不卡视频| 在线观看精品一区| 老司机免费视频一区二区| 久久久综合视频| 99精品热视频| 日韩影院精彩在线| 久久蜜桃av一区二区天堂| 91在线视频观看| 三级影片在线观看欧美日韩一区二区 | 婷婷综合另类小说色区| 日韩精品专区在线影院重磅| 丁香婷婷综合色啪| 亚洲国产日韩一级| 久久你懂得1024| 在线观看日韩一区| 国产福利一区二区三区视频| 国产精品亚洲一区二区三区妖精| 国产精品麻豆欧美日韩ww| 欧美伊人精品成人久久综合97| 麻豆精品国产传媒mv男同| 一区二区在线观看视频在线观看| 国产成人小视频| 亚洲成精国产精品女| 亚洲精品一区二区三区四区高清| 91丝袜美腿高跟国产极品老师| 日韩精品亚洲一区二区三区免费| 中文字幕不卡在线观看| 欧美精品久久99| 99久久精品免费看国产 | 亚洲精品一区二区三区影院| 91啪亚洲精品| 国产一区二区电影| 午夜精品在线看| 亚洲女爱视频在线| 国产亚洲欧美在线| 91精品国产综合久久久久久久| 成a人片国产精品| 精品一区二区三区香蕉蜜桃| 亚洲国产综合在线| 最新日韩av在线| 欧美激情一区二区三区| 欧美成人伊人久久综合网| 欧美中文字幕一区| av一区二区三区黑人| 国产激情一区二区三区| 蜜芽一区二区三区| 亚洲va欧美va国产va天堂影院| 综合网在线视频| 国产精品欧美一区二区三区| 久久尤物电影视频在线观看| 日韩一区二区三区视频| 欧美肥大bbwbbw高潮| 日本道色综合久久| 色噜噜狠狠成人网p站| 99国产欧美久久久精品| 成人黄色电影在线 | 不卡欧美aaaaa| 国产91精品免费| 国产精品一二一区| 激情久久五月天| 久久精品99国产国产精| 麻豆精品一二三| 免费高清在线一区| 久久激情五月激情| 极品少妇xxxx精品少妇偷拍| 美女视频黄 久久| 久久精品国内一区二区三区| 久久精品国产亚洲a| 黑人精品欧美一区二区蜜桃| 国产在线播放一区三区四| 国产精品系列在线观看| 国产91露脸合集magnet| av影院午夜一区| 色一区在线观看| 欧美日韩精品综合在线| 日韩一区二区三区免费看| 精品国产乱码久久久久久久久| ww亚洲ww在线观看国产| 日本一区二区在线不卡| 自拍偷拍亚洲欧美日韩| 亚洲五码中文字幕| 免费在线视频一区| 国产乱码精品一区二区三区av| 成人午夜碰碰视频| 91福利视频网站| 制服丝袜日韩国产| 久久先锋影音av鲁色资源| 国产精品色在线| 亚洲激情中文1区| 奇米精品一区二区三区在线观看一| 久久99精品一区二区三区 | 日韩影院在线观看| 国产麻豆一精品一av一免费| 99国产欧美久久久精品| 欧美日高清视频| 日韩一区二区免费在线电影| 久久综合五月天婷婷伊人| 国产精品福利一区二区三区| 亚洲精品老司机| 久久精品国产**网站演员| 日韩欧美国产系列| 99视频一区二区三区| 欧美日韩不卡一区| 久久综合资源网| 亚洲h在线观看| 国产jizzjizz一区二区| 欧美肥妇毛茸茸| 中文字幕日韩欧美一区二区三区| 99精品在线观看视频| 91精品婷婷国产综合久久| 国产欧美一区二区精品性色| 亚洲不卡av一区二区三区| 高清国产一区二区三区| 欧美日韩一区在线观看| 国产亚洲女人久久久久毛片| 午夜视频在线观看一区二区三区| 粉嫩蜜臀av国产精品网站| 欧美丰满少妇xxxxx高潮对白 | 国产精品一二三四| 欧美日韩电影一区| 亚洲欧美国产三级| 国产成人精品在线看| 制服丝袜成人动漫| 亚洲一区在线观看网站| 成人爽a毛片一区二区免费| 日韩精品中文字幕在线不卡尤物 | 国产网站一区二区| 毛片av中文字幕一区二区| 欧美影院一区二区| 最近中文字幕一区二区三区| 国产在线播放一区| 欧美大片在线观看一区| 婷婷久久综合九色综合绿巨人 | 欧美日韩亚洲综合| 亚洲欧美日韩国产综合| 成人app在线| 中文字幕欧美三区| 国产成人av电影在线观看| 精品国产凹凸成av人导航| 日本不卡一区二区三区 | 色综合久久精品| 国产精品国产精品国产专区不片| 国产精品羞羞答答xxdd| 国产亚洲精品免费| 国内成人自拍视频| 久久久九九九九| 国产成人aaa| 国产精品久久久久影视|