Message ID | 20221114-narmstrong-sm8550-upstream-remoteproc-v3-0-62162a1df718@linaro.org (mailing list archive) |
---|---|
Headers | show |
Series | remoteproc: qcom_q6v5_pas: add support for SM8550 adsp, cdsp & mpss | expand |
On 07/12/2022 20:23, Neil Armstrong wrote: > This patchsets adds support for the aDSP, cDSP and MPSS found in the > SM8550 SoC. > > The aDSP, cDSP and MPSS boot process on SM8550 now requires a secondary > "Devicetree" firmware to be passed along the main Firmware, and the cDSP > a new power domain named "NSP". > > In order to satisfy the load & authentication order required by the SM8550 > SoC, the following is implemented: > - "Devicetree" firmware request & load in dedicated memory > - Q6V5 prepare > - Power Domain & Clocks enable > - "Devicetree" firmware authentication > - Main firmware load in dedicated memory > - Main firmware authentication > - Q6V5 startup > - "Devicetree" firmware metadata release > - Main metadata release > > When booting older platforms, the "Devicetree" steps would be > bypassed and the load & authentication order would still be valid. > > Bindings changes depends on: > - https://lore.kernel.org/all/20221124184333.133911-1-krzysztof.kozlowski@linaro.org/ > > To: Andy Gross <agross@kernel.org> > To: Bjorn Andersson <andersson@kernel.org> > To: Konrad Dybcio <konrad.dybcio@somainline.org> > To: Mathieu Poirier <mathieu.poirier@linaro.org> > To: Rob Herring <robh+dt@kernel.org> > To: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org> > To: Manivannan Sadhasivam <mani@kernel.org> > To: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> > To: Amol Maheshwari <amahesh@qti.qualcomm.com> > Cc: linux-arm-msm@vger.kernel.org > Cc: linux-remoteproc@vger.kernel.org > Cc: devicetree@vger.kernel.org > Cc: linux-kernel@vger.kernel.org > Cc: Abel Vesa <abel.vesa@linaro.org> > Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> > > --- > Changes in v3: > - fix mpss matching in bindings, tested against DT > - Link to v2: https://lore.kernel.org/r/20221114-narmstrong-sm8550-upstream-remoteproc-v2-0-12bc22255474@linaro.org > > Changes in v2: > - Moved the SM8550 pas bindings on top of "split and reorganize PAS/PIL" v3 patchset > - Incorporated DSM memory support into pas bindings & driver > - Moved second DTB firmware into second entry of firmware-name > - Dropped applied "qcom,fastrpc: increase allowed iommus entries" patch > - Link to v1: https://lore.kernel.org/r/20221114-narmstrong-sm8550-upstream-remoteproc-v1-0-104c34cb3b91@linaro.org > > --- > Neil Armstrong (5): > dt-bindings: remoteproc: qcom: adsp: move memory-region and firmware-name out of pas-common > dt-bindings: remoteproc: qcom: adsp: document sm8550 adsp, cdsp & mpss compatible > remoteproc: qcom_q6v5_pas: add support for dtb co-firmware loading > remoteproc: qcom_q6v5_pas: add support for assigning memory to firmware > remoteproc: qcom_q6v5_pas: add sm8550 adsp, cdsp & mpss compatible & data > > .../devicetree/bindings/remoteproc/qcom,adsp.yaml | 4 + > .../bindings/remoteproc/qcom,pas-common.yaml | 8 - > .../bindings/remoteproc/qcom,qcs404-pas.yaml | 8 + > .../bindings/remoteproc/qcom,sc7180-pas.yaml | 8 + > .../bindings/remoteproc/qcom,sc8180x-pas.yaml | 8 + > .../bindings/remoteproc/qcom,sc8280xp-pas.yaml | 8 + > .../bindings/remoteproc/qcom,sdx55-pas.yaml | 8 + > .../bindings/remoteproc/qcom,sm6350-pas.yaml | 8 + > .../bindings/remoteproc/qcom,sm8150-pas.yaml | 8 + > .../bindings/remoteproc/qcom,sm8350-pas.yaml | 8 + > .../bindings/remoteproc/qcom,sm8550-pas.yaml | 178 ++++++++++++++ > drivers/remoteproc/qcom_q6v5_pas.c | 271 ++++++++++++++++++++- > 12 files changed, 504 insertions(+), 21 deletions(-) > --- > base-commit: 268975e1af25cd83994d24c46ad0d95753291f64 > change-id: 20221114-narmstrong-sm8550-upstream-remoteproc-804f3fbb34bf > > Best regards, Gentle ping, Thanks, Neil
This patchsets adds support for the aDSP, cDSP and MPSS found in the SM8550 SoC. The aDSP, cDSP and MPSS boot process on SM8550 now requires a secondary "Devicetree" firmware to be passed along the main Firmware, and the cDSP a new power domain named "NSP". In order to satisfy the load & authentication order required by the SM8550 SoC, the following is implemented: - "Devicetree" firmware request & load in dedicated memory - Q6V5 prepare - Power Domain & Clocks enable - "Devicetree" firmware authentication - Main firmware load in dedicated memory - Main firmware authentication - Q6V5 startup - "Devicetree" firmware metadata release - Main metadata release When booting older platforms, the "Devicetree" steps would be bypassed and the load & authentication order would still be valid. Bindings changes depends on: - https://lore.kernel.org/all/20221124184333.133911-1-krzysztof.kozlowski@linaro.org/ To: Andy Gross <agross@kernel.org> To: Bjorn Andersson <andersson@kernel.org> To: Konrad Dybcio <konrad.dybcio@somainline.org> To: Mathieu Poirier <mathieu.poirier@linaro.org> To: Rob Herring <robh+dt@kernel.org> To: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org> To: Manivannan Sadhasivam <mani@kernel.org> To: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> To: Amol Maheshwari <amahesh@qti.qualcomm.com> Cc: linux-arm-msm@vger.kernel.org Cc: linux-remoteproc@vger.kernel.org Cc: devicetree@vger.kernel.org Cc: linux-kernel@vger.kernel.org Cc: Abel Vesa <abel.vesa@linaro.org> Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> --- Changes in v3: - fix mpss matching in bindings, tested against DT - Link to v2: https://lore.kernel.org/r/20221114-narmstrong-sm8550-upstream-remoteproc-v2-0-12bc22255474@linaro.org Changes in v2: - Moved the SM8550 pas bindings on top of "split and reorganize PAS/PIL" v3 patchset - Incorporated DSM memory support into pas bindings & driver - Moved second DTB firmware into second entry of firmware-name - Dropped applied "qcom,fastrpc: increase allowed iommus entries" patch - Link to v1: https://lore.kernel.org/r/20221114-narmstrong-sm8550-upstream-remoteproc-v1-0-104c34cb3b91@linaro.org --- Neil Armstrong (5): dt-bindings: remoteproc: qcom: adsp: move memory-region and firmware-name out of pas-common dt-bindings: remoteproc: qcom: adsp: document sm8550 adsp, cdsp & mpss compatible remoteproc: qcom_q6v5_pas: add support for dtb co-firmware loading remoteproc: qcom_q6v5_pas: add support for assigning memory to firmware remoteproc: qcom_q6v5_pas: add sm8550 adsp, cdsp & mpss compatible & data .../devicetree/bindings/remoteproc/qcom,adsp.yaml | 4 + .../bindings/remoteproc/qcom,pas-common.yaml | 8 - .../bindings/remoteproc/qcom,qcs404-pas.yaml | 8 + .../bindings/remoteproc/qcom,sc7180-pas.yaml | 8 + .../bindings/remoteproc/qcom,sc8180x-pas.yaml | 8 + .../bindings/remoteproc/qcom,sc8280xp-pas.yaml | 8 + .../bindings/remoteproc/qcom,sdx55-pas.yaml | 8 + .../bindings/remoteproc/qcom,sm6350-pas.yaml | 8 + .../bindings/remoteproc/qcom,sm8150-pas.yaml | 8 + .../bindings/remoteproc/qcom,sm8350-pas.yaml | 8 + .../bindings/remoteproc/qcom,sm8550-pas.yaml | 178 ++++++++++++++ drivers/remoteproc/qcom_q6v5_pas.c | 271 ++++++++++++++++++++- 12 files changed, 504 insertions(+), 21 deletions(-) --- base-commit: 268975e1af25cd83994d24c46ad0d95753291f64 change-id: 20221114-narmstrong-sm8550-upstream-remoteproc-804f3fbb34bf Best regards,