160f9e37aSTsahee Zidenberg======================================================== 260f9e37aSTsahee ZidenbergSecondary CPU enable-method "al,alpine-smp" binding 360f9e37aSTsahee Zidenberg======================================================== 460f9e37aSTsahee Zidenberg 560f9e37aSTsahee ZidenbergThis document describes the "al,alpine-smp" method for 660f9e37aSTsahee Zidenbergenabling secondary CPUs. To apply to all CPUs, a single 760f9e37aSTsahee Zidenberg"al,alpine-smp" enable method should be defined in the 860f9e37aSTsahee Zidenberg"cpus" node. 960f9e37aSTsahee Zidenberg 1060f9e37aSTsahee ZidenbergEnable method name: "al,alpine-smp" 1160f9e37aSTsahee ZidenbergCompatible machines: "al,alpine" 1260f9e37aSTsahee ZidenbergCompatible CPUs: "arm,cortex-a15" 1360f9e37aSTsahee ZidenbergRelated properties: (none) 1460f9e37aSTsahee Zidenberg 1560f9e37aSTsahee ZidenbergNote: 1660f9e37aSTsahee ZidenbergThis enable method requires valid nodes compatible with 177ac48a81SRob Herring"al,alpine-cpu-resume" and "al,alpine-nb-service". 187ac48a81SRob Herring 197ac48a81SRob Herring 207ac48a81SRob Herring* Alpine CPU resume registers 217ac48a81SRob Herring 227ac48a81SRob HerringThe CPU resume register are used to define required resume address after 237ac48a81SRob Herringreset. 247ac48a81SRob Herring 257ac48a81SRob HerringProperties: 267ac48a81SRob Herring- compatible : Should contain "al,alpine-cpu-resume". 277ac48a81SRob Herring- reg : Offset and length of the register set for the device 287ac48a81SRob Herring 297ac48a81SRob Herring 307ac48a81SRob Herring* Alpine System-Fabric Service Registers 317ac48a81SRob Herring 327ac48a81SRob HerringThe System-Fabric Service Registers allow various operation on CPU and 337ac48a81SRob Herringsystem fabric, like powering CPUs off. 347ac48a81SRob Herring 357ac48a81SRob HerringProperties: 367ac48a81SRob Herring- compatible : Should contain "al,alpine-sysfabric-service" and "syscon". 377ac48a81SRob Herring- reg : Offset and length of the register set for the device 387ac48a81SRob Herring 3960f9e37aSTsahee Zidenberg 4060f9e37aSTsahee ZidenbergExample: 4160f9e37aSTsahee Zidenberg 4260f9e37aSTsahee Zidenbergcpus { 4360f9e37aSTsahee Zidenberg #address-cells = <1>; 4460f9e37aSTsahee Zidenberg #size-cells = <0>; 4560f9e37aSTsahee Zidenberg enable-method = "al,alpine-smp"; 4660f9e37aSTsahee Zidenberg 4760f9e37aSTsahee Zidenberg cpu@0 { 4860f9e37aSTsahee Zidenberg compatible = "arm,cortex-a15"; 4960f9e37aSTsahee Zidenberg device_type = "cpu"; 5060f9e37aSTsahee Zidenberg reg = <0>; 5160f9e37aSTsahee Zidenberg }; 5260f9e37aSTsahee Zidenberg 5360f9e37aSTsahee Zidenberg cpu@1 { 5460f9e37aSTsahee Zidenberg compatible = "arm,cortex-a15"; 5560f9e37aSTsahee Zidenberg device_type = "cpu"; 5660f9e37aSTsahee Zidenberg reg = <1>; 5760f9e37aSTsahee Zidenberg }; 5860f9e37aSTsahee Zidenberg 5960f9e37aSTsahee Zidenberg cpu@2 { 6060f9e37aSTsahee Zidenberg compatible = "arm,cortex-a15"; 6160f9e37aSTsahee Zidenberg device_type = "cpu"; 6260f9e37aSTsahee Zidenberg reg = <2>; 6360f9e37aSTsahee Zidenberg }; 6460f9e37aSTsahee Zidenberg 6560f9e37aSTsahee Zidenberg cpu@3 { 6660f9e37aSTsahee Zidenberg compatible = "arm,cortex-a15"; 6760f9e37aSTsahee Zidenberg device_type = "cpu"; 6860f9e37aSTsahee Zidenberg reg = <3>; 6960f9e37aSTsahee Zidenberg }; 7060f9e37aSTsahee Zidenberg}; 7160f9e37aSTsahee Zidenberg 727ac48a81SRob Herringcpu_resume { 737ac48a81SRob Herring compatible = "al,alpine-cpu-resume"; 747ac48a81SRob Herring reg = <0xfbff5ed0 0x30>; 757ac48a81SRob Herring}; 767ac48a81SRob Herring 777ac48a81SRob Herringnb_service { 787ac48a81SRob Herring compatible = "al,alpine-sysfabric-service", "syscon"; 797ac48a81SRob Herring reg = <0xfb070000 0x10000>; 807ac48a81SRob Herring}; 81