All of lore.kernel.org
 help / color / mirror / Atom feed
From: Konstantin Sinyuk <kostyas@compulab.co.il>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH V2] tegra: Compulab TrimSlice board support
Date: Wed, 30 May 2012 18:35:42 +0300	[thread overview]
Message-ID: <4FC63E4E.9010506@compulab.co.il> (raw)
In-Reply-To: <1337270584-10753-1-git-send-email-swarren@wwwdotorg.org>

Hi Stephen,

Thanks for doing this!
We highly appreciate your help.
We (Igor and me) have several comments below...


On 05/17/2012 07:03 PM, Stephen Warren wrote:
> From: Stephen Warren<swarren@nvidia.com>
>
> Signed-off-by: Stephen Warren<swarren@nvidia.com>
> ---
> v2: Fixed unused variable warnings
> ---
>   MAINTAINERS                             |    1 +
>   board/compulab/dts/tegra2-trimslice.dts |   57 ++++++++++++++++++++
>   board/compulab/trimslice/Makefile       |   49 +++++++++++++++++
>   board/compulab/trimslice/trimslice.c    |   73 +++++++++++++++++++++++++
>   boards.cfg                              |    1 +
>   include/configs/trimslice.h             |   89 +++++++++++++++++++++++++++++++
>   6 files changed, 270 insertions(+), 0 deletions(-)
>   create mode 100644 board/compulab/dts/tegra2-trimslice.dts
>   create mode 100644 board/compulab/trimslice/Makefile
>   create mode 100644 board/compulab/trimslice/trimslice.c
>   create mode 100644 include/configs/trimslice.h
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 7c161db..9d35c0e 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -912,6 +912,7 @@ Stephen Warren<swarren@nvidia.com>
>
>   	ventana		Tegra2 (ARM7&  A9 Dual Core)
>   	paz00		Tegra2 (ARM7&  A9 Dual Core)
> +	trimslice	Tegra2 (ARM7&  A9 Dual Core)
>   	whistler	Tegra2 (ARM7&  A9 Dual Core)
>
>   Thomas Weber<weber@corscience.de>
> diff --git a/board/compulab/dts/tegra2-trimslice.dts b/board/compulab/dts/tegra2-trimslice.dts
> new file mode 100644
> index 0000000..c707eb8
> --- /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 at c5008000";
> +	};
> +
> +	memory {
> +		reg =<0x00000000 0x40000000>;
> +	};
> +
> +	clocks {
> +		clk_32k: clk_32k {
> +			clock-frequency =<32000>;
> +		};
> +		osc {
> +			clock-frequency =<12000000>;
> +		};
> +	};
> +
> +	clock at 60006000 {
> +		clocks =<&clk_32k&osc>;
> +	};
> +
> +	serial at 70006000 {
> +		clock-frequency =<216000000>;
> +	};
> +
> +	i2c at 7000c000 {
> +		status = "disabled";
> +	};
> +
> +	i2c at 7000c400 {
> +		status = "disabled";
> +	};
> +
> +	i2c at 7000c500 {
> +		status = "disabled";
> +	};
> +
> +	i2c at 7000d000 {
> +		status = "disabled";
> +	};
> +
> +	usb at c5004000 {
> +		status = "disabled";
> +	};
> +
> +	usb at c5004000 {
> +		status = "disabled";
> +	};

This looks like a typo?


> +};
> diff --git a/board/compulab/trimslice/Makefile b/board/compulab/trimslice/Makefile
> new file mode 100644
> index 0000000..bf624f4
> --- /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

Can we, please not have the postal address here and all other files?


> +#
> +
> +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
> +

I feel that the common board.c file should be in the common SoC location,
like arch/arm/cpu/armv7/tegra2/ ?
In fact there is already a board.c file there, so how about we move the
common stuff there?


> +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 0000000..7167c91
> --- /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;
> +}
> diff --git a/boards.cfg b/boards.cfg
> index a96b7d7..e983b05 100644
> --- a/boards.cfg
> +++ b/boards.cfg
> @@ -260,6 +260,7 @@ jornada                      arm         sa1100
>   plutux                       arm         armv7       plutux              avionic-design tegra2
>   medcom                       arm         armv7       medcom              avionic-design tegra2
>   paz00                        arm         armv7       paz00               compal         tegra2
> +trimslice                    arm         armv7       trimslice           compulab       tegra2
>   atngw100                     avr32       at32ap      -                   atmel          at32ap700x
>   atstk1002                    avr32       at32ap      atstk1000           atmel          at32ap700x
>   atstk1003                    avr32       at32ap      atstk1000           atmel          at32ap700x
> diff --git a/include/configs/trimslice.h b/include/configs/trimslice.h
> new file mode 100644
> index 0000000..dafca5e
> --- /dev/null
> +++ b/include/configs/trimslice.h
> @@ -0,0 +1,89 @@
> +/*
> + *  (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
> + */
> +
> +#ifndef __CONFIG_H
> +#define __CONFIG_H
> +
> +#include<asm/sizes.h>
> +#include "tegra2-common.h"
> +
> +/* Enable fdt support for TrimSlice. Flash the image in u-boot-dtb.bin */
> +#define CONFIG_DEFAULT_DEVICE_TREE	tegra2-trimslice
> +#define CONFIG_OF_CONTROL
> +#define CONFIG_OF_SEPARATE
> +
> +/* High-level configuration options */
> +#define V_PROMPT		"Tegra2 (TrimSlice) # "

Can this, please be "TrimSlice #"


> +#define CONFIG_TEGRA2_BOARD_STRING	"NVIDIA Trimslice"

Can this, please be "CompuLab TrimSlice"


> +
> +/* Board-specific serial config */
> +#define CONFIG_SERIAL_MULTI
> +#define CONFIG_TEGRA2_ENABLE_UARTA
> +#define CONFIG_TEGRA2_UARTA_GPU
> +#define CONFIG_SYS_NS16550_COM1		NV_PA_APB_UARTA_BASE
> +
> +#define CONFIG_MACH_TYPE		MACH_TYPE_TRIMSLICE
> +#define CONFIG_SYS_BOARD_ODMDATA	0x300c0011 /* lp?, 1GB, UARTA */

In our downstream U-Boot, ODMDATA is 0x300d8011 /* lp1, 1GB, UARTA*/
Are you certain that your value is the correct one?


> +
> +#define CONFIG_BOARD_EARLY_INIT_F
> +
> +/* I2C */
> +#define CONFIG_TEGRA_I2C
> +#define CONFIG_SYS_I2C_INIT_BOARD
> +#define CONFIG_I2C_MULTI_BUS
> +#define CONFIG_SYS_MAX_I2C_BUS		4
> +#define CONFIG_SYS_I2C_SPEED		100000
> +#define CONFIG_CMD_I2C
> +
> +/* SD/MMC */
> +#define CONFIG_MMC
> +#define CONFIG_GENERIC_MMC
> +#define CONFIG_TEGRA2_MMC
> +#define CONFIG_CMD_MMC
> +
> +#define CONFIG_DOS_PARTITION
> +#define CONFIG_EFI_PARTITION
> +#define CONFIG_CMD_EXT2
> +#define CONFIG_CMD_FAT
> +
> +/* Environment not stored */
> +#define CONFIG_ENV_IS_NOWHERE
> +
> +/* USB Host support */
> +#define CONFIG_USB_EHCI
> +#define CONFIG_USB_EHCI_TEGRA
> +#define CONFIG_USB_STORAGE
> +#define CONFIG_CMD_USB
> +
> +/* USB networking support */
> +#define CONFIG_USB_HOST_ETHER
> +#define CONFIG_USB_ETHER_SMSC95XX
> +#define CONFIG_USB_ETHER_ASIX

TrimSlice does not have any on-board Ethernet over USB devices.
Do you connect them through the USB port? Or is it just a copy/paste 
from another board?


> +
> +/* General networking support */
> +#define CONFIG_CMD_NET
> +#define CONFIG_CMD_DHCP
> +
> +#include "tegra2-common-post.h"
> +
> +#endif /* __CONFIG_H */


--

Best Regards,

Konstantin

  reply	other threads:[~2012-05-30 15:35 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-17 16:03 [U-Boot] [PATCH V2] tegra: Compulab TrimSlice board support Stephen Warren
2012-05-30 15:35 ` Konstantin Sinyuk [this message]
2012-05-30 16:22   ` Stephen Warren
2012-05-31  8:45     ` Igor Grinberg
2012-05-31 16:17       ` Tom Warren
2012-06-01  6:48         ` Igor Grinberg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4FC63E4E.9010506@compulab.co.il \
    --to=kostyas@compulab.co.il \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.