#define SCLK_NUM 3
void post_out_buff(char *buff);
-int post_key_pressed(void);
void post_init_pll(int mult, int div);
int post_init_sdram(int sclk);
void post_init_uart(int sclk);
sclk_temp -= CONFIG_SCLK_DIV;
sclk = sclk * 1000000;
post_init_uart(sclk);
- if (post_key_pressed() == 0)
+ if (post_hotkeys_pressed() == 0)
return 0;
for (m = 0; m < CCLK_NUM; m++) {
;
}
-/* Using sw10-PF5 as the hotkey */
-#define KEY_LOOP 0x80000
-#define KEY_DELAY 0x80
-int post_key_pressed(void)
-{
- int i, n;
- unsigned short value;
-
- bfin_write_PORTF_FER(bfin_read_PORTF_FER() & ~PF5);
- bfin_write_PORTFIO_DIR(bfin_read_PORTFIO_DIR() & ~PF5);
- bfin_write_PORTFIO_INEN(bfin_read_PORTFIO_INEN() | PF5);
- SSYNC();
-
- post_out_buff("########Press SW10 to enter Memory POST########: 3\0");
- for (i = 0; i < KEY_LOOP; i++) {
- value = bfin_read_PORTFIO() & PF5;
- if (bfin_read_UART0_RBR() == 0x0D) {
- value = 0;
- goto key_pressed;
- }
- if (value != 0)
- goto key_pressed;
- for (n = 0; n < KEY_DELAY; n++)
- asm("nop");
- }
- post_out_buff("\b2\0");
-
- for (i = 0; i < KEY_LOOP; i++) {
- value = bfin_read_PORTFIO() & PF5;
- if (bfin_read_UART0_RBR() == 0x0D) {
- value = 0;
- goto key_pressed;
- }
- if (value != 0)
- goto key_pressed;
- for (n = 0; n < KEY_DELAY; n++)
- asm("nop");
- }
- post_out_buff("\b1\0");
-
- for (i = 0; i < KEY_LOOP; i++) {
- value = bfin_read_PORTFIO() & PF5;
- if (bfin_read_UART0_RBR() == 0x0D) {
- value = 0;
- goto key_pressed;
- }
- if (value != 0)
- goto key_pressed;
- for (n = 0; n < KEY_DELAY; n++)
- asm("nop");
- }
- key_pressed:
- post_out_buff("\b0");
- post_out_buff("\n\r\0");
- if (value == 0)
- return 0;
- post_out_buff("Hotkey has been pressed, Enter POST . . . . . .\n\r\0");
- return 1;
-}
-
void post_init_pll(int mult, int div)
{
#include <asm/blackfin.h>
#include <asm/gpio.h>
-/* Using sw10-PF5 as the hotkey */
-int post_hotkeys_pressed(void)
-{
- int delay = 3;
- int i;
- unsigned short value;
-
- gpio_request(GPIO_PF5, "post");
- gpio_direction_input(GPIO_PF5);
-
- printf("########Press SW10 to enter Memory POST########: %2d ", delay);
- while (delay--) {
- for (i = 0; i < 100; i++) {
- value = gpio_get_value(GPIO_PF5);
- if (value != 0) {
- break;
- }
- udelay(10000);
- }
- printf("\b\b\b%2d ", delay);
- }
- printf("\b\b\b 0");
- printf("\n");
- if (value == 0)
- return 0;
- else {
- printf("Hotkey has been pressed, Enter POST . . . . . .\n");
- return 1;
- }
-
- gpio_free(GPIO_PF5);
-}
-
int uart_post_test(int flags)
{
return 0;