Skip to content
  1. Sep 23, 2022
  2. Sep 22, 2022
  3. Sep 21, 2022
  4. Sep 20, 2022
    • Mark Brown's avatar
      Support for CS42L83 on Apple machines · 9f27530a
      Mark Brown authored
      Merge series from Martin Povišer <povik+lin@cutebit.org>:
      
      there's a CS42L83 headphone jack codec found in Apple computers (in the
      recent 'Apple Silicon' ones as well as in earlier models, one example
      [1]). The part isn't publicly documented, but it appears almost
      identical to CS42L42, for which we have a driver in kernel. This series
      adapts the CS42L42 driver to the new part, and makes one change in
      anticipation of a machine driver for the Apple computers.
      
      Patch 1 adds new compatible to the cs42l42 schema.
      
      Patches 2 to 7 are taken from Richard's recent series [2] adding
      soundwire support to cs42l42. They are useful refactorings to build on
      in the later patches, and also this way our work doesn't diverge.
      (I fixed missing free_irq path in cs42l42_init, did
       s/Soundwire/SoundWire/ in changelogs, rebased.)
      
      Patch 8 exports some regmap-related symbols from cs42l42.c so they can
      be used to create cs42l83 regmap in cs42l83-i2c.c later.
      
      Patch 9 is the cs42l83 support proper.
      
      Patch 10 implements 'set_bclk_ratio' on the cs42l42 core. This will be
      called by the upcoming ASoC machine driver for 'Apple Silicon' Macs.
      (We have touched on this change to be made in earlier discussion, see
       [3] and replies.)
      
      Patch 11 brings cs42l42-i2c.c in sync with cs42l83-i2c.c on
      dev_err_probe() usage.
      9f27530a
    • Mark Brown's avatar
      ASoC: SOF: Intel: override mclk_id for ES8336 support · 3c193b5f
      Mark Brown authored
      Merge series from Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>:
      
      This patchset solves a known issue with ES8336 platforms wrt MCLK
      selection. Most of the devices use the MCLK0 signal, but some devices
      do use the MCLK1 signal.
      
      The MCLK is defined in the topology, it would be a nightmare to
      generate more topology files just for one MCLK difference. With a
      minor extension to the intel-nhlt library, the MCLK information can be
      found by parsing the NHLT table, and we can override the mclk_id at
      boot time.
      
      The only known issues for this platform remain the detection of GPIO
      and microphone connections, currently only possible with manual
      quirks.
      
      Thanks to Eugene J. Markow for testing this patchset.
      3c193b5f
    • Pierre-Louis Bossart's avatar
      ASoC: SOF: Intel: hda: override mclk_id after parsing NHLT SSP blob · d9252772
      Pierre-Louis Bossart authored
      
      
      The NHLT is already used to determine which SSP is connected to an
      audio codec, we can parse the SSP blob to get the mclk_id from NHLT.
      
      Signed-off-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
      Reviewed-by: default avatarKai Vehmanen <kai.vehmanen@linux.intel.com>
      Reviewed-by: default avatarBard Liao <yung-chuan.liao@linux.intel.com>
      Link: https://lore.kernel.org/r/20220919115350.43104-5-pierre-louis.bossart@linux.intel.com
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      d9252772
    • Pierre-Louis Bossart's avatar
      ALSA: hda: intel-nhlt: add intel_nhlt_ssp_mclk_mask() · 72176fcc
      Pierre-Louis Bossart authored
      
      
      SOF topologies hard-code the MCLK used for SSP connections. That was a
      bad idea in hindsight, this information should really come from BIOS
      and/or machine driver.
      
      This patch introduces a helper to scan all SSP endpoints connected to
      a codec, and all formats to see what MCLK is used. When BIT(0) of the
      mdivc offset if set in the SSP blob, MCLK0 is used, and likewise when
      BIT(1) is set MCLK1 is used.
      
      The case where both MCLKs are used is possible but has never been seen
      in practice so should be treated as an error by the caller.
      
      Signed-off-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
      Reviewed-by: default avatarKai Vehmanen <kai.vehmanen@linux.intel.com>
      Reviewed-by: default avatarBard Liao <yung-chuan.liao@linux.intel.com>
      Reviewed-by: default avatarTakashi Iwai <tiwai@suse.de>
      Link: https://lore.kernel.org/r/20220919115350.43104-4-pierre-louis.bossart@linux.intel.com
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      72176fcc