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