那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

eSPI啟動流程詳解

CHANBAEK ? 來源:吃面小哥 ? 作者:吃面小哥 ? 2023-11-18 15:31 ? 次閱讀

Hardware 設計

對于 Intel 平臺,自 ICL Lake 開始,就不再支持 LPC,僅支持 eSPI。

以 TGL 平臺為例,硬件設計上需要注意如下兩點。

一,Hardware Strap Pin

GPP_C5、GPP_H0、GPP_H1、GPP_H2,四個 pin 按順序組成 4-Bit Boot Strap Pin。配置規則如下表格:

0000 = Master Attached Flash Configuration (BIOS / CSME onSPI). eSPI is enabled
0010 = Master Attached Flash Configuration (BIOS / CSME onSPI). eSPI is disabled
0100 = BIOS on eSPI Peripheral Channel; CSME on masterattached SPI
1000 = Slave Attached Flash Configuration (BIOS / CSME oneSPI attached device).
1100 = BIOS on eSPI peripheral Channel; CSME on slaveattached SPI.

常規設計都是 MAF,eSPI Enable。正常的配置需要 0000,四個 pin 內部都有 20K 的下拉,因此 Strap Pin 保持 Floating 即可。

注意:不同 CPU 平臺,Strap Pin 有差異,以對應平臺 EDS 文檔描述為準。

二,Flash Access

為了降低硬件設計 BOM 成本,CPU 設計上提出 MAF 和 SAF 兩種 Flash 共享方式,以節省 EC Flash。

Master Attached Flash Sharing,如下圖。EC 通過 eSPI 訪問 PCH 下 SPI 總線上的 Flash,以獲取 EC Firmware。

圖片

Slave Attached Flash Sharing,如下圖。PCH 通過 eSPI 透過 EC 訪問

BIOS、CSME Firmware。

圖片

對于 MAF 設計,需要保持 CPU 部分電打開,確保 PCH 內 eSPI 和 SPI 可以工作。EC 才有了透過 PCH eSPI Master 訪問 Flash 的基礎。

對于 SAF 設計,BIOS、CSME Firmware 體量大,PCH 透過 EC 訪問,對 EC SPI Controller 要求比較高。

事實上,PCH 通過 自己的 SPI Controller 獲取 BIOS、CSME,就稱之為 MAF。PCH 通過 eSPI 獲取 BIOS、CSME,就稱之為 SAF。

實際應用中,MAF 和 SAF 這兩種 Flash Sharing 方式都沒有采用。而是選擇

G3 Flash Sharing 或者 No Flash Sharing。

G3 Flash Sharing,如下圖。PCH 的 SPI 和 EC 的 SPI 接在一起,PCH 上電前或者 RSMRST# 拉高前,EC 直接從 SPI 接口讀取 EC Firmware。

No Flash Sharing,如下圖。PCH 的 SPI 和 EC 的 SPI 分別掛一個 Flash,互不干涉。

圖片

基于上述 G3 Flash Sharing 設計,通常硬件設計如下。

圖片

三,eSPI Pin List

PCH 和 EC 端的 eSPI 直接連線即可,上下拉在 chip 內部完成。

圖片

圖片

BIOS/ME 配置

使用 FIT 配置 ME 參數,即設置 PCH 作為 eSPI Master 的工作參數,也稱之為 Soft-Strap。eSPI 通訊參數最終以和 EC 溝通結果為準。

圖片

圖片

關于 FIT 更詳細的配置,需要根據項目實際情況設定。

Boot 流程

eSPI 的 Boot 流程包括 Channel Config、Flash Access、Virtual Wire Communication。MAFS 和 SAFS 啟動過程略有差異,此處以 MAFS 啟動為例。

eSPI 通道配置

圖片

第一步,EC 拉高 RSMRST#(之前的時序按要求操作,同時 EC 端 的 eSPI Slave 需要復位完畢,準備待命)。然后 PCH 拉高 eSPI_Reset#。

圖片

第二步,eSPI-Master 配置 Peripheral、Virtual Wire、OOB、Flash Access 四個 Channel。eSPI Master 端對 Channel 的配置,就是讀取 Slave Channel 配置寄存器。然后根據 Soft-Strap(ME配置)改寫 Slave 端配置寄存器,以配置實際需求的通道通訊參數。如下圖,Ch-0/1/2/3 分別是 Peripheral、Virtual Wire、OOB、Flash Access Channel。

圖片

PCH 作為 eSPI Master 配置 Channel,基本邏輯就是 eSPI Master 讀取 eSPI Slave寄存器,改寫寄存器,回讀確認。寄存器操作最小單位是 4Byte。使用到的指令是 GET_CONFIGURATION 和 SET_CONFIGURATION。

eSPI Slave 端需要配置的寄存器只有如下 5個,即 Offset 08、10、20、30、40,分別對應 4 個 Channel。

圖片

寄存器配置細節可以參考《Enhanced Serial PeripheralInterface (eSPI) V1.0》

每個 Channel 的功能如下表

圖片

第三步,Slave Boot Done

配置完 Flash Access Channel,對于 MAFS 結構來說,EC 就可以通過 eSPI 訪問 PCH 下的 SPI Flash了。EC 應當根據實際需要通過 eSPI 訪問 PCH SPI Controller 下連接的 Flash,讀取 EC Firmware。

實際上,目前通用的設計是 Flash Sharing 的接線方式,EC 雖然不通過 eSPI 讀取 Firmware。但是依舊需要給 Host 發送一個 Virtual Wire Signal,即 SLAVE_BOOT_LOAD_DONE。

Slave 端發送 SLAVE_BOOT_LOAD_DONE 信號給 Host。由于是 Slave 主動給 Host 發送,因此在 CS# 高電平期間,Slave 拉低 I/O 1 產生一個 ALERT# 直到 Host 端拉低 CS# 為止。下圖 ALERT# 拉低時間就為 360ns。

Host 緊接著發送 GET_STATUS 命令,查看 Slave 的 Event,Slave 置位 BIT-6,表明發生了 Virtual Wire 事件。

Host 發送 GET_VWIRE 獲取實際的 Virtual Wire 狀態。

Host 讀取 Virtual Wire 狀態。發現 SLAVE_BOOT_LOAD_DONE 置位,Host 即可進行下一步 Boot。

圖片

Virtual Wire 交互

圖片

eSPI 設計的一個優勢就在于減少引腳資源,把 Sideband pin 轉換為 in-band Message。因此 PCH 輸入或者輸出的一些 pin 已經轉為 in-band Message。

第四步,eSPI Master(PCH) 通過 PUT_VWIRE 指令把所有 VW 信號設置為復位值。

圖片

第五步,eSPI Master(PCH)發送 SUS_WARN# = 1 到 eSPI Slave。EC 回復 SUS_AC# =1 到 PCH

圖片

圖片

第六步,eSPI Master(PCH)挨個兒發送 SLP_S5 / 4 / 3,SLP_A / LAN / WLAN 高信號到 EC。下圖僅展示了 SLP_S4/5。

圖片

第七步,eSPI Master(PCH)發送 SUS_STAT# 和 RPLTRST# 信號到 EC。這將會使能 Peripheral Channel。

緊接著 eSPI Master 根據 Soft-Strap(ME)配置 Peripheral Channel。

圖片

至此,eSPI 啟動就已經完成,接下來就是 Memory、IO、OOB 通訊。

以上流程為個人理解,僅供參考。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10902

    瀏覽量

    212995
  • intel
    +關注

    關注

    19

    文章

    3483

    瀏覽量

    186433
  • SPI
    SPI
    +關注

    關注

    17

    文章

    1721

    瀏覽量

    92108
  • 總線
    +關注

    關注

    10

    文章

    2903

    瀏覽量

    88384
  • 硬件設計
    +關注

    關注

    18

    文章

    399

    瀏覽量

    44663
收藏 人收藏

    評論

    相關推薦

    eSPI協議抓包分析

    eSPI 協議在物理層是遵循 SPI 通訊規范的,但是協議層有差異,因此不能使用 SPI 協議去解析(沒有 eSPI 協議分析儀的情況下,可以使用 SPI 協議分析儀去做單獨 Byte 的初步解析,接下來就人肉解析 eSPI)。
    的頭像 發表于 11-18 15:29 ?3552次閱讀
    <b class='flag-5'>eSPI</b>協議抓包分析

    常見eSPI通訊數據包的分析

    eSPI 通訊一般來說無需特別關注,因為通訊都是 PCH(eSPI_Master)和 EC(eSPI_Slave)硬件完成的,軟件不參與。
    的頭像 發表于 11-18 15:35 ?2787次閱讀
    常見<b class='flag-5'>eSPI</b>通訊數據包的分析

    PCB工藝流程詳解

    PCB工藝流程詳解PCB工藝流程詳解
    發表于 05-22 14:46

    ESPI3 回收ESPI3 EMI測試接收機

    高價收購ROHDE&SCHWARZ ESPI3 回收ESPI3 EMI測試接收機ROHDE&SCHWARZ ESPI3回收東莞市保發通用儀器有限公司聯系人:熊先生***(微信同號
    發表于 08-28 14:01

    SPI與eSPI分別是什么意思

    SPI是什么意思?SPI通信協議是由哪些部分組成的?eSPI是什么意思?eSPI BUS與Chipset是怎樣進行連接的?
    發表于 09-23 08:04

    SOC的多核啟動流程詳解

    的則是你的SOC啟動的時候,所有core都上電了。2、啟動流程我們就假定 reset地址是可編程的、SOC啟動的時候只啟動一個core,來講
    發表于 02-21 15:11

    PCB工藝流程詳解

    PCB工藝流程詳解
    發表于 01-28 21:32 ?0次下載

    PCB加工流程詳解大全

    PCB加工流程詳解大全
    發表于 02-14 16:07 ?0次下載

    tft_espi和nodemcu連接

    1、 下載tft_espi庫https://github.com/Bodmer/TFT_eSPI2、 解壓后導入arduino根目錄下的libraries中3、 打開User_Setup.h這個文件
    發表于 10-25 19:51 ?9次下載
    tft_<b class='flag-5'>espi</b>和nodemcu連接

    主流的通訊總線LPC 和 eSPI介紹

    EC 能夠作為一顆專用 MCU,應用在筆記本電腦主板設計中。因為 它是一顆攜帶 eSPI/LPC 外設的專用 MCU。EC 主要的任務就是協助 CPU ,管理一些低速輸入設備,采集電池參數、控制主板溫度。EC采集到的低速外設信息,就會通過eSPI/LPC傳遞給CPU。
    發表于 12-20 10:59 ?1.7w次閱讀

    eSPI通訊總線的應用優勢

    eSPI總線是Intel在2016年推出的一種通訊總線,用于x86 CPU平臺和外設之間的通訊。
    的頭像 發表于 02-15 09:05 ?4817次閱讀

    AURIX? TC3xx啟動流程詳解

    本文首先介紹整個啟動流程的概況,接著分別介紹了firmware啟動流程,boot mode的配置,以及用戶程序啟動
    的頭像 發表于 06-06 10:31 ?3796次閱讀
    AURIX? TC3xx<b class='flag-5'>啟動</b><b class='flag-5'>流程</b><b class='flag-5'>詳解</b>

    PCB工藝流程詳解.zip

    PCB工藝流程詳解
    發表于 12-30 09:20 ?11次下載

    PCB工藝流程詳解.zip

    PCB工藝流程詳解
    發表于 03-01 15:37 ?20次下載

    eSPI接口通道功能解析

    eSPI 接口是用于取代 LPC 接口的,因此它全面兼容 LPC 總線的功能。電氣規范上,eSPI 復用了 SPI ,因此通訊頻率最高提升到 66MHz。電壓降到 1.8V,進一步降低了通訊功耗。但是二者協議層完全不一樣,SPI 協議無法解碼
    的頭像 發表于 11-18 15:33 ?6386次閱讀
    <b class='flag-5'>eSPI</b>接口通道功能解析
    太子百家乐娱乐城| 全讯网sp| tt娱乐城网址| 15人百家乐官网桌布| 免费百家乐官网过滤| 易球百家乐官网娱乐城| 帝王百家乐新足球平台| 大发888官方网| 网络百家乐官网免费试玩| 百家乐能战胜吗| 大发888游戏代充| 百家乐官网网上真钱麻将| 缅甸百家乐网上投注| 大发888游戏秘籍| 百家乐官网遥控洗牌器| 百家乐稳赢战术技巧| 肯博88网| 唐人街百家乐官网的玩法技巧和规则 | 赌百家乐官网的下场| 百家乐官网园首选海立方| 威尼斯人娱乐网送38元彩金| 百家乐官网稳赢投注方法| 百家乐官网北京| 百家乐7杀6| 武鸣县| 属虎和属猴牛人做生意| 青岛棋牌英雄| 葡京百家乐官网的玩法技巧和规则| 威尼斯人娱乐代理| 百家乐官网解密软件| 吉利百家乐的玩法技巧和规则 | 葡京娱乐场官网| 赌博百家乐官网秘笈| 聚众玩百家乐的玩法技巧和规则 | 沙坪坝区| 百家乐投注很不错| 泸溪县| 百家乐投注最好方法| 万博娱乐城| 百家乐视频裸聊| 丰禾国际|