board_f: Add reset status printing
To print the reset status during boot, add a method print_resetinfo to board_f, which is called in init_sequence_f[], that gets the reset information from the sysreset driver (assuming there is only one seems reasonable), and prints it. Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Mario Six <mario.six@gdsys.cc>
This commit is contained in:
		
							parent
							
								
									cda4688c5e
								
							
						
					
					
						commit
						23471aed5c
					
				|  | @ -24,6 +24,7 @@ | ||||||
| #include <relocate.h> | #include <relocate.h> | ||||||
| #include <spi.h> | #include <spi.h> | ||||||
| #include <status_led.h> | #include <status_led.h> | ||||||
|  | #include <sysreset.h> | ||||||
| #include <timer.h> | #include <timer.h> | ||||||
| #include <trace.h> | #include <trace.h> | ||||||
| #include <video.h> | #include <video.h> | ||||||
|  | @ -140,6 +141,30 @@ static int display_text_info(void) | ||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | #ifdef CONFIG_SYSRESET | ||||||
|  | static int print_resetinfo(void) | ||||||
|  | { | ||||||
|  | 	struct udevice *dev; | ||||||
|  | 	char status[256]; | ||||||
|  | 	int ret; | ||||||
|  | 
 | ||||||
|  | 	ret = uclass_first_device_err(UCLASS_SYSRESET, &dev); | ||||||
|  | 	if (ret) { | ||||||
|  | 		debug("%s: No sysreset device found (error: %d)\n", | ||||||
|  | 		      __func__, ret); | ||||||
|  | 		/* Not all boards have sysreset drivers available during early
 | ||||||
|  | 		 * boot, so don't fail if one can't be found. | ||||||
|  | 		 */ | ||||||
|  | 		return 0; | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	if (!sysreset_get_status(dev, status, sizeof(status))) | ||||||
|  | 		printf("%s", status); | ||||||
|  | 
 | ||||||
|  | 	return 0; | ||||||
|  | } | ||||||
|  | #endif | ||||||
|  | 
 | ||||||
| static int announce_dram_init(void) | static int announce_dram_init(void) | ||||||
| { | { | ||||||
| 	puts("DRAM:  "); | 	puts("DRAM:  "); | ||||||
|  | @ -790,6 +815,9 @@ static const init_fnc_t init_sequence_f[] = { | ||||||
| #if defined(CONFIG_PPC) || defined(CONFIG_SH) || defined(CONFIG_X86) | #if defined(CONFIG_PPC) || defined(CONFIG_SH) || defined(CONFIG_X86) | ||||||
| 	checkcpu, | 	checkcpu, | ||||||
| #endif | #endif | ||||||
|  | #if defined(CONFIG_SYSRESET) | ||||||
|  | 	print_resetinfo, | ||||||
|  | #endif | ||||||
| #if defined(CONFIG_DISPLAY_CPUINFO) | #if defined(CONFIG_DISPLAY_CPUINFO) | ||||||
| 	print_cpuinfo,		/* display cpu info (and speed) */ | 	print_cpuinfo,		/* display cpu info (and speed) */ | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue