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 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 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 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