Alder Lake N - UEFI GPIO 寄存器默认值/初始化

问题描述 投票:0回答:1

我购买了一台只销往中国国内市场的不起眼的NAS(Zspace Z4Pro),因为它是基于intel的(i3-N305),所以想在上面使用另一个操作系统

出于未知原因,驱动器托架的电源由 GPIO 驱动的 npn + mosfet 单独控制。

默认状态是关闭的,然后从库存操作系统内切换 - 可能作为防止使用另一个操作系统的基本措施,或者可能(考虑到 SMBIOS 充满了“默认字符串”)他们只是不知道自己在做什么。

GPIO

gpio_名称 gpio_number pad_name DW0 DW1 DW2
sata0_power_gpio 681 GPPC_B_17 0x04000201 0x00000029 0x00000100
sata1_power_gpio 680 GPPC_B_16 0x04000201 0x00000028 0x00000100
sata2_power_gpio 672 GPPC_B_8 0x04000201 0x00000020 0x00000100
sata3_power_gpio 671 GPPC_B_7 0x04000201 0x0000001f 0x00000100

DW0寄存器(0x04000201)

位范围 字段名称 描述 价值
31-30 PADRSTCFG 焊盘重置配置 0x0(力量好)
29-29 RXPADSTSEL RX 垫状态选择 0x0(直接来自 CFIO RX 缓冲区的原始 RX pad 状态)
28-28 RXRAW1 RX 原始覆盖为“1” 0x0(无覆盖)
27-27 NAF_VWE 本机功能虚拟线消息启用 0x0(禁用 pad 输入事件采样和 VW 消息生成。)
26-25 RXEVCFG RX 电平/边缘配置 0x2(禁用)
24-24 PREGFRXSEL 预毛刺滤波器级 RX 垫状态选择 0x0(选择同步、非过滤 RX pad 状态)
23-23 RXINV RX 反转 0x0(无反转)
22-21 RXTXENCFG RX/TX 启用配置 0x0(Pad 模式中定义的函数控制 TX 和 RX 启用)
20-20 GPIROUTIOXAPIC GPIO 输入路由 IOxAPIC 0x0(路由不会引起外设IRQ)
19-19 GPIROUTSCI GPIO 输入路由 SCI 0x0(路由不会导致SCI)
18-18 GPIROUTSMI GPIO输入路由SMI 0x0(路由不会导致SMI)
17-17 GPIROUTNMI GPIO 输入路由 NMI 0x0(路由不会引起NMI)
16-13 保留 保留 0x0
12-10 P模式 打击垫模式 0x0(GPIO 控制Pad)
9-9 GPIORXDIS GPIO 接收禁用 0x1(禁用pad的输入缓冲区)
8-8 GPIOTXDIS GPIO TX 禁用 0x0(使能焊盘的输出缓冲器(低电平有效使能))
7-2 保留 保留 0x0
1-1 GPIORX状态 GPIO 接收状态 0x0(当前内部RX pad状态为0)
0-0 GPIOTXSTATE GPIO 发送状态 0x1(将电平“1”驱动到 TX 输出焊盘)

我只需手动设置 GPIO 即可在操作系统中为托架供电:

echo 0 > /sys/class/gpio/gpio681/value

我想了解这些焊盘的寄存器是在哪里初始化的。

另外我有点困惑,好像我在linux中设置了gpio(即给驱动器加电),重新启动后电源立即断开(当然对磁盘来说不太好) 但如果我对电源状态和 PADRSTCFG 的理解是正确的,这不应该发生?

Z 计划是硬件方法。

intel bios uefi motherboard chipset
1个回答
0
投票

一般BIOS会初始化GPIO,所以重启后BIOS会重新初始化

© www.soinside.com 2019 - 2024. All rights reserved.