board: phytec: common: phytec_som_detection: Add phytec_get_som_type

Add a function that gets the som_type from the EEPROM.
Add an enum for the som_type.

Signed-off-by: Benjamin Hahn <B.Hahn@phytec.de>
This commit is contained in:
Benjamin Hahn 2024-03-06 17:18:31 +01:00 committed by Fabio Estevam
parent 0981f8900f
commit 110d321a56
2 changed files with 18 additions and 0 deletions

View file

@ -203,6 +203,16 @@ u8 __maybe_unused phytec_get_rev(struct phytec_eeprom_data *data)
return api2->pcb_rev;
}
u8 __maybe_unused phytec_get_som_type(struct phytec_eeprom_data *data)
{
if (!data)
data = &eeprom_data;
if (data->api_rev < PHYTEC_API_REV2)
return PHYTEC_EEPROM_INVAL;
return data->data.data_api2.som_type;
}
#else
inline int phytec_eeprom_data_setup(struct phytec_eeprom_data *data,

View file

@ -19,6 +19,13 @@ enum {
PHYTEC_API_REV2,
};
enum phytec_som_type_str {
SOM_TYPE_PCM = 0,
SOM_TYPE_PCL,
SOM_TYPE_KSM,
SOM_TYPE_KSP,
};
static const char * const phytec_som_type_str[] = {
"PCM",
"PCL",
@ -67,5 +74,6 @@ void __maybe_unused phytec_print_som_info(struct phytec_eeprom_data *data);
char * __maybe_unused phytec_get_opt(struct phytec_eeprom_data *data);
u8 __maybe_unused phytec_get_rev(struct phytec_eeprom_data *data);
u8 __maybe_unused phytec_get_som_type(struct phytec_eeprom_data *data);
#endif /* _PHYTEC_SOM_DETECTION_H */