| 687 | } |
| 688 | |
| 689 | static void |
| 690 | soc_identify(uint32_t d, uint32_t r) |
| 691 | { |
| 692 | uint32_t size, mode, freq; |
| 693 | const char *dev; |
| 694 | const char *rev; |
| 695 | |
| 696 | printf("SOC: "); |
| 697 | if (bootverbose) |
| 698 | printf("(0x%4x:0x%02x) ", d, r); |
| 699 | |
| 700 | rev = ""; |
| 701 | switch (d) { |
| 702 | case MV_DEV_88F5181: |
| 703 | dev = "Marvell 88F5181"; |
| 704 | if (r == 3) |
| 705 | rev = "B1"; |
| 706 | break; |
| 707 | case MV_DEV_88F5182: |
| 708 | dev = "Marvell 88F5182"; |
| 709 | if (r == 2) |
| 710 | rev = "A2"; |
| 711 | break; |
| 712 | case MV_DEV_88F5281: |
| 713 | dev = "Marvell 88F5281"; |
| 714 | if (r == 4) |
| 715 | rev = "D0"; |
| 716 | else if (r == 5) |
| 717 | rev = "D1"; |
| 718 | else if (r == 6) |
| 719 | rev = "D2"; |
| 720 | break; |
| 721 | case MV_DEV_88F6281: |
| 722 | dev = "Marvell 88F6281"; |
| 723 | if (r == 0) |
| 724 | rev = "Z0"; |
| 725 | else if (r == 2) |
| 726 | rev = "A0"; |
| 727 | else if (r == 3) |
| 728 | rev = "A1"; |
| 729 | break; |
| 730 | case MV_DEV_88RC8180: |
| 731 | dev = "Marvell 88RC8180"; |
| 732 | break; |
| 733 | case MV_DEV_88RC9480: |
| 734 | dev = "Marvell 88RC9480"; |
| 735 | break; |
| 736 | case MV_DEV_88RC9580: |
| 737 | dev = "Marvell 88RC9580"; |
| 738 | break; |
| 739 | case MV_DEV_88F6781: |
| 740 | dev = "Marvell 88F6781"; |
| 741 | if (r == 2) |
| 742 | rev = "Y0"; |
| 743 | break; |
| 744 | case MV_DEV_88F6282: |
| 745 | dev = "Marvell 88F6282"; |
| 746 | if (r == 0) |
no test coverage detected