u-boot-brain/drivers/sound/i8254_beep.c
Simon Glass 6a27e540de sound: Add a driver for the i8254 beep
Add a sound driver which can output simple beeps using this legacy timer.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2019-02-20 15:27:10 +08:00

39 lines
665 B
C

// SPDX-License-Identifier: GPL-2.0+
/*
* Copyright 2018 Google LLC
*/
#include <common.h>
#include <dm.h>
#include <sound.h>
#include <asm/i8254.h>
int i8254_start_beep(struct udevice *dev, int frequency_hz)
{
return i8254_enable_beep(frequency_hz);
}
int i8254_stop_beep(struct udevice *dev)
{
i8254_disable_beep();
return 0;
}
static const struct sound_ops i8254_ops = {
.start_beep = i8254_start_beep,
.stop_beep = i8254_stop_beep,
};
static const struct udevice_id i8254_ids[] = {
{ .compatible = "i8254,beeper" },
{ }
};
U_BOOT_DRIVER(i8254_drv) = {
.name = "i8254_drv",
.id = UCLASS_SOUND,
.of_match = i8254_ids,
.ops = &i8254_ops,
};