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_ */ 127