m3dev

cortex m3 debug tools -- superceded by mdebug
git clone http://frotz.net/git/m3dev.git
Log | Files | Refs | README | LICENSE

reboot.c (1072B)


      1 /* reboot.c
      2  *
      3  * Copyright 2011 Brian Swetland <swetland@frotz.net>
      4  * 
      5  * Licensed under the Apache License, Version 2.0 (the "License");
      6  * you may not use this file except in compliance with the License.
      7  * You may obtain a copy of the License at
      8  *
      9  *     http://www.apache.org/licenses/LICENSE-2.0
     10  *
     11  * Unless required by applicable law or agreed to in writing, software
     12  * distributed under the License is distributed on an "AS IS" BASIS,
     13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     14  * See the License for the specific language governing permissions and
     15  * limitations under the License.
     16  */
     17 
     18 #include <fw/types.h>
     19 #include <fw/lib.h>
     20 #include <fw/io.h>
     21 
     22 #include <arch/hardware.h>
     23 
     24 void reboot(void) {
     25 	/* select IRC */
     26 	writel(0, 0x400480D0);
     27 	/* enable */
     28 	writel(0, 0x400480D4);
     29 	writel(1, 0x400480D4);
     30 	/* DIV = 1 */
     31 	writel(1, 0x400480D8);
     32 	writel(readl(SYS_CLK_CTRL) | SYS_CLK_WDT, SYS_CLK_CTRL);
     33 	/* ENABLE and RESET */
     34 	writel(3, 0x40004000);
     35 	/* FEED */
     36 	writel(0xAA, 0x40004008);
     37 	writel(0x55, 0x40004008);
     38 	for (;;) ;
     39 }