IMX6ULL开发板spi OLED驱动

86 阅读1分钟

视频地址: www.bilibili.com/video/BV1Yb…

视频选集:P141 - P150

1、将文件上传到虚拟机共享目录 file

2、make编译出驱动 file

3、修改设备树

vim 100ask_imx6ull-14x14.dts file

&ecspi1 {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_ecspi1>;
		
    fsl,spi-num-chipselects = <2>;
    cs-gpios = <&gpio4 26 GPIO_ACTIVE_LOW>, <&gpio4 24 GPIO_ACTIVE_LOW>;
    status = "okay";

    oled: oled {
        compatible = "100ask,oled";
        reg = <0>;
        spi-max-frequency = <1000000>;
        dc-gpios = <&gpio4 20 GPIO_ACTIVE_HIGH>;
    };
		```
编译设备树:
![file](http://image.openwrite.cn/33001_E1AB696C22A541E5AB13916B051AA9E9)
注意:必须退回到linux内核目录里编译

将设备树文件放到共享目录:

`cp arch/arm/boot/dts/100ask_imx6ull-14x14.dts /home/book/nfs_rootfs/`

4、替换设备树

进入开发板,将设备树拷贝到/boot之后重启

`mount -t nfs -o nolock,vers=3 192.168.5.11:/home/book/nfs_rootfs /mnt`
![file](http://image.openwrite.cn/33001_D212F716C2C7486088FAABC72A485555)

5、验证设备树

进入设备树查找oled 

`cd /sys/firmware/devicetree/base`

`find -name "*oled*"`
![file](http://image.openwrite.cn/33001_74E4552BA17C40D0AD54F1930815CB67)

进入oled目录查看:

`cd ./soc/aips-bus@02000000/spba-bus@02000000/ecspi@02008000/oled`
![file](http://image.openwrite.cn/33001_1FDDB9BA86F44D1FA0DF802488FDC84E)

6、安装驱动

·insmod oled_drv.ko·
![file](http://image.openwrite.cn/33001_266DAF608B4A419E9927F0AD9A85D259)

7、执行oled_test验证

`./oled_test /dev/myoled`
![file](http://image.openwrite.cn/33001_2DBA6111FC32453699E9C9022FD24259)
![file](http://image.openwrite.cn/33001_3C3489CCD06447628CF32A04E8A1BE7A)
> 本文由博客一文多发平台 [OpenWrite](https://openwrite.cn?from=article_bottom) 发布!