tas2557sw-android/tas2557-stereo-driver.git
2 years agoLoad calibration in the first playback master
Tracy Yi [Mon, 15 Oct 2018 05:57:48 +0000 (13:57 +0800)]
Load calibration in the first playback

Signed-off-by: Tracy Yi <tracy-yi@ti.com>
2 years agoAdd support for ASI2 with IV data
Tracy Yi [Thu, 10 May 2018 04:27:54 +0000 (12:27 +0800)]
Add support for ASI2 with IV data

Signed-off-by: Tracy Yi <tracy-yi@ti.com>
3 years agoFix compile error in kernel 4.3
Tracy Yi [Sun, 8 Apr 2018 09:20:47 +0000 (17:20 +0800)]
Fix compile error in kernel 4.3

Signed-off-by: Tracy Yi <tracy-yi@ti.com>
3 years agoAdd 3 times retry for safe guard failure
Tracy Yi [Tue, 20 Mar 2018 00:01:51 +0000 (08:01 +0800)]
Add 3 times retry for safe guard failure

Signed-off-by: Tracy Yi <tracy-yi@ti.com>
3 years agodriver v4.0, support multiple sources for same sample rate
Peter Li [Mon, 10 Jul 2017 21:56:52 +0000 (05:56 +0800)]
driver v4.0, support multiple sources for same sample rate

3 years agofix bug in YRAM detection
Peter Li [Sat, 10 Jun 2017 22:06:05 +0000 (06:06 +0800)]
fix bug in YRAM detection

3 years agosince set_calibration uses LoadConfigPrePowerUp, it is more robust to set it before...
Peter Li [Thu, 18 May 2017 15:59:37 +0000 (23:59 +0800)]
since set_calibration uses LoadConfigPrePowerUp, it is more robust to set it before load_coefficient

3 years agosupport bypass calibration Re for "thermal protection bypass" snapshots
Peter Li [Thu, 18 May 2017 15:43:59 +0000 (23:43 +0800)]
support bypass calibration Re for "thermal protection bypass" snapshots

3 years agofix bug : when system is suspended, we shouldn't access TAS2557
Peter Li [Tue, 16 May 2017 13:49:30 +0000 (21:49 +0800)]
fix bug : when system is suspended, we shouldn't access TAS2557

3 years agoupdate:
Peter Li [Fri, 5 May 2017 11:26:55 +0000 (19:26 +0800)]
update:
1. when loading program, before hardware reset, even if the I2C doesn't work, we still get chance to recover after hardware reset.
2. update error check in I2C transactions.

3 years agoremove unused parameter
Peter Li [Fri, 28 Apr 2017 22:23:24 +0000 (06:23 +0800)]
remove unused parameter

3 years agoupdate : make the clock error detection more robust
Peter Li [Fri, 28 Apr 2017 09:41:52 +0000 (17:41 +0800)]
update : make the clock error detection more robust
  weakness has been found by design team and recommend this setting

verify :
  1.during music playback, disconnect BCLK(PLL source), check TAS2557 behaviour
    device will be automatically muted
  2.when reconnect BCLK (PLL source), TAS2557 will recover

3 years agoin case of loading configuration before power up, we don't need to update FTC
Peter Li [Fri, 28 Apr 2017 00:54:13 +0000 (08:54 +0800)]
in case of loading configuration before power up, we don't need to update FTC

3 years agoupdate error handling : TAS2557 pow status can be checked 10ms after device power on.
Peter Li [Thu, 27 Apr 2017 16:49:11 +0000 (00:49 +0800)]
update error handling : TAS2557 pow status can be checked 10ms after device power on.
 if check the pow status less than 10ms after TAS2557 power on, it's possible that the class-d hasn't powered yet, we

verify :
 1. normal music playback
    we will schedule a delayed work to check the power status of TAS2557 after starting playback
 2. during normal music playback, shorten the SPK+ and SPK-
    in such case, we will powed down the device and reprogram the devices, then check the pow status again

3 years agoadd support :
Peter Li [Thu, 27 Apr 2017 16:01:27 +0000 (00:01 +0800)]
add support :
  the two IRQ pins from TAS2557s can be tied together and connected to the IRQ input of application processor.
  each of the IRQ pin of TAS2557 has been configured as "open drain, low-HiZ, High active drive".
  in such case, if there is no interrupt, the IRQ pin of TAS2557 will be HiZ. if there is interrupt, it will be drive HIGH.

note:
  the IRQ GPIO of application processor should be configured as "input, internal pull down".

verify :
  1. connect the two IRQ pins of TAS2557s to one GPIO of application processor (SD800, dragonboard)
     short SPK+ and SPK- of TAS2557-1, check driver IRQ service routine.
     short SPK+ and SPK- of TAS2557-2, check driver IRQ service routine.
  2. use two different GPIOs of application processor, IRQ of TAS2557-1 is connected to SD800 GPIO-59, IRQ of TAS2557-2 is connected to SD800 GPIO-82
     short SPK+ and SPK- of TAS2557-1, check driver IRQ service routine.
     short SPK+ and SPK- of TAS2557-2, check driver IRQ service routine.

3 years agofix bug : reading coefficient from calibration firmware, if it isn't the first coeffi...
Peter Li [Thu, 27 Apr 2017 14:35:00 +0000 (22:35 +0800)]
fix bug : reading coefficient from calibration firmware, if it isn't the first coefficient, the reading will fail.

verify :
read the second coefficient in the firmware binary

3 years agofix bug :
Peter Li [Thu, 27 Apr 2017 14:09:19 +0000 (22:09 +0800)]
fix bug :
fail sequence:
1. amp enable
2. set coef config 1, set current config to config 1
3. disable audio path, amp disable
4. set default config 0 => update to mnNewConfiguration will set coef when amp power up
5. set config 1 => compare with current config is same and skip
6. amp enable
7. load config 0 (but in this use case we need to load config 1)

verify step:
1. start music playback, default configuration 0
2. use tinymix "Stereo Configuration" to switch to configuration 1
   driver will load configuration 1 coefficients
3. stop music playback
4. use tinymix "Stereo Configuration" to switch to configuration 0
   driver won't load configuration 0 coefficients, but record to switch to configuration 0
5. use tinymix "Stereo Configuration" to switch to configuration 1
   driver won't load configuration 1 coefficients, but record to switch to configuration 1
6. start music playback,
   driver finds out the current configuration is 1, and need to switch to configuration 1, so skip coefficients update

3 years agoadd test mode
Peter Li [Thu, 20 Apr 2017 15:21:36 +0000 (23:21 +0800)]
add test mode

3 years agoupdate broadcasting mode
Peter Li [Thu, 20 Apr 2017 14:33:47 +0000 (22:33 +0800)]
update broadcasting mode

3 years agofix bug in VBoost Voltage Configuration
Peter Li [Thu, 13 Apr 2017 15:16:43 +0000 (23:16 +0800)]
fix bug in VBoost Voltage Configuration

4 years agofix bug : recover in DevA scenario, when switch to DevB or DevBoth scenario, there...
Peter Li [Wed, 12 Apr 2017 16:27:54 +0000 (00:27 +0800)]
fix bug : recover in DevA scenario, when switch to DevB or DevBoth scenario, there is no sound

4 years agoadd support VBoost always 5.6V
Peter Li [Wed, 12 Apr 2017 16:26:34 +0000 (00:26 +0800)]
add support VBoost always 5.6V

4 years agoupdate for vboost voltage level control
Peter Li [Tue, 11 Apr 2017 00:48:58 +0000 (08:48 +0800)]
update for vboost voltage level control

4 years agoupdate to use PLL as clock error detection 2
Peter Li [Fri, 7 Apr 2017 08:48:25 +0000 (16:48 +0800)]
update to use PLL as clock error detection 2

4 years agoadd VBoost control support
Peter Li [Thu, 6 Apr 2017 14:00:59 +0000 (22:00 +0800)]
add VBoost control support

4 years agoadd Calibration Re read
Peter Li [Fri, 31 Mar 2017 14:20:28 +0000 (22:20 +0800)]
add Calibration Re read

4 years agoupdate driver to support binary dump with cfgDevice only
Peter Li [Thu, 30 Mar 2017 22:25:40 +0000 (06:25 +0800)]
update driver to support binary dump with cfgDevice only

4 years agoremove unnecessary dts items
Peter Li [Wed, 29 Mar 2017 21:15:18 +0000 (05:15 +0800)]
remove unnecessary dts items

4 years agocheck power status of DAC and Class D
Peter Li [Wed, 29 Mar 2017 21:09:52 +0000 (05:09 +0800)]
check power status of DAC and Class D

4 years agouse timer to check IRQ flags too
Peter Li [Tue, 28 Mar 2017 16:32:31 +0000 (00:32 +0800)]
use timer to check IRQ flags too

4 years agocheck IRQ pin status before finishing IRQ service routine
Peter Li [Tue, 28 Mar 2017 13:45:46 +0000 (21:45 +0800)]
check IRQ pin status before finishing IRQ service routine

4 years agokeep channel setup until set to default
Peter Li [Sat, 25 Mar 2017 01:57:22 +0000 (09:57 +0800)]
keep channel setup until set to default

4 years agoadd channel control in SmartAmp mode
Peter Li [Sat, 25 Mar 2017 01:18:36 +0000 (09:18 +0800)]
add channel control in SmartAmp mode

4 years agoupdate for "mono case" support
Peter Li [Fri, 24 Mar 2017 17:44:26 +0000 (01:44 +0800)]
update for "mono case" support

4 years agoupdate for clock error detection
Peter Li [Thu, 23 Mar 2017 14:42:10 +0000 (22:42 +0800)]
update for clock error detection

4 years agoupdate to support PPC3 TAS2557 app v3.0.2 release on 17th March, 2017
Peter Li [Mon, 20 Mar 2017 17:33:43 +0000 (01:33 +0800)]
update to support PPC3 TAS2557 app v3.0.2 release on 17th March, 2017

4 years agofix code style
Peter Li [Thu, 16 Mar 2017 16:04:15 +0000 (00:04 +0800)]
fix code style

4 years agoupdate : add lock to protect timer and IRQ work
Peter Li [Thu, 16 Mar 2017 15:55:23 +0000 (23:55 +0800)]
update : add lock to protect timer and IRQ work

4 years agofix typo error
Peter Li [Thu, 16 Mar 2017 13:23:42 +0000 (21:23 +0800)]
fix typo error

4 years agoupdate: 1, end-system tuning; 2, update coefficient before power up
Peter Li [Thu, 16 Mar 2017 10:28:30 +0000 (18:28 +0800)]
update: 1, end-system tuning; 2, update coefficient before power up

4 years agoupdate for low_temp gain set and channel swap for PG2.1
Peter Li [Thu, 2 Mar 2017 18:20:25 +0000 (02:20 +0800)]
update for low_temp gain set and channel swap for PG2.1

4 years agoupdate coding format
Peter Li [Wed, 1 Mar 2017 22:39:57 +0000 (06:39 +0800)]
update coding format

4 years agoupdate for functions
Peter Li [Wed, 1 Mar 2017 13:50:53 +0000 (21:50 +0800)]
update for functions

4 years agodisable clock error detection
Peter Li [Wed, 22 Feb 2017 15:50:46 +0000 (23:50 +0800)]
disable clock error detection

4 years agoupdate for recover ESD failure in IRQ handler
Peter Li [Mon, 20 Feb 2017 14:30:26 +0000 (22:30 +0800)]
update for recover ESD failure in IRQ handler

4 years agowait 100ms to get IRQ status
Peter Li [Tue, 14 Feb 2017 17:13:52 +0000 (01:13 +0800)]
wait 100ms to get IRQ status

4 years agoupdate : disable_IRQ and enable_IRQ should be in pair
Peter Li [Fri, 10 Feb 2017 00:44:27 +0000 (08:44 +0800)]
update : disable_IRQ and enable_IRQ should be in pair

4 years agofix alsa cmd "pwrctl"
Peter Li [Wed, 8 Feb 2017 23:04:07 +0000 (07:04 +0800)]
fix alsa cmd "pwrctl"

4 years agoupdate for IRQ configuration fix
Peter Li [Wed, 8 Feb 2017 21:52:46 +0000 (05:52 +0800)]
update for IRQ configuration fix

4 years agoupdate IRQ mode to "keep until clear"
Peter Li [Tue, 7 Feb 2017 00:45:59 +0000 (08:45 +0800)]
update IRQ mode to "keep until clear"

4 years agoadd CRC checksum
Peter Li [Sun, 5 Feb 2017 23:48:24 +0000 (07:48 +0800)]
add CRC checksum

4 years ago1. add echo reference control
Peter Li [Fri, 3 Feb 2017 00:59:25 +0000 (08:59 +0800)]
1. add echo reference control
2. fix bug in IRQ handler

4 years agoadd channel swap command
Peter Li [Wed, 1 Feb 2017 01:35:28 +0000 (09:35 +0800)]
add channel swap command

4 years agoadd PLL check before powering on TAS2557
Peter Li [Tue, 31 Jan 2017 12:05:57 +0000 (20:05 +0800)]
add PLL check before powering on TAS2557

4 years ago1. fix bug : IRQ config
Peter Li [Tue, 31 Jan 2017 02:19:45 +0000 (10:19 +0800)]
1. fix bug : IRQ config
2. update echo-reference config

4 years agoupdate example test code for FTC firmware load
Peter Li [Sat, 21 Jan 2017 01:19:57 +0000 (09:19 +0800)]
update example test code for FTC firmware load

4 years agoupdate IRQ for dual interrupt pin
Peter Li [Sat, 21 Jan 2017 00:48:21 +0000 (08:48 +0800)]
update IRQ for dual interrupt pin

4 years agoupdate for interrupt handling
Peter Li [Tue, 17 Jan 2017 15:37:33 +0000 (23:37 +0800)]
update for interrupt handling

4 years agoupdate for code stype check
Peter Li [Sun, 15 Jan 2017 01:55:06 +0000 (09:55 +0800)]
update for code stype check

4 years agocorrect version number error
Peter Li [Thu, 12 Jan 2017 16:34:05 +0000 (00:34 +0800)]
correct version number error

4 years agoupdate for parsing TAS2557 calibration firmware and updating calibration data
Peter Li [Wed, 11 Jan 2017 13:35:19 +0000 (21:35 +0800)]
update for parsing TAS2557 calibration firmware and updating calibration data

4 years agoremove uncessary configurations which has been taken care of by firmware binary
a0220410 [Mon, 26 Dec 2016 16:01:46 +0000 (00:01 +0800)]
remove uncessary configurations which has been taken care of by firmware binary

4 years agoupdate book/page/register to be unsigned char
a0220410 [Sun, 25 Dec 2016 23:25:08 +0000 (07:25 +0800)]
update book/page/register to be unsigned char

4 years agoupdate for end-system tuning
a0220410 [Sat, 24 Dec 2016 22:54:06 +0000 (06:54 +0800)]
update for end-system tuning

4 years agoadd reprogram for IRQ
a0220410 [Tue, 20 Dec 2016 00:43:57 +0000 (08:43 +0800)]
add reprogram for IRQ

4 years agoadd IRQ handler
a0220410 [Sat, 10 Dec 2016 23:39:42 +0000 (07:39 +0800)]
add IRQ handler

4 years agofix typo error
a0220410 [Tue, 6 Dec 2016 23:18:17 +0000 (07:18 +0800)]
fix typo error

4 years agofix bug : device number for TAS2557-stereo is 3
a0220410 [Mon, 5 Dec 2016 22:50:18 +0000 (06:50 +0800)]
fix bug : device number for TAS2557-stereo is 3

4 years agoremove unnecessary
a0220410 [Mon, 5 Dec 2016 22:39:53 +0000 (06:39 +0800)]
remove unnecessary

4 years agofirst commit
a0220410 [Mon, 5 Dec 2016 21:22:20 +0000 (05:22 +0800)]
first commit