dm: arm: imx: cx9020: enable DM_GPIO

Switch to DM_GPIO and add gpio_request where necessary.
This is needed for DM_VIDEO and fixes an issue with sd card detection
which was introduced by the combination of these commits:

commit 7a0425dd96 ("mmc: fsl_esdhc: make get_cd work well in dm_mmc_ops")
commit 7e04b4c751 ("dm: arm: imx: migrate cx9020 to CONFIG_DM_MMC")

Acked-by: Patrick Bruenn <p.bruenn@beckhoff.com>
Signed-off-by: Steffen Dirkwinkel <s.dirkwinkel@beckhoff.com>
This commit is contained in:
Steffen Dirkwinkel 2019-04-17 13:57:14 +02:00 committed by Anatolij Gustschin
parent d500683691
commit 08cc54f071
3 changed files with 24 additions and 4 deletions

View file

@ -91,6 +91,9 @@ void weim_cs0_settings(u32 mode)
static void setup_gpio_eim(void)
{
gpio_request(GPIO_C3_STATUS, "GPIO_C3_STATUS");
gpio_request(GPIO_C3_DONE, "GPIO_C3_DONE");
gpio_request(GPIO_C3_CONFIG, "GPIO_C3_CONFIG");
gpio_direction_input(GPIO_C3_STATUS);
gpio_direction_input(GPIO_C3_DONE);
gpio_direction_output(GPIO_C3_CONFIG, 1);
@ -100,6 +103,7 @@ static void setup_gpio_eim(void)
static void setup_gpio_sups(void)
{
gpio_request(GPIO_SUPS_INT, "GPIO_SUPS_INT");
gpio_direction_input(GPIO_SUPS_INT);
static const int BLINK_INTERVALL = 50000;
@ -116,6 +120,16 @@ static void setup_gpio_sups(void)
static void setup_gpio_leds(void)
{
gpio_request(GPIO_LED_SD2_R, "GPIO_LED_SD2_R");
gpio_request(GPIO_LED_SD2_B, "GPIO_LED_SD2_B");
gpio_request(GPIO_LED_SD2_G, "GPIO_LED_SD2_G");
gpio_request(GPIO_LED_SD1_R, "GPIO_LED_SD1_R");
gpio_request(GPIO_LED_SD1_B, "GPIO_LED_SD1_B");
gpio_request(GPIO_LED_SD1_G, "GPIO_LED_SD1_G");
gpio_request(GPIO_LED_PWR_R, "GPIO_LED_PWR_R");
gpio_request(GPIO_LED_PWR_B, "GPIO_LED_PWR_B");
gpio_request(GPIO_LED_PWR_G, "GPIO_LED_PWR_G");
gpio_direction_output(GPIO_LED_SD2_R, 0);
gpio_direction_output(GPIO_LED_SD2_B, 0);
gpio_direction_output(GPIO_LED_SD2_G, 0);
@ -147,6 +161,8 @@ int board_mmc_getcd(struct mmc *mmc)
struct fsl_esdhc_cfg *cfg = (struct fsl_esdhc_cfg *)mmc->priv;
int ret;
gpio_request(GPIO_SD1_CD, "GPIO_SD1_CD");
gpio_request(GPIO_SD2_CD, "GPIO_SD2_CD");
gpio_direction_input(GPIO_SD1_CD);
gpio_direction_input(GPIO_SD2_CD);
@ -212,10 +228,6 @@ static void clock_1GHz(void)
int board_early_init_f(void)
{
setup_gpio_leds();
setup_gpio_sups();
setup_gpio_eim();
setup_iomux_lcd();
return 0;
}
@ -235,6 +247,11 @@ int board_init(void)
mxc_set_sata_internal_clock();
setup_gpio_leds();
setup_gpio_sups();
setup_gpio_eim();
setup_iomux_lcd();
return 0;
}

View file

@ -36,6 +36,7 @@ void setup_iomux_lcd(void)
{
/* Turn on DVI_PWD */
imx_iomux_v3_setup_pad(MX53_PAD_CSI0_DAT15__GPIO6_1);
gpio_request(CX9020_DVI_PWD, "CX9020_DVI_PWD");
gpio_direction_output(CX9020_DVI_PWD, 1);
}

View file

@ -24,7 +24,9 @@ CONFIG_DEFAULT_DEVICE_TREE="imx53-cx9020"
CONFIG_ENV_IS_IN_MMC=y
CONFIG_FPGA_ALTERA=y
CONFIG_FPGA_CYCLON2=y
CONFIG_DM=y
CONFIG_DM_MMC=y
CONFIG_DM_GPIO=y
CONFIG_FSL_ESDHC=y
CONFIG_FEC_MXC=y
CONFIG_MII=y