diff options
author | Tom Rini <trini@konsulko.com> | 2017-01-22 17:07:48 -0500 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2017-01-22 17:07:48 -0500 |
commit | 0c9e85f67cd86d2d7a3424ea3ebff0e6db7a3915 (patch) | |
tree | 1ac6999d2934173b7575540b310fda3147aaf67a /arch/arm/mach-uniphier/cpu-info.c | |
parent | afdf09ac260f7ec245c85b94a5de5f92af06bc25 (diff) | |
parent | 2c2ab3d495a1a9fbfcec58f469255595a86e3aad (diff) |
Merge branch 'master' of git://git.denx.de/u-boot-uniphier
- Allow to disable SPL (mainly for ATF)
- Refactor SoC init code
- Update DRAM settings
- Add PXs3 SoC support (DT, pinctrl driver, SoC code)
Diffstat (limited to 'arch/arm/mach-uniphier/cpu-info.c')
-rw-r--r-- | arch/arm/mach-uniphier/cpu-info.c | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/arch/arm/mach-uniphier/cpu-info.c b/arch/arm/mach-uniphier/cpu-info.c new file mode 100644 index 00000000000..94dce7c90d8 --- /dev/null +++ b/arch/arm/mach-uniphier/cpu-info.c @@ -0,0 +1,76 @@ +/* + * Copyright (C) 2013-2014 Panasonic Corporation + * Copyright (C) 2015-2017 Socionext Inc. + * Author: Masahiro Yamada <yamada.masahiro@socionext.com> + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#include <common.h> +#include <linux/errno.h> +#include <linux/io.h> + +#include "soc-info.h" + +int print_cpuinfo(void) +{ + unsigned int id, model, rev, required_model = 1, required_rev = 1; + + id = uniphier_get_soc_id(); + model = uniphier_get_soc_model(); + rev = uniphier_get_soc_revision(); + + puts("CPU: "); + + switch (id) { + case UNIPHIER_SLD3_ID: + puts("sLD3 (MN2WS0220)"); + required_model = 2; + break; + case UNIPHIER_LD4_ID: + puts("LD4 (MN2WS0250)"); + required_rev = 2; + break; + case UNIPHIER_PRO4_ID: + puts("Pro4 (MN2WS0230)"); + break; + case UNIPHIER_SLD8_ID: + puts("sLD8 (MN2WS0270)"); + break; + case UNIPHIER_PRO5_ID: + puts("Pro5 (MN2WS0300)"); + break; + case UNIPHIER_PXS2_ID: + puts("PXs2 (MN2WS0310)"); + break; + case UNIPHIER_LD6B_ID: + puts("LD6b (MN2WS0320)"); + break; + case UNIPHIER_LD11_ID: + puts("LD11 (SC1405AP1)"); + break; + case UNIPHIER_LD20_ID: + puts("LD20 (SC1401AJ1)"); + break; + case UNIPHIER_PXS3_ID: + puts("PXs3"); + break; + default: + printf("Unknown Processor ID (0x%x)\n", id); + return -ENOTSUPP; + } + + printf(" model %d (revision %d)\n", model, rev); + + if (model < required_model) { + printf("Only model %d or newer is supported.\n", + required_model); + return -ENOTSUPP; + } else if (rev < required_rev) { + printf("Only revision %d or newer is supported.\n", + required_rev); + return -ENOTSUPP; + } + + return 0; +} |