diff options
author | Dylan Reid <dgreid@chromium.org> | 2012-04-27 11:37:33 -0700 |
---|---|---|
committer | Stefan Reinauer <stefan.reinauer@coreboot.org> | 2012-08-07 01:03:39 +0200 |
commit | b98d07813d39321e09a18233a565a5fe22944537 (patch) | |
tree | 37126efd11d7e0d514f0b501bfd7e339e37bb1f7 /src/southbridge/intel/bd82x6x/azalia.c | |
parent | c02cadaee1c909c116b54502eadeade725011767 (diff) |
bd82x6x: Add beep commands
Move beep commands to board-specific area as they need to be different for
different codecs.
Change-Id: I2a1ac938c49827cc816a95df10793a7e234942bf
Signed-off-by: Dylan Reid <dgreid@chromium.org>
Reviewed-on: http://review.coreboot.org/1410
Tested-by: build bot (Jenkins)
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
Diffstat (limited to 'src/southbridge/intel/bd82x6x/azalia.c')
-rw-r--r-- | src/southbridge/intel/bd82x6x/azalia.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/southbridge/intel/bd82x6x/azalia.c b/src/southbridge/intel/bd82x6x/azalia.c index e40bbe3dda..a257daf436 100644 --- a/src/southbridge/intel/bd82x6x/azalia.c +++ b/src/southbridge/intel/bd82x6x/azalia.c @@ -92,6 +92,8 @@ no_codec: const u32 * cim_verb_data = NULL; u32 cim_verb_data_size = 0; +const u32 * pc_beep_verbs = NULL; +u32 pc_beep_verbs_size = 0; static u32 find_verb(struct device *dev, u32 viddid, const u32 ** verb) { @@ -218,6 +220,16 @@ static void codecs_init(struct device *dev, u32 base, u32 codec_mask) if (codec_mask & (1 << i)) codec_init(dev, base, i); } + + for (i = 0; i < pc_beep_verbs_size; i++) { + if (wait_for_ready(base) == -1) + return; + + write32(base + 0x60, pc_beep_verbs[i]); + + if (wait_for_valid(base) == -1) + return; + } } static void azalia_init(struct device *dev) |