完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
参考time.c重写了一个驱动,主要内容如下:
// 获取中断 gpt -> irq = platform_get_irq (pdev, 0 ); 如果( gpt -> irq < 0 ) { dev_err (& pdev -> dev , "无法获取 irq 号\n " ); 返回 gpt -> irq ; } ret= devm_request_irq (& pdev -> dev , gpt -> irq , gpt -> irq_handler , 0 , pdev -> name ,gpt); 如果(返回){ dev_err (& pdev -> dev , "can't claim irq %d \n " , gpt -> irq ); 转到退出; } // 获取输入输出 gpt -> gpio_pin = of_get_named_gpio ( pdev -> dev.of_node , " capture-gpios" , 0 ) ; 如果(!gpio_is_valid (gpt -> gpio_pin )){ dev_err (& pdev -> dev , "无效的 GPIO 引脚\n " ); ret = - EINVAL ; 转到退出; } ret= devm_gpio_request_one (& pdev -> dev , gpt -> gpio_pin , GPIOF_DIR_IN , pdev -> name ); 如果(返回){ dev_err (& pdev -> dev , "无法请求 GPIO 引脚\n " ); 转到退出; } /* * 初始化为已知状态(所有定时器关闭,定时复位) */ __raw_writel ( V2_TCTL_SWR , gpt -> base + MXC_TCTL ); while ( __raw_readl ( gpt -> base + MXC_TCTL ) & V2_TCTL_SWR ); __raw_writel ( 0 , gpt ->基础+ MXC_TCTL ); __raw_writel ( 0 , gpt ->基础+ MXC_TPRER ); /* 见数据表注释 */ dev_info (& pdev -> dev , "gpt ipgclk is %ld HZ \r\n " , clk_get_rate ( gpt -> ipg_clk )); dev_info (& pdev -> dev , "gpt perclk is %ld HZ \r\n " , clk_get_rate ( gpt -> per_clk )); tctl_val = V2_TCTL_CLK_IPG | V2_TCTL_ENMOD | V2_TCTL_等待| V2_TCTL_STOPEN ; __raw_writel (( clk_get_rate ( gpt -> ipg_clk )/ 1000000 )<< V2_TPRER_PRE , gpt -> base + MXC_TPRER ); //66格 __raw_writel (tctl_val, gpt -> base + MXC_TCTL ); //清除整数位 __raw_writel ( 0 , gpt ->基础+ V2_SR ); 设备树如下: &gpt2 { compatible = "ainuode,gpt2" ; pinctrl-name = "默认" ; pinctrl-0 = < &pinctrl_gpt2cap >; reg = < 0x020e8000 0x4000 >; 中断 = < GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH >; 时钟 = < &clks IMX6UL_CLK_IPG >, < &clks IMX6UL_CLK_GPT2_BUS >; 时钟名称 = "ipg" , "per" ; 捕获-gpios = < &gpio1 11 GPIO_ACTIVE_HIGH >; 状态= “好的” ; }; pinctrl_gpt2cap : capgrp { fsl,引脚=< MX6UL_PAD_JTAG_TMS__GPT2_CAPTURE1 0x1b0b1 >; }; 还有一些,配置中断使能,输入模式等,也验证成功,这里就不贴了。 我已经检查过寄存器配置是否正确。我希望你能回答。非常感谢你,祝你一切顺利。 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
1938个成员聚集在这个小组
加入小组我的项目我做主,使用GN+Ninja来完成构建系统(VSCode开发RT106X)
36445 浏览 0 评论
NXP IMX8应用处理器快速入门必备:技巧、使用、设计指南
5180 浏览 1 评论
6134 浏览 1 评论
6829 浏览 0 评论
NXP i.MX6UL开发板(linux系统烧录+规格+硬件+模块移植)使用手册
4263 浏览 0 评论
658浏览 2评论
求助,S32G上Core M启动后如何让Core A在Flash指定位置加载uboot?
647浏览 2评论
ESP32-WROVER-IE + LAN8720以太网,GPIO0电压只有1.6v,无法正常进入spi flash boot模式如何解决?
651浏览 2评论
求分享适用于PN7160 Android的NFC工厂测试应用程序
743浏览 2评论
863浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-3 03:09 , Processed in 1.013586 second(s), Total 74, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号