diff mbox

[v2,3/3] fpga: region: Add fpga-region property 'encrypted-fpga-config'

Message ID 1487624123-13579-3-git-send-email-mdf@kernel.org (mailing list archive)
State Accepted, archived
Delegated to: Moritz Fischer
Headers show

Commit Message

Moritz Fischer Feb. 20, 2017, 8:55 p.m. UTC
From: Moritz Fischer <mdf@kernel.org>

Add fpga-region property to allow passing the fact that the bitstream is
encrypted to the fpga-region and ultimately to the low-level driver.

Signed-off-by: Moritz Fischer <mdf@kernel.org>
Cc: Alan Tull <atull@kernel.org>
Cc: Michal Simek <michal.simek@xilinx.com>
Cc: Sören Brinkmann <soren.brinkmann@xilinx.com>
Cc: linux-kernel@vger.kernel.org
Cc: linux-fpga@vger.kernel.org
---
 Documentation/devicetree/bindings/fpga/fpga-region.txt | 1 +
 drivers/fpga/fpga-region.c                             | 8 ++++++--
 2 files changed, 7 insertions(+), 2 deletions(-)

Comments

Michal Simek Feb. 21, 2017, 1:55 p.m. UTC | #1
On 20.2.2017 21:55, mdf@kernel.org wrote:
> From: Moritz Fischer <mdf@kernel.org>
> 
> Add fpga-region property to allow passing the fact that the bitstream is
> encrypted to the fpga-region and ultimately to the low-level driver.
> 
> Signed-off-by: Moritz Fischer <mdf@kernel.org>
> Cc: Alan Tull <atull@kernel.org>
> Cc: Michal Simek <michal.simek@xilinx.com>
> Cc: Sören Brinkmann <soren.brinkmann@xilinx.com>
> Cc: linux-kernel@vger.kernel.org
> Cc: linux-fpga@vger.kernel.org
> ---
>  Documentation/devicetree/bindings/fpga/fpga-region.txt | 1 +
>  drivers/fpga/fpga-region.c                             | 8 ++++++--
>  2 files changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/fpga/fpga-region.txt b/Documentation/devicetree/bindings/fpga/fpga-region.txt
> index 3b32ba1..81bf3ad 100644
> --- a/Documentation/devicetree/bindings/fpga/fpga-region.txt
> +++ b/Documentation/devicetree/bindings/fpga/fpga-region.txt
> @@ -186,6 +186,7 @@ Optional properties:
>  	otherwise full reconfiguration is done.
>  - external-fpga-config : boolean, set if the FPGA has already been configured
>  	prior to OS boot up.
> +- encrypted-fpga-config : boolean, set if the bitstream is encrypted
>  - region-unfreeze-timeout-us : The maximum time in microseconds to wait for
>  	bridges to successfully become enabled after the region has been
>  	programmed.
> diff --git a/drivers/fpga/fpga-region.c b/drivers/fpga/fpga-region.c
> index 3222fdb..2fe2a52 100644
> --- a/drivers/fpga/fpga-region.c
> +++ b/drivers/fpga/fpga-region.c
> @@ -337,8 +337,9 @@ static int child_regions_with_firmware(struct device_node *overlay)
>   * The overlay must add either firmware-name or external-fpga-config property
>   * to the FPGA Region.
>   *
> - *   firmware-name        : program the FPGA
> - *   external-fpga-config : FPGA is already programmed
> + *   firmware-name         : program the FPGA
> + *   external-fpga-config  : FPGA is already programmed
> + *   encrypted-fpga-config : FPGA bitstream is encrypted
>   *
>   * The overlay can add other FPGA regions, but child FPGA regions cannot have a
>   * firmware-name property since those regions don't exist yet.
> @@ -373,6 +374,9 @@ static int fpga_region_notify_pre_apply(struct fpga_region *region,
>  	if (of_property_read_bool(nd->overlay, "external-fpga-config"))
>  		info->flags |= FPGA_MGR_EXTERNAL_CONFIG;
>  
> +	if (of_property_read_bool(nd->overlay, "encrypted-fpga-config"))
> +		info->flags |= FPGA_MGR_ENCRYPTED_BITSTREAM;
> +
>  	of_property_read_string(nd->overlay, "firmware-name", &firmware_name);
>  
>  	of_property_read_u32(nd->overlay, "region-unfreeze-timeout-us",
> 

Acked-by: Michal Simek <michal.simek@xilinx.com>

Thanks,
Michal

--
To unsubscribe from this list: send the line "unsubscribe linux-fpga" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Alan Tull Feb. 21, 2017, 4:36 p.m. UTC | #2
On Tue, Feb 21, 2017 at 7:55 AM, Michal Simek <michal.simek@xilinx.com> wrote:
> On 20.2.2017 21:55, mdf@kernel.org wrote:
>> From: Moritz Fischer <mdf@kernel.org>
>>
>> Add fpga-region property to allow passing the fact that the bitstream is
>> encrypted to the fpga-region and ultimately to the low-level driver.
>>
>> Signed-off-by: Moritz Fischer <mdf@kernel.org>
>> Cc: Alan Tull <atull@kernel.org>
>> Cc: Michal Simek <michal.simek@xilinx.com>
>> Cc: Sören Brinkmann <soren.brinkmann@xilinx.com>
>> Cc: linux-kernel@vger.kernel.org
>> Cc: linux-fpga@vger.kernel.org
>> ---
>>  Documentation/devicetree/bindings/fpga/fpga-region.txt | 1 +
>>  drivers/fpga/fpga-region.c                             | 8 ++++++--
>>  2 files changed, 7 insertions(+), 2 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/fpga/fpga-region.txt b/Documentation/devicetree/bindings/fpga/fpga-region.txt
>> index 3b32ba1..81bf3ad 100644
>> --- a/Documentation/devicetree/bindings/fpga/fpga-region.txt
>> +++ b/Documentation/devicetree/bindings/fpga/fpga-region.txt
>> @@ -186,6 +186,7 @@ Optional properties:
>>       otherwise full reconfiguration is done.
>>  - external-fpga-config : boolean, set if the FPGA has already been configured
>>       prior to OS boot up.
>> +- encrypted-fpga-config : boolean, set if the bitstream is encrypted
>>  - region-unfreeze-timeout-us : The maximum time in microseconds to wait for
>>       bridges to successfully become enabled after the region has been
>>       programmed.
>> diff --git a/drivers/fpga/fpga-region.c b/drivers/fpga/fpga-region.c
>> index 3222fdb..2fe2a52 100644
>> --- a/drivers/fpga/fpga-region.c
>> +++ b/drivers/fpga/fpga-region.c
>> @@ -337,8 +337,9 @@ static int child_regions_with_firmware(struct device_node *overlay)
>>   * The overlay must add either firmware-name or external-fpga-config property
>>   * to the FPGA Region.
>>   *
>> - *   firmware-name        : program the FPGA
>> - *   external-fpga-config : FPGA is already programmed
>> + *   firmware-name         : program the FPGA
>> + *   external-fpga-config  : FPGA is already programmed
>> + *   encrypted-fpga-config : FPGA bitstream is encrypted
>>   *
>>   * The overlay can add other FPGA regions, but child FPGA regions cannot have a
>>   * firmware-name property since those regions don't exist yet.
>> @@ -373,6 +374,9 @@ static int fpga_region_notify_pre_apply(struct fpga_region *region,
>>       if (of_property_read_bool(nd->overlay, "external-fpga-config"))
>>               info->flags |= FPGA_MGR_EXTERNAL_CONFIG;
>>
>> +     if (of_property_read_bool(nd->overlay, "encrypted-fpga-config"))
>> +             info->flags |= FPGA_MGR_ENCRYPTED_BITSTREAM;
>> +
>>       of_property_read_string(nd->overlay, "firmware-name", &firmware_name);
>>
>>       of_property_read_u32(nd->overlay, "region-unfreeze-timeout-us",
>>
>
> Acked-by: Michal Simek <michal.simek@xilinx.com>

Acked-by: Alan Tull <atull@kernel.org>

>
> Thanks,
> Michal
>
--
To unsubscribe from this list: send the line "unsubscribe linux-fpga" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/Documentation/devicetree/bindings/fpga/fpga-region.txt b/Documentation/devicetree/bindings/fpga/fpga-region.txt
index 3b32ba1..81bf3ad 100644
--- a/Documentation/devicetree/bindings/fpga/fpga-region.txt
+++ b/Documentation/devicetree/bindings/fpga/fpga-region.txt
@@ -186,6 +186,7 @@  Optional properties:
 	otherwise full reconfiguration is done.
 - external-fpga-config : boolean, set if the FPGA has already been configured
 	prior to OS boot up.
+- encrypted-fpga-config : boolean, set if the bitstream is encrypted
 - region-unfreeze-timeout-us : The maximum time in microseconds to wait for
 	bridges to successfully become enabled after the region has been
 	programmed.
diff --git a/drivers/fpga/fpga-region.c b/drivers/fpga/fpga-region.c
index 3222fdb..2fe2a52 100644
--- a/drivers/fpga/fpga-region.c
+++ b/drivers/fpga/fpga-region.c
@@ -337,8 +337,9 @@  static int child_regions_with_firmware(struct device_node *overlay)
  * The overlay must add either firmware-name or external-fpga-config property
  * to the FPGA Region.
  *
- *   firmware-name        : program the FPGA
- *   external-fpga-config : FPGA is already programmed
+ *   firmware-name         : program the FPGA
+ *   external-fpga-config  : FPGA is already programmed
+ *   encrypted-fpga-config : FPGA bitstream is encrypted
  *
  * The overlay can add other FPGA regions, but child FPGA regions cannot have a
  * firmware-name property since those regions don't exist yet.
@@ -373,6 +374,9 @@  static int fpga_region_notify_pre_apply(struct fpga_region *region,
 	if (of_property_read_bool(nd->overlay, "external-fpga-config"))
 		info->flags |= FPGA_MGR_EXTERNAL_CONFIG;
 
+	if (of_property_read_bool(nd->overlay, "encrypted-fpga-config"))
+		info->flags |= FPGA_MGR_ENCRYPTED_BITSTREAM;
+
 	of_property_read_string(nd->overlay, "firmware-name", &firmware_name);
 
 	of_property_read_u32(nd->overlay, "region-unfreeze-timeout-us",