Re: [PATCH v3 1/2] dt-bindings: fpga: stratix10: add support for Agilex5

From: Romli, Khairul Anuar
Date: Mon Nov 17 2025 - 19:55:24 EST


On 18/11/2025 8:07 am, Conor Dooley wrote:
> On 17/11/2025 10:34 pm, Conor Dooley wrote:
>> On Mon, Nov 17, 2025 at 02:32:16PM +0000, Conor Dooley wrote:
>>> On Mon, Nov 17, 2025 at 03:02:11AM +0000, Romli, Khairul Anuar wrote:
>>>> On 15/11/2025 1:59 am, Conor Dooley wrote:
>>>>> On Fri, Nov 14, 2025 at 02:27:41PM +0800, Khairul Anuar Romli wrote:
>>>>>> Agilex5 introduces changes in how reserved memory is mapped and
>>>>>> accessed
>>>>>> compared to previous SoC generations. Agilex5 compatible allows
>>>>>> stratix10-
>>>>>> FPGA manager driver to handle these changes.
>>>>>>
>>>>>> Fallback is added for driver probe and init that rely on matching
>>>>>> of table
>>>>>> and DT node.
>>>>>>
>>>>>> Reviewed-by: Xu Yilun <yilun.xu@xxxxxxxxx>
>>>>>> Signed-off-by: Khairul Anuar Romli <khairul.anuar.romli@xxxxxxxxxx>
>>>>>> ---
>>>>>> Changes in v3:
>>>>>>     - Add description for Agilex5 Device
>>>>>>     - Add and define fallback to "intel,agilex-soc-fpga-mgr"
>>>>>>     - Validate against Agilex and Stratix10 (non-fallback) and
>>>>>> Agilex5
>>>>>>       (fallback)
>>>>>> Changes in v2:
>>>>>>     - No changes in this patch
>>>>>> ---
>>>>>>    .../fpga/intel,stratix10-soc-fpga-mgr.yaml         | 14 +++++++
>>>>>> ++++---
>>>>>>    1 file changed, 11 insertions(+), 3 deletions(-)
>>>>>>
>>>>>> diff --git a/Documentation/devicetree/bindings/fpga/
>>>>>> intel,stratix10-soc-fpga-mgr.yaml b/Documentation/devicetree/
>>>>>> bindings/fpga/intel,stratix10-soc-fpga-mgr.yaml
>>>>>> index 6e536d6b28a9..8eb414163d08 100644
>>>>>> --- a/Documentation/devicetree/bindings/fpga/intel,stratix10-soc-
>>>>>> fpga-mgr.yaml
>>>>>> +++ b/Documentation/devicetree/bindings/fpga/intel,stratix10-soc-
>>>>>> fpga-mgr.yaml
>>>>>> @@ -20,9 +20,17 @@ description:
>>>>>>    properties:
>>>>>>      compatible:
>>>>>> -    enum:
>>>>>> -      - intel,stratix10-soc-fpga-mgr
>>>>>> -      - intel,agilex-soc-fpga-mgr
>>>>>> +    oneOf:
>>>>>> +      - items:
>>>>>> +          - enum:
>>>>>
>>>>> This construct is redundant, "items: - enum" is the same as just
>>>>> having
>>>>> "enum".
>>>>> pw-bot: changes-requested
>>>>>
>>>> I've tried to look for some of the already merged bindings i.e
>>>> arm/qcom.yaml (although all the properties has enum - constant
>>>> combination), it is using items with enum. I tried to keep the enum
>>>> without
>>>> items but I keep getting error while validating the changes.
>>>
>>> I literally told you what to change, so I don't know why you didn't just
>>> do that. Replacing "items: - enum" with "enum" is what you need to do.
>>> You didn't even include the error you got, so I cannot help you with
>>> that at all, nor even if you did what I told you to do.
>>
>> nor even know if you did*
>>
>
>  properties:
>    compatible:
> -    enum:
> -      - intel,stratix10-soc-fpga-mgr
> -      - intel,agilex-soc-fpga-mgr
> +    oneOf:
> +      - enum:
> +          - intel,stratix10-soc-fpga-mgr
> +          - intel,agilex-soc-fpga-mgr
> +      - enum:
> +          - intel,agilex5-soc-fpga-mgr
> +        const: intel,agilex-soc-fpga-mgr
>
> $ make -j24 CHECK_DTBS=y intel/socfpga_agilex5_socdk.dtb
>
> /linux-socfpga/arch/arm64/boot/dts/intel/socfpga_agilex5_socdk.dtb:
> fpga-mgr (intel,agilex5-soc-fpga-mgr): compatible: 'oneOf' conditional
> failed, one must be fixed:
>     ['intel,agilex5-soc-fpga-mgr', 'intel,agilex-soc-fpga-mgr'] is too
> long
>     'intel,agilex5-soc-fpga-mgr' is not one of ['intel,stratix10-soc-
> fpga-mgr', 'intel,agilex-soc-fpga-mgr']
>     'intel,agilex-soc-fpga-mgr' was expected
>     from schema $id: http://devicetree.org/schemas/fpga/
> intel,stratix10-soc-fpga-mgr.yaml#
>
> $ make -j24 CHECK_DTBS=y DT_SCHEMA_FILES=intel,stratix10-soc-fpga-
> mgr.yaml intel/socfpga_agilex5_socdk.dtb
>
>   DTC [C] arch/arm64/boot/dts/intel/socfpga_agilex5_socdk.dtb
> /linux-socfpga/arch/arm64/boot/dts/intel/socfpga_agilex5_socdk.dtb:
> fpga-mgr (intel,agilex5-soc-fpga-mgr): compatible: 'oneOf' conditional
> failed, one must be fixed:
>     ['intel,agilex5-soc-fpga-mgr', 'intel,agilex-soc-fpga-mgr'] is too
> long
>     'intel,agilex5-soc-fpga-mgr' is not one of ['intel,stratix10-soc-
> fpga-mgr', 'intel,agilex-soc-fpga-mgr']
>     'intel,agilex-soc-fpga-mgr' was expected
>     from schema $id: http://devicetree.org/schemas/fpga/
> intel,stratix10-soc-fpga-mgr.yaml#
>
> This error is not seen if we use the "redundant" items - enum.
>
> Documentation/devicetree/bindings/example-schema.yaml still shows
> the use of items - enum though.
>
> Thanks.
>
> Best Regards,
> Khairul
>

Upon doing some more reading through other examples, I am able to get to
make changes as you suggested and get it validated without any error on
the fallback and non-fallback DT.

I will sent that in the next version.

Thank you so much for the feedback.

Best Regards,
Khairul

>>>
>>>> Another option that I've validated is using the following changes.
>>>>
>>>> -    enum:
>>>> -      - intel,stratix10-soc-fpga-mgr
>>>> -      - intel,agilex-soc-fpga-mgr
>>>> +    oneOf:
>>>> +      - description: Intel Stratix10 Devices
>>>> +        items:
>>>> +          - const: intel,stratix10-soc-fpga-mgr
>>>
>>> These just have the same problem as your original patch.
>>> "items: - const" is just the same as "const".
>>> Since item "items" properties do not do anything other than bloat the
>>> schema.
>>>
>>>> +      - description: Intel Agilex Devices
>>>> +        items:
>>>> +          - const: intel,agilex-soc-fpga-mgr
>>>> +      - description: Intel Agilex5 Devices
>>>> +        items:
>>>> +          - const: intel,agilex5-soc-fpga-mgr
>>>> +          - const: intel,agilex-soc-fpga-mgr
>>>>
>>>> The drawback of this is we will need to implement enum instead of
>>>> constant for first element if we need to add new devices under "Intel
>>>> Agilex5 Devices" in the future.
>>>>
>>>> Thanks.
>>>>
>>>> Best Regards,
>>>> Khairul
>>>>
>>>>>> +              - intel,stratix10-soc-fpga-mgr
>>>>>> +              - intel,agilex-soc-fpga-mgr
>>>>>> +
>>>>>> +      - description: Agilex5 Device
>>>>>> +        items:
>>>>>> +          - enum:
>>>>>> +              - intel,agilex5-soc-fpga-mgr
>>>>>> +          - const: intel,agilex-soc-fpga-mgr
>>>>>>    required:
>>>>>>      - compatible
>>>>>> --
>>>>>> 2.43.7
>>>>>>
>>>>
>>
>>
>