Realtek Cortina
Realtek Cortina 是 Realtek 为 ONU/ONT 设备提供的 10G PON 芯片系列,源自 Cortina 原厂 CA8277B ARM 硅片。Realtek 收购/授权 Cortina 的技术后,将其芯片重新包装为 Realtek 品牌,并在 SDK 中以 Luna 为平台主干,统管 Taurus、Elnath、Mercury 等不同型号。
该 SoC 具备4× Cortex-A55 @ 可配至 1.2GHz、GICv3、DDR3/4 至 4GB、eMMC HS200、Cortina NI+PE 交换/PON 引擎(4 RGMII 口 + 内部口 + GPON/EPON + 多 SerDes)、3× PCIe x1 Gen2、USB2×2+USB3×1、双加密引擎、I2C×2/SPI×2/UART×3~4 等
一、代号
Cortina(Cortina Access):原始硅片 IP 厂商,提供 CA8277B/CA8277C die 及 Venus / G3 / G3HGU / Presidio 等自有代号。Realtek 收购/授权其 10G PON 技术后,把这些芯片以 RTL 料号重新包装。
Luna:不是芯片,而是 SDK/平台主干名(Realtek ASDK)。它统管下面所有 Realtek 品牌的 10G PON 芯片。
Taurus / Elnath / Mercury / Venus / 9617D:具体 芯片/板级代号,映射到不同的 Realtek 或 Cortina 料号与内核
arch开关。G3 / G3HGU / Presidio:代码里出现的其它 Cortina 参考代号(有独立
CORTINA_BOARD_G3_ENG/G3HGU_ENG/presidio-asic目录),与 CA8277B 家族分开。
二、主对照表
| 代号(codename) | 内核配置 (ARM64 / ARM32) | 对应 SoC / 料号 | 基础硅片 | 说明 |
|---|---|---|---|---|
| Luna | CONFIG_LUNA / REALTEK_10G_PON | —(SDK 名) | — | 平台主干,覆盖下方所有 Realtek 10G PON 芯片 |
| Venus | ARCH_CORTINA_VENUS | Cortina Venus SoC | CA8277B (CA8277B=y) | Cortina 原厂品牌,VENUS_DRIVER_SUPPORT,独立 arch 分支 |
| Taurus | ARCH_REALTEK_TAURUS | RTL8277C | CA8277B | Taurus 家族「基础型」,含 GPON/EPON PON MAC,Cortex-A55 |
| Elnath | ARCH_REALTEK_9607F | RTL9607F | CA8277B | Realtek PON SoC(本 SDK 9607F_demo 板) |
| Mercury | TARGET_RTK_MERCURY (u-boot) | Realtek Mercury(10G PON) | CA8277B | V8 FPGA;RTK_V8_FPGA_PLATFORM 含 Elnath/Mercury |
| 9617D | TARGET_RTK_RTL9617D | RTL9617C / RTL9617CM | CA8277B | Taurus 家族子型号(见下表),dal_rtl8277c 同驱动 |
| G3 / G3HGU | CORTINA_BOARD_G3_ENG / G3HGU_ENG | Cortina G3 / G3HGU | 独立(非 CA8277B 系,有 G3_NAND) | 其它 Cortina 参考平台 |
| Presidio | presidio-asic 目录 | Cortina Presidio | 独立 | 其它 Cortina 参考平台 |
三、Taurus 家族内部(同一 CA8277B 硅片的不同子型号)
内核 soc_arm_taurus.c 把以下全部归为 family = "Taurus",靠 GLOBAL_JTAG_ID/chipmode 的 chip-id 区分(这些就是 8277 与 9617 等之间的「差异」本质——子型号划分):
| chip-id | 名称 |
|---|---|
| 0x000 | CA8277C |
| 0x010 | RTL9617C-VW |
| 0x020 | RTL9617C |
| 0x030 | RTL9615C |
| 0x040 | RTL9607DQ |
| 0x080 | RTL8198XB |
| 0x100 | RTL9619 |
| 0x110 | RTL9619C |
| 0x210 / 0x280 | RTL9607DM |
| 0x220 | RTL9607DS |
| 0x240 | RTL9617CM |
这些子型号硬件/驱动框架完全一致,只由子型号选出不同的端口数与功能档位。
四、一句话关系图
1 | Cortina CA8277B 硅片 |
简言之:Luna 是 SDK 名;Cortina 是原始硅片来源;Venus/Taurus/Elnath/Mercury/9617D 都是同一 CA8277B 上的芯片代号,分别被打上 Cortina 或 Realtek 料号(8277C / 9617C / 9607F / Mercury 等),其中 9617 只是 Taurus 家族的一个子型号。
五、参数
处理器与系统
| 项目 | 参数(代码依据) |
|---|---|
| CPU | 4× ARM Cortex-A55,4 个 core 节点 |
| 频率 | 固件可配,固定档位 400/625/700/800/900/1000/1100/1200 MHz,实际值由 BL2 写 PLL 寄存器决定) |
| 中断 | GICv3 |
| 定时器 | ARM 架构定时器+ 外部 25MHz 参考 |
| PMU | cortex-a55-pmu + dsu-pmu |
| PSCI | arm,psci-0.2 |
| 复位/OTP | cortina,rst-mgr(多个)、cortina,cortina-otp |
| 温度 | cortina,thermal-sensor |
| 引脚 | cortina,g3-pinctrl |
内存与存储
| 项目 | 参数 |
|---|---|
| DDR | DDR3/DDR4,容量运行时由 DDR 初始化写寄存器决定(支持 128MB→最大 4GB,>2GB 走 DDR alias 映射) |
| eMMC | 1 控制器,Realtek,rtk119x-emmc,8-bit、HS200、最高 200MHz |
| SPI-NAND/NOR | realtek,vsfc + Cortina SPI-NAND 驱动 |
网络
| 项目 | 参数 |
|---|---|
| 交换引擎 | Cortina NI(cortina,ni-interface+ Packet Engine(cortina,pe-ctrl/pe-ctrl/adma/pelog/ipc/sem/ca-peri |
| 用户端口 | switchdev 下 port0–3 为 RGMII(外挂 PHY,MDIO c22,phy1–4),另 port7 为内部 nas0 |
| PON | 内置 GPON/EPON MAC,NI 保留区含 PON 寄存器 |
| SerDes | SGMII、XFI、QX、SDS,以及 USB3/PCIe 复用 SerDes |
| 外置 PHY | MDIO 挂 4 个 ethernet-phy-ieee802.3-c22;GPHY wrapper;支持 RTL8221B/8224B/8261I 等 |
高速外设
| 项目 | 参数 |
|---|---|
| PCIe | 3 个控制器(pcie0/1/2,cortina,venus-pcie,每个 x1 lane,SerDes 配置支持 Gen1/Gen2 |
| USB | 1× snps,dwc3 xHCI;USB2 PHY 2 口+ USB3 PHY 1 口 |
| SATA | 时钟门控存在 |
低速外设与加速
| 项目 | 参数 |
|---|---|
| UART | 4 个串口:uart0/1 为 cortina,serial,uart2/3 为 ns16550a(9607F 为 3 个:uart0/1 cortina,serial + uart2 ns16550a) |
| I2C | 2× cortina,ca77xx-i2c(i2c0/i2c1) |
| SPI | 2×(cortina,ca77xx-spi spi0 + snps,dw-apb-ssi spi1 |
| GPIO | cortina,ca77xx-gpio |
| 音频 | realtek,i2s + realtek,rtl_v1-audio/ca77xx-audio |
| 看门狗 | cortina,wdt |
| 真随机数 | realtek,trng |
| 加密 | 2 个引擎:realtek,rtk-crypto+ realtek,rtk-crypto-pe;另有安全域 realtek,rtl8277c-protect |
| LED | realtek,rtk_port-leds |
固定时钟
外部定时器 25 MHz、APB
dw_pclk100 MHz、另一参考 125 MHzCPU/系统 PLL:CPLL / EPLL / FPLL 三路可配,由 SOC从寄存器实时读出频率
六、网络加速
这套 SoC 硬件上是 NI(Network Interface)+ PE(Packet Engine) 引擎,软件侧是 FleetConntrack(FC)流卸载框架 + RomeDriver(RG)路由引擎 + Switchdev。
硬件数据面引擎
SoC 内置的转发引擎由两大部分组成:
NI(Network Interface):交换/转发主引擎,含 L2FE(L2 转发引擎)、L2TM、L3FE(L3 转发引擎)、TQM(流量队列管理器),并集成 GPON/EPON PON MAC 与多路 SerDes(SGMII/XFI/QX)。
PE(Packet Engine):Cortina PE CTRL(及
pe-ctrl/adma/pelog/ipc/sem/ca-peri)是一个片上包处理协处理器。
PE 还能做:加解密卸载、HTTP/FTP 本地收发
软件流卸载框架(FAST-PATH)
| 模块 | 作用 |
|---|---|
| FleetConntrack (FC) | 流表缓存 / conntrack 硬件卸载,钩子进 netfilter 缓存转发信息,提供 rtk_fc_fastfwd_netif_rx / napi_gro_receive 快速路径 |
| RomeDriver (RG) | L3 路由/NAT 卸载引擎(含 ALG、IGMP snooping、WMUX 等) |
| Switchdev | 标准 Linux switchdev 卸载 |
| SMP IPI 分流 | 多核 RX/TX 负载均衡:RTK_L34_FC_IPI_NIC_RX/TX、RTK_L34_FC_IPI_WIFI_RX/TX(wifi rx ring 默认 2^12) |
FC 还提供 per-HW flow MIB(RTK_FC_PER_HW_FLOW_MIB,依赖 8277C/9607F 系列)来统计硬件流表计数。
无线侧卸载
HWNAT(硬件 NAT)卸载
WiFi AMSDU offload by PE:把 802.11 聚合交给 PE 硬件
WiFi Tx/Rx 负载均衡:
FC_WIFI_TX/RX_*选择 GMAC0/1/2 自动选路或 hash 分担(5G 可跨多 GMAC trunking)WiFi 驱动侧还有MAC HAL 卸载接口、WiFi HWNAT 卸载
网络加速由 Cortina NI + PE 硬件转发引擎,配合 Realtek 自研的 FleetConntrack 流卸载 / RomeDriver 路由卸载框架;无线卸载走 FC-WLAN-HWNAT 与 PE-AMSDU-offload;PE 充当片上轻量包处理协处理器。