当前位置: 首页 > 工具软件 > Buzzer > 使用案例 >

imx6 添加buzzer设备的问题

茅星雨
2023-12-01

在imx6中貌似是没有写buzzer的设备,因此我们若有需要,得自己添加设备才能使用。

1、buzzer.h文件:

#ifndef __BUZZER_H
#define __BUZZER_H
struct buzzer_platform_data
{
	unsigned long pin_number;
};
#endif//

2、board.h文件:初始化buzzer的io设置为io,待会对应board.c文件中的io。

3、board.c文件:

#define BUZZER_PIN1        IMX_GPIO_NR(1 , 5)//根据自己的实际情况

static struct buzzer_platform_data imx6_buzzer1_data =
{
	.pin_number = BUZZER_PIN,
};

static struct platform_device imx6_buzzer1_device = 
{
	.name = "buzzer",
	.dev = 
	{
		.platform_data = &imx6_buzzer_data,
	},
};

static void imx6_buzzer_init(void)
{
	printk("imx6 buzzer init!\n");
	platform_device_register(&imx6_buzzer_device);
}


static void __init mx6_board_init(void)
{
	//添加
	imx6_buzzer_init();
}

至此,我们已经写好了buzzer的设备,驱动以匹配名字,会在/dev下生成设备。

 类似资料: