|
@@ -469,8 +469,16 @@ static void __init init_octeon_system_type(void)
|
|
char const *board_type;
|
|
char const *board_type;
|
|
|
|
|
|
board_type = cvmx_board_type_to_string(octeon_bootinfo->board_type);
|
|
board_type = cvmx_board_type_to_string(octeon_bootinfo->board_type);
|
|
- if (board_type == NULL)
|
|
|
|
- board_type = "Unsupported Board";
|
|
|
|
|
|
+ if (board_type == NULL) {
|
|
|
|
+ struct device_node *root;
|
|
|
|
+ int ret;
|
|
|
|
+
|
|
|
|
+ root = of_find_node_by_path("/");
|
|
|
|
+ ret = of_property_read_string(root, "model", &board_type);
|
|
|
|
+ of_node_put(root);
|
|
|
|
+ if (ret)
|
|
|
|
+ board_type = "Unsupported Board";
|
|
|
|
+ }
|
|
|
|
|
|
snprintf(octeon_system_type, sizeof(octeon_system_type), "%s (%s)",
|
|
snprintf(octeon_system_type, sizeof(octeon_system_type), "%s (%s)",
|
|
board_type, octeon_model_get_string(read_c0_prid()));
|
|
board_type, octeon_model_get_string(read_c0_prid()));
|