const char *chip_name;
        int err = 0;
 
-       switch (adev->asic_type) {
-       case CHIP_ALDEBARAN:
+       switch (adev->ip_versions[MP0_HWIP]) {
+       case IP_VERSION(13, 0, 2):
                chip_name = "aldebaran";
                break;
-       case CHIP_YELLOW_CARP:
+       case IP_VERSION(13, 0, 1):
+       case IP_VERSION(13, 0, 3):
                chip_name = "yellow_carp";
                break;
        default:
                BUG();
        }
-       switch (adev->asic_type) {
-       case CHIP_ALDEBARAN:
+       switch (adev->ip_versions[MP0_HWIP]) {
+       case IP_VERSION(13, 0, 2):
                err = psp_init_sos_microcode(psp, chip_name);
                if (err)
                        return err;
                if (err)
                        return err;
                break;
-       case CHIP_YELLOW_CARP:
+       case IP_VERSION(13, 0, 1):
+       case IP_VERSION(13, 0, 3):
                err = psp_init_asd_microcode(psp, chip_name);
                if (err)
                        return err;