Home | History | Annotate | Download | only in mach-uniphier
      1 // SPDX-License-Identifier: GPL-2.0+
      2 /*
      3  * Copyright (C) 2013-2014 Panasonic Corporation
      4  * Copyright (C) 2015-2017 Socionext Inc.
      5  *   Author: Masahiro Yamada <yamada.masahiro (at) socionext.com>
      6  */
      7 
      8 #include <stdio.h>
      9 #include <linux/errno.h>
     10 #include <linux/io.h>
     11 #include <linux/printk.h>
     12 
     13 #include "soc-info.h"
     14 
     15 int print_cpuinfo(void)
     16 {
     17 	unsigned int id, model, rev, required_model = 1, required_rev = 1;
     18 
     19 	id = uniphier_get_soc_id();
     20 	model = uniphier_get_soc_model();
     21 	rev = uniphier_get_soc_revision();
     22 
     23 	puts("SoC:   ");
     24 
     25 	switch (id) {
     26 	case UNIPHIER_LD4_ID:
     27 		puts("LD4");
     28 		required_rev = 2;
     29 		break;
     30 	case UNIPHIER_PRO4_ID:
     31 		puts("Pro4");
     32 		break;
     33 	case UNIPHIER_SLD8_ID:
     34 		puts("sLD8");
     35 		break;
     36 	case UNIPHIER_PRO5_ID:
     37 		puts("Pro5");
     38 		break;
     39 	case UNIPHIER_PXS2_ID:
     40 		puts("PXs2");
     41 		break;
     42 	case UNIPHIER_LD6B_ID:
     43 		puts("LD6b");
     44 		break;
     45 	case UNIPHIER_LD11_ID:
     46 		puts("LD11");
     47 		break;
     48 	case UNIPHIER_LD20_ID:
     49 		puts("LD20");
     50 		break;
     51 	case UNIPHIER_PXS3_ID:
     52 		puts("PXs3");
     53 		break;
     54 	default:
     55 		printf("Unknown Processor ID (0x%x)\n", id);
     56 		return -ENOTSUPP;
     57 	}
     58 
     59 	printf(" (model %d, revision %d)\n", model, rev);
     60 
     61 	if (model < required_model) {
     62 		pr_err("Only model %d or newer is supported.\n",
     63 		       required_model);
     64 		return -ENOTSUPP;
     65 	} else if (rev < required_rev) {
     66 		pr_err("Only revision %d or newer is supported.\n",
     67 		       required_rev);
     68 		return -ENOTSUPP;
     69 	}
     70 
     71 	return 0;
     72 }
     73