[U-Boot] [PATCH 2/2] OMAP3: igep00x0: Add new IGEP COM PROTON.

Javier Martinez Canillas martinez.javier at gmail.com
Wed Feb 6 15:57:49 CET 2013


On Wed, Feb 6, 2013 at 3:42 PM, Enric Balletbo Serra
<eballetbo at gmail.com> wrote:
> Hi Javier,
>

Hi Enric,

> Thanks for your comments.
>
> 2013/2/6 Javier Martinez Canillas <javier at dowhile0.org>:
>> Hi Enric,
>>
>> On Wed, Feb 6, 2013 at 9:29 AM, Enric Balletbo i Serra
>> <eballetbo at gmail.com> wrote:
>>> From: Enric Balletbo i Serra <eballetbo at iseebcn.com>
>>>
>>> The IGEP COM PROTON is a new ultra compact module design with an
>>> on-board ethernet controller.
>>>
>>> Signed-off-by: Enric Balletbo i Serra <eballetbo at iseebcn.com>
>>> ---
>>>  MAINTAINERS                    |    1 +
>>>  board/isee/igep00x0/igep00x0.c |    3 +++
>>>  board/isee/igep00x0/igep00x0.h |    3 +++
>>>  boards.cfg                     |    1 +
>>>  4 files changed, 8 insertions(+)
>>>
>>> diff --git a/MAINTAINERS b/MAINTAINERS
>>> index d3ed390..1aed6d9 100644
>>> --- a/MAINTAINERS
>>> +++ b/MAINTAINERS
>>> @@ -607,6 +607,7 @@ Enric Balletbo i Serra <eballetbo at iseebcn.com>
>>>
>>>         igep0020        ARM ARMV7 (OMAP3xx SoC)
>>>         igep0030        ARM ARMV7 (OMAP3xx SoC)
>>> +       igep0032        ARM ARMV7 (OMAP3xx SoC)
>>>
>>>  Eric Benard <eric at eukrea.com>
>>>
>>> diff --git a/board/isee/igep00x0/igep00x0.c b/board/isee/igep00x0/igep00x0.c
>>> index 49fcf34..93aea8b 100644
>>> --- a/board/isee/igep00x0/igep00x0.c
>>> +++ b/board/isee/igep00x0/igep00x0.c
>>> @@ -68,8 +68,11 @@ void show_boot_progress(int val)
>>>                 return;
>>>         }
>>>
>>> +/* Skip in the case of IGEP0032 machine */
>>> +#if !(CONFIG_MACH_TYPE == MACH_TYPE_IGEP0032)
>>>         if (!gpio_request(IGEP00X0_GPIO_LED, ""))
>>>                 gpio_direction_output(IGEP00X0_GPIO_LED, 1);
>>> +#endif
>>>  }
>>>  #endif
>>>
>>
>> So, this board doesn't have a GPIO LED to show it boot status?
>>
>
> Yes, it has but not connected to one OMAP GPIO. There is a led to
> indicate power and two leds connected to TWL. Maybe I could use one of
> them but meanwhile I decided don't use these leds.
>

Agree

>> If that's the case I think there is no point to call show_boot_progress().
>> Since this function is only compiled when CONFIG_SHOW_BOOT_PROGRESS
>> is defined. I think that a better approach is to just define it for the
>> machines that have a boot progress GPIO LED. e.g:
>>
>> diff --git a/include/configs/igep00x0.h b/include/configs/igep00x0.h
>> index 88eadb4..98eed0f 100644
>> --- a/include/configs/igep00x0.h
>> +++ b/include/configs/igep00x0.h
>> @@ -85,8 +85,11 @@
>>  #define CONFIG_OMAP_HSMMC              1
>>  #define CONFIG_DOS_PARTITION           1
>>
>> +#if (CONFIG_MACH_TYPE == MACH_TYPE_IGEP0020) || \
>> +    (CONFIG_MACH_TYPE == MACH_TYPE_IGEP0030)
>>  /* define to enable boot progress via leds */
>>  #define CONFIG_SHOW_BOOT_PROGRESS
>> +#endif
>>
>
> The problem is: if I disable the call to show_boot_progress in
> igep00x0.h I'll get a compilation error in this function because
> IGEP00X0_GPIO_LED is undeclared, so necessarily I need to protect the
> call in igep00x0.c against this undefined reference. For that reason I
> used the ifdef inside the show_boot_progress implementation.
>

I'm confused now, why would that happen?

IGEP00X0_GPIO_LED is only used in show_boot_progress and this function
his shielded by:

#if defined(CONFIG_SHOW_BOOT_PROGRESS) && !defined(CONFIG_SPL_BUILD)
void show_boot_progress(int val)
{
       if (val < 0) {
               /* something went wrong */
               return;
       }

       if (!gpio_request(IGEP00X0_GPIO_LED, ""))
               gpio_direction_output(IGEP00X0_GPIO_LED, 1);
}
#endif

Which means that this function is only build when
CONFIG_SHOW_BOOT_PROGRESS is defined.

So, I don't see why not defining CONFIG_SHOW_BOOT_PROGRESS for
MACH_TYPE_IGEP0032
could lead to that build error (after all IGEP00X0_GPIO_LED is not
been used in any other place)

>>  /* USB */
>>  #define CONFIG_MUSB_UDC                        1
>>
>>> diff --git a/board/isee/igep00x0/igep00x0.h b/board/isee/igep00x0/igep00x0.h
>>> index dbc7cf6..f5fce9c 100644
>>> --- a/board/isee/igep00x0/igep00x0.h
>>> +++ b/board/isee/igep00x0/igep00x0.h
>>> @@ -39,6 +39,9 @@ const omap3_sysinfo sysinfo = {
>>>  #if (CONFIG_MACH_TYPE == MACH_TYPE_IGEP0030)
>>>         "IGEP COM MODULE/ELECTRON",
>>>  #endif
>>> +#if (CONFIG_MACH_TYPE == MACH_TYPE_IGEP0032)
>>> +       "IGEP COM PROTON",
>>> +#endif
>>>  #if defined(CONFIG_ENV_IS_IN_ONENAND)
>>>         "ONENAND",
>>>  #else
>>> diff --git a/boards.cfg b/boards.cfg
>>> index 691a32a..8453836 100644
>>> --- a/boards.cfg
>>> +++ b/boards.cfg
>>> @@ -259,6 +259,7 @@ igep0020                     arm         armv7       igep00x0            isee
>>>  igep0020_nand                arm         armv7       igep00x0            isee           omap3          igep00x0:MACH_TYPE=MACH_TYPE_IGEP0020,BOOT_NAND
>>>  igep0030                     arm         armv7       igep00x0            isee           omap3          igep00x0:MACH_TYPE=MACH_TYPE_IGEP0030,BOOT_ONENAND
>>>  igep0030_nand                arm         armv7       igep00x0            isee           omap3          igep00x0:MACH_TYPE=MACH_TYPE_IGEP0030,BOOT_NAND
>>> +igep0032                     arm         armv7       igep00x0            isee           omap3          igep00x0:MACH_TYPE=MACH_TYPE_IGEP0032,BOOT_ONENAND
>>>  am3517_evm                   arm         armv7       am3517evm           logicpd        omap3
>>>  mt_ventoux                   arm         armv7       mt_ventoux          teejet         omap3
>>>  omap3_zoom1                  arm         armv7       zoom1               logicpd        omap3
>>> --
>>
>>  This doesn't have a NAND version too like IGEP0020 and IGEP0030 boards?
>>
>
> No, the IGEP0032 only has OneNAND.
>

Perfect, I just asked since other IGEP boards used both flash memory types.

>> You said that this board has an on-board ethernet controller. Does
>> this board use the
>> SMC911X chip connected to the OMAP GPMC too? In that case I guess you need
>> something like this to have CONFIG_CMD_NET enabled on
>> board/isee/igep00x0/igep00x0.c
>> for this board too:
>>
>> diff --git a/include/configs/igep00x0.h b/include/configs/igep00x0.h
>> index 0e7f924..88eadb4 100644
>> --- a/include/configs/igep00x0.h
>> +++ b/include/configs/igep00x0.h
>> @@ -118,7 +118,8 @@
>>  #ifdef CONFIG_BOOT_NAND
>>  #define CONFIG_CMD_NAND
>>  #endif
>> -#if (CONFIG_MACH_TYPE == MACH_TYPE_IGEP0020)
>> +#if (CONFIG_MACH_TYPE == MACH_TYPE_IGEP0020) || \
>> +    (CONFIG_MACH_TYPE == MACH_TYPE_IGEP0032)
>>  #define CONFIG_CMD_NET         /* bootp, tftpboot, rarpboot    */
>>  #endif
>>  #define CONFIG_CMD_DHCP
>>
>
> Right, I'll add this in version 2.
>

Great

> Thanks and best regards,
>    Enric
>

Thanks a lot and best regards,
Javier


More information about the U-Boot mailing list