add rk29 Winaccord board

This commit is contained in:
lhh
2010-12-18 19:36:49 +08:00
parent 7190b34d69
commit dc4a43497f
4 changed files with 19 additions and 10 deletions

View File

@@ -6,9 +6,17 @@ config MACH_RK29SDK
help
Support for the ROCKCHIP Board For Rk29 Sdk.
config MACH_RK29WINACCORD
depends on ARCH_RK29
default y
bool "ROCKCHIP Board Rk29 For Winaccord"
select PL330
help
Support for the ROCKCHIP Board For Rk29 Winaccord.
config MACH_RK29SDK_MEM_SIZE_M
int "Memory size (in MiB)"
depends on MACH_RK29SDK
depends on MACH_RK29SDK || MACH_RK29WINACCORD
default 512
config WIFI_CONTROL_FUNC

View File

@@ -1,3 +1,4 @@
obj-y += timer.o io.o devices.o iomux.o clock.o rk29-pl330.o dma.o gpio.o
obj-$(CONFIG_RK29_VPU) += vpu.o vpu_mem.o
obj-$(CONFIG_MACH_RK29SDK) += board-rk29sdk.o board-rk29sdk-key.o
obj-$(CONFIG_MACH_RK29WINACCORD) += board-rk29-winaccord.o board-rk29sdk-key.o

View File

@@ -1496,10 +1496,10 @@ static void __init machine_rk29_init_irq(void)
#define POWER_ON_PIN RK29_PIN4_PA4
static void __init machine_rk29_board_init(void)
{
rk29_board_iomux_init();
rk29_board_iomux_init();
gpio_request(POWER_ON_PIN,"poweronpin");
gpio_set_value(POWER_ON_PIN, 1);
gpio_direction_output(POWER_ON_PIN, 1);
gpio_set_value(POWER_ON_PIN, GPIO_HIGH);
gpio_direction_output(POWER_ON_PIN, GPIO_HIGH);
#ifdef CONFIG_WIFI_CONTROL_FUNC
rk29sdk_wifi_bt_gpio_control_init();

View File

@@ -358,7 +358,7 @@ static void send_stop_cmd(struct rk29_sdmmc *host, struct mmc_data *data)
int time_out=100, time_out2=3;
unsigned long flags;
/*<2A>ȴ<EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><E4B4A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
while(rk29_sdmmc_read(host->regs, SDMMC_STATUS) & (SDMMC_STAUTS_DATA_BUSY)) {
mdelay(5);
time_out --;
@@ -375,7 +375,7 @@ static void send_stop_cmd(struct rk29_sdmmc *host, struct mmc_data *data)
}
}
/*<2A><><EFBFBD><EFBFBD>FIFO,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD><D5A3><EFBFBD><EFBFBD><EFBFBD>*/
if(!(rk29_sdmmc_read(host->regs, SDMMC_STATUS) & SDMMC_STAUTS_FIFO_EMPTY)) {
local_irq_save(flags);
rk29_sdmmc_write(host->regs, SDMMC_CTRL, rk29_sdmmc_read(host->regs, SDMMC_CTRL) | ( SDMMC_CTRL_FIFO_RESET ));
@@ -552,7 +552,7 @@ static void rk29_sdmmc_start_request(struct rk29_sdmmc *host)
unsigned long flags;
mrq = host->mrq;
/*<2A>ȴ<EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><E4B4A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
while(rk29_sdmmc_read(host->regs, SDMMC_STATUS) & (SDMMC_STAUTS_DATA_BUSY)) {
mdelay(5);
time_out --;
@@ -569,7 +569,7 @@ static void rk29_sdmmc_start_request(struct rk29_sdmmc *host)
}
}
/*<2A><><EFBFBD><EFBFBD>FIFO,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD><D5A3><EFBFBD><EFBFBD><EFBFBD>*/
if(!(rk29_sdmmc_read(host->regs, SDMMC_STATUS) & SDMMC_STAUTS_FIFO_EMPTY)) {
local_irq_save(flags);
rk29_sdmmc_write(host->regs, SDMMC_CTRL, rk29_sdmmc_read(host->regs, SDMMC_CTRL) | ( SDMMC_CTRL_FIFO_RESET ));
@@ -726,7 +726,7 @@ static void rk29_sdmmc_request_end(struct rk29_sdmmc *host, struct mmc_request *
WARN_ON(host->cmd || host->data);
host->curr_mrq = NULL;
host->mrq = NULL;
/*<2A>ȴ<EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><E4B4A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
while(rk29_sdmmc_read(host->regs, SDMMC_STATUS) & (SDMMC_STAUTS_DATA_BUSY)) {
mdelay(5);
time_out --;
@@ -742,7 +742,7 @@ static void rk29_sdmmc_request_end(struct rk29_sdmmc *host, struct mmc_request *
break;
}
}
/*<2A><><EFBFBD><EFBFBD>FIFO,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD><D5A3><EFBFBD><EFBFBD><EFBFBD>*/
if(!(rk29_sdmmc_read(host->regs, SDMMC_STATUS) & SDMMC_STAUTS_FIFO_EMPTY)) {
local_irq_save(flags);
rk29_sdmmc_write(host->regs, SDMMC_CTRL, rk29_sdmmc_read(host->regs, SDMMC_CTRL) | ( SDMMC_CTRL_FIFO_RESET ));