]> Git Repo - J-u-boot.git/blame - arch/arm/mach-uniphier/soc_info.c
ARM: uniphier: replace <common.h> with <linux/delay.h> where possible
[J-u-boot.git] / arch / arm / mach-uniphier / soc_info.c
CommitLineData
323d1f9d
MY
1/*
2 * Copyright (C) 2015 Masahiro Yamada <[email protected]>
3 *
4 * SPDX-License-Identifier: GPL-2.0+
5 */
6
7#include <linux/io.h>
8#include <linux/types.h>
107b3fb4
MY
9
10#include "sg-regs.h"
11#include "soc-info.h"
323d1f9d
MY
12
13#if UNIPHIER_MULTI_SOC
14enum uniphier_soc_id uniphier_get_soc_type(void)
15{
16 u32 revision = readl(SG_REVISION);
17 enum uniphier_soc_id ret;
18
19 switch ((revision & SG_REVISION_TYPE_MASK) >> SG_REVISION_TYPE_SHIFT) {
ea65c980 20#ifdef CONFIG_ARCH_UNIPHIER_SLD3
323d1f9d 21 case 0x25:
ea65c980 22 ret = SOC_UNIPHIER_SLD3;
323d1f9d
MY
23 break;
24#endif
ea65c980 25#ifdef CONFIG_ARCH_UNIPHIER_LD4
323d1f9d 26 case 0x26:
ea65c980 27 ret = SOC_UNIPHIER_LD4;
323d1f9d
MY
28 break;
29#endif
ea65c980 30#ifdef CONFIG_ARCH_UNIPHIER_PRO4
323d1f9d 31 case 0x28:
ea65c980 32 ret = SOC_UNIPHIER_PRO4;
323d1f9d
MY
33 break;
34#endif
ea65c980 35#ifdef CONFIG_ARCH_UNIPHIER_SLD8
323d1f9d 36 case 0x29:
ea65c980 37 ret = SOC_UNIPHIER_SLD8;
323d1f9d
MY
38 break;
39#endif
ea65c980 40#ifdef CONFIG_ARCH_UNIPHIER_PRO5
323d1f9d 41 case 0x2A:
ea65c980 42 ret = SOC_UNIPHIER_PRO5;
323d1f9d
MY
43 break;
44#endif
ea65c980 45#ifdef CONFIG_ARCH_UNIPHIER_PXS2
323d1f9d 46 case 0x2E:
ea65c980 47 ret = SOC_UNIPHIER_PXS2;
323d1f9d
MY
48 break;
49#endif
ea65c980 50#ifdef CONFIG_ARCH_UNIPHIER_LD6B
323d1f9d 51 case 0x2F:
ea65c980 52 ret = SOC_UNIPHIER_LD6B;
323d1f9d 53 break;
6f45a975 54#endif
ea65c980 55#ifdef CONFIG_ARCH_UNIPHIER_LD11
6f45a975 56 case 0x31:
ea65c980 57 ret = SOC_UNIPHIER_LD11;
6f45a975
MY
58 break;
59#endif
ea65c980 60#ifdef CONFIG_ARCH_UNIPHIER_LD20
6f45a975 61 case 0x32:
ea65c980 62 ret = SOC_UNIPHIER_LD20;
6f45a975 63 break;
323d1f9d
MY
64#endif
65 default:
66 ret = SOC_UNIPHIER_UNKNOWN;
67 break;
68 }
69
70 return ret;
71}
72#endif
2071f149
MY
73
74int uniphier_get_soc_model(void)
75{
76 return (readl(SG_REVISION) & SG_REVISION_MODEL_MASK) >>
77 SG_REVISION_MODEL_SHIFT;
78}
79
80int uniphier_get_soc_revision(void)
81{
82 return (readl(SG_REVISION) & SG_REVISION_REV_MASK) >>
83 SG_REVISION_REV_SHIFT;
84}
This page took 0.153572 seconds and 4 git commands to generate.