blob: 2aaa4e18844c70abc514523de4b7fae7590b8576 [file] [log] [blame]
Mario Six28fbefa2018-08-06 10:23:45 +02001/* 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 */
18enum 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 */
27static 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 */
45enum 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 */
81enum 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 */
104static 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_ */