Firefly开源社区

打印 上一主题 下一主题

关于AIO-3399J使用SPI2

36

积分

0

威望

0

贡献

技术小白

积分
36

关于AIO-3399J使用SPI2

发表于 2018-5-10 10:56:41      浏览:12757 | 回复:3        打印      只看该作者   [复制链接] 楼主
本帖最后由 cdworld 于 2018-5-10 10:56 编辑

内核代码获取途径:https://TeeFirefly@gitlab.com/TeeFirefly/linux-kernel.git.

硬件接口:spi2

测试代码:linux-kernel-gitlab-firefly/Documentation/spi/spidev_test.c

由于AIO-3399J的spi1被用于其他功能上,板卡上只有spi2口

使用的设备树文件:

linux-kernel-gitlab-firefly/arch/arm64/boot/dts/rockchip/rk3399-firefly-aio-linux.dts

修改如下:

&spi1 {
        status = "disabled";
};

&spi2 {
        status = "okay";
    spi_sm: spi_sm@0xff1e0000{
        compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi";
        reg = <0x0 0xff1e0000 0x0 0x1000>;
        spi-max-frequency = <10000000>;        //spi-cpha;     /* SPI mode: CPHA=1 */
        spi-cpol;     /* SPI mode: CPOL=1 */
        status = "okay";
    };
}

linux-kernel-gitlab-firefly/arch/arm64/boot/dts/rockchip/rk339.dtsi文件
spi2修改如下:
spi2: spi@ff1e0000 {
                compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi";
                reg = <0x0 0xff1e0000 0x0 0x1000>;
                clocks = <&cru SCLK_SPI2>, <&cru PCLK_SPI2>;
                clock-names = "spiclk", "apb_pclk";
                interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH 0>;
                pinctrl-names = "default";
                pinctrl-0 = <&spi2_clk &spi2_tx &spi2_rx &spi2_cs0>;
                #address-cells = <1>;
                #size-cells = <0>;
                status = "okay";
};

本文件中Makefile注释所有的编译选项

linux-kernel-gitlab-firefly文件下make menuconfig
-> Device Driver                                                         
     -> SPI support (SPI [=y])


中关闭wk2xxx Spi Switch Uart编译入内核

编译dtb

sudo make CROSS_COMPILE=你的交叉编译工具链路径 dtbs

编译内核

sudo make ARCH=arm64CROSS_COMPILE=你的交叉编译工具链路径 rk3399-firefly-aio-linux.img -j8

编写Makefile,交叉编译spidev_test.c文件

硬件操作:短接spi2 的 TX 和 RX 。

./spidev_test -D /dev/spidev32766.0


结果如下:

spi mode: 0x0
bits per word: 8
max speed: 500000 Hz (500 KHz)
RX | FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  | ................................


回复

使用道具 举报

47

积分

0

威望

0

贡献

技术小白

积分
47
发表于 2019-3-26 11:21:56        只看该作者  沙发

回帖奖励 +1

您确定这个可以使用AIO-rk3399j de SPI2吗? 我按照您的移植方法移植之后,dev下都没有SPI设备,这是咋回事,求指教
回复

使用道具 举报

16

积分

0

威望

0

贡献

技术小白

积分
16
发表于 2021-4-12 15:13:33        只看该作者  板凳
同问啊。。在pc-plus上可以调通,但是3399J上不行啊
回复

使用道具 举报

17

积分

0

威望

0

贡献

技术小白

积分
17
发表于 2021-4-16 18:34:46        只看该作者  地板
正好学习学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表