[PATCH v1 1/6] mci: atmel_mci: add PBL support

Sascha Hauer sha at pengutronix.de
Mon May 3 04:39:44 PDT 2021


On Fri, Apr 23, 2021 at 04:14:44PM +0200, Oleksij Rempel wrote:
> On Tue, Apr 13, 2021 at 06:58:10AM +0200, Sascha Hauer wrote:
> > On Fri, Apr 09, 2021 at 03:11:44PM +0200, Oleksij Rempel wrote:
> > > +int at91_mci_bio_init(struct pbl_bio *bio, void __iomem *base,
> > > +		      unsigned int clock, unsigned int slot)
> > > +{
> > > +	struct atmel_mci_priv *priv = &atmci_sdcard;
> > > +	struct atmel_mci *host = &priv->host;
> > > +	struct mci_ios ios = { .bus_width = MMC_BUS_WIDTH_4, .clock = 25000000 };
> > > +
> > > +	bio->priv = priv;
> > > +	bio->read = at91_mci_bio_read;
> > > +
> > > +	host->regs = base;
> > > +
> > > +	atmci_get_cap(host);
> > > +
> > > +	/* get real HZ */
> > > +	host->bus_hz = clock;
> > > +
> > > +	host->slot_b = slot;
> > > +	if (host->slot_b)
> > > +		host->sdc_reg = ATMCI_SDCSEL_SLOT_B;
> > > +	else
> > > +		host->sdc_reg = ATMCI_SDCSEL_SLOT_A;
> > > +
> > > +	atmci_writel(host, ATMCI_DTOR, 0x7f);
> > > +
> > > +	atmci_common_set_ios(host, &ios);
> > 
> > Is it necessary to call this? The ROM should have already configured the
> > controller. By relying on this you could drop the controller
> > initialization code from PBL.
> 
> We get MCI controller in disabled state. I do not see any way to avoid
> reconfiguration.

So on Atmel the ROM cleans up after itself, so in that case you have to
re-initialize it of course. i.MX doesn't do this, so I asked.

Sascha


-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list