misc: microchip_flexcom: introduce microchip_flexcom driver
[oweals/u-boot.git] / drivers / cpu / mpc83xx_cpu.h
1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * (C) Copyright 2018
4  * Mario Six, Guntermann & Drunck GmbH, mario.six@gdsys.cc
5  */
6
7 #ifndef _MPC83XX_CPU_H_
8 #define _MPC83XX_CPU_H_
9
10 /**
11  * enum e300_type - Identifiers for e300 cores
12  * @E300C1:       Identifier for e300c1 cores
13  * @E300C2:       Identifier for e300c2 cores
14  * @E300C3:       Identifier for e300c3 cores
15  * @E300C4:       Identifier for e300c4 cores
16  * @E300_UNKNOWN: Identifier for unknown e300 cores
17  */
18 enum e300_type {
19         E300C1,
20         E300C2,
21         E300C3,
22         E300C4,
23         E300_UNKNOWN,
24 };
25
26 /* Array mapping the e300 core types to their human-readable names */
27 static const char * const e300_names[] = {
28         [E300C1] = "e300c1",
29         [E300C2] = "e300c2",
30         [E300C3] = "e300c3",
31         [E300C4] = "e300c4",
32         [E300_UNKNOWN] = "Unknown e300",
33 };
34
35 /**
36  * enum mpc83xx_cpu_family - Identifiers for MPC83xx CPU families
37  * @FAMILY_830X:    Identifier for the MPC830x CPU family
38  * @FAMILY_831X:    Identifier for the MPC831x CPU family
39  * @FAMILY_832X:    Identifier for the MPC832x CPU family
40  * @FAMILY_834X:    Identifier for the MPC834x CPU family
41  * @FAMILY_836X:    Identifier for the MPC836x CPU family
42  * @FAMILY_837X:    Identifier for the MPC837x CPU family
43  * @FAMILY_UNKNOWN: Identifier for an unknown MPC83xx CPU family
44  */
45 enum mpc83xx_cpu_family {
46         FAMILY_830X,
47         FAMILY_831X,
48         FAMILY_832X,
49         FAMILY_834X,
50         FAMILY_836X,
51         FAMILY_837X,
52         FAMILY_UNKNOWN,
53 };
54
55 /**
56  * enum mpc83xx_cpu_type - Identifiers for MPC83xx CPU types
57  * @TYPE_8308:      Identifier for the MPC8308 CPU type
58  * @TYPE_8309:      Identifier for the MPC8309 CPU type
59  * @TYPE_8311:      Identifier for the MPC8311 CPU type
60  * @TYPE_8313:      Identifier for the MPC8313 CPU type
61  * @TYPE_8314:      Identifier for the MPC8314 CPU type
62  * @TYPE_8315:      Identifier for the MPC8315 CPU type
63  * @TYPE_8321:      Identifier for the MPC8321 CPU type
64  * @TYPE_8323:      Identifier for the MPC8323 CPU type
65  * @TYPE_8343:      Identifier for the MPC8343 CPU type
66  * @TYPE_8347_TBGA: Identifier for the MPC8347 CPU type (Tape Ball Grid Array
67  *                  version)
68  * @TYPE_8347_PBGA: Identifier for the MPC8347 CPU type (Plastic Ball Grid Array
69  *                  version)
70  * @TYPE_8349:      Identifier for the MPC8349 CPU type
71  * @TYPE_8358_TBGA: Identifier for the MPC8358 CPU type (Tape Ball Grid Array
72  *                  version)
73  * @TYPE_8358_PBGA: Identifier for the MPC8358 CPU type (Plastic Ball Grid Array
74  *                  version)
75  * @TYPE_8360:      Identifier for the MPC8360 CPU type
76  * @TYPE_8377:      Identifier for the MPC8377 CPU type
77  * @TYPE_8378:      Identifier for the MPC8378 CPU type
78  * @TYPE_8379:      Identifier for the MPC8379 CPU type
79  * @TYPE_UNKNOWN:   Identifier for an unknown MPC83xx CPU type
80  */
81 enum mpc83xx_cpu_type {
82         TYPE_8308,
83         TYPE_8309,
84         TYPE_8311,
85         TYPE_8313,
86         TYPE_8314,
87         TYPE_8315,
88         TYPE_8321,
89         TYPE_8323,
90         TYPE_8343,
91         TYPE_8347_TBGA,
92         TYPE_8347_PBGA,
93         TYPE_8349,
94         TYPE_8358_TBGA,
95         TYPE_8358_PBGA,
96         TYPE_8360,
97         TYPE_8377,
98         TYPE_8378,
99         TYPE_8379,
100         TYPE_UNKNOWN,
101 };
102
103 /* Array mapping the MCP83xx CPUs to their human-readable names */
104 static const char * const cpu_type_names[] = {
105         [TYPE_8308] = "8308",
106         [TYPE_8309] = "8309",
107         [TYPE_8311] = "8311",
108         [TYPE_8313] = "8313",
109         [TYPE_8314] = "8314",
110         [TYPE_8315] = "8315",
111         [TYPE_8321] = "8321",
112         [TYPE_8323] = "8323",
113         [TYPE_8343] = "8343",
114         [TYPE_8347_TBGA] = "8347_TBGA",
115         [TYPE_8347_PBGA] = "8347_PBGA",
116         [TYPE_8349] = "8349",
117         [TYPE_8358_TBGA] = "8358_TBGA",
118         [TYPE_8358_PBGA] = "8358_PBGA",
119         [TYPE_8360] = "8360",
120         [TYPE_8377] = "8377",
121         [TYPE_8378] = "8378",
122         [TYPE_8379] = "8379",
123         [TYPE_UNKNOWN] = "Unknown CPU",
124 };
125
126 #endif /* !_MPC83XX_CPU_H_ */