xref: /rk3399_rockchip-uboot/arch/m68k/cpu/mcf530x/cpu.c (revision e77e65dfc2f803e7dd78f5bb2bc6b3750635cedd)
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