Message ID | 20230926-msm8916-modem-v1-9-398eec74bac9@gerhold.net (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | arm64: dts: qcom: msm8916/39: Enable sound and modem with QDSP6 | expand |
On 26.09.2023 18:51, Stephan Gerhold wrote: > From: Nikita Travkin <nikita@trvn.ru> > > Enable sound and modem for the Longcheer L8150 (e.g. Wileyfox Swift). e.g. -> i.e., or is that thing sold under many labels? [...] > reserved-memory { > + /delete-node/ mpss@86800000; > /delete-node/ wcnss; delete by label, please Konrad
On Tue, Sep 26, 2023 at 08:59:52PM +0200, Konrad Dybcio wrote: > On 26.09.2023 18:51, Stephan Gerhold wrote: > > From: Nikita Travkin <nikita@trvn.ru> > > > > Enable sound and modem for the Longcheer L8150 (e.g. Wileyfox Swift). > e.g. -> i.e., or is that thing sold under many labels? > > [...] > > > reserved-memory { > > + /delete-node/ mpss@86800000; > > /delete-node/ wcnss; > delete by label, please > I would say the same as on PATCH 07/13 here: https://lore.kernel.org/linux-arm-msm/ZRMye1HeiUno5N_p@gerhold.net/ Thanks, Stephan
On Tue, Sep 26, 2023 at 08:59:52PM +0200, Konrad Dybcio wrote: > On 26.09.2023 18:51, Stephan Gerhold wrote: > > From: Nikita Travkin <nikita@trvn.ru> > > > > Enable sound and modem for the Longcheer L8150 (e.g. Wileyfox Swift). > e.g. -> i.e., or is that thing sold under many labels? > Yes, "e.g." is indeed correct here. AFAIK the MSM8916-based Android One devices (aka "google-seed") are also based on the Longcheer L8150. They are available under names like "Cherry Mobile One G1", "i-mobile IQ II", and "General Mobile 4G". They are also covered by this device tree. Thanks, Stephan
On 9/30/23 18:59, Stephan Gerhold wrote: > On Tue, Sep 26, 2023 at 08:59:52PM +0200, Konrad Dybcio wrote: >> On 26.09.2023 18:51, Stephan Gerhold wrote: >>> From: Nikita Travkin <nikita@trvn.ru> >>> >>> Enable sound and modem for the Longcheer L8150 (e.g. Wileyfox Swift). >> e.g. -> i.e., or is that thing sold under many labels? >> > > Yes, "e.g." is indeed correct here. AFAIK the MSM8916-based Android One > devices (aka "google-seed") are also based on the Longcheer L8150. They > are available under names like "Cherry Mobile One G1", "i-mobile IQ II", > and "General Mobile 4G". They are also covered by this device tree. Oh wow.. That's surely fun Konrad
diff --git a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts index 47d1c5cb13f4..78f08254b287 100644 --- a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts +++ b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts @@ -3,6 +3,8 @@ /dts-v1/; #include "msm8916-pm8916.dtsi" +#include "msm8916-modem-qdsp6.dtsi" + #include <dt-bindings/gpio/gpio.h> #include <dt-bindings/input/input.h> #include <dt-bindings/interrupt-controller/irq.h> @@ -25,17 +27,26 @@ chosen { /* * For some reason, the signed wcnss firmware is not relocatable. - * It must be loaded at 0x8b600000. All other firmware is relocatable, - * so place wcnss at the fixed address and then all other firmware - * regions will be automatically allocated at a fitting place. + * It must be loaded at 0x8b600000. Unfortunately, this also means that + * mpss_mem does not fit when loaded to the typical address at 0x86800000. + * + * Load wcnss_mem to the fixed address and relocate mpss_mem to the next + * working higher address. For some reason the modem firmware does not + * boot when placed at 0x8a800000 to 0x8e800000. */ reserved-memory { + /delete-node/ mpss@86800000; /delete-node/ wcnss; wcnss_mem: wcnss@8b600000 { reg = <0x0 0x8b600000 0x0 0x600000>; no-map; }; + + mpss_mem: mpss@8e800000 { + reg = <0x0 0x8e800000 0x0 0x5000000>; + no-map; + }; }; gpio-keys { @@ -225,6 +236,13 @@ &blsp_uart2 { status = "okay"; }; +&pm8916_codec { + qcom,micbias-lvl = <2800>; + qcom,mbhc-vthreshold-low = <75 150 237 450 500>; + qcom,mbhc-vthreshold-high = <75 150 237 450 500>; + qcom,hphl-jack-type-normally-open; +}; + &pm8916_resin { status = "okay"; linux,code = <KEY_VOLUMEDOWN>; @@ -254,6 +272,14 @@ &sdhc_2 { non-removable; }; +&sound { + status = "okay"; + audio-routing = + "AMIC1", "MIC BIAS Internal1", + "AMIC2", "MIC BIAS Internal2", + "AMIC3", "MIC BIAS Internal3"; +}; + &usb { status = "okay"; dr_mode = "peripheral";