蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。TQ335XB_V2工控板上载有一路蜂鸣器,通过烧写Linux+QT系统后发现使用蜂鸣器不响,该如何解决?其实方法很简单,AM335X旧版本内核源码的蜂鸣器驱动有BUG,可向天嵌科技技术支持或者客服获取可用的tq3358_beep.c的文件替换到drivers/char/tq3358_beep.c,然后修改arch/arm/mach-omap2/board-tq335x_coreb_v2.c 文件,添加以下代码: 
 
- #ifdef CONFIG_TQ3358_BEEP
 
 - static struct platform_pwm_beep_data beep_data = {
 
 - .pwm_id = "ehrpwm.0",
 
 - .ch = 1,
 
 - };
 
 - static struct platform_device pwm_beep = {
 
 - .name = "pwm-beeper",
 
 - .id = -1,
 
 - .dev = {
 
 - .platform_data = &beep_data,
 
 - },
 
 - };
 
 - static void beep_init(int evm_id, int profile)
 
 - {
 
 - int err;
 
 - setup_pin_mux(ehrpwm0B_pin_mux);
 
 - //gany mask
 
 - err = platform_device_register(&pwm_beep);
 
 - if (err)
 
 - pr_err("failed to register gpio led device\n");
 
 - }
 
 - #endif
 
  复制代码 
  并且在TQ3358_EVM_dev_cfg 中添加: 
- #ifdef CONFIG_TQ3358_BEEP
 
 - {beep_init, DEV_ON_BASEBOARD, PROFILE_2},
 
 - #endif
 
  复制代码 
重新编译烧写内核即可。 
 
 
 |