Re: [U-Boot] [RFC PATCH 3/3] tegra2: Add support for Paz00 (Toshiba AC100)

2011-11-21 Thread Stephen Warren
On 11/20/2011 10:39 AM, Marc Dietrich wrote:
 On Sunday 20 November 2011 13:10:08 Thierry Reding wrote:
 * Stephen Warren wrote:
 The Toshiba AC100 (code-name Paz00m a/k/a Dynabook AZ) is an netbook
 derived from the NVIDIA Tegra Harmony reference board. It ships with
 Ubuntu, but is often repurposed to run Linux. This patch adds just
 enough support to get a U-Boot serial console, and the ability access
 built-in eMMC and the external SD slot.
...
 +#define TEGRA2_SYSMEM  mem=384M@0M nvmem=128M@384M

 Can we get rid of this? I think I remember some discussion about the same
 topic going on the linux-tegra/devicetree mailing lists, where it was
 decided that /mem-reserve/ entries should be dropped until some driver in
 the mainline kernel was actually going to use this memory. Perhaps U-Boot
 should take the same approach.
 
 I also vote for this. Additionally, most users prefer mem=448M here. The 
 device was original ships with 448 MB user memory, which was later reduced to 
 384 MB, maybe because of flash player requirements. I'm also not sure if 
 nvmem 
 is needed at all (maybe for android original kernel only)

Sounds like a plan. I've done this, and also moved the files to
board/compal/paz00 as suggested elsewhere.

 +#define V_PROMPT   Tegra2 (Paz00) # 
 +#define CONFIG_TEGRA2_BOARD_STRING NVIDIA Paz00
 +
 +/* Board-specific serial config */
 +#define CONFIG_SERIAL_MULTI
 +#define CONFIG_TEGRA2_ENABLE_UARTA
 +#define CONFIG_SYS_NS16550_COM1NV_PA_APB_UARTA_BASE
 +
 +#define CONFIG_MACH_TYPE   MACH_TYPE_PAZ00
 +/*
 + * The following should be 512MB, but I don't know how to set that
 value
 + * It doesn't matter, since this isn't really used any more
 + */
 +#define CONFIG_SYS_BOARD_ODMDATA   0x200d8011 /* lp1, 1GB */
 
 I don't know what is the effect of this paramter, but paz00 has 512 MB. The 
 original valu was 0x8000c0085, AFAIK, which leaves most stuff on the default 
 value.

OK, I've switched to that value (where did you extract it from, BTW),
and after fixing a bug in
arch/arm/cpu/armv7/tegra2/board.c:query_sdram_size() (default==512M, not
1G), it all works.

-- 
nvpublic
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [RFC PATCH 3/3] tegra2: Add support for Paz00 (Toshiba AC100)

2011-11-20 Thread Thierry Reding
* Stephen Warren wrote:
 The Toshiba AC100 (code-name Paz00m a/k/a Dynabook AZ) is an netbook derived
 from the NVIDIA Tegra Harmony reference board. It ships with Ubuntu, but is
 often repurposed to run Linux. This patch adds just enough support to get a
 U-Boot serial console, and the ability access built-in eMMC and the external
 SD slot.
 
 FIXME: Since this board is not marketed by NVIDIA (Toshiba is the vendor, and
 Compal the ODM), this board should possibly be moved out of the board/nvidia
 directory.
 
 Signed-off-by: Stephen Warren swar...@nvidia.com
 ---
  MAINTAINERS |1 +
  board/nvidia/paz00/Makefile |   41 ++
  board/nvidia/paz00/paz00.c  |   81 
 +++
  boards.cfg  |1 +
  include/configs/paz00.h |   52 +++
  5 files changed, 176 insertions(+), 0 deletions(-)
  create mode 100644 board/nvidia/paz00/Makefile
  create mode 100644 board/nvidia/paz00/paz00.c
  create mode 100644 include/configs/paz00.h
[...]
 diff --git a/include/configs/paz00.h b/include/configs/paz00.h
 new file mode 100644
 index 000..fcec6fa
 --- /dev/null
 +++ b/include/configs/paz00.h
 @@ -0,0 +1,52 @@
 +/*
 + * Copyright (c) 2010,2011, NVIDIA CORPORATION.  All rights reserved.
 + *
 + * 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 and conditions of the GNU General Public License,
 + * version 2, as published by the Free Software Foundation.
 + *
 + * This program is distributed in the hope 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.
 + */
 +
 +#ifndef __CONFIG_H
 +#define __CONFIG_H
 +
 +#include asm/sizes.h
 +#include tegra2-common.h
 +
 +/* High-level configuration options */
 +#define TEGRA2_SYSMEMmem=384M@0M nvmem=128M@384M

Can we get rid of this? I think I remember some discussion about the same
topic going on the linux-tegra/devicetree mailing lists, where it was decided
that /mem-reserve/ entries should be dropped until some driver in the
mainline kernel was actually going to use this memory. Perhaps U-Boot should
take the same approach.

Thierry

 +#define V_PROMPT Tegra2 (Paz00) # 
 +#define CONFIG_TEGRA2_BOARD_STRING   NVIDIA Paz00
 +
 +/* Board-specific serial config */
 +#define CONFIG_SERIAL_MULTI
 +#define CONFIG_TEGRA2_ENABLE_UARTA
 +#define CONFIG_SYS_NS16550_COM1  NV_PA_APB_UARTA_BASE
 +
 +#define CONFIG_MACH_TYPE MACH_TYPE_PAZ00
 +/*
 + * The following should be 512MB, but I don't know how to set that value
 + * It doesn't matter, since this isn't really used any more
 + */
 +#define CONFIG_SYS_BOARD_ODMDATA 0x200d8011 /* lp1, 1GB */
 +
 +#define CONFIG_BOARD_EARLY_INIT_F
 +
 +/* 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
 +#endif /* __CONFIG_H */
 -- 
 1.7.5.4
 
 
 


pgpkiHiWSyUqz.pgp
Description: PGP signature
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [RFC PATCH 3/3] tegra2: Add support for Paz00 (Toshiba AC100)

2011-11-20 Thread Marc Dietrich
Hi Stephen,

first, thanks for looking at this!

On Sunday 20 November 2011 13:10:08 Thierry Reding wrote:
 * Stephen Warren wrote:
  The Toshiba AC100 (code-name Paz00m a/k/a Dynabook AZ) is an netbook
  derived from the NVIDIA Tegra Harmony reference board. It ships with
  Ubuntu, but is often repurposed to run Linux. This patch adds just
  enough support to get a U-Boot serial console, and the ability access
  built-in eMMC and the external SD slot.
  
  FIXME: Since this board is not marketed by NVIDIA (Toshiba is the
  vendor, and Compal the ODM), this board should possibly be moved out of
  the board/nvidia directory.
  
  Signed-off-by: Stephen Warren swar...@nvidia.com
  ---
  
   MAINTAINERS |1 +
   board/nvidia/paz00/Makefile |   41 ++
   board/nvidia/paz00/paz00.c  |   81
   +++ boards.cfg   
 |1 +
   include/configs/paz00.h |   52 +++
   5 files changed, 176 insertions(+), 0 deletions(-)
   create mode 100644 board/nvidia/paz00/Makefile
   create mode 100644 board/nvidia/paz00/paz00.c
   create mode 100644 include/configs/paz00.h
 
 [...]
 
  diff --git a/include/configs/paz00.h b/include/configs/paz00.h
  new file mode 100644
  index 000..fcec6fa
  --- /dev/null
  +++ b/include/configs/paz00.h
  @@ -0,0 +1,52 @@
  +/*
  + * Copyright (c) 2010,2011, NVIDIA CORPORATION.  All rights reserved.
  + *
  + * 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 and conditions of the GNU General Public
  License, + * version 2, as published by the Free Software Foundation.
  + *
  + * This program is distributed in the hope 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.
  + */
  +
  +#ifndef __CONFIG_H
  +#define __CONFIG_H
  +
  +#include asm/sizes.h
  +#include tegra2-common.h
  +
  +/* High-level configuration options */
  +#define TEGRA2_SYSMEM  mem=384M@0M nvmem=128M@384M
 
 Can we get rid of this? I think I remember some discussion about the same
 topic going on the linux-tegra/devicetree mailing lists, where it was
 decided that /mem-reserve/ entries should be dropped until some driver in
 the mainline kernel was actually going to use this memory. Perhaps U-Boot
 should take the same approach.

I also vote for this. Additionally, most users prefer mem=448M here. The 
device was original ships with 448 MB user memory, which was later reduced to 
384 MB, maybe because of flash player requirements. I'm also not sure if nvmem 
is needed at all (maybe for android original kernel only)

  +#define V_PROMPT   Tegra2 (Paz00) # 
  +#define CONFIG_TEGRA2_BOARD_STRING NVIDIA Paz00
  +
  +/* Board-specific serial config */
  +#define CONFIG_SERIAL_MULTI
  +#define CONFIG_TEGRA2_ENABLE_UARTA
  +#define CONFIG_SYS_NS16550_COM1NV_PA_APB_UARTA_BASE
  +
  +#define CONFIG_MACH_TYPE   MACH_TYPE_PAZ00
  +/*
  + * The following should be 512MB, but I don't know how to set that
  value
  + * It doesn't matter, since this isn't really used any more
  + */
  +#define CONFIG_SYS_BOARD_ODMDATA   0x200d8011 /* lp1, 1GB */

I don't know what is the effect of this paramter, but paz00 has 512 MB. The 
original valu was 0x8000c0085, AFAIK, which leaves most stuff on the default 
value.

Marc

  +
  +#define CONFIG_BOARD_EARLY_INIT_F
  +
  +/* 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
  +#endif /* __CONFIG_H */


___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [RFC PATCH 3/3] tegra2: Add support for Paz00 (Toshiba AC100)

2011-11-19 Thread Stephen Warren
The Toshiba AC100 (code-name Paz00m a/k/a Dynabook AZ) is an netbook derived
from the NVIDIA Tegra Harmony reference board. It ships with Ubuntu, but is
often repurposed to run Linux. This patch adds just enough support to get a
U-Boot serial console, and the ability access built-in eMMC and the external
SD slot.

FIXME: Since this board is not marketed by NVIDIA (Toshiba is the vendor, and
Compal the ODM), this board should possibly be moved out of the board/nvidia
directory.

Signed-off-by: Stephen Warren swar...@nvidia.com
---
 MAINTAINERS |1 +
 board/nvidia/paz00/Makefile |   41 ++
 board/nvidia/paz00/paz00.c  |   81 +++
 boards.cfg  |1 +
 include/configs/paz00.h |   52 +++
 5 files changed, 176 insertions(+), 0 deletions(-)
 create mode 100644 board/nvidia/paz00/Makefile
 create mode 100644 board/nvidia/paz00/paz00.c
 create mode 100644 include/configs/paz00.h

diff --git a/MAINTAINERS b/MAINTAINERS
index c532c29..e339125 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -880,6 +880,7 @@ Tom Warren twar...@nvidia.com
 Stephen Warren swar...@nvidia.com
 
ventana Tegra2 (ARM7  A9 Dual Core)
+   paz00   Tegra2 (ARM7  A9 Dual Core)
 
 Lei Wen lei...@marvell.com
 
diff --git a/board/nvidia/paz00/Makefile b/board/nvidia/paz00/Makefile
new file mode 100644
index 000..470931c
--- /dev/null
+++ b/board/nvidia/paz00/Makefile
@@ -0,0 +1,41 @@
+#
+# Copyright (c) 2010,2011, NVIDIA CORPORATION.  All rights reserved.
+#
+# 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 and conditions of the GNU General Public License,
+# version 2, as published by the Free Software Foundation.
+#
+# This program is distributed in the hope 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.
+#
+
+include $(TOPDIR)/config.mk
+
+ifneq ($(OBJTREE),$(SRCTREE))
+$(shell mkdir -p $(obj)../common)
+endif
+
+LIB= $(obj)lib$(BOARD).o
+
+COBJS  := $(BOARD).o
+COBJS  += ../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/nvidia/paz00/paz00.c b/board/nvidia/paz00/paz00.c
new file mode 100644
index 000..20534ac
--- /dev/null
+++ b/board/nvidia/paz00/paz00.c
@@ -0,0 +1,81 @@
+/*
+ * Copyright (c) 2010,2011, NVIDIA CORPORATION.  All rights reserved.
+ *
+ * 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 and conditions of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope 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.
+ */
+
+#include common.h
+#include asm/io.h
+#include asm/arch/tegra2.h
+#include asm/arch/pinmux.h
+#include asm/gpio.h
+#ifdef CONFIG_TEGRA2_MMC
+#include mmc.h
+#endif
+#include ../common/board.h
+
+/*
+ * Routine: gpio_config_uart
+ * Description: Does nothing on Paz00 - no conflict w/SPI.
+ */
+void gpio_config_uart(void)
+{
+}
+
+#ifdef CONFIG_TEGRA2_MMC
+/*
+ * Routine: pin_mux_mmc
+ * Description: setup the pin muxes/tristate values for the SDMMC(s)
+ */
+static void pin_mux_mmc(void)
+{
+   /* SDMMC4: config 3, x8 on 2nd set of pins */
+   pinmux_set_func(PINGRP_ATB, PMUX_FUNC_SDIO4);
+   pinmux_set_func(PINGRP_GMA, PMUX_FUNC_SDIO4);
+   pinmux_set_func(PINGRP_GME, PMUX_FUNC_SDIO4);
+
+   pinmux_tristate_disable(PINGRP_ATB);
+   pinmux_tristate_disable(PINGRP_GMA);
+   pinmux_tristate_disable(PINGRP_GME);
+
+   /* SDMMC1: SDIO1_CLK, SDIO1_CMD, SDIO1_DAT[3:0] */
+   pinmux_set_func(PINGRP_SDMMC1, PMUX_FUNC_SDIO1);
+
+   pinmux_tristate_disable(PINGRP_SDMMC1);
+
+   /* For power GPIO PV1 */
+   pinmux_tristate_disable(PINGRP_UAC);
+   /* For CD GPIO PI5 */
+   pinmux_tristate_disable(PINGRP_ATC);
+}
+
+/* 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();
+
+   debug(board_mmc_init: init eMMC\n);
+   /* init dev 0, eMMC chip, with 4-bit bus */
+   /* The