1 // SPDX-License-Identifier: GPL-2.0+
2 /*
3  * Microchip PIC32MZ[DA] Starter Kit board
4  *
5  * Copyright (C) 2015, Microchip Technology Inc.
6  * Purna Chandra Mandal <purna.mandal@microchip.com>
7  *
8  */
9 
10 #include <common.h>
11 #include <dm.h>
12 #include <clk.h>
13 #include <init.h>
14 #include <malloc.h>
15 #include <dt-bindings/clock/microchip,clock.h>
16 #include <mach/pic32.h>
17 
18 #ifdef CONFIG_DISPLAY_BOARDINFO
checkboard(void)19 int checkboard(void)
20 {
21 	ulong rate;
22 	struct udevice *dev;
23 	struct clk clk;
24 	int ret;
25 
26 	printf("Core: %s\n", get_core_name());
27 
28 	if (uclass_get_device(UCLASS_CLK, 0, &dev))
29 		return 0;
30 
31 	clk.id = PB7CLK;
32 	ret = clk_request(dev, &clk);
33 	if (ret < 0)
34 		return 0;
35 
36 	rate = clk_get_rate(&clk);
37 	printf("CPU Speed: %lu MHz\n", rate / 1000000);
38 
39 	clk_free(&clk);
40 
41 	return 0;
42 }
43 #endif
44