summaryrefslogtreecommitdiff
path: root/cs40l26
AgeCommit message (Collapse)Author
2022-06-24cs40l26: merge cs40l26 v5.3.0android-t-qpr1-beta-1_r0.3android-gs-raviole-5.10-android13-qpr1-betaTai Kuo
Branch: v5.10-cs40l26 Tag: cs40l26-v5.3.0_5.10 Files: drivers/input/misc/cs40l26-i2c.c (No changes) drivers/input/misc/cs40l26-spi.c (No changes) drivers/input/misc/cs40l26-sysfs.c (No changes) drivers/input/misc/cs40l26-tables.c (No changes) drivers/input/misc/cs40l26.c include/linux/mfd/cs40l26.h sound/soc/codecs/cs40l26.c -> cs40l26-codec.c (No changes) Features: - Support for maintenance firmware revisions dating back to Rev. 39.2.22 Bug fixes: - Disallow erase call if a haptic effect is in-flight. This allows the driver maintain correct number of loaded effects when firmware fails to delete waveform if the delete is attempted when haptics playback is active. - Minor code update to handle potential failure of memchunk read from CL DSP FW driver. Commits: 6e36db4 input: cs40l26: Rollback minimum fw revision for maintenance fw 77a5ce5 input: cs40l26: Handle memchunk read failure 20efcc3 input: cs40l26: Ensure effect to be erased is not in-flight Bug: 237047104 Test: Copy texts and adjust alarm Test: NFC, dumpstate, keyboard vibration Test: idlcli commands Test: Switch firmware continuous Test: Switch firmware and check the first tick effect Test: atest VtsHalVibratorManagerTargetTest \ VtsHalVibratorTargetTest \ android.os.cts.VibratorTest \ android.os.cts.VibratorManagerTest \ android.os.cts.VibrationEffectTest \ android.os.cts.VibrationAttributesTest \ android.os.cts.CombinedVibrationTest Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: Iad33742ad694ea9ed5987dc617e64fca0044f7c7
2022-06-24Revert "cs40l26: fix back-to-back OWT effects make OWT malfunction"Tai Kuo
This reverts commit 1dcf4405cceab9a3701a9d4f4822628502a5322e. Bug: 237047104 Test: n/a Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: I1c6c09e30975340b15b446fb3fd671954c886f01
2022-06-07cs40l26: fix back-to-back OWT effects make OWT malfunctionandroid-t-beta-4_r0.6android-t-beta-4_r0.5android-t-beta-4_r0.4android-t-beta-3.3_r0.4android-13.0.0_r0.5android-13.0.0_r0.44android-13.0.0_r0.43android-13.0.0_r0.4android-13.0.0_r0.20android-13.0.0_r0.19android-13.0.0_r0.15android-13.0.0_r0.14android-gs-raviole-5.10-t-beta-4android-gs-raviole-5.10-t-beta-3android-gs-raviole-5.10-android13android-gs-bluejay-5.10-t-beta-4android-gs-bluejay-5.10-android13Tai Kuo
Vendor commit: 0cd0ba7 input: cs40l26: Ensure effect to be erased is not in-flight Bug: 231410838 Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: Ib8d3ef2885c4b25cac208a09ea8786ba2190d655
2022-05-31cs40l26: merge cs40l26 v5.2.1android-t-beta-3.2_r0.4Tai Kuo
Branch: v5.10-cs40l26 Tag: cs40l26-v5.2.1_5.10 Files: drivers/input/misc/cs40l26-i2c.c (No changes) drivers/input/misc/cs40l26-spi.c (No changes) drivers/input/misc/cs40l26-sysfs.c drivers/input/misc/cs40l26-tables.c (No changes) drivers/input/misc/cs40l26.c include/linux/mfd/cs40l26.h sound/soc/codecs/cs40l26.c -> cs40l26-codec.c Features: - Add vpbr_thld sysfs control - Add svc_le_est sysfs control in calibration directory Bug fixes: - Fix issue where invert and SVC were not applied to streaming data on first playback - Fix vibe_state issue when stopping an SVC effect immediately after triggering - Work around PSEQ_WRITE_REG full sign extention bug - Fix bug in SVC and invert kcontrols where driver attempts to access control before ensuring device is awake Major API changes: - None Commits: 217a3c0 ASoC: cs40l26: Use pm_runtime for kcontrols b6e471f ASoC: cs40l26: Report return value upon PM Runtime Resume Failure 112d30b input: cs40l26: Report return value upon PM Runtime Resume Failure 0b5f633 ASoC: cs40l26: PM Resume error handle for CODEC 40792b3 input: cs40l26: Improvements to SVC Le Estimation fc06825 input: cs40l26: Support for maintenance firmware branch 3952b3b input: cs40l26: Address PSEQ WRITE_FULL issue aaaf562 input: cs40l26: Add sysfs control for vpbr_thld caa3f56 input: cs40l26: Move stop delay outside mutex (Skip) 63b3998 Documentation: cs40l26: Fix timeout maximum values 2075e2f ASoC: cs40l26: Move PMU-time register writes to mixer controls (Skip) e376a83 Documentation: cs40l26: Fix "cirrus,redc-default" calculation 0bb9162 ASoC: cs40l26: Use set_pll_loop() during RECLK config 4b341ed input: cs40l26: Avoid DSP lock during driver probe Bug: 231410838 Test: Copy texts and adjust alarm Test: NFC, dumpstate, keyboard vibration Test: idlcli commands Test: Switch firmware continuous Test: Switch firmware and check the first tick effect Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: Ide206f8ea173e79267fa4506dece31f6e26a9356
2022-05-31cs40l26: merge dsp v3.1.8 and cs40l26 v5.1.1Tai Kuo
Branch: v5.10-cirrus-dsp-fw Tag: cl-dsp-fw-v3.1.8_5.10 Files: drivers/firmware/cirrus/cl_dsp.c include/linux/firmware/cirrus/cl_dsp.h (No changes) Features: - Add error print statement in case of the firmware controls linked list being empty. Commits: 3bbeced firmware: cirrus: Add print for empty list error condition ... Branch: v5.10-cs40l26 Tag: cs40l26-v5.1.1_5.10 Files: drivers/input/misc/cs40l26-i2c.c (No changes) drivers/input/misc/cs40l26-spi.c (No changes) drivers/input/misc/cs40l26-sysfs.c drivers/input/misc/cs40l26-tables.c (No changes) drivers/input/misc/cs40l26.c include/linux/mfd/cs40l26.h sound/soc/codecs/cs40l26.c -> cs40l26-codec.c (No changes) Features: - Support for reverse frequency sweep in F0 and Q-factor calibration - Add ability to load calibration firmware at boot time - Improved firmware loading procedure, code readability - Support for PWLE zero-crossing - Support for Dynamic Boost Control via devicetree defaults Bug fixes: - f0_and_q_cal_time_ms can be read directly from "TONE_DURATION_MS" if it is non-zero. In the case where this was zero, the calculation for the time was incorrect. - Avoid race condition in case where an effect is stopped prior to the DSP registering the start of playback and vibe_state reporting is enabled. Major API changes: - Devicetree controls for default DBC parameters "cirrus,dbc-*" added. - The sysfs control "f0_and_q_cal_time_ms" now has support for negative (i.e. reverse frequency sweep) values. This is dependent on the "FREQ_SPAN" firmware control which can only be set via the calibration tuning file. - Devicetree boolean "cirrus,pwle-zero-cross-en" added. Enables to PWLE zero-cross feature. - Devicetree boolean "cirrus,calib-fw" added; loads calibration instead of runtime firmware at boot. - Devicetree boolean "cirrus,vibe-state" removed. The driver will automatically detect whether or not to enable vibe_state tracking. Commits: 24187f6 input: cs40l26: Support negative FREQ_SPAN values 3bc43e3 Documentation: cs40l26: Remove cirrus,vibe-state devicetree entry bce94c1 input: cs40l26: Remove cirrus,vibe-state devicetree entry 2040c5c Documentation: cs40l26: Load calibration firmware at boot c88c071 input: cs40l26: Load calibration firmware at boot 16cb878 input: cs40l26: Refactor firmware loading procedure f63db44 Documentation: cs40l26: Add PWLE zero crossing control 870ac63 input: cs40l26: Add PWLE zero crossing control da51a2d input: cs40l26: Add support for SVC metadata in OWT 61e85dc Documentation: cs40l26: Default Dynamic Boost Control Settings 059a235 input: cs40l26: Default Dynamic Boost Control Settings 39324ea input: cs40l26: Update reporting of calibration time Bug: 231410838 Test: Copy texts and adjust alarm Test: NFC, dumpstate, keyboard vibration Test: idlcli commands Test: Switch firmware continuous Test: Switch firmware and check the first tick effect Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: Ib2f99f67469f67be0ce33ac031e553a409a569e4
2022-04-18cs40l26: merge cs40l26 v5.0.0Tai Kuo
Branch: v5.10-cs40l26 Tag: cs40l26-v5.0.0_5.10 Files: drivers/input/misc/cs40l26-i2c.c drivers/input/misc/cs40l26-spi.c drivers/input/misc/cs40l26-sysfs.c drivers/input/misc/cs40l26-tables.c drivers/input/misc/cs40l26.c include/linux/mfd/cs40l26.h sound/soc/codecs/cs40l26.c -> cs40l26-codec.c - Skip cs40l26_set_tdm_slot() since removed. Features: - Support for 1.2V variant CS40L27 - Support for SVC calibration period in ASP waveforms Bug fixes: - Resolve race condition between IRQ clear write and DSP to host mailbox messages. - Avoid I2C timeouts by preventing hibernation directly after the DSP starts at probe then allowing hibernation once initialization is complete. Major API changes: - The sysfs control "fw_mode" which resided in "default" has been removed. The driver does not support a full-featured ROM mode so this control served no purpose. - The sysfs control "calib_fw_load" has moved from the "calibration" directory to the "default" directory and has been renamed "swap_firmware". The behavior of the control is unchanged. Commits: 733da2 input: cs40l26: Change firmware loading sysfs control 3120e4 input: cs40l26: Remove support for firmware mode 7db090 input: cs40l26: Print error register as hex f0c156 ASoC: cs40l26: Wait for SVC calibration 9bf4b8 input: cs40l26: Add event for end of SVC calibration c32679 input: cs40l26: Clear EINT before servicing mailbox (Skip) 9df7d5 Documentation: cs40l26: Add "cs40l27" compatible name 13710b input: cs40l26: Add support for CS40L27 and rev. B0 756dbc input: cs40l26: Prevent hibernation after DSP start 00e050 ASoC: cs40l26: Remove check of dai->id in set_tdm_slot() 80b821 input: cs40l26: Ensure write to PSEQ is acknowledged Bug: 228290494 Test: Copy texts and adjust alarm Test: NFC, dumpstate, keyboard vibration Test: idlcli commands Test: Switch firmware continuous Test: Switch firmware and check the first tick effect Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: I1961844366065acc2951c386f1516877648aaaf9
2022-04-18Revert "cs40l26: fix stuck vibe_state after continuous LOW_TICK"Tai Kuo
This reverts commit e4de0484907fe0553a472fb98090844d41f19270. Then we are able to apply the formal release (tag cs40l26-v5.0.0). Bug: 228290494 Bug: 221059363 Test: n/a Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: If2563443fdf5a58b5429327593c12807baaa583b
2022-03-08cs40l26: fix stuck vibe_state after continuous LOW_TICKandroid-t-beta-1_r0.4android-gs-raviole-5.10-t-beta-1Tai Kuo
Vendor commit: 778f7c4 input: cs40l26: Clear EINT before servicing mailbox Bug: 219697671 Test: Adjuest clock, select texts Test: idlcli commands Test: dumpstate, NFC, old ring patterns Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: Ib8f56d18347667157c769cd7e36d920e95f56e93
2022-03-04cs40l26: merge dsp v3.1.7, cs40l26 v4.0.2 and v4.0.3Tai Kuo
Branch: v5.10-cirrus-dsp-fw Tag: cl-dsp-fw-v3.1.7_5.10 Files: drivers/firmware/cirrus/cl_dsp.c include/linux/firmware/cirrus/cl_dsp.h Bug fixes: - Replace strlcpy() instances with strscpy() - Improved error reporting for invalid algo. rev - Minor typo fix Commits: 0a2a7f7 firmware: cirrus: Fix typo 332111a firmware: cirrus: Improve error reporting for invalid algo. rev. ec97039 firmware: cirrus: Use strscpy for string copying --- Branch: v5.10-cs40l26 Tag: cs40l26-v4.0.2_5.10, cs40l26-v4.0.3_5.10 Files: drivers/input/misc/cs40l26-i2c.c (No changes) drivers/input/misc/cs40l26-spi.c (No changes) drivers/input/misc/cs40l26-sysfs.c drivers/input/misc/cs40l26-tables.c drivers/input/misc/cs40l26.c include/linux/mfd/cs40l26.h sound/soc/codecs/cs40l26.c -> cs40l26-codec.c Features: - Allow swapping firmwares of the same type (runtime/calibration) - Add support for Dynamic Boost Control via sysfs controls - Extend range of PM timeouts Bug fixes: - Fixes bug in which PSEQ list terminator was not being reset between firmware swaps. - Appropriately clear GPI mapping after erasing waveform Commits: tag: cs40l26-v4.0.3_5.10 0c520ef input: cs40l26: Reset PSEQ END_OF_SCRIPT on fw swap 956d534 input: cs40l26: Check pseq mem before adding op tag: cs40l26-v4.0.2_5.10 4a9f5e3 input: cs40l26: Update SVC tuning file name size 882895f input: cs40l26: Loosen restriction on firmware swapping 5c7f770 input: cs40l26: Use strscpy for string copying 0700a83 ASoC: cs40l26: Update Handling of SVC for ASP Streaming cfeac58 input: cs40l26: Add user controls for Dynamic Boost 6068def input: cs40l26: Update PM Transition Timeout Limits b65b511 input: cs40l26: Fix value to disable gpi triggers Bug: 222620491 Test: idlcli commands. Test: Firmware switching and then trigger haptics Test: Continuous index 0 haptics Test: Continuous index 9 hatpcis Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: Ic2eaca8fe2cce9ef0c4b03460ddca791ad57d852
2022-02-08cs40l26: merge CirrusLogic cs40l26 v4.0.0Tai Kuo
Branch: v5.10-cs40l26 Tag: CS40L26-v4.0.0_5.10 Files: drivers/input/misc/cs40l26-i2c.c (No changes) drivers/input/misc/cs40l26-spi.c (No changes) drivers/input/misc/cs40l26-sysfs.c drivers/input/misc/cs40l26-tables.c drivers/input/misc/cs40l26.c include/linux/mfd/cs40l26.h sound/soc/codecs/cs40l26.c -> cs40l26-codec.c Features: - Devicetree Property "cirrus,gain-adjust" - For LRA-specific gain changes - Controls for f0 and ReDC Compensation - Sysfs control vmon_max for VMON logging maximum reporting - Allow multiple writes to one register in power on sequencer - Devicetree Property "cirrus,bst-expl-mode-disbale" - If present, will disable boost exploratory mode at the cost of the ability to reliably detect BST_SHORT_ERR instances - Imrpoved error handling for PM Runtime Resume errors Bug fixes: - Update error handling to avoid deadlock - Avoid hibernation when intializing power on sequencer - Updated handling of vibe_state to avoid race condition with firmware - Code Improvements Commits: e4b5d23 ASoC: cs40l26: Ensure recovery from PM Runtime Resume error 2d5cb03 input: cs40l26: Ensure recovery from PM Runtime Resume error (SKIP) 098d137 Documentation: cs40l26: Add DT boolean "cirrus,bst-expl-mode-disable" 30c30e7 input: cs40l26: Add DT boolean "cirrus,bst-expl-mode-disable" (SKIP) 0707fb3 Documentation: cs40l26: Add DT boolean "cirrus,vibe-state" 38592da input: cs40l26: Add DT boolean "cirrus,vibe-state" 7e0c02c input: cs40l26: Read IRQ1_STATUS after PM Runtime resume c903a82 input: cs40l26: Load calibration tuning file 26e93ab input: cs40l26: Print measured LE estimation value b8ef3b0 input: cs40l26: Disable Boost Exploratory Mode 2d8ef2c input: cs40l26: Allow multiple writes to an address in PSEQ 9f166cd input: cs40l26: Update vibe_state in mailbox handler 53f24ab input: cs40l26: Add vmon_max logging sysfs control c7708f5 input: cs40l26: Avoid hibernation when initializing PSEQ 337536d input: cs40l26: Add f0 and redc comp controls (SKIP) 6e1642c Documentation: cs40l26: Add DT property "gain-adjust" eb1fed7 input: cs40l26: Add DT property "gain-adjust" bc34f05 input: cs40l26: Move BST_IPK_FLAG unmask to proper function 0570df1 input: cs40l26: Update error handling procedure Bug: 205688153 Test: idlcli commands. Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: Ic4b7cc5664c32132125178f7a41ca7c1a916123e
2022-02-08cs40l26: merge CirrusLogic cs40l26 v3.5.1Tai Kuo
Branch: v5.10-cs40l26 Tag: cs40l26-v3.5.1_5.10 Files: drivers/input/misc/cs40l26-i2c.c (No changes) drivers/input/misc/cs40l26-spi.c (No changes) drivers/input/misc/cs40l26-sysfs.c drivers/input/misc/cs40l26-tables.c drivers/input/misc/cs40l26.c include/linux/mfd/cs40l26.h sound/soc/codecs/cs40l26.c -> cs40l26-codec.c (No changes) Features: - ASP gain scaling factor - Expose both pm_timeout controls (active + standby) - Add default calibration properties in Devicetree - Support for A2H algorithm version 3 - Unmask critical error interrupts to enable error handling Bug fixes: - Avoid loading irrelevant tuning files for calibration firmware - Some sysfs controls were not re-enabling PM runtime after an error - Formatting fixes caught by checkpatch Commits: 15e0d2c input: cs40l26: Resolve instances of lines > 80 characters 065678b input: cs40l26: Fix error handling for sysfs controls 832ad84 input: cs40l26: Unmask critical error interrupts 426fc10 ASoC: cs40l26: A2H V3 support 3f0a90a input: cs40l26: Add IRQ mask settings to Power On Sequence 122273b input: cs40l26: Improve Readability of Power on Sequence Code f97ff40 input: cs40l26: Fix spelling error 609e98e input: cs40l26: Don't load coeffs using calibration fw (Skip) 24b77ac Documentation: cs40l26: Consolidate PM_TIMER_TIMEOUT code be949bb input: cs40l26: Consolidate PM_TIMER_TIMEOUT code (Skip) f5c7b68 Documentation: cs40l26: Add calib and BST DT properties 4aab662 input: cs40l26: Expose BST and calib settings in DT (Skip) 7bcfb09 Documentation: cs40l26: Add DT property for ASP gain scaling 1d507c1 input: cs40l26: Add DT property for ASP gain scaling Bug: 205688153 Test: idlcli commands. Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: I64a836e088c38e375a7553a0425c3bf20271f931
2022-02-08cs40l26: fix BB and run-time errorsTai Kuo
Vendor commits and fixes: - 30034b6 firmware: cirrus: arm64 compiler fix - Fix type mismatch. Bug: 205688153 Test: Probe successfully. Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: I8410a8f9e7340821780d1cb3d095f29c75d2236c
2022-02-08cs40l26: merge CirrusLogic dsp v3.1.6 and cs40l26 v3.4.0Tai Kuo
Branch: v5.10-cirrus-dsp-fw Tag: cl-dsp-fw-v3.1.6_5.10 Files: drivers/firmware/cirrus/cl_dsp.c include/linux/firmware/cirrus/cl_dsp.h Features: - cl-dsp-fw-v3.1.4_5.10 Add memchunk flush Bug fixes: - cl-dsp-fw-v3.1.6_5.10 Fix syntax error caught by checkpatch.pl - cl_dsp-v3.1.5_5.10 Fix bug that allowed for a potential NULL pointer dereference - cl-dsp-fw-v3.1.4_5.10 Add empty check for get dsp register. Commits: 9ee092c firmware: cirrus: Fix code syntax error 16af046 firmware: cirrus: Avoid potential NULL dereference f916a30 firmware: cirrus: Add cl_dsp_memchunk_flush() 4cf0400 firmware: cirrus: Add empty check in dsp_get_reg 30034b6 firmware: cirrus: arm64 compiler fix Change-Id: I2efbf1611bad281b67fc035b31b30925e869082b --- Branch: v5.10-cs40l26 Tag: cs40l26-v3.4.0_5.10 Files: drivers/input/misc/cs40l26-i2c.c (No changes) drivers/input/misc/cs40l26-spi.c (No changes) drivers/input/misc/cs40l26-sysfs.c drivers/input/misc/cs40l26-tables.c (No changes) drivers/input/misc/cs40l26.c include/linux/mfd/cs40l26.h sound/soc/codecs/cs40l26.c -> cs40l26-codec.c Features: - cs40l26-v3.4.0_5.10 Improved information from DSP to host mailbox transactions Additional debug logging - cs40l26-v3.3.0_5.10 Expose LRADELAYSAMPS to user Support for DVL tuning Contingency for DSP start failure on boot - cs40l26-v3.1.2_5.10 Add Support for Nested Composite Waveform Improve BUZZGEN GPI trigger support Support GPI triggers of OWT waveforms Fix NUM_OF_WAVES race condition Improve deferred firmware loading DT parameter to set idle -> hibernate DSP timeout Bug fixes: - cs40l26-v3.4.0_5.10 Updated handling of vibe_state Explicitly stop haptic playback before starting I2S stream Prevent asynchrnous I2S start message to mailbox from driver Improved code clarity Resolution of clang, cppcheck, sparse, and checkpatch warnings - cs40l26-v3.3.0_5.10 Prevent asynchrnous erase/upload calls Prevent asynchronous interrupts from affecting code under mutex lock Code improvements to write sequencer Static analysis fixes Memory leak correction - cs40l26-v3.1.2_5.10 Check for the DSP to be initialized before uploading a waveform Do not allow stop command only if the ASP is active. Commits: ba22584 input: cs40l26: Resolve Warnings caused by DEVICE_ATTR b1f116d input: cs40l26: Clarify read size in pseq_init() 3447c80 ASoC: cs40l26: Use new vibe_state handling a3e37ec input: cs40l26: Update handling of vibe_state 8ec6127 ASoC: cs40l26: remove old vibe_state handling bc9f10c input: cs40l26: Add debug message in erase_effect dd88832 input: cs40l26: Support new FW event notifiers 4a963ec input: cs40l26: Add support for FW branch fead3ba input: cs40l26: Stop playback before starting I2S 0827b6c ASoC: cs40l26: Always unlock mutex in cs40l26_pcm_ev 4753f8c input: cs40l26: Resolve clang warnings e7f25c9 input: cs40l26: Resolve cppcheck warnings 5fcb292 input: cs40l26: Ensure vibe_state_set() called under mutex lock 75ad45a input: cs40l26: Additional defines and logging 6da8378 ASoC: cs40l26: Use asp_start() to start I2S stream a14e17b input: cs40l26: Replace asp_workqueue with asp_start function 7191239 ASoC: cs40l26: Remove usage of asp_work 5a32ccf input: cs40l26: Don't remove OWT effect from list if delete fails c7272dc ASoC: cs40l26: Expose delay controls dd4491a input: cs40l26: Load DVL tuning file 4b84df2 input: cs40l26: Use devm_ for allocation 7163487 input: cs40l26: Set up parameters before dsp start 31b55dd input: cs40l26: Retry if DSP is not in run state 626f83c input: cs40l26: Set timeout to max on fw re-load f33edc6 ASoC: cs40l26: Fix potential memory leak aebbb26 input: cs40l26: Fix static analysis errors 7a5489e input: cs40l26: Adding debug prints ff55e98 input: cs40l26: Add erase and upload operations to ordered workqueue 9c9da81 input: cs40l26: Mutex protect interrupt handler 332bb17 input: cs40l26: Write sequencer updates c5be6bb input: cs40l26: No stop command during ASP 7e806e4 input: cs40l26: use type-specific min function f93a999 input: cs40l26: Check for uninitialised DSP in cs40l26_header c659dec input: cs40l26: Changing GPI map API f12a21b input: cs40l26: Add delay before stopping playback 3732052 input: cs40l26: Delay registration of IRQ until firmware is loaded 6de4136 input: cs40l26: Add fw load defer 7d5e01b input: cs40l26: Correct memory space calculation for 4-byte words e8123a3 input: cs40l26: Add Support for Nested Composite Waveforms aa472ba input: cs40l26: Read NUM_OF_WAVES before each trigger 98ff3b5 input: cs40l26: Add dt parameter for DSP transition Bug: 205688153 Test: N/A. Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: I606c7d75891f85995eadf367d4b833b682f8e23d
2021-10-05cs40l26: merge CirrusLogic cs40l26 v3.0.3Tai Kuo
Branch: v5.10-cs40l26 Tag: cs40l26-v3.0.3_5.10 Files: - drivers/input/misc/cs40l26-i2c.c (No changes) - drivers/input/misc/cs40l26-spi.c (No changes) - drivers/input/misc/cs40l26-sysfs.c - drivers/input/misc/cs40l26-tables.c (No changes) - drivers/input/misc/cs40l26.c - include/linux/mfd/cs40l26.h - sound/soc/codecs/cs40l26.c -> cs40l26-codec.c Fetures: - Defer Class H Handling to Firmware (rev >= 7.2.10) - Add bost_disable_delay sysfs control - Support for indefinite SVC and Wavetable tunings based on LE value - Add F0_Offset sysfs control - Use firmware timer instead of HR Timer to schedule haptics Bug fixes: - Avoid infinite vibration race-condition - Graceful exiting of interrupt handler if wake fails - Use programmed duration for OWT effects instead of calculated waveform lentgth Commits: 48d307c79dfb input: cs40l26: Use firmware timer to schedule haptic effects 93880c7a2a41 input: cs40l26: Recover from wakeup error in interrupt handler a330f54756ee input: cs40l26: Change timeout control for OWT a7209b6bce3b input: cs40l26: Add F0 offset sysfs (Skip) 80e7aa51feaa Documentation: cs40l26: Support for multiple SVC LE ranges 83e57c54b934 input: cs40l26: Support for multiple SVC LE ranges 0bc5f644a3fd input: cs40l26: Use STOP_PLAYBACK mailbox command a8c2d057d971 input: cs40l26: Add boost_disable_delay control 0f0eb802dd0f input: cs40l26: Remove Class H handling 18877c7a715c ASoC: cs40l26: Remove Class H handling Bug: 193793095 Test: NFC, bugreport, notification vibration can stop. Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: Iec2a75aa2c94e14c6079b05c2b438afd6c7beca1 (cherry picked from commit aaad7003272facb3e7eb2c768520885390ccb963)
2021-09-29Fix unused-but-set-variable build breakage clang migrate to r433403Robin Peng
Bug: 201034056 Signed-off-by: Robin Peng <robinpeng@google.com> Change-Id: I6654c45e6a99832d218f0cb39cf4acc03bf7c521
2021-09-14cs40l26: merge CirrusLogic dsp v3.1.3 and cs40l26 v2.0.1Tai Kuo
Branch: v5.10-cs40l26 Tag: cs40l26-v2.0.1_5.10 Files: drivers/input/misc/cs40l26-i2c.c (No changes) drivers/input/misc/cs40l26-spi.c (No changes) drivers/input/misc/cs40l26-sysfs.c drivers/input/misc/cs40l26-tables.c drivers/input/misc/cs40l26.c include/linux/mfd/cs40l26.h sound/soc/codecs/cs40l26.c -> cs40l26-codec.c Features: - I2S VMON Mixer Control - DSP bypass streaming - 96 kHz streaming - Support for multiple OWT waveforms - sysfs control for number of waveforms Bug fixes: - Fix conditional Class H handling for SVC streaming - sysfs control owt_free_space shows space in byte commits: 8aa3d7e996ab input: cs40l26: Remove acknowledge debug message d87c12eb9614 ASoC: cs40l26: Do not enable Class H if SVC is enabled e99f87cb6afb input: cs40l26: Handle Class H Corner Cases 4ea6bac22a23 input: cs40l26: Add sysfs control to get number of waveforms 32c7894579fb input: cs40l26: Display OWT free space in bytes 5ff5dc33ad15 input: cs40l26: Handle Multiple OWT Waveforms 30fde7eeb877 ASoC: Adding support for 96kHz fs and DSP bypass eccaf3df6af1 ASoC: cs40l26: Use workqueue to start I2S stream e9d0a46bfbbb input: cs40l26: Use workqueue to start I2S stream 770ab3b80cab ASoC: cs40l26: Display VMON value 487c966bba02 input: cs40l26: Add SPKMON_VMON_DEC_OUT_DATA as readable register Branch: v5.10-cirrus-dsp-fw Tag: cl-dsp-fw-v3.1.3_5.10 Files: drivers/firmware/cirrus/cl_dsp.c include/linux/firmware/cirrus/cl_dsp.h Increase maximum number of waveforms that can be uploaded via .bin file to 254 from 128. commits: d3be11f7f382 firmware: cirrus: Increase maximum number of wavetable entries Bug: 193782625 Bug: 196485489 Test: Check idlcli vibrator commands. Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: Ifa4828cb32ee342fee31306d288313e5ea7b857a
2021-09-14cs40l26: Add the RX slots control function backchasewu
Since the latest haptics codec cannot be used in our current setting, I add the previous function to suppot our setting. Bug: 197691879 Test: Use sound picker to trigger audio coupled haptics Signed-off-by: chasewu <chasewu@google.com> Change-Id: I5d5477bd6155edff7b42ecf56c8bde38d4f1bd34
2021-09-09kleaf: drop snd-soc-wm-adsp.ko from cs35l41Yifan Hong
The module from cs35l45 takes priority as defined by build.config.cloudripper. This fix the following error: Exception: Multiple archives contain the same files. File lib/modules/5.10.60/extra/snd-soc-wm-adsp.ko appeared in 2 archives: bazel-out/k8-fastbuild/bin/private/google-modules/amplifiers/cs35l41/module_staging_archive.tar.gz bazel-out/k8-fastbuild/bin/private/google-modules/amplifiers/cs35l45/module_staging_archive.tar.gz Change-Id: Ie0f042cb10b47e1f7917a9bd11c17df9a1baf6dc
2021-09-09Kleaf: build amplifiers kernel modules for cloudripperYifan Hong
Bug: 192617687 Test: builds Signed-off-by: Yifan Hong <elsk@google.com> Change-Id: I7e6672f676e379107f4995d3aead9a3891722482
2021-09-08cs40l26: merge CirrusLogic dsp v3.1.2 and cs40l26 v1.1.0Tai Kuo
Branch: v5.10-cs40l26 Tag: cs40l26-v1.1.0_5.10 Files: drivers/input/misc/cs40l26-i2c.c (No changes) drivers/input/misc/cs40l26-spi.c (No changes) drivers/input/misc/cs40l26-sysfs.c drivers/input/misc/cs40l26-tables.c drivers/input/misc/cs40l26.c include/linux/mfd/cs40l26.h sound/soc/codecs/cs40l26.c -> cs40l26-codec.c Features: - Increase A2H Volume Granularity - Add more debug-level statements - sysfs control to get amount of space left in wavetable - DT control to set maximum boost peak current - sysfs control to read die temperature - sysfs control to swap firmware variants at runtime - Load firmware synchronously - Inverted streaming and waveform playback - SVC enable for effects streamed via ASP - Map Haptic Effects to GPI events - Actuator Safe Mode workaround - Remove support for A0 silicon Bug fixes: - Remove unused variables - Cancel worker threads before deleting workqueue commits: c07047bd1087 ASoC: cs40l26: Add control to enable invert streaming data 7d0b08956875 input: cs40l26: Remove A0 silicon support d6c20f8342fd input: cs40l26: Update firmware swap function (Skip) 421500c4eb47 Documentation: cs40l26: Add option to load specified SVC tuning a3fb83ecc3b3 input: cs40l26: Add option to load specified SVC tuning 736aa239110c ASoC: cs40l26: Add control to enable SVC for streaming data 7c060144b291 input: cs40l26: Implement actuator safe mode workaround 9b866d0e0362 input: cs40l26: Map Haptic Effects to GPI Events e28e0a5131cc input: cs40l26: Add ability to invert waveform playback 961e4ba3a4bb input: cs40l26: Load firmware synchronously 23463ef1ab4a input: cs40l26: Add ability to swap firmware variants 05b2d67e3c66 input: cs40l26: Remove ENABLE/DISABLE macros b6bd69389b17 input: cs40l26: Remove unneeded use of variable in cs40l26_pcm_ev 27af6399be8c input: cs40l26: Cancel worker threads before destroying workqueue 1794f854a2d0 input: cs40l26: Add control to read die temperature when DSP is active 50bf4051b3a8 input: cs40l26: Remove silicon rev. checks for algorithm IDs (Skip) 3982e2db9db5 Documentation: cs40l26: Allow user to set peak boost current 756186d689c5 input: cs40l26: Allow user to set peak boost current ed0f6bc72faa input: cs40l26: Control to read remaining space in wavetable 72510182f0f2 input: cs40l26: Use percentage value to set A0 gain 91d781c96e12 input: cs40l26: Make status registers readable via regmap a8beb7e4c41f ASoC: cs40l26: Add dev_dbg statments to ALSA callbacks c5b8320ebbce input: cs40l26: Add debug statements 17b3a65e18d1 input: cs40l26: Control to read Power On Sequence 8c4f68e0194a ASoC: cs40l26: Increase A2H Volume granularity Branch: v5.10-cirrus-dsp-fw Tag: cl-dsp-fw-v3.1.2_5.10 Files: drivers/firmware/cirrus/cl_dsp.c include/linux/firmware/cirrus/cl_dsp.h Allocate array memory for .bin file data dynamically instead of using a hard-coded value to avoid possibility of a kernel crash. Allow firmware to load even if there are incompatibilities between the expected firmware version, the loaded firmware, and the tuning file revisions. commits: 79a4a41e4fc6 firmware: cirrus: Allocate data array dynamically 19140c2d644b firmware: cirrus: Loosen restrictions on firmware loading 8e02f2e42990 firmware: cirrus: Don't explicitly free coefficient parent name Bug: 191658078 Bug: 180110149 Bug: 194540033 Bug: 193793095 Test: Check idlcli vibrator commands. Test: Back EMF for internal calibration. Test: Firmware swap. Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: I7db82ce23663772a83e69490b88cfb47e4bf93f3
2021-07-29cs40l26: support input device name setupTai Kuo
Bug: 184610991 Bug: 194675679 Test: adb shell cat /proc/bus/input/devices Test: adb shell getevent -lp Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: I9464ab7b775a5c4d0b52ae8ee9b2789baa791476
2021-07-09cs40l26: move attribute groups from input to bus deviceTai Kuo
1. Simplify the attribute groups creation and remove. 2. Create groups on input device will be affacted by probe order. Move the attribute groups from the input device to the bus device. e.g. Before: /sys/bus/i2c/devices/i2c-4/4-0043/input/input2/ After: /sys/bus/i2c/devices/i2c-4/4-0043/ 3. Enable dynamic debug feature. Bug: 184610991 Test: adb shell ls /sys/bus/i2c/devices/i2c-4/4-0043/ Test: adb shell ls /sys/class/input/input2/ Test: adb shell rmmod input_cs40l26_i2c Test: adb shell insmod /vendor/lib/modules/input-cs40l26-i2c.ko Test: adb shell 'echo -n "file ../google-modules/amplifiers/cs40l26/\ cs40l26.c +p" > /sys/kernel/debug/dynamic_debug/control'; adb shell 'cat /sys/kernel/debug/dynamic_debug/control | grep cs40l26' Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: I6ac24becd3bd464ae07b654c4fca66eff6cf761e
2021-07-08cs40l26: fix BB for CirrusLogic cs40l26-RC2_5.10Tai Kuo
Commits: 2dbcb12 cs40l26: fix BB for CirrusLogic RC2v1 1a241e1 cs40l26: convert dev_alert to dev_err ba22cd0 cs40l26: fix BB of "Add Open Wavetable Support" Bug: 184610991 Test: build pass Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: I129e582b049a5a61599f3e8ec45cb43d72a6ffab
2021-07-08cs40l26: snap from CirrusLogic cs40l26-RC2_5.10Tai Kuo
Branch: v5.10-cs40l26 Tag: cs40l26-RC2_5.10 Files: drivers/input/misc/cs40l26*.[ch] sound/soc/codecs/cs40l26.c -> cs40l26-codec.c include/linux/mfd/cs40l26.h commits: 3cbb0ce07f52 input: cs40l26: Update Open Wavetable Controls (Skip) 5165eb5311b7 Documentation: cs40l26: Add cirrus,bst-dcm-en parameter a305a491026d input: cs40l26: Add dcm-en control to device tree 97bf00f3033f input: cs40l26: Improved gain control method a0620f60b09e input: cs40l26: Max VBST and Max Back EMF Reproting 21afb84718b8 input: cs40l26: Add support for calibration 557581c4e4ef ASoC: cs40l26: Add support for TDM slot configuration fbff8ee424c3 ASoC: cs40l26: Add A2H Volume Control 31cce50083e5 input: cs40l26: Use END_PLAYBACK for VIBEGEN effects a06bc9bd293d input: cs40l26: Use TIMEOUT_MS when duration undefined 07405c86dacb input: cs40l26: Remove unused variable Bug: 184610991 Test: n/a Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: I75e3349dbcf5e9358158ee9754fd7a085afd133c
2021-06-10input: cs40l26: Add dcm-en control to device treeBen Bright
Adding bst-dcm-en control to the device tree to allow users to specify whether or not to allow the boost converter to enter low-power (dcm) mode. Bug: 182970777 Test: OK to boot. Change-Id: I2161065beffa6c6c92d94cc7356627d047436484 Signed-off-by: Ben Bright <ben.bright@cirrus.com> Signed-off-by: Tai Kuo <taikuo@google.com>
2021-05-12cs40l26: fix BB for CirrusLogic RC2v1Tai Kuo
The CS40L26_TIMEOUT_MS_MAX definition is over __u16 while the replay.lenght type is __u16. It will makes the comparison at cs40l26.c:2155:26 always false and results in the build break. Bug: 184610991 Test: Built pass. Test: Device attributes were shown. Tets: Able to perform internal calibration through vendor's script of b/180110149#comment36 (1.1 F0, ReDC, and Q-factor estimation). Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: I1c5d409a8e6767cf6f772cc839907c3a27537d1b
2021-05-11cs40l26: merge driver modules from CirrusLogic RC2v1Tai Kuo
5897d91abf99 input: cs40l26: Improved gain control method 18ded7ea08ca input: cs40l26: Max Back EMF API 756ce5f138dc input: cs40l26: Add support for calibration 458244dc72ca ASoC: cs40l26: Add support for TDM slot configuration 236237999946 ASoC: cs40l26: Add A2H Volume Control 1573f3fe2d5b input: cs40l26: Use END_PLAYBACK for VIBEGEN effects 346cb8cd67ba input: cs40l26: Use TIMEOUT_MS when duration undefined 40d10f025eba input: cs40l26: Remove unused variable Bug: 184610991 Test: Driver attribute files show up. Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: I7dc25d526fcc0bcbd10619d46b3b382896dc50ac
2021-04-22cs40l26: convert dev_alert to dev_errWill McVicker
Need to export dev_alert in ACK first before we can use it. Signed-off-by: Will McVicker <willmcvicker@google.com> Change-Id: Icce8c32733cbb003893432aca56142e84961ff1e
2021-04-19cs40l26: bring up haptics modulesTai Kuo
Bug: 184610991 Test: Built pass. Test: Driver probed. Test: Basic function. Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: I82d0f37a74a73b2e0c23eee186a55c2823b9de34
2021-04-19cs40l26: fix BB of "Add Open Wavetable Support"Tai Kuo
40ae66e93fd1 input: cs40l26: Add Open Wavetable Support 5ebd6b1cdf42 firmware: cirrus: Add Open Wavetable Support Bug: 184610991 Test: Built pass. Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: Ibd00518f1c92050dca792b9d6f9fc48aa9fb2b13
2021-04-19cs40l26: snap driver modules from CirrusLogicTai Kuo
Branch: v5.10-cs40l26 Tag: cs40l26-RC1v5_5.10 Files: drivers/input/misc/cs40l26*.[ch] sound/soc/codecs/cs40l26.c -> cs40l26-codec.c include/linux/mfd/cs40l26.h Commits: 48008bf7e951 input: cs40l26: Allow MFD to number children a466efc1776a input: cs40l26: Configure some ASP controls in core driver 3dd2be5060ce ASoC: cs40l26: Do not access firmware controls in codec_probe 0d8255c507fc input: cs40l26: Remove function for coeff. file loading abb4c12fee99 input: cs40l26: Reserve cs40l26_ack_read for polling a907b2432e82 input: cs40l26: Increment A0 minimum firmware revision to 5.0.4 43ae62e013fd input: cs40l26: Add minimum revision value for A1 firmware 59e7425816a7 input: cs40l26: Verify firmware in core driver 9709db269456 input: cs40l26: Support PWLE waveforms in Open Wavetable a9dfa6d32ac8 input: cs40l26: Fix misspelled variable name 951630cb6608 ASoC: cs40l26: Reverse logic for using tdm_width 40ae66e93fd1 input: cs40l26: Add Open Wavetable Support 0a674a1ccfea input: cs40l26: Add support for pseq v2 d749863a9703 input: cs40l26: Add errata write to fix indeterminate PLL lock time 32ecacc32a36 input: cs40l26: Add support for A1 chip revision e4c3a094ecdf input: cs40l26: Convert mailbox queue to use registers in wmfw 1b193fad6fc1 input: cs40l26: Ensure DSP can accept mailbox commands 1675126b9e1a input: cs40l26: Wait to enable pm runtime controls until firmware ready 9dae893f3448 input: cs40l26: Improvements to pm_state_transition 96e1be15046b ASoC: cs40l26: Wake device when probing codec driver. a9444c9b2c77 input: cs40l26: Change some instances of dsp_read to regmap_read c4b71016240d ASoC: cs40l26: Switch A2H tunings at runtime 1629fb45fec6 input: cs40l26: Re-enable I2S stream after haptic effect ffc4e2ccfe95 ASoC: cs40l26: Add ASP vibe state enum 8733e2547135 input: cs40l26: Improve vibe_state tracking a5b0a135f849 ASoC: cs40l26: Enable Class H tracking during ASP playback 56a8557861dd input: cs40l26: Function to set Class H 8817c80d021f ASoC: cs40l26: Add Option to Disable ASP Playback 98bf94b1df98 input: cs40l26: Changes to PM hibernate/shutdown timeout 1a09000c60d8 input: cs40l26: Remove Firmware ID check after state transition 1b5a5b26e9fe input: cs40l26: Use LAST_WAKESRC_CTL to determine GPIO status 7407cb8ffc91 input: cs40l26: Add set_gain callback 67095dcbc5ca input: cs40l26: Share of_device_id table between SPI/I2C drivers 268c9da5bcfd ASoC: cs40l26: Add set_tdm_slot callback 919ab920876b ASoC: cs40l26: Add TDM Support 77baad927c8d ASoC: cs40l26: Remove redundant stream direction check 830c4e0b5618 ASoC: cs40l26: Don't write DAI format directly from cs40l26_set_dai_fmt f938eac74f10 ASoC: cs40l26: Remove incorrect usage of params_physical_width f0b8a8823f06 ASoC: cs40l26: Remove unused ASP Switch 468770e2856f ASoC: cs40l26: Use PLL Open Loop when changing REFCLK 37a598f9bac0 input: cs40l26: Enable IRQ after error a81070994853 input: cs40l26: Enable CS40L26 Codec in core driver fc48e705a381 ASoC: cs40l26: Add CS40L26 Stub Codec Driver e731f6adaac6 input: cs40l26: Share regmap config between I2C and SPI drivers. 1aacdf180f91 input: cs40l26: Don't build core driver module 6d75aa2d5dc0 input: cs40l26: Remove extra space in function prototype 8d287c195371 Documentation: cs40l26: Add CS40L26A/B devicetree options 74867e2b5f25 input: cs40l26: Add CS40L26A/B devicetree options 0e3bcf4b2e52 input: cs40l26: Read entire mailbox queue upon DSP write ca583f106052 input: cs40l26: Add Runtime Power Management Support 25b5096dc06d input: cs40l26: Change include location of CL DSP 3884ddc083c2 input: cs40l26: Configure wakesource IRQs based on device settings 5b7430bf8db5 input: cs40l26: Reject indeces exceeding number of loaded waveforms b664bc4faa40 input: cs40l26: Changes to sysfs controls f7322edc1820 input: cs40l26: Function to read DSP state 2e1dc1d42ab4 input: cs40l26: Update Copyright Year ea17111bb00b input: cs40l26: Add debug message for completed playback 17457b94d942 input: cs40l26: Enable DSP Shutdown and Wakeup Commands 705aa77f234c input: cs40l26: Update Start Up Procedure for A0 Silicon a42bac99c20b input: cs40l26: Remove cs40l26_dsp_shutdown() 89fba3c7e7e1 input: cs40l26: Updates to power on sequence 4123501cf9d0 input: cs40l26: Clear Interrupt after error f2b73020a677 input: cs40l26: Change IRQ notificatios to dev_dbg() 2be81af5037e input: cs40l26: Change msleep() to usleep_range() fd8c8f5ab3b0 input: cs40l26: Disable VA and VP Regulators Separately 2175609afa4e input: cs40l26: Add support for CS40L26A/B c519e1b08467 input: cs40l26: Add Support for SVC tuning 2b87832f2b0f input: cs40l26: Decrease ROM waveform bank granularity 3df8b4237b2e input: cs40l26: Graceful shutdown when handling BST errors 92a3eff7ff40 input: cs40l26: Add Support for Coefficient File Loading f67aaddce758 input: cs40l26: Correct BUZZGEN duration setting f25e0fd73654 input: cs40l26: Improve efficiency of Interrupt Handling c31b95210834 input: cs40l26: Fix error release sequence 2f8d22e816a6 input: cs40l26: Add IRQ unmask function 875e70684e57 Documentation: cs40l26: Add Support for RAM firmware 96b59a7edb94 input: cs40l26: Add Support for RAM firmware d86abc93be70 Documentation: cs40l26: Add dt-bindings file for CS40L26 71f39122dae9 input: cs40l26: Initial Commit for CS40L26 Branch: v5.10-cirrus-dsp-fw Tag: cl-dsp-fw-v3.1.0_5.10 Files: drivers/firmware/cirrus/cl_dsp.c include/linux/firmware/cirrus/cl_dsp.h Commits: 47254bf6e2c2 firmware: cirrus: Ignore Silicon Revision when looking for wavetable f31f14932f72 firmware: cirrus: Warn user about mismatched revisions 97963c7898f1 firmware: cirrus: Let core driver handle revision checking 5ebd6b1cdf42 firmware: cirrus: Add Open Wavetable Support 6149c55ae03e firmware: cirrus: Ignore chip revision when verifying algo id d5273a4a9ffd firmware: cirrus: Remove check before debug statement. 672fc70f5c74 firmware: cirrus: Move CL DSP to drivers/firmware f922454891ef input: cl_dsp: Updates to coefficient descriptor list 072f7252b854 input: cl_dsp: Macros for algorithm and firmware revision cd2c76181a67 input: cl_dsp: Improve Coefficient File Parsing 7f9340b2186d input: cl_dsp: Improve Algorithm Parsing 60323ea6b804 input: cl_dsp: Standardize HALO registers 33ae8822e6ca input: cl_dsp: Parse coeff flags and length 9485dc94122c input: cl_dsp: Process Data in WMFW Header 0af257e7d6c7 input: cl_dsp: Require regmap pointer when creating struct d5db51b265af input: cl_dsp: Increase maximum number of algorithms b01a1e0e0219 input: cl_dsp: Option to skip writing to RAM c7811f4beccb input: cl_dsp: Improve firmware data parsing 276542f62ced input: cl_dsp: Move includes to .h file ebd97015fa68 input: cl_dsp: Improved memory management d6bcce379fb0 input: cl_dsp: Move .h file to mfd 6e8352d35ba2 input: cl_dsp: Ensure packed data is aligned to 4 words ff235ec69691 input: cl_dsp: Catch additional errors in get_reg function eb65b8e79dbb input: cl_dsp: Support packed types in coefficient files 9f7125dca680 input: cl_dsp: Add support for wavetable date info a4515a386b9c input: cl_dsp: Add support for expliclty freeing coefficient memory fbed7662b3be input: cl_dsp: Add Support for Generic Coefficient Files 2a234316bcae input: cl_dsp: Initialize return variable d5678c49af94 input: cl_dsp: Add support for unpacked types in WMFW 7d7857d11bc9 input: cl_dsp: Add text to Kconfig for cl_dsp 2791c97e5554 input: cl_dsp: Add support for wavetable loading a728fda6c333 input: cl_dsp: Fix typo in error message f85e18f4ae46 input: cl_dsp: Add helper function for firmware parsing fd5b30bc28a7 input: cl_dsp: DSP firmware loading for input devices Bug: 184610991 Test: n/a Signed-off-by: Tai Kuo <taikuo@google.com> Change-Id: I2d29c23aafebe57c46fc2edee354dbc69826faf4