diff options
author | Wolfgang Denk <wd@denx.de> | 2009-07-30 00:36:25 +0200 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2009-07-30 00:36:25 +0200 |
commit | 108f56b056780f0d23f720d98709304f84a0d6c8 (patch) | |
tree | 2a2eb0ab998cfdbf6275dcf282ab282056a14f30 /board | |
parent | 4c2e3da82dc2b7f8b39b7f1d57f570e4bc5caa6d (diff) | |
parent | bb4291e62579dbc611e84eaaf973631e0bf129c7 (diff) |
Merge branch 'master' of git://git.denx.de/u-boot-i2c
Diffstat (limited to 'board')
-rw-r--r-- | board/omap3/beagle/beagle.c | 4 | ||||
-rw-r--r-- | board/omap3/common/Makefile | 54 | ||||
-rw-r--r-- | board/omap3/common/power.c | 74 | ||||
-rw-r--r-- | board/omap3/overo/overo.c | 4 | ||||
-rw-r--r-- | board/omap3/pandora/pandora.c | 4 | ||||
-rw-r--r-- | board/omap3/zoom1/zoom1.c | 12 | ||||
-rw-r--r-- | board/omap3/zoom2/zoom2.c | 17 | ||||
-rw-r--r-- | board/st/nhk8815/nhk8815.c | 16 |
8 files changed, 50 insertions, 135 deletions
diff --git a/board/omap3/beagle/beagle.c b/board/omap3/beagle/beagle.c index d268e1870d2..5423650df0e 100644 --- a/board/omap3/beagle/beagle.c +++ b/board/omap3/beagle/beagle.c @@ -30,6 +30,7 @@ * MA 02111-1307 USA */ #include <common.h> +#include <twl4030.h> #include <asm/io.h> #include <asm/arch/mux.h> #include <asm/arch/sys_proto.h> @@ -105,7 +106,8 @@ int misc_init_r(void) gpio_t *gpio5_base = (gpio_t *)OMAP34XX_GPIO5_BASE; gpio_t *gpio6_base = (gpio_t *)OMAP34XX_GPIO6_BASE; - power_init_r(); + twl4030_power_init(); + twl4030_led_init(); /* Configure GPIOs to output */ writel(~(GPIO23 | GPIO10 | GPIO8 | GPIO2 | GPIO1), &gpio6_base->oe); diff --git a/board/omap3/common/Makefile b/board/omap3/common/Makefile deleted file mode 100644 index b8a0b14a011..00000000000 --- a/board/omap3/common/Makefile +++ /dev/null @@ -1,54 +0,0 @@ -# -# (C) Copyright 2006 -# Wolfgang Denk, DENX Software Engineering, wd@denx.de. -# -# See file CREDITS for list of people who contributed to this -# project. -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA -# - -include $(TOPDIR)/config.mk - -ifneq ($(OBJTREE),$(SRCTREE)) -$(shell mkdir -p $(obj)board/$(VENDOR)/common) -endif - -LIB = $(obj)lib$(VENDOR).a - -COBJS-$(CONFIG_OMAP3_BEAGLE) += power.o -COBJS-$(CONFIG_OMAP3_OVERO) += power.o -COBJS-$(CONFIG_OMAP3_PANDORA) += power.o -COBJS-$(CONFIG_OMAP3_ZOOM1) += power.o -COBJS-$(CONFIG_OMAP3_ZOOM2) += power.o - -COBJS := $(COBJS-y) -SRCS := $(COBJS:.o=.c) -OBJS := $(addprefix $(obj),$(COBJS)) - -all: $(LIB) - -$(LIB): $(obj).depend $(OBJS) - $(AR) $(ARFLAGS) $@ $(OBJS) - -######################################################################### - -# defines $(obj).depend target -include $(SRCTREE)/rules.mk - -sinclude $(obj).depend - -######################################################################### diff --git a/board/omap3/common/power.c b/board/omap3/common/power.c deleted file mode 100644 index 4908e5b9be0..00000000000 --- a/board/omap3/common/power.c +++ /dev/null @@ -1,74 +0,0 @@ -/* - * (C) Copyright 2004-2008 - * Texas Instruments, <www.ti.com> - * - * Author : - * Sunil Kumar <sunilsaini05@gmail.com> - * Shashi Ranjan <shashiranjanmca05@gmail.com> - * - * Derived from Beagle Board and 3430 SDP code by - * Richard Woodruff <r-woodruff2@ti.com> - * Syed Mohammed Khasim <khasim@ti.com> - * - * - * See file CREDITS for list of people who contributed to this - * project. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - */ -#include <common.h> -#include <asm/arch/sys_proto.h> -#include <i2c.h> - -/****************************************************************************** - * Routine: power_init_r - * Description: Configure power supply - *****************************************************************************/ -void power_init_r(void) -{ - unsigned char byte; - -#ifdef CONFIG_DRIVER_OMAP34XX_I2C - i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE); -#endif - - /* - * Configure OMAP3 supply voltages in power management - * companion chip. - */ - - /* set VAUX3 to 2.8V */ - byte = DEV_GRP_P1; - i2c_write(PWRMGT_ADDR_ID4, VAUX3_DEV_GRP, 1, &byte, 1); - byte = VAUX3_VSEL_28; - i2c_write(PWRMGT_ADDR_ID4, VAUX3_DEDICATED, 1, &byte, 1); - - /* set VPLL2 to 1.8V */ - byte = DEV_GRP_ALL; - i2c_write(PWRMGT_ADDR_ID4, VPLL2_DEV_GRP, 1, &byte, 1); - byte = VPLL2_VSEL_18; - i2c_write(PWRMGT_ADDR_ID4, VPLL2_DEDICATED, 1, &byte, 1); - - /* set VDAC to 1.8V */ - byte = DEV_GRP_P1; - i2c_write(PWRMGT_ADDR_ID4, VDAC_DEV_GRP, 1, &byte, 1); - byte = VDAC_VSEL_18; - i2c_write(PWRMGT_ADDR_ID4, VDAC_DEDICATED, 1, &byte, 1); - - /* enable LED */ - byte = LEDBPWM | LEDAPWM | LEDBON | LEDAON; - i2c_write(PWRMGT_ADDR_ID3, LEDEN, 1, &byte, 1); -} diff --git a/board/omap3/overo/overo.c b/board/omap3/overo/overo.c index 809b77b642f..dd6d28622d1 100644 --- a/board/omap3/overo/overo.c +++ b/board/omap3/overo/overo.c @@ -29,6 +29,7 @@ * MA 02111-1307 USA */ #include <common.h> +#include <twl4030.h> #include <asm/io.h> #include <asm/arch/mux.h> #include <asm/arch/sys_proto.h> @@ -58,7 +59,8 @@ int board_init(void) */ int misc_init_r(void) { - power_init_r(); + twl4030_power_init(); + twl4030_led_init(); dieid_num_r(); diff --git a/board/omap3/pandora/pandora.c b/board/omap3/pandora/pandora.c index c2f98ead6ad..1538efbb222 100644 --- a/board/omap3/pandora/pandora.c +++ b/board/omap3/pandora/pandora.c @@ -30,6 +30,7 @@ * MA 02111-1307 USA */ #include <common.h> +#include <twl4030.h> #include <asm/io.h> #include <asm/arch/mux.h> #include <asm/arch/sys_proto.h> @@ -64,7 +65,8 @@ int misc_init_r(void) gpio_t *gpio5_base = (gpio_t *)OMAP34XX_GPIO5_BASE; gpio_t *gpio6_base = (gpio_t *)OMAP34XX_GPIO6_BASE; - power_init_r(); + twl4030_power_init(); + twl4030_led_init(); /* Configure GPIOs to output */ writel(~(GPIO14 | GPIO15 | GPIO16 | GPIO23), &gpio1_base->oe); diff --git a/board/omap3/zoom1/zoom1.c b/board/omap3/zoom1/zoom1.c index db4d08709fe..f4d3754cacf 100644 --- a/board/omap3/zoom1/zoom1.c +++ b/board/omap3/zoom1/zoom1.c @@ -31,6 +31,7 @@ * MA 02111-1307 USA */ #include <common.h> +#include <twl4030.h> #include <asm/io.h> #include <asm/arch/mux.h> #include <asm/arch/sys_proto.h> @@ -60,8 +61,17 @@ int board_init(void) */ int misc_init_r(void) { - power_init_r(); + twl4030_power_init(); + twl4030_led_init(); dieid_num_r(); + + /* + * Board Reset + * The board is reset by holding the red button on the + * top right front face for eight seconds. + */ + twl4030_power_reset_init(); + return 0; } diff --git a/board/omap3/zoom2/zoom2.c b/board/omap3/zoom2/zoom2.c index 08fdafb6447..94a985dcb3d 100644 --- a/board/omap3/zoom2/zoom2.c +++ b/board/omap3/zoom2/zoom2.c @@ -32,6 +32,7 @@ #ifdef CONFIG_STATUS_LED #include <status_led.h> #endif +#include <twl4030.h> #include <asm/io.h> #include <asm/arch/gpio.h> #include <asm/arch/mem.h> @@ -154,8 +155,22 @@ int board_init (void) int misc_init_r(void) { zoom2_identify(); - power_init_r(); + twl4030_power_init(); + twl4030_led_init(); dieid_num_r(); + + /* + * Board Reset + * The board is reset by holding the the large button + * on the top right side of the main board for + * eight seconds. + * + * There are reported problems of some beta boards + * continously resetting. For those boards, disable resetting. + */ + if (ZOOM2_REVISION_PRODUCTION <= zoom2_get_revision()) + twl4030_power_reset_init(); + return 0; } diff --git a/board/st/nhk8815/nhk8815.c b/board/st/nhk8815/nhk8815.c index 085a5e0a427..1fa506a889a 100644 --- a/board/st/nhk8815/nhk8815.c +++ b/board/st/nhk8815/nhk8815.c @@ -27,6 +27,7 @@ #include <common.h> #include <asm/io.h> +#include <asm/arch/gpio.h> DECLARE_GLOBAL_DATA_PTR; @@ -61,9 +62,20 @@ int board_init(void) return 0; } -int misc_init_r(void) +int board_late_init(void) { - setenv("verify", "n"); + /* Set the two I2C gpio lines to be gpio high */ + nmk_gpio_set(__SCL, 1); nmk_gpio_set(__SDA, 1); + nmk_gpio_dir(__SCL, 1); nmk_gpio_dir(__SDA, 1); + nmk_gpio_af(__SCL, GPIO_GPIO); nmk_gpio_af(__SDA, GPIO_GPIO); + + /* Reset the I2C port expander, on GPIO77 */ + nmk_gpio_af(77, GPIO_GPIO); + nmk_gpio_dir(77, 1); + nmk_gpio_set(77, 0); + udelay(10); + nmk_gpio_set(77, 1); + return 0; } |