> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of Enric
> Balletbo i Serra
> Sent: Saturday, October 02, 2010 1:16 AM
> To: [email protected]
> Cc: Enric Balletbo i Serra
> Subject: [PATCHv2 3/6] omap3: Introduce function to detect
> the IGEP v2 hardware revision.
>
> There are currently two versions of IGEP v2 board, this patch
> introduces a
> function to detect the hardware revision of IGEP board.
>
> --------------------------
> | Id. | Hw Rev. | GPIO 28 |
> --------------------------
> | 0 | B/C | high |
> | 1 | C | low |
> --------------------------
>
> Signed-off-by: Enric Balletbo i Serra <[email protected]>
> ---
> arch/arm/mach-omap2/board-igep0020.c | 47
> ++++++++++++++++++++++++++++++++++
> 1 files changed, 47 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/board-igep0020.c
> b/arch/arm/mach-omap2/board-igep0020.c
> index 9f25d0d..a386425 100644
> --- a/arch/arm/mach-omap2/board-igep0020.c
> +++ b/arch/arm/mach-omap2/board-igep0020.c
> @@ -45,6 +45,49 @@
> #define IGEP2_GPIO_WIFI_NPD 94
> #define IGEP2_GPIO_WIFI_NRESET 95
>
> +/*
> + * IGEP2 Hardware Revision Table
> + *
> + * --------------------------
> + * | Id. | Hw Rev. | HW0 (28) |
> + * --------------------------
> + * | 0 | B/C | high |
> + * | 1 | C | low |
> + * --------------------------
> + */
> +
> +#define IGEP2_BOARD_HWREV_B 0
> +#define IGEP2_BOARD_HWREV_C 1
> +
> +static u8 hwrev;
> +
> +static void __init igep2_get_revision(void)
> +{
> + u8 ret;
> +
> + omap_mux_init_gpio(IGEP2_GPIO_LED1_RED, OMAP_PIN_INPUT);
> +
> + if ((gpio_request(IGEP2_GPIO_LED1_RED, "GPIO_HW0_REV") == 0) &&
> + (gpio_direction_input(IGEP2_GPIO_LED1_RED) == 0)) {
> + ret = gpio_get_value(IGEP2_GPIO_LED1_RED);
> + if (hwrev == 0) {
> + pr_info("IGEP2: Hardware Revision C
> (B-NON compatible)\n");
> + hwrev = IGEP2_BOARD_HWREV_C;
> + } else if (hwrev == 1) {
> + pr_info("IGEP2: Hardware Revision B/C
> (B compatible)\n");
> + hwrev = IGEP2_BOARD_HWREV_B;
> + } else {
> + pr_err("IGEP2: Unknow Hardware Revision\n");
typo - Unknow
> + hwrev = -1;
> + }
> + } else {
> + pr_warning("IGEP2: Could not obtain gpio
> GPIO_HW0_REV\n");
> + pr_err("IGEP2: Unknow Hardware Revision\n");
Need both the prints?
> + }
typo - Unknow
> +
> + gpio_free(IGEP2_GPIO_LED1_RED);
> +}
> +
> #if defined(CONFIG_MTD_ONENAND_OMAP2) || \
> defined(CONFIG_MTD_ONENAND_OMAP2_MODULE)
>
> @@ -535,6 +578,10 @@ static struct omap_board_mux board_mux[]
> __initdata = {
> static void __init igep2_init(void)
> {
> omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
> +
> + /* Get IGEP2 hardware revision */
> + igep2_get_revision();
> +
> igep2_i2c_init();
> platform_add_devices(igep2_devices, ARRAY_SIZE(igep2_devices));
> omap_serial_init();
> --
> 1.7.0.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe
> linux-omap" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> --
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html