1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/firmware/intel,stratix10-svc.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Intel Service Layer Driver for Stratix10 SoC 8 9maintainers: 10 - Dinh Nguyen <dinguyen@kernel.org> 11 - Mahesh Rao <mahesh.rao@altera.com> 12 13description: > 14 Intel Stratix10 SoC is composed of a 64 bit quad-core ARM Cortex A53 hard 15 processor system (HPS) and Secure Device Manager (SDM). When the FPGA is 16 configured from HPS, there needs to be a way for HPS to notify SDM the 17 location and size of the configuration data. Then SDM will get the 18 configuration data from that location and perform the FPGA configuration. 19 20 To meet the whole system security needs and support virtual machine requesting 21 communication with SDM, only the secure world of software (EL3, Exception 22 Layer 3) can interface with SDM. All software entities running on other 23 exception layers must channel through the EL3 software whenever it needs 24 service from SDM. 25 26 Intel Stratix10 service layer driver, running at privileged exception level 27 (EL1, Exception Layer 1), interfaces with the service providers and provides 28 the services for FPGA configuration, QSPI, Crypto and warm reset. Service layer 29 driver also manages secure monitor call (SMC) to communicate with secure monitor 30 code running in EL3. 31 32properties: 33 compatible: 34 enum: 35 - intel,stratix10-svc 36 - intel,agilex-svc 37 38 method: 39 description: | 40 Supervisory call method to be used to communicate with the 41 secure service layer. 42 Permitted values are: 43 - "smc" : SMC #0, following the SMCCC 44 - "hvc" : HVC #0, following the SMCCC 45 46 $ref: /schemas/types.yaml#/definitions/string-array 47 enum: 48 - smc 49 - hvc 50 51 memory-region: 52 maxItems: 1 53 description: 54 reserved memory region for the service layer driver to 55 communicate with the secure device manager. 56 57 fpga-mgr: 58 $ref: /schemas/fpga/intel,stratix10-soc-fpga-mgr.yaml 59 description: Optional child node for fpga manager to perform fabric configuration. 60 61required: 62 - compatible 63 - method 64 - memory-region 65 66additionalProperties: false 67 68examples: 69 - | 70 reserved-memory { 71 #address-cells = <2>; 72 #size-cells = <2>; 73 74 service_reserved: svcbuffer@0 { 75 compatible = "shared-dma-pool"; 76 reg = <0x0 0x0 0x0 0x1000000>; 77 alignment = <0x1000>; 78 no-map; 79 }; 80 }; 81 82 firmware { 83 svc { 84 compatible = "intel,stratix10-svc"; 85 method = "smc"; 86 memory-region = <&service_reserved>; 87 88 fpga-mgr { 89 compatible = "intel,stratix10-soc-fpga-mgr"; 90 }; 91 }; 92 }; 93 94