1、Speaker:WYITE 8512 Whats the EC?nEmbedded Controller comes form ACPI structurenHost is communicated EC by LPC interface.The I/O port are 60/64 and 62/66 nEC integrated ps2 device,keyboard matrix,battery charger,fan control,power sequence,hot key function,backlight,CPU thermal sensor,system power con
2、sumption,etc.System StructurePS/2 KB/MSMATRIXFAN ControlChargerFlash ROM Power Sequence.NB SB ECLPCKeyboard Controller Overview18 Scan Out(Column)Scan MatrixKeyboard 3 PS/2 DevicesHost SystemLPC/Firmware HubSMBusITE KBCPS/2ScanI2CHIF3 SMBus Devices8 Scan In(Row)EC Feature ITE ECPS/2 KB/MSMATRIXACPIP
3、ower managementSMBusKBS MonitorUART/CIRPWM ADC/DACShare BIOSEC PositionShare BIOS Architecture 64K16M ByteBIOS ROM ZoneKBC ROM Zone064KMax:16M64K ByteMax:16M-64K ByteFull space 16M ByteKBC ROM ZoneBIOS&EC Code PositionFeaturesnIBM AT&PS/2 8042-Compitable Host InterfacesnSupport all standard Host Com
4、mandsnACPI Embedded Controller InterfacenACPI System Management Bus InterfacenPS/2 DevicesnScan Matrix KeyboardnOEM CustomizationFeatures Host InterfacenHost InterfacesPrimary Host Interface(0 x60,0 x64)nHIF1 8042 Command InterfaceSecondary Host Interface(0 x62,0 x66)nHIF2 Logical HIF ACPI Command I
5、nterfacenHIF3 Logical HIF SMI AccessThird Host Interface(0 x68,0 x6C)nIBM AT&PS/2 8042-CompatibleStandard KBC Commands 0 x64 port Standard KBD Commands-0 x60 port Standard AUX Commands 0 x64 port D4 commandCommand HandlerBitDescription7 Parity Error6 Timeout Error5 Auxiliary Output Buffer Full4 Inhi
6、bit Switch3 Command/Data2 System Flag1 Input Buffer Full(IBF)0 Output Buffer Full(OBF)n Keyboard Controller Status Register 64hFeatures Standard KBC CommandsStandard 64 command listn Write/Read Keyboard Controller Command Byte(60h/20h)nThe KCCB resides in 8042 RAM location 20h,Address 20h defined in
7、 the IBM 8042 programming specification.nIBM standard command set,use command 20h to read the KCCB and command 60h to write KCCB.Default:0 x65 PS/2 Mouse Not Present0 x47 PS/2 Mouse Presentv Controller Command Byte:Bit7-ReservedBit6-Keyboard TranslateBit5-Disable Auxiliary DeviceBit4-Disable Keyboar
8、dBit3-ReservedBit2-System FlagBit1-Enable Auxiliary InterruptBit0-Enable Keyboard InterruptFeatures Standard KBC CommandsnOutput Buffer Write Commands:Write Keyboard Output Buffer(D2h)Write Auxiliary Device Output Buffer(D3h)nWrite to Auxiliary Device Command(D4h)Write to PS2 DevicenPulse Output Por
9、t Commands:Pulse Both Reset and Gate A20(FCh)Pulse Gate A20(FDh)Pulse System Reset(FEh)Features Standard KBD CommandsStandard KBD 60 command listn Set/Reset Status Indicators Command(EDh)n Echo Command(EEh)n Select Alternate Scan Codes Command(F0h)n Read Id Command(F2h)n Set Typematic Rate/Delay Com
10、mand(F3h)n Enable Command(F4h)n Default Disable Command(F5h)n Set Default Command(F6h)n Set Keys Commands(F7h-FDh)n Resend Command(FEh)n Reset Command(FFh)Features Standard AUX CommandsStandard PS2 64_D4 command listn Reset Scaling(E6h)n Set Scaling to 2:1(E7h)n Set Resolution(E8h)n Status Request(E
11、9h)n Set Stream Mode(EAh)n Read Data(EBh)n Read/Set Wrap Mode(ECh/EEh)n Set Remote Mode(F0h)n Read Device Type(F2h)n Set Sampling Rate(F3h)n Enable/Disable Auxiliary Device(F4h/F5h)n Set Default(F6h)n Reset Auxiliary Device(FFh)Features CommandsnExtended Controller CommandsSpecific Functionalities A
12、ccess Legacy EC Space Sample A/D Channel Turn On/Off LEDs Access Configuration Table Etc.Features ACPI Interfacen Embedded Controller Interface(0 x62/0 x66)n ACPI fully supportCommand Setn 0 x80-Read EC spacen 0 x81-Write EC spacen 0 x82-Burst Enablen 0 x83-Burst Disablen 0 x84-Query SCI eventFeatur
13、es PS/2 Devicesn Three PS/2 Ports One internal ps2 mouse&two external ps2 device(one keyboard+one mouse)Port 1&Port 2 Keyboard&Pointing DevicesPort 3 Touchpad Devices(Internal)n Active PS/2 Multiplexingn Hot-plugif Ext.aux device is also attached,send command to it but do not pass Ext.response to th
14、e system.Features Scan MatrixnAll Standard Notebook PC KeysnEasy CustomizationDownload OEM Scan Table in RAMUpdate Scan Table in ROMFeatures OEM CustomizationnOEM-Definable Hotkeys-Hotkey,Quick button nOEM-Definable SMI/SCI Events-Battery event,System Beep,Thermel throttle event,etc Firmware Archite
15、ctureFirmware ROM ImagenKBC.ROM-64KCrisisRecoveryConfigurationTablesScanTablesMainCore0 x0000OEM function0 xFFFF0 x1000Power UpInitializationIdleInterruptRuntime ServiceEC Flowchartn Top-Level Flow DiagramPower UpInitializationIdleFirmware-InitializationCrisis?CrisisInitializationCrisisRecoveryPower
16、 UpIdleNormalInitializationYesNoInitializationIdleFirmware-IdleStandbyStandbySetupDisable InterruptsEnableInterruptsYesNoIdle(SLEEP)IdleRuntime ServiceInterruptFirmware Runtime ServiceInterruptCheck ServiceDo ServiceNoYesMore ServiceIdleHow To Enter Power Down Moden 1.Check condition for enter power
17、-down moden 2.Disable module(reduce leak current)n 3.Change all gpio pin function(if need)(reduce leak current)n 4.Set wake-up pin functionn 5.Set wake-up sourcen 6.Set interrupt sourcen 7.Enter power-down modeDeep sleepIRQ eventn 8.Set gpio pin to original funtionn 9.Enable modulen10.Restore all gp
18、io pin function(if need)n11.Return to main_loopUpper LoopnKBC-centric:1 byte output buffer,wait forever for the System to read kbd/mouse.nPoll all other interrupts expect ps/2(KBC/EC Host commands,External pin,Smbus,etc)nPS2 device inactiveLower LoopnWait for interrupt(sleep,Idle,wait)nPs2 devices a
19、ctive.n1ms Timer-periodic switch to Upper LoopnEach Interrupt switch to Upper LoopInterrupts SourcesnInternal:1.Timer interrupt(for 1ms timer.)nExternal:1.IRQ pin(WUxx)2.SMBus interrupt(for receive data)3.Peripheral interrupt(for PS2 device data in)4.Data buffer interrupt(for IBF,IBF1 and IBF2)5.Key
20、board interrupt(for internal keypressed)ITE8512 Memory IntroductionnITE8512 Memory MappingThere are different commands for these memory area.RamInternalROMRAMFFFF0000FFF000External External 00FFCode StructurenBuild EnvironmentnSource Code DirectoriesnSource Code OverviewCode Structure Build Environm
21、entnWindows XP DOS Command promptnToolsKeil C51 ToolsnAssembler-ax51.exe(v2.13)nCompiler c51.exe(v7.20)nLinker-lx51.exe(v3.64)Misc.Tools h2b.exe replace.exeCode Structure DirectoriesnCORECORE_ACPI.CCORE_HOSTIF.CCORE_INIT.CCORE_DATA.CCORE_FLASH.CCORE_IRQ.CCORE_MAIN.CCORE_PS2.CCORE_SCAN.CCORE_PORT6064
22、.CCORE_TIMERS.CCORE_CIR.CCORE_CHIPREGS.CnOEM Default OEM ProjectOEM_BATTERY.C OEM_LED.COEM_FAN.COEM_SCANTABS.COEM_GPIO.COEM_MAIN.CnTOOLSNmaker15.exe hex2bin.exeCode Structure Buildn Set EnvironmentKeilC51 n Customize Build EC codeIteec.mak iteec.binIteec_bb.mak iteec_bb.binbb_iteec.bin=iteec_bb.bin+
23、iteec.binn Set Build EC FirmwareMAKEAll.batSource Code COREn Reset Entry PointStartup.a51n Crisis RecoveryCORECore_ Hardware DependantChip RegistersInterrupt HandlersHardware Control Routinesn Variable Data TypesCORE TYPES.HSource Code Core_IRQ.CnOn-CHIP peripherals System interrupt tablenInterrupt
24、HandlerTimers(1mS&150S)Host InterfacesPS/2 PortsI2CEtc.Source Code Core_BBlock.Cn COREn Crisis Command HandlerStandard KBC/KBD/AUX Commands Crisis ModeFlash Commands GPIO settingnCOREnInitializationRegistersTimers(1mS Timer&150S Timer)Host InterfaceDevicesnHook to OEM Source Code Core_ini.CSource Co
25、de Core_MAIN.CnCOREnNormal Code EntrynMain RoutineIdle LoopService RoutinesnService Flags(Source Code Core_MAIN.C)n 16 Service Routines:service_unlock-Unlock device transmissionservice_pci Primary Host Interface(0 x60,0 x64)service_aux_port-Send byte from auxiliary port to Hostservice_1mS 1 millisec
26、ond serviceservice_scan Scan Matrixservice_send-Send byte from scanner keyboardservice_pci2-Secondary Host Interface(0 x62,0 x66)service_pci3-Third Host Interfaceservice_core_7 Reservedservice_ext_irq-External IRQservice_core_10,service_core_11 Reservedservice_chk_aux-Check External mouse existences
27、ervice_OEM_0,service_OEM_1,service_OEM_2-ReservedSource Code Core_port6064.CnCOREnStandard 8042 CommandsIBM AT&PS/2 8042-Compitable Standard KBC Commands Standard KBD Commands Standard AUX CommandsSource Code Core_ps2.CnCOREnPS/2 DevicesLock/unlock PS/2 deviceSuspend/Resume PS/2 deviceSend/Get data
28、to/From PS/2 deviceSource Code Core_scan.CnCOREnScan Matrix Keyboard8x16 Matrix(Row:8,Column:16)Ghost KeyKey Press/Release DebounceKeyboard DrawingStandard Matrix(Source Code PURSCN.C)Scan Matrix KeyboardR-ROW(Scan In)02413567C Column(Scan Out)1514131011129874562310(Source Code PURSCN.SRC)Ghost Key
29、2(or more)keys pressed on the same ROWR-ROW(Scan In)02413567C Column(Scan Out)1514131011129874562310(Source Code PURSCN.C)Key Press/Release DebounceMake?1015 msBreak?Re-checkRe-check1015 msSource Code Core_XLT.CnCOREnScan Code TranslationR/C InputTranslate to Scan Code Store into internal key buffer
30、 HotkeySource Code Core_ACPI.CnCOREnACPI Command HandlernSCI GenerationnSMBus Protocol HandlernACPI EC Space AccessSource Code Core_SMBusnCore_SMB.CCORESMBus ProtocolRead/Write Smbus byteRead/Write Smbus WordRead/Write Smbus BlockSource Code Core_DAT.CnCOREnInternal VariablesBITDATAnExternal Variabl
31、esIDATAXDATAnCHIP TYPE.HBUILD A PROJECT WITH EC CODE Define GPIOs Setting/variablesBuild Matrix tableSet power sequenceBuild OEM FunctionFiles ModifyFiles ModifyFiles ModifyFiles Modify1.CORE_INIT.C2.OEM_GPIO.C1.OEM_SCANTABS.C1.OEMMAIN.C2.OEMGPIO.C3.OEMGPIO.H1.OEM_FAN.C2.OEM_BATTERY.C3.OEm_FAN.C4.OE
32、M_LED.C5.:ITE chip solutionPS/2SMBusnSMBus-0 Battery#1,Thermal IC#1nSMBus-1 Battery#2,Thermal IC#2nSMBus-2 System Clock GeneratorFAN ControlLCD Brightness ControlAdapter&BatterynAdapter StatusnBattery Detection Charger ControlnCharge On/OffnCharging Current SettingSoftware Battery GasGaugenReference
33、 Software GasGauge Document (O2/Texas Instruments)EC Beep PWM(Battery Status Warning)On Board ProgrammingITE KBS Download BoardITE KBS download toolITE KBS D2EC access RAMSystem utility EC Register/Ram access Dos/XP/VistaUtility-Rom FlashnFlash utility for dos modeIteflash.exe nFlash utility for Windows XP/VistaWinflash v1.0SummarynPS2 and keyboard traffic communicationnEC要使系统節能,更加省电,增加电池的续航能力,控制良好的散热性能,减少風扇系统的噪音,根据温度,控制CPU风扇的停转。n系統電源管理-s3/s4/s5 電力調節n充电指示灯、WIFI指示灯、Fn快速鍵功能n背光亮度,聲音控制等。Q&AnQ&AnThank you!