From a937fd1682625b1f87b555e2af9117fcb2999d7c Mon Sep 17 00:00:00 2001 From: Igor Grinberg Date: Mon, 3 Nov 2014 11:32:18 +0200 Subject: compulab: refactor board revision handling Move board revision handling code to a common location for further reuse. Signed-off-by: Igor Grinberg Reviewed-by: Tom Rini --- board/compulab/common/common.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 board/compulab/common/common.c (limited to 'board/compulab/common/common.c') diff --git a/board/compulab/common/common.c b/board/compulab/common/common.c new file mode 100644 index 00000000000..6d2d7b0bd02 --- /dev/null +++ b/board/compulab/common/common.c @@ -0,0 +1,25 @@ +/* + * (C) Copyright 2014 CompuLab, Ltd. + * + * Authors: Igor Grinberg + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#include +#include + +#include "common.h" +#include "eeprom.h" + +void cl_print_pcb_info(void) +{ + u32 board_rev = get_board_rev(); + u32 rev_major = board_rev / 100; + u32 rev_minor = board_rev - (rev_major * 100); + + if ((rev_minor / 10) * 10 == rev_minor) + rev_minor = rev_minor / 10; + + printf("PCB: %u.%u\n", rev_major, rev_minor); +} -- cgit v1.2.3 From 959bc1d5fa83eab057f12cb5ef79bd37ec98eb83 Mon Sep 17 00:00:00 2001 From: Igor Grinberg Date: Mon, 3 Nov 2014 11:32:19 +0200 Subject: omap3: cm-t35: move the USB hub reset code Extract the USB hub reset code to a common location where it can be reused by other compulab boards. Signed-off-by: Igor Grinberg Reviewed-by: Tom Rini --- board/compulab/common/common.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'board/compulab/common/common.c') diff --git a/board/compulab/common/common.c b/board/compulab/common/common.c index 6d2d7b0bd02..f2ce522fa68 100644 --- a/board/compulab/common/common.c +++ b/board/compulab/common/common.c @@ -8,6 +8,7 @@ #include #include +#include #include "common.h" #include "eeprom.h" @@ -23,3 +24,24 @@ void cl_print_pcb_info(void) printf("PCB: %u.%u\n", rev_major, rev_minor); } + +#ifdef CONFIG_CMD_USB +int cl_usb_hub_init(int gpio, const char *label) +{ + if (gpio_request(gpio, label)) { + printf("Error: can't obtain GPIO%d for %s", gpio, label); + return -1; + } + + gpio_direction_output(gpio, 0); + udelay(10); + gpio_set_value(gpio, 1); + udelay(1000); + return 0; +} + +void cl_usb_hub_deinit(int gpio) +{ + gpio_free(gpio); +} +#endif -- cgit v1.2.3 From 0b6f358c01ab0e2828cb34a8b60e565c72b6a764 Mon Sep 17 00:00:00 2001 From: Igor Grinberg Date: Mon, 3 Nov 2014 11:32:22 +0200 Subject: omap3: cm-t35: move get_board_serial() fallback The fallback is used for cases when CONFIG_SERIAL_TAG defined, but the eeprom is not used. The fallback is useful for more than one CompuLab board, so move it to a common location. Signed-off-by: Igor Grinberg Reviewed-by: Tom Rini --- board/compulab/common/common.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'board/compulab/common/common.c') diff --git a/board/compulab/common/common.c b/board/compulab/common/common.c index f2ce522fa68..b25d9a20b40 100644 --- a/board/compulab/common/common.c +++ b/board/compulab/common/common.c @@ -25,6 +25,18 @@ void cl_print_pcb_info(void) printf("PCB: %u.%u\n", rev_major, rev_minor); } +#ifdef CONFIG_SERIAL_TAG +void __weak get_board_serial(struct tag_serialnr *serialnr) +{ + /* + * This corresponds to what happens when we can communicate with the + * eeprom but don't get a valid board serial value. + */ + serialnr->low = 0; + serialnr->high = 0; +}; +#endif + #ifdef CONFIG_CMD_USB int cl_usb_hub_init(int gpio, const char *label) { -- cgit v1.2.3