Re: [U-Boot] [PATCH 2/5] vybrid: add Freescale vybrid vf600 tower board support

2013-04-28 Thread Wang Huan-B18965
 On 12/04/2013 08:53, Alison Wang wrote:
  This patch adds Freescale vybrid vf600 tower board support.
 
  Signed-off-by: TsiChung Liew tsicl...@gmail.com
  Signed-off-by: Jason Jin jason@freescale.com
  Signed-off-by: Alison Wang b18...@freescale.com
  ---
 
 Hi Alison.
 
   board/freescale/vybrid/Makefile|  40 +++
   board/freescale/vybrid/vybrid.c| 488
 +
   board/freescale/vybrid/vybridimage.cfg |  44 +++
   boards.cfg |   2 +
   include/configs/vybrid.h   | 284 +++
   include/configs/vybrid_iram.h  | 284 +++
   6 files changed, 1142 insertions(+)
   create mode 100644 board/freescale/vybrid/Makefile  create mode
  100644 board/freescale/vybrid/vybrid.c  create mode 100644
  board/freescale/vybrid/vybridimage.cfg
   create mode 100644 include/configs/vybrid.h  create mode 100644
  include/configs/vybrid_iram.h
 
  diff --git a/board/freescale/vybrid/Makefile
  b/board/freescale/vybrid/Makefile new file mode 100644 index
  000..0749b21
  --- /dev/null
  +++ b/board/freescale/vybrid/Makefile
  @@ -0,0 +1,40 @@
  +#
  +# Copyright 2012-2013 Freescale Semiconductor, Inc.
  +#
  +# 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  := $(BOARD).o
  +
  +SRCS   := $(SOBJS:.o=.S) $(COBJS:.o=.c)
  +OBJS   := $(addprefix $(obj),$(COBJS))
  +SOBJS  := $(addprefix $(obj),$(SOBJS))
  +
  +$(LIB):$(obj).depend $(OBJS) $(SOBJS)
  +   $(call cmd_link_o_target, $(OBJS) $(SOBJS))
  +
  +#
  +
  +
  +# defines $(obj).depend target
  +include $(SRCTREE)/rules.mk
  +
  +sinclude $(obj).depend
  +
  +#
  +
  diff --git a/board/freescale/vybrid/vybrid.c
  b/board/freescale/vybrid/vybrid.c new file mode 100644 index
  000..c2da1ff
  --- /dev/null
  +++ b/board/freescale/vybrid/vybrid.c
  @@ -0,0 +1,488 @@
  +/*
  + * Copyright 2012-2013 Freescale Semiconductor, Inc.
  + *
  + * 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/fec.h
  +#include asm/arch/vybrid-regs.h
  +#include asm/arch/vybrid-pins.h
  +#include asm/arch/iomux.h
  +#include asm/errno.h
  +#include asm/arch/sys_proto.h
  +#include i2c.h
  +#include mmc.h
  +#include fsl_esdhc.h
  +#include usb/ehci-fsl.h
  +
  +DECLARE_GLOBAL_DATA_PTR;
  +
  +#define DDR_IOMUX  0x0180
  +#define DDR_IOMUX1 0x00010180
  +
  +#define PHY_DQ_TIMING  0x2613
  +#define PHY_DQS_TIMING 0x2615
  +#define PHY_CTRL   0x01210080
  +#define PHY_MASTER_CTRL0x0001012a
  +#define PHY_SLAVE_CTRL 0x00012020
  +
  +#ifdef CONFIG_FSL_ESDHC
  +struct fsl_esdhc_cfg esdhc_cfg[2] = {
  +   {CONFIG_SYS_ESDHC1_BASE, 1},
  +   {ESDHC2_BASE_ADDR, 1},
  +};
  +#endif
  +
  +void setup_iomux_ddr(void)
  +{
  +   __raw_writel(DDR_IOMUX, IOMUXC_DDR_A15);
  +   __raw_writel(DDR_IOMUX, IOMUXC_DDR_A14);
  +   __raw_writel(DDR_IOMUX, IOMUXC_DDR_A13);
  +   __raw_writel(DDR_IOMUX, IOMUXC_DDR_A12);
  +   __raw_writel(DDR_IOMUX, IOMUXC_DDR_A11);
  +   __raw_writel(DDR_IOMUX, IOMUXC_DDR_A10);
  +   __raw_writel(DDR_IOMUX, IOMUXC_DDR_A9);
  +   __raw_writel(DDR_IOMUX, IOMUXC_DDR_A8);
  +   __raw_writel(DDR_IOMUX, IOMUXC_DDR_A7);
  +   

Re: [U-Boot] [PATCH 2/5] vybrid: add Freescale vybrid vf600 tower board support

2013-04-13 Thread wang alison
Hi, Fabio,


On Fri, Apr 12, 2013 at 3:53 AM, Alison Wang b18...@freescale.com wrote:
 This patch adds Freescale vybrid vf600 tower board support.

 Signed-off-by: TsiChung Liew tsicl...@gmail.com
 Signed-off-by: Jason Jin jason@freescale.com
 Signed-off-by: Alison Wang b18...@freescale.com
 ---
  board/freescale/vybrid/Makefile|  40 +++
  board/freescale/vybrid/vybrid.c| 488 
 +

Vybrid is the SoC name and the board name is vf600, right?

Then you should add:

 board/freescale/vf600

[Alison] I will modify the name.

Also, please copy Stefano Babic in your future patches, as he is the
U-boot imx maintainer.
  board/freescale/vybrid/vybridimage.cfg |  44 +++
  boards.cfg |   2 +
  include/configs/vybrid.h   | 284 +++
  include/configs/vybrid_iram.h  | 284 +++
  6 files changed, 1142 insertions(+)
  create mode 100644 board/freescale/vybrid/Makefile  create mode
 100644 board/freescale/vybrid/vybrid.c  create mode 100644
 board/freescale/vybrid/vybridimage.cfg
  create mode 100644 include/configs/vybrid.h  create mode 100644
 include/configs/vybrid_iram.h

This patch should be the last of the series.

You add the board support here, but ethernet, serial, esdhc support
comes later in the patch series.

[Alison] Agree, I will reorganize the series.

Please add an entry to MAINTAINERS file.

[Alison] Ok, I will add.


 +#ifdef CONFIG_FSL_ESDHC
 +struct fsl_esdhc_cfg esdhc_cfg[2] = {
 +   {CONFIG_SYS_ESDHC1_BASE, 1},
 +   {ESDHC2_BASE_ADDR, 1},

CONFIG_ESDHC2_BASE_ADDR ?

[Alison] Yes, I will modify.

 +int dram_init(void)
 +{
 +   setup_iomux_ddr();
 +#ifdef CONFIG_SYS_UBOOT_IN_GPURAM

You introduced CONFIG_SYS_UBOOT_IN_GPURAM here and it would be nice to
add an entry into README explaining what it means.

[Alison] This macro is used in vybrid_iram configuration. It is not
necessary. I will remove it with vybrid_iram configuration.

 +   gd-ram_size = 0x8;
 +   ddr_ctrl_init();
 +#else
 +   gd-ram_size = ddr_ctrl_init(); #endif
 +   return 0;

Can't you use the standard method?

gd-ram_size = get_ram_size((void *)PHYS_SDRAM, PHYS_SDRAM_SIZE);

[Alison] Agree, I will use the standard method.


 +#ifdef CONFIG_QUAD_SPI

CONFIG_QUAD_SPI does not exist in U-boot. Can't you re-use an existing
SPI config option?

[Alison] I will modify.

 +#ifdef CONFIG_FSL_ESDHC
 +int board_mmc_getcd(struct mmc *mmc)
 +{
 +   int ret;
 +
 +   __raw_writel(0x005031ef, IOMUXC_PAD_014);   /* clk */
 +   __raw_writel(0x005031ef, IOMUXC_PAD_015);   /* cmd */
 +   __raw_writel(0x005031ef, IOMUXC_PAD_016);   /* dat0 */
 +   __raw_writel(0x005031ef, IOMUXC_PAD_017);   /* dat1 */
 +   __raw_writel(0x005031ef, IOMUXC_PAD_018);   /* dat2 */
 +   __raw_writel(0x005031ef, IOMUXC_PAD_019);   /* dat3 */

This function should basically return the card detect status, please
setup the IOMUX in another place.

[Alison] Ok, I will rewrite these functions.

 +   ret = 1;
 +   return ret;

In this board you assume that the SD card is always present, right?

You could remove the 'ret' variable.

[Alison] Yes. I will remove it.

 diff --git a/board/freescale/vybrid/vybridimage.cfg
 b/board/freescale/vybrid/vybridimage.cfg
 new file mode 100644
 index 000..5da5659
 --- /dev/null
 +++ b/board/freescale/vybrid/vybridimage.cfg
 @@ -0,0 +1,44 @@
 +#
 +# Copyright 2012-2013 Freescale Semiconductor, Inc.
 +#
 +# 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. 51 Franklin Street Fifth Floor Boston, # MA
 +02110-1301 USA # # Refer docs/README.imxmage for more details about
 +how-to configure # and create imximage boot image # # The syntax is
 +taken as close as possible with the kwbimage
 +
 +IMAGE_VERSION  2
 +
 +# Boot Device : one of
 +# spi, sd (the board has no nand neither onenand)
 +
 +BOOT_FROM  sd
 +
 +# Device Configuration Data (DCD)
 +#
 +# Each entry must have the format:
 +# Addr-type   AddressValue
 +#
 +# where:
 +#  Addr-type register length (1,2 or 4 bytes)
 +#  Address   absolute address of the register
 +#  value value to be stored in the register
 +
 +# Setting IOMUXC

This file is suited for imx. If 

Re: [U-Boot] [PATCH 2/5] vybrid: add Freescale vybrid vf600 tower board support

2013-04-13 Thread Fabio Estevam
On Sat, Apr 13, 2013 at 2:15 AM, Wang Huan-B18965 b18...@freescale.com wrote:

 No hardcoded IP addresses/MAC addresses, please.

 [Alison] Agree. What is the general configuration way for these default 
 settings?

Just remove it from the config file.

For IP addresses, the user should manually set serverip/ipaddr, etc in
the U-boot prompt.

For MAC addresses usually we read it from fuses,

Regards,

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


Re: [U-Boot] [PATCH 2/5] vybrid: add Freescale vybrid vf600 tower board support

2013-04-13 Thread Stefano Babic
On 12/04/2013 08:53, Alison Wang wrote:
 This patch adds Freescale vybrid vf600 tower board support.
 
 Signed-off-by: TsiChung Liew tsicl...@gmail.com
 Signed-off-by: Jason Jin jason@freescale.com
 Signed-off-by: Alison Wang b18...@freescale.com
 ---

Hi Alison.

  board/freescale/vybrid/Makefile|  40 +++
  board/freescale/vybrid/vybrid.c| 488 
 +
  board/freescale/vybrid/vybridimage.cfg |  44 +++
  boards.cfg |   2 +
  include/configs/vybrid.h   | 284 +++
  include/configs/vybrid_iram.h  | 284 +++
  6 files changed, 1142 insertions(+)
  create mode 100644 board/freescale/vybrid/Makefile
  create mode 100644 board/freescale/vybrid/vybrid.c
  create mode 100644 board/freescale/vybrid/vybridimage.cfg
  create mode 100644 include/configs/vybrid.h
  create mode 100644 include/configs/vybrid_iram.h
 
 diff --git a/board/freescale/vybrid/Makefile b/board/freescale/vybrid/Makefile
 new file mode 100644
 index 000..0749b21
 --- /dev/null
 +++ b/board/freescale/vybrid/Makefile
 @@ -0,0 +1,40 @@
 +#
 +# Copyright 2012-2013 Freescale Semiconductor, Inc.
 +#
 +# 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:= $(BOARD).o
 +
 +SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
 +OBJS := $(addprefix $(obj),$(COBJS))
 +SOBJS:= $(addprefix $(obj),$(SOBJS))
 +
 +$(LIB):  $(obj).depend $(OBJS) $(SOBJS)
 + $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 +
 +#
 +
 +# defines $(obj).depend target
 +include $(SRCTREE)/rules.mk
 +
 +sinclude $(obj).depend
 +
 +#
 diff --git a/board/freescale/vybrid/vybrid.c b/board/freescale/vybrid/vybrid.c
 new file mode 100644
 index 000..c2da1ff
 --- /dev/null
 +++ b/board/freescale/vybrid/vybrid.c
 @@ -0,0 +1,488 @@
 +/*
 + * Copyright 2012-2013 Freescale Semiconductor, Inc.
 + *
 + * 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/fec.h
 +#include asm/arch/vybrid-regs.h
 +#include asm/arch/vybrid-pins.h
 +#include asm/arch/iomux.h
 +#include asm/errno.h
 +#include asm/arch/sys_proto.h
 +#include i2c.h
 +#include mmc.h
 +#include fsl_esdhc.h
 +#include usb/ehci-fsl.h
 +
 +DECLARE_GLOBAL_DATA_PTR;
 +
 +#define DDR_IOMUX0x0180
 +#define DDR_IOMUX1   0x00010180
 +
 +#define PHY_DQ_TIMING0x2613
 +#define PHY_DQS_TIMING   0x2615
 +#define PHY_CTRL 0x01210080
 +#define PHY_MASTER_CTRL  0x0001012a
 +#define PHY_SLAVE_CTRL   0x00012020
 +
 +#ifdef CONFIG_FSL_ESDHC
 +struct fsl_esdhc_cfg esdhc_cfg[2] = {
 + {CONFIG_SYS_ESDHC1_BASE, 1},
 + {ESDHC2_BASE_ADDR, 1},
 +};
 +#endif
 +
 +void setup_iomux_ddr(void)
 +{
 + __raw_writel(DDR_IOMUX, IOMUXC_DDR_A15);
 + __raw_writel(DDR_IOMUX, IOMUXC_DDR_A14);
 + __raw_writel(DDR_IOMUX, IOMUXC_DDR_A13);
 + __raw_writel(DDR_IOMUX, IOMUXC_DDR_A12);
 + __raw_writel(DDR_IOMUX, IOMUXC_DDR_A11);
 + __raw_writel(DDR_IOMUX, IOMUXC_DDR_A10);
 + __raw_writel(DDR_IOMUX, IOMUXC_DDR_A9);
 + __raw_writel(DDR_IOMUX, IOMUXC_DDR_A8);
 + __raw_writel(DDR_IOMUX, IOMUXC_DDR_A7);
 + __raw_writel(DDR_IOMUX, IOMUXC_DDR_A6);
 + __raw_writel(DDR_IOMUX, IOMUXC_DDR_A5);
 + __raw_writel(DDR_IOMUX, 

[U-Boot] [PATCH 2/5] vybrid: add Freescale vybrid vf600 tower board support

2013-04-12 Thread Alison Wang
This patch adds Freescale vybrid vf600 tower board support.

Signed-off-by: TsiChung Liew tsicl...@gmail.com
Signed-off-by: Jason Jin jason@freescale.com
Signed-off-by: Alison Wang b18...@freescale.com
---
 board/freescale/vybrid/Makefile|  40 +++
 board/freescale/vybrid/vybrid.c| 488 +
 board/freescale/vybrid/vybridimage.cfg |  44 +++
 boards.cfg |   2 +
 include/configs/vybrid.h   | 284 +++
 include/configs/vybrid_iram.h  | 284 +++
 6 files changed, 1142 insertions(+)
 create mode 100644 board/freescale/vybrid/Makefile
 create mode 100644 board/freescale/vybrid/vybrid.c
 create mode 100644 board/freescale/vybrid/vybridimage.cfg
 create mode 100644 include/configs/vybrid.h
 create mode 100644 include/configs/vybrid_iram.h

diff --git a/board/freescale/vybrid/Makefile b/board/freescale/vybrid/Makefile
new file mode 100644
index 000..0749b21
--- /dev/null
+++ b/board/freescale/vybrid/Makefile
@@ -0,0 +1,40 @@
+#
+# Copyright 2012-2013 Freescale Semiconductor, Inc.
+#
+# 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  := $(BOARD).o
+
+SRCS   := $(SOBJS:.o=.S) $(COBJS:.o=.c)
+OBJS   := $(addprefix $(obj),$(COBJS))
+SOBJS  := $(addprefix $(obj),$(SOBJS))
+
+$(LIB):$(obj).depend $(OBJS) $(SOBJS)
+   $(call cmd_link_o_target, $(OBJS) $(SOBJS))
+
+#
+
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
+
+sinclude $(obj).depend
+
+#
diff --git a/board/freescale/vybrid/vybrid.c b/board/freescale/vybrid/vybrid.c
new file mode 100644
index 000..c2da1ff
--- /dev/null
+++ b/board/freescale/vybrid/vybrid.c
@@ -0,0 +1,488 @@
+/*
+ * Copyright 2012-2013 Freescale Semiconductor, Inc.
+ *
+ * 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/fec.h
+#include asm/arch/vybrid-regs.h
+#include asm/arch/vybrid-pins.h
+#include asm/arch/iomux.h
+#include asm/errno.h
+#include asm/arch/sys_proto.h
+#include i2c.h
+#include mmc.h
+#include fsl_esdhc.h
+#include usb/ehci-fsl.h
+
+DECLARE_GLOBAL_DATA_PTR;
+
+#define DDR_IOMUX  0x0180
+#define DDR_IOMUX1 0x00010180
+
+#define PHY_DQ_TIMING  0x2613
+#define PHY_DQS_TIMING 0x2615
+#define PHY_CTRL   0x01210080
+#define PHY_MASTER_CTRL0x0001012a
+#define PHY_SLAVE_CTRL 0x00012020
+
+#ifdef CONFIG_FSL_ESDHC
+struct fsl_esdhc_cfg esdhc_cfg[2] = {
+   {CONFIG_SYS_ESDHC1_BASE, 1},
+   {ESDHC2_BASE_ADDR, 1},
+};
+#endif
+
+void setup_iomux_ddr(void)
+{
+   __raw_writel(DDR_IOMUX, IOMUXC_DDR_A15);
+   __raw_writel(DDR_IOMUX, IOMUXC_DDR_A14);
+   __raw_writel(DDR_IOMUX, IOMUXC_DDR_A13);
+   __raw_writel(DDR_IOMUX, IOMUXC_DDR_A12);
+   __raw_writel(DDR_IOMUX, IOMUXC_DDR_A11);
+   __raw_writel(DDR_IOMUX, IOMUXC_DDR_A10);
+   __raw_writel(DDR_IOMUX, IOMUXC_DDR_A9);
+   __raw_writel(DDR_IOMUX, IOMUXC_DDR_A8);
+   __raw_writel(DDR_IOMUX, IOMUXC_DDR_A7);
+   __raw_writel(DDR_IOMUX, IOMUXC_DDR_A6);
+   __raw_writel(DDR_IOMUX, IOMUXC_DDR_A5);
+   __raw_writel(DDR_IOMUX, IOMUXC_DDR_A4);
+   __raw_writel(DDR_IOMUX, IOMUXC_DDR_A3);
+   __raw_writel(DDR_IOMUX, IOMUXC_DDR_A2);
+   __raw_writel(DDR_IOMUX, IOMUXC_DDR_A1);
+   

Re: [U-Boot] [PATCH 2/5] vybrid: add Freescale vybrid vf600 tower board support

2013-04-12 Thread Fabio Estevam
Hi Alison,

On Fri, Apr 12, 2013 at 3:53 AM, Alison Wang b18...@freescale.com wrote:
 This patch adds Freescale vybrid vf600 tower board support.

 Signed-off-by: TsiChung Liew tsicl...@gmail.com
 Signed-off-by: Jason Jin jason@freescale.com
 Signed-off-by: Alison Wang b18...@freescale.com
 ---
  board/freescale/vybrid/Makefile|  40 +++
  board/freescale/vybrid/vybrid.c| 488 
 +

Vybrid is the SoC name and the board name is vf600, right?

Then you should add:

 board/freescale/vf600

Also, please copy Stefano Babic in your future patches, as he is the
U-boot imx maintainer.
  board/freescale/vybrid/vybridimage.cfg |  44 +++
  boards.cfg |   2 +
  include/configs/vybrid.h   | 284 +++
  include/configs/vybrid_iram.h  | 284 +++
  6 files changed, 1142 insertions(+)
  create mode 100644 board/freescale/vybrid/Makefile
  create mode 100644 board/freescale/vybrid/vybrid.c
  create mode 100644 board/freescale/vybrid/vybridimage.cfg
  create mode 100644 include/configs/vybrid.h
  create mode 100644 include/configs/vybrid_iram.h

This patch should be the last of the series.

You add the board support here, but ethernet, serial, esdhc support
comes later in the patch series.

Please add an entry to MAINTAINERS file.


 +#ifdef CONFIG_FSL_ESDHC
 +struct fsl_esdhc_cfg esdhc_cfg[2] = {
 +   {CONFIG_SYS_ESDHC1_BASE, 1},
 +   {ESDHC2_BASE_ADDR, 1},

CONFIG_ESDHC2_BASE_ADDR ?

 +int dram_init(void)
 +{
 +   setup_iomux_ddr();
 +#ifdef CONFIG_SYS_UBOOT_IN_GPURAM

You introduced CONFIG_SYS_UBOOT_IN_GPURAM here and it would be nice to
add an entry into README explaining what it means.

 +   gd-ram_size = 0x8;
 +   ddr_ctrl_init();
 +#else
 +   gd-ram_size = ddr_ctrl_init();
 +#endif
 +   return 0;

Can't you use the standard method?

gd-ram_size = get_ram_size((void *)PHYS_SDRAM, PHYS_SDRAM_SIZE);


 +#ifdef CONFIG_QUAD_SPI

CONFIG_QUAD_SPI does not exist in U-boot. Can't you re-use an existing
SPI config option?


 +#ifdef CONFIG_FSL_ESDHC
 +int board_mmc_getcd(struct mmc *mmc)
 +{
 +   int ret;
 +
 +   __raw_writel(0x005031ef, IOMUXC_PAD_014);   /* clk */
 +   __raw_writel(0x005031ef, IOMUXC_PAD_015);   /* cmd */
 +   __raw_writel(0x005031ef, IOMUXC_PAD_016);   /* dat0 */
 +   __raw_writel(0x005031ef, IOMUXC_PAD_017);   /* dat1 */
 +   __raw_writel(0x005031ef, IOMUXC_PAD_018);   /* dat2 */
 +   __raw_writel(0x005031ef, IOMUXC_PAD_019);   /* dat3 */

This function should basically return the card detect status, please
setup the IOMUX in another place.

 +   ret = 1;
 +   return ret;

In this board you assume that the SD card is always present, right?

You could remove the 'ret' variable.

 diff --git a/board/freescale/vybrid/vybridimage.cfg 
 b/board/freescale/vybrid/vybridimage.cfg
 new file mode 100644
 index 000..5da5659
 --- /dev/null
 +++ b/board/freescale/vybrid/vybridimage.cfg
 @@ -0,0 +1,44 @@
 +#
 +# Copyright 2012-2013 Freescale Semiconductor, Inc.
 +#
 +# 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. 51 Franklin Street Fifth Floor Boston,
 +# MA 02110-1301 USA
 +#
 +# Refer docs/README.imxmage for more details about how-to configure
 +# and create imximage boot image
 +#
 +# The syntax is taken as close as possible with the kwbimage
 +
 +IMAGE_VERSION  2
 +
 +# Boot Device : one of
 +# spi, sd (the board has no nand neither onenand)
 +
 +BOOT_FROM  sd
 +
 +# Device Configuration Data (DCD)
 +#
 +# Each entry must have the format:
 +# Addr-type   AddressValue
 +#
 +# where:
 +#  Addr-type register length (1,2 or 4 bytes)
 +#  Address   absolute address of the register
 +#  value value to be stored in the register
 +
 +# Setting IOMUXC

This file is suited for imx. If you don't need this for Vybrid, please
remove it.


 diff --git a/boards.cfg b/boards.cfg
 index 7725a15..2700a76 100644
 --- a/boards.cfg
 +++ b/boards.cfg
 @@ -244,6 +244,8 @@ am335x_evm_uart5 arm armv7   
 am335x  ti
  am335x_evm_usbsplarm armv7   am335x  ti  
am33xx  am335x_evm:SERIAL1,CONS_INDEX=1,SPL_USBETH_SUPPORT