Re: [PATCHv2 4/7] dt-bindings: fpga: add Stratix10 SoC FPGA manager binding
From: Rob Herring
Date: Thu Mar 08 2018 - 17:27:45 EST
On Thu, Mar 8, 2018 at 9:32 AM, Alan Tull <atull@xxxxxxxxxx> wrote:
> On Wed, Mar 7, 2018 at 7:24 PM, Rob Herring <robh@xxxxxxxxxx> wrote:
>> On Wed, Mar 7, 2018 at 4:20 PM, Alan Tull <atull@xxxxxxxxxx> wrote:
>>> On Wed, Mar 7, 2018 at 1:47 PM, Rob Herring <robh@xxxxxxxxxx> wrote:
>>>> On Thu, Mar 01, 2018 at 06:19:32PM -0600, richard.gong@xxxxxxxxxxxxxxx wrote:
>>>>> From: Alan Tull <atull@xxxxxxxxxx>
>>>>>
>>>>> Add a Device Tree binding for the Intel Stratix10 SoC FPGA manager.
>>>>>
>>>>> Signed-off-by: Alan Tull <atull@xxxxxxxxxx>
>>>>> ---
>>>>> v2: this patch is added in patch set version 2
>>>>> ---
>>>>> .../devicetree/bindings/fpga/intel-stratix10-soc-fpga-mgr.txt | 10 ++++++++++
>>>>> 1 file changed, 10 insertions(+)
>>>>> create mode 100644 Documentation/devicetree/bindings/fpga/intel-stratix10-soc-fpga-mgr.txt
>>>>>
>>>>> diff --git a/Documentation/devicetree/bindings/fpga/intel-stratix10-soc-fpga-mgr.txt b/Documentation/devicetree/bindings/fpga/intel-stratix10-soc-fpga-mgr.txt
>>>>> new file mode 100644
>>>>> index 0000000..78de689
>>>>> --- /dev/null
>>>>> +++ b/Documentation/devicetree/bindings/fpga/intel-stratix10-soc-fpga-mgr.txt
>>>>> @@ -0,0 +1,10 @@
>>>>> +Intel Stratix10 SoC FPGA Manager
>>>>> +
>>>>> +Required properties:
>>>>> +- compatible : should contain "intel,stratix10-soc-fpga-mgr"
>>>>> +
>>>>> +Example:
>>>>> +
>>>>> + fpga_mgr: fpga-mgr@0 {
>>>>> + compatible = "intel,stratix10-soc-fpga-mgr";
>>>>
>>>> No reg or anything else? Is that because it all goes thru the service
>>>> layer firmware?
>>>
>>> Yes.
>>>
>>> There will be a few more clients of the service layer: QSPI, Crypto
>>> and warm reset.
>>>
>>>> Just get the service layer driver to instantiate a
>>>> device for this driver or get rid of the 2 layers if that's all the
>>>> firmware interface does. DT is not a Linux driver instantiation
>>>> mechanism.
>>>
>>> Right, this should be describing hardware.
>>>
>>> I could add this to the service layer binding:
>>>
>>> firmware {
>>> svc {
>>> compatible = "intel,stratix10-svc";
>>> method = "smc";
>>> memory-region = <&service_reserved>;
>>> fpga-mgr {
>
> Actually, add a label.
>
> fpga_mgr: fpga-mgr {
>
>>> compatible = "intel,stratix10-soc-fpga-mgr";
>>
>> Still, why do you need this node? If you don't have any other cross
>> tree connections, then the service layer can instantiate the
>> device(s).
>
> It's used for the FPGA region to know what mgr can program the region.
Ah yes, that's probably good enough reason.
Rob