天嵌科技 ARM开发社区

 找回密码
 注册
查看: 518|回复: 0

如何解决TQ335XB_V2工控板蜂鸣器不响问题

[复制链接]
非也 发表于 2019-7-22 11:15:25 | 显示全部楼层 |阅读模式
  蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。TQ335XB_V2工控板上载有一路蜂鸣器,通过烧写Linux+QT系统后发现使用蜂鸣器不响,该如何解决?其实方法很简单,AM335X旧版本内核源码的蜂鸣器驱动有BUG,可向天嵌科技技术支持或者客服获取可用的tq3358_beep.c的文件替换到drivers/char/tq3358_beep.c,然后修改arch/arm/mach-omap2/board-tq335x_coreb_v2.c 文件,添加以下代码:

  1. #ifdef CONFIG_TQ3358_BEEP
  2. static struct platform_pwm_beep_data beep_data = {
  3. .pwm_id = "ehrpwm.0",
  4. .ch = 1,
  5. };
  6. static struct platform_device pwm_beep = {
  7. .name = "pwm-beeper",
  8. .id = -1,
  9. .dev = {
  10. .platform_data = &beep_data,
  11. },
  12. };
  13. static void beep_init(int evm_id, int profile)
  14. {
  15. int err;
  16. setup_pin_mux(ehrpwm0B_pin_mux);
  17. //gany mask
  18. err = platform_device_register(&pwm_beep);
  19. if (err)
  20. pr_err("failed to register gpio led device\n");
  21. }
  22. #endif
复制代码

  并且在TQ3358_EVM_dev_cfg 中添加:
  1. #ifdef CONFIG_TQ3358_BEEP
  2. {beep_init, DEV_ON_BASEBOARD, PROFILE_2},
  3. #endif
复制代码

重新编译烧写内核即可。


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

本版积分规则

Archiver|手机版|小黑屋|天嵌科技 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2020-8-12 22:20 , Processed in 1.031250 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表