Linux-libre 5.4.49-gnu
[librecmc/linux-libre.git] / Documentation / devicetree / bindings / arm / sunxi / smp-sram.txt
1 Allwinner SRAM for smp bringup:
2 ------------------------------------------------
3
4 Allwinner's A80 SoC uses part of the secure sram for hotplugging of the
5 primary core (cpu0). Once the core gets powered up it checks if a magic
6 value is set at a specific location. If it is then the BROM will jump
7 to the software entry address, instead of executing a standard boot.
8
9 Therefore a reserved section sub-node has to be added to the mmio-sram
10 declaration.
11
12 Note that this is separate from the Allwinner SRAM controller found in
13 ../../sram/sunxi-sram.txt. This SRAM is secure only and not mappable to
14 any device.
15
16 Also there are no "secure-only" properties. The implementation should
17 check if this SRAM is usable first.
18
19 Required sub-node properties:
20 - compatible : depending on the SoC this should be one of:
21                 "allwinner,sun9i-a80-smp-sram"
22
23 The rest of the properties should follow the generic mmio-sram discription
24 found in ../../misc/sram.txt
25
26 Example:
27
28         sram_b: sram@20000 {
29                 /* 256 KiB secure SRAM at 0x20000 */
30                 compatible = "mmio-sram";
31                 reg = <0x00020000 0x40000>;
32                 #address-cells = <1>;
33                 #size-cells = <1>;
34                 ranges = <0 0x00020000 0x40000>;
35
36                 smp-sram@1000 {
37                         /*
38                          * This is checked by BROM to determine if
39                          * cpu0 should jump to SMP entry vector
40                          */
41                         compatible = "allwinner,sun9i-a80-smp-sram";
42                         reg = <0x1000 0x8>;
43                 };
44         };