1*c66ec88fSEmmanuel Vadot======================================================== 2*c66ec88fSEmmanuel VadotSecondary CPU enable-method "al,alpine-smp" binding 3*c66ec88fSEmmanuel Vadot======================================================== 4*c66ec88fSEmmanuel Vadot 5*c66ec88fSEmmanuel VadotThis document describes the "al,alpine-smp" method for 6*c66ec88fSEmmanuel Vadotenabling secondary CPUs. To apply to all CPUs, a single 7*c66ec88fSEmmanuel Vadot"al,alpine-smp" enable method should be defined in the 8*c66ec88fSEmmanuel Vadot"cpus" node. 9*c66ec88fSEmmanuel Vadot 10*c66ec88fSEmmanuel VadotEnable method name: "al,alpine-smp" 11*c66ec88fSEmmanuel VadotCompatible machines: "al,alpine" 12*c66ec88fSEmmanuel VadotCompatible CPUs: "arm,cortex-a15" 13*c66ec88fSEmmanuel VadotRelated properties: (none) 14*c66ec88fSEmmanuel Vadot 15*c66ec88fSEmmanuel VadotNote: 16*c66ec88fSEmmanuel VadotThis enable method requires valid nodes compatible with 17*c66ec88fSEmmanuel Vadot"al,alpine-cpu-resume" and "al,alpine-nb-service". 18*c66ec88fSEmmanuel Vadot 19*c66ec88fSEmmanuel Vadot 20*c66ec88fSEmmanuel Vadot* Alpine CPU resume registers 21*c66ec88fSEmmanuel Vadot 22*c66ec88fSEmmanuel VadotThe CPU resume register are used to define required resume address after 23*c66ec88fSEmmanuel Vadotreset. 24*c66ec88fSEmmanuel Vadot 25*c66ec88fSEmmanuel VadotProperties: 26*c66ec88fSEmmanuel Vadot- compatible : Should contain "al,alpine-cpu-resume". 27*c66ec88fSEmmanuel Vadot- reg : Offset and length of the register set for the device 28*c66ec88fSEmmanuel Vadot 29*c66ec88fSEmmanuel Vadot 30*c66ec88fSEmmanuel VadotExample: 31*c66ec88fSEmmanuel Vadot 32*c66ec88fSEmmanuel Vadotcpus { 33*c66ec88fSEmmanuel Vadot #address-cells = <1>; 34*c66ec88fSEmmanuel Vadot #size-cells = <0>; 35*c66ec88fSEmmanuel Vadot enable-method = "al,alpine-smp"; 36*c66ec88fSEmmanuel Vadot 37*c66ec88fSEmmanuel Vadot cpu@0 { 38*c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a15"; 39*c66ec88fSEmmanuel Vadot device_type = "cpu"; 40*c66ec88fSEmmanuel Vadot reg = <0>; 41*c66ec88fSEmmanuel Vadot }; 42*c66ec88fSEmmanuel Vadot 43*c66ec88fSEmmanuel Vadot cpu@1 { 44*c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a15"; 45*c66ec88fSEmmanuel Vadot device_type = "cpu"; 46*c66ec88fSEmmanuel Vadot reg = <1>; 47*c66ec88fSEmmanuel Vadot }; 48*c66ec88fSEmmanuel Vadot 49*c66ec88fSEmmanuel Vadot cpu@2 { 50*c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a15"; 51*c66ec88fSEmmanuel Vadot device_type = "cpu"; 52*c66ec88fSEmmanuel Vadot reg = <2>; 53*c66ec88fSEmmanuel Vadot }; 54*c66ec88fSEmmanuel Vadot 55*c66ec88fSEmmanuel Vadot cpu@3 { 56*c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a15"; 57*c66ec88fSEmmanuel Vadot device_type = "cpu"; 58*c66ec88fSEmmanuel Vadot reg = <3>; 59*c66ec88fSEmmanuel Vadot }; 60*c66ec88fSEmmanuel Vadot}; 61*c66ec88fSEmmanuel Vadot 62*c66ec88fSEmmanuel Vadotcpu_resume { 63*c66ec88fSEmmanuel Vadot compatible = "al,alpine-cpu-resume"; 64*c66ec88fSEmmanuel Vadot reg = <0xfbff5ed0 0x30>; 65*c66ec88fSEmmanuel Vadot}; 66*c66ec88fSEmmanuel Vadot 67*c66ec88fSEmmanuel Vadotnb_service { 68*c66ec88fSEmmanuel Vadot compatible = "al,alpine-sysfabric-service", "syscon"; 69*c66ec88fSEmmanuel Vadot reg = <0xfb070000 0x10000>; 70*c66ec88fSEmmanuel Vadot}; 71