3.2 KiB
3.2 KiB
ipots:QSPI 启动 + 核心板 eMMC(SD1)正式系统 profile(intake 版)
状态:仅资料汇总(revision ipots-intake-20261027),正式系统从未构建/部署,E0–E4 全部未做。 依据 ipots_recX10 工程
Notes/Task-PR00.md §8.4/§8.5、HDF ipots_recX10_xc7z020_v0.1_d20261027_b0002.hdf 的 design_1.hwh,以及
Notes/auto/20261027-1705-rx-pl-ps-build/R02-T5-*(QSPI 过渡系统首个构建)。标 UNKNOWN 的项目必须先在对应门禁实测,
不能拿来做擦写;不得借用 HJX9009 的 MIO、分区、CD 旁路或桥接方案。指纹输入用 ipots-profile.json。
硬件与启动
- XC7Z020CLG400-2;ipots_tunerX10 载板 + 启明星 ZYNQ7020 核心板 2V5。DDR3 1 GiB,HDF 用替代型号 MT41K256M16,板上实为 NT5CC256M16,稳定性 UNKNOWN(首次启动和内存测试时验证)。
- BootROM 介质:单片 W25Q256FV(32 MiB,MIO1..6)。SW1 拨码 → MIO4/MIO5,文档写 QSPI=ON/OFF;拨码与 BOOT_MODE 的对应关系
UNKNOWN(读
0xF800025C确认)。BootROM 能否直接从 eMMC 启动 UNKNOWN,本方案不依赖这一点。 - QSPI 过渡布局(petalinux-qspi
ipots-profile.jsonrev 1):boot 0x0/0x400000、bootenv 0x400000/0x40000、 kernel(救援 FIT)0x440000/0x1800000、update 0x1C40000/0x3C0000。E3 不得清空 bootenv,也不得覆盖救援 FIT。 0x01000000 以上地址的访问能力 UNKNOWN(QSPI G5 做全长回读后才算确认)。 - 正式存储:核心板焊接 eMMC KLM8G1GETF 8 GB,接 PS SD1(
sdhci1,0xE0101000),MIO46=CLK、47=CMD、48..51=DAT0..3, 4 bit,无 CD、无 WP、无电源使能。SD0(MIO40..45)没有卡座,已在 HDF 中禁用。 DT 意图:&sdhci1 { status="okay"; non-removable; disable-wp; bus-width=<4>; max-frequency=<25000000>; no-1-8-v; }——与 HJX9009 相反,这里应当声明 non-removable。25 MHz 是保守取值,不是实测上限;VCCQ 电压 UNKNOWN。 - U-Boot 在 Linux 之前能否读 SD1 UNKNOWN,属 E0 必测项(R02-T5 构建的 DT 设
aliases { mmc0 = &sdhci1; },U-Boot 编号以mmc list实测为准,不预设 dev 0/1)。 Linux 块设备名不预设,一律按 CID/容量识别。eMMC 当前内容 UNKNOWN,格式化须用户单独授权。 - 串口:PS UART0 MIO14/15 → J601,115200。JTAG:J600(IDC14 2.0 mm)。上位机适配器和电源控制 UNKNOWN。
- 网络:GEM0 + YT8521SC-CA,MDIO 地址 3,RGMII。4.14 内核没有 Motorcomm 驱动,暂用 generic PHY 加
rgmii-id, 实际延时行为 UNKNOWN。
驱动门禁(recx10_server)
- PL AXI MMIO:
axil_regs_0位于 M_AXI_GP0 的 0x43C00000,大小 64 KiB。DT 中的 PL 节点 compatible 改成generic-uio, 应用经/dev/mem访问(CONFIG_STRICT_DEVMEM关闭)。本设计没有 DDR 邮箱,不需要reserved-memory。 - PL 由 Linux FPGA manager 在运行时加载(
CONFIG_FPGA_MGR_ZYNQ_FPGA)。PL 加载前访问 GP0 会挂死总线,所以启动脚本必须先加载 PL,再读ID_VER。 - EMIO GPIO 8 位:只镜像 GPIO_DBG,PS 写 GPIO 对 PL 没有作用。
- 正式系统的 BOOT.BIN = FSBL + U-Boot(与 QSPI 过渡系统来自同一 HDF),PL bit 和 FIT 都不放进 BOOT.BIN。