1*e77e65dfSangelo@sysam.it /*
2*e77e65dfSangelo@sysam.it * (C) Copyright 2014 Angelo Dureghello <angelo@sysam.it>
3*e77e65dfSangelo@sysam.it *
4*e77e65dfSangelo@sysam.it * SPDX-License-Identifier: GPL-2.0+
5*e77e65dfSangelo@sysam.it *
6*e77e65dfSangelo@sysam.it */
7*e77e65dfSangelo@sysam.it
8*e77e65dfSangelo@sysam.it #include <common.h>
9*e77e65dfSangelo@sysam.it #include <asm/immap.h>
10*e77e65dfSangelo@sysam.it #include <asm/io.h>
11*e77e65dfSangelo@sysam.it
12*e77e65dfSangelo@sysam.it #ifdef CONFIG_M5307
do_reset(cmd_tbl_t * cmdtp,int flag,int argc,char * const argv[])13*e77e65dfSangelo@sysam.it int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
14*e77e65dfSangelo@sysam.it {
15*e77e65dfSangelo@sysam.it sim_t *sim = (sim_t *)(MMAP_SIM);
16*e77e65dfSangelo@sysam.it
17*e77e65dfSangelo@sysam.it /* enable watchdog/reset, set timeout to 0 and wait */
18*e77e65dfSangelo@sysam.it out_8(&sim->sypcr, SYPCR_SWE | SYPCR_SWRI);
19*e77e65dfSangelo@sysam.it
20*e77e65dfSangelo@sysam.it /* wait for watchdog reset */
21*e77e65dfSangelo@sysam.it for (;;)
22*e77e65dfSangelo@sysam.it ;
23*e77e65dfSangelo@sysam.it
24*e77e65dfSangelo@sysam.it /* we don't return! */
25*e77e65dfSangelo@sysam.it return 0;
26*e77e65dfSangelo@sysam.it }
27*e77e65dfSangelo@sysam.it
checkcpu(void)28*e77e65dfSangelo@sysam.it int checkcpu(void)
29*e77e65dfSangelo@sysam.it {
30*e77e65dfSangelo@sysam.it char buf[32];
31*e77e65dfSangelo@sysam.it
32*e77e65dfSangelo@sysam.it printf("CPU: Freescale Coldfire MCF5307 at %s MHz\n",
33*e77e65dfSangelo@sysam.it strmhz(buf, CONFIG_SYS_CPU_CLK));
34*e77e65dfSangelo@sysam.it return 0;
35*e77e65dfSangelo@sysam.it }
36*e77e65dfSangelo@sysam.it #endif
37