Supported Hardware

The main hardware used is Intel Validation Platform (RVP) used in conjunction with a modular embedded control card (MECC) or when applicable the on-board EC.

The reference HW used to showcase EC FW open source takes advantage of the Modular Embedded controller card (MECC) specification, which defines both pin mapping and provides general guidelines to use different Embedded Controller Soc to the on-board EC through an add-on card. This allows to evaluate different EC in an Intel RVP.

Note

Reworks are required on RVP to be able to control the RVP from MECC card. Refer to Platform design guide for details.

Board

EC HW configuration

Support

Meteorlake S

RVP (on-board EC)

Meteorlake P

RVP (on-board EC)

Recommended

Meteorlake P

RVP + MECC card

Enable other EC vendor

Other EC SoC

In order to use a different MECC card with a different EC SoC vendor, the vendor should add its Hardware Abstraction Layer (HAL) and board support package (BSP) to Zephyr RTOS. See Zephyr’s porting guide

The list below presents the minimum drivers required by the EC application to boot an eSPI-based Intel platform.

  • UART

  • GPIO

  • RTOS timer

  • I2C - Port 80 visualization if board supports it.

  • eSPI - Required by power sequencing module

  • ACPI - Required by SMC host module (EC - BIOS interactions).

The following drivers are needed to exercise other non-boot critical features:

  • PS/2 - for PS/2 devices management

  • Keyscan - for keyboard matrix

These drivers are required to enable advanced features such as thermal and fan control.

  • PECI - for thermal module

  • TACH - for thermal module

  • ADC - for thermal module

  • PWM - for fan control

Customize EC FW framework for other EC SoC

Zephyr uses device tree to describe hardware both EC SoC and board’s peripherals. The EC FW abstracts the device tree using friendly macros which can be customized when using different EC SoC and/or different board. See boards/<vendor> for more details

#define I2C_BUS_0   DT_NODELABEL(i2c_smb_0)

For more details, see Zephyr’s device tree guide.

GPIO initialization

EC FW app doesn’t control/configure all GPIOs on the chip but only the ones used by the app. This is an important delegation to BSP’s where generic app pins are not configured.

Note

For current supported HW via MECC card, see boards folder.

When a pin is intended to be controlled by the EC FW framework it should be mapped under boardname_chipversion.h to corresponding Zephyr GPIO port and pin.

#define PCH_PWROK    EC_GPIO_106  /* Board #1 Port A, Pin B */
#define PCH_PWROK    EC_GPIO_036  /* Board #2 Port B, Pin C */

Note

EC_GPIO_XXX is a SoC specific macro, which abstracts GPIO port and GPIO pin number since Zephyr supports logical GPIO ports and EC FW requires the flexibility to map a signal to different pins.

Similarly, boardname_chipversion.c should contain the actual pin configuration required by the application input/output, open drain and so on. See Zephyr’s GPIO reference for Zephyr GPIO flags.

HW limitations

Most of the signals used by onboard EC are routed to MECC connector, however some signals may be missing on MECC compared to onboard EC. Refer to RVP schematics.

Note

Additionally, some MECC cards implement some variations on the MECC spec. However, this is being addressed by discussing with the EC vendors to adhere to the spec allowing more consistency.

As indicated above some Intel RVP features available are reduced when using MECC card. Refer to table below for guidance about what can be verified end-to-end.

Area

Feature

MTL-P + MEC172x

MTL-S onboard

MTL-P onboard

Power sequencing

ACPI power (Sx)

Yes

Yes

Yes

Deep sleep (DSx)

No

Yes

No

Pseudo G3

No

No

Yes

SAF

No

Yes

Yes

Human interface

Volume buttons

Yes

Yes

Yes

Power button

Yes

Yes

Yes

Home button

No

No

Yes

Lid switch

Yes

No

Yes

Thermal

CPU temperature reading

Yes

Yes

Yes

Fan control

Yes

Yes

Yes

PS2/ scan matrix

PS2 keyboard

Yes

Yes

Yes(2)

PS2 mouse

No (1)

No

Yes(2)

Keyboard matrix

Yes(3)

Yes

Yes

Debug

Port 80

Yes

Yes

Yes

Serial port (UART)

Yes(4)

Yes

Yes

Note

(1) MEC172x HW revision 2 supports PS2 Keyboard on PortA and PS2 Mouse on PortB. Mouse has not been verified though.

Note

(2) There is no PS2 connector on the MTL-P board, instead there is 1x5 header that allow the connection.

Note

(3) Intel Meteorlake RVP keyboard matrix connector cannot be used, instead need to connect the keyboard matrix directly into the MECC card. MEC15xx/MEC17xx cards allow to use Fujitsu keyboard matrix.

Note

(4) Intel Meteorlake RVP UART connector cannot be used for EC serial logs. Use MECC USB instead.