From: Albert ARIBAUD <albert.u.boot@aribaud.net>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2 11/12] arm: add MMU/d-cache support for Faraday cores
Date: Thu, 18 Apr 2013 21:09:58 +0200 [thread overview]
Message-ID: <20130418210958.674aa91f@lilith> (raw)
In-Reply-To: <1366277139-29728-12-git-send-email-dantesu@gmail.com>
Hi Kuo-Jung,
On Thu, 18 Apr 2013 17:25:38 +0800, Kuo-Jung Su <dantesu@gmail.com>
wrote:
> From: Kuo-Jung Su <dantesu@faraday-tech.com>
>
> This patch would enable MMU for Faraday ARMv5TE cores.
>
> Here is the abstract of this MMU design.
>
> Assume SDRAM memory region starts at 0x10000000, and its size = 0x800000.
>
> 0x00000000 +-------------------+
> | |
> | UN-CACHED |
> | |
> | |
> 0x10000000 +-------------------+
> | CACHED (SDRAM) | <- It's where data/bss/stack lived.
> | |
> | |
> 0x10800000 +-------------------+
> | |
> | |
> | UN-CACHED |
> | |
> | |
> 0xFF800000 +-------------------+
> | UN-CACHED (SDRAM) | <- An un-cached shadow of the SDRAM.
> | | dma_alloc_coherent() always returns
> | | an address in this region.
> 0xFFFFFFFF +-------------------+
The ASCII map is great for explaining, but I find it a bit big for a
commit message. Can you summarize it as lines like
0x00000000-0x0FFFFFFF not cached
0x10000000-0x107FFFFF cached (SDRAM)
...
?
> Signed-off-by: Kuo-Jung Su <dantesu@faraday-tech.com>
> CC: Albert Aribaud <albert.u.boot@aribaud.net>
> ---
> arch/arm/include/asm/dma-mapping.h | 56 ++++++++++++++++++++++--
> arch/arm/include/asm/global_data.h | 4 ++
> arch/arm/include/asm/io.h | 84 +++++++++++++++++++++++++++++++++++-
> arch/arm/lib/cache-cp15.c | 42 ++++++++++++++++++
> common/cmd_boot.c | 4 ++
> 5 files changed, 186 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm/include/asm/dma-mapping.h b/arch/arm/include/asm/dma-mapping.h
> index 5bbb0a0..53c4edf 100644
> --- a/arch/arm/include/asm/dma-mapping.h
> +++ b/arch/arm/include/asm/dma-mapping.h
> @@ -3,6 +3,9 @@
> * Stelian Pop <stelian@popies.net>
> * Lead Tech Design <www.leadtechdesign.com>
> *
> + * (C) Copyright 2010
> + * Dante Su <dantesu@faraday-tech.com>
> + *
> * See file CREDITS for list of people who contributed to this
> * project.
> *
> @@ -24,22 +27,69 @@
> #ifndef __ASM_ARM_DMA_MAPPING_H
> #define __ASM_ARM_DMA_MAPPING_H
>
> +#include <asm/u-boot.h>
> +#include <asm/global_data.h>
> +#include <asm/io.h>
> +#include <malloc.h>
> +
> enum dma_data_direction {
> DMA_BIDIRECTIONAL = 0,
> DMA_TO_DEVICE = 1,
> DMA_FROM_DEVICE = 2,
> };
>
> -static void *dma_alloc_coherent(size_t len, unsigned long *handle)
> +static inline void *dma_alloc_coherent(size_t len, unsigned long *handle)
> +{
> +#if defined(CONFIG_FARADAY) && !defined(CONFIG_SYS_DCACHE_OFF)
> + DECLARE_GLOBAL_DATA_PTR;
I'd rather have the global data ptr be declared outside any function,
and only once.
> +#endif
> + void *va = memalign(ARCH_DMA_MINALIGN, len);
> +
> + if (va && handle)
> + *handle = virt_to_phys(va);
> +
> +#if defined(CONFIG_FARADAY) && !defined(CONFIG_SYS_DCACHE_OFF)
> + if (gd->arch.cpu_mmu) {
> + /* invalidate the buffer, convert to un-cached address */
> + if (va != NULL) {
> + invalidate_dcache_range((ulong)va, (ulong)va + len);
> + va = virt_to_uncached(va);
> + }
> + }
> +#endif
> +
> + return va;
> +}
> +
> +static inline void dma_free_coherent(void *va)
> {
> - *handle = (unsigned long)malloc(len);
> - return (void *)*handle;
> + free(virt_to_cached(va));
> }
If I read this correctly, this code changes the semantics of
dma_alloc_coherent() for boards other than Faraday-based: before,
mempry was simply malloc()ed, now it would be memalign()ed then
virt_to_phys()ed. Why not simply keep the previous implementation under
a #else...#endif block?
> static inline unsigned long dma_map_single(volatile void *vaddr, size_t len,
> enum dma_data_direction dir)
> {
> +#if defined(CONFIG_FARADAY) && !defined(CONFIG_SYS_DCACHE_OFF)
> + DECLARE_GLOBAL_DATA_PTR;
> +
> + if (gd->arch.cpu_mmu) {
> + switch (dir) {
> + case DMA_BIDIRECTIONAL:
> + case DMA_TO_DEVICE:
> + flush_dcache_range((ulong)vaddr,
> + (ulong)vaddr + len);
> + break;
> +
> + case DMA_FROM_DEVICE:
> + invalidate_dcache_range((ulong)vaddr,
> + (ulong)vaddr + len);
> + break;
> + }
> + }
> + return virt_to_phys((void *)vaddr);
> +#else
> return (unsigned long)vaddr;
> +#endif
> }
Here we have such a #else/#endif, which makes sure non-Farady boards
are unaffected.
> static inline void dma_unmap_single(volatile void *vaddr, size_t len,
> diff --git a/arch/arm/include/asm/global_data.h b/arch/arm/include/asm/global_data.h
> index 37ac0da..bd18ff7 100644
> --- a/arch/arm/include/asm/global_data.h
> +++ b/arch/arm/include/asm/global_data.h
> @@ -38,6 +38,10 @@ struct arch_global_data {
> unsigned long pllb_rate_hz;
> unsigned long at91_pllb_usb_init;
> #endif
> +#ifdef CONFIG_FARADAY
> + unsigned long cpu_id;
> + unsigned long cpu_mmu; /* has mmu */
> +#endif
> /* "static data" needed by most of timer.c on ARM platforms */
> unsigned long timer_rate_hz;
> unsigned long tbu;
> diff --git a/arch/arm/include/asm/io.h b/arch/arm/include/asm/io.h
> index 1fbc531..17d8898 100644
> --- a/arch/arm/include/asm/io.h
> +++ b/arch/arm/include/asm/io.h
> @@ -2,6 +2,7 @@
> * linux/include/asm-arm/io.h
> *
> * Copyright (C) 1996-2000 Russell King
> + * Copyright (C) 2009-2010 Dante Su <dantesu@faraday-tech.com>
> *
> * This program is free software; you can redistribute it and/or modify
> * it under the terms of the GNU General Public License version 2 as
> @@ -23,6 +24,8 @@
> #ifdef __KERNEL__
>
> #include <linux/types.h>
> +#include <asm/u-boot.h>
> +#include <asm/global_data.h>
> #include <asm/byteorder.h>
> #include <asm/memory.h>
> #if 0 /* XXX###XXX */
> @@ -57,9 +60,88 @@ static inline void unmap_physmem(void *vaddr, unsigned long flags)
>
> }
>
> +#ifdef CONFIG_FARADAY
> +
> +# ifndef CONFIG_SYS_DCACHE_OFF
> +
> +static inline ulong uncached_base(volatile gd_t *gd)
> +{
> + return (4096 - (gd->ram_size >> 20)) << 20;
Symbolic constants or a comment would not hurt here.
> +}
> +# endif
> +
> +static inline void *virt_to_cached(void *va)
> +{
> +# ifndef CONFIG_SYS_DCACHE_OFF
> + DECLARE_GLOBAL_DATA_PTR;
> + ulong base = uncached_base(gd);
> +
> + if (!gd->arch.cpu_mmu)
> + return va;
> +
> + if ((ulong)va >= base &&
> + (ulong)va < (base + gd->ram_size))
> + va = (void *)((ulong)va - base + CONFIG_SYS_SDRAM_BASE);
> +# endif /* !CONFIG_SYS_DCACHE_OFF */
> +
> + return va;
> +}
> +
> +static inline void *virt_to_uncached(void *va)
> +{
> +# ifndef CONFIG_SYS_DCACHE_OFF
> + DECLARE_GLOBAL_DATA_PTR;
> + ulong base = uncached_base(gd);
> +
> + if (!gd->arch.cpu_mmu)
> + return va;
> +
> +# ifdef CONFIG_USE_IRQ
> + if ((ulong)va < SZ_1M)
> + return (void *)(base + (ulong)va);
> +# endif
> +
> + if ((ulong)va >= CONFIG_SYS_SDRAM_BASE &&
> + (ulong)va < (CONFIG_SYS_SDRAM_BASE + gd->ram_size))
> + va = (void *)(base + ((ulong)va - CONFIG_SYS_SDRAM_BASE));
> +# endif /* !CONFIG_SYS_DCACHE_OFF */
> +
> + return va;
> +}
> +
> +#endif /* CONFIG_FARADAY */
> +
> static inline phys_addr_t virt_to_phys(void * vaddr)
> {
> - return (phys_addr_t)(vaddr);
> +#if defined(CONFIG_FARADAY) && !defined(CONFIG_SYS_DCACHE_OFF)
> +
> + DECLARE_GLOBAL_DATA_PTR;
> + bd_t *bd = gd->bd;
> + ulong base = uncached_base(gd);
> + ulong phys = (ulong)vaddr;
> +
> + if (!gd->arch.cpu_mmu)
> + return (phys_addr_t)phys;
> +
> + if (phys >= base) {
> + ulong bank;
> + ulong off = phys - base;
> + for (bank = 0; bank < CONFIG_NR_DRAM_BANKS; ++bank) {
> + if (bd->bi_dram[bank].size > off)
> + break;
> + off -= bd->bi_dram[bank].size;
> + }
> + phys = bd->bi_dram[bank].start + off;
> + }
> +# ifdef CONFIG_USE_IRQ
> + else if (phys < SZ_1M && bd->bi_dram[0].start != 0)
> + phys = bd->bi_dram[0].start + phys;
> +# endif
> +
> + return (phys_addr_t)phys;
> +#else
> + return (phys_addr_t)vaddr;
> +#endif
> }
>
> /*
> diff --git a/arch/arm/lib/cache-cp15.c b/arch/arm/lib/cache-cp15.c
> index 4abe1cf..eee8585 100644
> --- a/arch/arm/lib/cache-cp15.c
> +++ b/arch/arm/lib/cache-cp15.c
> @@ -1,6 +1,8 @@
> /*
> * (C) Copyright 2002
> * Wolfgang Denk, DENX Software Engineering, wd at denx.de.
> + * (C) Copyright 2010
> + * Dante Su <dantesu@faraday-tech.com>
> *
> * See file CREDITS for list of people who contributed to this
> * project.
> @@ -87,6 +89,10 @@ __weak void dram_bank_mmu_setup(int bank)
> {
> bd_t *bd = gd->bd;
> int i;
> +#ifdef CONFIG_FARADAY
> + ulong ubase, off;
> + u32 *page_table = (u32 *)gd->arch.tlb_addr;
> +#endif
>
> debug("%s: bank: %d\n", __func__, bank);
> for (i = bd->bi_dram[bank].start >> 20;
> @@ -98,6 +104,32 @@ __weak void dram_bank_mmu_setup(int bank)
> set_section_dcache(i, DCACHE_WRITEBACK);
> #endif
> }
> +#ifdef CONFIG_FARADAY
> +# ifdef CONFIG_USE_IRQ
> + /* map the exception table to 0x00000000 if necessary */
> + if (bank == 0 && bd->bi_dram[bank].start != 0) {
> + u32 pa = bd->bi_dram[bank].start;
> +#if defined(CONFIG_SYS_ARM_CACHE_WRITETHROUGH)
> + page_table[0] = pa | (3 << 10) | DCACHE_WRITETHROUGH;
> +#else
> + page_table[0] = pa | (3 << 10) | DCACHE_WRITEBACK;
> +#endif
> + }
> +# endif
> + /* calculate address offset */
> + off = 0;
> + for (i = 0; i < bank; ++i)
> + off += bd->bi_dram[bank].size;
> +
> + /* create memory map */
> + ubase = (4096 - (gd->ram_size >> 20)) << 20;
> + for (i = 0; i < bd->bi_dram[bank].size >> 20; ++i) {
> + u32 pa = bd->bi_dram[bank].start + (i << 20);
> + /* create un-cached address map */
> + u32 va = ubase + off + (i << 20);
> + page_table[va >> 20] = pa | (3 << 10) | DCACHE_OFF;
> + }
> +#endif
> }
>
> /* to activate the MMU we need to set up virtual memory: use 1M areas */
> @@ -126,6 +158,10 @@ static inline void mmu_setup(void)
>
> /* and enable the mmu */
> reg = get_cr(); /* get control reg. */
> +#ifdef CONFIG_FARADAY
> + reg |= CR_W; /* enable write buffer */
> + reg |= CR_Z; /* enable branch prediction */
> +#endif
> cp_delay();
> set_cr(reg | CR_M);
> }
> @@ -140,9 +176,15 @@ static void cache_enable(uint32_t cache_bit)
> {
> uint32_t reg;
>
> +#ifdef CONFIG_FARADAY
> + if (!gd->arch.cpu_mmu && (cache_bit == CR_C))
> + return;
> +#endif
> +
> /* The data cache is not active unless the mmu is enabled too */
> if ((cache_bit == CR_C) && !mmu_enabled())
> mmu_setup();
> +
> reg = get_cr(); /* get control reg. */
> cp_delay();
> set_cr(reg | cache_bit);
> diff --git a/common/cmd_boot.c b/common/cmd_boot.c
> index d3836fd..b2477e8 100644
> --- a/common/cmd_boot.c
> +++ b/common/cmd_boot.c
> @@ -50,6 +50,10 @@ static int do_go(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
>
> printf ("## Starting application at 0x%08lX ...\n", addr);
>
> +#if defined(__ARM__) && !defined(CONFIG_SYS_DCACHE_OFF)
> + cleanup_before_linux();
> +#endif
> +
> /*
> * pass address parameter as argv[0] (aka command name),
> * and all remaining args
> --
> 1.7.9.5
>
Amicalement,
--
Albert.
next prev parent reply other threads:[~2013-04-18 19:09 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 [this message]
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 ` [U-Boot] [PATCH v10 4/6] arm: faraday: add A369 evaluation board support Kuo-Jung Su
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=20130418210958.674aa91f@lilith \
--to=albert.u.boot@aribaud.net \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox