diff options
Diffstat (limited to 'roms/u-boot/arch/arm/mach-rmobile/cpu_info-sh73a0.c')
-rw-r--r-- | roms/u-boot/arch/arm/mach-rmobile/cpu_info-sh73a0.c | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/roms/u-boot/arch/arm/mach-rmobile/cpu_info-sh73a0.c b/roms/u-boot/arch/arm/mach-rmobile/cpu_info-sh73a0.c new file mode 100644 index 000000000..0c7ee8acf --- /dev/null +++ b/roms/u-boot/arch/arm/mach-rmobile/cpu_info-sh73a0.c @@ -0,0 +1,43 @@ +// 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; +} |