diff options
author | H. Nikolaus Schaller <hns@goldelico.com> | 2012-08-03 19:12:03 +0200 |
---|---|---|
committer | H. Nikolaus Schaller <hns@goldelico.com> | 2012-08-03 19:12:03 +0200 |
commit | 349f5495808983f38502573abc69f6f0b7a0ccc2 (patch) | |
tree | 489b12f6c483e7768d9dda655e8d72f5e346a42f | |
parent | f554ae5f83c13c0628252aec905e0c8a41542869 (diff) | |
download | bootable_bootloader_goldelico_gta04-349f5495808983f38502573abc69f6f0b7a0ccc2.zip bootable_bootloader_goldelico_gta04-349f5495808983f38502573abc69f6f0b7a0ccc2.tar.gz bootable_bootloader_goldelico_gta04-349f5495808983f38502573abc69f6f0b7a0ccc2.tar.bz2 |
initial creation for b3 and b4 display variants
-rw-r--r-- | u-boot/board/goldelico/gta04b3/LQ070Y3DB3B.c | 143 | ||||
-rw-r--r-- | u-boot/board/goldelico/gta04b3/LQ070Y3DB3B.h | 6 | ||||
-rw-r--r-- | u-boot/board/goldelico/gta04b3/Makefile | 49 | ||||
-rw-r--r-- | u-boot/board/goldelico/gta04b3/config.mk | 33 | ||||
-rw-r--r-- | u-boot/board/goldelico/gta04b3/gta04b3.c | 24 | ||||
-rw-r--r-- | u-boot/board/goldelico/gta04b3/gta04b3.h | 34 | ||||
-rw-r--r-- | u-boot/board/goldelico/gta04b4/LQ050W1LC1B.c | 143 | ||||
-rw-r--r-- | u-boot/board/goldelico/gta04b4/LQ050W1LC1B.h | 6 | ||||
-rw-r--r-- | u-boot/board/goldelico/gta04b4/Makefile | 49 | ||||
-rw-r--r-- | u-boot/board/goldelico/gta04b4/config.mk | 33 | ||||
-rw-r--r-- | u-boot/board/goldelico/gta04b4/gta04b4.c | 24 | ||||
-rw-r--r-- | u-boot/board/goldelico/gta04b4/gta04b4.h | 34 |
12 files changed, 578 insertions, 0 deletions
diff --git a/u-boot/board/goldelico/gta04b3/LQ070Y3DB3B.c b/u-boot/board/goldelico/gta04b3/LQ070Y3DB3B.c new file mode 100644 index 0000000..f9802be --- /dev/null +++ b/u-boot/board/goldelico/gta04b3/LQ070Y3DB3B.c @@ -0,0 +1,143 @@ +/* u-boot driver for the OrtusTech COM37H3M05DTC LCM + * + * Copyright (C) 2006-2007 by OpenMoko, Inc. + * Author: Harald Welte <laforge@openmoko.org> + * All rights reserved. + * + * 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/errno.h> +#include <asm/io.h> +#include <asm/arch/mux.h> +#include <asm/arch/sys_proto.h> +#include <asm/arch/gpio.h> +#include <asm/mach-types.h> +#include <twl4030.h> +#include "../gta04/dssfb.h" +#include "../gta04/jbt6k74.h" // FIXME: change to display.h and make it more generic +#include "COM37H3M05DTC.h" + +#ifdef CONFIG_OMAP3_BEAGLE_EXPANDER +#define GPIO_STBY 158 +#else +#define GPIO_STBY 20 +#endif + +// configure beagle board DSS for the COM37H3M05DTC + +#define DVI_BACKGROUND_COLOR 0x00fadc29 // rgb(250, 220, 41) + +#define DSS1_FCLK 432000000 // see figure 15-65 +#define PIXEL_CLOCK 22400000 // approx. 22.4 MHz (will be divided from 432 MHz) + +// all values are min ratings + +#define VDISP 640 // vertical active area +#define VFP 2 // vertical front porch +#define VS 1 // VSYNC pulse width (negative going) +#define VBP 3 // vertical back porch +#define VDS (VS+VBP) // vertical data start +#define VBL (VS+VBP+VFP) // vertical blanking period +#define VP (VDISP+VBL) // vertical cycle + +#define HDISP 480 // horizontal active area +#define HFP 2 // horizontal front porch +#define HS 2 // HSYNC pulse width (negative going) +#define HBP 9 // horizontal back porch +#define HDS (HS+HBP) // horizontal data start +#define HBL (HS+HBP+HFP) // horizontal blanking period +#define HP (HDISP+HBL) // horizontal cycle + +static const struct panel_config lcm_cfg = +{ + .timing_h = ((HBP-1)<<20) | ((HFP-1)<<8) | ((HS-1)<<0), /* Horizantal timing */ + .timing_v = ((VBP+0)<<20) | ((VFP+0)<<8) | ((VS-1)<<0), /* Vertical timing */ + // negative clock edge + // negative sync pulse + // positive DE pulse + .pol_freq = (1<<17)|(1<<16)|(0<<15)|(0<<14)|(1<<13)|(1<<12)|0x28, /* Pol Freq */ + .divisor = (0x0001<<16)|(DSS1_FCLK/PIXEL_CLOCK), /* Pixel Clock divisor from dss1_fclk */ + .lcd_size = ((HDISP-1)<<0) | ((VDISP-1)<<16), /* as defined by LCM */ + .panel_type = 0x01, /* TFT */ + .data_lines = 0x03, /* 24 Bit RGB */ + .load_mode = 0x02, /* Frame Mode */ + .panel_color = DVI_BACKGROUND_COLOR +}; + +int jbt_reg_init(void) +{ + omap_request_gpio(GPIO_STBY); + omap_set_gpio_direction(GPIO_STBY, 0); // output + return 0; +} + +int jbt_check(void) +{ + return 0; +} + +const char *jbt_state(void) +{ + return "?"; +} + +/* frontend function */ +int jbt6k74_enter_state(enum jbt_state new_state) +{ + return 0; +} + +int jbt6k74_display_onoff(int on) +{ + omap_set_gpio_dataout(GPIO_STBY, on?1:0); // on = no STBY + return 0; +} + +int board_video_init(GraphicDevice *pGD) +{ + extern int get_board_revision(void); + printf("board_video_init() COM37H3M05DTC\n"); + + // FIXME: here we should pass down the GPIO(s) + + backlight_init(); // initialize backlight +#define REVISION_XM 0 + if(get_board_revision() == REVISION_XM) { + /* Set VAUX1 to 3.3V for GTA04E display board */ + twl4030_pmrecv_vsel_cfg(TWL4030_PM_RECEIVER_VAUX1_DEDICATED, + /*TWL4030_PM_RECEIVER_VAUX1_VSEL_33*/ 0x07, + TWL4030_PM_RECEIVER_VAUX1_DEV_GRP, + TWL4030_PM_RECEIVER_DEV_GRP_P1); + udelay(5000); + } + + // FIXME: here we should init the TSC and pass down the GPIO numbers and resistance values + + if(jbt_reg_init()) // initialize SPI + { + printf("No LCM connected\n"); + return 1; + } + + dssfb_init(&lcm_cfg); + + printf("did board_video_init()\n"); + return 0; +} + diff --git a/u-boot/board/goldelico/gta04b3/LQ070Y3DB3B.h b/u-boot/board/goldelico/gta04b3/LQ070Y3DB3B.h new file mode 100644 index 0000000..87c7b57 --- /dev/null +++ b/u-boot/board/goldelico/gta04b3/LQ070Y3DB3B.h @@ -0,0 +1,6 @@ +#ifndef _COM37H3M05DTC_H +#define _COM37H3M05DTC_H + +#define _BEAGLE_ + +#endif diff --git a/u-boot/board/goldelico/gta04b3/Makefile b/u-boot/board/goldelico/gta04b3/Makefile new file mode 100644 index 0000000..6006720 --- /dev/null +++ b/u-boot/board/goldelico/gta04b3/Makefile @@ -0,0 +1,49 @@ +# +# (C) Copyright 2000, 2001, 2002 +# 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 + +LIB = $(obj)lib$(BOARD).o + +COBJS := gta04b3.o LQ070Y3DB3B.o ../gta04b2/trf7960.o ../gta04/backlight.o ../gta04/status.o ../gta04/tsc2007.o ../gta04/dssfb.o ../gta04/gps.o ../gta04/shutdown.o ../gta04/systest.o ../gta04/commands.o ../gta04/ulpi-phy.o ../gta04/twl4030-additions.o + +SRCS := $(COBJS:.o=.c) +OBJS := $(addprefix $(obj),$(COBJS)) + +$(LIB): $(obj).depend $(OBJS) + $(call cmd_link_o_target, $(OBJS)) + +clean: + rm -f $(OBJS) + +distclean: clean + rm -f $(LIB) core *.bak $(obj).depend + +######################################################################### + +# defines $(obj).depend target +include $(SRCTREE)/rules.mk + +sinclude $(obj).depend + +#########################################################################
\ No newline at end of file diff --git a/u-boot/board/goldelico/gta04b3/config.mk b/u-boot/board/goldelico/gta04b3/config.mk new file mode 100644 index 0000000..cf055db --- /dev/null +++ b/u-boot/board/goldelico/gta04b3/config.mk @@ -0,0 +1,33 @@ +# +# (C) Copyright 2006 +# Texas Instruments, <www.ti.com> +# +# Beagle Board uses OMAP3 (ARM-CortexA8) cpu +# see http://www.ti.com/ for more information on Texas Instruments +# +# 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 +# +# Physical Address: +# 8000'0000 (bank0) +# A000/0000 (bank1) +# Linux-Kernel is expected to be at 8000'8000, entry 8000'8000 +# (mem base + reserved) + +# For use with external or internal boots. +CONFIG_SYS_TEXT_BASE = 0x80008000 diff --git a/u-boot/board/goldelico/gta04b3/gta04b3.c b/u-boot/board/goldelico/gta04b3/gta04b3.c new file mode 100644 index 0000000..3675a89 --- /dev/null +++ b/u-boot/board/goldelico/gta04b3/gta04b3.c @@ -0,0 +1,24 @@ +#include <common.h> +#include <twl4030.h> +#include <asm/io.h> +#include <asm/arch/mmc_host_def.h> +#include <asm/arch/mux.h> +#include <asm/arch/sys_proto.h> +#include <asm/arch/gpio.h> +#include <asm/mach-types.h> +#include "../gta04/gta04.h" +#include "gta04b2.h" + +// make us initialize using both pinmux sets + +void muxinit(void) +{ + MUX_BEAGLE(); + MUX_BEAGLE_EXPANDER(); +} + +#undef MUX_BEAGLE +#define MUX_BEAGLE() muxinit() + +// take the original beagle.c code +#include "../gta04/gta04.c" diff --git a/u-boot/board/goldelico/gta04b3/gta04b3.h b/u-boot/board/goldelico/gta04b3/gta04b3.h new file mode 100644 index 0000000..668f5f9 --- /dev/null +++ b/u-boot/board/goldelico/gta04b3/gta04b3.h @@ -0,0 +1,34 @@ +// all pins on GTA04 expansion connector + +// GPIO -> GTA04-Pin -> Expander function + +#define MUX_BEAGLE_EXPANDER() \ + +// FIXME: clean up so that we have the right PinMuxes +#if 0 + +MUX_VAL(CP(ETK_D0), (IEN | PTD | EN | M1)) /*GPIO_17 -> MCSPI3-CLK -> TRF*/\ +MUX_VAL(CP(MMC2_CLK), (IDIS | PTD | EN | M4)) /*GPIO_130 -> MCSPI3-CLK -> TRF*/\ +MUX_VAL(CP(MMC2_CMD), (IDIS | PTD | EN | M4)) /*GPIO_131 -> MCSPI3-SIMO -> TRF*/\ +MUX_VAL(CP(MMC2_DAT0), (IEN | PTU | EN | M4)) /*GPIO_132 -> MCSPI3-SOMI -> TRF*/\ +MUX_VAL(CP(MCBSP1_DX), (IDIS | PTD | EN | M4)) /*GPIO_158 - Display STBY */\ +MUX_VAL(CP(MCBSP1_DR), (IDIS | PTD | EN | M4)) /*GPIO_159 - McBSP1-DR -> TRF EN2 */\ +MUX_VAL(CP(MCBSP1_FSX), (IDIS | PTD | EN | M4)) /*GPIO_161 - McBSP1-FSX -> TRF EN */\ + +MUX_VAL(CP(MMC2_DAT1), (IEN | PTU | EN | M4)) /*GPIO_133 -> UART3-RX (software)*/\ +MUX_VAL(CP(MMC2_DAT2), (IDIS | PTU | EN | M4)) /*GPIO_134 -> UART3-TX (software)*/\ +MUX_VAL(CP(MMC2_DAT3), (IDIS | PTU | EN | M1)) /*GPIO_135 -> MCSPI3-CS0*/\ +MUX_VAL(CP(MMC2_DAT4), (IEN | PTD | EN | M4)) /*GPIO_136 - AUX */\ +MUX_VAL(CP(MMC2_DAT5), (IEN | PTU | EN | M4)) /*GPIO_137 - POWER */\ +MUX_VAL(CP(MMC2_DAT6), (IDIS | PTU | EN | M4)) /*GPIO_138 - UART3-RTS (software) */\ +MUX_VAL(CP(MMC2_DAT7), (IEN | PTU | EN | M4)) /*GPIO_139 - UART3-CTS (software) */\ +MUX_VAL(CP(UART2_RX), (IEN | PTU | EN | M4)) /*GPIO_143 - UART2-RX */\ +MUX_VAL(CP(UART2_CTS), (IDIS | PTU | EN | M4)) /*GPIO_144 - UART2-CTS */\ +MUX_VAL(CP(UART2_RTS), (IDIS | PTU | EN | M4)) /*GPIO_145 - UART2-RTS */\ +MUX_VAL(CP(UART2_TX), (IEN | PTU | EN | M4)) /*GPIO_146 - UART2-TX */\ +MUX_VAL(CP(MCBSP1_CLKR), (IEN | PTD | EN | M4)) /*GPIO_156 - KEYIRQ -> TRF IRQ */\ +MUX_VAL(CP(MCBSP1_FSR), (IEN | PTU | EN | M4)) /*GPIO_157 - PENIRQ */\ +MUX_VAL(CP(MCBSP_CLKS), (IEN | PTU | DIS | M0)) /*McBSP_CLKS */\ +MUX_VAL(CP(MCBSP1_CLKX), (IDIS | PTD | EN | M4)) /*GPIO_162 - McBSP1-CLKX -> UART3 Powerdown */ + +#endif diff --git a/u-boot/board/goldelico/gta04b4/LQ050W1LC1B.c b/u-boot/board/goldelico/gta04b4/LQ050W1LC1B.c new file mode 100644 index 0000000..f9802be --- /dev/null +++ b/u-boot/board/goldelico/gta04b4/LQ050W1LC1B.c @@ -0,0 +1,143 @@ +/* u-boot driver for the OrtusTech COM37H3M05DTC LCM + * + * Copyright (C) 2006-2007 by OpenMoko, Inc. + * Author: Harald Welte <laforge@openmoko.org> + * All rights reserved. + * + * 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/errno.h> +#include <asm/io.h> +#include <asm/arch/mux.h> +#include <asm/arch/sys_proto.h> +#include <asm/arch/gpio.h> +#include <asm/mach-types.h> +#include <twl4030.h> +#include "../gta04/dssfb.h" +#include "../gta04/jbt6k74.h" // FIXME: change to display.h and make it more generic +#include "COM37H3M05DTC.h" + +#ifdef CONFIG_OMAP3_BEAGLE_EXPANDER +#define GPIO_STBY 158 +#else +#define GPIO_STBY 20 +#endif + +// configure beagle board DSS for the COM37H3M05DTC + +#define DVI_BACKGROUND_COLOR 0x00fadc29 // rgb(250, 220, 41) + +#define DSS1_FCLK 432000000 // see figure 15-65 +#define PIXEL_CLOCK 22400000 // approx. 22.4 MHz (will be divided from 432 MHz) + +// all values are min ratings + +#define VDISP 640 // vertical active area +#define VFP 2 // vertical front porch +#define VS 1 // VSYNC pulse width (negative going) +#define VBP 3 // vertical back porch +#define VDS (VS+VBP) // vertical data start +#define VBL (VS+VBP+VFP) // vertical blanking period +#define VP (VDISP+VBL) // vertical cycle + +#define HDISP 480 // horizontal active area +#define HFP 2 // horizontal front porch +#define HS 2 // HSYNC pulse width (negative going) +#define HBP 9 // horizontal back porch +#define HDS (HS+HBP) // horizontal data start +#define HBL (HS+HBP+HFP) // horizontal blanking period +#define HP (HDISP+HBL) // horizontal cycle + +static const struct panel_config lcm_cfg = +{ + .timing_h = ((HBP-1)<<20) | ((HFP-1)<<8) | ((HS-1)<<0), /* Horizantal timing */ + .timing_v = ((VBP+0)<<20) | ((VFP+0)<<8) | ((VS-1)<<0), /* Vertical timing */ + // negative clock edge + // negative sync pulse + // positive DE pulse + .pol_freq = (1<<17)|(1<<16)|(0<<15)|(0<<14)|(1<<13)|(1<<12)|0x28, /* Pol Freq */ + .divisor = (0x0001<<16)|(DSS1_FCLK/PIXEL_CLOCK), /* Pixel Clock divisor from dss1_fclk */ + .lcd_size = ((HDISP-1)<<0) | ((VDISP-1)<<16), /* as defined by LCM */ + .panel_type = 0x01, /* TFT */ + .data_lines = 0x03, /* 24 Bit RGB */ + .load_mode = 0x02, /* Frame Mode */ + .panel_color = DVI_BACKGROUND_COLOR +}; + +int jbt_reg_init(void) +{ + omap_request_gpio(GPIO_STBY); + omap_set_gpio_direction(GPIO_STBY, 0); // output + return 0; +} + +int jbt_check(void) +{ + return 0; +} + +const char *jbt_state(void) +{ + return "?"; +} + +/* frontend function */ +int jbt6k74_enter_state(enum jbt_state new_state) +{ + return 0; +} + +int jbt6k74_display_onoff(int on) +{ + omap_set_gpio_dataout(GPIO_STBY, on?1:0); // on = no STBY + return 0; +} + +int board_video_init(GraphicDevice *pGD) +{ + extern int get_board_revision(void); + printf("board_video_init() COM37H3M05DTC\n"); + + // FIXME: here we should pass down the GPIO(s) + + backlight_init(); // initialize backlight +#define REVISION_XM 0 + if(get_board_revision() == REVISION_XM) { + /* Set VAUX1 to 3.3V for GTA04E display board */ + twl4030_pmrecv_vsel_cfg(TWL4030_PM_RECEIVER_VAUX1_DEDICATED, + /*TWL4030_PM_RECEIVER_VAUX1_VSEL_33*/ 0x07, + TWL4030_PM_RECEIVER_VAUX1_DEV_GRP, + TWL4030_PM_RECEIVER_DEV_GRP_P1); + udelay(5000); + } + + // FIXME: here we should init the TSC and pass down the GPIO numbers and resistance values + + if(jbt_reg_init()) // initialize SPI + { + printf("No LCM connected\n"); + return 1; + } + + dssfb_init(&lcm_cfg); + + printf("did board_video_init()\n"); + return 0; +} + diff --git a/u-boot/board/goldelico/gta04b4/LQ050W1LC1B.h b/u-boot/board/goldelico/gta04b4/LQ050W1LC1B.h new file mode 100644 index 0000000..87c7b57 --- /dev/null +++ b/u-boot/board/goldelico/gta04b4/LQ050W1LC1B.h @@ -0,0 +1,6 @@ +#ifndef _COM37H3M05DTC_H +#define _COM37H3M05DTC_H + +#define _BEAGLE_ + +#endif diff --git a/u-boot/board/goldelico/gta04b4/Makefile b/u-boot/board/goldelico/gta04b4/Makefile new file mode 100644 index 0000000..9ddaae6 --- /dev/null +++ b/u-boot/board/goldelico/gta04b4/Makefile @@ -0,0 +1,49 @@ +# +# (C) Copyright 2000, 2001, 2002 +# 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 + +LIB = $(obj)lib$(BOARD).o + +COBJS := gta04b4.o LQ050W1LC1B.o ../gta04/backlight.o ../gta04/status.o ../gta04/tsc2007.o ../gta04/dssfb.o ../gta04/gps.o ../gta04/shutdown.o ../gta04/systest.o ../gta04/commands.o ../gta04/ulpi-phy.o ../gta04/twl4030-additions.o + +SRCS := $(COBJS:.o=.c) +OBJS := $(addprefix $(obj),$(COBJS)) + +$(LIB): $(obj).depend $(OBJS) + $(call cmd_link_o_target, $(OBJS)) + +clean: + rm -f $(OBJS) + +distclean: clean + rm -f $(LIB) core *.bak $(obj).depend + +######################################################################### + +# defines $(obj).depend target +include $(SRCTREE)/rules.mk + +sinclude $(obj).depend + +#########################################################################
\ No newline at end of file diff --git a/u-boot/board/goldelico/gta04b4/config.mk b/u-boot/board/goldelico/gta04b4/config.mk new file mode 100644 index 0000000..cf055db --- /dev/null +++ b/u-boot/board/goldelico/gta04b4/config.mk @@ -0,0 +1,33 @@ +# +# (C) Copyright 2006 +# Texas Instruments, <www.ti.com> +# +# Beagle Board uses OMAP3 (ARM-CortexA8) cpu +# see http://www.ti.com/ for more information on Texas Instruments +# +# 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 +# +# Physical Address: +# 8000'0000 (bank0) +# A000/0000 (bank1) +# Linux-Kernel is expected to be at 8000'8000, entry 8000'8000 +# (mem base + reserved) + +# For use with external or internal boots. +CONFIG_SYS_TEXT_BASE = 0x80008000 diff --git a/u-boot/board/goldelico/gta04b4/gta04b4.c b/u-boot/board/goldelico/gta04b4/gta04b4.c new file mode 100644 index 0000000..3675a89 --- /dev/null +++ b/u-boot/board/goldelico/gta04b4/gta04b4.c @@ -0,0 +1,24 @@ +#include <common.h> +#include <twl4030.h> +#include <asm/io.h> +#include <asm/arch/mmc_host_def.h> +#include <asm/arch/mux.h> +#include <asm/arch/sys_proto.h> +#include <asm/arch/gpio.h> +#include <asm/mach-types.h> +#include "../gta04/gta04.h" +#include "gta04b2.h" + +// make us initialize using both pinmux sets + +void muxinit(void) +{ + MUX_BEAGLE(); + MUX_BEAGLE_EXPANDER(); +} + +#undef MUX_BEAGLE +#define MUX_BEAGLE() muxinit() + +// take the original beagle.c code +#include "../gta04/gta04.c" diff --git a/u-boot/board/goldelico/gta04b4/gta04b4.h b/u-boot/board/goldelico/gta04b4/gta04b4.h new file mode 100644 index 0000000..668f5f9 --- /dev/null +++ b/u-boot/board/goldelico/gta04b4/gta04b4.h @@ -0,0 +1,34 @@ +// all pins on GTA04 expansion connector + +// GPIO -> GTA04-Pin -> Expander function + +#define MUX_BEAGLE_EXPANDER() \ + +// FIXME: clean up so that we have the right PinMuxes +#if 0 + +MUX_VAL(CP(ETK_D0), (IEN | PTD | EN | M1)) /*GPIO_17 -> MCSPI3-CLK -> TRF*/\ +MUX_VAL(CP(MMC2_CLK), (IDIS | PTD | EN | M4)) /*GPIO_130 -> MCSPI3-CLK -> TRF*/\ +MUX_VAL(CP(MMC2_CMD), (IDIS | PTD | EN | M4)) /*GPIO_131 -> MCSPI3-SIMO -> TRF*/\ +MUX_VAL(CP(MMC2_DAT0), (IEN | PTU | EN | M4)) /*GPIO_132 -> MCSPI3-SOMI -> TRF*/\ +MUX_VAL(CP(MCBSP1_DX), (IDIS | PTD | EN | M4)) /*GPIO_158 - Display STBY */\ +MUX_VAL(CP(MCBSP1_DR), (IDIS | PTD | EN | M4)) /*GPIO_159 - McBSP1-DR -> TRF EN2 */\ +MUX_VAL(CP(MCBSP1_FSX), (IDIS | PTD | EN | M4)) /*GPIO_161 - McBSP1-FSX -> TRF EN */\ + +MUX_VAL(CP(MMC2_DAT1), (IEN | PTU | EN | M4)) /*GPIO_133 -> UART3-RX (software)*/\ +MUX_VAL(CP(MMC2_DAT2), (IDIS | PTU | EN | M4)) /*GPIO_134 -> UART3-TX (software)*/\ +MUX_VAL(CP(MMC2_DAT3), (IDIS | PTU | EN | M1)) /*GPIO_135 -> MCSPI3-CS0*/\ +MUX_VAL(CP(MMC2_DAT4), (IEN | PTD | EN | M4)) /*GPIO_136 - AUX */\ +MUX_VAL(CP(MMC2_DAT5), (IEN | PTU | EN | M4)) /*GPIO_137 - POWER */\ +MUX_VAL(CP(MMC2_DAT6), (IDIS | PTU | EN | M4)) /*GPIO_138 - UART3-RTS (software) */\ +MUX_VAL(CP(MMC2_DAT7), (IEN | PTU | EN | M4)) /*GPIO_139 - UART3-CTS (software) */\ +MUX_VAL(CP(UART2_RX), (IEN | PTU | EN | M4)) /*GPIO_143 - UART2-RX */\ +MUX_VAL(CP(UART2_CTS), (IDIS | PTU | EN | M4)) /*GPIO_144 - UART2-CTS */\ +MUX_VAL(CP(UART2_RTS), (IDIS | PTU | EN | M4)) /*GPIO_145 - UART2-RTS */\ +MUX_VAL(CP(UART2_TX), (IEN | PTU | EN | M4)) /*GPIO_146 - UART2-TX */\ +MUX_VAL(CP(MCBSP1_CLKR), (IEN | PTD | EN | M4)) /*GPIO_156 - KEYIRQ -> TRF IRQ */\ +MUX_VAL(CP(MCBSP1_FSR), (IEN | PTU | EN | M4)) /*GPIO_157 - PENIRQ */\ +MUX_VAL(CP(MCBSP_CLKS), (IEN | PTU | DIS | M0)) /*McBSP_CLKS */\ +MUX_VAL(CP(MCBSP1_CLKX), (IDIS | PTD | EN | M4)) /*GPIO_162 - McBSP1-CLKX -> UART3 Powerdown */ + +#endif |