| // SPDX-License-Identifier: GPL-2.0+ |
| /* |
| * (C) Copyright 2012 Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com> |
| * (C) Copyright 2012 Renesas Solutions Corp. |
| */ |
| #include <common.h> |
| #include <asm/io.h> |
| |
| u32 rmobile_get_cpu_type(void) |
| { |
| u32 id; |
| u32 type; |
| struct sh73a0_hpb *hpb = (struct sh73a0_hpb *)HPB_BASE; |
| |
| id = readl(&hpb->cccr); |
| type = (id >> 8) & 0xFF; |
| |
| return type; |
| } |
| |
| u32 rmobile_get_cpu_rev_integer(void) |
| { |
| u32 id; |
| u32 rev; |
| struct sh73a0_hpb *hpb = (struct sh73a0_hpb *)HPB_BASE; |
| |
| id = readl(&hpb->cccr); |
| rev = ((id >> 4) & 0xF) + 1; |
| |
| return rev; |
| } |
| |
| u32 rmobile_get_cpu_rev_fraction(void) |
| { |
| u32 id; |
| u32 rev; |
| struct sh73a0_hpb *hpb = (struct sh73a0_hpb *)HPB_BASE; |
| |
| id = readl(&hpb->cccr); |
| rev = id & 0xF; |
| |
| return rev; |
| } |