On Wed, May 22, 2024 at 3:06 PM <neil.armstrong@xxxxxxxxxx> wrote: > > On 22/05/2024 15:04, Bartosz Golaszewski wrote: > > On Wed, May 22, 2024 at 2:42 PM <neil.armstrong@xxxxxxxxxx> wrote: > >> > >> On 22/05/2024 14:08, Bartosz Golaszewski wrote: > >>> From: Tengfei Fan <quic_tengfan@xxxxxxxxxxx> > >>> > >>> Document the compatibles for the components used to boot the ADSP, CDSP0, > >>> CDSP1, GPDSP0 and GPDSP1 on the SA8775p SoC. > >>> > >>> Signed-off-by: Tengfei Fan <quic_tengfan@xxxxxxxxxxx> > >>> Co-developed-by: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx> > >>> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx> > >>> --- > >>> .../bindings/remoteproc/qcom,sm8550-pas.yaml | 76 +++++++++++++++++++++- > >>> 1 file changed, 75 insertions(+), 1 deletion(-) > >>> > >>> diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sm8550-pas.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,sm8550-pas.yaml > >>> index 73fda7565cd1..9d3a862c39e1 100644 > >>> --- a/Documentation/devicetree/bindings/remoteproc/qcom,sm8550-pas.yaml > >>> +++ b/Documentation/devicetree/bindings/remoteproc/qcom,sm8550-pas.yaml > >>> @@ -16,6 +16,11 @@ description: > >>> properties: > >>> compatible: > >>> enum: > >>> + - qcom,sa8775p-adsp-pas > >>> + - qcom,sa8775p-cdsp0-pas > >>> + - qcom,sa8775p-cdsp1-pas > >>> + - qcom,sa8775p-gpdsp0-pas > >>> + - qcom,sa8775p-gpdsp1-pas > >>> - qcom,sm8550-adsp-pas > >>> - qcom,sm8550-cdsp-pas > >>> - qcom,sm8550-mpss-pas > >>> @@ -44,12 +49,13 @@ properties: > >>> > >>> firmware-name: > >>> $ref: /schemas/types.yaml#/definitions/string-array > >>> + minItems: 1 > >> > >> This will allow a single firmware name for all compatible, > >> which is wrong > >> > > > > So increasing the limit from the default under allOf doesn't seem to > > work, should I instead keep this and make the lower limit stricter for > > all other models? > > Yes add minItems in all the allOf:if: and add the missing allOf:if: for > the new compatibles to set the minItems, same for memory-region. > > Or you may simply spin off a new yaml, this one is getting quite large. > Yeah, maybe that's a better idea. Bart > Neil > > > > > Bart > > > >>> items: > >>> - description: Firmware name of the Hexagon core > >>> - description: Firmware name of the Hexagon Devicetree > >>> > >>> memory-region: > >>> - minItems: 2 > >>> + minItems: 1 > >> > >> Same here > >> > >>> items: > >>> - description: Memory region for main Firmware authentication > >>> - description: Memory region for Devicetree Firmware authentication > >>> @@ -81,6 +87,21 @@ allOf: > >>> maxItems: 5 > >>> memory-region: > >>> maxItems: 2 > >>> + - if: > >>> + properties: > >>> + compatible: > >>> + enum: > >>> + - qcom,sa8775p-adsp-pas > >>> + - qcom,sa8775p-cdsp0-pas > >>> + - qcom,sa8775p-cdsp1-pas > >>> + - qcom,sa8775p-gpdsp0-pas > >>> + - qcom,sa8775p-gpdsp1-pas > >>> + then: > >>> + properties: > >>> + interrupts: > >>> + maxItems: 5 > >>> + interrupt-names: > >>> + maxItems: 5 > >>> - if: > >>> properties: > >>> compatible: > >>> @@ -128,6 +149,7 @@ allOf: > >>> properties: > >>> compatible: > >>> enum: > >>> + - qcom,sa8775p-adsp-pas > >>> - qcom,sm8550-adsp-pas > >>> - qcom,sm8650-adsp-pas > >>> - qcom,x1e80100-adsp-pas > >>> @@ -177,6 +199,58 @@ allOf: > >>> - const: cx > >>> - const: mxc > >>> - const: nsp > >>> + - if: > >>> + properties: > >>> + compatible: > >>> + enum: > >>> + - qcom,sa8775p-cdsp-pas > >>> + then: > >>> + properties: > >>> + power-domains: > >>> + items: > >>> + - description: CX power domain > >>> + - description: MXC power domain > >>> + - description: NSP0 power domain > >>> + power-domain-names: > >>> + items: > >>> + - const: cx > >>> + - const: mxc > >>> + - const: nsp0 > >>> + > >>> + - if: > >>> + properties: > >>> + compatible: > >>> + enum: > >>> + - qcom,sa8775p-cdsp1-pas > >>> + then: > >>> + properties: > >>> + power-domains: > >>> + items: > >>> + - description: CX power domain > >>> + - description: MXC power domain > >>> + - description: NSP1 power domain > >>> + power-domain-names: > >>> + items: > >>> + - const: cx > >>> + - const: mxc > >>> + - const: nsp1 > >>> + > >>> + - if: > >>> + properties: > >>> + compatible: > >>> + enum: > >>> + - qcom,sa8775p-gpdsp0-pas > >>> + - qcom,sa8775p-gpdsp1-pas > >>> + then: > >>> + properties: > >>> + power-domains: > >>> + items: > >>> + - description: CX power domain > >>> + - description: MXC power domain > >>> + power-domain-names: > >>> + items: > >>> + - const: cx > >>> + - const: mxc > >>> > >>> unevaluatedProperties: false > >>> > >>> > >> >