English
Language : 

MEC1404 Datasheet, PDF (203/572 Pages) Microchip Technology – Keyboard and Embedded Controller Products for Notebook PC
MEC140X/1X
number, then the Embedded Memory interface defines a region in the EC memory that the EC can read and write but
is write-only for the host. This might be useful for storage of security data, which the Host might wish to send to the EC
but should not be readable in the event a virus invades the Host.
Each window into the EC memory can be as large as 32k bytes in the 32-bit internal address space. Table 9-1, “EC
Address Space,” on page 163 shows the host accessible regions.
12.8.2 EC DATA REGISTER
The 4 1-byte EC Data Byte registers function as a 32-bit register, which creates a 4 byte window into the Memory
REGION being accessed. The 4-byte window is always aligned on a 4-byte boundary. Depending on the read/write con-
figuration of the memory region being accessed, the bytes may be extracted from or loaded into memory as a byte,
word, or a DWord. The ACCESS_TYPE determines the size of the memory access. The address accessed is deter-
mined by the two EC_Address byte registers, which together function as a 15-bit EC Address Register.
• A write to the EC Data Register when the EC Address is in a read-only or a no-access region, as defined by the
Memory Base and Limit registers, will update the EC Data Register but memory will not be modified.
• A read to the EC Data Register when the EC Address is in a no-access region, as defined by the Memory Base
and Limit registers, will not trigger a memory read and will not modify the EC Data Register. In auto-increment
mode (ACCESS_TYPE=11b), reads of Byte 3 of the EC Data Register will still trigger increments of the EC
Address Register when the address is out of bounds, while writes of Byte 3 will not.
12.8.3 ACCESS TYPES
The access type field (ACCESS_TYPE in the EC Address LSB Register) defines the type of host access that occurs
when the EC Data Register is read or written.
11:Auto-increment 32-bit access. This defines a 32-bit access, as in the 10 case. In addition, any read or write of Byte
3 in the EC Data Register causes the EC Data Register to be incremented by 1. That is, the EC_Address field will point
to the next 32-bit double word in the 32- bit internal address space.
10:32-bit access. A read of Byte 0 in the EC Data Register causes the 32 bits in the 32- bit internal address space at an
offset of EC_Address to be loaded into the entire EC Data Register. The read then returns the contents of Byte 0. A read
of Byte 1, Byte 2 or Byte 3 in the EC Data Register returns the contents of the register, without any update from the 32-
bit internal address space.
A write of Byte 3 in the EC Data Register causes the EC Data Register to be written into the 32 bits in the 32- bit internal
address space at an offset of EC_Address. A write of Byte 0, Byte 1 or Byte 2 in the EC Data Register updates the
contents of the register, without any change to the 32- bit internal address space.
01:16-bit access. A read of Byte 0 in the EC Data Register causes the 16 bits in the 32- bit internal address space at an
offset of EC_Address to be loaded into Byte 0 and Byte 1 of the EC Data Register. The read then returns the contents
of Byte 0. A read of Byte 2 in the EC Data Register causes the 16 bits in the 32- bit internal address space at an offset
of EC_Address+2 to be loaded into Byte 2 and Byte 3 of the EC Data Register. The read then returns the contents of
Byte 2. A read of Byte 1 or Byte 3 in the EC Data Register return the contents of the register, without any update from
the 32- bit internal address space.
A write of Byte 1 in the EC Data Register causes Bytes 1 and 0 of the EC Data Register to be written into the 16 bits in
the 32- bit internal address space at an offset of EC_Address. A write of Byte 3 in the EC Data Register causes Bytes
3 and 2 of the EC Data Register to be written into the 16 bits in the 32- bit internal address space at an offset of EC_Ad-
dress+2. A write of Byte 0 or Byte 2 in the EC Data Register updates the contents of the register, without any change
to the 32- bit internal address space.
00:8-bit access. Any byte read of Byte 0 through Byte 3 in the EC Data Register causes the corresponding byte within
the 32-bit double word addressed by EC_Address to be loaded into the byte of EC Data Register and returned by the
read. Any byte write to Byte 0 through Byte 3 in the EC Data Register writes the corresponding byte within the 32-bit
double word addressed by EC_Address, as well as the byte of the EC Data Register.
12.8.4 EMBEDDED MEMORY INTERFACE USAGE
The Embedded Memory Interface provides a generic facility for communication between the Host and the EC and can
be used for many functions. Some examples are:
• Virtual registers. A block of memory in the 32-bit internal address space can be used to implement a set of virtual
registers. The Host is given direct read-only access to this address space, referred to as peek mode. The EC may
read or write this memory as needed.
• Program downloading. Because the Instruction Closely Coupled Memory is implemented in the same 32-bit inter-
 2015 - 2016 Microchip Technology Inc.
DS00001956D-page 203