1 // SPDX-License-Identifier: GPL-2.0+
2 /*
3  * (C) Copyright 2012 Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
4  * (C) Copyright 2012 Renesas Solutions Corp.
5  */
6 #include <common.h>
7 #include <asm/io.h>
8 
rmobile_get_cpu_type(void)9 u32 rmobile_get_cpu_type(void)
10 {
11 	u32 id;
12 	u32 type;
13 	struct sh73a0_hpb *hpb = (struct sh73a0_hpb *)HPB_BASE;
14 
15 	id = readl(&hpb->cccr);
16 	type = (id >> 8) & 0xFF;
17 
18 	return type;
19 }
20 
rmobile_get_cpu_rev_integer(void)21 u32 rmobile_get_cpu_rev_integer(void)
22 {
23 	u32 id;
24 	u32 rev;
25 	struct sh73a0_hpb *hpb = (struct sh73a0_hpb *)HPB_BASE;
26 
27 	id = readl(&hpb->cccr);
28 	rev = ((id >> 4) & 0xF) + 1;
29 
30 	return rev;
31 }
32 
rmobile_get_cpu_rev_fraction(void)33 u32 rmobile_get_cpu_rev_fraction(void)
34 {
35 	u32 id;
36 	u32 rev;
37 	struct sh73a0_hpb *hpb = (struct sh73a0_hpb *)HPB_BASE;
38 
39 	id = readl(&hpb->cccr);
40 	rev = id & 0xF;
41 
42 	return rev;
43 }
44