Re: [U-Boot] [PATCH 6/9] Tegra30: Add Cardhu board files

2012-09-18 Thread Simon Glass
Hi Tom,

On Wed, Sep 12, 2012 at 3:10 PM, Tom Warren twarren.nvi...@gmail.com wrote:
 Signed-off-by: Tom Warren twar...@nvidia.com
 ---
  board/nvidia/cardhu/Makefile   |   48 
  board/nvidia/cardhu/cardhu.c   |   87 +++
  board/nvidia/cardhu/pinmux-config-common.h |  346 
 
  3 files changed, 481 insertions(+), 0 deletions(-)
  create mode 100644 board/nvidia/cardhu/Makefile
  create mode 100644 board/nvidia/cardhu/cardhu.c
  create mode 100644 board/nvidia/cardhu/pinmux-config-common.h

 diff --git a/board/nvidia/cardhu/Makefile b/board/nvidia/cardhu/Makefile
 new file mode 100644
 index 000..a910577
 --- /dev/null
 +++ b/board/nvidia/cardhu/Makefile
 @@ -0,0 +1,48 @@
 +#
 +#  (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)../common)
 +endif
 +
 +LIB= $(obj)lib$(BOARD).o
 +
 +COBJS  := $(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/cardhu/cardhu.c b/board/nvidia/cardhu/cardhu.c
 new file mode 100644
 index 000..f907906
 --- /dev/null
 +++ b/board/nvidia/cardhu/cardhu.c
 @@ -0,0 +1,87 @@
 +/*
 + *  (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 asm/io.h
 +#include asm/arch/tegra30.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_TEGRA_MMC
 +#include mmc.h
 +#endif
 +
 +/*
 + * Routine: gpio_config_uart
 + * Description: Does nothing on Cardhu - no conflict w/SPI.
 + */
 +void gpio_config_uart(void)
 +{
 +}
 +
 +#ifdef CONFIG_TEGRA_MMC
 +/*
 + * 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_SDMMC4, FUNCMUX_SDMMC4_ATB_GMA_GME_8_BIT);
 +   funcmux_select(PERIPH_ID_SDMMC3, FUNCMUX_SDMMC3_SDB_4BIT);
 +
 +   /* For power GPIO PI6 */
 +   pinmux_tristate_disable(PINGRP_ATA);
 +   /* 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 board has an 8-bit bus, but 8-bit doesn't work yet */
 +   tegra_mmc_init(0, 4, -1, -1);
 +
 +   debug(board_mmc_init: init SD slot\n);
 +   /* init dev 1, SD slot, with 4-bit bus */
 +   tegra_mmc_init(1, 4, GPIO_PI6, GPIO_PI5);
 +
 +   return 0;
 +}
 +#endif
 +
 +#ifdef CONFIG_USB_EHCI_TEGRA
 +void pin_mux_usb(void)
 +{
 +   /* For USB's GPIO PD0. For now, since we have no pinmux in fdt */
 +   

Re: [U-Boot] [PATCH 6/9] Tegra30: Add Cardhu board files

2012-09-13 Thread Stephen Warren
On 09/12/2012 04:10 PM, Tom Warren wrote:

 diff --git a/board/nvidia/cardhu/cardhu.c b/board/nvidia/cardhu/cardhu.c

 +/*
 + * Routine: gpio_config_uart
 + * Description: Does nothing on Cardhu - no conflict w/SPI.
 + */
 +void gpio_config_uart(void)
 +{
 +}

For reference, personally, I'd expect to see the UART pinmux set up
there (at least after Lucas's cleanup of GPIO/UART/pinmux functions patch).

 +#ifdef CONFIG_TEGRA_MMC
 +/*
 + * 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_SDMMC4, FUNCMUX_SDMMC4_ATB_GMA_GME_8_BIT);
 + funcmux_select(PERIPH_ID_SDMMC3, FUNCMUX_SDMMC3_SDB_4BIT);
...
 +#ifdef CONFIG_USB_EHCI_TEGRA
 +void pin_mux_usb(void)
 +{
 + /* For USB's GPIO PD0. For now, since we have no pinmux in fdt */
 + pinmux_tristate_disable(PINGRP_SLXK);
 +}
 +#endif

None of that would compile if the options were enabled. I'd definitely
suggest removing since it needs to be completely re-written anyway.
Otherwise, someone else isn't going to know and it'll seem like
reference code.

 diff --git a/board/nvidia/cardhu/pinmux-config-common.h 
 b/board/nvidia/cardhu/pinmux-config-common.h

I don't think anything in this file is actually used?
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH 6/9] Tegra30: Add Cardhu board files

2012-09-12 Thread Tom Warren
Signed-off-by: Tom Warren twar...@nvidia.com
---
 board/nvidia/cardhu/Makefile   |   48 
 board/nvidia/cardhu/cardhu.c   |   87 +++
 board/nvidia/cardhu/pinmux-config-common.h |  346 
 3 files changed, 481 insertions(+), 0 deletions(-)
 create mode 100644 board/nvidia/cardhu/Makefile
 create mode 100644 board/nvidia/cardhu/cardhu.c
 create mode 100644 board/nvidia/cardhu/pinmux-config-common.h

diff --git a/board/nvidia/cardhu/Makefile b/board/nvidia/cardhu/Makefile
new file mode 100644
index 000..a910577
--- /dev/null
+++ b/board/nvidia/cardhu/Makefile
@@ -0,0 +1,48 @@
+#
+#  (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)../common)
+endif
+
+LIB= $(obj)lib$(BOARD).o
+
+COBJS  := $(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/cardhu/cardhu.c b/board/nvidia/cardhu/cardhu.c
new file mode 100644
index 000..f907906
--- /dev/null
+++ b/board/nvidia/cardhu/cardhu.c
@@ -0,0 +1,87 @@
+/*
+ *  (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 asm/io.h
+#include asm/arch/tegra30.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_TEGRA_MMC
+#include mmc.h
+#endif
+
+/*
+ * Routine: gpio_config_uart
+ * Description: Does nothing on Cardhu - no conflict w/SPI.
+ */
+void gpio_config_uart(void)
+{
+}
+
+#ifdef CONFIG_TEGRA_MMC
+/*
+ * 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_SDMMC4, FUNCMUX_SDMMC4_ATB_GMA_GME_8_BIT);
+   funcmux_select(PERIPH_ID_SDMMC3, FUNCMUX_SDMMC3_SDB_4BIT);
+
+   /* For power GPIO PI6 */
+   pinmux_tristate_disable(PINGRP_ATA);
+   /* 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 board has an 8-bit bus, but 8-bit doesn't work yet */
+   tegra_mmc_init(0, 4, -1, -1);
+
+   debug(board_mmc_init: init SD slot\n);
+   /* init dev 1, SD slot, with 4-bit bus */
+   tegra_mmc_init(1, 4, GPIO_PI6, GPIO_PI5);
+
+   return 0;
+}
+#endif
+
+#ifdef CONFIG_USB_EHCI_TEGRA
+void pin_mux_usb(void)
+{
+   /* For USB's GPIO PD0. For now, since we have no pinmux in fdt */
+   pinmux_tristate_disable(PINGRP_SLXK);
+}
+#endif
diff --git a/board/nvidia/cardhu/pinmux-config-common.h 
b/board/nvidia/cardhu/pinmux-config-common.h
new file mode 100644
index 000..20583c9
--- /dev/null
+++ b/board/nvidia/cardhu/pinmux-config-common.h
@@