From mboxrd@z Thu Jan 1 00:00:00 1970 From: Baruch Siach Date: Sun, 08 Mar 2020 06:38:33 +0200 Subject: [PATCH 2/4] mx6cuboxi: enable MMC iomux on board_early_init_f In-Reply-To: <20200304144125.8564-3-walter.lozano@collabora.com> References: <20200304144125.8564-1-walter.lozano@collabora.com> <20200304144125.8564-3-walter.lozano@collabora.com> Message-ID: <878skbxxyu.fsf@tarshish> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Walter, Thanks for your SPL_DM support work on this platform. One comment inline below. On Wed, Mar 04 2020, Walter Lozano wrote: > MMC iomux is done on board_mmc_init which is valid when DM_MMC is not > enabled. After enabling it, the iomux setup needs to be moved to a > valid place. > > This patch moves the MMC iomux to board_early_init_f where other iomux > is done. > > Signed-off-by: Walter Lozano > --- > board/solidrun/mx6cuboxi/mx6cuboxi.c | 25 +++++++++++++++++++++++++ > 1 file changed, 25 insertions(+) > > diff --git a/board/solidrun/mx6cuboxi/mx6cuboxi.c b/board/solidrun/mx6cuboxi/mx6cuboxi.c > index 6a96f9ecdb..71c77ad2a2 100644 > --- a/board/solidrun/mx6cuboxi/mx6cuboxi.c > +++ b/board/solidrun/mx6cuboxi/mx6cuboxi.c > @@ -179,6 +179,28 @@ int board_mmc_get_env_dev(int devno) > > #define USDHC2_CD_GPIO IMX_GPIO_NR(1, 4) > > +static int setup_iomux_mmc(void) > +{ > + struct src *psrc = (struct src *)SRC_BASE_ADDR; > + unsigned reg = readl(&psrc->sbmr1) >> 11; This mostly duplicates the existing mmc_init_spl() routine. As I understand, mmc_init_spl() becomes dead code once you enable CONFIG_SPL_DM in patch #4 of this series. Can you remove mmc_init_spl() in a followup patch? Both struct fsl_esdhc_cfg can also be removed, I believe. baruch > + > + /* > + * Upon reading BOOT_CFG register the following map is done: > + * Bit 11 and 12 of BOOT_CFG register can determine the current > + * mmc port > + * 0x1 SD2 > + * 0x2 SD3 > + */ > + switch (reg & 0x3) { > + case 0x1: > + SETUP_IOMUX_PADS(usdhc2_pads); > + case 0x2: > + SETUP_IOMUX_PADS(usdhc3_pads); > + } > + > + return 0; > +} > + > int board_mmc_getcd(struct mmc *mmc) > { > struct fsl_esdhc_cfg *cfg = mmc->priv; > @@ -432,9 +454,12 @@ int board_early_init_f(void) > { > setup_iomux_uart(); > > + setup_iomux_mmc(); > + > #ifdef CONFIG_CMD_SATA > setup_sata(); > #endif > + > return 0; > } -- http://baruch.siach.name/blog/ ~. .~ Tk Open Systems =}------------------------------------------------ooO--U--Ooo------------{= - baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -