[PATCH v2 2/6] ARM: at91: xload-mmc: add sama5d3_atmci_start_image() helper
Ahmad Fatoum
a.fatoum at pengutronix.de
Fri Apr 23 16:56:43 BST 2021
Hi,
On 23.04.21 17:54, Oleksij Rempel wrote:
> Am 23.04.21 um 17:26 schrieb Ahmad Fatoum:
>> Hello Oleksij,
>>
>> On 23.04.21 16:28, Oleksij Rempel wrote:
>>> +void __noreturn sama5d3_atmci_start_image(u32 boot_src, unsigned int clock,
>>> + unsigned int slot)
>>> +{
>>> + void *buf = (void *)SAMA5_DDRCS;
>>> + const struct atmci_instance *instance;
>>> + struct pbl_bio bio;
>>> + const s8 *pin;
>>> + int ret;
>>> +
>>> + ret = sama5_bootsource_instance(boot_src);
>>> + if (ret > ARRAY_SIZE(atmci_instances) - 1)
>>> + panic("Couldn't determine boot MCI instance\n");
>>> +
>>> + instance = &atmci_instances[boot_src];
>>
>> What's the difference between slot and instance?
>
> there are 3 MCI controllers (instances), each controller has multiple
> slots. Usually slots board specific and configured over devicetree.
>
>> Looks to me like you could drop slot in favor of instance and support
>> booting from any controller with the same image?
>
> Currently it is not supported. For some reasons i was not able to detect
> boot source. In any case, this can be investigated separately if some
> will need this functionality.
Ok.
>
>>> +
>>> + sama5d3_pmc_enable_periph_clock(SAMA5D2_ID_PIOD);
>>> + for (pin = instance->pins; *pin >= 0; pin++) {
>>> + at91_mux_pio3_pin(IOMEM(SAMA5D3_BASE_PIOD),
>>> + pin_to_mask(*pin), instance->periph, 0);
>>> + }
>>> +
>>> + sama5d3_pmc_enable_periph_clock(instance->id);
>>> +
>>> + ret = at91_mci_bio_init(&bio, instance->base, clock, slot);
>>> + if (ret)
>>> + goto out_panic;
>>> +
>>> + at91_fat_start_image(&bio, buf, SZ_16M, boot_src);
>>> +
>>> +out_panic:
>>> + panic("FAT chainloading failed\n");
>>> +}
>>>
>>
>
>
> --
> Regards,
> Oleksij
>
--
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