b524f8fb1e
Add supporting new compatible string "u-boot,zynqmp-fpga-enc" to handle loading encrypted bitfiles. This feature requires encrypted FSBL, as according to UG1085: "The CSU automatically locks out the AES key, stored in either BBRAM or eFUSEs, as a key source to the AES engine if the FSBL is not encrypted. This prevents using the BBRAM or eFUSE as the key source to the AES engine during run-time applications." Signed-off-by: Adrian Fiergolski <adrian.fiergolski@fastree3d.com> Co-developed-by: Oleksandr Suvorov <oleksandr.suvorov@foundries.io> Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@foundries.io> Tested-by: Adrian Fiergolski <adrian.fiergolski@fastree3d.com> Link: https://lore.kernel.org/r/20220722141614.297383-14-oleksandr.suvorov@foundries.io Signed-off-by: Michal Simek <michal.simek@amd.com>
37 lines
946 B
C
37 lines
946 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* (C) Copyright 2015 Xilinx, Inc,
|
|
* Michal Simek <michal.simek@xilinx.com>
|
|
*/
|
|
|
|
#ifndef _ZYNQMPPL_H_
|
|
#define _ZYNQMPPL_H_
|
|
|
|
#include <xilinx.h>
|
|
#include <linux/bitops.h>
|
|
|
|
#define ZYNQMP_FPGA_OP_INIT (1 << 0)
|
|
#define ZYNQMP_FPGA_OP_LOAD (1 << 1)
|
|
#define ZYNQMP_FPGA_OP_DONE (1 << 2)
|
|
|
|
#define ZYNQMP_FPGA_FLAG_AUTHENTICATED BIT(2)
|
|
#define ZYNQMP_FPGA_FLAG_ENCRYPTED BIT(3)
|
|
|
|
#define ZYNQMP_CSU_IDCODE_DEVICE_CODE_SHIFT 15
|
|
#define ZYNQMP_CSU_IDCODE_DEVICE_CODE_MASK (0xf << \
|
|
ZYNQMP_CSU_IDCODE_DEVICE_CODE_SHIFT)
|
|
#define ZYNQMP_CSU_IDCODE_SVD_SHIFT 12
|
|
#define ZYNQMP_CSU_IDCODE_SVD_MASK (0x7 << ZYNQMP_CSU_IDCODE_SVD_SHIFT)
|
|
|
|
extern struct xilinx_fpga_op zynqmp_op;
|
|
|
|
#if CONFIG_IS_ENABLED(FPGA_LOAD_SECURE)
|
|
#define ZYNQMP_FPGA_FLAGS (FPGA_LEGACY | \
|
|
FPGA_XILINX_ZYNQMP_DDRAUTH | \
|
|
FPGA_XILINX_ZYNQMP_ENC)
|
|
#else
|
|
#define ZYNQMP_FPGA_FLAGS (FPGA_LEGACY)
|
|
#endif
|
|
|
|
#endif /* _ZYNQMPPL_H_ */
|