龙芯2K1000 SoC启动全流程与架构解析

下面给你画一张**"LS2K1000 完整 SoC 启动 + 系统级架构图"**,按你这段 PMON 代码真实执行路径 + 硬件拓扑一起融合(偏"芯片bringup视角")。

我分两层给你:

  • 🔷 Boot启动链路(时间轴)
  • 🔷 SoC硬件架构(CPU / DDR / PCIe / SATA / GMAC)

🔥 LS2K1000 SoC 完整启动架构图(系统级)

复制代码
┌──────────────────────────────────────────────────────────────┐
│                        RESET VECTOR                          │
└──────────────────────────────────────────────────────────────┘
                               │
                               ▼
┌──────────────────────────────────────────────────────────────┐
│ CPU0 (Boot Core)                                              │
│  _start @ PMON                                                │
│                                                              │
│  - SPI Flash boot                                             │
│  - stack setup                                                │
│  - CSR init                                                   │
└──────────────────────────────────────────────────────────────┘
                               │
        ┌──────────────────────┼──────────────────────┐
        ▼                      ▼                      ▼
┌──────────────┐   ┌────────────────┐   ┌────────────────────┐
│ SPI / BootROM │   │ SMP control    │   │ Interrupt / CSR     │
│ - fetch PMON  │   │ - slave hold   │   │ - ebase / tlbvec   │
└──────────────┘   └────────────────┘   └────────────────────┘
                               │
                               ▼
┌──────────────────────────────────────────────────────────────┐
│                EARLY BOARD INIT (PMON STAGE 1)               │
│                                                              │
│  locate()                                                     │
│   ├─ GPIO reset                                               │
│   ├─ beep                                                     │
│   ├─ watchdog disable                                         │
│   └─ APB bridge config                                        │
└──────────────────────────────────────────────────────────────┘
                               │
                               ▼
════════════════════════ HARDWARE INIT PHASE ═══════════════════

┌──────────────────────────────────────────────────────────────┐
│                        DDR SUBSYSTEM                          │
│                                                              │
│  ddr_entry.S                                                  │
│   ├─ MC init (memory controller)                              │
│   ├─ PHY init                                                 │
│   ├─ training                                                 │
│   ├─ ZQ calibration                                           │
│   └─ memory map setup                                         │
│                                                              │
│  RESULT:                                                     │
│   → DRAM ready (cached + uncached window valid)             │
└──────────────────────────────────────────────────────────────┘
                               │
                               ▼
┌──────────────────────────────────────────────────────────────┐
│                     CACHE / SCache LOCK                       │
│                                                              │
│  - lock 2MB SCache                                            │
│  - copy PMON into cache                                      │
│  - relocate execution                                         │
└──────────────────────────────────────────────────────────────┘

                               ▼
════════════════════════ SYSTEM BUS LAYER ══════════════════════

                    ┌────────────────────────────┐
                    │        AXI / AHB BUS       │
                    └────────────────────────────┘
                               │
        ┌──────────────────────┼────────────────────────┐
        ▼                      ▼                        ▼

┌──────────────┐   ┌────────────────────┐   ┌────────────────────┐
│ PCIe RC      │   │ SATA Controller    │   │ GMAC (Ethernet)     │
│              │   │                    │   │                    │
│ - PHY init   │   │ - refclk config   │   │ - MAC enable       │
│ - LTSSM      │   │ - TX tuning        │   │ - PHY link detect  │
│ - link train │   │ - port enable      │   │ - RX/TX queue      │
│ - BAR map    │   │                    │   │                    │
└──────┬───────┘   └─────────┬──────────┘   └─────────┬──────────┘
       │                     │                        │
       ▼                     ▼                        ▼

 PCIe Devices         SATA Disk(s)            Ethernet PHY/Switch
 (NVMe / GPU / NIC)

🔥 PCIe 子系统详细架构(你代码核心)

复制代码
                 ┌────────────────────────────┐
                 │     PCIe Root Complex      │
                 │   (LS2K1000 internal)      │
                 └────────────────────────────┘
                              │
            ┌─────────────────┼─────────────────┐
            ▼                 ▼                 ▼

     ┌────────────┐   ┌────────────┐   ┌────────────┐
     │ PCIe0 RC   │   │ PCIe1 RC   │   │ PHY Layer   │
     └────┬───────┘   └────┬───────┘   └────┬───────┘
          │                │                │
          ▼                ▼                ▼

   Port0~Port3        Port0~Port1     SerDes lanes
   - EP/NVMe          - NIC/GPU       - equalization
   - BAR assign       - BAR assign    - de-skew
   - link training    - link training - detect

🔥 DDR 子系统架构(最关键)

复制代码
            ┌──────────────────────────────┐
            │      DDR Controller (MC2)    │
            └──────────────┬───────────────┘
                           │
            ┌──────────────┼───────────────┐
            ▼              ▼               ▼

      ┌──────────┐  ┌────────────┐  ┌────────────┐
      │ Command   │  │ Address    │  │ Data Path  │
      │ scheduler │  │ mapping    │  │ DQ / DQS   │
      └────┬──────┘  └────┬───────┘  └────┬───────┘
           │              │               │
           ▼              ▼               ▼

        ┌────────────────────────────┐
        │       DDR PHY Layer        │
        │                            │
        │  - training engine        │
        │  - Vref calibration       │
        │  - read/write leveling     │
        │  - DQS alignment           │
        └────────────┬───────────────┘
                     │
                     ▼

              ┌──────────────┐
              │ DDR3/DDR4 DIMM│
              └──────────────┘

🔥 SATA / GMAC 子系统

SATA

复制代码
   ┌──────────────┐
   │ SATA CTRL     │
   ├──────────────┤
   │ - ref clock   │
   │ - TX tuning   │
   │ - PHY config  │
   └──────┬───────┘
          ▼
     SATA Disk / SSD

👉 关键点(对应你代码):

  • 0x450 / 0x454 clock config
  • TX signal tuning
  • internal/external refclk switch

GMAC

复制代码
   ┌──────────────┐
   │ GMAC0 / GMAC1 │
   ├──────────────┤
   │ - MAC enable  │
   │ - RX/TX rings │
   │ - pinmux      │
   └──────┬───────┘
          ▼
   Ethernet PHY / Switch

🔥 全局 SoC 数据流(最关键理解图)

复制代码
           DDR (System Memory)
                   ▲
                   │
        ┌──────────┴──────────┐
        │                     │
      CPU0                 DMA Engines
        │                     │
        ▼                     ▼

   ┌──────────┐        ┌──────────────┐
   │ PMON     │        │ PCIe / SATA   │
   │ Kernel   │        │ GMAC DMA      │
   └──────────┘        └──────────────┘

🚀 一句话总结这颗 SoC

👉 LS2K1000 的本质架构是:

复制代码
CPU → DDR bringup → cache relocation → bus enable
→ PCIe/SATA/GMAC init → OS enumeration
相关推荐
侠客工坊2 小时前
移动端 RPA 的架构重构:基于侠客工坊多模态视觉大模型的自动化调度系统压测复盘
人工智能·智能手机·重构·架构·rpa·数字员工·侠客工坊
liang_jy3 小时前
Android 架构中的统一分发与策略路由
android·架构
hsjcjh3 小时前
深度技术拆解:2026年Gemini 3.1 Pro镜像官网架构与推理能力全面解析(附国内实测方案)
架构
若兰幽竹3 小时前
【从零开始编写数据库系统:架构设计与实现】第5章:查询执行引擎与火山模型
数据库·架构·数据库内核·toydb
逻辑诗篇3 小时前
破核拆解:PCIE719——基于Xilinx Zynq UltraScale+的高性能SAS扩展卡设计
fpga开发·架构
wenzhangli74 小时前
Ooder A2UI 核心架构深度解析:WEB 拦截层的设计与实现
前端·架构
福大大架构师每日一题4 小时前
openclaw v2026.4.24 发布:Google Meet 深度集成、DeepSeek V4 上线、浏览器自动化与插件架构全面升级
运维·架构·自动化·openclaw
身如柳絮随风扬4 小时前
深度解析 Elasticsearch 搜索服务:核心原理、架构与优化实践
大数据·elasticsearch·架构
面汤放盐5 小时前
从单体架构到微服务架构:模式与最佳实践
微服务·云原生·架构