96 lines
2.1 KiB
C
96 lines
2.1 KiB
C
#include "board.h"
|
|
#include "clock_config.h"
|
|
#include "peripherals.h"
|
|
#include "pin_mux.h"
|
|
|
|
#include "fsl_debug_console.h"
|
|
|
|
void print_hardware(void) {
|
|
uint32_t kinetis_revid = (SIM->SDID & SIM_SDID_REVID_MASK) >> SIM_SDID_REVID_SHIFT;
|
|
uint32_t kinetis_family = (SIM->SDID & SIM_SDID_FAMID_MASK) >> SIM_SDID_FAMID_SHIFT;
|
|
uint32_t kinetis_pinid = (SIM->SDID & SIM_SDID_PINID_MASK) >> SIM_SDID_PINID_SHIFT;
|
|
|
|
char *family_str = NULL;
|
|
|
|
switch(kinetis_family) {
|
|
case 0:
|
|
family_str = "K10";
|
|
break;
|
|
case 1:
|
|
family_str = "K20";
|
|
break;
|
|
case 2:
|
|
family_str = "K30";
|
|
break;
|
|
case 3:
|
|
family_str = "K40";
|
|
break;
|
|
case 4:
|
|
family_str = "K60";
|
|
break;
|
|
case 6:
|
|
family_str = "K50/K52";
|
|
break;
|
|
case 7:
|
|
family_str = "K51/K53";
|
|
break;
|
|
default:
|
|
family_str = "UNKNOWN";
|
|
break;
|
|
}
|
|
|
|
char *pin_str = NULL;
|
|
switch(kinetis_pinid) {
|
|
case 0x06:
|
|
pin_str = "80";
|
|
break;
|
|
case 0x07:
|
|
pin_str = "81";
|
|
break;
|
|
case 0x08:
|
|
pin_str = "100";
|
|
break;
|
|
case 0x09:
|
|
pin_str = "121";
|
|
break;
|
|
case 0x0A:
|
|
pin_str = "144";
|
|
break;
|
|
default:
|
|
pin_str = "UNKNOWN";
|
|
break;
|
|
}
|
|
|
|
char *rev_str = NULL;
|
|
switch(kinetis_revid) {
|
|
case 0:
|
|
rev_str = "1.0 (0M33Z)";
|
|
break;
|
|
case 1:
|
|
rev_str = "1.1 (0N30D)";
|
|
break;
|
|
case 2:
|
|
rev_str = "1.2 (1N30D/2N30D)";
|
|
break;
|
|
case 3:
|
|
rev_str = "1.4 (4N30D)";
|
|
break;
|
|
case 7:
|
|
rev_str = "1.8 (8N30D)";
|
|
break;
|
|
case 10:
|
|
rev_str = "2.2 (2N22D)";
|
|
break;
|
|
case 12:
|
|
rev_str = "2.4 (4N22D)";
|
|
break;
|
|
case 13:
|
|
rev_str = "2.5 (5N22D)";
|
|
break;
|
|
default:
|
|
rev_str = "UNKNOWN";
|
|
break;
|
|
}
|
|
|
|
PRINTF("This is %s with Rev. (Mask Set): %s, %s pins.\r\n", family_str, rev_str, pin_str);
|
|
} |