[PATCH 5/6] ARM: at91: add ram controller DT support
Rob Herring
robherring2 at gmail.com
Thu Mar 8 09:12:31 EST 2012
On 03/08/2012 12:13 AM, Jean-Christophe PLAGNIOL-VILLARD wrote:
>>> diff --git a/arch/arm/mach-at91/include/mach/at91sam9x5.h b/arch/arm/mach-at91/include/mach/at91sam9x5.h
>>> index a297a77..88e43d5 100644
>>> --- a/arch/arm/mach-at91/include/mach/at91sam9x5.h
>>> +++ b/arch/arm/mach-at91/include/mach/at91sam9x5.h
>>> @@ -55,11 +55,6 @@
>>> #define AT91SAM9X5_BASE_USART2 0xf8024000
>>>
>>> /*
>>> - * System Peripherals
>>> - */
>>> -#define AT91SAM9X5_BASE_DDRSDRC0 0xffffe800
>>> -
>>> -/*
>>> * Base addresses for early serial code (uncompress.h)
>>> */
>>> #define AT91_DBGU AT91_BASE_DBGU0
>>> diff --git a/arch/arm/mach-at91/setup.c b/arch/arm/mach-at91/setup.c
>>> index 3e48b59..f86450d 100644
>>> --- a/arch/arm/mach-at91/setup.c
>>> +++ b/arch/arm/mach-at91/setup.c
>>> @@ -315,12 +315,33 @@ static void at91_dt_rstc(void)
>>> of_node_put(np);
>>> }
>>>
>>> +static struct of_device_id ramc_ids[] = {
>>> + { .compatible = "atmel,at91sam9260-sdramc" },
>>> + { .compatible = "atmel,at91sam9g45-ddramc" },
>>> + { /*sentinel*/ }
>>> +};
>>> +
>>> +static void at91_dt_ramc(void)
>>> +{
>>> + struct device_node *np;
>>> +
>>> + np = of_find_matching_node(NULL, ramc_ids);
>>> + if (!np)
>>> + panic("unable to find compatible ram conroller node in dtb\n");
>>
>> You really can't boot if this fails? A WARN is better if it allows you
>> to boot until at least your console is actually up.
> if the restart is called you will have a oops so no it's a basic mandatory
> device on at91
>
But you may never see the panic message because your console is not up.
If you WARN and can continue to boot, then the user can see the problem
and fix it. Otherwise you get nothing and have to go rebuild and turn on
earlyprintk.
Rob
More information about the linux-arm-kernel
mailing list