devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/4] ASoC: codecs: Add support for FourSemi FS2104/5S
@ 2025-07-21 10:38 Nick
  2025-07-21 10:38 ` [PATCH v4 1/4] dt-bindings: vendor-prefixes: Add Shanghai FourSemi Semiconductor Co.,Ltd Nick
                   ` (3 more replies)
  0 siblings, 4 replies; 11+ messages in thread
From: Nick @ 2025-07-21 10:38 UTC (permalink / raw)
  To: lgirdwood, broonie, robh, krzk+dt, conor+dt, perex, tiwai,
	nick.li
  Cc: xiaoming.yang, danyang.zheng, like.xy, linux-sound, devicetree,
	linux-kernel

The FS2104/5S are Inductor-Less, Stereo, Closed-Loop,
Digital Input Class-D Power Amplifiers with Enhanced Signal Processing
FS2104 can deliver 2x15W into 4ohm BTL speaker loads,
FS2105S can deliver 2x30W into 8ohm BTL speaker loads.

Most functions have been built and tested on EVB boards:
ARMv8-A, Linux version 6.16.0-rc6-v8

v3 -> v4:
Fix warnings reported by clang-20(W=1):
warnings: variable 'ret' is used uninitialized

v2 -> v3:
.../foursemi,fs2105s.yaml(patch 0002)
- Drop "schema for " in the patch subject
- Delete the description of the property reg
- Restore the property clocks to v1
- Keep the same order as in list of properties

.../Kconfig(patch 0004)
- Write the help of config symbol with at least 4 lines

.../fs210x.c/h(patch 0004)
- Update entries comment to C++ style
- Use linux/gpio/consumer.h instead of linux/of_gpio.h
- Use a private lock instead of a global one
- Delete driver version and log
- Drop checking of pval in fs210x_reg_read
- Drop most of the debug logs and unused codes
- Drop registers dumping in monitor
- Use fsleep instead of usleep_range
- Update mixer to a standard control:
  PCM Playback Volume
- Add 2 new standard controls:
  DAC Mute Switch: Mute/Unmute
  DAC Fade Switch: Fade enable/disable
- Fix errors reported by mixer-test in mixer:
  Effect Scene
- Integrate the operation of reset(sdz) pin into chip init/reset 
- Add DAPM event for playback:
  Start/stop device in DAPM instead of mute_stream
  Start/stop delay works in mute_stream only
- Drop use_pmdown_time in component driver for DAPM event
- Add dai ops startup:
  Report format&sample rates in constraints
- Add dai ops trigger:
  Start device in trigger when we can't obtain/control the bclk clock
- Use description words: PROVIDER, consumer
- Add a sysfs node for monitor period(fs210x->check_interval_ms)
- Do the initialisations of delayed works and clock in i2c probe
- Prevent new work after the device is suspended
- Update regmap cache type to MAPLE
  Define volatile registers
- Simplify the logic of getting and setting clock
- Simplify the logic of getting and setting reset gpio
- Use dev_err_probe for error logs
- Remove fs210x_parse_platdata and use fs210x_parse_dts in fs210x_init
- Drop null checking for regmap in i2c probe
- Add a suffix(instances id) to dai name
- Drop compatible of "foursemi,fs2104"
- Drop ifdef CONFIG_OF and of_match_ptr

v1 -> v2:
- Adjust the order of patches according to the dependency relationship
- Rename yaml file to foursemi,fs2105s.yaml
- Fix some properties and error definitions in foursemi,fs2105s.yaml:
  sdz-gpios -> reset->gpios
  fs,fwm-name -> firmware-name
  Delete fs,dai-name
- Drop "dt-bindings for" from subject
- Update the driver code according to the update of DT schema
- Fix warnings/errors reported by running checkpatch.pl --strict
- Fix warnings/errors reported by running make dt_bindings_check

Nick Li (4):
  dt-bindings: vendor-prefixes: Add Shanghai FourSemi Semiconductor
    Co.,Ltd
  ASoC: dt-bindings: Add FS2104/5S audio amplifiers
  ASoC: codecs: Add library for FourSemi audio amplifiers
  ASoC: codecs: Add FourSemi FS2104/5S audio amplifier driver

 .../bindings/sound/foursemi,fs2105s.yaml      |   99 ++
 .../devicetree/bindings/vendor-prefixes.yaml  |    2 +
 sound/soc/codecs/Kconfig                      |   16 +
 sound/soc/codecs/Makefile                     |    4 +
 sound/soc/codecs/fs-amp-lib.c                 |  265 +++
 sound/soc/codecs/fs-amp-lib.h                 |  150 ++
 sound/soc/codecs/fs210x.c                     | 1583 +++++++++++++++++
 sound/soc/codecs/fs210x.h                     |   75 +
 8 files changed, 2194 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/sound/foursemi,fs2105s.yaml
 create mode 100644 sound/soc/codecs/fs-amp-lib.c
 create mode 100644 sound/soc/codecs/fs-amp-lib.h
 create mode 100644 sound/soc/codecs/fs210x.c
 create mode 100644 sound/soc/codecs/fs210x.h


base-commit: ed73a24357531e1747a6e140c329015da6429629
-- 
2.39.5


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2025-07-22  6:07 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-21 10:38 [PATCH v4 0/4] ASoC: codecs: Add support for FourSemi FS2104/5S Nick
2025-07-21 10:38 ` [PATCH v4 1/4] dt-bindings: vendor-prefixes: Add Shanghai FourSemi Semiconductor Co.,Ltd Nick
2025-07-21 10:38 ` [PATCH v4 2/4] ASoC: dt-bindings: Add FS2104/5S audio amplifiers Nick
2025-07-21 10:48   ` Krzysztof Kozlowski
2025-07-21 12:02     ` Nick Li
2025-07-21 12:15       ` Krzysztof Kozlowski
2025-07-21 12:40         ` Nick Li
2025-07-21 13:04           ` Krzysztof Kozlowski
2025-07-22  6:06         ` Nick Li
2025-07-21 10:38 ` [PATCH v4 3/4] ASoC: codecs: Add library for FourSemi " Nick
2025-07-21 10:38 ` [PATCH v4 4/4] ASoC: codecs: Add FourSemi FS2104/5S audio amplifier driver Nick

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).