KICKPI-K1开发板SPI

发布于 2026-01-09 阅读 116 分类:技术文章

Rockchip 平台拓展引脚 SPI 信息如下:

主板 SOC 平台 拓展引脚
K1 RK3568 Rockchip SPI X1
K1B RK3568 Rockchip SPI X1
K3 RK3562 Rockchip 无
K7 RK3576 Rockchip SPI X1
K7C RK3576 Rockchip SPI X1
K8 RK3588 Rockchip SPI X2

Allwinner 平台拓展引脚 SPI 信息如下:

主板 SOC 平台 拓展引脚
K2B H618 Allwinner SPI X1
K2C H618 Allwinner SPI X1
K4B T113-S3 Allwinner SPI X1
K5C A133 Allwinner SPI X1

DTS 节点配置

Allwinner

Allwinner 平台 spi0 总线配置 dh2228 设备 dts 节点示例:

spi0: spi@05010000 {
    status = "okay";
    dh2228@2 {
        compatible = "rohm,dh2228fv";
        reg = <0>;
        spi-max-frequency = <100000>;
    };
};

Rockchip

Rockchip 平台 spi4 总线配置 spidev 设备 dts 节点示例:

&spi4 {
        pinctrl-names = "default";
        pinctrl-0 = <&spi4_cs0n &spi4m2_pins>;
        status = "okay";

        cs-gpios = <&gpio1 RK_PD0 GPIO_ACTIVE_LOW>;

        spidev0: spidev@0 {
                compatible = "rockchip,spidev";
                status = "okay";
                reg = <0>;
                spi-max-frequency = <24000000>;
        };
};

硬件使用示例

  • SPI 引脚

K7 的 SPI 位于引脚8、引脚10、引脚12、引脚16。

image-20251110172328764

  • 硬件安装

MISO、MOSI 进行硬件短接,进行回环测试。

image-20250421165900688

spidev_test 测试

  • spidev_test 工具安装

下载源码:https://github.com/torvalds/linux/blob/master/tools/spi/spidev_test.c

  • 编译 spidev_test
gcc spidev_test.c -o spidev_test
chmod +x spidev_test
  • 列出spi设备节点
ls /dev/spi*
  • 指定设备进行测试
spidev_test -D /dev/spidev4.0 -v -l -p "hello"
  • 测试输出
root@linaro-alip:/# gcc spidev_test.c -o spidev_test
root@linaro-alip:/# chmod +x spidev_test
root@linaro-alip:/# ls /dev/spi*
/dev/spidev4.0
root@linaro-alip:/# ./spidev_test -D /dev/spidev4.0 -v -l -p "hello"
spi mode: 0x20
bits per word: 8
max speed: 500000 Hz (500 kHz)
TX | 68 65 6C 6C 6F __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __  |hello|
RX | 68 65 6C 6C 6F __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __  |hello|
root@linaro-alip:/#