All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kuo-Jung Su <dantesu@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v10 4/6] arm: faraday: add A369 evaluation board support
Date: Thu, 20 Feb 2014 11:40:36 +0800	[thread overview]
Message-ID: <1392867638-2368-5-git-send-email-dantesu@gmail.com> (raw)
In-Reply-To: <1392867638-2368-1-git-send-email-dantesu@gmail.com>

From: Kuo-Jung Su <dantesu@faraday-tech.com>

The A369 is an ARM CPU-based SoC with rich SoC features and
convenient FPGA link for building fast system prototyping
and mass production.

More information about this hardware can be found at:
http://www.faraday-tech.com/html/Product/SoCPlatform/SoCreativeIII.htm

Signed-off-by: Kuo-Jung Su <dantesu@faraday-tech.com>
CC: Albert Aribaud <albert.u.boot@aribaud.net>
---
Changes for v10:
	- Merge [arm: faraday: ftsmc020: add a fail-safe macro constant]

Changes for v9:
	- Revise the commit message.

Changes for v8:
	- Make A369 a standalong changeset.

Changes for v7:
	- Update license to use SPDX identifiers.

Changes for v6:
	- arch/arm/cpu/faraday/cpu.c:
	  struct ftwdt010_wdt __iomem *regs -> struct ftwdt010_wdt *regs

Changes for v5:
	- Coding Style cleanup:
	  1. struct chip_regs __iomem *regs -> struct chip_regs *regs
	  2. Move Faraday specific APIs into asm/arch-faraday/*.h
	- Fix Copyright notices (dates) throughout the patch
	- Define Faraday machine type in board's config header file
	- Add myself as the maintainer for Faraday A360/A369 in MAINTAINERS.
	- Drop i2c:FTI2C010 & spi:FTSSP010_SPI support. The corresponding patch
	  would restart after this patch series have been accepted.
	- Revise clock management system

Changes for v4:
	- Coding Style cleanup.
	- Break-down the interrupt, timers and common utilties.

Changes for v3:
	- Coding Style cleanup.
	- Drop macros for wirtel()/readl(), call them directly.
	- Always insert a blank line between declarations and code.
	- Add '__iomem' to all the declaration of HW register pointers.
	- a36x_config: No more static global network configurations.
	- a36x_config: Add a common file for the redundant configurations.

Changes for v2:
	- Coding Style cleanup.
	- Use readl(), writel(), clrsetbits_le32() to replace REG() macros.
	- Use structure based hardware registers to replace the macro constants.
	- Replace BIT() with BIT_MASK().

 arch/arm/cpu/faraday/a369/Makefile        |    8 ++
 arch/arm/include/asm/arch-a369/hardware.h |   88 ++++++++++++
 arch/arm/include/asm/arch-a369/sysc.h     |  211 +++++++++++++++++++++++++++++
 board/faraday/a369evb/Makefile            |    9 ++
 board/faraday/a369evb/board.c             |  122 +++++++++++++++++
 board/faraday/a369evb/clock.c             |   68 ++++++++++
 board/faraday/a369evb/lowlevel_init.S     |   15 ++
 boards.cfg                                |    1 +
 include/configs/a369.h                    |  111 +++++++++++++++
 include/faraday/ftsmc020.h                |    1 +
 10 files changed, 634 insertions(+)
 create mode 100644 arch/arm/cpu/faraday/a369/Makefile
 create mode 100644 arch/arm/include/asm/arch-a369/hardware.h
 create mode 100644 arch/arm/include/asm/arch-a369/sysc.h
 create mode 100644 board/faraday/a369evb/Makefile
 create mode 100644 board/faraday/a369evb/board.c
 create mode 100644 board/faraday/a369evb/clock.c
 create mode 100644 board/faraday/a369evb/lowlevel_init.S
 create mode 100644 include/configs/a369.h

diff --git a/arch/arm/cpu/faraday/a369/Makefile b/arch/arm/cpu/faraday/a369/Makefile
new file mode 100644
index 0000000..1081c06
--- /dev/null
+++ b/arch/arm/cpu/faraday/a369/Makefile
@@ -0,0 +1,8 @@
+#
+# (C) Copyright 2000-2003
+# Wolfgang Denk, DENX Software Engineering, wd at denx.de.
+#
+# SPDX-License-Identifier:	GPL-2.0+
+#
+
+obj-y :=
diff --git a/arch/arm/include/asm/arch-a369/hardware.h b/arch/arm/include/asm/arch-a369/hardware.h
new file mode 100644
index 0000000..55031a4
--- /dev/null
+++ b/arch/arm/include/asm/arch-a369/hardware.h
@@ -0,0 +1,88 @@
+/*
+ * arch/arm/include/asm/arch-a369/hardware.h
+ *
+ * (C) Copyright 2013
+ * Faraday Technology Corporation. <http://www.faraday-tech.com/>
+ * Kuo-Jung Su <dantesu@gmail.com>
+ *
+ * SPDX-License-Identifier:     GPL-2.0+
+ */
+
+#ifndef __ASM_ARCH_HARDWARE_H
+#define __ASM_ARCH_HARDWARE_H
+
+#include <asm/sizes.h>
+
+#define CONFIG_DRAM_BASE            0x10000000
+
+#define CONFIG_SRAM_BASE            0xA0000000
+#define CONFIG_SRAM_SIZE            0x00008000
+
+#define CONFIG_SYSC_BASE            0x92000000
+#define CONFIG_DDRC_BASE            0x93100000
+#define CONFIG_AHBC_BASE            0x94000000
+#define CONFIG_SMC_BASE             0x94800000
+#define CONFIG_AHBC2_BASE           0x94200000
+
+/*
+ * Timer
+ */
+#define CONFIG_FTPWMTMR010_BASE     0x92300000
+#define CONFIG_FTPWMTMR010_IRQ      8
+
+/*
+ * UART
+ */
+#define CONFIG_FTUART010_BASE       0x92B00000
+
+/*
+ * Interrupt
+ */
+#define CONFIG_FTINTC020_BASE0      0x90100000
+#define CONFIG_FTINTC020_BASE1      0x96000000
+#define CONFIG_FTINTC020_BASE       CONFIG_FTINTC020_BASE0
+
+/*
+ * I2C
+ */
+#define CONFIG_FTI2C010_BASE0       0x92900000
+#define CONFIG_FTI2C010_BASE1       0x92A00000
+#define CONFIG_FTI2C010_BASE        CONFIG_FTI2C010_BASE0
+
+/*
+ * WatchDog
+ */
+#define CONFIG_FTWDT010_BASE        0x92200000
+
+/*
+ * NIC
+ */
+#define CONFIG_FTGMAC100_BASE       0x90C00000
+
+/*
+ * SPI
+ */
+#define CONFIG_FTSSP010_BASE        0x92700000
+
+/*
+ * NAND
+ */
+#define CONFIG_FTNANDC021_BASE      0x90200000
+
+/*
+ * LCD
+ */
+#define CONFIG_FTLCDC200_BASE       0x94A00000
+
+/*
+ * SD/MMC
+ */
+#define CONFIG_FTSDC010_BASE        0x90600000
+
+/*
+ * USB
+ */
+#define CONFIG_FUSBH200_BASE        0x90800000    /* FUSBH200 */
+#define CONFIG_FOTG210_BASE         0x90900000    /* FOTG210 */
+
+#endif
diff --git a/arch/arm/include/asm/arch-a369/sysc.h b/arch/arm/include/asm/arch-a369/sysc.h
new file mode 100644
index 0000000..ddf3e70
--- /dev/null
+++ b/arch/arm/include/asm/arch-a369/sysc.h
@@ -0,0 +1,211 @@
+/*
+ * (C) Copyright 2013
+ * Faraday Technology Corporation. <http://www.faraday-tech.com/tw/>
+ * Kuo-Jung Su <dantesu@gmail.com>
+ *
+ * SPDX-License-Identifier:     GPL-2.0+
+ */
+
+#ifndef _ASM_ARCH_A369_SYSC_H
+#define _ASM_ARCH_A369_SYSC_H
+
+struct sysc_regs {
+	/* 0x000 ~ 0x0ff */
+	uint32_t idr;      /* ID Register */
+	uint32_t revr;     /* SCU revision id */
+	uint32_t hwcfg;    /* HW configuration strap */
+	uint32_t cpumcfr;  /* CPUM (master) freq. control */
+	uint32_t cr;       /* SCU control register */
+	uint32_t sr;       /* SCU status register */
+	uint32_t rsvd0[1];
+	uint32_t osccr;    /* OSC control register */
+	uint32_t pllcr;    /* PLL1 control register */
+	uint32_t dllcr;    /* DLL control register */
+	uint32_t hclkgr;   /* HCLK gating register */
+	uint32_t pclkgr;   /* PCLK gating register */
+	uint32_t rsvd1[52];
+
+	/* 0x100 ~ 0x1ff */
+	uint32_t spr[16];  /* Scratchpad register */
+	uint32_t rsvd2[48];
+
+	/* 0x200 ~ 0x2ff */
+	uint32_t gpmux;    /* General PINMUX */
+	uint32_t ehwcfg;   /* Extended HW configuration strap */
+	uint32_t rsvd3[8];
+	uint32_t sccfg[2]; /* Special clock configuration */
+	uint32_t scer;     /* Special clock enable register */
+	uint32_t rsvd;
+	uint32_t mfpmux[2];/* Multi-function pinmux */
+	uint32_t dcsrcr[2];/* Driving cap. & Slew rate control */
+	uint32_t rsvd4[3];
+	uint32_t dccr;     /* Delay chain control register */
+	uint32_t pcr;      /* Power control register */
+};
+
+/* HW configuration strap */
+#define HWCFG_PLL1NS(x)    (((x) >> 5) & 0x3f)
+#define HWCFG_CPUM_MUL(x)  ((((x) >> 3) & 3) > 2 ? 2 : (((x) >> 3) & 3))
+#define HWCFG_DLL_OFF      (1 << 2)
+#define HWCFG_PLL_OFF      (1 << 1)
+#define HWCFG_OSCHCNT_OFF  (1 << 0)
+
+/* Extended HW configuration strap */
+#define EHWCFG_AST         (1 << 15)
+#define EHWCFG_DBG         (1 << 14)
+#define EHWCFG_DBGBYSW     (1 << 13)
+#define EHWCFG_SATA_HOST   (1 << 12)
+#define EHWCFG_PCIE_RC     (1 << 11)
+#define EHWCFG_NAND_BK(x)  (((x) >> 9) & 3)
+#define EHWCFG_NAND_BK16   (0 << 9) /* 16 page per block */
+#define EHWCFG_NAND_BK32   (1 << 9) /* 32 page per block */
+#define EHWCFG_NAND_BK64   (2 << 9) /* 64 page per block */
+#define EHWCFG_NAND_BK128  (3 << 9) /* 128 page per block */
+#define EHWCFG_NAND_PS(x)  (((x) >> 7) & 3)
+#define EHWCFG_NAND_PS512  (0 << 7) /* 512 bytes per page */
+#define EHWCFG_NAND_PS2K   (1 << 7) /* 2048 bytes per page */
+#define EHWCFG_NAND_PS4K   (2 << 7) /* 4096 bytes per page */
+#define EHWCFG_NAND_AC(x)  (((x) >> 5) & 3)
+#define EHWCFG_NAND_AC3    (0 << 5) /* addr cycle = 3 */
+#define EHWCFG_NAND_AC4    (1 << 5) /* addr cycle = 4 */
+#define EHWCFG_NAND_AC5    (2 << 5) /* addr cycle = 5 */
+#define EHWCFG_NAND_16X    (1 << 4) /* NAND: 16bit mode */
+#define EHWCFG_EXTCPU      (1 << 2) /* external cpu mode */
+#define EHWCFG_BOOT_NAND   (0 << 0) /* boot from nand */
+#define EHWCFG_BOOT_SPI    (1 << 0) /* boot from spi */
+#define EHWCFG_BOOT_NOR    (2 << 0) /* boot from nor */
+
+/* General PINMUX */
+#define GPMUX_PLLGMAC      (1 << 15) /* PLL = GMAC PLL(PLL2) */
+#define GPMUX_EXTIRQ       (1 << 14) /* re-direct irq to external cpu */
+#define GPMUX_CS0REL       (1 << 13) /* release CS0 memory space */
+#define GPMUX_IOEN         (1 << 12) /* IO output enable */
+#define GPMUX_CPUS_START   (1 << 11) /* start slave cpu (fa606te) */
+#define GPMUX_SATA_RESET   (1 << 8)
+#define GPMUX_PDD          (1 << 7)  /* power-down detection enable */
+#define GPMUX_USBH_ALIVE   (1 << 6)
+#define GPMUX_USBH_PHYOSC  (1 << 5)
+#define GPMUX_OTG_ALIVE    (1 << 4)
+#define GPMUX_OTG_PHYOSC   (1 << 3)
+#define GPMUX_IRQMASK1     (1 << 2)
+#define GPMUX_IRQMASK0     (1 << 1)
+#define GPMUX_RESET        (1 << 0)
+
+#define GPMUX_DEFAULT      0x1078 /* USB keep alive + IO output */
+
+/* HCLK gating register */
+#define HCLKGR_CPUM        (1 << 31)
+#define HCLKGR_CPUS        (1 << 30)
+#define HCLKGR_AHBTSIF     (1 << 28)
+#define HCLKGR_AHBC3       (1 << 27)
+#define HCLKGR_AHBC2       (1 << 26)
+#define HCLKGR_AHBC1       (1 << 25)
+#define HCLKGR_APBBRG      (1 << 24)
+#define HCLKGR_NANDC       (1 << 23)
+#define HCLKGR_SMC         (1 << 22)
+#define HCLKGR_DMAC1       (1 << 21)
+#define HCLKGR_DMAC0       (1 << 20)
+#define HCLKGR_H264        (1 << 19)
+#define HCLKGR_MPEG4       (1 << 18)
+#define HCLKGR_2DGRA       (1 << 17)
+#define HCLKGR_LCD         (1 << 16)
+#define HCLKGR_ISP         (1 << 15)
+#define HCLKGR_AES         (1 << 14)
+#define HCLKGR_GMAC        (1 << 13)
+#define HCLKGR_SATAH       (1 << 12)
+#define HCLKGR_SATAD       (1 << 11)
+#define HCLKGR_PCIE        (1 << 10)
+#define HCLKGR_USBH        (1 << 9)
+#define HCLKGR_OTG         (1 << 8)
+#define HCLKGR_SD1         (1 << 7)
+#define HCLKGR_SD0         (1 << 6)
+#define HCLKGR_IDE         (1 << 5)
+#define HCLKGR_EM1         (1 << 4)
+#define HCLKGR_EM0         (1 << 3)
+#define HCLKGR_IRQ1        (1 << 2)
+#define HCLKGR_IRQ0        (1 << 1)
+#define HCLKGR_SCU         (1 << 0)
+
+/* Special clock configuration */
+#define SCCFG0_SATA_25M       (1 << 29)
+#define SCCFG0_SATA_OFF       (1 << 28)
+#define SCCFG0_GMAC_CLK_IO    (1 << 27)
+#define SCCFG0_GMAC_PLL_OFF   (1 << 26)
+#define SCCFG0_GMAC_PLL_NS(x) (((x) & 0x3f) << 20)
+#define SCCFG0_ISP_BFREQ(x)   (((x) & 0xf) << 16)
+#define SCCFG0_ISP_AFREQ(x)   (((x) & 0xf) << 12)
+#define SCCFG0_IDE_FREQ(x)    (((x) & 0xf) << 8)
+#define SCCFG0_EXTAHB_FREQ(x) (((x) & 0xf) << 4)
+#define SCCFG0_EXTAHB_MASK    0xf0
+#define SCCFG0_LCD_SCK_AHB    (0 << 2) /* LCD scalar clock source */
+#define SCCFG0_LCD_SCK_APB    (1 << 2)
+#define SCCFG0_LCD_SCK_EXT    (2 << 2)
+#define SCCFG0_LCD_CK_AHB     (0 << 0) /* LCD clock source */
+#define SCCFG0_LCD_CK_APB     (1 << 0)
+#define SCCFG0_LCD_CK_EXT     (2 << 0)
+
+#define SCCFG0_DEFAULT        0x26877330
+
+#define SCCFG1_SD1_CK_2AHB    (0 << 18) /* SD1 clock source */
+#define SCCFG1_SD1_CK_3APB    (1 << 18) /* SD1 clock source */
+#define SCCFG1_SD1_CK_AHB     (2 << 18) /* SD1 clock source */
+#define SCCFG1_SD0_CK_2AHB    (0 << 16) /* SD0 clock source */
+#define SCCFG1_SD0_CK_3APB    (1 << 16) /* SD0 clock source */
+#define SCCFG1_SD0_CK_AHB     (2 << 16) /* SD0 clock source */
+#define SCCFG1_SSP1_CK_EXT    (1 << 12) /* SSP1 clock source */
+#define SCCFG1_SSP1_FREQ(x)   (((x) & 0xf) << 8)
+#define SCCFG1_SSP0_CK_EXT    (1 << 4)  /* SSP0 clock source */
+#define SCCFG1_SSP0_FREQ(x)   (((x) & 0xf) << 0)
+
+#define SCCFG1_DEFAULT \
+	(SCCFG1_SD1_CK_AHB | SCCFG1_SD0_CK_AHB \
+	| SCCFG1_SSP1_FREQ(0xA) | SCCFG1_SSP0_FREQ(0xA))
+
+/* Special clock enable register */
+#define SCER_GMAC125M  (1 << 13)
+#define SCER_LCDSC     (1 << 12) /* LCD scalar clock */
+#define SCER_LCD       (1 << 11)
+#define SCER_ISPB      (1 << 10)
+#define SCER_ISPA      (1 << 9)
+#define SCER_IDE       (1 << 8)
+#define SCER_EXTAHB    (1 << 7)
+#define SCER_DDRD      (1 << 6)
+#define SCER_DDRF      (1 << 5)
+#define SCER_SD1       (1 << 4)
+#define SCER_SD0       (1 << 3)
+#define SCER_SSP1      (1 << 2)
+#define SCER_SSP0      (1 << 1)
+#define SCER_TSC       (1 << 0)
+
+/* Multi-function pinmux register */
+#define MFPMUX0_EBI(x)    (((x) & 0x3) << 10)
+#define MFPMUX0_LCD(x)    (((x) & 0x3) << 8)
+#define MFPMUX0_TS(x)     (((x) & 0x3) << 6)
+#define MFPMUX0_ISP(x)    (((x) & 0x3) << 4)
+#define MFPMUX0_SATA(x)   (((x) & 0x3) << 2)
+#define MFPMUX0_EXTAHB(x) (((x) & 0x3) << 0)
+
+#define MFPMUX0_DEFAULT   0x241 /* SD0 disabled, SD1 enabled */
+
+#define MFPMUX1_KBC(x)    (((x) & 0x3) << 20)
+#define MFPMUX1_GPIO0(x)  (((x) & 0x3) << 18)
+#define MFPMUX1_I2C1(x)   (((x) & 0x3) << 16)
+#define MFPMUX1_PWM1(x)   (((x) & 0x3) << 14)
+#define MFPMUX1_PWM0(x)   (((x) & 0x3) << 12)
+#define MFPMUX1_GMAC(x)   (((x) & 0x3) << 10)
+#define MFPMUX1_SSP1(x)   (((x) & 0x3) << 8)
+#define MFPMUX1_SSP0(x)   (((x) & 0x3) << 6)
+#define MFPMUX1_UART3(x)  (((x) & 0x3) << 4)
+#define MFPMUX1_UART2(x)  (((x) & 0x3) << 2)
+#define MFPMUX1_UART1(x)  (((x) & 0x3) << 0)
+
+/* PLL1 control register */
+#define PLLCR_NS(x)    (((x) >> 24) & 0x3f)
+#define PLLCR_STABLE   (1 << 1)
+#define PLLCR_OFF      (1 << 0)
+
+/* DLL control register */
+#define DLLCR_STABLE   (1 << 1)
+#define DLLCR_ON       (1 << 0)
+
+#endif	/* EOF */
diff --git a/board/faraday/a369evb/Makefile b/board/faraday/a369evb/Makefile
new file mode 100644
index 0000000..42fef70
--- /dev/null
+++ b/board/faraday/a369evb/Makefile
@@ -0,0 +1,9 @@
+#
+# (C) Copyright 2000-2006
+# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
+#
+# SPDX-License-Identifier:	GPL-2.0+
+#
+
+obj-y	:= board.o clock.o
+obj-y	+= lowlevel_init.o
diff --git a/board/faraday/a369evb/board.c b/board/faraday/a369evb/board.c
new file mode 100644
index 0000000..cd206bb
--- /dev/null
+++ b/board/faraday/a369evb/board.c
@@ -0,0 +1,122 @@
+/*
+ * (C) Copyright 2013
+ * Faraday Technology Corporation. <http://www.faraday-tech.com/>
+ * Kuo-Jung Su <dantesu@gmail.com>
+ *
+ * SPDX-License-Identifier:     GPL-2.0+
+ */
+
+#include <common.h>
+#include <linux/err.h>
+#include <asm/io.h>
+#include <spi.h>
+#include <nand.h>
+#include <netdev.h>
+#include <malloc.h>
+
+#include <asm/arch/sysc.h>
+#include <faraday/ftsmc020.h>
+#include <faraday/ftsdc010.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+static struct ftsmc020 *smc = (void __iomem *)CONFIG_SMC_BASE;
+static struct sysc_regs *sysc = (void __iomem *)CONFIG_SYSC_BASE;
+
+static void pinmux_init(void)
+{
+	/* If it's an external CPU */
+	if (readl(&sysc->ehwcfg) & EHWCFG_EXTCPU) {
+		writel(HCLKGR_CPUM | HCLKGR_CPUS | HCLKGR_ISP,
+			&sysc->hclkgr);
+		setbits_le32(&sysc->gpmux, GPMUX_EXTIRQ);
+	} else {
+#ifdef CONFIG_A369_EXTAHB
+		/* Enable external AHB */
+		writel(HCLKGR_CPUS, &sysc->hclkgr);
+		writel(GPMUX_DEFAULT, &sysc->gpmux);
+		clrbits_le32(&sysc->sccfg[0], SCCFG0_EXTAHB_MASK);
+		setbits_le32(&sysc->sccfg[0], SCCFG0_EXTAHB_FREQ(8));
+#else
+		/* Enable SD1 */
+		writel(MFPMUX0_DEFAULT, &sysc->mfpmux[0]);
+#endif
+	}
+
+	/* Clock: SD = AHB, SSP = APB (SPI mode) */
+	writel(SCCFG1_DEFAULT, &sysc->sccfg[1]);
+}
+
+/*
+ * Static Memory Controller (NOR Flash)
+ */
+static void smc_init(void)
+{
+	uint32_t nor_base;
+
+	/* Bank 0: NOR flash */
+	if ((readl(&sysc->ehwcfg) & 3) != EHWCFG_BOOT_NOR)
+		nor_base = 0x20000000;
+	else
+		nor_base = 0;
+	writel(FTSMC020_BANK_ENABLE
+		| FTSMC020_BANK_BASE(nor_base) /* base address */
+		| FTSMC020_BANK_SIZE_64M /* window size */
+		| FTSMC020_BANK_MBW_16, /* data width */
+		&smc->bank[0].cr);
+	writel(FTSMC020_TPR_FAILSAFE, &smc->bank[0].tpr);
+
+	/* Bank 1 ~ 3: nothing attached */
+	writel(0, &smc->bank[1].cr);
+	writel(FTSMC020_TPR_FAILSAFE, &smc->bank[1].tpr);
+	writel(0, &smc->bank[2].cr);
+	writel(FTSMC020_TPR_FAILSAFE, &smc->bank[2].tpr);
+	writel(0, &smc->bank[3].cr);
+	writel(FTSMC020_TPR_FAILSAFE, &smc->bank[3].tpr);
+}
+
+/*
+ * Miscellaneous platform dependent initialisations
+ */
+int board_early_init_f(void)
+{
+	gd->arch.timer_rate_hz = clk_get_rate("APB");
+	pinmux_init();
+	smc_init();
+	return 0;
+}
+
+int board_init(void)
+{
+	gd->bd->bi_arch_number = CONFIG_MACH_TYPE;
+	gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100;
+	return 0;
+}
+
+int dram_init(void)
+{
+	gd->bd->bi_dram[0].start = CONFIG_SYS_SDRAM_BASE;
+	gd->bd->bi_dram[0].size  = CONFIG_SYS_SDRAM_SIZE;
+	gd->ram_size = CONFIG_SYS_SDRAM_SIZE;
+	return 0;
+}
+
+int board_eth_init(bd_t *bd)
+{
+#ifdef CONFIG_USB_ETHER
+	return usb_eth_initialize(bd);
+#elif defined(CONFIG_FTGMAC100)
+	return ftgmac100_initialize(bd);
+#else
+	return 0;
+#endif
+}
+
+int board_mmc_init(bd_t *bis)
+{
+#ifdef CONFIG_FTSDC010
+	return ftsdc010_mmc_init(0);
+#else
+	return 0;
+#endif
+}
diff --git a/board/faraday/a369evb/clock.c b/board/faraday/a369evb/clock.c
new file mode 100644
index 0000000..b713b89
--- /dev/null
+++ b/board/faraday/a369evb/clock.c
@@ -0,0 +1,68 @@
+/*
+ * (C) Copyright 2013
+ * Faraday Technology Corporation. <http://www.faraday-tech.com/>
+ * Kuo-Jung Su <dantesu@gmail.com>
+ *
+ * SPDX-License-Identifier:     GPL-2.0+
+ */
+
+#include <common.h>
+#include <asm/io.h>
+#include <asm/arch/sysc.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+static struct sysc_regs *sysc = (void __iomem *)CONFIG_SYSC_BASE;
+
+static inline ulong clk_get_rate_sys(void)
+{
+	return 33000000; /* 33 MHz */
+}
+
+static inline ulong clk_get_rate_ahb(void)
+{
+	return (clk_get_rate_sys() * PLLCR_NS(readl(&sysc->pllcr))) >> 3;
+}
+
+static inline ulong clk_get_rate_apb(void)
+{
+	return clk_get_rate_ahb() >> 1;
+}
+
+static inline ulong clk_get_rate_cpu(void)
+{
+	ulong clk = clk_get_rate_ahb();
+
+	/* If it's an internal CPU */
+	if (readl(&sysc->ehwcfg) & EHWCFG_EXTCPU)
+		return clk;
+	/*
+	 * Since the master would stop immediately after kicking
+	 * off slave cpu, so if GPMUX_CPUS_START is set,
+	 * it must be a slave cpu.
+	 */
+	if (!(readl(&sysc->gpmux) & GPMUX_CPUS_START))
+		clk = clk << HWCFG_CPUM_MUL(readl(&sysc->hwcfg));
+
+	return clk;
+}
+
+ulong clk_get_rate(const char *id)
+{
+	ulong ret = 0;
+
+	if (!strcmp(id, "AHB"))
+		ret = clk_get_rate_ahb();
+	else if (!strcmp(id, "APB"))
+		ret = clk_get_rate_apb();
+	else if (!strcmp(id, "CPU"))
+		ret = clk_get_rate_cpu();
+	else if (!strcmp(id, "I2C"))
+		ret = clk_get_rate_apb();
+	else if (!strcmp(id, "MMC") || !strcmp(id, "SDC"))
+		ret = clk_get_rate_ahb();
+	else if (!strcmp(id, "SPI") || !strcmp(id, "SSP"))
+		ret = clk_get_rate_apb();
+
+	return ret;
+}
diff --git a/board/faraday/a369evb/lowlevel_init.S b/board/faraday/a369evb/lowlevel_init.S
new file mode 100644
index 0000000..2085760
--- /dev/null
+++ b/board/faraday/a369evb/lowlevel_init.S
@@ -0,0 +1,15 @@
+/*
+ * (C) Copyright 2013
+ * Faraday Technology Corporation. <http://www.faraday-tech.com/>
+ * Kuo-Jung Su <dantesu@gmail.com>
+ *
+ * SPDX-License-Identifier:     GPL-2.0+
+ */
+
+#include <config.h>
+#include <version.h>
+
+/* Set up the platform, once the cpu has been initialized */
+.globl lowlevel_init
+lowlevel_init:
+	mov	pc,lr
diff --git a/boards.cfg b/boards.cfg
index 0e663d9..194dffe 100644
--- a/boards.cfg
+++ b/boards.cfg
@@ -60,6 +60,7 @@ Active  arm         arm720t        -           armltd          integrator
 Active  arm         arm920t        -           armltd          integrator          integratorap_cm920t                  integratorap:CM920T                                                                                                               Linus Walleij <linus.walleij@linaro.org>
 Active  arm         arm920t        -           armltd          integrator          integratorcp_cm920t                  integratorcp:CM920T                                                                                                               Linus Walleij <linus.walleij@linaro.org>
 Active  arm         arm920t        a320        faraday         -                   a320evb                              -                                                                                                                                 Po-Yu Chuang <ratbert@faraday-tech.com>
+Active  arm         faraday        a369        faraday         a369evb             a369evb                              a369                                                                                                                              Kuo-Jung Su <dantesu@gmail.com>
 Active  arm         arm920t        at91        atmel           at91rm9200ek        at91rm9200ek                         at91rm9200ek                                                                                                                      Andreas Bie?mann <andreas.devel@gmail.com>
 Active  arm         arm920t        at91        atmel           at91rm9200ek        at91rm9200ek_ram                     at91rm9200ek:RAMBOOT                                                                                                              Andreas Bie?mann <andreas.devel@gmail.com>
 Active  arm         arm920t        at91        BuS             eb_cpux9k2          eb_cpux9k2                           eb_cpux9k2                                                                                                                        Jens Scharsig <esw@bus-elektronik.de>
diff --git a/include/configs/a369.h b/include/configs/a369.h
new file mode 100644
index 0000000..1cf9230
--- /dev/null
+++ b/include/configs/a369.h
@@ -0,0 +1,111 @@
+/*
+ * (C) Copyright 2013
+ * Faraday Technology Corporation. <http://www.faraday-tech.com/>
+ * Kuo-Jung Su <dantesu@gmail.com>
+ *
+ * SPDX-License-Identifier:     GPL-2.0+
+ */
+
+#ifndef __CONFIG_H
+#define __CONFIG_H
+
+#include <asm/hardware.h>
+
+/* Support NOR flash */
+/* #define CONFIG_A369_NOR_FLASH */
+
+/* Support USB RNDIS Ethernet */
+/* #define CONFIG_A369_USB_ETHER */
+
+/* Support USB DFU */
+#define CONFIG_A369_USB_DFU
+
+#if defined(CONFIG_A369_USB_ETHER) && defined(CONFIG_A369_USB_DFU)
+# error "USB-ETHER and USB-DFU can't be enabled at the same time."
+#endif
+
+/* Disable MMU/D-CACHE */
+#define CONFIG_SYS_DCACHE_OFF
+
+/* Memory Configuration */
+#define CONFIG_NR_DRAM_BANKS            1
+#define CONFIG_SYS_SDRAM_BASE           0x10000000
+#define CONFIG_SYS_SDRAM_SIZE           SZ_256M
+
+#define CONFIG_SYS_MALLOC_LEN           SZ_2M
+#define CONFIG_SYS_TEXT_BASE            0x10800000
+
+/* Timer */
+#define CONFIG_FTPWMTMR010
+
+/* Serial (UART) */
+#define CONFIG_FTUART010
+#define CONFIG_FTUART010_CLK            18432000
+#define CONFIG_BAUDRATE                 38400
+
+/* NIC */
+#define CONFIG_FTGMAC100
+
+/* I2C */
+#define CONFIG_FTI2C010
+#define CONFIG_ENV_EEPROM_IS_ON_I2C
+
+/* MMC/SD */
+#define CONFIG_FTSDC010
+
+/* NOR flash */
+#ifdef CONFIG_A369_NOR_FLASH
+# define PHYS_FLASH_SIZE                SZ_64M
+# define CONFIG_SYS_FLASH_BASE          0x20000000
+# define CONFIG_SYS_FLASH_CFI_WIDTH     FLASH_CFI_16BIT
+# define CONFIG_SYS_MAX_FLASH_BANKS     1
+# define CONFIG_SYS_MAX_FLASH_SECT      1024
+#endif
+
+/* USB */
+#if defined(CONFIG_A369_USB_DFU) || defined(CONFIG_A369_USB_ETHER)
+# define CONFIG_USB_GADGET
+# define CONFIG_USB_GADGET_FOTG210
+# define CONFIG_USB_GADGET_DUALSPEED
+# define CONFIG_USB_GADGET_VBUS_DRAW        200
+# define CONFIG_USB_MAX_CONTROLLER_COUNT    1
+# define CONFIG_USB_EHCI_BASE               CONFIG_FUSBH200_BASE
+#else
+# define CONFIG_USB_MAX_CONTROLLER_COUNT    2
+# define CONFIG_USB_EHCI_BASE_LIST \
+	{ CONFIG_FUSBH200_BASE, CONFIG_FOTG210_BASE }
+#endif
+
+#ifdef CONFIG_A369_USB_DFU
+# define CONFIG_USBDOWNLOAD_GADGET
+# define CONFIG_DFU_FUNCTION
+# define CONFIG_DFU_RAM
+# define CONFIG_CMD_DFU
+#endif
+
+#ifdef CONFIG_A369_USB_ETHER
+# define CONFIG_USB_ETHER
+# define CONFIG_USB_ETH_RNDIS
+#endif
+
+/* Environment */
+#if defined(CONFIG_A369_NOR_FLASH)
+# define CONFIG_ENV_IS_IN_FLASH /* NOR flash */
+# define CONFIG_ENV_OFFSET          0x3f0000
+#else
+# define CONFIG_ENV_IS_NOWHERE
+#endif
+
+#define CONFIG_ENV_SIZE             SZ_64K
+
+/* Faraday common configuration */
+#include "faraday-common.h"
+
+/* Platform specific environment variables */
+#ifdef CONFIG_A369_USB_DFU
+# define CONFIG_EXTRA_ENV_SETTINGS \
+	/* USB-DFU: [name] [interface] [start] [end] */ \
+	"dfu_alt_info=ram at 0x10800000 ram 0x10800000 0x11800000\0"
+#endif
+
+#endif	/* EOF */
diff --git a/include/faraday/ftsmc020.h b/include/faraday/ftsmc020.h
index 54120ab..485d7c2 100644
--- a/include/faraday/ftsmc020.h
+++ b/include/faraday/ftsmc020.h
@@ -70,5 +70,6 @@ void ftsmc020_init(void);
 #define FTSMC020_TPR_WTC(x)	(((x) & 0x3) << 6)
 #define FTSMC020_TPR_AHT(x)	(((x) & 0x3) << 4)
 #define FTSMC020_TPR_TRNA(x)	(((x) & 0xf) << 0)
+#define FTSMC020_TPR_FAILSAFE	0x0f1ff3ff /* fail-safe timing */

 #endif	/* __FTSMC020_H */
--
1.7.9.5

  parent reply	other threads:[~2014-02-20  3:40 UTC|newest]

Thread overview: 311+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-29  7:06 [U-Boot] [PATCH 00/11] arm: add Faraday A36x SoC platform support Kuo-Jung Su
2013-03-29  7:06 ` [U-Boot] [PATCH 01/11] arm: add MMU/d-cache support for Faraday cores Kuo-Jung Su
2013-04-18  9:25   ` [U-Boot] [PATCH v2 00/12] arm: add Faraday A36x SoC platform support Kuo-Jung Su
2013-04-18  9:25     ` [U-Boot] [PATCH v2 01/12] mtd: spi: winbond: add W25PXX support Kuo-Jung Su
2013-04-26  8:02       ` [U-Boot] [PATCH v3 00/11] arm: add Faraday A36x SoC platform support Kuo-Jung Su
2013-04-26  8:02         ` [U-Boot] [PATCH v3 01/11] arm: add MMU/D-Cache support for Faraday cores Kuo-Jung Su
2013-05-07  6:25           ` [U-Boot] [PATCH v4 0/7] arm: add Faraday A36x SoC platform support Kuo-Jung Su
2013-05-07  6:25             ` [U-Boot] [PATCH v4 1/7] arm: add MMU/D-Cache support for Faraday cores Kuo-Jung Su
2013-06-10 17:59               ` Albert ARIBAUD
2013-06-11  3:09                 ` Kuo-Jung Su
2013-06-11 15:28                   ` Albert ARIBAUD
2013-06-14  5:44                     ` Kuo-Jung Su
2013-05-07  6:25             ` [U-Boot] [PATCH v4 2/7] arm: add Faraday common utilities Kuo-Jung Su
2013-06-10 18:05               ` Albert ARIBAUD
2013-06-11  3:02                 ` Kuo-Jung Su
2013-05-07  6:25             ` [U-Boot] [PATCH v4 3/7] arm: add Faraday interrupt controller support Kuo-Jung Su
2013-05-07  6:25             ` [U-Boot] [PATCH v4 4/7] arm: add Faraday FTTMR010 timer support Kuo-Jung Su
2013-05-07  6:25             ` [U-Boot] [PATCH v4 5/7] arm: add Faraday FTPWMTMR010 " Kuo-Jung Su
2013-05-07  6:25             ` [U-Boot] [PATCH v4 6/7] arm: add Faraday firmware image utility Kuo-Jung Su
2013-06-10 18:38               ` Albert ARIBAUD
2013-06-11  3:00                 ` Kuo-Jung Su
2013-05-07  6:25             ` [U-Boot] [PATCH v4 7/7] arm: add Faraday A36x SoC platform support Kuo-Jung Su
2013-06-10 18:39               ` Albert ARIBAUD
2013-06-11  3:01                 ` Kuo-Jung Su
2013-04-26  8:02         ` [U-Boot] [PATCH v3 02/11] net: ftgmac100: add MMU/D-cache support Kuo-Jung Su
2013-05-07  6:33           ` [U-Boot] [PATCH v4] net: update FTGMAC100 for " Kuo-Jung Su
2013-07-08 16:21             ` Joe Hershberger
2013-04-26  8:02         ` [U-Boot] [PATCH v3 03/11] net: add Faraday FTMAC110 10/100Mbps ethernet support Kuo-Jung Su
2013-05-02 16:03           ` Tom Rini
2013-05-03  6:01             ` Kuo-Jung Su
2013-05-07  6:33           ` [U-Boot] [PATCH v4] " Kuo-Jung Su
2013-07-08 16:19             ` Joe Hershberger
2013-04-26  8:02         ` [U-Boot] [PATCH v3 04/11] i2c: add Faraday FTI2C010 I2C controller support Kuo-Jung Su
2013-04-29  3:34           ` Heiko Schocher
2013-05-07  6:32           ` [U-Boot] [PATCH v4 03/16] " Kuo-Jung Su
2013-05-07 13:19             ` Heiko Schocher
2013-05-08  1:51               ` Kuo-Jung Su
2013-05-08  4:30                 ` Heiko Schocher
2013-05-08  5:47                   ` Kuo-Jung Su
2013-05-08  7:36             ` [U-Boot] [PATCH v5] " Kuo-Jung Su
2013-04-26  8:02         ` [U-Boot] [PATCH v3 05/11] spi: add Faraday FTSPI010 SPI " Kuo-Jung Su
2013-05-07  6:34           ` [U-Boot] [PATCH v4] " Kuo-Jung Su
2013-06-12 18:56             ` [U-Boot] [U-Boot, " Jagan Teki
2013-06-14  6:00               ` Kuo-Jung Su
2013-11-22  7:44             ` [U-Boot] [PATCH v5] spi: ftssp010_spi: add Faraday " Kuo-Jung Su
2013-11-28  2:46             ` [U-Boot] [PATCH v6] " Kuo-Jung Su
2013-04-26  8:02         ` [U-Boot] [PATCH v3 06/11] mmc: update the Faraday FTSDC010 driver to fix performance issue Kuo-Jung Su
2013-05-03 22:35           ` Andy Fleming
2013-05-06  6:44             ` Kuo-Jung Su
2013-05-07  6:32           ` [U-Boot] [PATCH v4] mmc: update Faraday FTSDC010 for rw performance Kuo-Jung Su
2013-04-26  8:02         ` [U-Boot] [PATCH v3 07/11] mtd: nand: add Faraday FTNANDC021 NAND controller support Kuo-Jung Su
2013-04-26 23:41           ` Scott Wood
2013-04-29  3:28             ` Kuo-Jung Su
2013-04-29 20:46               ` Scott Wood
2013-04-30  1:33                 ` Kuo-Jung Su
2013-05-07  6:33           ` [U-Boot] [PATCH v4] " Kuo-Jung Su
2013-05-09  0:43             ` Scott Wood
2013-05-09  1:45               ` Kuo-Jung Su
2013-05-09  1:51             ` [U-Boot] [PATCH v5] " Kuo-Jung Su
2013-04-26  8:02         ` [U-Boot] [PATCH v3 08/11] usb: ehci: add Faraday USB 2.0 EHCI support Kuo-Jung Su
2013-04-26 12:19           ` Marek Vasut
2013-04-29  3:10             ` Kuo-Jung Su
2013-04-29 22:50               ` Marek Vasut
2013-04-30  1:32                 ` Kuo-Jung Su
2013-05-01 19:34                   ` Marek Vasut
2013-05-02  1:14                     ` Kuo-Jung Su
2013-05-07  6:26           ` [U-Boot] [PATCH v4 0/2] usb: ehci: add Faraday USB EHCI&Gadget support Kuo-Jung Su
2013-05-07  6:26             ` [U-Boot] [PATCH v4 1/2] usb: ehci: add Faraday USB 2.0 EHCI support Kuo-Jung Su
2013-05-07 21:42               ` Marek Vasut
2013-05-08  2:18                 ` Kuo-Jung Su
2013-05-08  3:09                   ` Marek Vasut
2013-05-08  5:41                     ` Kuo-Jung Su
2013-05-08 11:52                       ` Marek Vasut
2013-05-09  1:51                         ` Kuo-Jung Su
2013-05-09  3:20               ` [U-Boot] [PATCH v5 0/4] usb: add Faraday EHCI & Gadget support Kuo-Jung Su
2013-05-09  3:20                 ` [U-Boot] [PATCH v5 1/4] usb: hub: make minimum power-on delay configurable Kuo-Jung Su
2013-05-10 11:41                   ` Marek Vasut
2013-05-13  1:11                     ` Kuo-Jung Su
2013-05-13  2:07                   ` [U-Boot] [PATCH v6 0/4] usb: add Faraday EHCI & Gadget support Kuo-Jung Su
2013-05-13  2:07                     ` [U-Boot] [PATCH v6 1/4] usb: hub: make minimum power-on delay configurable Kuo-Jung Su
2013-05-13  2:36                       ` Marek Vasut
2013-05-13  8:12                         ` Kuo-Jung Su
2013-05-13  8:28                       ` [U-Boot] [PATCH v7 0/4] usb: add Faraday EHCI & Gadget support Kuo-Jung Su
2013-05-13  8:28                         ` [U-Boot] [PATCH v7 1/4] usb: hub: make minimum power-on delay configurable Kuo-Jung Su
2013-05-14  2:29                           ` [U-Boot] [PATCH v8 0/4] usb: add Faraday EHCI & Gadget support Kuo-Jung Su
2013-05-14  2:29                             ` [U-Boot] [PATCH v8 1/4] usb: hub: make minimum power-on delay configurable Kuo-Jung Su
2013-05-15  7:29                               ` [U-Boot] [PATCH v9 0/5] usb: add Faraday EHCI & Gadget support Kuo-Jung Su
2013-05-15  7:29                                 ` [U-Boot] [PATCH v9 1/5] usb: ehci: prevent bad PORTSC register access Kuo-Jung Su
2013-05-21 20:09                                   ` Marek Vasut
2013-05-15  7:29                                 ` [U-Boot] [PATCH v9 2/5] usb: ehci: add weak-aliased function for PORTSC Kuo-Jung Su
2013-05-15  7:29                                 ` [U-Boot] [PATCH v9 3/5] usb: hub: make minimum power-on delay configurable Kuo-Jung Su
2013-05-15  7:29                                 ` [U-Boot] [PATCH v9 4/5] usb: ehci: add Faraday USB 2.0 EHCI support Kuo-Jung Su
2013-05-15  7:29                                 ` [U-Boot] [PATCH v9 5/5] usb: gadget: add Faraday FOTG210 USB gadget support Kuo-Jung Su
2013-05-19 18:37                                   ` Marek Vasut
2013-05-20  0:56                                     ` Kuo-Jung Su
2013-05-14  2:29                             ` [U-Boot] [PATCH v8 2/4] usb: ehci: add weak-aliased function for PORTSC Kuo-Jung Su
2013-05-14  2:29                             ` [U-Boot] [PATCH v8 3/4] usb: ehci: add Faraday USB 2.0 EHCI support Kuo-Jung Su
2013-05-14  2:29                             ` [U-Boot] [PATCH v8 4/4] usb: gadget: add Faraday FOTG210 USB gadget support Kuo-Jung Su
2013-05-13  8:28                         ` [U-Boot] [PATCH v7 2/4] usb: ehci: add weak-aliased function for PORTSC Kuo-Jung Su
2013-05-13  8:28                         ` [U-Boot] [PATCH v7 3/4] usb: ehci: add Faraday USB 2.0 EHCI support Kuo-Jung Su
2013-05-13  8:28                         ` [U-Boot] [PATCH v7 4/4] usb: gadget: add Faraday FOTG210 USB gadget support Kuo-Jung Su
2013-05-13  2:07                     ` [U-Boot] [PATCH v6 2/4] usb: ehci: add weak-aliased functions to portsc & tdi Kuo-Jung Su
2013-05-13  2:32                       ` Marek Vasut
2013-05-13  8:09                         ` Kuo-Jung Su
2013-05-13 15:10                           ` Marek Vasut
2013-05-14  1:26                             ` Kuo-Jung Su
2013-05-14 13:47                               ` Marek Vasut
2013-05-15  1:03                                 ` Kuo-Jung Su
2013-05-15  2:42                                   ` Kuo-Jung Su
2013-05-15  3:29                                     ` Marek Vasut
2013-05-15  4:07                                       ` Kuo-Jung Su
2013-05-13  2:07                     ` [U-Boot] [PATCH v6 3/4] usb: ehci: add Faraday USB 2.0 EHCI support Kuo-Jung Su
2013-05-13  2:07                     ` [U-Boot] [PATCH v6 4/4] usb: gadget: add Faraday FOTG210 USB gadget support Kuo-Jung Su
2013-05-09  3:20                 ` [U-Boot] [PATCH v5 2/4] usb: ehci: add weak-aliased functions to portsc & tdi Kuo-Jung Su
2013-05-10 11:44                   ` Marek Vasut
2013-05-13  1:10                     ` Kuo-Jung Su
2013-05-09  3:20                 ` [U-Boot] [PATCH v5 3/4] usb: ehci: add Faraday USB 2.0 EHCI support Kuo-Jung Su
2013-05-09  3:20                 ` [U-Boot] [PATCH v5 4/4] usb: gadget: add Faraday FOTG210 USB gadget support Kuo-Jung Su
2013-05-07  6:26             ` [U-Boot] [PATCH v4 2/2] " Kuo-Jung Su
2013-05-07 21:37               ` Marek Vasut
2013-05-08  2:30                 ` Kuo-Jung Su
2013-05-08  3:07                   ` Marek Vasut
2013-04-26  8:02         ` [U-Boot] [PATCH v3 09/11] " Kuo-Jung Su
2013-04-26 12:21           ` Marek Vasut
2013-04-29  3:11             ` Kuo-Jung Su
2013-04-26  8:02         ` [U-Boot] [PATCH v3 10/11] video: add Faraday FTLCDC200 LCD controller support Kuo-Jung Su
2013-05-06 20:18           ` Anatolij Gustschin
2013-05-07  6:34           ` [U-Boot] [PATCH v2] " Kuo-Jung Su
2013-04-26  8:02         ` [U-Boot] [PATCH v3 11/11] arm: add Faraday A36x SoC platform support Kuo-Jung Su
2013-05-02 22:27         ` [U-Boot] [PATCH v3 00/11] " Tom Rini
2013-05-03  6:02           ` Kuo-Jung Su
2013-04-18  9:25     ` [U-Boot] [PATCH v2 02/12] net: ftgmac100: add MMU/D-cache support Kuo-Jung Su
2013-04-18  9:25     ` [U-Boot] [PATCH v2 03/12] net: add Faraday FTMAC110 10/100Mbps ethernet support Kuo-Jung Su
2013-04-18 10:52       ` Wolfgang Denk
2013-04-22  2:56         ` Kuo-Jung Su
2013-04-18  9:25     ` [U-Boot] [PATCH v2 04/12] i2c: add Faraday FTI2C010 I2C controller support Kuo-Jung Su
2013-04-18 10:54       ` Wolfgang Denk
2013-04-22  2:52         ` Kuo-Jung Su
2013-04-18  9:25     ` [U-Boot] [PATCH v2 05/12] spi: add Faraday FTSPI010 SPI " Kuo-Jung Su
2013-04-18 10:56       ` Wolfgang Denk
2013-04-22  2:52         ` Kuo-Jung Su
2013-08-08 13:38       ` Jagan Teki
2013-08-09  0:47         ` Kuo-Jung Su
2013-08-09 11:27           ` Jagan Teki
2013-08-12  0:37             ` Kuo-Jung Su
2013-10-03 19:53               ` Jagan Teki
2013-04-18  9:25     ` [U-Boot] [PATCH v2 06/12] mmc: add an alternative driver to Faraday FTSDC010 Kuo-Jung Su
2013-04-18 10:57       ` Wolfgang Denk
2013-04-22  2:51         ` Kuo-Jung Su
2013-04-18  9:25     ` [U-Boot] [PATCH v2 07/12] mtd: nand: add Faraday FTNANDC021 NAND controller support Kuo-Jung Su
2013-04-18 11:04       ` Wolfgang Denk
2013-04-22  1:52         ` Kuo-Jung Su
2013-04-18 19:44       ` Scott Wood
2013-04-22  2:45         ` Kuo-Jung Su
2013-04-22 23:11           ` Scott Wood
2013-04-23  1:19             ` Kuo-Jung Su
2013-04-23 22:57               ` Scott Wood
2013-04-24  1:03                 ` Kuo-Jung Su
2013-04-23  1:22             ` Kuo-Jung Su
2013-04-18  9:25     ` [U-Boot] [PATCH v2 08/12] mtd: spi: add FTSPI020 SPI Flash " Kuo-Jung Su
2013-04-18 11:08       ` Wolfgang Denk
2013-04-22  1:51         ` Kuo-Jung Su
2013-04-18  9:25     ` [U-Boot] [PATCH v2 09/12] usb: ehci: add Faraday USB 2.0 EHCI support Kuo-Jung Su
2013-04-18 11:09       ` Wolfgang Denk
2013-04-22  1:45         ` Kuo-Jung Su
2013-04-18  9:25     ` [U-Boot] [PATCH v2 10/12] usb: gadget: add Faraday FOTG210 USB gadget support Kuo-Jung Su
2013-04-18 11:11       ` Wolfgang Denk
2013-04-22  1:45         ` Kuo-Jung Su
2013-04-18  9:25     ` [U-Boot] [PATCH v2 11/12] arm: add MMU/d-cache support for Faraday cores Kuo-Jung Su
2013-04-18 11:13       ` Wolfgang Denk
2013-04-22  1:23         ` Kuo-Jung Su
2013-04-18 19:09       ` Albert ARIBAUD
2013-04-22  1:27         ` Kuo-Jung Su
2013-04-18  9:25     ` [U-Boot] [PATCH v2 12/12] arm: add Faraday A36x SoC platform support Kuo-Jung Su
2013-04-18 11:16       ` Wolfgang Denk
2013-04-22  1:30         ` Kuo-Jung Su
2013-04-18 10:43     ` [U-Boot] [PATCH v2 00/12] " Wolfgang Denk
2013-04-22  1:27       ` Kuo-Jung Su
2013-03-29  7:06 ` [U-Boot] [PATCH 02/11] net/ftgmac100: add MMU/D-cache support Kuo-Jung Su
2013-03-29  7:06 ` [U-Boot] [PATCH 03/11] net: add FTMAC110 10/100Mbps ethernet support Kuo-Jung Su
2013-03-29  7:06 ` [U-Boot] [PATCH 04/11] usb-ehci: add Faraday USB 2.0 EHCI controller support Kuo-Jung Su
2013-03-30  6:29   ` Marek Vasut
2013-04-01  1:21     ` Kuo-Jung Su
2013-03-29  7:06 ` [U-Boot] [PATCH 05/11] usb-gadget: add FOTG210 USB gadget support Kuo-Jung Su
2013-03-30  6:27   ` Marek Vasut
2013-04-01  1:20     ` Kuo-Jung Su
2013-03-29  7:06 ` [U-Boot] [PATCH 06/11] i2c: add FTI2C010 I2C controller support Kuo-Jung Su
2013-03-29  7:06 ` [U-Boot] [PATCH 07/11] spi: add FTSPI010 SPI " Kuo-Jung Su
2013-03-29  7:06 ` [U-Boot] [PATCH 08/11] mtd/nand: add FTNANDC021 NAND flash " Kuo-Jung Su
2013-03-29  7:06 ` [U-Boot] [PATCH 09/11] mtd/spi: add FTSPI020 SPI Flash " Kuo-Jung Su
2013-03-29  7:06 ` [U-Boot] [PATCH 10/11] mmc: add an alternative FTSDC010 driver support Kuo-Jung Su
2013-03-29  7:06 ` [U-Boot] [PATCH 11/11] arm: add Faraday A36x SoC platform support Kuo-Jung Su
2013-06-17 12:06 ` [U-Boot] [PATCH v5 00/14] " Kuo-Jung Su
2013-06-17 12:06   ` [U-Boot] [PATCH v5 01/14] arm: dma_alloc_coherent: malloc() -> memalign() Kuo-Jung Su
2013-06-17 12:06   ` [U-Boot] [PATCH v5 02/14] net: ftgmac100: add MMU/D-cache support Kuo-Jung Su
2013-06-23  7:16     ` Albert ARIBAUD
2013-06-24  1:31       ` Kuo-Jung Su
2013-06-17 12:06   ` [U-Boot] [PATCH v5 03/14] net: add Faraday FTMAC110 10/100Mbps ethernet support Kuo-Jung Su
2013-06-23  7:18     ` Albert ARIBAUD
2013-06-23 11:09       ` Tom Rini
2013-06-23 13:18         ` Albert ARIBAUD
2013-06-23 15:17           ` Tom Rini
2013-06-17 12:06   ` [U-Boot] [PATCH v5 04/14] video: add Faraday FTLCDC200 LCD controller support Kuo-Jung Su
2013-06-17 12:06   ` [U-Boot] [PATCH v5 05/14] nand: add Faraday FTNANDC021 NAND " Kuo-Jung Su
2013-06-18  0:08     ` Scott Wood
2013-06-18  0:51       ` Kuo-Jung Su
2013-06-18  0:56         ` Scott Wood
2013-06-17 12:06   ` [U-Boot] [PATCH v5 06/14] cfi_flash: use buffer length in unmap_physmem() Kuo-Jung Su
2013-06-17 12:06   ` [U-Boot] [PATCH v5 07/14] arm: add MMU/D-Cache support for Faraday cores Kuo-Jung Su
2013-06-17 12:06   ` [U-Boot] [PATCH v5 08/14] arm: add Faraday processor core support Kuo-Jung Su
2013-06-17 12:06   ` [U-Boot] [PATCH v5 09/14] arm: add Faraday FTINTC020 interrupt controller support Kuo-Jung Su
2013-06-17 12:07   ` [U-Boot] [PATCH v5 10/14] arm: add Faraday FTTMR010 timer support Kuo-Jung Su
2013-06-17 12:07   ` [U-Boot] [PATCH v5 11/14] arm: add Faraday FTPWMTMR010 " Kuo-Jung Su
2013-06-17 12:07   ` [U-Boot] [PATCH v5 12/14] arm: add Faraday specific boot command Kuo-Jung Su
2013-06-23  7:22     ` Albert ARIBAUD
2013-06-24  1:30       ` Kuo-Jung Su
2013-06-17 12:07   ` [U-Boot] [PATCH v5 13/14] mmc: ftsdc010_mci: clk_get_rate() -> clock_get_rate() Kuo-Jung Su
2013-06-17 18:32     ` Andy Fleming
2013-06-18  0:48       ` Kuo-Jung Su
2013-06-17 12:07   ` [U-Boot] [PATCH v5 14/14] arm: add Faraday A360/A369 SoC platform support Kuo-Jung Su
2013-07-04  3:40 ` [U-Boot] [PATCH v6 00/12] arm: add Faraday A36x " Kuo-Jung Su
2013-07-04  3:40   ` [U-Boot] [PATCH v6 01/12] arm: dma_alloc_coherent: malloc() -> memalign() Kuo-Jung Su
2013-07-04  3:40   ` [U-Boot] [PATCH v6 02/12] video: add Faraday FTLCDC200 LCD controller support Kuo-Jung Su
2013-07-04  3:40   ` [U-Boot] [PATCH v6 03/12] nand: add Faraday FTNANDC021 NAND " Kuo-Jung Su
2013-07-08 23:59     ` Scott Wood
2013-07-09  1:42       ` Kuo-Jung Su
2013-07-09  1:48         ` Scott Wood
2013-07-09  1:57           ` Kuo-Jung Su
2013-07-04  3:40   ` [U-Boot] [PATCH v6 04/12] cfi_flash: use buffer length in unmap_physmem() Kuo-Jung Su
2013-07-25 14:46     ` Stefan Roese
2013-07-04  3:40   ` [U-Boot] [PATCH v6 05/12] arm: add MMU/D-Cache support for Faraday cores Kuo-Jung Su
2013-07-04  3:40   ` [U-Boot] [PATCH v6 06/12] arm: add Faraday processor core support Kuo-Jung Su
2013-07-04  3:40   ` [U-Boot] [PATCH v6 07/12] arm: add Faraday FTINTC020 interrupt controller support Kuo-Jung Su
2013-07-04  3:40   ` [U-Boot] [PATCH v6 08/12] arm: add Faraday FTTMR010 timer support Kuo-Jung Su
2013-07-04  3:40   ` [U-Boot] [PATCH v6 09/12] arm: add Faraday FTPWMTMR010 " Kuo-Jung Su
2013-07-04  3:40   ` [U-Boot] [PATCH v6 10/12] arm: add customized boot command for Faraday Images Kuo-Jung Su
2013-07-04  3:40   ` [U-Boot] [PATCH v6 11/12] mmc: ftsdc010_mci: clk_get_rate() -> clock_get_rate() Kuo-Jung Su
2013-07-04  3:40   ` [U-Boot] [PATCH v6 12/12] arm: add Faraday A360/A369 SoC platform support Kuo-Jung Su
2013-07-25  9:07   ` [U-Boot] [PATCH v6 00/12] arm: add Faraday A36x " Albert ARIBAUD
2013-07-26 14:15     ` Kuo-Jung Su
2013-07-29  5:51 ` [U-Boot] [PATCH v7 00/11] " Kuo-Jung Su
2013-07-29  5:51   ` [U-Boot] [PATCH v7 01/11] arm: dma_alloc_coherent: malloc() -> memalign() Kuo-Jung Su
2013-09-14 10:09     ` Albert ARIBAUD
2013-07-29  5:51   ` [U-Boot] [PATCH v7 02/11] video: add Faraday FTLCDC200 LCD controller support Kuo-Jung Su
2013-08-09 19:33     ` Anatolij Gustschin
2013-07-29  5:51   ` [U-Boot] [PATCH v7 03/11] nand: add Faraday FTNANDC021 NAND " Kuo-Jung Su
2013-07-29 22:59     ` Scott Wood
2013-07-30  0:39       ` Kuo-Jung Su
2013-07-29  5:51   ` [U-Boot] [PATCH v7 04/11] arm: add MMU/D-Cache support for Faraday cores Kuo-Jung Su
2013-07-29  5:51   ` [U-Boot] [PATCH v7 05/11] arm: add Faraday processor core support Kuo-Jung Su
2013-07-29  5:51   ` [U-Boot] [PATCH v7 06/11] arm: add Faraday FTINTC020 interrupt controller support Kuo-Jung Su
2013-07-29  5:51   ` [U-Boot] [PATCH v7 07/11] arm: add Faraday FTTMR010 timer support Kuo-Jung Su
2013-07-29  5:51   ` [U-Boot] [PATCH v7 08/11] arm: add Faraday FTPWMTMR010 " Kuo-Jung Su
2013-07-29  5:51   ` [U-Boot] [PATCH v7 09/11] arm: add customized boot command for Faraday Images Kuo-Jung Su
2013-09-14 10:28     ` Albert ARIBAUD
2013-10-02  0:53       ` Kuo-Jung Su
2013-07-29  5:51   ` [U-Boot] [PATCH v7 10/11] mmc: ftsdc010_mci: clk_get_rate() -> clock_get_rate() Kuo-Jung Su
2013-07-29  5:51   ` [U-Boot] [PATCH v7 11/11] arm: add Faraday A360/A369 SoC platform support Kuo-Jung Su
2013-11-28  2:48   ` [U-Boot] [PATCH v8] nand: add Faraday FTNANDC021 NAND controller support Kuo-Jung Su
2014-03-04  2:17     ` [U-Boot] [U-Boot, " Scott Wood
2014-03-04  3:58       ` Kuo-Jung Su
2013-12-30  9:23 ` [U-Boot] [PATCH v8 0/8] arm: add Faraday A36x SoC platform support Kuo-Jung Su
2013-12-30  9:23   ` [U-Boot] [PATCH v8 1/8] arm: global_data: prepare for Faraday SoC support Kuo-Jung Su
2013-12-30  9:23   ` [U-Boot] [PATCH v8 2/8] arm: make mmu_enabled() a global function Kuo-Jung Su
2013-12-30  9:23   ` [U-Boot] [PATCH v8 3/8] arm: add Faraday ARM cores support Kuo-Jung Su
2013-12-30  9:23   ` [U-Boot] [PATCH v8 4/8] arm: faraday: revise the DMA API Kuo-Jung Su
2013-12-30  9:23   ` [U-Boot] [PATCH v8 5/8] arm: faraday: add FTPWMTMR010 timer support Kuo-Jung Su
2013-12-30  9:23   ` [U-Boot] [PATCH v8 6/8] arm: faraday: add FTTMR010 " Kuo-Jung Su
2013-12-30  9:23   ` [U-Boot] [PATCH v8 7/8] arm: faraday: add A360 SoC support Kuo-Jung Su
2013-12-30  9:23   ` [U-Boot] [PATCH v8 8/8] arm: faraday: add A369 " Kuo-Jung Su
2014-01-16  8:31 ` [U-Boot] [PATCH v9 0/7] arm: add Faraday SoC platform support Kuo-Jung Su
2014-01-16  8:31   ` [U-Boot] [PATCH v9 1/7] arm: add Faraday ARMv5TE cores support Kuo-Jung Su
2014-01-16  8:31   ` [U-Boot] [PATCH v9 2/7] arm: add Faraday SoC helper files Kuo-Jung Su
2014-01-16  8:31   ` [U-Boot] [PATCH v9 3/7] arm: faraday: add FTTMR010 timer support Kuo-Jung Su
2014-01-16  8:31   ` [U-Boot] [PATCH v9 4/7] arm: faraday: add FTPWMTMR010 " Kuo-Jung Su
2014-01-16  8:31   ` [U-Boot] [PATCH v9 5/7] arm: faraday: ftsmc020: add a fail-safe macro constant Kuo-Jung Su
2014-01-16  8:31   ` [U-Boot] [PATCH v9 6/7] arm: faraday: add A369 evaluation board support Kuo-Jung Su
2014-01-16  8:31   ` [U-Boot] [PATCH v9 7/7] arm: faraday: add Faraday Virtual Machine support Kuo-Jung Su
2014-02-20  3:40 ` [U-Boot] [PATCH v10 0/6] arm: add Faraday SoC platform support Kuo-Jung Su
2014-02-20  3:40   ` [U-Boot] [PATCH v10 1/6] arm: add Faraday ARMv5TE cores support Kuo-Jung Su
2014-02-20  3:40   ` [U-Boot] [PATCH v10 2/6] arm: faraday: add FTTMR010 timer support Kuo-Jung Su
2014-02-20  3:40   ` [U-Boot] [PATCH v10 3/6] arm: faraday: add FTPWMTMR010 " Kuo-Jung Su
2014-02-20  3:40   ` Kuo-Jung Su [this message]
2014-02-20  3:40   ` [U-Boot] [PATCH v10 5/6] arm: faraday: add missing header file for FTSDC021 Kuo-Jung Su
2014-02-20  3:40   ` [U-Boot] [PATCH v10 6/6] arm: faraday: add virtual machine support Kuo-Jung Su
2014-03-25 12:41   ` [U-Boot] [PATCH v10 0/6] arm: add Faraday SoC platform support Albert ARIBAUD
2014-03-26  6:08     ` Kuo-Jung Su
2014-03-26  6:03 ` [U-Boot] [PATCH v11 " Kuo-Jung Su
2014-03-26  6:03   ` [U-Boot] [PATCH v11 1/6] arm: add Faraday ARMv5TE cores support Kuo-Jung Su
2014-03-26  6:47     ` Wolfgang Denk
2014-03-26  7:22       ` Kuo-Jung Su
2014-03-26  6:03   ` [U-Boot] [PATCH v11 2/6] arm: faraday: add FTTMR010 timer support Kuo-Jung Su
2014-03-26  6:03   ` [U-Boot] [PATCH v11 3/6] arm: faraday: add FTPWMTMR010 " Kuo-Jung Su
2014-03-26  6:03   ` [U-Boot] [PATCH v11 4/6] arm: faraday: add A369 evaluation board support Kuo-Jung Su
2014-03-26  6:03   ` [U-Boot] [PATCH v11 5/6] arm: faraday: add missing header file for FTSDC021 Kuo-Jung Su
2014-03-26  6:03   ` [U-Boot] [PATCH v11 6/6] arm: faraday: add virtual machine support Kuo-Jung Su
2014-03-26  6:52     ` Wolfgang Denk
2014-03-26  7:24       ` Kuo-Jung Su
2014-04-01  8:46 ` [U-Boot] [PATCH v12 0/8] arm: add Faraday SoC platform support Kuo-Jung Su
2014-04-01  8:46   ` [U-Boot] [PATCH v12 1/8] libc: move strlcpy() from ether.c to string.c Kuo-Jung Su
2014-04-01  9:16     ` Marek Vasut
2014-04-03  0:58       ` Kuo-Jung Su
2014-04-03  8:16         ` Marek Vasut
2014-04-07  4:07           ` Kuo-Jung Su
2014-04-01  8:46   ` [U-Boot] [PATCH v12 2/8] arm: add legacy linux clock framework support Kuo-Jung Su
2014-04-01  8:46   ` [U-Boot] [PATCH v12 3/8] arm: add Faraday ARMv5TE platform common libraries Kuo-Jung Su
2014-04-01  8:46   ` [U-Boot] [PATCH v12 4/8] arm: faraday: add FTTMR010 timer suppor Kuo-Jung Su
2014-04-01  8:46   ` [U-Boot] [PATCH v12 5/8] arm: faraday: add FTPWMTMR010 timer support Kuo-Jung Su
2014-04-01  8:46   ` [U-Boot] [PATCH v12 6/8] arm: faraday: add A369 evaluation board support Kuo-Jung Su
2014-04-01  8:46   ` [U-Boot] [PATCH v12 7/8] arm: faraday: add missing header file for FTSDC021 Kuo-Jung Su
2014-04-01  8:46   ` [U-Boot] [PATCH v12 8/8] arm: faraday: add faraday virtual machine support Kuo-Jung Su

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=1392867638-2368-5-git-send-email-dantesu@gmail.com \
    --to=dantesu@gmail.com \
    --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.