xref: /rk3399_rockchip-uboot/arch/nios2/cpu/cpu.c (revision 1a4596601fd395f3afb8f82f3f840c5e00bdd57a)
137e4dafaSPeter Tyser /*
237e4dafaSPeter Tyser  * (C) Copyright 2004, Psyent Corporation <www.psyent.com>
337e4dafaSPeter Tyser  * Scott McNutt <smcnutt@psyent.com>
437e4dafaSPeter Tyser  *
5*1a459660SWolfgang Denk  * SPDX-License-Identifier:	GPL-2.0+
637e4dafaSPeter Tyser  */
737e4dafaSPeter Tyser 
837e4dafaSPeter Tyser #include <common.h>
937e4dafaSPeter Tyser #include <nios2.h>
1037e4dafaSPeter Tyser #include <nios2-io.h>
11f956ad98SJoachim Foerster #include <asm/cache.h>
1237e4dafaSPeter Tyser 
1337e4dafaSPeter Tyser #if defined (CONFIG_SYS_NIOS_SYSID_BASE)
1437e4dafaSPeter Tyser extern void display_sysid (void);
1537e4dafaSPeter Tyser #endif /* CONFIG_SYS_NIOS_SYSID_BASE */
1637e4dafaSPeter Tyser 
1737e4dafaSPeter Tyser int checkcpu (void)
1837e4dafaSPeter Tyser {
1937e4dafaSPeter Tyser 	printf ("CPU   : Nios-II\n");
2037e4dafaSPeter Tyser #if !defined(CONFIG_SYS_NIOS_SYSID_BASE)
2137e4dafaSPeter Tyser 	printf ("SYSID : <unknown>\n");
2237e4dafaSPeter Tyser #else
2337e4dafaSPeter Tyser 	display_sysid ();
2437e4dafaSPeter Tyser #endif
2537e4dafaSPeter Tyser 	return (0);
2637e4dafaSPeter Tyser }
2737e4dafaSPeter Tyser 
28882b7d72SMike Frysinger int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
2937e4dafaSPeter Tyser {
3037e4dafaSPeter Tyser 	disable_interrupts();
317a6a7d10SThomas Chou 	/* indirect call to go beyond 256MB limitation of toolchain */
327a6a7d10SThomas Chou 	nios2_callr(CONFIG_SYS_RESET_ADDR);
337a6a7d10SThomas Chou 	return 0;
3437e4dafaSPeter Tyser }
35f956ad98SJoachim Foerster 
36f956ad98SJoachim Foerster int dcache_status(void)
37f956ad98SJoachim Foerster {
38f956ad98SJoachim Foerster 	return 1;
39f956ad98SJoachim Foerster }
40f956ad98SJoachim Foerster 
41f956ad98SJoachim Foerster void dcache_enable(void)
42f956ad98SJoachim Foerster {
43f956ad98SJoachim Foerster 	flush_dcache(CONFIG_SYS_DCACHE_SIZE, CONFIG_SYS_DCACHELINE_SIZE);
44f956ad98SJoachim Foerster }
45f956ad98SJoachim Foerster 
46f956ad98SJoachim Foerster void dcache_disable(void)
47f956ad98SJoachim Foerster {
48f956ad98SJoachim Foerster 	flush_dcache(CONFIG_SYS_DCACHE_SIZE, CONFIG_SYS_DCACHELINE_SIZE);
49f956ad98SJoachim Foerster }
50