Commit Graph
16 Commits
Author SHA1 Message Date
Minecrell d55c91d1f9 community/soc-qcom-msm8916: update ALSA UCM files (MR 3014)
- alcatel-idol347: add headphones
- Try to revert playback/capture priorities to maybe make automatic
  switching to headphones based on jack detection work a bit better.

[ci:skip-build] Already built successfuly on CI in MR
2022-03-23 10:01:27 +01:00
Nikita Travkin 351c24206f community/soc-qcom-msm8916: add udev rule for pm8916 haptics (MR 2699)
Feedbackd needs to know which device to use for haptics. Add an udev
rule to mark haptics device in the pm8916.
2021-11-23 15:39:31 +01:00
Minecrell a9412824ea community/soc-qcom-msm8916: introduce more flexible rproc selection (MR 2632)
Add a replacement for the current "mainline" and "mainline-modem"
kernel variants used for the MSM8916 devices. At the moment this is
implemented using separate DTBs that are all maintained in the kernel.

Unfortunately, this does not seem likely to be accepted upstream in
the mainline kernel. They will expect to have only a single DTB that
enables all available functionality. The "no-modem" variant is a minor
but still very useful use case because it changes the audio routing:
It allows audio to work without any firmware, with more control on
sample rates, latency etc for advanced audio use cases. However,
having a potentially enabled modem requires routing all audio through
the modem. There are two separate DTBs needed for these two setups.

To avoid burdening mainline with this use case, the idea is to apply
the necessary DTB transformations as part of the lk2nd boot process.
Mainline only contains the DTB with the full functionality (audio
routed through modem). The soc-qcom-msm8916-rproc packages place
a magic file at /boot/lk2nd_rproc_mode that is read by lk2nd. When
the file contains "no-modem" lk2nd will transform the DTB to disable
the modem and change the audio routing to bypass the modem.

That way, this feature does not need to be considered in mainline
at all but can still be offered as "nice to have" by lk2nd. It also
simplifies the device packages because the selection is now common
as part of the soc-qcom-msm8916 package.

Together with a related pmbootstrap change there is a nice prompt
for selecting one of these "rproc" providers:

     $ pmbootstrap init
     [...]
     Available providers for soc-qcom-msm8916-rproc (3):
      * all: Enable all remote processors (audio goes through modem) (**default**)
      * no-modem: Disable only modem (audio bypasses modem, ~80 MiB more RAM)
      * none: Disable all remote processors (no WiFi/BT/modem, ~90 MiB more RAM)
     Provider [default]: ...
2021-11-21 19:10:58 +01:00
Minecrell 26b44a94f7 device/soc-qcom-msm8916: replace msm-modem-rpmsg with msm-modem (MR 2535)
Starting with Linux 5.14, the modem can be controlled through the new
WWAN subsystem in Linux with the WWAN RPMSG CTRL driver. This is also
supported in ModemManager 1.18 and the pmOS fork of oFono.

Drop the udev rules for the previous approach through the RPMSG chardev
since this causes the modem to be detected twice by ModemManager and oFono.
2021-09-19 17:03:31 +02:00
Nikita Travkin f8c8a96389 community/soc-qcom-msm8916: Update ucm to use JackControl (MR 2458) 2021-08-24 14:43:35 +02:00
Ultracoolguy 88f2ff05fa soc-qcom-msm8916: Update ucm to include motorola-ocean (MR 2350) 2021-07-19 07:48:10 +02:00
Nikita Travkin e9e9a74b1d soc-qcom-msm8916: use msm-modem-uim-selection (MR 2291)
Some msm8916 devices, primarily with two sim slots, require slot
to be selected. Install uim-selection script for all msm8916 devices
with modem enabled.

[ci:skip-build] already built successfully in CI
2021-07-05 07:41:23 +03:00
Jakob Hauser 6614be1f17 device/community: add swclock-offset dependency for affected SoCs (MR 2241)
Set package dependency "swclock-offset" to "soc-qcom-msm8916" and
"soc-qcom-sdm845".

These SoC's have a read-only real-time clock (RTC). The package
"swclock-offset" keeps an offset between the RTC and the system time.
2021-06-10 18:29:24 +03:00
Minecrell 47ec08d635 community/soc-qcom-msm8916: update UCM files (MR 2039)
- Fix speaker on xiaomi-mido
- Add UCM configuration for alcatel-idol347
2021-03-22 21:22:08 +01:00
Minecrell b3248bfd32 device/community/soc-qcom-msm8916: fix regressions after PA update (MR 1760)
New upstream ALSA/PulseAudio release, new UCM regressions - of course!
Introduce some new hacks to make the ALSA UCM configurations work again.

This fixes weird "Combination of Speaker,Primary Microphone" outputs
appearing in the PulseAudio mixer.

And while we're at it, some minor improvements/additions:

  - Default to Speaker/PrimaryMic instead of Headphones/Headset
    I believe this is just a workaround until headphones detection
    works properly.

  - Add UCM configurations for oppo-a51f and lenovo-a6010
2020-11-26 11:45:14 +01:00
Minecrell 421095284a device/community/soc-qcom-msm8916: fork alsa-ucm-conf entirely (MR 1655)
Upstream keeps making breaking changes in patch releases.
Let's fork alsa-ucm-conf entirely for now instead of just patching
in some files to ensure that these files don't break every few months.

This fixes audio on MSM8916 devices when not using the modem.
2020-10-30 17:10:18 +01:00
Minecrell e9925b4a72 device/community/soc-qcom-msm8916: update ALSA UCM configurations (MR 1603)
- Add UCM configuration for Xiaomi Redmi 2 (wt88047)
- Add UCM configuration for Xiaomi Redmi Note 4 (xiaomi-mido)
- Some fixes to UCM configuration for BQ Aquaris X5 (bq-paella)
2020-10-05 02:16:19 +03:00
Minecrell 8e080015d7 modem/msm-modem: rename msm-modem-mainline to msm-modem-rpmsg (MR 1356)
Newer Qualcomm SoCs (e.g. SDM845. MSM8953) seem to use a different
method to talk to the modem. There are no longer separate rpmsg/SMD
channels for QMI messags, instead the modem is also available through QRTR.

On these newer SoCs, installing msm-modem-mainline is pointless,
because the created /dev/modem device will not actually allow
communicating with the modem. However, you still need the part from
the base package (msm-modem), which installs+enables rmtfs.

To avoid confusion, rename the msm-modem-mainline subpackage to
msm-modem-rpmsg. Install only "msm-modem" on SDM845 because that
likely does not allow communication with the modem through RPMSG
anyway.
2020-06-25 09:41:35 +02:00
Minecrell af01e26142 device/community/soc-qcom-msm8916: install alsa-ucm-conf (MR 1307)
Newer versions of alsa-lib now require a top-level ALSA UCM
configuration (/usr/share/alsa/ucm2/ucm.conf):

    ALSA lib parser.c:2159:(load_toplevel_config) Unable to find the top-level configuration file '/usr/share/alsa/ucm2/ucm.conf'.
    ALSA lib main.c:983:(snd_use_case_mgr_open) error: failed to import hw:0 use case configuration -2
    alsaucm: error failed to open sound card hw:0: No such file or directory

The upstream ALSA UCM configurations are provided by Alpine's
"alsa-ucm-conf" package, so make sure to install it additionally.
2020-06-16 12:42:41 +02:00
Minecrell d7306531f5 soc-qcom-msm8916: add ALSA UCM configuration for bq-paella (MR 1295)
bq-paella has an external speaker amplifier connected to the right
channel of the headphones output. Add an extra UCM configuration
to handle this properly.
2020-06-09 23:18:38 +03:00
Minecrell d021832955 samsung-a5(u)lte: move from testing to community (MR 1273)
a5lte and a5ulte are almost identical hardware-wise, the separate
package is mainly necessary because they use different firmware
signatures.

Alexey Min agreed to do some testing occasionally :)
2020-06-03 13:46:00 +02:00