diff options
Diffstat (limited to 'board/compulab')
| -rw-r--r-- | board/compulab/dts/tegra2-trimslice.dts | 57 | ||||
| -rw-r--r-- | board/compulab/trimslice/Makefile | 49 | ||||
| -rw-r--r-- | board/compulab/trimslice/trimslice.c | 73 | 
3 files changed, 179 insertions, 0 deletions
diff --git a/board/compulab/dts/tegra2-trimslice.dts b/board/compulab/dts/tegra2-trimslice.dts new file mode 100644 index 000000000..db79e7796 --- /dev/null +++ b/board/compulab/dts/tegra2-trimslice.dts @@ -0,0 +1,57 @@ +/dts-v1/; + +/include/ ARCH_CPU_DTS + +/ { +	model = "Compulab TrimSlice board"; +	compatible = "compulab,trimslice", "nvidia,tegra20"; + +	aliases { +		usb0 = "/usb@c5008000"; +	}; + +	memory { +		reg = <0x00000000 0x40000000>; +	}; + +	clocks { +		clk_32k: clk_32k { +			clock-frequency = <32000>; +		}; +		osc { +			clock-frequency = <12000000>; +		}; +	}; + +	clock@60006000 { +		clocks = <&clk_32k &osc>; +	}; + +	serial@70006000 { +		clock-frequency = <216000000>; +	}; + +	i2c@7000c000 { +		status = "disabled"; +	}; + +	i2c@7000c400 { +		status = "disabled"; +	}; + +	i2c@7000c500 { +		status = "disabled"; +	}; + +	i2c@7000d000 { +		status = "disabled"; +	}; + +	usb@c5000000 { +		status = "disabled"; +	}; + +	usb@c5004000 { +		status = "disabled"; +	}; +}; diff --git a/board/compulab/trimslice/Makefile b/board/compulab/trimslice/Makefile new file mode 100644 index 000000000..bf624f41a --- /dev/null +++ b/board/compulab/trimslice/Makefile @@ -0,0 +1,49 @@ +# +#  (C) Copyright 2010-2012 +#  NVIDIA Corporation <www.nvidia.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 $(TOPDIR)/config.mk + +ifneq ($(OBJTREE),$(SRCTREE)) +$(shell mkdir -p $(obj)../../nvidia/common) +endif + +LIB	= $(obj)lib$(BOARD).o + +COBJS	:= $(BOARD).o +COBJS	+= ../../nvidia/common/board.o + +SRCS	:= $(COBJS:.o=.c) +OBJS	:= $(addprefix $(obj),$(COBJS)) + +$(LIB):	$(obj).depend $(OBJS) +	$(call cmd_link_o_target, $(OBJS)) + +######################################################################### + +# defines $(obj).depend target +include $(SRCTREE)/rules.mk + +sinclude $(obj).depend + +######################################################################### diff --git a/board/compulab/trimslice/trimslice.c b/board/compulab/trimslice/trimslice.c new file mode 100644 index 000000000..7167c914e --- /dev/null +++ b/board/compulab/trimslice/trimslice.c @@ -0,0 +1,73 @@ +/* + *  (C) Copyright 2010-2012 + *  NVIDIA Corporation <www.nvidia.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 <i2c.h> +#include <asm/io.h> +#include <asm/arch/tegra2.h> +#include <asm/arch/clock.h> +#include <asm/arch/funcmux.h> +#include <asm/arch/pinmux.h> +#include <asm/arch/mmc.h> +#include <asm/gpio.h> +#ifdef CONFIG_TEGRA2_MMC +#include <mmc.h> +#endif + +/* + * Routine: gpio_config_uart + * Description: Does nothing on TrimSlice - no UART-related GPIOs. + */ +void gpio_config_uart(void) +{ +} + +/* + * Routine: pin_mux_mmc + * Description: setup the pin muxes/tristate values for the SDMMC(s) + */ +static void pin_mux_mmc(void) +{ +	funcmux_select(PERIPH_ID_SDMMC1, FUNCMUX_SDMMC1_SDIO1_4BIT); +	funcmux_select(PERIPH_ID_SDMMC4, FUNCMUX_SDMMC4_ATB_GMA_4_BIT); + +	/* For CD GPIO PP1 */ +	pinmux_tristate_disable(PINGRP_DAP3); +} + +/* this is a weak define that we are overriding */ +int board_mmc_init(bd_t *bd) +{ +	debug("board_mmc_init called\n"); + +	/* Enable muxes, etc. for SDMMC controllers */ +	pin_mux_mmc(); + +	/* init dev 0 (SDMMC4), (micro-SD slot) with 4-bit bus */ +	tegra2_mmc_init(0, 4, -1, GPIO_PP1); + +	/* init dev 3 (SDMMC1), (SD slot) with 4-bit bus */ +	tegra2_mmc_init(3, 4, -1, -1); + +	return 0; +}  |