1// SPDX-License-Identifier: GPL-2.0+ 2/* 3 * Copyright 2018 Google LLC 4 */ 5 6#include <dm.h> 7#include <sound.h> 8#include <asm/i8254.h> 9 10int i8254_start_beep(struct udevice *dev, int frequency_hz) 11{ 12 return i8254_enable_beep(frequency_hz); 13} 14 15int i8254_stop_beep(struct udevice *dev) 16{ 17 i8254_disable_beep(); 18 19 return 0; 20} 21 22static const struct sound_ops i8254_ops = { 23 .start_beep = i8254_start_beep, 24 .stop_beep = i8254_stop_beep, 25}; 26 27static const struct udevice_id i8254_ids[] = { 28 { .compatible = "i8254,beeper" }, 29 { } 30}; 31 32U_BOOT_DRIVER(i8254_drv) = { 33 .name = "i8254_drv", 34 .id = UCLASS_SOUND, 35 .of_match = i8254_ids, 36 .ops = &i8254_ops, 37}; 38