sync: SHANGHAI-U9 2026-10-28

This commit is contained in:
bowei
2026-10-28 14:52:42 +08:00
parent 1e56aa9378
commit b00dd0d73c
5 changed files with 223 additions and 0 deletions
@@ -0,0 +1,21 @@
{
"schema_version": 1,
"board": "ipots",
"profile_status": "intake-only; production system never built or deployed (E0-E4 not run)",
"soc": "XC7Z020CLG400-2",
"production_storage": "soldered-emmc-KLM8G1GETF-8GB",
"storage_controller": "ps7-sd1",
"storage_mio": {"clock": 46, "command": 47, "data": [48, 49, 50, 51], "detect": "none"},
"storage_dt": {"non_removable": true, "disable_wp": true, "bus_width": 4, "max_frequency_hz": 25000000, "no_1_8_v": true},
"storage_unknowns": ["card VCCQ / max safe frequency", "U-Boot SD1 read before Linux", "current eMMC contents", "CID / usable capacity"],
"sd0": "disabled in HDF (no socket)",
"bootrom_media": "qspi-single-W25Q256FV",
"bootrom_from_emmc": "UNKNOWN (not relied on)",
"boot_composition": ["fsbl", "u-boot"],
"qspi_rescue_fit": true,
"qspi_rescue_region": {"name": "kernel", "offset": "0x00440000", "size": "0x01800000", "source": "petalinux-qspi ipots-profile.json rev 1"},
"production_kernel_location": "emmc-fat-boot (planned)",
"production_rootfs": "emmc-ext4 (planned)",
"pl_load": "runtime via FPGA manager; GP0 axil_regs at 0x43C00000/64KiB hangs if PL not loaded",
"profile_revision": "ipots-intake-20261027"
}
+34
View File
@@ -0,0 +1,34 @@
# 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](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.json` rev 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。