[U-Boot] [PATCH v1] cpu: Add Intel Tangier support

Andy Shevchenko andy.shevchenko at gmail.com
Thu Apr 20 07:23:13 UTC 2017


On Thu, Apr 20, 2017 at 5:59 AM, Bin Meng <bmeng.cn at gmail.com> wrote:
> Hi Andy,
>
> On Tue, Apr 18, 2017 at 10:21 PM, Andy Shevchenko
> <andriy.shevchenko at linux.intel.com> wrote:
>> From: Felipe Balbi <felipe.balbi at linux.intel.com>
>>
>> Add Intel Tangier SoC support.
>>
>> Intel Tangier SoC is a core part of Intel Merrifield platform. For
>> example, Intel Edison board is based on such platform.
>>
>> The patch is based on work done by the following people (in alphabetical
>> order):
>>         Aiden Park <aiden.park at intel.com>
>>         Dukjoon Jeon <dukjoon.jeon at intel.com>
>>         eric.park <eric.park at intel.com>
>>         Fabien Chereau <fabien.chereau at intel.com>
>>         Scott D Phillips <scott.d.phillips at intel.com>
>>         Sebastien Colleur <sebastienx.colleur at intel.com>
>>         Steve Sakoman <steve.sakoman at intel.com>
>>         Vincent Tinelli <vincent.tinelli at intel.com>

>> +#include <common.h>
>> +#include <malloc.h>
>> +#include <asm/bootparam.h>
>> +#include <asm/e820.h>
>> +#include <asm/global_data.h>
>> +#include <asm/processor.h>
>> +#include <asm/sections.h>
>> +#include <asm/sfi.h>
>> +#include <asm/u-boot-x86.h>
>
> Can you double check if all these header files are needed here?

Will do.

>> +/* Memory type definitions */
>> +enum sfi_mem_type {
>> +       SFI_MEM_RESERVED,
>> +       SFI_LOADER_CODE,
>> +       SFI_LOADER_DATA,
>> +       SFI_BOOT_SERVICE_CODE,
>> +       SFI_BOOT_SERVICE_DATA,
>> +       SFI_RUNTIME_SERVICE_CODE,
>> +       SFI_RUNTIME_SERVICE_DATA,
>> +       SFI_MEM_CONV,
>> +       SFI_MEM_UNUSABLE,
>> +       SFI_ACPI_RECLAIM,
>> +       SFI_ACPI_NVS,
>> +       SFI_MEM_MMIO,
>> +       SFI_MEM_IOPORT,
>> +       SFI_PAL_CODE,
>> +       SFI_MEM_TYPEMAX,
>> +};
>> +
>
> Should this be moved to sfi.h?

If no one objects, I would do this.

>
>> +#define SFI_BASE_ADDR          0x000E0000
>> +#define SFI_LENGTH             0x00020000
>> +#define SFI_TABLE_LENGTH       16
>> +
>
> Can you add some comments here? I guess U-Boot on tangier is not the
> 1st stage bootloader. It boots from the 1st stage bootloader and get
> memory information via SFI table which 1st stage bootloader provides?
>

>> diff --git a/arch/x86/cpu/tangier/tangier.c b/arch/x86/cpu/tangier/tangier.c

>> diff --git a/arch/x86/include/asm/dma-mapping.h b/arch/x86/include/asm/dma-mapping.h
>> new file mode 100644
>> index 0000000000..7de4c08e36
>> --- /dev/null
>> +++ b/arch/x86/include/asm/dma-mapping.h
>> @@ -0,0 +1,41 @@
>> +/*
>> + * (C) Copyright 2007
>> + * Stelian Pop <stelian at popies.net>
>> + * Lead Tech Design <www.leadtechdesign.com>
>> + *
>> + * SPDX-License-Identifier:    GPL-2.0+
>> + */
>> +#ifndef __ASM_X86_DMA_MAPPING_H
>> +#define __ASM_X86_DMA_MAPPING_H
>> +
>> +#define        dma_mapping_error(x, y) 0
>> +
>> +enum dma_data_direction {
>> +       DMA_BIDIRECTIONAL       = 0,
>> +       DMA_TO_DEVICE           = 1,
>> +       DMA_FROM_DEVICE         = 2,
>> +};
>> +
>> +static inline void *dma_alloc_coherent(size_t len, unsigned long *handle)
>> +{
>> +       *handle = (unsigned long)memalign(ARCH_DMA_MINALIGN, len);
>> +       return (void *)*handle;
>> +}
>> +
>> +static inline void dma_free_coherent(void *addr)
>> +{
>> +       free(addr);
>> +}
>> +
>> +static inline unsigned long dma_map_single(volatile void *vaddr, size_t len,
>> +                                          enum dma_data_direction dir)
>> +{
>> +       return (unsigned long)vaddr;
>> +}
>> +
>> +static inline void dma_unmap_single(volatile void *vaddr, size_t len,
>> +                                   unsigned long paddr)
>> +{
>> +}
>> +
>> +#endif /* __ASM_X86_DMA_MAPPING_H */
>> --
>
> Why is this dma-mapping.h file needed? For x86, all memory are
> coherent, which is indicated in your implementation as well
> (malloc/free are used)

dwc3 is used on many platforms and SoCs, so, it's irrelevant to x86.
Other option is to uglify dwc3 driver. I dunno it would be a good idea.

-- 
With Best Regards,
Andy Shevchenko


More information about the U-Boot mailing list