mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-09 12:17:12 +09:00
board-rk3168-tb: use new iomux api on rk3066b and support rk3188
This commit is contained in:
@@ -222,7 +222,7 @@ static struct platform_device rk29_device_backlight = {
|
||||
#ifdef CONFIG_RK29_SUPPORT_MODEM
|
||||
|
||||
#define RK30_MODEM_POWER RK30_PIN0_PC6
|
||||
#define RK30_MODEM_POWER_IOMUX rk30_mux_api_set(GPIO0C6_FLASHDATA14_NAME, GPIO0C_GPIO0C6)
|
||||
#define RK30_MODEM_POWER_IOMUX iomux_set(GPIO0_C6)
|
||||
|
||||
static int rk30_modem_io_init(void)
|
||||
{
|
||||
@@ -251,11 +251,11 @@ static struct platform_device rk30_device_modem = {
|
||||
static int mu509_io_init(void)
|
||||
{
|
||||
|
||||
rk30_mux_api_set(GPIO2D5_SMCBLSN1_NAME, GPIO2D_GPIO2D5);
|
||||
rk30_mux_api_set(GPIO0C6_FLASHDATA14_NAME, GPIO0C_GPIO0C6);
|
||||
rk30_mux_api_set(GPIO2D4_SMCBLSN0_NAME, GPIO2D_GPIO2D4);
|
||||
rk30_mux_api_set(GPIO0C4_FLASHDATA12_NAME, GPIO0C_GPIO0C4);
|
||||
rk30_mux_api_set(GPIO0C5_FLASHDATA13_NAME, GPIO0C_GPIO0C5);
|
||||
iomux_set(GPIO2_D5);
|
||||
iomux_set(GPIO0_C6);
|
||||
iomux_set(GPIO2_D4);
|
||||
iomux_set(GPIO0_C4);
|
||||
iomux_set(GPIO0_C5);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -285,11 +285,11 @@ struct platform_device rk29_device_mu509 = {
|
||||
#if defined(CONFIG_MW100)
|
||||
static int mw100_io_init(void)
|
||||
{
|
||||
rk30_mux_api_set(GPIO2D5_SMCBLSN1_NAME, GPIO2D_GPIO2D5);
|
||||
rk30_mux_api_set(GPIO0C6_FLASHDATA14_NAME, GPIO0C_GPIO0C6);
|
||||
rk30_mux_api_set(GPIO2D4_SMCBLSN0_NAME, GPIO2D_GPIO2D4);
|
||||
rk30_mux_api_set(GPIO0C4_FLASHDATA12_NAME, GPIO0C_GPIO0C4);
|
||||
rk30_mux_api_set(GPIO0C5_FLASHDATA13_NAME, GPIO0C_GPIO0C5);
|
||||
iomux_set(GPIO2_D5);
|
||||
iomux_set(GPIO0_C6);
|
||||
iomux_set(GPIO2_D4);
|
||||
iomux_set(GPIO0_C4);
|
||||
iomux_set(GPIO0_C5);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -319,11 +319,11 @@ struct platform_device rk29_device_mw100 = {
|
||||
#if defined(CONFIG_MT6229)
|
||||
static int mt6229_io_init(void)
|
||||
{
|
||||
rk30_mux_api_set(GPIO2D5_SMCBLSN1_NAME, GPIO2D_GPIO2D5);
|
||||
rk30_mux_api_set(GPIO0C6_FLASHDATA14_NAME, GPIO0C_GPIO0C6);
|
||||
rk30_mux_api_set(GPIO2D4_SMCBLSN0_NAME, GPIO2D_GPIO2D4);
|
||||
rk30_mux_api_set(GPIO0C4_FLASHDATA12_NAME, GPIO0C_GPIO0C4);
|
||||
rk30_mux_api_set(GPIO0C5_FLASHDATA13_NAME, GPIO0C_GPIO0C5);
|
||||
iomux_set(GPIO2_D5);
|
||||
iomux_set(GPIO0_C6);
|
||||
iomux_set(GPIO2_D4);
|
||||
iomux_set(GPIO0_C4);
|
||||
iomux_set(GPIO0_C5);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -521,7 +521,7 @@ static int rk_fb_io_enable(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
#if defined(CONFIG_LCDC0_RK3066B)
|
||||
#if defined(CONFIG_LCDC0_RK3066B) || defined(CONFIG_LCDC0_RK3188)
|
||||
struct rk29fb_info lcdc0_screen_info = {
|
||||
.prop = PRMRY, //primary display device
|
||||
.io_init = rk_fb_io_init,
|
||||
@@ -531,7 +531,7 @@ struct rk29fb_info lcdc0_screen_info = {
|
||||
};
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_LCDC1_RK3066B)
|
||||
#if defined(CONFIG_LCDC1_RK3066B) || defined(CONFIG_LCDC1_RK3188)
|
||||
struct rk29fb_info lcdc1_screen_info = {
|
||||
#if defined(CONFIG_RK_HDMI)
|
||||
.prop = EXTEND, //extend display device
|
||||
@@ -570,7 +570,7 @@ static struct platform_device device_fb = {
|
||||
};
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_LCDC0_RK3066B)
|
||||
#if defined(CONFIG_LCDC0_RK3066B) || defined(CONFIG_LCDC0_RK3188)
|
||||
static struct resource resource_lcdc0[] = {
|
||||
[0] = {
|
||||
.name = "lcdc0 reg",
|
||||
@@ -597,7 +597,7 @@ static struct platform_device device_lcdc0 = {
|
||||
},
|
||||
};
|
||||
#endif
|
||||
#if defined(CONFIG_LCDC1_RK3066B)
|
||||
#if defined(CONFIG_LCDC1_RK3066B) || defined(CONFIG_LCDC1_RK3188)
|
||||
static struct resource resource_lcdc1[] = {
|
||||
[0] = {
|
||||
.name = "lcdc1 reg",
|
||||
@@ -625,22 +625,12 @@ static struct platform_device device_lcdc1 = {
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_MFD_RK610)
|
||||
#if 1
|
||||
#define RK610_RST_PIN_MUX_NAME GPIO2C5_LCDC1DATA21_SMCADDR5_NAME
|
||||
#define RK610_RST_PIN_MUX_MODE GPIO2C_GPIO2C5
|
||||
#define RK610_RST_PIN RK30_PIN2_PC5
|
||||
#else
|
||||
#define RK610_RST_PIN_MUX_NAME GPIO2D6_SMCCSN1_NAME
|
||||
#define RK610_RST_PIN_MUX_MODE GPIO2D_GPIO2D6
|
||||
#define RK610_RST_PIN RK30_PIN2_PD6
|
||||
|
||||
#endif
|
||||
static int rk610_power_on_init(void)
|
||||
{
|
||||
int ret;
|
||||
if(RK610_RST_PIN != INVALID_GPIO)
|
||||
{
|
||||
rk30_mux_api_set(RK610_RST_PIN_MUX_NAME,RK610_RST_PIN_MUX_MODE);
|
||||
ret = gpio_request(RK610_RST_PIN, "rk610 reset");
|
||||
if (ret)
|
||||
{
|
||||
@@ -811,16 +801,15 @@ static struct platform_device device_ion = {
|
||||
static int rk29_sdmmc0_cfg_gpio(void)
|
||||
{
|
||||
#ifdef CONFIG_SDMMC_RK29_OLD
|
||||
rk30_mux_api_set(GPIO3B1_SDMMC0CMD_NAME, GPIO3B_SDMMC0_CMD);
|
||||
rk30_mux_api_set(GPIO3B0_SDMMC0CLKOUT_NAME, GPIO3B_SDMMC0_CLKOUT);
|
||||
rk30_mux_api_set(GPIO3B2_SDMMC0DATA0_NAME, GPIO3B_SDMMC0_DATA0);
|
||||
rk30_mux_api_set(GPIO3B3_SDMMC0DATA1_NAME, GPIO3B_SDMMC0_DATA1);
|
||||
rk30_mux_api_set(GPIO3B4_SDMMC0DATA2_NAME, GPIO3B_SDMMC0_DATA2);
|
||||
rk30_mux_api_set(GPIO3B5_SDMMC0DATA3_NAME, GPIO3B_SDMMC0_DATA3);
|
||||
iomux_set(MMC0_CMD);
|
||||
iomux_set(MMC0_CLKOUT);
|
||||
iomux_set(MMC0_DATA0);
|
||||
iomux_set(MMC0_DATA1);
|
||||
iomux_set(MMC0_DATA2);
|
||||
iomux_set(MMC0_DATA3);
|
||||
|
||||
rk30_mux_api_set(GPIO3B6_SDMMC0DETECTN_NAME, GPIO3B_GPIO3B6);
|
||||
iomux_set_gpio_mode(iomux_mode_to_gpio(MMC0_DETN));
|
||||
|
||||
rk30_mux_api_set(GPIO3A7_SDMMC0PWREN_NAME, GPIO3A_GPIO3A7);
|
||||
gpio_request(RK30_PIN3_PA7, "sdmmc-power");
|
||||
gpio_direction_output(RK30_PIN3_PA7, GPIO_LOW);
|
||||
|
||||
@@ -828,9 +817,9 @@ static int rk29_sdmmc0_cfg_gpio(void)
|
||||
rk29_sdmmc_set_iomux(0, 0xFFFF);
|
||||
|
||||
#if defined(CONFIG_SDMMC0_RK29_SDCARD_DET_FROM_GPIO)
|
||||
rk30_mux_api_set(RK29SDK_SD_CARD_DETECT_PIN_NAME, RK29SDK_SD_CARD_DETECT_IOMUX_FGPIO);
|
||||
iomux_set_gpio_mode(iomux_mode_to_gpio(MMC0_DETN));
|
||||
#else
|
||||
rk30_mux_api_set(RK29SDK_SD_CARD_DETECT_PIN_NAME, RK29SDK_SD_CARD_DETECT_IOMUX_FMUX);
|
||||
iomux_set(MMC0_DETN);
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_SDMMC0_RK29_WRITE_PROTECT)
|
||||
@@ -914,12 +903,12 @@ struct rk29_sdmmc_platform_data default_sdmmc0_data = {
|
||||
static int rk29_sdmmc1_cfg_gpio(void)
|
||||
{
|
||||
#if defined(CONFIG_SDMMC_RK29_OLD)
|
||||
rk30_mux_api_set(GPIO3C0_SMMC1CMD_NAME, GPIO3C_SMMC1_CMD);
|
||||
rk30_mux_api_set(GPIO3C5_SDMMC1CLKOUT_NAME, GPIO3C_SDMMC1_CLKOUT);
|
||||
rk30_mux_api_set(GPIO3C1_SDMMC1DATA0_NAME, GPIO3C_SDMMC1_DATA0);
|
||||
rk30_mux_api_set(GPIO3C2_SDMMC1DATA1_NAME, GPIO3C_SDMMC1_DATA1);
|
||||
rk30_mux_api_set(GPIO3C3_SDMMC1DATA2_NAME, GPIO3C_SDMMC1_DATA2);
|
||||
rk30_mux_api_set(GPIO3C4_SDMMC1DATA3_NAME, GPIO3C_SDMMC1_DATA3);
|
||||
iomux_set(MMC1_CMD);
|
||||
iomux_set(MMC1_CLKOUT);
|
||||
iomux_set(MMC1_D0);
|
||||
iomux_set(MMC1_D1);
|
||||
iomux_set(MMC1_D2);
|
||||
iomux_set(MMC1_D3);
|
||||
#else
|
||||
|
||||
#if defined(CONFIG_SDMMC1_RK29_WRITE_PROTECT)
|
||||
@@ -1057,9 +1046,8 @@ static struct pwm_platform_data pwm_regulator_info[1] = {
|
||||
{
|
||||
.pwm_id = 1,
|
||||
.pwm_gpio = RK30_PIN3_PD4,
|
||||
.pwm_iomux_name = GPIO3D4_PWM1_JTAGTRSTN_NAME,
|
||||
.pwm_iomux_pwm = GPIO3D_PWM1,
|
||||
.pwm_iomux_gpio = GPIO3D_GPIO3D4,
|
||||
.pwm_iomux_pwm = PWM1,
|
||||
.pwm_iomux_gpio = GPIO3_D4,
|
||||
.pwm_voltage = 1100000,
|
||||
.suspend_voltage = 1050000,
|
||||
.min_uV = 950000,
|
||||
@@ -1095,8 +1083,8 @@ static struct rfkill_rk_platform_data rfkill_rk_platdata = {
|
||||
.io = INVALID_GPIO, //RK30_PIN3_PC7,
|
||||
.enable = GPIO_HIGH,
|
||||
.iomux = {
|
||||
.name = GPIO3C7_SDMMC1WRITEPRT_RMIICRS_NAME,
|
||||
.fgpio = GPIO3C_GPIO3C7,
|
||||
.name = "bt_poweron",
|
||||
.fgpio = GPIO3_C7,
|
||||
},
|
||||
},
|
||||
|
||||
@@ -1104,8 +1092,8 @@ static struct rfkill_rk_platform_data rfkill_rk_platdata = {
|
||||
.io = RK30_PIN3_PC7, // set io to INVALID_GPIO for disable it
|
||||
.enable = GPIO_LOW,
|
||||
.iomux = {
|
||||
.name = GPIO3C7_SDMMC1WRITEPRT_RMIICRS_NAME,
|
||||
.fgpio = GPIO3C_GPIO3C7,
|
||||
.name = "bt_reset",
|
||||
.fgpio = GPIO3_C7,
|
||||
},
|
||||
},
|
||||
|
||||
@@ -1113,8 +1101,8 @@ static struct rfkill_rk_platform_data rfkill_rk_platdata = {
|
||||
.io = RK30_PIN3_PC6, // set io to INVALID_GPIO for disable it
|
||||
.enable = GPIO_HIGH,
|
||||
.iomux = {
|
||||
.name = GPIO3C6_SDMMC1DETECTN_RMIIRXERR_NAME,
|
||||
.fgpio = GPIO3C_GPIO3C6,
|
||||
.name = "bt_wake",
|
||||
.fgpio = GPIO3_C6,
|
||||
},
|
||||
},
|
||||
|
||||
@@ -1132,9 +1120,9 @@ static struct rfkill_rk_platform_data rfkill_rk_platdata = {
|
||||
.io = RK30_PIN1_PA3, // set io to INVALID_GPIO for disable it
|
||||
.enable = GPIO_LOW,
|
||||
.iomux = {
|
||||
.name = GPIO1A3_UART0RTSN_NAME,
|
||||
.fgpio = GPIO1A_GPIO1A3,
|
||||
.fmux = GPIO1A_UART0RTSN,
|
||||
.name = "bt_rts",
|
||||
.fgpio = GPIO1_A3,
|
||||
.fmux = UART0_RTSN,
|
||||
},
|
||||
},
|
||||
};
|
||||
@@ -1153,23 +1141,19 @@ int rk_gps_io_init(void)
|
||||
{
|
||||
printk("%s \n", __FUNCTION__);
|
||||
|
||||
rk30_mux_api_set(GPIO1B5_UART3RTSN_NAME, GPIO1B_GPIO1B5);//VCC_EN
|
||||
gpio_request(RK30_PIN1_PB5, NULL);
|
||||
gpio_direction_output(RK30_PIN1_PB5, GPIO_LOW);
|
||||
|
||||
rk30_mux_api_set(GPIO1B4_UART3CTSN_GPSRFCLK_NAME, GPIO1B_GPSRFCLK);//GPS_CLK
|
||||
rk30_mux_api_set(GPIO1B2_UART3SIN_GPSMAG_NAME, GPIO1B_GPSMAG);//GPS_MAG
|
||||
rk30_mux_api_set(GPIO1B3_UART3SOUT_GPSSIG_NAME, GPIO1B_GPSSIG);//GPS_SIGN
|
||||
iomux_set(GPS_RFCLK);//GPS_CLK
|
||||
iomux_set(GPS_MAG);//GPS_MAG
|
||||
iomux_set(GPS_SIG);//GPS_SIGN
|
||||
|
||||
rk30_mux_api_set(GPIO1A6_UART1CTSN_SPI0CLK_NAME, GPIO1A_GPIO1A6);//SPI_CLK
|
||||
gpio_request(RK30_PIN1_PA6, NULL);
|
||||
gpio_direction_output(RK30_PIN1_PA6, GPIO_LOW);
|
||||
|
||||
rk30_mux_api_set(GPIO1A5_UART1SOUT_SPI0TXD_NAME, GPIO1A_GPIO1A5);//SPI_MOSI
|
||||
gpio_request(RK30_PIN1_PA5, NULL);
|
||||
gpio_direction_output(RK30_PIN1_PA5, GPIO_LOW);
|
||||
|
||||
rk30_mux_api_set(GPIO1A7_UART1RTSN_SPI0CSN0_NAME, GPIO1A_GPIO1A7);//SPI_CS
|
||||
gpio_request(RK30_PIN1_PA7, NULL);
|
||||
gpio_direction_output(RK30_PIN1_PA7, GPIO_LOW);
|
||||
return 0;
|
||||
@@ -1239,10 +1223,10 @@ static struct platform_device *devices[] __initdata = {
|
||||
#ifdef CONFIG_FB_ROCKCHIP
|
||||
&device_fb,
|
||||
#endif
|
||||
#if defined(CONFIG_LCDC0_RK3066B)
|
||||
#if defined(CONFIG_LCDC0_RK3066B) || defined(CONFIG_LCDC0_RK3188)
|
||||
&device_lcdc0,
|
||||
#endif
|
||||
#if defined(CONFIG_LCDC1_RK3066B)
|
||||
#if defined(CONFIG_LCDC1_RK3066B) || defined(CONFIG_LCDC1_RK3188)
|
||||
&device_lcdc1,
|
||||
#endif
|
||||
|
||||
@@ -1712,12 +1696,12 @@ void __sramfunc rk30_pwm_logic_suspend_voltage(void)
|
||||
|
||||
// int gpio0d7_iomux,gpio0d7_do,gpio0d7_dir,gpio0d7_en;
|
||||
sram_udelay(10000);
|
||||
gpio3d6_iomux = readl_relaxed(GRF_GPIO3D_IOMUX);
|
||||
gpio3d6_iomux = grf_readl(GRF_GPIO3D_IOMUX);
|
||||
gpio3d6_do = grf_readl(GRF_GPIO3H_DO);
|
||||
gpio3d6_dir = grf_readl(GRF_GPIO3H_DIR);
|
||||
gpio3d6_en = grf_readl(GRF_GPIO3H_EN);
|
||||
|
||||
writel_relaxed((1<<28), GRF_GPIO3D_IOMUX);
|
||||
grf_writel((1<<28), GRF_GPIO3D_IOMUX);
|
||||
grf_writel((1<<30)|(1<<14), GRF_GPIO3H_DIR);
|
||||
grf_writel((1<<30)|(1<<14), GRF_GPIO3H_DO);
|
||||
grf_writel((1<<30)|(1<<14), GRF_GPIO3H_EN);
|
||||
@@ -1726,7 +1710,7 @@ void __sramfunc rk30_pwm_logic_suspend_voltage(void)
|
||||
void __sramfunc rk30_pwm_logic_resume_voltage(void)
|
||||
{
|
||||
#ifdef CONFIG_RK30_PWM_REGULATOR
|
||||
writel_relaxed((1<<28)|gpio3d6_iomux, GRF_GPIO3D_IOMUX);
|
||||
grf_writel((1<<28)|gpio3d6_iomux, GRF_GPIO3D_IOMUX);
|
||||
grf_writel((1<<30)|gpio3d6_en, GRF_GPIO3H_EN);
|
||||
grf_writel((1<<30)|gpio3d6_dir, GRF_GPIO3H_DIR);
|
||||
grf_writel((1<<30)|gpio3d6_do, GRF_GPIO3H_DO);
|
||||
|
||||
Reference in New Issue
Block a user