Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings, firmware: add Intel Stratix10 service layer binding

Add a device tree binding for the Intel Stratix10 service layer driver

Signed-off-by: Richard Gong <richard.gong@intel.com>
Signed-off-by: Alan Tull <atull@kernel.org>
Reviewed-by: Rob Herring <robh@kernel.org>
Acked-by: Moritz Fischer <mdf@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Richard Gong and committed by
Greg Kroah-Hartman
a2c1c192 1a195d87

+57
+57
Documentation/devicetree/bindings/firmware/intel,stratix10-svc.txt
··· 1 + Intel Service Layer Driver for Stratix10 SoC 2 + ============================================ 3 + Intel Stratix10 SoC is composed of a 64 bit quad-core ARM Cortex A53 hard 4 + processor system (HPS) and Secure Device Manager (SDM). When the FPGA is 5 + configured from HPS, there needs to be a way for HPS to notify SDM the 6 + location and size of the configuration data. Then SDM will get the 7 + configuration data from that location and perform the FPGA configuration. 8 + 9 + To meet the whole system security needs and support virtual machine requesting 10 + communication with SDM, only the secure world of software (EL3, Exception 11 + Layer 3) can interface with SDM. All software entities running on other 12 + exception layers must channel through the EL3 software whenever it needs 13 + service from SDM. 14 + 15 + Intel Stratix10 service layer driver, running at privileged exception level 16 + (EL1, Exception Layer 1), interfaces with the service providers and provides 17 + the services for FPGA configuration, QSPI, Crypto and warm reset. Service layer 18 + driver also manages secure monitor call (SMC) to communicate with secure monitor 19 + code running in EL3. 20 + 21 + Required properties: 22 + ------------------- 23 + The svc node has the following mandatory properties, must be located under 24 + the firmware node. 25 + 26 + - compatible: "intel,stratix10-svc" 27 + - method: smc or hvc 28 + smc - Secure Monitor Call 29 + hvc - Hypervisor Call 30 + - memory-region: 31 + phandle to the reserved memory node. See 32 + Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt 33 + for details 34 + 35 + Example: 36 + ------- 37 + 38 + reserved-memory { 39 + #address-cells = <2>; 40 + #size-cells = <2>; 41 + ranges; 42 + 43 + service_reserved: svcbuffer@0 { 44 + compatible = "shared-dma-pool"; 45 + reg = <0x0 0x0 0x0 0x1000000>; 46 + alignment = <0x1000>; 47 + no-map; 48 + }; 49 + }; 50 + 51 + firmware { 52 + svc { 53 + compatible = "intel,stratix10-svc"; 54 + method = "smc"; 55 + memory-region = <&service_reserved>; 56 + }; 57 + };