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