|
@@ -83,10 +83,12 @@ int checkboard(void)
|
|
puts("SERDES Reference Clocks: ");
|
|
puts("SERDES Reference Clocks: ");
|
|
sw = in_8(&CPLD_SW(2)) >> 2;
|
|
sw = in_8(&CPLD_SW(2)) >> 2;
|
|
for (i = 0; i < 2; i++) {
|
|
for (i = 0; i < 2; i++) {
|
|
- static const char * const freq[] = {"0", "100", "125"};
|
|
|
|
|
|
+ static const char * const freq[][3] = {{"0", "100", "125"},
|
|
|
|
+ {"100", "156.25", "125"}
|
|
|
|
+ };
|
|
unsigned int clock = (sw >> (2 * i)) & 3;
|
|
unsigned int clock = (sw >> (2 * i)) & 3;
|
|
|
|
|
|
- printf("Bank%u=%sMhz ", i+1, freq[clock]);
|
|
|
|
|
|
+ printf("Bank%u=%sMhz ", i+1, freq[i][clock]);
|
|
}
|
|
}
|
|
puts("\n");
|
|
puts("\n");
|
|
|
|
|
|
@@ -166,22 +168,25 @@ int misc_init_r(void)
|
|
u32 actual[NUM_SRDS_BANKS];
|
|
u32 actual[NUM_SRDS_BANKS];
|
|
unsigned int i;
|
|
unsigned int i;
|
|
u8 sw;
|
|
u8 sw;
|
|
|
|
+ static const int freq[][3] = {
|
|
|
|
+ {0, SRDS_PLLCR0_RFCK_SEL_100, SRDS_PLLCR0_RFCK_SEL_125},
|
|
|
|
+ {SRDS_PLLCR0_RFCK_SEL_100, SRDS_PLLCR0_RFCK_SEL_156_25,
|
|
|
|
+ SRDS_PLLCR0_RFCK_SEL_125}
|
|
|
|
+ };
|
|
|
|
|
|
sw = in_8(&CPLD_SW(2)) >> 2;
|
|
sw = in_8(&CPLD_SW(2)) >> 2;
|
|
for (i = 0; i < NUM_SRDS_BANKS; i++) {
|
|
for (i = 0; i < NUM_SRDS_BANKS; i++) {
|
|
unsigned int clock = (sw >> (2 * i)) & 3;
|
|
unsigned int clock = (sw >> (2 * i)) & 3;
|
|
- switch (clock) {
|
|
|
|
- case 1:
|
|
|
|
- actual[i] = SRDS_PLLCR0_RFCK_SEL_100;
|
|
|
|
- break;
|
|
|
|
- case 2:
|
|
|
|
- actual[i] = SRDS_PLLCR0_RFCK_SEL_125;
|
|
|
|
- break;
|
|
|
|
- default:
|
|
|
|
|
|
+ if (clock == 0x3) {
|
|
printf("Warning: SDREFCLK%u switch setting of '11' is "
|
|
printf("Warning: SDREFCLK%u switch setting of '11' is "
|
|
"unsupported\n", i + 1);
|
|
"unsupported\n", i + 1);
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
|
|
+ if (i == 0 && clock == 0)
|
|
|
|
+ puts("Warning: SDREFCLK1 switch setting of"
|
|
|
|
+ "'00' is unsupported\n");
|
|
|
|
+ else
|
|
|
|
+ actual[i] = freq[i][clock];
|
|
}
|
|
}
|
|
|
|
|
|
for (i = 0; i < NUM_SRDS_BANKS; i++) {
|
|
for (i = 0; i < NUM_SRDS_BANKS; i++) {
|