
Hi Eric,
On 17/11/2013 18:17, Eric Nelson wrote:
Since the nitrogen6x board file auto-detects Nitrogen6x and SABRE Lite boards, override set_board_name to produce one of two values for board_name.
Signed-off-by: Eric Nelson eric.nelson@boundarydevices.com
board/boundary/nitrogen6x/nitrogen6x.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/board/boundary/nitrogen6x/nitrogen6x.c b/board/boundary/nitrogen6x/nitrogen6x.c index 616ad55..aa9717a 100644 --- a/board/boundary/nitrogen6x/nitrogen6x.c +++ b/board/boundary/nitrogen6x/nitrogen6x.c @@ -756,9 +756,14 @@ int board_init(void) return 0; }
+static inline int is_n6x(void) +{
- return gpio_get_value(WL12XX_WL_IRQ_GP);
+}
int checkboard(void) {
- if (gpio_get_value(WL12XX_WL_IRQ_GP))
- if (is_n6x()) puts("Board: Nitrogen6X\n"); else puts("Board: SABRE Lite\n");
@@ -766,6 +771,13 @@ int checkboard(void) return 0; }
+void set_board_name(void) +{
- char *old = getenv("board_name");
Agree on the name: board_name was already introduced in u-boot.
- if (!old)
setenv("board_name", is_n6x() ? "nitrogen6x" : "sabrelite");
I have a major question: if it is possible to detect at runtime, as you have already implemented, which is the board where code is running, why is it possible to override it for the operator ? I agree that forcing environment variables inside code is bad, but in this case it is a hardware related stuff. It is like to the processor type or the serial-id of the processor (variable dieid# on OMAP). Overriding seems weird.
Best regards, Stefano Babic