diff options
Diffstat (limited to 'arch/arm/boards/vscom-baltos/board.c')
-rw-r--r-- | arch/arm/boards/vscom-baltos/board.c | 56 |
1 files changed, 36 insertions, 20 deletions
diff --git a/arch/arm/boards/vscom-baltos/board.c b/arch/arm/boards/vscom-baltos/board.c index 83c7dbc8b0..85cf241574 100644 --- a/arch/arm/boards/vscom-baltos/board.c +++ b/arch/arm/boards/vscom-baltos/board.c @@ -17,14 +17,14 @@ #include <net.h> #include <bootsource.h> #include <asm/armlinux.h> -#include <generated/mach-types.h> -#include <mach/am33xx-generic.h> -#include <mach/am33xx-silicon.h> -#include <mach/sys_info.h> -#include <mach/syslib.h> -#include <mach/gpmc.h> +#include <asm/mach-types.h> +#include <mach/omap/am33xx-generic.h> +#include <mach/omap/am33xx-silicon.h> +#include <mach/omap/sys_info.h> +#include <mach/omap/syslib.h> +#include <mach/omap/gpmc.h> #include <linux/err.h> -#include <mach/bbu.h> +#include <mach/omap/bbu.h> #include <libfile.h> #include <gpio.h> @@ -49,6 +49,7 @@ static uint8_t get_dip_switch(uint16_t id, uint32_t rev) { uint16_t maj, min; uint8_t dip = 0; + int inputs[4]; maj = rev >> 16; min = rev & 0xffff; @@ -59,10 +60,14 @@ static uint8_t get_dip_switch(uint16_t id, uint32_t rev) switch(id) { case 214: case 215: - dip = !gpio_get_value(44); - dip += !gpio_get_value(45) << 1; - dip += !gpio_get_value(46) << 2; - dip += !gpio_get_value(47) << 3; + inputs[0] = gpio_find_by_name("SW2_0_alt"); + inputs[1] = gpio_find_by_name("SW2_1_alt"); + inputs[2] = gpio_find_by_name("SW2_2_alt"); + inputs[3] = gpio_find_by_name("SW2_3_alt"); + dip = !gpio_get_value(inputs[0]); + dip += !gpio_get_value(inputs[1]) << 1; + dip += !gpio_get_value(inputs[2]) << 2; + dip += !gpio_get_value(inputs[3]) << 3; break; case 212: case 221: @@ -72,10 +77,14 @@ static uint8_t get_dip_switch(uint16_t id, uint32_t rev) case 226: case 227: case 230: - dip = !gpio_get_value(82); - dip += !gpio_get_value(83) << 1; - dip += !gpio_get_value(105) << 2; - dip += !gpio_get_value(106) << 3; + inputs[0] = gpio_find_by_name("SW2_0"); + inputs[1] = gpio_find_by_name("SW2_1"); + inputs[2] = gpio_find_by_name("SW2_2"); + inputs[3] = gpio_find_by_name("SW2_3"); + dip = !gpio_get_value(inputs[0]); + dip += !gpio_get_value(inputs[1]) << 1; + dip += !gpio_get_value(inputs[2]) << 2; + dip += !gpio_get_value(inputs[3]) << 3; break; } @@ -89,6 +98,7 @@ static int baltos_read_eeprom(void) int rc; unsigned char mac_addr[6]; uint8_t dip; + int mpcie_pwr_pin; if (!of_machine_is_compatible("vscom,onrisc")) return 0; @@ -136,14 +146,20 @@ static int baltos_read_eeprom(void) globalvar_add_simple("board.id", var_buf); /* enable mPCIe slot */ - gpio_direction_output(100, 1); + mpcie_pwr_pin = gpio_find_by_name("3G_PWR_EN"); + gpio_direction_output(mpcie_pwr_pin, 1); /* configure output signals of the external GPIO controller */ if (hw_param.SystemId == 210 || hw_param.SystemId == 211) { - gpio_direction_output(132, 0); - gpio_direction_output(133, 0); - gpio_direction_output(134, 0); - gpio_direction_output(135, 0); + int outs[4]; + outs[0] = gpio_find_by_name("GP_OUT0"); + outs[1] = gpio_find_by_name("GP_OUT1"); + outs[2] = gpio_find_by_name("GP_OUT2"); + outs[3] = gpio_find_by_name("GP_OUT3"); + gpio_direction_output(outs[0], 0); + gpio_direction_output(outs[1], 0); + gpio_direction_output(outs[2], 0); + gpio_direction_output(outs[3], 0); } dip = get_dip_switch(hw_param.SystemId, hw_param.HwRev); |