Commit graph

48 commits

Author SHA1 Message Date
Michael Sevakis
e61e9c61d0 Do some cleanup, adjustment and a couple fixes to recent sound changes.
* SOUND_x enum can be generated by audiohw_settings.h along with settings
entries and sound_val2phys.

* VOLUME_MIN and VOLUME_MAX are no longer necessary within sound.c. If
you need them, they are for target-defined purposes.

* Fix up SDL volume implementation in sdl.c. Move sim volume calculation
code to pcm-sdl.c.

* Min trigger tresholds were based upon VOLUME_MIN for some reason.
These setting have nothing to do with playback volume. Since it is no
longer present, set these at -89dB which is the minimum peak meter
sensitivity setting.

* Fix an oversight in wm8758.c. I forgot to add the dB->register
conversion to audiohw_set_volume.

Change-Id: Ie1df33f1793eee75e6793f16bc7bddd16edb7f75
2013-04-22 20:38:17 -04:00
Michael Sevakis
0c7b787398 Straighten out the mad twisted state of sound.c and related areas.
This is going right in since it's long overdue. If anything is goofed,
drop me a line or just tweak it yourself if you know what's wrong. :-)

Make HW/SW codec interface more uniform when emulating HW functionality
on SWCODEC for functions such as "audiohw_set_pitch". The firmware-to-
DSP plumbing is in firmware/drivers/audiohw-swcodec.c. "sound_XXX"
APIs are all in sound.c with none in DSP code any longer.

Reduce number of settings definitions needed by each codec by providing
defaults for common ones like balance, channels and SW tone controls.

Remove need for separate SIM code and tables and add virtual codec header
for hosted targets.

Change-Id: I3f23702bca054fc9bda40f49824ce681bb7f777b
2013-04-15 12:02:05 -04:00
Marcin Bukat
0499aff9d0 WM8750: Extend recording gain range.
Use two stage amplification (PGA gain and digital stage gain)
combined to extend recgain range to -17.25 +60.0dB.

Change-Id: I4df8af801730b7efb2d35096de077ba31d331222
2012-01-25 09:31:34 +01:00
Boris Gjenero
6c97145e7d Add missing includes found using -Wmissing-declarations.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31396 a1c6a512-1295-4272-9138-f99709370657
2011-12-21 18:02:50 +00:00
Marcin Bukat
f4b74b269a MPIO HD300: vastly improve sound quality. This unfortunately means reverting r28797 which introduced poping noise
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30904 a1c6a512-1295-4272-9138-f99709370657
2011-11-05 14:01:22 +00:00
Robert Kukla
d9bc251de1 use correct define for gigabeat fx to enable lineout (was broken in r29588)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29646 a1c6a512-1295-4272-9138-f99709370657
2011-03-26 13:12:24 +00:00
Marcin Bukat
dce799641d WM8750/51: properly apply recording gain
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29594 a1c6a512-1295-4272-9138-f99709370657
2011-03-15 22:35:12 +00:00
Marcin Bukat
55e7586642 MPIO HD300: Enable line-in recording. Thanks Andriej Azariev for pointing out such capability of this DAP.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29590 a1c6a512-1295-4272-9138-f99709370657
2011-03-15 07:30:29 +00:00
Marcin Bukat
f056669dcd fix red
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29589 a1c6a512-1295-4272-9138-f99709370657
2011-03-14 23:14:07 +00:00
Marcin Bukat
ae68278c8d WM8750/51 driver:
1) Set prescaler correctly when 3d enhancement in use.
2) Implement sound_val2phys so gains in recording screen are correct.
3) Minor cleanups.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29588 a1c6a512-1295-4272-9138-f99709370657
2011-03-14 23:06:33 +00:00
Marcin Bukat
a8dc45f511 slightly modified FS#11531 by me: WM8750/51 driver rework
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29584 a1c6a512-1295-4272-9138-f99709370657
2011-03-14 09:58:19 +00:00
Marcin Bukat
28cfe4d13d WM8750 - fix muted output when entering FM radio screen.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28869 a1c6a512-1295-4272-9138-f99709370657
2010-12-21 08:02:45 +00:00
Marcin Bukat
9a24892e2e MPIO HD300 - initial commit
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28680 a1c6a512-1295-4272-9138-f99709370657
2010-11-26 23:28:08 +00:00
Marcin Bukat
df867fa44c MPIO HD200 - fix stupid typo introduced in r28270 which forced device hard shutdown during boot.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28304 a1c6a512-1295-4272-9138-f99709370657
2010-10-18 13:12:44 +00:00
Marcin Bukat
d793a971d8 HD200 - GPIO57 is headphone output enable. Proper handling of this line fixes hissing noise after startup.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28270 a1c6a512-1295-4272-9138-f99709370657
2010-10-13 20:35:58 +00:00
Marcin Bukat
451138ba74 WM8750 - add ALC and NGAT related low level functions (disabled now by default)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27587 a1c6a512-1295-4272-9138-f99709370657
2010-07-27 20:57:33 +00:00
Marcin Bukat
971a6e9c94 HD200 - Setup codec as I2S master and enable recording
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27250 a1c6a512-1295-4272-9138-f99709370657
2010-07-02 21:09:28 +00:00
Michael Sevakis
f16912f624 r25940 oops. No, no, no, that wasn't quite right. Must be truthful about the level in decidecibels for subsequent code.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25941 a1c6a512-1295-4272-9138-f99709370657
2010-05-11 04:13:04 +00:00
Michael Sevakis
8ce5b01ec7 MRobe100, HD200, Gigabeat F/X (anything with wm8750 or wm8751). Properly prescale bass and treble controls to avoid clipping.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25940 a1c6a512-1295-4272-9138-f99709370657
2010-05-11 04:02:45 +00:00
Marcin Bukat
c740af20e7 HD200 - add FM support.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25757 a1c6a512-1295-4272-9138-f99709370657
2010-04-29 13:14:43 +00:00
Rafaël Carré
f2f34881ec Remove pcm_mute() which has been unused since r19308
Remove audiohw_mute from header as well, and make this function static
to each driver (commented out when it was unused)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25733 a1c6a512-1295-4272-9138-f99709370657
2010-04-27 00:05:02 +00:00
Marcin Bukat
b09d3aec39 Add MPIO HD200 port - changed files
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25724 a1c6a512-1295-4272-9138-f99709370657
2010-04-26 21:40:00 +00:00
Michael Sevakis
bdf3004f96 CLOCKING register should be set on hardware init.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19410 a1c6a512-1295-4272-9138-f99709370657
2008-12-12 23:03:30 +00:00
Michael Sevakis
e69d567d9e Bring consistency to pcm implementation and samplerate handling. Less low-level duplication. A small test_sampr fix so it works on coldfire again.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19400 a1c6a512-1295-4272-9138-f99709370657
2008-12-12 11:01:07 +00:00
Michael Sevakis
89da4328a0 Meg F/X can beep and click using a hardware timer so let us try it out. To match things up better, fix PCM beeping to give correct frequency (and get a pointer wrap bug too). Do some minor adjustments to compensate for corrections.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19355 a1c6a512-1295-4272-9138-f99709370657
2008-12-07 00:07:47 +00:00
Michael Sevakis
888c3477bb Fix yellow and red. Maybe create some new.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19231 a1c6a512-1295-4272-9138-f99709370657
2008-11-26 14:52:31 +00:00
Michael Sevakis
888451fb0f Get rid of remaining audiohw_enable_output style codec setup and use pre/post split initialization. Move some SoC-specific code like i2s_reset out of the codec drivers. Helps to unify drivers and it was only ever used to enable. I cannot possibly test everything so report (I'll be on call ;) or fix problems if any crop up.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19228 a1c6a512-1295-4272-9138-f99709370657
2008-11-26 14:25:45 +00:00
Karl Kurbjun
59d4d2025c Revert last commit (accidentally committed the whole tree)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19095 a1c6a512-1295-4272-9138-f99709370657
2008-11-12 04:15:34 +00:00
Karl Kurbjun
d42041043b Add in the needed crt0.S code for the wakeup alarm also
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19094 a1c6a512-1295-4272-9138-f99709370657
2008-11-12 03:57:32 +00:00
Daniel Stenberg
2acc0ac542 Updated our source code header to explicitly mention that we are GPL v2 or
later. We still need to hunt down snippets used that are not. 1324 modified
files...
http://www.rockbox.org/mail/archive/rockbox-dev-archive-2008-06/0060.shtml


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17847 a1c6a512-1295-4272-9138-f99709370657
2008-06-28 18:10:04 +00:00
Christian Gmeiner
a6100fb5ee undo some changes of my last patch... should fix wm8751 based targets
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17286 a1c6a512-1295-4272-9138-f99709370657
2008-04-28 22:15:52 +00:00
Christian Gmeiner
8391526f79 * introduce AUDIOHW_CAPS to define which audio codec can do what kind of operations in hw, e.g. setting bass
* added documentation why and when we need the software based prescaler
* implement audiohw_set_bass and audiohw_set_treble for mas35xx
* clean up sound_set_bass and sound_set_treble
* simplify some #ifdef logic
* fix special handling of WM8751 - looking for tester :)



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17274 a1c6a512-1295-4272-9138-f99709370657
2008-04-28 08:37:18 +00:00
Christian Gmeiner
06971be8cd Return value of audiohw_set_xxx_vol is never used and most of the time we have a return 0; --> kick it
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16300 a1c6a512-1295-4272-9138-f99709370657
2008-02-13 11:19:23 +00:00
Mark Arigo
8a7e626ec2 mrobe 100: (1) fix the sound volume by properly enabling headphone output, (2) disable line-out since there's no connector.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16230 a1c6a512-1295-4272-9138-f99709370657
2008-02-06 05:15:06 +00:00
Robert Kukla
47cfed1f1b audio on the m:robe 100
- using the existing wm8751 driver (from gigabeat port) integrated into the portal player environment
- only 44.1kHz at the moment
- for some reason the output is very quiet
- due to the lack of usable buttons the easiest (?) way to start an audio file is to copy the .playlist_control, config.cfg and nvram.bin files from another target, where auto resume is enabled.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16117 a1c6a512-1295-4272-9138-f99709370657
2008-01-20 12:59:23 +00:00
Marcoen Hirschberg
df31f5f186 Revert previous commit (still learning to work with git...)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15904 a1c6a512-1295-4272-9138-f99709370657
2007-12-10 11:14:28 +00:00
Marcoen Hirschberg
dcf244192b use dB units for balance control
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15902 a1c6a512-1295-4272-9138-f99709370657
2007-12-10 11:07:38 +00:00
Christian Gmeiner
1c38c75a22 remove not used dummy code
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15763 a1c6a512-1295-4272-9138-f99709370657
2007-11-22 23:24:24 +00:00
Christian Gmeiner
41a67a7e90 get rid of audiohw_reset
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15720 a1c6a512-1295-4272-9138-f99709370657
2007-11-20 10:28:53 +00:00
Thom Johansen
8f72192fa2 Increase step size of stereo width to 5% to avoid tediously long list in settings. Reduce max limit from 255% to 250% for cosmetic reasons, value of 255% was chosen because of (very) old restrictions in settings system anyway.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15057 a1c6a512-1295-4272-9138-f99709370657
2007-10-09 21:29:20 +00:00
Steve Gotthardt
828d719ac1 Changes bass setting to use adaptive bass instead of linear bass. The datasheet recommends it and it should stop clipping on bass.
Steve Gotthardt.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13867 a1c6a512-1295-4272-9138-f99709370657
2007-07-13 04:18:31 +00:00
Michael Sevakis
f783617cbc Gigabeat: Audio tweak mishmash - Make sure zero crossing detection times out so the volume always gets updated. Make sure i2s is off at boot and set to proper mode before audio hardware is initialized. Make pausing pcm instant instead of waiting until the end of the current DMA transfer.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13706 a1c6a512-1295-4272-9138-f99709370657
2007-06-24 20:41:27 +00:00
Christian Gmeiner
d1178d2d76 * changed pararmeter of audiohw_mute from int to bool
* unification of init and close
  NOTE: audiohw_init is a void function now, because it never (can) fail
        okay  from JdGordon@irc



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13622 a1c6a512-1295-4272-9138-f99709370657
2007-06-13 06:33:40 +00:00
Christian Gmeiner
23279cd43a some little more work on audio codec driver unification - more will follow
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13620 a1c6a512-1295-4272-9138-f99709370657
2007-06-11 23:39:07 +00:00
Marcoen Hirschberg
85f06b885d the DAC drivers need to include audiohw.h now
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13474 a1c6a512-1295-4272-9138-f99709370657
2007-05-22 20:39:50 +00:00
Christian Gmeiner
cdbf33adf7 * move audio settings into audio codec drivers
* add mas35xx driver for all mas35xx targets. Later 
  mas35xx code from sound.c will move to this new driver


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13464 a1c6a512-1295-4272-9138-f99709370657
2007-05-22 15:56:05 +00:00
Michael Sevakis
d989f19eda No more ear doctor visits after powering/unpowering the Gigabeat. Cleanup a little too.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13312 a1c6a512-1295-4272-9138-f99709370657
2007-05-03 18:08:00 +00:00
Michael Sevakis
3c38fe4204 Gigabeat: Separate driver for audio codec. Tweak pcm driver to comply with intended interface.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13307 a1c6a512-1295-4272-9138-f99709370657
2007-05-02 22:33:24 +00:00