Commit graph

46 commits

Author SHA1 Message Date
Michael Sevakis
b15a523870 e200v1/c200v1: Implement limited samplerate switching. Rates 24kHz and below are being a bear as far as minor crackling at higher amplitude-- leave them out for the time being since no solution is currently evident. 48, 44, 32 (rec rates 24, 22, 16) seem perfectly fine. I'm betting c200 is ok to include because it uses the same setup as e200.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27139 a1c6a512-1295-4272-9138-f99709370657
2010-06-26 10:07:17 +00:00
Michael Giacomelli
103eabd31f Commit FS#11364 by me. Increases the A3525v2 volume range by 7.5dB. Each volume setting gets 7.5dB louder (if you listened before at 0dB, you would have to set it to about -7.5dB to get the same volume). As a result, the new 0dB actually is pretty close to max line level for a full scale voltage, so positive dB may clip, whereas before they did not because the scale was off. Thanks to dfkt and Tim Graf for help figuring this out.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27101 a1c6a512-1295-4272-9138-f99709370657
2010-06-24 01:11:51 +00:00
Rafaël Carré
172fc967b0 as3525v2: RTC alarm
A specific poweroff function needs to be used for wake-up to work
Disable RTC in bootloaders for consistency with other Sansas

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26243 a1c6a512-1295-4272-9138-f99709370657
2010-05-22 00:28:03 +00:00
Rafaël Carré
9c774b3849 as3514.c: clean up
- enhance registers description in header file with respect to the as3543
registers: point which one are present or not in the as3543, which bits
change (i didn't detail all registers)
- cache less registers, only up to the ones which are written to
  multiple times
- use ascodec_readbytes() to cache all needed registers in a row
- separate the as3543 bits from as3514/as3515 in audiohw_preinit()
- comment out unused audiohw_set_lineout_vol
- some cosmetics

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26174 a1c6a512-1295-4272-9138-f99709370657
2010-05-19 17:30:38 +00:00
Rafaël Carré
88c55d7290 as3514/as3543 fixes
- Enable end of charge monitoring once, it doesn't need to be disabled
- Acknowledge the first (wrong) end of charge interrupt on charger enable
  (this had been broken in r25299)
- Centralize reads to ENRD* registers and cache the results when needed
    - on PP it is not needed because reads are atomic, we only check for
      end of charge when the charging, and for charger presence when
      discharging

as3525v2 (using as3543) specifics
- I got the datasheet today from AMS, thanks to them for being so fast
  and not require me to sign tons of papers!
- USB detection now works on as3525v2 using the as3543. Clip+ won't
  reboot to OF yet, it needs mkamsboot support first (usbstack disabled)
- Charging should work, the CHARGER register is at a different place, it
  is an extended PMU register -> use ascodec_read/write_charger() to
  access it
- real interrupts are not used yet for ENRD, we get thousands of
  interrupts per second, apparently only limited by the i2c clock.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26116 a1c6a512-1295-4272-9138-f99709370657
2010-05-17 20:53:25 +00:00
Rafaël Carré
b9beeccbcf as3525v1 use an as3515 audio codec/PMU, not an as3517 as previously thought
-> Change references to as3517 into as3515

there is a reference to the as3515 in the public as3525 datasheet to
support this fact

as3517 is used in the as3527 SoC, the (public) as3527 datasheet has
detailed information on its registers
the audio codec/PMU used in as3525v2 (thought to be as3543) appears to be
compatible (identical?) with as3517

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26075 a1c6a512-1295-4272-9138-f99709370657
2010-05-16 09:22:02 +00:00
Rafaël Carré
7831a23376 as3525v2: make sure volume is normal by writing Audioset2 register
If the bit 6 is set volume is much lower, without writing it explicitely
it is undefined.
According to linux sources this bit is related to mixer.

Initialize Audioset2 with low power 'hph' (probably headphones) quality,
as I couldn't make a difference with 'high quality' setting.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25890 a1c6a512-1295-4272-9138-f99709370657
2010-05-07 20:58:43 +00:00
Rafaël Carré
5e88c4b4de as3525v2: fix volume setting (can now go very low)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25732 a1c6a512-1295-4272-9138-f99709370657
2010-04-26 23:42:12 +00:00
Rafaël Carré
be177138d3 as3514: detail bit of AS3543_DAC_IF
it lets you select internal PLL or external MCLK and is not related to mute

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25731 a1c6a512-1295-4272-9138-f99709370657
2010-04-26 23:26:08 +00:00
Rafaël Carré
ed0c5edd62 as3525v2 : recording (FM only, no microphone yet)
Add HAVE_AS3543 config define to differentiate the bits changed since as3514/as3517
Enable recording on Fuzev2/Clipv2/Clip+, although it was tested on Clip+ only

Note: storage is still read-only so I tested by listening to headphones loopback and watching the recording level in recscreen

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25390 a1c6a512-1295-4272-9138-f99709370657
2010-03-29 22:26:58 +00:00
Rafaël Carré
17eca7bfa0 as3525v2: FM playback (only tested on Clip+)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25383 a1c6a512-1295-4272-9138-f99709370657
2010-03-29 19:48:18 +00:00
Rafaël Carré
1bfffbcaaa as3543: name 0x1b & 0x1c registers
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25379 a1c6a512-1295-4272-9138-f99709370657
2010-03-29 12:54:07 +00:00
Tobias Diedrich
47ab95904e Add handler for audio irq.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25299 a1c6a512-1295-4272-9138-f99709370657
2010-03-23 05:02:37 +00:00
Rafaël Carré
7042c96b4a Clip+: enable sound on "as3514" (as3543 in fact)
as3525 comes with a as3517, as3525v2 with a as3543, rename specific
registers accordingly

Existing problems: FM (line out) doesn't work, volume can't go below a
certain point

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25260 a1c6a512-1295-4272-9138-f99709370657
2010-03-20 17:09:44 +00:00
Bertrik Sikken
ea7f143096 FS#9611 - Sansa Clip radio code. Commit final part which enables the LINE2 input that carries the analog radio signal on ams sansas.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19927 a1c6a512-1295-4272-9138-f99709370657
2009-02-05 19:57:18 +00:00
Christian Gmeiner
ad6b6d764b cleanup audiohw_set_frequency by adding it to audiohw.h and removing it from all driver .h files
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19806 a1c6a512-1295-4272-9138-f99709370657
2009-01-20 22:55:10 +00:00
Michael Sevakis
7d7969114d c200v1/e200v1: Add battery charging. This should be usable on v2 players but those should be evaluated for current, endpoint voltage and whether or not accurate battery readings may always be obtained (which determines algorithm setup and behavior).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19748 a1c6a512-1295-4272-9138-f99709370657
2009-01-11 10:07:22 +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
3511d94031 Add register bit defines for as3514 and clean stuff up. Reduce poppiness at startup and shutdown (and even powerup for e200). Really, I can't honestly say it will help anything but an e200v1 but I'm sick of the noises. ;)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19214 a1c6a512-1295-4272-9138-f99709370657
2008-11-25 16:16:06 +00:00
Dave Chapman
11b5d5a37e Remove some unneeded #includes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19105 a1c6a512-1295-4272-9138-f99709370657
2008-11-14 22:14:40 +00:00
Dave Chapman
c8d0a6522e Assume that AS3514_I2C_ADDR is not target-specific. If it turns out to be different to 0x46 in a future target, then perhaps move this definition into the ascodec-target.h files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19100 a1c6a512-1295-4272-9138-f99709370657
2008-11-12 11:23:44 +00:00
Rafaël Carré
527a1dbc70 Fix red: e200/c200 use ADC_UNREG_POWER define (for compatibility)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19080 a1c6a512-1295-4272-9138-f99709370657
2008-11-10 21:40:30 +00:00
Rafaël Carré
79e56a7410 as3514: do not error out if included by files which don't use AS3514_I2C_ADDR
If the model is unknown and try to use it, the build will fail anyway
because it will not be defined

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19079 a1c6a512-1295-4272-9138-f99709370657
2008-11-10 21:10:27 +00:00
Rafaël Carré
02dfae031a Sansa AMS: use the AS3514 ADC driver
Move the ADC defines to as3514.h, and make adc-target.h only include as3514.h
Implement the missing API (ascodec_readbytes, ascodec_(un)lock)

Revert the changes to the PP-specific arm/ascodec-target.h in r19073,
use a AS3525 specific ascodec-target.h while moving the AS3514 specific
code in export/as3514.h

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19076 a1c6a512-1295-4272-9138-f99709370657
2008-11-10 20:55:56 +00:00
Rafaël Carré
22c450a7f4 Merge target/arm/as3525/as3525-codec.h into target/arm/ascodec-target.h
The AMS Sansa use the same AS3514 registers (except USB_UTIL which was added)
Use the register defines in AMS Sansa code instead of hardcoded values

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19073 a1c6a512-1295-4272-9138-f99709370657
2008-11-10 19:53:12 +00:00
Dave Chapman
42f77d4eb0 Abstract the PortalPlayer AS3514 handling with an "ascodec" API - inspired by the wmcodec API used with the Wolfson codecs. The intention is to implement this API for the AS3525 and then share code with the Sansa V2 ports.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18940 a1c6a512-1295-4272-9138-f99709370657
2008-10-31 00:16:42 +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
Mark Arigo
b4275d4941 Philips GoGear SA9200 port. Working bootloader and normal builds, including sound. No touchpad now, buttons limited to using vol+/vol-/power for up/down/select. Rockbox USB is enabled since the OF is MTP only...read the warnings on the PortalPlayerUsb wiki page.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17591 a1c6a512-1295-4272-9138-f99709370657
2008-05-21 03:55:17 +00:00
Bertrik Sikken
a24f4b7a80 FS#8898 - Prefix AS3514 registers with AS3514_
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17130 a1c6a512-1295-4272-9138-f99709370657
2008-04-15 21:33:32 +00:00
Barry Wardell
0449c0ef5d Second part of FS#8272 - include charger status in Sansa debug menu.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16513 a1c6a512-1295-4272-9138-f99709370657
2008-03-04 14:31:14 +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
Christian Gmeiner
c6e9b8b7e1 move audiohw_enable_output to audiohw.h
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16251 a1c6a512-1295-4272-9138-f99709370657
2008-02-09 14:43:36 +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
Christian Gmeiner
c583f3c8d1 introduce general audiohw api for recording
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15687 a1c6a512-1295-4272-9138-f99709370657
2007-11-19 15:50:52 +00:00
Barry Wardell
007563c93d FS#8023: Use of AS3514 #defines instead of magic values.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15297 a1c6a512-1295-4272-9138-f99709370657
2007-10-25 09:03:47 +00:00
Mark Arigo
dbc6b4e39a Sansa c200 port. Rockbox works with sound. Several features are disabled including some lcd options, FM radio, recording, and all plugins. Loading the OF from the Rockbox bootloader does not work.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14625 a1c6a512-1295-4272-9138-f99709370657
2007-09-06 03:28:58 +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
10e21d19bf make audiohw.h include the DAC header files
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13473 a1c6a512-1295-4272-9138-f99709370657
2007-05-22 20:17:35 +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
Antonius Hellmann
731d7a16c3 Increase sansa volume range at the lower end. This seems to be necessary
now after the audio improvement: -40.5dB ... +6dB => -73.5 ... +6dB


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13447 a1c6a512-1295-4272-9138-f99709370657
2007-05-20 19:09:15 +00:00
Christian Gmeiner
947eb50d64 adapt some values
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13167 a1c6a512-1295-4272-9138-f99709370657
2007-04-15 14:38:22 +00:00
Christian Gmeiner
8a5ecc8eb4 * save more power, as we dont need the mixer (yet)
* clean up headers and other clean ups


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13166 a1c6a512-1295-4272-9138-f99709370657
2007-04-15 14:05:58 +00:00
Christian Gmeiner
ca6f4abcf1 * make it louder - inspired by FS #6911
* disable some unneeded stuff -> save power
* remove some unneeded functions
* shadow registers, so we dont need to do so much i2c traffic



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13150 a1c6a512-1295-4272-9138-f99709370657
2007-04-14 00:49:35 +00:00
Barry Wardell
7f4f9aead7 Improved ADC driver for AS3514 (used in PP5024 - ie. Sansa e200) based off datasheet.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12745 a1c6a512-1295-4272-9138-f99709370657
2007-03-13 01:50:13 +00:00
Daniel Ankers
dfad406aa1 Sound for Sansa E200 - based on work by myself, Rene Peinthor, Barry Wardell and Christian Gmeiner from the AS3514 datasheet.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12727 a1c6a512-1295-4272-9138-f99709370657
2007-03-11 17:38:08 +00:00