;	[]===========================================================[]
;
;	NOTICE: THIS PROGRAM BELONGS TO AWARD SOFTWARE INTERNATIONAL(R)
;	        INC. IT IS CONSIDERED A TRADE SECRET AND IS NOT TO BE 	
;	        DIVULGED OR USED BY PARTIES WHO HAVE NOT RECEIVED	
;	        WRITTEN AUTHORIZATION FROM THE OWNER.
;
; 	[]===========================================================[]
;

;----------------------------------------------------------------------------
;Rev	  Date	 Name	Description
;----------------------------------------------------------------------------
;R13	11/09/98 LAW	add pulci PCI_Clk_Val for use PCI CLOCK to control PCI
;			Device Enable/Disable
;R12	10/07/98 PAL	Fixed disable CMOS bank2 value error
;R11	08/12/98 PAL	Add macro definition for supporting BIOS 6.0
;			"DEFINE_MENUITEM" is a dummy macro in BIOS 4.51 & 4.6
;R09A	07/31/98 PAL	Add "No_Use_CPU_Freq_Detection" patch ALi and Sis Chipset
;R10	07/17/98 PAL	Change definition avoid to conflict with jumpless
;R09	07/06/98 PAL	Add "No_Use_CPU_Freq_Detection" option
;R08	05/20/98 PAL	Add "WARNING_SIGN_IF_CPU_CHANGE" option.
;R07	04/24/98 PAL	Added to distinguish CPU type for selection proper freq.
;R06	04/24/98 RCH	Changed default setting for host clock to "disable"
;			also display PCI clock.
;R05	04/23/98 PAL	Added Add_Freq_Val_Disable Support	
;R04	04/21/98 PAL	Support THREE_SDRAM_Clk_Only
;R03	04/15/98 PAL	Support Two_SDRAM_Clk_Only
;R02	04/13/98 PAL	Added Multi-Language 
;R01	03/27/98 PAL	Add coding for easier definition
;R00	12/11/97 TNY	Initial revision

ifdef	ICW11114_Support
ifdef	COMPILE_FOR_CLKCNTL_ASM
IF	COMPILE_FOR_CLKCNTL_ASM EQ 2
		ALIGN	4
		;---------------------
		;      index  	Value
		;---------------------
Prg_ClkGen_Num:
		db	007h		; 7 data block
Prg_ClkGen_Tbl:
SDRAM_Clk_Val:
		db	0ffh		; Byte 0, SDRAMCLK0
		db	0ffh		; Byte 1, SDRAMCLK1
		db	0c0h		; Byte 2, SDRAMCLK2
Boost_Val:
		db	000h		; Byte 3, Boost
CPU_CLK_Val:
		db	045h		; Byte 4, CPUCLK
		Public	PCI_Clk_Val	;R13
PCI_Clk_Val:
		db	0efh		; Byte 5, PCICLK
Peripheral_Clk_Val:
		db	023h		; Byte 6, PeripheralCntl & APIC	
Prg_ClkGen_Tbl_End:

		db	'$ML$'		;R02
		
Prepare_ClkGen_Val	Proc	near
ifndef	No_Use_CPU_Freq_Detection	;R09
;R07 - start
ifdef	ICW11114_Freq_Cntl
		push	ds
		push	seg DGROUP
		pop	ds
		ASSUME	CS:EGROUP,DS:DGROUP
		extrn	F000_Shadow_W:near
		extrn	F000_Shadow_R:near
		F000_call	DGROUP:F000_Shadow_W
				
		extrn	Ct_Quatify_100Mhz:near
		call	Ct_Quatify_100Mhz
		jc	short Sure_100Mhz
ifdef	Add_Freq_Val_Disable
		mov	bx, 0805h
else;	Add_Freq_Val_Disable
		mov	bx, 0704h
endif;	Add_Freq_Val_Disable
		jmp	short Mask_Start
	Sure_100Mhz:
ifdef	Add_Freq_Val_Disable
		mov	bx, 0401h
else;	Add_Freq_Val_Disable
		mov	bx, 0300h
endif;	Add_Freq_Val_Disable
	Mask_Start:
		mov	dh,1
		mov	si,offset DGROUP:ICW11114_Freq_Item
		extrn	Setup_Selectable:near
		call	Setup_Selectable

		F000_call	DGROUP:F000_Shadow_R
		pop	ds
endif;	ICW11114_Freq_Cntl
;R07 - end
endif;	No_Use_CPU_Freq_Detection	;R09
	
		extrn	Get_CfgSpace_Byte:near

		extrn	ClkCntl_Item:near			
		mov	si,offset DGROUP:ClkCntl_Item		
		call	F000_GetItem_Value			
		or	al,al					
		jnz	Enable_Clk_Source			

ifdef	New_ICW11114_Boost_Val
		mov	si,offset Boost_Val			
		mov	byte ptr cs:[si],New_ICW11114_Boost_Val
endif;	New_ICW11114_Boost_Val

ifdef	New_ICW11114_CPUClk_Val	
		mov	si,offset CPU_CLK_Val			
		mov	byte ptr cs:[si],New_ICW11114_CPUClk_Val	
endif;	New_ICW11114_CPUClk_Val

		extrn	Ct_Get_Row_Map:near
		call	Ct_Get_Row_Map

;----- Now ah bit 76543210 contain row 76543210 ----

ifdef	Disable_SDRAM_EXACTLY
		mov	si,offset SDRAM_Clk_Val			
		test	al,SDRAM_Clk1_Correspond_Bit
		jnz	short @F
		and	byte ptr cs:[si],not SDRAM_Clk1_Pin_Bits1
		and	byte ptr cs:[si+1],not SDRAM_Clk1_Pin_Bits2
		and	byte ptr cs:[si+2],not SDRAM_Clk1_Pin_Bits3
	    @@:	

		test	al,SDRAM_Clk2_Correspond_Bit
		jnz	short @F
		and	byte ptr cs:[si],not SDRAM_Clk2_Pin_Bits1
		and	byte ptr cs:[si+1],not SDRAM_Clk2_Pin_Bits2
		and	byte ptr cs:[si+2],not SDRAM_Clk2_Pin_Bits3
	    @@:	
ifndef	TWO_SDRAM_ClK_ONLY			;R03
		test	al,SDRAM_Clk3_Correspond_Bit
		jnz	short @F
		and	byte ptr cs:[si],not SDRAM_Clk3_Pin_Bits1
		and	byte ptr cs:[si+1],not SDRAM_Clk3_Pin_Bits2
		and	byte ptr cs:[si+2],not SDRAM_Clk3_Pin_Bits3
	    @@:	
ifndef	THREE_SDRAM_ClK_ONLY			;R04
		test	al,SDRAM_Clk4_Correspond_Bit
		jnz	short @F
		and	byte ptr cs:[si],not SDRAM_Clk4_Pin_Bits1
		and	byte ptr cs:[si+1],not SDRAM_Clk4_Pin_Bits2
		and	byte ptr cs:[si+2],not SDRAM_Clk4_Pin_Bits3
	    @@:	
endif;	THREE_SDRAM_ClK_ONLY			;R04
endif;	TWO_SDRAM_ClK_ONLY			;R03
else;	Disable_SDRAM_EXACTLY

		test	al,11111111b
		jnz	short No_Disable_SDRAM_Clk
		
		mov	si,offset SDRAM_Clk_Val			
		mov	byte ptr cs:[si],0
		mov	byte ptr cs:[si+1],0
		mov	byte ptr cs:[si+2],0

No_Disable_SDRAM_Clk:
endif;	Disable_SDRAM_EXACTLY

ifdef	New_ICW11114_PeripheralClk_Val
		mov	si,offset Peripheral_Clk_Val			
		mov	byte ptr cs:[si],New_ICW11114_PeripheralClk_Val
endif;	New_ICW11114_PeripheralClk_Val

ifdef	New_ICW11114_PCIClk_Val	
		mov	si,offset PCI_Clk_Val			
		mov	byte ptr cs:[si],New_ICW11114_PCIClk_Val
endif;	New_ICW11114_PCIClk_Val

		mov	si,offset PCI_Clk_Val			

		mov	cx,(SLOT1_ID SHL 11)+04h
		push	si
		f000_call	DGROUP:Get_CfgSpace_Byte
		pop	si
		cmp	al, -1			;Is slot 1 exist ?
		jne	short @f		;Yes, skip!
		and	byte ptr cs:[si],not ICW11114_SLOT1_Clk
	 @@:

		mov	cx,(SLOT2_ID SHL 11)+04h
		push	si
		f000_call	DGROUP:Get_CfgSpace_Byte
		pop	si
		cmp	al, -1			;Is slot 2 exist ?
		jne	short @f		;Yes, skip!
		and	byte ptr cs:[si],not ICW11114_SLOT2_Clk
	 @@:

		mov	cx,(SLOT3_ID SHL 11)+04h
		push	si
		f000_call	DGROUP:Get_CfgSpace_Byte
		pop	si
		cmp	al, -1			;Is slot 3 exist ?
		jne	short @f		;Yes, skip!
		and	byte ptr cs:[si],not ICW11114_SLOT3_Clk
	 @@:
ifndef	THREE_PCI_SLOT_ONLY					
		mov	cx,(SLOT4_ID SHL 11)+04h
		push	si
		f000_call	DGROUP:Get_CfgSpace_Byte
		pop	si
		cmp	al, -1			;Is slot 4 exist ?
		jne	short @f		;Yes, skip!
		and	byte ptr cs:[si],not ICW11114_SLOT4_Clk
	 @@:
endif;	THREE_PCI_SLOT_ONLY					


ifdef	FIVE_PCI_SLOTS
		mov	cx,(SLOT5_ID SHL 11)+04h
		push	si
		f000_call	DGROUP:Get_CfgSpace_Byte
		pop	si
		cmp	al, -1			;Is slot 5 exist ?
		jne	short @f		;Yes, skip!
		and	byte ptr cs:[si],not ICW11114_SLOT5_Clk
	 @@:
endif;	FIVE_PCI_SLOTS

ifdef	ICW11114_AGP_Clk
		mov	si,offset EGROUP:CPU_CLK_Val
		push	si
		mov	ecx, 030000h		;class code
		xor	si, si
	Find_Next:
		mov	ax, 0B103h
		int	1ah
		cmp	ah, 86h			;DEVICE_NOT_FOUND=86h
		jne	short @F
		cmp	ecx, 030100h		;class code
		je	short End_Find_AGP
		mov	ecx, 030100h		;class code
		jmp	short Find_Next
	@@:
		cmp	bh, 1
		je	short AGP_Found
		inc	si
		jmp	short Find_Next
	End_Find_AGP:
		pop	si
		and	byte ptr cs:[si],not ICW11114_AGP_Clk
		jmp	short TurnOff_AGP_End
	AGP_Found:
		pop	si
	TurnOff_AGP_End:
endif;	ICW11114_AGP_Clk

Enable_Clk_Source:					

ifdef	ICW11114_Freq_Cntl
		in 	al,64h		;is 8042 output buffer full ?
		newiodelay
		newiodelay
		test	al,00000001b
		jz 	short No_Key_Press

		mov	cx,05000h
	Get_Dummy:
		in	al, 60h			;get dummy data
		loop	short Get_Dummy

		in 	al,60h		;key press ?
		newiodelay
		newiodelay

 		cmp 	al,052h		;"Ins " ?
		je	Disable_Freq	;Yes, skip!
No_Key_Press:
ifndef	No_Use_CPU_Freq_Detection	;R09A
;R08 - start
;R10ifdef	WARNING_SIGN_IF_CPU_CHANGE
		extrn	Get_Cmos:near
		extrn	Set_Cmos:near

		and	OEM_Error_CMOS1[bp], not OEM_Error_CMOS_Bits1

		mov	al,OEM_Error_CMOS1 NMI_OFF
		F000_CALL DGROUP:Get_Cmos
		and	al,NOT OEM_Error_CMOS_Bits1
		mov	ah,al			;set cpu changed flag
		mov	al,OEM_Error_CMOS1 NMI_OFF
		F000_CALL DGROUP:Set_Cmos

		call	Ct_Quatify_100Mhz
ifdef	Add_Freq_Val_Disable
		mov	bx,0805h
		jc	short @F
		mov	bx,0401h
	@@:
else;	Add_Freq_Val_Disable
		mov	bx,0704h
		jc	short @F
		mov	bx,0300h
	@@:
endif;	Add_Freq_Val_Disable

		mov	si,offset DGROUP:ICW11114_Freq_Item
		call	F000_GetItem_Value

ifdef	Add_Freq_Val_Disable
		or	al,al
		jz	short In_Range
endif;	Add_Freq_Val_Disable

		cmp	al,bl
		jb	short Out_of_Range
		
		cmp	al,bh
		ja	short Out_of_Range

		jmp	short In_Range

	Out_of_Range:
	
		mov	al,OEM_Error_CMOS1 NMI_OFF
		F000_CALL DGROUP:Get_Cmos
		or	al,OEM_Error_CMOS_Bits1
		mov	ah,al			;set cpu changed flag
		mov	al,OEM_Error_CMOS1 NMI_OFF
		F000_CALL DGROUP:Set_Cmos

		or	OEM_Error_CMOS1[bp],OEM_Error_CMOS_Bits1

ifdef	Add_Freq_Val_Disable
		and	ICW11114_Freq_CMOS[bp], not ICW11114_Freq_CMOS_Bits
endif;	Add_Freq_Val_Disable

		jmp	short Disable_Freq
	In_Range:
;R10endif;	WARNING_SIGN_IF_CPU_CHANGE
;R08 - end
endif;	No_Use_CPU_Freq_Detection	;R09A

		extrn	ICW11114_Freq_Item:near
		mov	si,offset DGROUP:ICW11114_Freq_Item
		call	F000_GetItem_Value
ifdef	Add_Freq_Val_Disable			;R05
		or	al, al			;R05
		jz	short Disable_Freq	;R05
		dec	al			;R05
endif;	Add_Freq_Val_Disable			;R05
		shl	al,4
		mov	si,offset Boost_Val			
		or	byte ptr cs:[si],al		;Set Freq. Val.
		or	byte ptr cs:[si],00001000b	;Enable Freq. Cntl
Disable_Freq:					;R08
endif;	ICW11114_Freq_Cntl

ifdef	ICW11114_Use_Clk_Cntl
ifdef	PIIX_ID
		extrn	F000_Get_Ct:near
		extrn	F000_Set_Ct:near
endif;	PIIX_ID
		extrn	F000_Get_Cmos2:near
ifdef	PIIX_ID
		mov	cx,(PIIX_ID SHL 8)+0cbh
		call	F000_Get_Ct
		or	al, 04h		    		;Enable CMOS bank2
		call	F000_Set_Ct
endif;	PIIX_ID

ifdef	SIS_5598_PCI_RESET
		mov	cx,0845h
		CALL 	F000_Get_Ct
		or	al, 08h
		CALL 	F000_Set_Ct
endif;	SIS_5598_PCI_RESET

		mov	al,OVERRIDE_CMOS2 NMI_OFF
		call	F000_Get_Cmos2
		cmp	al,OVERRIDE_VALUE
		je	short @F

		mov	al,CLOCK_CMOS2 NMI_OFF
		call	F000_Get_Cmos2
		and	al,FREQ_MASK
		mov	si,offset Boost_Val			
		or	byte ptr cs:[si],00001000b	;enable clock control
		or	byte ptr cs:[si],al		;set freq. val.

	@@:
ifdef	PIIX_ID
		mov	cx,(PIIX_ID SHL 8)+0cbh
		call	F000_Get_Ct
;R12		and	al,not 08h
		and	al,not 04h			;disable CMOS bank2
		call	F000_Set_Ct
endif;	PIIX_ID

ifdef	SIS_5598_PCI_RESET
		mov	cx,0845h
		CALL 	F000_Get_Ct
		and	al, not 04h
		CALL 	F000_Set_Ct
endif;	SIS_5598_PCI_RESET

endif;	ICW11114_Use_Clk_Cntl

		extrn	Spec_Item:near
		mov	si,offset DGROUP:Spec_Item
		call	F000_GetItem_Value
		or	al,al
		jz	short @F
		mov	si,offset Boost_Val			
		or	byte ptr cs:[si],00000010b	;modulation
	  @@:

		ret
Prepare_ClkGen_Val	Endp

ifdef	ICW11114_Freq_Cntl			;R10
;R08 - start
;R10ifdef	WARNING_SIGN_IF_CPU_CHANGE
ifdef	OEM_Error_Special_Show1
		public	OEM_Error_Special_String1
OEM_Error_Special_String1	db	V_HILITE,'Warning!! Your CPU '
				db	'has been changed.',NEWLINE
				db	'Please setup CPU HOST clock in '
				db	'chipset features setup'
				db	V_NORMAL,0
endif;	OEM_Error_Special_Show1
;R10endif;	WARNING_SIGN_IF_CPU_CHANGE
;R08 - end
endif;	ICW11114_Freq_Cntl			;R10

ENDIF;	COMPILE_FOR_CLKCNTL_ASM EQ 2
endif;	COMPILE_FOR_CLKCNTL_ASM

ifdef	COMPILE_FOR_CLKCNTL_MNU
IF	COMPILE_FOR_CLKCNTL_MNU	EQ	0

ClkCntl_Str			db	'Auto Detect DIMM/PCI Clk'
				db	(COLLON_LOC - ($-(offset ClkCntl_Str))) dup (" ")
				db	': ',0

ICW11114_Spectrum_Str		db	'Spread Spectrum Modulated'
				db	(COLLON_LOC - ($-(offset ICW11114_Spectrum_Str))) dup (" ")
				db	': ',0

ifdef	ICW11114_Freq_Cntl
ICW11114_Freq_Str		db	'CPU Host/PCI Clock'	;R06g425

				db	(COLLON_LOC - ($-(offset ICW11114_Freq_Str))) dup (" ")
				db	': ',0

;R06 - start
ifdef	Add_Freq_Val_Disable			   	;R05
ICW11114_Freq_Val		db	'Default  ',0	;R05
				db	'68/34MHz ',0	;R05
else;	Add_Freq_Val_Disable				;R05
ICW11114_Freq_Val		db	'68/34MHz ',0
endif;	Add_Freq_Val_Disable			   	;R05

				db	'75/37MHz ',0
				db	'83/41MHz ',0
				db	'66/33MHz ',0
				db	'103/34MHz',0
				db	'112/33MHz',0
				db	'133/44MHz',0
				db	'100/33MHz',0
;R06 - end

endif;	ICW11114_Freq_Cntl
ENDIF;	COMPILE_FOR_CLKCNTL_MNU	EQ	0

IF	COMPILE_FOR_CLKCNTL_MNU	EQ	1
;R01 - start
ifndef	ICW11114_ClkCntl_CMOS_Bit
ICW11114_ClkCntl_CMOS_Val	= 	(ICW11114_ClkCntl_CMOS and 40h)
IFE	ICW11114_ClkCntl_CMOS_Val
%OUT Sorry ERROR!!! Please, check ICW11114_ClkCntl_CMOS define. Thanks.
.ERR
ENDIF;	ICW11114_ClkCntl_CMOS_Val
;R02DEFINE_ITEM	ClkCntl_Item
;R02	menuitem <2,\
;R02		  offset ClkCntl_Str,NOCT,01h,ICW11114_ClkCntl_CMOS,01h,\
;R02		  offset Ena_Str,0,1,Xaxis,Yaxis,0H,0h,offset Std_Help_Str>
;R02
;R02DEFINE_ITEM	Spec_Item
;R02	menuitem <2,\
;R02		  offset ICW11114_Spectrum_Str,NOCT,02h,ICW11114_ClkCntl_CMOS,02h,\
;R02		  offset Dis_Str,0,1,Xaxis,Yaxis,0H,0h,offset Std_Help_Str>
;R02
;R02ifdef	ICW11114_Freq_Cntl
;R02DEFINE_ITEM	ICW11114_Freq_Item
;R02	menuitem <2,\
;R02		  offset ICW11114_Freq_Str,NOCT,1ch,ICW11114_ClkCntl_CMOS,1ch,\
;R02		  offset ICW11114_Freq_Val,0,7,Xaxis,Yaxis,0h,1ch,offset Std_Help_Str>
;R02endif;	ICW11114_Freq_Cntl
;R02else;	ICW11114_ClkCntl_CMOS_Bit
;R02;R01 - end
;R02DEFINE_ITEM	ClkCntl_Item
;R02	menuitem <2,\
;R02		  offset ClkCntl_Str,NOCT,ICW11114_ClkCntl_CMOS_Bit,ICW11114_ClkCntl_CMOS,ICW11114_ClkCntl_CMOS_Bit,\
;R02		  offset Ena_Str,0,1,Xaxis,Yaxis,0H,0h,offset Std_Help_Str>
;R02
;R02DEFINE_ITEM	Spec_Item
;R02	menuitem <2,\
;R02		  offset ICW11114_Spectrum_Str,NOCT,ICW11114_Spec_CMOS_Bits,ICW11114_Spec_CMOS,ICW11114_Spec_CMOS_Bits,\
;R02		  offset Dis_Str,0,1,Xaxis,Yaxis,0H,0h,offset Std_Help_Str>
;R02
;R02ifdef	ICW11114_Freq_Cntl
;R02DEFINE_ITEM	ICW11114_Freq_Item
;R02	menuitem <2,\
;R02		  offset ICW11114_Freq_Str,NOCT,ICW11114_Freq_CMOS_Bits,ICW11114_Freq_CMOS,ICW11114_Freq_CMOS_Bits,\
;R02		  offset ICW11114_Freq_Val,0,7,Xaxis,Yaxis,0h,ICW11114_Freq_CMOS_Bits,offset Std_Help_Str>
;R02endif;	ICW11114_Freq_Cntl
;R02 - start
DEFINE_ITEM	ClkCntl_Item
DEFINE_MENUITEM	, GROUP_CLK_VOLTAGE, 0, 15			;R11
	menuitem <2,\
		  offset ClkCntl_Str,NOCT,01h,ICW11114_ClkCntl_CMOS,01h,\
		  offset Ena_Str,0,1,Xaxis,Yaxis,0H,0h,offset ClkCntl_Item_Lang_Tbl>

DEFINE_ITEM	Spec_Item
DEFINE_MENUITEM	, GROUP_CLK_VOLTAGE, 0, 15			;R11
	menuitem <2,\
		  offset ICW11114_Spec_Str,NOCT,02h,ICW11114_ClkCntl_CMOS,02h,\
		  offset Dis_Str,0,1,Xaxis,Yaxis,0H,0h,offset Spec_Item_Lang_Tbl>

ifdef	ICW11114_Freq_Cntl
;R05 - start
ifdef	Add_Freq_Val_Disable				
DEFINE_ITEM	ICW11114_Freq_Item			
DEFINE_MENUITEM	, GROUP_CLK_VOLTAGE, 0, 15			;R11
	menuitem <2,\
		  offset ICW11114_Freq_Str,NOCT,3ch,ICW11114_ClkCntl_CMOS,3ch,\
		  offset ICW11114_Freq_Val,0,8,Xaxis,Yaxis,0h,0h,offset ICW11114_Freq_Item_Lang_Tbl>
else;	Add_Freq_Val_Disable
;R05 - end
DEFINE_ITEM	ICW11114_Freq_Item
DEFINE_MENUITEM	, GROUP_CLK_VOLTAGE, 0, 15			;R11
	menuitem <2,\
		  offset ICW11114_Freq_Str,NOCT,1ch,ICW11114_ClkCntl_CMOS,1ch,\
		  offset ICW11114_Freq_Val,0,7,Xaxis,Yaxis,0h,1ch,offset ICW11114_Freq_Item_Lang_Tbl>
endif;	Add_Freq_Val_Disable				;R05
endif;	ICW11114_Freq_Cntl
else;	ICW11114_ClkCntl_CMOS_Bit
;R01 - end
DEFINE_ITEM	ClkCntl_Item
DEFINE_MENUITEM	, GROUP_CLK_VOLTAGE, 0, 15			;R11
	menuitem <2,\
		  offset ClkCntl_Str,NOCT,ICW11114_ClkCntl_CMOS_Bit,ICW11114_ClkCntl_CMOS,ICW11114_ClkCntl_CMOS_Bit,\
		  offset Ena_Str,0,1,Xaxis,Yaxis,0H,0h,offset ClkCntl_Item_Lang_Tbl>

DEFINE_ITEM	Spec_Item
DEFINE_MENUITEM	, GROUP_CLK_VOLTAGE, 0, 15			;R11
	menuitem <2,\
		  offset ICW11114_Spectrum_Str,NOCT,ICW11114_Spec_CMOS_Bits,ICW11114_Spec_CMOS,ICW11114_Spec_CMOS_Bits,\
		  offset Dis_Str,0,1,Xaxis,Yaxis,0H,0h,offset Spec_Item_Lang_Tbl>

ifdef	ICW11114_Freq_Cntl
;R05 - start
ifdef	Add_Freq_Val_Disable			
DEFINE_ITEM	ICW11114_Freq_Item
DEFINE_MENUITEM	, GROUP_CLK_VOLTAGE, 0, 15			;R11
	menuitem <2,\
		  offset ICW11114_Freq_Str,NOCT,ICW11114_Freq_CMOS_Bits,ICW11114_Freq_CMOS,ICW11114_Freq_CMOS_Bits,\
		  offset ICW11114_Freq_Val,0,8,Xaxis,Yaxis,0h,0h,offset ICW11114_Freq_Item_Lang_Tbl>	;R06
;R06		  offset ICW11114_Freq_Val,0,8,Xaxis,Yaxis,0h,0h,offset ICW11114_Freq_Item_Lang_Tbl>
else;	Add_Freq_Val_Disable
;R05 - end
DEFINE_ITEM	ICW11114_Freq_Item
DEFINE_MENUITEM	, GROUP_CLK_VOLTAGE, 0, 15			;R11
	menuitem <2,\
		  offset ICW11114_Freq_Str,NOCT,ICW11114_Freq_CMOS_Bits,ICW11114_Freq_CMOS,ICW11114_Freq_CMOS_Bits,\
		  offset ICW11114_Freq_Val,0,7,Xaxis,Yaxis,0h,0h,offset ICW11114_Freq_Item_Lang_Tbl>
endif;	Add_Freq_Val_Disable			;R05
endif;	ICW11114_Freq_Cntl

;R02 - end
endif;	ICW11114_ClkCntl_CMOS_Bit			;R01
ENDIF;	COMPILE_FOR_CLKCNTL_MNU	EQ	1

;R02 - start
IF	COMPILE_FOR_CLKCNTL_MNU EQ 5
	DEFINE_ITEM_MSG  ClkCntl_Item, , Ena_Str, ,NEED_STD_HELP

	DEFINE_ITEM_MSG  Spec_Item, , Dis_Str, , NEED_STD_HELP
ifdef	ICW11114_Freq_Cntl
	DEFINE_ITEM_MSG  ICW11114_Freq_Item, ICW11114_Freq_Str, , , NEED_STD_HELP
endif;	ICW11114_Freq_Cntl

ENDIF;	COMPILE_FOR_CLKCNTL_MNU EQ 5
;R02 - end

endif;	COMPILE_FOR_CLKCNTL_MNU
endif;	ICW11114_Support
