#define PRID_IMP_BCM4710       0x4000
 #define PRID_IMP_BCM3302       0x9000
+#define PRID_IMP_BCM6338       0x9000
+#define PRID_IMP_BCM6345       0x8000
+#define PRID_IMP_BCM6348       0x9100
+#define PRID_IMP_BCM4350       0xA000
+#define PRID_REV_BCM6358       0x0010
+#define PRID_REV_BCM6368       0x0030
 
 /*
  * These are the PRID's for when 23:16 == PRID_COMP_CAVIUM
         */
        CPU_4KC, CPU_4KEC, CPU_4KSC, CPU_24K, CPU_34K, CPU_1004K, CPU_74K,
        CPU_ALCHEMY, CPU_PR4450, CPU_BCM3302, CPU_BCM4710,
+       CPU_BCM6338, CPU_BCM6345, CPU_BCM6348, CPU_BCM6358,
 
        /*
         * MIPS64 class processors
 
        case CPU_25KF:
        case CPU_PR4450:
        case CPU_BCM3302:
+       case CPU_BCM6338:
+       case CPU_BCM6348:
+       case CPU_BCM6358:
        case CPU_CAVIUM_OCTEON:
                cpu_wait = r4k_wait;
                break;
        decode_configs(c);
        switch (c->processor_id & 0xff00) {
        case PRID_IMP_BCM3302:
+        /* same as PRID_IMP_BCM6338 */
                c->cputype = CPU_BCM3302;
                __cpu_name[cpu] = "Broadcom BCM3302";
                break;
                c->cputype = CPU_BCM4710;
                __cpu_name[cpu] = "Broadcom BCM4710";
                break;
+       case PRID_IMP_BCM6345:
+               c->cputype = CPU_BCM6345;
+               __cpu_name[cpu] = "Broadcom BCM6345";
+               break;
+       case PRID_IMP_BCM6348:
+               c->cputype = CPU_BCM6348;
+               __cpu_name[cpu] = "Broadcom BCM6348";
+               break;
+       case PRID_IMP_BCM4350:
+               switch (c->processor_id & 0xf0) {
+               case PRID_REV_BCM6358:
+                       c->cputype = CPU_BCM6358;
+                       __cpu_name[cpu] = "Broadcom BCM6358";
+                       break;
+               default:
+                       c->cputype = CPU_UNKNOWN;
+                       break;
+               }
+               break;
        }
 }