mbox series

[v2,0/4] sc7180: Add ADSP

Message ID 20230905-sc7180-adsp-rproc-v2-0-8ab7f299600a@trvn.ru
Headers show
Series sc7180: Add ADSP | expand

Message

Nikita Travkin Sept. 5, 2023, 10:41 a.m. UTC
sc7180 has an ADSP remoteproc that can be used to control the sound
hardware. This remoteproc has to be used on those devices that use
Qualcomm firmware and thus are locked out of driving the lpass directly.

Introducing the ADSP would allow multiple WoA laptops such as Aspire 1
to provide sound. It's also useful for the sm7125 devices that are to be
included to the kernel [1]

This series adds the ADSP and the sound services needed to make use of
it later.

[1] https://lore.kernel.org/all/20230824091737.75813-1-davidwronek@gmail.com/

Signed-off-by: Nikita Travkin <nikita@trvn.ru>
---
Changes in v2:
- Refactor the pas binding to fit adsp better
- Fixup remoteproc subnode names and property order
- Link to v1: https://lore.kernel.org/r/20230905-sc7180-adsp-rproc-v1-0-dfea7699da7b@trvn.ru

---
Nikita Travkin (4):
      dt-bindings: remoteproc: qcom: sc7180-pas: Add ADSP compatible
      remoteproc: qcom: pas: Add sc7180 adsp
      arm64: dts: qcom: sc7180: Add tertiary mi2s pinctrl
      arm64: dts: qcom: sc7180: Add ADSP

 .../bindings/remoteproc/qcom,sc7180-pas.yaml       |  81 +++++++++----
 arch/arm64/boot/dts/qcom/sc7180.dtsi               | 127 +++++++++++++++++++++
 drivers/remoteproc/qcom_q6v5_pas.c                 |   1 +
 3 files changed, 184 insertions(+), 25 deletions(-)
---
base-commit: c50216cfa084d5eb67dc10e646a3283da1595bb6
change-id: 20230905-sc7180-adsp-rproc-a745b88af298

Best regards,

Comments

Krzysztof Kozlowski Sept. 6, 2023, 1:36 p.m. UTC | #1
On 05/09/2023 12:41, Nikita Travkin wrote:
> sc7180 has an ADSP remoteproc that exclusively controls the audio
> hardware on devices that use Qualcomm firmware.


> +					q6afe: service@4 {
> +						compatible = "qcom,q6afe";
> +						reg = <APR_SVC_AFE>;
> +						qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
> +
> +						q6afedai: dais {
> +							compatible = "qcom,q6afe-dais";
> +							#address-cells = <1>;
> +							#size-cells = <0>;
> +							#sound-dai-cells = <1>;
> +						};
> +
> +						q6afecc: cc {


No improvements.

You need to add ADSP to your board and then test it. Otherwise you won't
see errors and we do not want incorrect, even if disabled, nodes in DTSI.

Best regards,
Krzysztof
Nikita Travkin Sept. 6, 2023, 2:52 p.m. UTC | #2
Krzysztof Kozlowski писал(а) 06.09.2023 18:36:
> On 05/09/2023 12:41, Nikita Travkin wrote:
>> sc7180 has an ADSP remoteproc that exclusively controls the audio
>> hardware on devices that use Qualcomm firmware.
> 
> 
>> +					q6afe: service@4 {
>> +						compatible = "qcom,q6afe";
>> +						reg = <APR_SVC_AFE>;
>> +						qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
>> +
>> +						q6afedai: dais {
>> +							compatible = "qcom,q6afe-dais";
>> +							#address-cells = <1>;
>> +							#size-cells = <0>;
>> +							#sound-dai-cells = <1>;
>> +						};
>> +
>> +						q6afecc: cc {
> 
> 
> No improvements.
> 
> You need to add ADSP to your board and then test it. Otherwise you won't
> see errors and we do not want incorrect, even if disabled, nodes in DTSI.
> 

Ah, didn't think the check would (partially) ignore disabled nodes...

Is there any simple way to instruct the checker to ignore disabled
status and test anyway? I'd like to be able to test the "clean"
series as-to-be-sent to have less places for error (and manual action
I guess...)

I will make sure to fix that for v3

Nikita

> Best regards,
> Krzysztof
Konrad Dybcio Sept. 6, 2023, 2:53 p.m. UTC | #3
On 6.09.2023 16:52, Nikita Travkin wrote:
> Krzysztof Kozlowski писал(а) 06.09.2023 18:36:
>> On 05/09/2023 12:41, Nikita Travkin wrote:
>>> sc7180 has an ADSP remoteproc that exclusively controls the audio
>>> hardware on devices that use Qualcomm firmware.
>>
>>
>>> +					q6afe: service@4 {
>>> +						compatible = "qcom,q6afe";
>>> +						reg = <APR_SVC_AFE>;
>>> +						qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
>>> +
>>> +						q6afedai: dais {
>>> +							compatible = "qcom,q6afe-dais";
>>> +							#address-cells = <1>;
>>> +							#size-cells = <0>;
>>> +							#sound-dai-cells = <1>;
>>> +						};
>>> +
>>> +						q6afecc: cc {
>>
>>
>> No improvements.
>>
>> You need to add ADSP to your board and then test it. Otherwise you won't
>> see errors and we do not want incorrect, even if disabled, nodes in DTSI.
>>
> 
> Ah, didn't think the check would (partially) ignore disabled nodes...
> 
> Is there any simple way to instruct the checker to ignore disabled
> status and test anyway? I'd like to be able to test the "clean"
> series as-to-be-sent to have less places for error (and manual action
> I guess...)
IDK if schema takes any arguments like that, but search-and-replace
status = "disabled" with nothing sounds like it could work

Konrad