summaryrefslogtreecommitdiffstats
path: root/arch/arm/boards/vscom-baltos/board.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/boards/vscom-baltos/board.c')
-rw-r--r--arch/arm/boards/vscom-baltos/board.c56
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);