ucm2: Add intial Amlogic GXL support

GitHub pull_request - opened github at alsa-project.org
Thu Jan 27 19:45:23 CET 2022


alsa-project/alsa-ucm-conf pull request #137 was opened from jeromebrunet:

This adds the support for the GXL-P241 and the LIBRETECH-CC.
I have proposed the related ucm-validator PR: https://github.com/alsa-project/alsa-tests/pull/23

I was not successful with txt check:
```
!!Sysfs card info
!!---------------

Traceback (most recent call last):
  File "/home/jbrunet/work/generic/sound/alsa-tests/python/ucm-validator/./ucm.py", line 238, in <module>
    main(sys.argv)
  File "/home/jbrunet/work/generic/sound/alsa-tests/python/ucm-validator/./ucm.py", line 233, in main
    r = globals()[cmd](*argv[2:])
  File "/home/jbrunet/work/generic/sound/alsa-tests/python/ucm-validator/./ucm.py", line 185, in do_configs
    errors, warnings = config_walk(alsainfo_path)
  File "/home/jbrunet/work/generic/sound/alsa-tests/python/ucm-validator/./ucm.py", line 129, in config_walk
    errors1, warnings1 = config_walk(path2)
  File "/home/jbrunet/work/generic/sound/alsa-tests/python/ucm-validator/./ucm.py", line 142, in config_walk
    info.load(path2)
  File "/home/jbrunet/work/generic/sound/alsa-tests/python/ucm-validator/../lib/alsainfo.py", line 314, in load
    raise AlsaInfoError("%s: unknown section %s" % (filename, repr(name)))
alsainfo.AlsaInfoError: configs/Meson/LIBRETECH-CC.txt: unknown section 'Sysfs card info'
```

I also check with the dummy json:
```
*** configuration 'configs/Meson/GXL-P241.json' @ AlsaJsonSoundcard(json='GXL-P241', id='GXL-P241', driver='gx-sound-card', name='GXL-P241', longname='GXL-P241') ***
Device file 'conf.d/gx-sound-card/GXL-P241.conf'
Verb 'HiFi', file 'Meson/p241/p241-HiFi.conf'
Device 'Line'
Device 'HDMI'
ERR: conf.d/gx-sound-card/GXL-P241.conf: Verb=HiFi Device=Line PlaybackPCM defined in SectionVerb
ERR:   AlsaJsonSoundcard(json='GXL-P241', id='GXL-P241', driver='gx-sound-card', name='GXL-P241', longname='GXL-P241')
ERR: total errors: 1
```

I'm not quite sure where to put the `PlaybackPCM`, if not in `Verb`.
The `Device ` section in not a good fit, as far as I understand.
On these devices, we have a single PCM interface. HDMI and Line Devices may be enabled on it (possibly simultaneously).

Any suggestion ? 

Looking at pulseaudio, I'm quite happy with the result:
```
$ pactl list sinks
Sink #0
	State: SUSPENDED
	Name: alsa_output.platform-sound.HiFi__hw_LIBRETECHCC_0__sink
	Description: Built-in Audio HDMI + Analog Lineout
	Driver: module-alsa-card.c
	Sample Specification: s16le 2ch 44100Hz
	Channel Map: front-left,front-right
	Owner Module: 6
	Mute: no
	Volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
	        balance 0.00
	Base Volume: 65536 / 100% / 0.00 dB
	Monitor Source: alsa_output.platform-sound.HiFi__hw_LIBRETECHCC_0__sink.monitor
	Latency: 0 usec, configured 0 usec
	Flags: HARDWARE DECIBEL_VOLUME LATENCY 
	Properties:
		alsa.resolution_bits = "16"
		device.api = "alsa"
		device.class = "sound"
		alsa.class = "generic"
		alsa.subclass = "generic-mix"
		alsa.name = ""
		alsa.id = "fe.dai-link-0 (*)"
		alsa.subdevice = "0"
		alsa.subdevice_name = "subdevice #0"
		alsa.device = "0"
		alsa.card = "0"
		alsa.card_name = "LIBRETECH-CC"
		alsa.long_card_name = "LIBRETECH-CC"
		alsa.driver_name = "snd_soc_meson_gx_sound_card"
		device.bus_path = "platform-sound"
		sysfs.path = "/devices/platform/sound/sound/card0"
		device.form_factor = "internal"
		device.string = "_ucm0001.hw:LIBRETECHCC,0"
		device.buffering.buffer_size = "352768"
		device.buffering.fragment_size = "176384"
		device.access_mode = "mmap+timer"
		device.profile.name = "HiFi: hw:LIBRETECHCC,0: sink"
		device.profile.description = "HDMI + Analog Lineout"
		alsa.mixer_device = "_ucm0001.hw:LIBRETECHCC"
		device.description = "Built-in Audio HDMI + Analog Lineout"
		module-udev-detect.discovered = "1"
		device.icon_name = "audio-card"
	Ports:
		[Out] HDMI: HDMI (type: HDMI, priority: 100, availability unknown)
		[Out] Line: Analog Lineout (type: Line, priority: 100, availability unknown)
	Active Port: [Out] HDMI
	Formats:
		pcm
```

Request URL   : https://github.com/alsa-project/alsa-ucm-conf/pull/137
Patch URL     : https://github.com/alsa-project/alsa-ucm-conf/pull/137.patch
Repository URL: https://github.com/alsa-project/alsa-ucm-conf


More information about the Alsa-devel mailing list