| Allwinner SRAM for smp bringup: |
| ------------------------------------------------ |
| |
| Allwinner's A80 SoC uses part of the secure sram for hotplugging of the |
| primary core (cpu0). Once the core gets powered up it checks if a magic |
| value is set at a specific location. If it is then the BROM will jump |
| to the software entry address, instead of executing a standard boot. |
| |
| Therefore a reserved section sub-node has to be added to the mmio-sram |
| declaration. |
| |
| Note that this is separate from the Allwinner SRAM controller found in |
| ../../sram/sunxi-sram.txt. This SRAM is secure only and not mappable to |
| any device. |
| |
| Also there are no "secure-only" properties. The implementation should |
| check if this SRAM is usable first. |
| |
| Required sub-node properties: |
| - compatible : depending on the SoC this should be one of: |
| "allwinner,sun9i-a80-smp-sram" |
| |
| The rest of the properties should follow the generic mmio-sram discription |
| found in ../../misc/sram.txt |
| |
| Example: |
| |
| sram_b: sram@20000 { |
| /* 256 KiB secure SRAM at 0x20000 */ |
| compatible = "mmio-sram"; |
| reg = <0x00020000 0x40000>; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| ranges = <0 0x00020000 0x40000>; |
| |
| smp-sram@1000 { |
| /* |
| * This is checked by BROM to determine if |
| * cpu0 should jump to SMP entry vector |
| */ |
| compatible = "allwinner,sun9i-a80-smp-sram"; |
| reg = <0x1000 0x8>; |
| }; |
| }; |