HCL:HiKey 960

跳转到:导航搜索

LeMaker 和 Archermind HiKey 960 是符合 96Boards Consumer Edition 规格的单板计算机。

技术数据

  • Hisilicon Kirin 960 SoC
    • 4x Arm Cortex-A53 @ 1.8 GHz
    • 4x Arm Cortex-A73 @ 2.4 GHz
  • 3 / 4 GB RAM
  • 32 GB eMMC
  • Micro SD
  • 2x USB 3.0 主机,1x USB 3.1 Type-C OTG
  • PCIe M.2 Key M
  • HDMI
  • TI WL18MODGI Wifi 模块
  • 符合 96Boards Consumer Edition 规格的 40 引脚低速扩展连接器
  • 符合 96Boards Consumer Edition 规格的高速扩展连接器

安装:将磁盘镜像写入 SD 卡

Geeko-white.png
Tumbleweed
JeOS 镜像

如果上面的直接链接无法正常工作,请检查 通用下载目录 以获取镜像。


UEFI 固件更新

Kirin 960 的 Cortex-A73 核心受到 Spectre 漏洞 的影响,需要如下所述的固件更新,参考 Bug #1074741

您还需要更新 UEFI 固件才能开机启动 SD 卡。

您可以刷新 96boards 固件 或 openSUSE 构建的固件。

96boards 固件

要刷新最新的 96boards 固件,请按照 HiKey 960 恢复 页面操作。

安装 openSUSE UEFI 包

Tianocore EDK2

l-loader-hikey960 包中提取 recovery.binl-loader.bin,从 arm-trusted-firmware-hikey960 包中提取 fip.bin

$ cd tools-images-hikey960

将文件 config 复制到 config_opensuse 并修改最后一行以指向我们的 recovery.bin

./hisi-sec_usb_xloader.img 0x00020000
./hisi-sec_uce_boot.img 0x6A908000
../recovery.bin 0x1AC00000

准备一个串口控制台 - 如果您将 Seeed 96Boards UART 适配器板连接到您的主机,您应该获得一个 /dev/ttyUSBx 设备,您可以使用 screen 或其他工具访问它(不建议使用 minicom)。对于其他适配器,设备名称可能会有所不同(例如,ttyACMx)。

使用合适的 USB 3.1 Type-C 数据线(例如,连接到 USB 3.0 Type-A)在 HiKey 960 板和您的主机之间建立连接。

将 DIP 开关“启动模式”设置为“ON”,将“自动电源”设置为“ON”,然后打开板子的电源。
您将看不到任何串口输出,但应该出现一个新的 /dev/ttyUSBy 设备。

# ./hikey_idt -p /dev/ttyUSBy -c config_opensuse

当您在串口控制台上看到 UEFI 固件的“.”提示符时,按 f 进入 Android fastboot 应用程序,以便刷新新的固件。

Icon-warning.png
警告:以下命令将覆盖 eMMC 分区表 - 请备份您的数据!
$ fastboot flash ptable ../ptable-linux-32g.img
$ fastboot flash xloader hisi-sec_xloader.img
$ fastboot flash fastboot ../l-loader.bin
$ fastboot flash fip ../fip.bin

请记住在执行 fastboot reboot 或复位之前,将“启动模式”DIP 开关恢复到默认的关闭位置。

已知的 EDK2 问题

启用 Mali GPU G71

Mesa/Panfrost 尚未支持 Mali G71 GPU。因此,您需要使用下游解决方案。

下游内核驱动程序

devel:ARM:Factory:Contrib:Mali 项目安装 ARM 提供的下游驱动程序 mali-bifrost-kmp-default。有关详细信息,请参阅 ARM_Mali_GPU 页面。

如果正确加载,dmesg 将显示

mali_kbase: loading out-of-tree module taints kernel.
mali_kbase: module verification failed: signature and/or required key missing - tainting kernel
mali e82c0000.mali: GPU identified as 0x0 arch 6.0.10 r0p0 status 2
mali e82c0000.mali: No memory group manager is configured
mali e82c0000.mali: Probed as mali0

并且 cat /sys/devices/platform/e82c0000.mali/gpuinfo 将显示

Mali-G71 8 cores r0p0 0x60A0


UEFI 提供的 DTB 已经具有 mali 节点。您可以使用以下命令检查它:

sudo dtc -I fs /proc/device-tree | grep mali

如果不是这种情况,您需要像这里一样添加 mali 节点:https://git.linaro.org/people/manivannan.sadhasivam/hikey.git/commit/?id=a20633b159f885bc8a62234831e9b7a0151a151b

下游用户空间库

您还需要 下游用户空间库

您可以将从上述 tar 归档文件中提取的库从 lib64/* 复制到 /usr/lib64/

请注意,这可能会覆盖从 RPM 包安装的库。

启用 OpenCL

有关详细信息,请参阅 ARM_Mali_GPU#Enable_OpenCL

已知问题

cat /sys/devices/virtual/thermal/thermal_zone0/temp
  • Bug #1080449 (Hi6421 PMU)
  • 蓝牙需要以下固件:TIInit_11.8.32.bts,需要下载并复制到 /lib/firmware/ti-connectivity/,因为它尚未在 kernel-firmware-bluetooth 包中
  • 默认情况下,使用 UEFI 中的设备树。如果您想使用 openSUSE rootfs 中的 dtb,您需要在 grub 菜单中添加 devicetree /boot/dtb/hisilicon/hi3660-hikey960.dtb

参见