{
        struct amdgpu_device *adev = psp->adev;
        const char *chip_name;
+       char ucode_prefix[30];
        int err = 0;
 
        switch (adev->ip_versions[MP0_HWIP][0]) {
        case IP_VERSION(13, 0, 3):
                chip_name = "yellow_carp";
                break;
-       case IP_VERSION(13, 0, 5):
-               chip_name = "psp_13_0_5";
-               break;
-       case IP_VERSION(13, 0, 8):
-               chip_name = "psp_13_0_8";
-               break;
-       case IP_VERSION(13, 0, 0):
-               chip_name = "psp_13_0_0";
-               break;
        default:
-               BUG();
+               amdgpu_ucode_ip_version_decode(adev, MP0_HWIP, ucode_prefix, sizeof(ucode_prefix));
+               chip_name = ucode_prefix;
+               break;
        }
+
        switch (adev->ip_versions[MP0_HWIP][0]) {
        case IP_VERSION(13, 0, 2):
                err = psp_init_sos_microcode(psp, chip_name);