Back to home page

OSCL-LXR

 
 

    


0001 Intel Service Layer Driver for Stratix10 SoC
0002 ============================================
0003 Intel Stratix10 SoC is composed of a 64 bit quad-core ARM Cortex A53 hard
0004 processor system (HPS) and Secure Device Manager (SDM). When the FPGA is
0005 configured from HPS, there needs to be a way for HPS to notify SDM the
0006 location and size of the configuration data. Then SDM will get the
0007 configuration data from that location and perform the FPGA configuration.
0008 
0009 To meet the whole system security needs and support virtual machine requesting
0010 communication with SDM, only the secure world of software (EL3, Exception
0011 Layer 3) can interface with SDM. All software entities running on other
0012 exception layers must channel through the EL3 software whenever it needs
0013 service from SDM.
0014 
0015 Intel Stratix10 service layer driver, running at privileged exception level
0016 (EL1, Exception Layer 1), interfaces with the service providers and provides
0017 the services for FPGA configuration, QSPI, Crypto and warm reset. Service layer
0018 driver also manages secure monitor call (SMC) to communicate with secure monitor
0019 code running in EL3.
0020 
0021 Required properties:
0022 -------------------
0023 The svc node has the following mandatory properties, must be located under
0024 the firmware node.
0025 
0026 - compatible: "intel,stratix10-svc" or "intel,agilex-svc"
0027 - method: smc or hvc
0028         smc - Secure Monitor Call
0029         hvc - Hypervisor Call
0030 - memory-region:
0031         phandle to the reserved memory node. See
0032         Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
0033         for details
0034 
0035 Example:
0036 -------
0037 
0038         reserved-memory {
0039                 #address-cells = <2>;
0040                 #size-cells = <2>;
0041                 ranges;
0042 
0043                 service_reserved: svcbuffer@0 {
0044                         compatible = "shared-dma-pool";
0045                         reg = <0x0 0x0 0x0 0x1000000>;
0046                         alignment = <0x1000>;
0047                         no-map;
0048                 };
0049         };
0050 
0051         firmware {
0052                 svc {
0053                         compatible = "intel,stratix10-svc";
0054                         method = "smc";
0055                         memory-region = <&service_reserved>;
0056                 };
0057         };