drivers/disk: sdmmc: stm32: use new pinctrl API
Use the new pinctrl API to configure pins. Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
This commit is contained in:
parent
3dde131cb8
commit
d55905b2f7
2 changed files with 6 additions and 27 deletions
|
@ -10,7 +10,7 @@
|
||||||
#include <drivers/disk.h>
|
#include <drivers/disk.h>
|
||||||
#include <drivers/clock_control.h>
|
#include <drivers/clock_control.h>
|
||||||
#include <drivers/clock_control/stm32_clock_control.h>
|
#include <drivers/clock_control/stm32_clock_control.h>
|
||||||
#include <pinmux/pinmux_stm32.h>
|
#include <drivers/pinctrl.h>
|
||||||
#include <drivers/gpio.h>
|
#include <drivers/gpio.h>
|
||||||
#include <logging/log.h>
|
#include <logging/log.h>
|
||||||
#include <soc.h>
|
#include <soc.h>
|
||||||
|
@ -45,10 +45,7 @@ struct stm32_sdmmc_priv {
|
||||||
int flags;
|
int flags;
|
||||||
} pe;
|
} pe;
|
||||||
struct stm32_pclken pclken;
|
struct stm32_pclken pclken;
|
||||||
struct {
|
const struct pinctrl_dev_config *pcfg;
|
||||||
const struct soc_gpio_pinctrl *list;
|
|
||||||
size_t len;
|
|
||||||
} pinctrl;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef CONFIG_SDMMC_STM32_HWFC
|
#ifdef CONFIG_SDMMC_STM32_HWFC
|
||||||
|
@ -444,9 +441,7 @@ static int disk_stm32_sdmmc_init(const struct device *dev)
|
||||||
k_work_init(&priv->work, stm32_sdmmc_cd_handler);
|
k_work_init(&priv->work, stm32_sdmmc_cd_handler);
|
||||||
|
|
||||||
/* Configure dt provided device signals when available */
|
/* Configure dt provided device signals when available */
|
||||||
err = stm32_dt_pinctrl_configure(priv->pinctrl.list,
|
err = pinctrl_apply_state(priv->pcfg, PINCTRL_STATE_DEFAULT);
|
||||||
priv->pinctrl.len,
|
|
||||||
(uint32_t)priv->hsd.Instance);
|
|
||||||
if (err < 0) {
|
if (err < 0) {
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
@ -489,8 +484,7 @@ err_card_detect:
|
||||||
|
|
||||||
#if DT_NODE_HAS_STATUS(DT_DRV_INST(0), okay)
|
#if DT_NODE_HAS_STATUS(DT_DRV_INST(0), okay)
|
||||||
|
|
||||||
static const struct soc_gpio_pinctrl sdmmc_pins_1[] =
|
PINCTRL_DT_INST_DEFINE(0)
|
||||||
ST_STM32_DT_INST_PINCTRL(0, 0);
|
|
||||||
|
|
||||||
static void stm32_sdmmc_irq_config_func(const struct device *dev)
|
static void stm32_sdmmc_irq_config_func(const struct device *dev)
|
||||||
{
|
{
|
||||||
|
@ -524,10 +518,7 @@ static struct stm32_sdmmc_priv stm32_sdmmc_priv_1 = {
|
||||||
.bus = DT_INST_CLOCKS_CELL(0, bus),
|
.bus = DT_INST_CLOCKS_CELL(0, bus),
|
||||||
.enr = DT_INST_CLOCKS_CELL(0, bits),
|
.enr = DT_INST_CLOCKS_CELL(0, bits),
|
||||||
},
|
},
|
||||||
.pinctrl = {
|
.pcfg = PINCTRL_DT_INST_DEV_CONFIG_GET(0),
|
||||||
.list = sdmmc_pins_1,
|
|
||||||
.len = ARRAY_SIZE(sdmmc_pins_1)
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
DEVICE_DT_INST_DEFINE(0, disk_stm32_sdmmc_init, NULL,
|
DEVICE_DT_INST_DEFINE(0, disk_stm32_sdmmc_init, NULL,
|
||||||
|
|
|
@ -2,7 +2,7 @@ description: stm32 sdmmc disk access
|
||||||
|
|
||||||
compatible: "st,stm32-sdmmc"
|
compatible: "st,stm32-sdmmc"
|
||||||
|
|
||||||
include: mmc.yaml
|
include: [mmc.yaml, pinctrl-device.yaml]
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
clocks:
|
clocks:
|
||||||
|
@ -23,15 +23,3 @@ properties:
|
||||||
type: phandle-array
|
type: phandle-array
|
||||||
required: false
|
required: false
|
||||||
description: Power pin
|
description: Power pin
|
||||||
|
|
||||||
pinctrl-0:
|
|
||||||
type: phandles
|
|
||||||
required: false
|
|
||||||
description: |
|
|
||||||
Pin configuration for SDMMC signals.
|
|
||||||
We expect that the phandles will reference pinctrl nodes.
|
|
||||||
|
|
||||||
For example
|
|
||||||
pinctrl-0 = <&sdmmc1_d0_pc8 &sdmmc1_d1_pc9
|
|
||||||
&sdmmc1_d2_pc10 &sdmmc1_d3_pc11
|
|
||||||
&sdmmc1_ck_pc12 &sdmmc1_cmd_pd2>;
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue