All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot-Users] [PATCH 0/11] Few MPC8360E-RDK related patches
@ 2008-03-24 17:44 Anton Vorontsov
  2008-03-24 17:46 ` [U-Boot-Users] [PATCH 01/11] uec: add support for gbit mii status readings Anton Vorontsov
                   ` (10 more replies)
  0 siblings, 11 replies; 13+ messages in thread
From: Anton Vorontsov @ 2008-03-24 17:44 UTC (permalink / raw)
  To: u-boot

This are few fixes and enhancements I have sitting in my rdk branch for
a while now...

-- 
Anton Vorontsov
email: cboumailru at gmail.com
irc://irc.freenode.net/bd2

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [U-Boot-Users] [PATCH 01/11] uec: add support for gbit mii status readings
  2008-03-24 17:44 [U-Boot-Users] [PATCH 0/11] Few MPC8360E-RDK related patches Anton Vorontsov
@ 2008-03-24 17:46 ` Anton Vorontsov
  2008-03-25  1:08   ` Kim Phillips
  2008-03-24 17:46 ` [U-Boot-Users] [PATCH 02/11] uec: add support for RGMII_RXID interface mode Anton Vorontsov
                   ` (9 subsequent siblings)
  10 siblings, 1 reply; 13+ messages in thread
From: Anton Vorontsov @ 2008-03-24 17:46 UTC (permalink / raw)
  To: u-boot

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
---
 drivers/qe/uec_phy.c |   28 +++++++++++++++++++---------
 drivers/qe/uec_phy.h |    5 +++++
 2 files changed, 24 insertions(+), 9 deletions(-)

diff --git a/drivers/qe/uec_phy.c b/drivers/qe/uec_phy.c
index a42701c..8c4a558 100644
--- a/drivers/qe/uec_phy.c
+++ b/drivers/qe/uec_phy.c
@@ -318,16 +318,26 @@ static int genmii_read_status (struct uec_mii_info *mii_info)
 		return err;
 
 	if (mii_info->autoneg) {
-		status = phy_read (mii_info, PHY_ANLPAR);
+		status = phy_read(mii_info, MII_1000BASETSTATUS);
 
-		if (status & (PHY_ANLPAR_10FD | PHY_ANLPAR_TXFD))
-			mii_info->duplex = DUPLEX_FULL;
-		else
-			mii_info->duplex = DUPLEX_HALF;
-		if (status & (PHY_ANLPAR_TXFD | PHY_ANLPAR_TX))
-			mii_info->speed = SPEED_100;
-		else
-			mii_info->speed = SPEED_10;
+		if (status & (LPA_1000FULL | LPA_1000HALF)) {
+			mii_info->speed = SPEED_1000;
+			if (status & LPA_1000FULL)
+				mii_info->duplex = DUPLEX_FULL;
+			else
+				mii_info->duplex = DUPLEX_HALF;
+		} else {
+			status = phy_read(mii_info, PHY_ANLPAR);
+
+			if (status & (PHY_ANLPAR_10FD | PHY_ANLPAR_TXFD))
+				mii_info->duplex = DUPLEX_FULL;
+			else
+				mii_info->duplex = DUPLEX_HALF;
+			if (status & (PHY_ANLPAR_TXFD | PHY_ANLPAR_TX))
+				mii_info->speed = SPEED_100;
+			else
+				mii_info->speed = SPEED_10;
+		}
 		mii_info->pause = 0;
 	}
 	/* On non-aneg, we assume what we put in BMCR is the speed,
diff --git a/drivers/qe/uec_phy.h b/drivers/qe/uec_phy.h
index e59a940..6f769fb 100644
--- a/drivers/qe/uec_phy.h
+++ b/drivers/qe/uec_phy.h
@@ -29,6 +29,11 @@
 #define MII_1000BASETCONTROL_FULLDUPLEXCAP    0x0200
 #define MII_1000BASETCONTROL_HALFDUPLEXCAP    0x0100
 
+/* 1000BT status */
+#define MII_1000BASETSTATUS	0x0a
+#define LPA_1000FULL		0x0400
+#define LPA_1000HALF		0x0200
+
 /* Cicada Extended Control Register 1 */
 #define MII_CIS8201_EXT_CON1	    0x17
 #define MII_CIS8201_EXTCON1_INIT    0x0000
-- 
1.5.2.2

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [U-Boot-Users] [PATCH 02/11] uec: add support for RGMII_RXID interface mode
  2008-03-24 17:44 [U-Boot-Users] [PATCH 0/11] Few MPC8360E-RDK related patches Anton Vorontsov
  2008-03-24 17:46 ` [U-Boot-Users] [PATCH 01/11] uec: add support for gbit mii status readings Anton Vorontsov
@ 2008-03-24 17:46 ` Anton Vorontsov
  2008-03-24 17:46 ` [U-Boot-Users] [PATCH 03/11] uec: add support for Broadcom BCM5481 Gigabit PHY Anton Vorontsov
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 13+ messages in thread
From: Anton Vorontsov @ 2008-03-24 17:46 UTC (permalink / raw)
  To: u-boot

PHY drivers will use it to setup software delay between RXD and RXC
signals.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
---
 drivers/qe/uec.c |    1 +
 drivers/qe/uec.h |    1 +
 2 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/drivers/qe/uec.c b/drivers/qe/uec.c
index 55f37cb..d34430c 100644
--- a/drivers/qe/uec.c
+++ b/drivers/qe/uec.c
@@ -417,6 +417,7 @@ static int uec_set_mac_if_mode(uec_private_t *uec, enet_interface_e if_mode)
 			maccfg2 |= MACCFG2_INTERFACE_MODE_BYTE;
 			upsmr |= (UPSMR_RPM | UPSMR_TBIM);
 			break;
+		case ENET_1000_RGMII_RXID:
 		case ENET_1000_RGMII:
 			maccfg2 |= MACCFG2_INTERFACE_MODE_BYTE;
 			upsmr |= UPSMR_RPM;
diff --git a/drivers/qe/uec.h b/drivers/qe/uec.h
index c384055..7762de6 100644
--- a/drivers/qe/uec.h
+++ b/drivers/qe/uec.h
@@ -642,6 +642,7 @@ typedef enum enet_interface {
 	ENET_100_RGMII,
 	ENET_1000_GMII,
 	ENET_1000_RGMII,
+	ENET_1000_RGMII_RXID,
 	ENET_1000_TBI,
 	ENET_1000_RTBI
 } enet_interface_e;
-- 
1.5.2.2

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [U-Boot-Users] [PATCH 03/11] uec: add support for Broadcom BCM5481 Gigabit PHY
  2008-03-24 17:44 [U-Boot-Users] [PATCH 0/11] Few MPC8360E-RDK related patches Anton Vorontsov
  2008-03-24 17:46 ` [U-Boot-Users] [PATCH 01/11] uec: add support for gbit mii status readings Anton Vorontsov
  2008-03-24 17:46 ` [U-Boot-Users] [PATCH 02/11] uec: add support for RGMII_RXID interface mode Anton Vorontsov
@ 2008-03-24 17:46 ` Anton Vorontsov
  2008-03-24 17:46 ` [U-Boot-Users] [PATCH 04/11] mpc83xx: MPC8360E-RDK: use RGMII_RXID interface mode Anton Vorontsov
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 13+ messages in thread
From: Anton Vorontsov @ 2008-03-24 17:46 UTC (permalink / raw)
  To: u-boot

This patch adds basic support for Broadcom BCM5481 PHY.

RXD-RXC delay quirk comes from MPC8360E-RDK BSP source, author is
Peter Barada <peterb@logicpd.com>.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
---
 drivers/qe/uec_phy.c |   41 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 41 insertions(+), 0 deletions(-)

diff --git a/drivers/qe/uec_phy.c b/drivers/qe/uec_phy.c
index 8c4a558..423ba78 100644
--- a/drivers/qe/uec_phy.c
+++ b/drivers/qe/uec_phy.c
@@ -347,6 +347,37 @@ static int genmii_read_status (struct uec_mii_info *mii_info)
 	return 0;
 }
 
+static int bcm_init(struct uec_mii_info *mii_info)
+{
+	struct eth_device *edev = mii_info->dev;
+	uec_private_t *uec = edev->priv;
+
+	gbit_config_aneg(mii_info);
+
+	if (uec->uec_info->enet_interface == ENET_1000_RGMII_RXID) {
+		u16 val;
+		int cnt = 50;
+
+		/* Wait for aneg to complete. */
+		do
+			val = phy_read(mii_info, PHY_BMSR);
+		while (--cnt && !(val & PHY_BMSR_AUTN_COMP));
+
+		/* Set RDX clk delay. */
+		phy_write(mii_info, 0x18, 0x7 | (7 << 12));
+
+		val = phy_read(mii_info, 0x18);
+		/* Set RDX-RXC skew. */
+		val |= (1 << 8);
+		val |= (7 | (7 << 12));
+		/* Write bits 14:0. */
+		val |= (1 << 15);
+		phy_write(mii_info, 0x18, val);
+	}
+
+	 return 0;
+}
+
 static int marvell_read_status (struct uec_mii_info *mii_info)
 {
 	u16 status;
@@ -515,6 +546,15 @@ static struct phy_info phy_info_marvell = {
 	.config_intr = &marvell_config_intr,
 };
 
+static struct phy_info phy_info_bcm5481 = {
+	.phy_id = 0x0143bca0,
+	.phy_id_mask = 0xffffff0,
+	.name = "Broadcom 5481",
+	.features = MII_GBIT_FEATURES,
+	.read_status = genmii_read_status,
+	.init = bcm_init,
+};
+
 static struct phy_info phy_info_genmii = {
 	.phy_id = 0x00000000,
 	.phy_id_mask = 0x00000000,
@@ -528,6 +568,7 @@ static struct phy_info *phy_info[] = {
 	&phy_info_dm9161,
 	&phy_info_dm9161a,
 	&phy_info_marvell,
+	&phy_info_bcm5481,
 	&phy_info_genmii,
 	NULL
 };
-- 
1.5.2.2

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [U-Boot-Users] [PATCH 04/11] mpc83xx: MPC8360E-RDK: use RGMII_RXID interface mode
  2008-03-24 17:44 [U-Boot-Users] [PATCH 0/11] Few MPC8360E-RDK related patches Anton Vorontsov
                   ` (2 preceding siblings ...)
  2008-03-24 17:46 ` [U-Boot-Users] [PATCH 03/11] uec: add support for Broadcom BCM5481 Gigabit PHY Anton Vorontsov
@ 2008-03-24 17:46 ` Anton Vorontsov
  2008-03-24 17:46 ` [U-Boot-Users] [PATCH 05/11] mpc83xx: MPC8360E-RDK: add support for NAND Anton Vorontsov
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 13+ messages in thread
From: Anton Vorontsov @ 2008-03-24 17:46 UTC (permalink / raw)
  To: u-boot

This is needed for BCM PHYs to work on this board.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
---
 include/configs/MPC8360ERDK.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/configs/MPC8360ERDK.h b/include/configs/MPC8360ERDK.h
index 27b037a..1588610 100644
--- a/include/configs/MPC8360ERDK.h
+++ b/include/configs/MPC8360ERDK.h
@@ -290,7 +290,7 @@
 #define CFG_UEC1_TX_CLK		QE_CLK9
 #define CFG_UEC1_ETH_TYPE	GIGA_ETH
 #define CFG_UEC1_PHY_ADDR	2
-#define CFG_UEC1_INTERFACE_MODE ENET_1000_GMII
+#define CFG_UEC1_INTERFACE_MODE ENET_1000_RGMII_RXID
 #endif
 
 #define CONFIG_UEC_ETH2		/* GETH2 */
@@ -301,7 +301,7 @@
 #define CFG_UEC2_TX_CLK		QE_CLK4
 #define CFG_UEC2_ETH_TYPE	GIGA_ETH
 #define CFG_UEC2_PHY_ADDR	4
-#define CFG_UEC2_INTERFACE_MODE ENET_1000_GMII
+#define CFG_UEC2_INTERFACE_MODE ENET_1000_RGMII_RXID
 #endif
 
 /*
-- 
1.5.2.2

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [U-Boot-Users] [PATCH 05/11] mpc83xx: MPC8360E-RDK: add support for NAND
  2008-03-24 17:44 [U-Boot-Users] [PATCH 0/11] Few MPC8360E-RDK related patches Anton Vorontsov
                   ` (3 preceding siblings ...)
  2008-03-24 17:46 ` [U-Boot-Users] [PATCH 04/11] mpc83xx: MPC8360E-RDK: use RGMII_RXID interface mode Anton Vorontsov
@ 2008-03-24 17:46 ` Anton Vorontsov
  2008-03-24 17:46 ` [U-Boot-Users] [PATCH 06/11] mpc83xx: MPC8360E-RDK: configure pario pins for AD7843 and FHCI Anton Vorontsov
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 13+ messages in thread
From: Anton Vorontsov @ 2008-03-24 17:46 UTC (permalink / raw)
  To: u-boot

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
---
 board/freescale/mpc8360erdk/Makefile |    4 +-
 board/freescale/mpc8360erdk/nand.c   |   72 ++++++++++++++++++++++++++++++++++
 include/configs/MPC8360ERDK.h        |   24 +++++++++++
 3 files changed, 99 insertions(+), 1 deletions(-)
 create mode 100644 board/freescale/mpc8360erdk/nand.c

diff --git a/board/freescale/mpc8360erdk/Makefile b/board/freescale/mpc8360erdk/Makefile
index acc9544..53e0c48 100644
--- a/board/freescale/mpc8360erdk/Makefile
+++ b/board/freescale/mpc8360erdk/Makefile
@@ -25,8 +25,10 @@ include $(TOPDIR)/config.mk
 
 LIB	= $(obj)lib$(BOARD).a
 
-COBJS	:= $(BOARD).o
+COBJS-y += $(BOARD).o
+COBJS-$(CONFIG_CMD_NAND) += nand.o
 
+COBJS	:= $(COBJS-y)
 SRCS	:= $(SOBJS:.o=.S) $(COBJS:.o=.c)
 OBJS	:= $(addprefix $(obj),$(COBJS))
 SOBJS	:= $(addprefix $(obj),$(SOBJS))
diff --git a/board/freescale/mpc8360erdk/nand.c b/board/freescale/mpc8360erdk/nand.c
new file mode 100644
index 0000000..e1e790b
--- /dev/null
+++ b/board/freescale/mpc8360erdk/nand.c
@@ -0,0 +1,72 @@
+/*
+ * MPC8360E-RDK support for the NAND on FSL UPM
+ *
+ * Copyright (C) 2007 MontaVista Software, Inc.
+ *                    Anton Vorontsov <avorontsov@ru.mvista.com>
+ *
+ * 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.
+ */
+
+#include <config.h>
+#include <common.h>
+#include <asm/io.h>
+#include <asm/immap_83xx.h>
+#include <linux/mtd/mtd.h>
+#include <linux/mtd/fsl_upm.h>
+#include <nand.h>
+
+static struct immap *im = (struct immap *)CFG_IMMR;
+
+static const u32 upm_array[] = {
+	0x0ff03c30, 0x0ff03c30, 0x0ff03c34, 0x0ff33c30, /* Words  0 to  3 */
+	0xfff33c31, 0xfffffc30, 0xfffffc30, 0xfffffc30, /* Words  4 to  7 */
+	0x0faf3c30, 0x0faf3c30, 0x0faf3c30, 0x0fff3c34, /* Words  8 to 11 */
+	0xffff3c31, 0xfffffc30, 0xfffffc30, 0xfffffc30, /* Words 12 to 15 */
+	0x0fa3fc30, 0x0fa3fc30, 0x0fa3fc30, 0x0ff3fc34, /* Words 16 to 19 */
+	0xfff3fc31, 0xfffffc30, 0xfffffc30, 0xfffffc30, /* Words 20 to 23 */
+	0x0ff33c30, 0x0fa33c30, 0x0fa33c34, 0x0ff33c30, /* Words 24 to 27 */
+	0xfff33c31, 0xfff0fc30, 0xfff0fc30, 0xfff0fc30, /* Words 28 to 31 */
+	0xfff3fc30, 0xfff3fc30, 0xfff6fc30, 0xfffcfc30, /* Words 32 to 35 */
+	0xfffcfc30, 0xfffcfc30, 0xfffcfc30, 0xfffcfc30, /* Words 36 to 39 */
+	0xfffcfc30, 0xfffcfc30, 0xfffcfc30, 0xfffcfc30, /* Words 40 to 43 */
+	0xfffdfc30, 0xfffffc30, 0xfffffc30, 0xfffffc31, /* Words 44 to 47 */
+	0xfffffc30, 0xfffffc00, 0xfffffc00, 0xfffffc00, /* Words 48 to 51 */
+	0xfffffc00, 0xfffffc00, 0xfffffc00, 0xfffffc00, /* Words 52 to 55 */
+	0xfffffc00, 0xfffffc00, 0xfffffc00, 0xfffffc01, /* Words 56 to 59 */
+	0xfffffc00, 0xfffffc00, 0xfffffc00, 0xfffffc01, /* Words 60 to 63 */
+};
+
+static int dev_ready(void)
+{
+	if (in_be32(&im->qepio.ioport[4].pdat) & 0x00002000) {
+		debug("nand ready\n");
+		return 1;
+	}
+
+	debug("nand busy\n");
+	return 0;
+}
+
+static struct fsl_upm_nand fun = {
+	.upm = {
+		.array = upm_array,
+		.io_addr = (void *)CFG_NAND_BASE,
+	},
+	.width = 1,
+	.upm_cmd_offset = 8,
+	.upm_addr_offset = 16,
+	.dev_ready = dev_ready,
+	.wait_pattern = 1,
+	.chip_delay = 50,
+};
+
+int board_nand_init(struct nand_chip *nand)
+{
+	fun.upm.mxmr = &im->lbus.mamr;
+	fun.upm.mdr = &im->lbus.mdr;
+	fun.upm.mar = &im->lbus.mar;
+	return fsl_upm_nand_init(nand, &fun);
+}
diff --git a/include/configs/MPC8360ERDK.h b/include/configs/MPC8360ERDK.h
index 1588610..97797cc 100644
--- a/include/configs/MPC8360ERDK.h
+++ b/include/configs/MPC8360ERDK.h
@@ -184,6 +184,11 @@
  * NAND flash on the local bus
  */
 #define CFG_NAND_BASE		0x60000000
+#define CONFIG_CMD_NAND		1
+#define CONFIG_NAND_FSL_UPM	1
+#define CFG_MAX_NAND_DEVICE	1
+#define NAND_MAX_CHIPS		1
+#define CONFIG_MTD_NAND_VERIFY_WRITE
 
 #define CFG_LBLAWBAR1_PRELIM	CFG_NAND_BASE
 #define CFG_LBLAWAR1_PRELIM	0x8000001b /* Access window size 4K */
@@ -503,23 +508,42 @@
    "fdtfile=dtb\0"\
    "fsfile=fs\0"\
    "ubootfile=u-boot.bin\0"\
+   "mtdparts=mtdparts=60000000.nand-flash:4096k(kernel),128k(dtb),-(rootfs)\0"\
    "setbootargs=setenv bootargs console=$consoledev,$baudrate "\
    		"$mtdparts panic=1\0"\
    "adddhcpargs=setenv bootargs $bootargs ip=on\0"\
    "addnfsargs=setenv bootargs $bootargs ip=$ipaddr:$serverip:"\
    		"$gatewayip:$netmask:$hostname:$netdev:off "\
    		"root=/dev/nfs rw nfsroot=$serverip:$rootpath\0"\
+   "addnandargs=setenv bootargs $bootargs root=/dev/mtdblock3 "\
+   		"rootfstype=jffs2 rw\0"\
    "tftp_get_uboot=tftp 100000 $ubootfile\0"\
    "tftp_get_kernel=tftp $loadaddr $bootfile\0"\
    "tftp_get_dtb=tftp $fdtaddr $fdtfile\0"\
    "tftp_get_fs=tftp c00000 $fsfile\0"\
+   "nand_erase_kernel=nand erase 0 400000\0"\
+   "nand_erase_dtb=nand erase 400000 20000\0"\
+   "nand_erase_fs=nand erase 420000 3be0000\0"\
+   "nand_write_kernel=nand write.jffs2 $loadaddr 0 400000\0"\
+   "nand_write_dtb=nand write.jffs2 $fdtaddr 400000 20000\0"\
+   "nand_write_fs=nand write.jffs2 c00000 420000 $filesize\0"\
+   "nand_read_kernel=nand read.jffs2 $loadaddr 0 400000\0"\
+   "nand_read_dtb=nand read.jffs2 $fdtaddr 400000 20000\0"\
    "nor_reflash=protect off ff800000 ff87ffff ; erase ff800000 ff87ffff ; "\
    		"cp.b 100000 ff800000 $filesize\0"\
+   "nand_reflash_kernel=run tftp_get_kernel nand_erase_kernel "\
+   		"nand_write_kernel\0"\
+   "nand_reflash_dtb=run tftp_get_dtb nand_erase_dtb nand_write_dtb\0"\
+   "nand_reflash_fs=run tftp_get_fs nand_erase_fs nand_write_fs\0"\
+   "nand_reflash=run nand_reflash_kernel nand_reflash_dtb "\
+   		"nand_reflash_fs\0"\
    "boot_m=bootm $loadaddr - $fdtaddr\0"\
    "dhcpboot=run setbootargs adddhcpargs tftp_get_kernel tftp_get_dtb "\
    		"boot_m\0"\
    "nfsboot=run setbootargs addnfsargs tftp_get_kernel tftp_get_dtb "\
    		"boot_m\0"\
+   "nandboot=run setbootargs addnandargs nand_read_kernel nand_read_dtb "\
+   		"boot_m\0"\
    ""
 
 #define CONFIG_BOOTCOMMAND "run dhcpboot"
-- 
1.5.2.2

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [U-Boot-Users] [PATCH 06/11] mpc83xx: MPC8360E-RDK: configure pario pins for AD7843 and FHCI
  2008-03-24 17:44 [U-Boot-Users] [PATCH 0/11] Few MPC8360E-RDK related patches Anton Vorontsov
                   ` (4 preceding siblings ...)
  2008-03-24 17:46 ` [U-Boot-Users] [PATCH 05/11] mpc83xx: MPC8360E-RDK: add support for NAND Anton Vorontsov
@ 2008-03-24 17:46 ` Anton Vorontsov
  2008-03-24 17:46 ` [U-Boot-Users] [PATCH 07/11] mpc83xx: MPC8360E-RDK: rework ddr setup, enable ecc Anton Vorontsov
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 13+ messages in thread
From: Anton Vorontsov @ 2008-03-24 17:46 UTC (permalink / raw)
  To: u-boot

This patch adds qe pario pins configuration for AD7843 ADC/Touchscreen
controller and FHCI (QE USB).

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
---
 board/freescale/mpc8360erdk/mpc8360erdk.c |   17 +++++++++++++++++
 1 files changed, 17 insertions(+), 0 deletions(-)

diff --git a/board/freescale/mpc8360erdk/mpc8360erdk.c b/board/freescale/mpc8360erdk/mpc8360erdk.c
index 8005a50..3bcdda7 100644
--- a/board/freescale/mpc8360erdk/mpc8360erdk.c
+++ b/board/freescale/mpc8360erdk/mpc8360erdk.c
@@ -186,6 +186,23 @@ const qe_iop_conf_t qe_iop_conf_tab[] = {
 	{1,  7, 1, 0, 0}, /* LVDS_BKLT_CTR */
 	{2, 16, 1, 0, 0}, /* LVDS_BKLT_EN */
 
+	/* AD7843 ADC/Touchscreen controller */
+	{4, 14, 1, 0, 0}, /* SPI_nCS0 */
+	{4, 28, 3, 0, 3}, /* SPI_MOSI */
+	{4, 29, 3, 0, 3}, /* SPI_MISO */
+	{4, 30, 3, 0, 3}, /* SPI_CLK */
+
+	/* Freescale QUICC Engine USB Host Controller (FHCI) */
+	{1,  2, 1, 0, 3}, /* USBOE */
+	{1,  3, 1, 0, 3}, /* USBTP */
+	{1,  8, 1, 0, 1}, /* USBTN */
+	{1,  9, 2, 1, 3}, /* USBRP */
+	{1, 10, 2, 0, 3}, /* USBRXD */
+	{1, 11, 2, 1, 3}, /* USBRN */
+	{2, 20, 2, 0, 1}, /* CLK21 */
+	{4, 20, 1, 0, 0}, /* SPEED */
+	{4, 21, 1, 0, 0}, /* SUSPND */
+
 	/* END of table */
 	{0,  0, 0, 0, QE_IOP_TAB_END},
 };
-- 
1.5.2.2

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [U-Boot-Users] [PATCH 07/11] mpc83xx: MPC8360E-RDK: rework ddr setup, enable ecc
  2008-03-24 17:44 [U-Boot-Users] [PATCH 0/11] Few MPC8360E-RDK related patches Anton Vorontsov
                   ` (5 preceding siblings ...)
  2008-03-24 17:46 ` [U-Boot-Users] [PATCH 06/11] mpc83xx: MPC8360E-RDK: configure pario pins for AD7843 and FHCI Anton Vorontsov
@ 2008-03-24 17:46 ` Anton Vorontsov
  2008-03-24 17:47 ` [U-Boot-Users] [PATCH 08/11] mpc83xx: MPC8360E-RDK: add dhcp command Anton Vorontsov
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 13+ messages in thread
From: Anton Vorontsov @ 2008-03-24 17:46 UTC (permalink / raw)
  To: u-boot

Current DDR setup easily causes memory corruption, this patch fixes it.

Also fix TIMING_CFG0_MRS_CYC definition.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
---
 include/configs/MPC8360ERDK.h |   48 ++++++++++++++++++++++++++++++----------
 include/mpc83xx.h             |    3 +-
 2 files changed, 38 insertions(+), 13 deletions(-)

diff --git a/include/configs/MPC8360ERDK.h b/include/configs/MPC8360ERDK.h
index 97797cc..ba25a59 100644
--- a/include/configs/MPC8360ERDK.h
+++ b/include/configs/MPC8360ERDK.h
@@ -89,8 +89,8 @@
 
 #define CFG_83XX_DDR_USES_CS0
 
-#undef CONFIG_DDR_ECC		/* support DDR ECC function */
-#undef CONFIG_DDR_ECC_CMD	/* Use DDR ECC user commands */
+#define CONFIG_DDR_ECC		/* support DDR ECC function */
+#define CONFIG_DDR_ECC_CMD	/* Use DDR ECC user commands */
 
 /*
  * DDRCDR - DDR Control Driver Register
@@ -104,20 +104,44 @@
  */
 #define CONFIG_DDR_II
 #define CFG_DDR_SIZE		256 /* MB */
-#define CFG_DDRCDR		0x80080001
 #define CFG_DDR_CS0_BNDS	0x0000000f
 #define CFG_DDR_CS0_CONFIG	(CSCONFIG_EN | CSCONFIG_ROW_BIT_13 | \
-				 CSCONFIG_COL_BIT_10)
-#define CFG_DDR_TIMING_0	0x00330903
-#define CFG_DDR_TIMING_1	0x3835a322
-#define CFG_DDR_TIMING_2	0x00104909
-#define CFG_DDR_TIMING_3	0x00000000
-#define CFG_DDR_CLK_CNTL	0x02000000
+				 CSCONFIG_COL_BIT_10 | CSCONFIG_ODT_WR_ACS)
+#define CFG_DDR_SDRAM_CFG	(SDRAM_CFG_SDRAM_TYPE_DDR2 | SDRAM_CFG_ECC_EN)
+#define CFG_DDR_SDRAM_CFG2	0x00001000
+#define CFG_DDR_CLK_CNTL	(DDR_SDRAM_CLK_CNTL_CLK_ADJUST_05)
+#define CFG_DDR_INTERVAL	((256 << SDRAM_INTERVAL_BSTOPRE_SHIFT) | \
+				 (1115 << SDRAM_INTERVAL_REFINT_SHIFT))
 #define CFG_DDR_MODE		0x47800432
 #define CFG_DDR_MODE2		0x8000c000
-#define CFG_DDR_INTERVAL	0x045b0100
-#define CFG_DDR_SDRAM_CFG	0x03000000
-#define CFG_DDR_SDRAM_CFG2	0x00001000
+
+#define CFG_DDR_TIMING_0	((2 << TIMING_CFG0_MRS_CYC_SHIFT) | \
+				 (9 << TIMING_CFG0_ODT_PD_EXIT_SHIFT) | \
+				 (3 << TIMING_CFG0_PRE_PD_EXIT_SHIFT) | \
+				 (3 << TIMING_CFG0_ACT_PD_EXIT_SHIFT) | \
+				 (0 << TIMING_CFG0_WWT_SHIFT) | \
+				 (0 << TIMING_CFG0_RRT_SHIFT) | \
+				 (0 << TIMING_CFG0_WRT_SHIFT) | \
+				 (0 << TIMING_CFG0_RWT_SHIFT))
+
+#define CFG_DDR_TIMING_1	((      TIMING_CFG1_CASLAT_30) | \
+				 ( 2 << TIMING_CFG1_WRTORD_SHIFT) | \
+				 ( 2 << TIMING_CFG1_ACTTOACT_SHIFT) | \
+				 ( 3 << TIMING_CFG1_WRREC_SHIFT) | \
+				 (10 << TIMING_CFG1_REFREC_SHIFT) | \
+				 ( 3 << TIMING_CFG1_ACTTORW_SHIFT) | \
+				 ( 8 << TIMING_CFG1_ACTTOPRE_SHIFT) | \
+				 ( 3 << TIMING_CFG1_PRETOACT_SHIFT))
+
+#define CFG_DDR_TIMING_2	((9 << TIMING_CFG2_FOUR_ACT_SHIFT) | \
+				 (4 << TIMING_CFG2_CKE_PLS_SHIFT) | \
+				 (2 << TIMING_CFG2_WR_DATA_DELAY_SHIFT) | \
+				 (2 << TIMING_CFG2_RD_TO_PRE_SHIFT) | \
+				 (2 << TIMING_CFG2_WR_LAT_DELAY_SHIFT) | \
+				 (0 << TIMING_CFG2_ADD_LAT_SHIFT) | \
+				 (0 << TIMING_CFG2_CPO_SHIFT))
+
+#define CFG_DDR_TIMING_3	0x00000000
 
 /*
  * Memory test
diff --git a/include/mpc83xx.h b/include/mpc83xx.h
index df052e3..20df166 100644
--- a/include/mpc83xx.h
+++ b/include/mpc83xx.h
@@ -880,7 +880,7 @@
 #define TIMING_CFG0_PRE_PD_EXIT_SHIFT	16
 #define TIMING_CFG0_ODT_PD_EXIT		0x00000F00
 #define TIMING_CFG0_ODT_PD_EXIT_SHIFT	8
-#define TIMING_CFG0_MRS_CYC		0x00000F00
+#define TIMING_CFG0_MRS_CYC		0x0000000F
 #define TIMING_CFG0_MRS_CYC_SHIFT	0
 
 /* TIMING_CFG_1 - DDR SDRAM Timing Configuration 1
@@ -903,6 +903,7 @@
 #define TIMING_CFG1_WRTORD_SHIFT	0
 #define TIMING_CFG1_CASLAT_20		0x00030000	/* CAS latency = 2.0 */
 #define TIMING_CFG1_CASLAT_25		0x00040000	/* CAS latency = 2.5 */
+#define TIMING_CFG1_CASLAT_30		0x00050000	/* CAS latency = 2.5 */
 
 /* TIMING_CFG_2 - DDR SDRAM Timing Configuration 2
  */
-- 
1.5.2.2

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [U-Boot-Users] [PATCH 08/11] mpc83xx: MPC8360E-RDK: add dhcp command
  2008-03-24 17:44 [U-Boot-Users] [PATCH 0/11] Few MPC8360E-RDK related patches Anton Vorontsov
                   ` (6 preceding siblings ...)
  2008-03-24 17:46 ` [U-Boot-Users] [PATCH 07/11] mpc83xx: MPC8360E-RDK: rework ddr setup, enable ecc Anton Vorontsov
@ 2008-03-24 17:47 ` Anton Vorontsov
  2008-03-24 17:47 ` [U-Boot-Users] [PATCH 09/11] mpc83xx: MPC8360E-RDK: define CONFIG_OF_STDOUT_VIA_ALIAS Anton Vorontsov
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 13+ messages in thread
From: Anton Vorontsov @ 2008-03-24 17:47 UTC (permalink / raw)
  To: u-boot

Plus modify environment to use it and remove bootfile env variable,
it is internal and CONFIG_BOOTFILE is used for these purposes.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
---
 include/configs/MPC8360ERDK.h |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/include/configs/MPC8360ERDK.h b/include/configs/MPC8360ERDK.h
index ba25a59..2bf0a35 100644
--- a/include/configs/MPC8360ERDK.h
+++ b/include/configs/MPC8360ERDK.h
@@ -369,6 +369,7 @@
 #define CONFIG_CMD_PING
 #define CONFIG_CMD_I2C
 #define CONFIG_CMD_ASKENV
+#define CONFIG_CMD_DHCP
 
 #if defined(CONFIG_PCI)
 #define CONFIG_CMD_PCI
@@ -528,7 +529,6 @@
    "consoledev=ttyS0\0"\
    "loadaddr=a00000\0"\
    "fdtaddr=900000\0"\
-   "bootfile=uImage\0"\
    "fdtfile=dtb\0"\
    "fsfile=fs\0"\
    "ubootfile=u-boot.bin\0"\
@@ -562,8 +562,7 @@
    "nand_reflash=run nand_reflash_kernel nand_reflash_dtb "\
    		"nand_reflash_fs\0"\
    "boot_m=bootm $loadaddr - $fdtaddr\0"\
-   "dhcpboot=run setbootargs adddhcpargs tftp_get_kernel tftp_get_dtb "\
-   		"boot_m\0"\
+   "dhcpboot=dhcp ; run setbootargs adddhcpargs tftp_get_dtb boot_m\0"\
    "nfsboot=run setbootargs addnfsargs tftp_get_kernel tftp_get_dtb "\
    		"boot_m\0"\
    "nandboot=run setbootargs addnandargs nand_read_kernel nand_read_dtb "\
-- 
1.5.2.2

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [U-Boot-Users] [PATCH 09/11] mpc83xx: MPC8360E-RDK: define CONFIG_OF_STDOUT_VIA_ALIAS
  2008-03-24 17:44 [U-Boot-Users] [PATCH 0/11] Few MPC8360E-RDK related patches Anton Vorontsov
                   ` (7 preceding siblings ...)
  2008-03-24 17:47 ` [U-Boot-Users] [PATCH 08/11] mpc83xx: MPC8360E-RDK: add dhcp command Anton Vorontsov
@ 2008-03-24 17:47 ` Anton Vorontsov
  2008-03-24 17:47 ` [U-Boot-Users] [PATCH 10/11] mpc83xx: MPC8360E-RDK: use 33.3(3)MHz CLKIN/SYS_CLK Anton Vorontsov
  2008-03-24 17:47 ` [U-Boot-Users] [PATCH 11/11] mpc83xx: add "fsl, soc" and "fsl, immr" compatible fixups Anton Vorontsov
  10 siblings, 0 replies; 13+ messages in thread
From: Anton Vorontsov @ 2008-03-24 17:47 UTC (permalink / raw)
  To: u-boot

This is needed to update /choosen/linux,stdout-path properly.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
---
 include/configs/MPC8360ERDK.h |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/include/configs/MPC8360ERDK.h b/include/configs/MPC8360ERDK.h
index 2bf0a35..1b66087 100644
--- a/include/configs/MPC8360ERDK.h
+++ b/include/configs/MPC8360ERDK.h
@@ -259,6 +259,7 @@
 /* Pass open firmware flat tree */
 #define CONFIG_OF_LIBFDT	1
 #define CONFIG_OF_BOARD_SETUP	1
+#define CONFIG_OF_STDOUT_VIA_ALIAS
 
 /* I2C */
 #define CONFIG_HARD_I2C		/* I2C with hardware support */
-- 
1.5.2.2

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [U-Boot-Users] [PATCH 10/11] mpc83xx: MPC8360E-RDK: use 33.3(3)MHz CLKIN/SYS_CLK
  2008-03-24 17:44 [U-Boot-Users] [PATCH 0/11] Few MPC8360E-RDK related patches Anton Vorontsov
                   ` (8 preceding siblings ...)
  2008-03-24 17:47 ` [U-Boot-Users] [PATCH 09/11] mpc83xx: MPC8360E-RDK: define CONFIG_OF_STDOUT_VIA_ALIAS Anton Vorontsov
@ 2008-03-24 17:47 ` Anton Vorontsov
  2008-03-24 17:47 ` [U-Boot-Users] [PATCH 11/11] mpc83xx: add "fsl, soc" and "fsl, immr" compatible fixups Anton Vorontsov
  10 siblings, 0 replies; 13+ messages in thread
From: Anton Vorontsov @ 2008-03-24 17:47 UTC (permalink / raw)
  To: u-boot

At least on the "33MHz Pilot" board crystal is actually 33.3MHz.
This patch fixes "system time drifting" problem.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
---
 include/configs/MPC8360ERDK.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/configs/MPC8360ERDK.h b/include/configs/MPC8360ERDK.h
index 1b66087..c7136bf 100644
--- a/include/configs/MPC8360ERDK.h
+++ b/include/configs/MPC8360ERDK.h
@@ -30,8 +30,8 @@
  * System Clock Setup
  */
 #ifdef CONFIG_CLKIN_33MHZ
-#define CONFIG_83XX_CLKIN		33000000
-#define CONFIG_SYS_CLK_FREQ		33000000
+#define CONFIG_83XX_CLKIN		33333333
+#define CONFIG_SYS_CLK_FREQ		33333333
 #define PCI_33M				1
 #define HRCWL_CSB_TO_CLKIN_MPC8360ERDK	HRCWL_CSB_TO_CLKIN_10X1
 #else
-- 
1.5.2.2

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [U-Boot-Users] [PATCH 11/11] mpc83xx: add "fsl, soc" and "fsl, immr" compatible fixups
  2008-03-24 17:44 [U-Boot-Users] [PATCH 0/11] Few MPC8360E-RDK related patches Anton Vorontsov
                   ` (9 preceding siblings ...)
  2008-03-24 17:47 ` [U-Boot-Users] [PATCH 10/11] mpc83xx: MPC8360E-RDK: use 33.3(3)MHz CLKIN/SYS_CLK Anton Vorontsov
@ 2008-03-24 17:47 ` Anton Vorontsov
  10 siblings, 0 replies; 13+ messages in thread
From: Anton Vorontsov @ 2008-03-24 17:47 UTC (permalink / raw)
  To: u-boot

device_type = "soc" is being deprecated, newer device trees will use
"fsl,soc" and/or "fsl,immr" for the soc nodes.

This patch also adds clock-frequency property for soc nodes (the same
value as bus-frequency).

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
---
 cpu/mpc83xx/fdt.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/cpu/mpc83xx/fdt.c b/cpu/mpc83xx/fdt.c
index 6f55932..e7be4ee 100644
--- a/cpu/mpc83xx/fdt.c
+++ b/cpu/mpc83xx/fdt.c
@@ -49,6 +49,14 @@ void ft_cpu_setup(void *blob, bd_t *bd)
 		"clock-frequency", gd->core_clk, 1);
 	do_fixup_by_prop_u32(blob, "device_type", "soc", 4,
 		"bus-frequency", bd->bi_busfreq, 1);
+	do_fixup_by_compat_u32(blob, "fsl,soc",
+		"bus-frequency", bd->bi_busfreq, 1);
+	do_fixup_by_compat_u32(blob, "fsl,soc",
+		"clock-frequency", bd->bi_busfreq, 1);
+	do_fixup_by_compat_u32(blob, "fsl,immr",
+		"bus-frequency", bd->bi_busfreq, 1);
+	do_fixup_by_compat_u32(blob, "fsl,immr",
+		"clock-frequency", bd->bi_busfreq, 1);
 #ifdef CONFIG_QE
 	ft_qe_setup(blob);
 #endif
-- 
1.5.2.2

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [U-Boot-Users] [PATCH 01/11] uec: add support for gbit mii status readings
  2008-03-24 17:46 ` [U-Boot-Users] [PATCH 01/11] uec: add support for gbit mii status readings Anton Vorontsov
@ 2008-03-25  1:08   ` Kim Phillips
  0 siblings, 0 replies; 13+ messages in thread
From: Kim Phillips @ 2008-03-25  1:08 UTC (permalink / raw)
  To: u-boot

On Mon, 24 Mar 2008 20:46:24 +0300
Anton Vorontsov <avorontsov@ru.mvista.com> wrote:

> Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
> ---
>  drivers/qe/uec_phy.c |   28 +++++++++++++++++++---------
>  drivers/qe/uec_phy.h |    5 +++++
>  2 files changed, 24 insertions(+), 9 deletions(-)

applied 1-11.

Thanks,

Kim

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2008-03-25  1:08 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-03-24 17:44 [U-Boot-Users] [PATCH 0/11] Few MPC8360E-RDK related patches Anton Vorontsov
2008-03-24 17:46 ` [U-Boot-Users] [PATCH 01/11] uec: add support for gbit mii status readings Anton Vorontsov
2008-03-25  1:08   ` Kim Phillips
2008-03-24 17:46 ` [U-Boot-Users] [PATCH 02/11] uec: add support for RGMII_RXID interface mode Anton Vorontsov
2008-03-24 17:46 ` [U-Boot-Users] [PATCH 03/11] uec: add support for Broadcom BCM5481 Gigabit PHY Anton Vorontsov
2008-03-24 17:46 ` [U-Boot-Users] [PATCH 04/11] mpc83xx: MPC8360E-RDK: use RGMII_RXID interface mode Anton Vorontsov
2008-03-24 17:46 ` [U-Boot-Users] [PATCH 05/11] mpc83xx: MPC8360E-RDK: add support for NAND Anton Vorontsov
2008-03-24 17:46 ` [U-Boot-Users] [PATCH 06/11] mpc83xx: MPC8360E-RDK: configure pario pins for AD7843 and FHCI Anton Vorontsov
2008-03-24 17:46 ` [U-Boot-Users] [PATCH 07/11] mpc83xx: MPC8360E-RDK: rework ddr setup, enable ecc Anton Vorontsov
2008-03-24 17:47 ` [U-Boot-Users] [PATCH 08/11] mpc83xx: MPC8360E-RDK: add dhcp command Anton Vorontsov
2008-03-24 17:47 ` [U-Boot-Users] [PATCH 09/11] mpc83xx: MPC8360E-RDK: define CONFIG_OF_STDOUT_VIA_ALIAS Anton Vorontsov
2008-03-24 17:47 ` [U-Boot-Users] [PATCH 10/11] mpc83xx: MPC8360E-RDK: use 33.3(3)MHz CLKIN/SYS_CLK Anton Vorontsov
2008-03-24 17:47 ` [U-Boot-Users] [PATCH 11/11] mpc83xx: add "fsl, soc" and "fsl, immr" compatible fixups Anton Vorontsov

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.