diff --git a/utils/loc_target.cpp b/utils/loc_target.cpp index f6fd728a..a286fe1f 100644 --- a/utils/loc_target.cpp +++ b/utils/loc_target.cpp @@ -208,3 +208,24 @@ detected: LOC_LOGW("HAL: %s returned %d", __FUNCTION__, gTarget); return gTarget; } + +int loc_read_device_soc_id() +{ + char buf[10] = {0}; + int soc_id = 0; + int fd = open("/sys/devices/soc0/soc_id", O_RDONLY); + if (fd >= 0) + { + if (read(fd, buf, sizeof(buf) - 1) == -1) + { + LOC_LOGI ("%s: unable to read soc_id", __FUNCTION__); + } + else + { + soc_id = atoi(buf); + LOC_LOGI ("%s: Soc ID :%d", __FUNCTION__, soc_id); + } + close(fd); + } + return soc_id; +} diff --git a/utils/loc_target.h b/utils/loc_target.h index 172b4752..6abee89b 100644 --- a/utils/loc_target.h +++ b/utils/loc_target.h @@ -54,6 +54,7 @@ void loc_get_platform_name(char *platform_name, int array_length); /*The character array passed to this function should have length of atleast PROPERTY_VALUE_MAX*/ void loc_get_auto_platform_name(char *platform_name, int array_length); +int loc_read_device_soc_id(); /* Please remember to update 'target_name' in loc_log.cpp, if do any changes to this enum. */