1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
之前的文章记录了 SC16IS762 SPI/I2C 转 UART 串口芯片 驱动调试过程,
本编中将记录 使用内核中自带的SC16IS7xx 驱动在RK3288平台上的移植过程。 环境: Hardware: RK3288 (九鼎 RK3288 CV5 核心板) SDK: linux 4.4.18 SC16IS762 电路: 1、首先参考内核中关于该芯片设备树的描述, 在设备树中添加 相关描述如下: &spi0 { status = "okay"; max-freq = <48000000>; //spi internal clk, don't modify pinctrl-names = "default"; //pinctrl according to you board pinctrl-0 = <&spi0_clk &spi0_tx &spi0_rx &spi0_cs0 &spi0_cs1>; sc16is762@01 { compatible = "nxp,sc16is762"; reg = <0x01>; //chip select 0:cs0 1:cs1 spi-max-frequency = <1000000>; //spi output clock //clocks = <&cru SCLK_SPI0>; clocks = <&ext_sc16is7xx>; pinctrl-names = "default"; //pinctrl according to you board pinctrl-0 = <&sc16is762_irqgpio>; interrupt-parent = <&gpio8>; interrupts = <1 IRQ_TYPE_EDGE_FALLING>; irq-gpio = <&gpio8 1 GPIO_ACTIVE_LOW>; }; }; 由于 SC16IS762 需要指定始终源 进行串口 波特率的设置,否则会出现 驱动 probe 失败的问题: 所以需要添加 clocks 描述; ext_sc16is7xx: external-sc16is7xx-clock { compatible = "fixed-clock"; clock-frequency = <18432000>; clock-output-names = "ext_sc16is7xx"; #clock-cells = <0>; }; 始终频率需要根据自己的电路设置,公司板子上SC16IS762 使用的晶振为18.432MHZ 2、修改内核配置选项 使能 sc16is7xx 驱动,make menuconfig ---> /sc16is7xx , 根据提示使能,这里不赘述 3、配置好后 ./mk.sh -k -cv=5 重新编译生成 zboot.img, 烧录至主板后重启,查看启动打印信息 驱动被正常调用,查看/dev/ttysc0 是否存在 4、microcom -s 115200 /dev/ttysc0 进行收发测试 笔者在测试时发现 串口输出乱码,后检查发现是 芯片的晶振时钟没有配置正确,所以大家 一定要根据自己的电路相应修改设备树! |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
基于米尔瑞芯微RK3576核心板/开发板的人脸疲劳检测应用方案
1162 浏览 0 评论
1330 浏览 1 评论
1015 浏览 1 评论
2345 浏览 1 评论
3671 浏览 1 评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-30 20:29 , Processed in 0.549008 second(s), Total 40, Slave 34 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号