[U-Boot] [PATCH] bootm: fix size arg of flush_cache() in bootm_load_os().

2016-01-20 Thread Purna Chandra Mandal
Variable _load_end_ points to end address of uncompressed buffer
(*not* uncomress_buffer_end / sizeof(ulong)), so multipling uncompressed
size with sizeof(ulong) is grossly incorrect in flush_cache().
It might lead to access of address beyond valid memory range and hang the CPU.

Tested on MIPS architecture by using compressed(gzip, lzma)
and uncompressed uImage.

Signed-off-by: Purna Chandra Mandal 
---

 common/bootm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/common/bootm.c b/common/bootm.c
index 58936ca..99d574d 100644
--- a/common/bootm.c
+++ b/common/bootm.c
@@ -435,7 +435,7 @@ static int bootm_load_os(bootm_headers_t *images, unsigned 
long *load_end,
bootstage_error(BOOTSTAGE_ID_DECOMP_IMAGE);
return err;
}
-   flush_cache(load, (*load_end - load) * sizeof(ulong));
+   flush_cache(load, *load_end - load);
 
debug("   kernel loaded at 0x%08lx, end = 0x%08lx\n", load, *load_end);
bootstage_mark(BOOTSTAGE_ID_KERNEL_LOADED);
-- 
1.8.3.1

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


Re: [U-Boot] [PATCH v2 2/4] x86: qemu: setup PM IO base for ACPI in southbridge

2016-01-20 Thread Bin Meng
On Wed, Jan 20, 2016 at 12:24 PM, Miao Yan  wrote:
> Enable ACPI IO space for piix4 (for pc board) and ich9 (for q35 board)
>
> Signed-off-by: Miao Yan 
> ---
> Changes in v2:
>   - add ACPI_PM1_BASE in Kconfig
>   - drop PCI device ID checks
>
>  arch/x86/cpu/qemu/Kconfig   |  7 +++
>  arch/x86/cpu/qemu/qemu.c| 29 +
>  arch/x86/include/asm/arch-qemu/device.h |  2 ++
>  arch/x86/include/asm/arch-qemu/qemu.h   |  5 +
>  4 files changed, 43 insertions(+)
>

Reviewed-by: Bin Meng 
Tested-by: Bin Meng 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v2 3/4] x86: config option for loading ACPI table from QEMU

2016-01-20 Thread Bin Meng
On Wed, Jan 20, 2016 at 12:24 PM, Miao Yan  wrote:
> This patch adds a config option for loading ACPI table from QEMU. When 
> enabled,
> U-Boot won't generate ACPI tables, but use those provided by QEMU.
>
> Signed-off-by: Miao Yan 
> ---
>  arch/x86/Kconfig   | 9 +
>  arch/x86/cpu/qemu/Makefile | 2 ++
>  arch/x86/lib/Makefile  | 2 ++
>  3 files changed, 13 insertions(+)
>

Reviewed-by: Bin Meng 
Tested-by: Bin Meng 

But please see one nits below:

> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index f07567c..26c8d83 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -358,6 +358,15 @@ config GENERATE_ACPI_TABLE
>   by the operating system. It defines platform-independent interfaces
>   for configuration and power management monitoring.
>
> +config QEMU_ACPI_TABLE
> +   bool "load ACPI table from QEMU fw_cfg interface"

nits: load -> Load

I can fix this when applying.

> +   depends on GENERATE_ACPI_TABLE && QEMU
> +   default y
> +   help
> + By default, U-Boot generates its own ACPI tables. This option, if
> + enabled, disables U-Boot's version and loads ACPI tables generated
> + by QEMU.
> +

[snip]

Regards,
Bin
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v2 1/4] x86: qemu: re-structure qemu_fwcfg_list_firmware()

2016-01-20 Thread Bin Meng
On Wed, Jan 20, 2016 at 12:24 PM, Miao Yan  wrote:
> Re-write the logic in qemu_fwcfg_list_firmware(), add a function
> qemu_fwcfg_read_firmware_list() to handle reading firmware list.
>
> Signed-off-by: Miao Yan 
> ---
> Changes in v2:
>   - coding style fix
>   - add comments in header file
>
>  arch/x86/cpu/qemu/fw_cfg.c| 63 
> +--
>  arch/x86/include/asm/fw_cfg.h |  9 ---
>  2 files changed, 55 insertions(+), 17 deletions(-)
>

Reviewed-by: Bin Meng 
Tested-by: Bin Meng 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v2 4/4] x86: qemu: add the ability to load and link ACPI tables from QEMU

2016-01-20 Thread Bin Meng
On Wed, Jan 20, 2016 at 12:24 PM, Miao Yan  wrote:
> This patch adds the ability to load and link ACPI tables provided by QEMU.
> QEMU tells guests how to load and patch ACPI tables through its fw_cfg
> interface, by adding a firmware file 'etc/table-loader'. Guests are
> supposed to parse this file and execute corresponding QEMU commands.
>
> Signed-off-by: Miao Yan 
> ---
> Changes in v2:
>   - add function comment
>   - improve error handling
>
>  arch/x86/cpu/qemu/fw_cfg.c| 253 
> ++
>  arch/x86/include/asm/fw_cfg.h |  61 ++
>  arch/x86/lib/acpi_table.c |   4 +
>  3 files changed, 318 insertions(+)
>

Reviewed-by: Bin Meng 
Tested-by: Bin Meng 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v2 3/4] x86: config option for loading ACPI table from QEMU

2016-01-20 Thread Miao Yan
Hi Bin,

2016-01-20 16:46 GMT+08:00 Bin Meng :
> On Wed, Jan 20, 2016 at 12:24 PM, Miao Yan  wrote:
>> This patch adds a config option for loading ACPI table from QEMU. When 
>> enabled,
>> U-Boot won't generate ACPI tables, but use those provided by QEMU.
>>
>> Signed-off-by: Miao Yan 
>> ---
>>  arch/x86/Kconfig   | 9 +
>>  arch/x86/cpu/qemu/Makefile | 2 ++
>>  arch/x86/lib/Makefile  | 2 ++
>>  3 files changed, 13 insertions(+)
>>
>
> Reviewed-by: Bin Meng 
> Tested-by: Bin Meng 
>
> But please see one nits below:
>
>> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
>> index f07567c..26c8d83 100644
>> --- a/arch/x86/Kconfig
>> +++ b/arch/x86/Kconfig
>> @@ -358,6 +358,15 @@ config GENERATE_ACPI_TABLE
>>   by the operating system. It defines platform-independent interfaces
>>   for configuration and power management monitoring.
>>
>> +config QEMU_ACPI_TABLE
>> +   bool "load ACPI table from QEMU fw_cfg interface"
>
> nits: load -> Load
>
> I can fix this when applying.

Thanks, I just found this patch breaks git bisect, I'll submit v3 to
fix this as well as the typo.


>
>> +   depends on GENERATE_ACPI_TABLE && QEMU
>> +   default y
>> +   help
>> + By default, U-Boot generates its own ACPI tables. This option, if
>> + enabled, disables U-Boot's version and loads ACPI tables generated
>> + by QEMU.
>> +
>
> [snip]
>
> Regards,
> Bin
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v2 3/4] x86: config option for loading ACPI table from QEMU

2016-01-20 Thread Bin Meng
Hi Miao,

On Wed, Jan 20, 2016 at 5:15 PM, Miao Yan  wrote:
> Hi Bin,
>
> 2016-01-20 16:46 GMT+08:00 Bin Meng :
>> On Wed, Jan 20, 2016 at 12:24 PM, Miao Yan  wrote:
>>> This patch adds a config option for loading ACPI table from QEMU. When 
>>> enabled,
>>> U-Boot won't generate ACPI tables, but use those provided by QEMU.
>>>
>>> Signed-off-by: Miao Yan 
>>> ---
>>>  arch/x86/Kconfig   | 9 +
>>>  arch/x86/cpu/qemu/Makefile | 2 ++
>>>  arch/x86/lib/Makefile  | 2 ++
>>>  3 files changed, 13 insertions(+)
>>>
>>
>> Reviewed-by: Bin Meng 
>> Tested-by: Bin Meng 
>>
>> But please see one nits below:
>>
>>> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
>>> index f07567c..26c8d83 100644
>>> --- a/arch/x86/Kconfig
>>> +++ b/arch/x86/Kconfig
>>> @@ -358,6 +358,15 @@ config GENERATE_ACPI_TABLE
>>>   by the operating system. It defines platform-independent 
>>> interfaces
>>>   for configuration and power management monitoring.
>>>
>>> +config QEMU_ACPI_TABLE
>>> +   bool "load ACPI table from QEMU fw_cfg interface"
>>
>> nits: load -> Load
>>
>> I can fix this when applying.
>
> Thanks, I just found this patch breaks git bisect, I'll submit v3 to
> fix this as well as the typo.
>
>

Uh, I've tested building your patches via buildman, no errors. What do you see?

>>
>>> +   depends on GENERATE_ACPI_TABLE && QEMU
>>> +   default y
>>> +   help
>>> + By default, U-Boot generates its own ACPI tables. This option, if
>>> + enabled, disables U-Boot's version and loads ACPI tables generated
>>> + by QEMU.
>>> +
>>
>> [snip]
>>

Regards,
Bin
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v2 3/4] x86: config option for loading ACPI table from QEMU

2016-01-20 Thread Miao Yan
Hi Bin,

2016-01-20 17:18 GMT+08:00 Bin Meng :
> Hi Miao,
>
> On Wed, Jan 20, 2016 at 5:15 PM, Miao Yan  wrote:
>> Hi Bin,
>>
>> 2016-01-20 16:46 GMT+08:00 Bin Meng :
>>> On Wed, Jan 20, 2016 at 12:24 PM, Miao Yan  wrote:
 This patch adds a config option for loading ACPI table from QEMU. When 
 enabled,
 U-Boot won't generate ACPI tables, but use those provided by QEMU.

 Signed-off-by: Miao Yan 
 ---
  arch/x86/Kconfig   | 9 +
  arch/x86/cpu/qemu/Makefile | 2 ++
  arch/x86/lib/Makefile  | 2 ++
  3 files changed, 13 insertions(+)

>>>
>>> Reviewed-by: Bin Meng 
>>> Tested-by: Bin Meng 
>>>
>>> But please see one nits below:
>>>
 diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
 index f07567c..26c8d83 100644
 --- a/arch/x86/Kconfig
 +++ b/arch/x86/Kconfig
 @@ -358,6 +358,15 @@ config GENERATE_ACPI_TABLE
   by the operating system. It defines platform-independent 
 interfaces
   for configuration and power management monitoring.

 +config QEMU_ACPI_TABLE
 +   bool "load ACPI table from QEMU fw_cfg interface"
>>>
>>> nits: load -> Load
>>>
>>> I can fix this when applying.
>>
>> Thanks, I just found this patch breaks git bisect, I'll submit v3 to
>> fix this as well as the typo.
>>
>>
>
> Uh, I've tested building your patches via buildman, no errors. What do you 
> see?

If you enable CONFIG_GENERATE_ACPI_TABLE and QEMU_ACPI_TABLE, you'll see:

arch/x86/lib/built-in.o: In function `write_tables':
/home/myan/work/u-boot-x86/arch/x86/lib/tables.c:57: undefined
reference to `write_acpi_tables'
make: *** [u-boot] Error

Because write_acpi_tables() are defined in [PATCH 0/4]. With default
config you won't see it. Is this OK ?


>
>>>
 +   depends on GENERATE_ACPI_TABLE && QEMU
 +   default y
 +   help
 + By default, U-Boot generates its own ACPI tables. This option, if
 + enabled, disables U-Boot's version and loads ACPI tables 
 generated
 + by QEMU.
 +
>>>
>>> [snip]
>>>
>
> Regards,
> Bin
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v3 4/8] x86: Use the IRQ device when setting up the mptable

2016-01-20 Thread Bin Meng
On Wed, Jan 20, 2016 at 12:32 PM, Simon Glass  wrote:
> Instead of searching for the device tree node, use the IRQ device which has
> a record of it.
>
> Signed-off-by: Simon Glass 
> ---
>
> Changes in v3:
> - Add new patch to use the IRQ device when setting up the mptable
>
> Changes in v2: None
>
>  arch/x86/cpu/irq.c| 16 
>  arch/x86/lib/mpspec.c | 14 +++---
>  2 files changed, 11 insertions(+), 19 deletions(-)
>

Reviewed-by: Bin Meng 
Tested-by: Bin Meng 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v3 6/8] dm: x86: quark: Add an interrupt driver

2016-01-20 Thread Bin Meng
On Wed, Jan 20, 2016 at 12:32 PM, Simon Glass  wrote:
> Add a driver for interrupts on quark and move the code currently in
> cpu_irq_init() into its probe() method.
>
> Signed-off-by: Simon Glass 
> Reviewed-by: Bin Meng 
> ---
>
> Changes in v3: None
> Changes in v2: None
>
>  arch/x86/cpu/quark/Makefile |  2 +-
>  arch/x86/cpu/quark/irq.c| 49 
> +
>  arch/x86/cpu/quark/quark.c  | 25 ---
>  arch/x86/dts/galileo.dts|  2 +-
>  4 files changed, 51 insertions(+), 27 deletions(-)
>  create mode 100644 arch/x86/cpu/quark/irq.c
>

Tested-by: Bin Meng 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v3 5/8] x86: Drop the irq router compatible string

2016-01-20 Thread Bin Meng
On Wed, Jan 20, 2016 at 12:32 PM, Simon Glass  wrote:
> We use driver model for this now, so we don't need this string.
>
> Signed-off-by: Simon Glass 
> ---
>
> Changes in v3:
> - Add new patch to drop the irq router compatible string
>
> Changes in v2: None
>
>  include/fdtdec.h | 1 -
>  lib/fdtdec.c | 1 -
>  2 files changed, 2 deletions(-)
>

Reviewed-by: Bin Meng 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v3 7/8] dm: x86: queensbay: Add an interrupt driver

2016-01-20 Thread Bin Meng
On Wed, Jan 20, 2016 at 12:32 PM, Simon Glass  wrote:
> Add a driver for interrupts on queensbay and move the code currently in
> cpu_irq_init() into its probe() method.
>
> Signed-off-by: Simon Glass 
> Reviewed-by: Bin Meng 
> ---
>
> Changes in v3: None
> Changes in v2: None
>
>  arch/x86/cpu/queensbay/Makefile |  2 +-
>  arch/x86/cpu/queensbay/irq.c| 65 
> +
>  arch/x86/cpu/queensbay/tnc.c| 37 ---
>  arch/x86/dts/crownbay.dts   |  2 +-
>  4 files changed, 67 insertions(+), 39 deletions(-)
>  create mode 100644 arch/x86/cpu/queensbay/irq.c
>

Tested-by: Bin Meng 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v2 3/4] x86: config option for loading ACPI table from QEMU

2016-01-20 Thread Bin Meng
Hi Miao,

On Wed, Jan 20, 2016 at 5:26 PM, Miao Yan  wrote:
> Hi Bin,
>
> 2016-01-20 17:18 GMT+08:00 Bin Meng :
>> Hi Miao,
>>
>> On Wed, Jan 20, 2016 at 5:15 PM, Miao Yan  wrote:
>>> Hi Bin,
>>>
>>> 2016-01-20 16:46 GMT+08:00 Bin Meng :
 On Wed, Jan 20, 2016 at 12:24 PM, Miao Yan  wrote:
> This patch adds a config option for loading ACPI table from QEMU. When 
> enabled,
> U-Boot won't generate ACPI tables, but use those provided by QEMU.
>
> Signed-off-by: Miao Yan 
> ---
>  arch/x86/Kconfig   | 9 +
>  arch/x86/cpu/qemu/Makefile | 2 ++
>  arch/x86/lib/Makefile  | 2 ++
>  3 files changed, 13 insertions(+)
>

 Reviewed-by: Bin Meng 
 Tested-by: Bin Meng 

 But please see one nits below:

> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index f07567c..26c8d83 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -358,6 +358,15 @@ config GENERATE_ACPI_TABLE
>   by the operating system. It defines platform-independent 
> interfaces
>   for configuration and power management monitoring.
>
> +config QEMU_ACPI_TABLE
> +   bool "load ACPI table from QEMU fw_cfg interface"

 nits: load -> Load

 I can fix this when applying.
>>>
>>> Thanks, I just found this patch breaks git bisect, I'll submit v3 to
>>> fix this as well as the typo.
>>>
>>>
>>
>> Uh, I've tested building your patches via buildman, no errors. What do you 
>> see?
>
> If you enable CONFIG_GENERATE_ACPI_TABLE and QEMU_ACPI_TABLE, you'll see:
>
> arch/x86/lib/built-in.o: In function `write_tables':
> /home/myan/work/u-boot-x86/arch/x86/lib/tables.c:57: undefined
> reference to `write_acpi_tables'
> make: *** [u-boot] Error
>
> Because write_acpi_tables() are defined in [PATCH 0/4]. With default
> config you won't see it. Is this OK ?
>

Ah, yes! buildman only builds with default configuration so it is not
exposed. So I assume you may defer the Makefile changes to patch#4.
Thanks for pointing this out!

Regards,
Bin
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] Chain-loading u-boot stopped working between 2016.01-rc1 and 2016.01-rc4

2016-01-20 Thread Pavel Machek
Hi!

I'm loading u-boot using tftp from u-boot 2013.01. Marek will claim
that this configuration is unsupported, but it enables fairly quick
development and was very useful for me in past.

Unfortunately, it stopped working between 2016.01-rc1 and -rc4. Before
I start bisecting it, I wanted to ask if someone has idea what might
be responsible?

Pavel
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) 
http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] Chain-loading u-boot stopped working between 2016.01-rc1 and 2016.01-rc4

2016-01-20 Thread Stefan Roese

Hi Pavel,

On 20.01.2016 10:31, Pavel Machek wrote:

I'm loading u-boot using tftp from u-boot 2013.01. Marek will claim
that this configuration is unsupported, but it enables fairly quick
development and was very useful for me in past.


Yes, I use this chainloading also quite frequently on some platforms.
It should generally work on platforms with SPL support. Where the
preloader / SPL / BootROM has initialized the base HW and the SDRAM.
So that the U-Boot proper can get loaded into SDRAM. So it should
also work on SoCFPGA. I have to admit, that I haven't tested it
lately on SoCFPGA though.


Unfortunately, it stopped working between 2016.01-rc1 and -rc4. Before
I start bisecting it, I wanted to ask if someone has idea what might
be responsible?


As mentioned above, I've not tested on this platform lately, sorry.
But I assume that you also test the latest release version, yes?
And current master as well. Also failing there?

Thanks,
Stefan

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


[U-Boot] [PATCH v3 1/4] x86: qemu: re-structure qemu_fwcfg_list_firmware()

2016-01-20 Thread Miao Yan
Re-write the logic in qemu_fwcfg_list_firmware(), add a function
qemu_fwcfg_read_firmware_list() to handle reading firmware list.

Signed-off-by: Miao Yan 
Reviewed-by: Bin Meng 
Tested-by: Bin Meng 
---
 arch/x86/cpu/qemu/fw_cfg.c| 63 +--
 arch/x86/include/asm/fw_cfg.h |  9 ---
 2 files changed, 55 insertions(+), 17 deletions(-)

diff --git a/arch/x86/cpu/qemu/fw_cfg.c b/arch/x86/cpu/qemu/fw_cfg.c
index 0599214..bcd34af 100644
--- a/arch/x86/cpu/qemu/fw_cfg.c
+++ b/arch/x86/cpu/qemu/fw_cfg.c
@@ -10,10 +10,13 @@
 #include 
 #include 
 #include 
+#include 
 
 static bool fwcfg_present;
 static bool fwcfg_dma_present;
 
+static LIST_HEAD(fw_list);
+
 /* Read configuration item using fw_cfg PIO interface */
 static void qemu_fwcfg_read_entry_pio(uint16_t entry,
uint32_t size, void *address)
@@ -162,29 +165,61 @@ static int qemu_fwcfg_setup_kernel(void *load_addr, void 
*initrd_addr)
return 0;
 }
 
-static int qemu_fwcfg_list_firmware(void)
+static int qemu_fwcfg_read_firmware_list(void)
 {
int i;
uint32_t count;
-   struct fw_cfg_files *files;
+   struct fw_file *file;
+   struct list_head *entry;
+
+   /* don't read it twice */
+   if (!list_empty(&fw_list))
+   return 0;
 
qemu_fwcfg_read_entry(FW_CFG_FILE_DIR, 4, &count);
if (!count)
return 0;
 
count = be32_to_cpu(count);
-   files = malloc(count * sizeof(struct fw_cfg_file));
-   if (!files)
-   return -ENOMEM;
-
-   files->count = count;
-   qemu_fwcfg_read_entry(FW_CFG_INVALID,
- count * sizeof(struct fw_cfg_file),
- files->files);
-
-   for (i = 0; i < files->count; i++)
-   printf("%-56s\n", files->files[i].name);
-   free(files);
+   for (i = 0; i < count; i++) {
+   file = malloc(sizeof(*file));
+   if (!file) {
+   printf("error: allocating resource\n");
+   goto err;
+   }
+   qemu_fwcfg_read_entry(FW_CFG_INVALID,
+ sizeof(struct fw_cfg_file), &file->cfg);
+   file->addr = 0;
+   list_add_tail(&file->list, &fw_list);
+   }
+
+   return 0;
+
+err:
+   list_for_each(entry, &fw_list) {
+   file = list_entry(entry, struct fw_file, list);
+   free(file);
+   }
+
+   return -ENOMEM;
+}
+
+static int qemu_fwcfg_list_firmware(void)
+{
+   int ret;
+   struct list_head *entry;
+   struct fw_file *file;
+
+   /* make sure fw_list is loaded */
+   ret = qemu_fwcfg_read_firmware_list();
+   if (ret)
+   return ret;
+
+   list_for_each(entry, &fw_list) {
+   file = list_entry(entry, struct fw_file, list);
+   printf("%-56s\n", file->cfg.name);
+   }
+
return 0;
 }
 
diff --git a/arch/x86/include/asm/fw_cfg.h b/arch/x86/include/asm/fw_cfg.h
index fb110fa..2acf43e 100644
--- a/arch/x86/include/asm/fw_cfg.h
+++ b/arch/x86/include/asm/fw_cfg.h
@@ -12,6 +12,8 @@
 #define FW_DMA_PORT_LOW0x514
 #define FW_DMA_PORT_HIGH   0x518
 
+#include 
+
 enum qemu_fwcfg_items {
FW_CFG_SIGNATURE= 0x00,
FW_CFG_ID   = 0x01,
@@ -67,9 +69,10 @@ struct fw_cfg_file {
char name[FW_CFG_MAX_FILE_PATH];
 };
 
-struct fw_cfg_files {
-   __be32 count;
-   struct fw_cfg_file files[];
+struct fw_file {
+   struct fw_cfg_file cfg; /* firmware file information */
+   unsigned long addr; /* firmware file in-memory address */
+   struct list_head list;  /* list node to link to fw_list */
 };
 
 struct fw_cfg_dma_access {
-- 
1.9.1

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


[U-Boot] [PATCH v3 4/4] x86: config option for loading ACPI table from QEMU

2016-01-20 Thread Miao Yan
This patch adds a config option for loading ACPI table from QEMU. When enabled,
U-Boot won't generate ACPI tables, but use those provided by QEMU.

Signed-off-by: Miao Yan 
Reviewed-by: Bin Meng 
Tested-by: Bin Meng 
---
Changes in v3:
  - fix a build error
  - make it [PATCH 4/4]

 arch/x86/Kconfig | 9 +
 1 file changed, 9 insertions(+)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index f07567c..a995e32 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -358,6 +358,15 @@ config GENERATE_ACPI_TABLE
  by the operating system. It defines platform-independent interfaces
  for configuration and power management monitoring.
 
+config QEMU_ACPI_TABLE
+   bool "Load ACPI table from QEMU fw_cfg interface"
+   depends on GENERATE_ACPI_TABLE && QEMU
+   default y
+   help
+ By default, U-Boot generates its own ACPI tables. This option, if
+ enabled, disables U-Boot's version and loads ACPI tables generated
+ by QEMU.
+
 config GENERATE_SMBIOS_TABLE
bool "Generate an SMBIOS (System Management BIOS) table"
default y
-- 
1.9.1

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


[U-Boot] [PATCH v3 2/4] x86: qemu: setup PM IO base for ACPI in southbridge

2016-01-20 Thread Miao Yan
Enable ACPI IO space for piix4 (for pc board) and ich9 (for q35 board)

Signed-off-by: Miao Yan 
Reviewed-by: Bin Meng 
Tested-by: Bin Meng 
---
 arch/x86/cpu/qemu/Kconfig   |  7 +++
 arch/x86/cpu/qemu/qemu.c| 29 +
 arch/x86/include/asm/arch-qemu/device.h |  2 ++
 arch/x86/include/asm/arch-qemu/qemu.h   |  5 +
 4 files changed, 43 insertions(+)

diff --git a/arch/x86/cpu/qemu/Kconfig b/arch/x86/cpu/qemu/Kconfig
index 4f98621..6808c9a 100644
--- a/arch/x86/cpu/qemu/Kconfig
+++ b/arch/x86/cpu/qemu/Kconfig
@@ -17,4 +17,11 @@ config SYS_CAR_SIZE
hex
default 0x1
 
+config ACPI_PM1_BASE
+   hex
+   default 0xe400
+   help
+ ACPI Power Managment 1 (PM1) i/o-mapped base address.
+ This device is defined in ACPI specification, with 16 bytes in size.
+
 endif
diff --git a/arch/x86/cpu/qemu/qemu.c b/arch/x86/cpu/qemu/qemu.c
index 46111c9..b794cfe 100644
--- a/arch/x86/cpu/qemu/qemu.c
+++ b/arch/x86/cpu/qemu/qemu.c
@@ -15,6 +15,31 @@
 
 static bool i440fx;
 
+static void enable_pm_piix(void)
+{
+   u8 en;
+   u16 cmd;
+
+   /* Set the PM I/O base */
+   x86_pci_write_config32(PIIX_PM, PMBA, CONFIG_ACPI_PM1_BASE | 1);
+
+   /* Enable access to the PM I/O space */
+   cmd = x86_pci_read_config16(PIIX_PM, PCI_COMMAND);
+   cmd |= PCI_COMMAND_IO;
+   x86_pci_write_config16(PIIX_PM, PCI_COMMAND, cmd);
+
+   /* PM I/O Space Enable (PMIOSE) */
+   en = x86_pci_read_config8(PIIX_PM, PMREGMISC);
+   en |= PMIOSE;
+   x86_pci_write_config8(PIIX_PM, PMREGMISC, en);
+}
+
+static void enable_pm_ich9(void)
+{
+   /* Set the PM I/O base */
+   x86_pci_write_config32(ICH9_PM, PMBA, CONFIG_ACPI_PM1_BASE | 1);
+}
+
 static void qemu_chipset_init(void)
 {
u16 device, xbcs;
@@ -53,10 +78,14 @@ static void qemu_chipset_init(void)
xbcs = x86_pci_read_config16(PIIX_ISA, XBCS);
xbcs |= APIC_EN;
x86_pci_write_config16(PIIX_ISA, XBCS, xbcs);
+
+   enable_pm_piix();
} else {
/* Configure PCIe ECAM base address */
x86_pci_write_config32(PCI_BDF(0, 0, 0), PCIEX_BAR,
   CONFIG_PCIE_ECAM_BASE | BAR_EN);
+
+   enable_pm_ich9();
}
 
qemu_fwcfg_init();
diff --git a/arch/x86/include/asm/arch-qemu/device.h 
b/arch/x86/include/asm/arch-qemu/device.h
index 75a435e..38ab798 100644
--- a/arch/x86/include/asm/arch-qemu/device.h
+++ b/arch/x86/include/asm/arch-qemu/device.h
@@ -13,6 +13,8 @@
 #define PIIX_ISA   PCI_BDF(0, 1, 0)
 #define PIIX_IDE   PCI_BDF(0, 1, 1)
 #define PIIX_USB   PCI_BDF(0, 1, 2)
+#define PIIX_PMPCI_BDF(0, 1, 3)
+#define ICH9_PMPCI_BDF(0, 0x1f, 0)
 #define I440FX_VGA PCI_BDF(0, 2, 0)
 
 #define QEMU_Q35   PCI_BDF(0, 0, 0)
diff --git a/arch/x86/include/asm/arch-qemu/qemu.h 
b/arch/x86/include/asm/arch-qemu/qemu.h
index b67d342..a85eee8 100644
--- a/arch/x86/include/asm/arch-qemu/qemu.h
+++ b/arch/x86/include/asm/arch-qemu/qemu.h
@@ -33,4 +33,9 @@
 #define LOW_RAM_ADDR   0x34
 #define HIGH_RAM_ADDR  0x35
 
+/* PM registers */
+#define PMBA   0x40
+#define PMREGMISC  0x80
+#define PMIOSE (1 << 0)
+
 #endif /* _ARCH_QEMU_H_ */
-- 
1.9.1

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


[U-Boot] [PATCH v3 0/4] add support for loading ACPI tables from QEMU

2016-01-20 Thread Miao Yan
Currently, if CONFIG_GENERATE_ACPI_TABLE is defined, U-Boot will generate ACPI
tables itlself, this patchset adds the ability to load the ACPI tables generated
by QEMU.

Changes in v3:
  - fix a build error in patch 3/4
  - re-order patch 3/4 and patch 4/4 in v2

Changes in v2:
  - Drop [PATCH 4/4] x86: qemu: loading ACPI table from QEMU, add a config 
option
CONFIG_QEMU_ACPI_TABLE
  - various cleanups

Miao Yan (4):
  x86: qemu: re-structure qemu_fwcfg_list_firmware()
  x86: qemu: setup PM IO base for ACPI in southbridge
  x86: qemu: add the ability to load and link ACPI tables from QEMU
  x86: config option for loading ACPI table from QEMU

 arch/x86/Kconfig|   9 +
 arch/x86/cpu/qemu/Kconfig   |   7 +
 arch/x86/cpu/qemu/Makefile  |   2 +
 arch/x86/cpu/qemu/fw_cfg.c  | 316 ++--
 arch/x86/cpu/qemu/qemu.c|  29 +++
 arch/x86/include/asm/arch-qemu/device.h |   2 +
 arch/x86/include/asm/arch-qemu/qemu.h   |   5 +
 arch/x86/include/asm/fw_cfg.h   |  70 ++-
 arch/x86/lib/Makefile   |   2 +
 arch/x86/lib/acpi_table.c   |   4 +
 10 files changed, 429 insertions(+), 17 deletions(-)

-- 
1.9.1

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


[U-Boot] [PATCH v3 3/4] x86: qemu: add the ability to load and link ACPI tables from QEMU

2016-01-20 Thread Miao Yan
This patch adds the ability to load and link ACPI tables provided by QEMU.
QEMU tells guests how to load and patch ACPI tables through its fw_cfg
interface, by adding a firmware file 'etc/table-loader'. Guests are
supposed to parse this file and execute corresponding QEMU commands.

Signed-off-by: Miao Yan 
Reviewed-by: Bin Meng 
Tested-by: Bin Meng 
---
Change in v3:
  - fix a build error
  - make it [PATCH 3/4]

 arch/x86/cpu/qemu/Makefile|   2 +
 arch/x86/cpu/qemu/fw_cfg.c| 253 ++
 arch/x86/include/asm/fw_cfg.h |  61 ++
 arch/x86/lib/Makefile |   2 +
 arch/x86/lib/acpi_table.c |   4 +
 5 files changed, 322 insertions(+)

diff --git a/arch/x86/cpu/qemu/Makefile b/arch/x86/cpu/qemu/Makefile
index 176ea54..801413a 100644
--- a/arch/x86/cpu/qemu/Makefile
+++ b/arch/x86/cpu/qemu/Makefile
@@ -8,4 +8,6 @@ ifndef CONFIG_EFI_STUB
 obj-y += car.o dram.o
 endif
 obj-y += cpu.o fw_cfg.o qemu.o
+ifndef CONFIG_QEMU_ACPI_TABLE
 obj-$(CONFIG_GENERATE_ACPI_TABLE) += acpi.o dsdt.o
+endif
diff --git a/arch/x86/cpu/qemu/fw_cfg.c b/arch/x86/cpu/qemu/fw_cfg.c
index bcd34af..5ea7a6e 100644
--- a/arch/x86/cpu/qemu/fw_cfg.c
+++ b/arch/x86/cpu/qemu/fw_cfg.c
@@ -10,7 +10,10 @@
 #include 
 #include 
 #include 
+#include 
+#include 
 #include 
+#include 
 
 static bool fwcfg_present;
 static bool fwcfg_dma_present;
@@ -204,6 +207,256 @@ err:
return -ENOMEM;
 }
 
+#ifdef CONFIG_QEMU_ACPI_TABLE
+static struct fw_file *qemu_fwcfg_find_file(const char *name)
+{
+   struct list_head *entry;
+   struct fw_file *file;
+
+   list_for_each(entry, &fw_list) {
+   file = list_entry(entry, struct fw_file, list);
+   if (!strcmp(file->cfg.name, name))
+   return file;
+   }
+
+   return NULL;
+}
+
+/*
+ * This function allocates memory for ACPI tables
+ *
+ * @entry : BIOS linker command entry which tells where to allocate memory
+ *  (either high memory or low memory)
+ * @addr  : The address that should be used for low memory allcation. If the
+ *  memory allocation request is 'ZONE_HIGH' then this parameter will
+ *  be ignored.
+ * @return: 0 on success, or negative value on failure
+ */
+static int bios_linker_allocate(struct bios_linker_entry *entry,
+  unsigned long *addr)
+{
+   uint32_t size, align;
+   struct fw_file *file;
+   unsigned long aligned_addr;
+
+   align = le32_to_cpu(entry->alloc.align);
+   /* align must be power of 2 */
+   if (align & (align - 1)) {
+   printf("error: wrong alignment %u\n", align);
+   return -EINVAL;
+   }
+
+   file = qemu_fwcfg_find_file(entry->alloc.file);
+   if (!file) {
+   printf("error: can't find file %s\n", entry->alloc.file);
+   return -ENOENT;
+   }
+
+   size = be32_to_cpu(file->cfg.size);
+
+   /*
+* ZONE_HIGH means we need to allocate from high memory, since
+* malloc space is already at the end of RAM, so we directly use it.
+* If allocation zone is ZONE_FSEG, then we use the 'addr' passed
+* in which is low memory
+*/
+   if (entry->alloc.zone == BIOS_LINKER_LOADER_ALLOC_ZONE_HIGH) {
+   aligned_addr = (unsigned long)memalign(align, size);
+   if (!aligned_addr) {
+   printf("error: allocating resource\n");
+   return -ENOMEM;
+   }
+   } else if (entry->alloc.zone == BIOS_LINKER_LOADER_ALLOC_ZONE_FSEG) {
+   aligned_addr = ALIGN(*addr, align);
+   } else {
+   printf("error: invalid allocation zone\n");
+   return -EINVAL;
+   }
+
+   debug("bios_linker_allocate: allocate file %s, size %u, zone %d, align 
%u, addr 0x%lx\n",
+ file->cfg.name, size, entry->alloc.zone, align, aligned_addr);
+
+   qemu_fwcfg_read_entry(be16_to_cpu(file->cfg.select),
+ size, (void *)aligned_addr);
+   file->addr = aligned_addr;
+
+   /* adjust address for low memory allocation */
+   if (entry->alloc.zone == BIOS_LINKER_LOADER_ALLOC_ZONE_FSEG)
+   *addr = (aligned_addr + size);
+
+   return 0;
+}
+
+/*
+ * This function patches ACPI tables previously loaded
+ * by bios_linker_allocate()
+ *
+ * @entry : BIOS linker command entry which tells how to patch
+ *  ACPI tables
+ * @return: 0 on success, or negative value on failure
+ */
+static int bios_linker_add_pointer(struct bios_linker_entry *entry)
+{
+   struct fw_file *dest, *src;
+   uint32_t offset = le32_to_cpu(entry->pointer.offset);
+   uint64_t pointer = 0;
+
+   dest = qemu_fwcfg_find_file(entry->pointer.dest_file);
+   if (!dest || !dest->addr)
+   return -ENOENT;
+   src = qemu_fwcfg_find_file(entry->pointer.src_file);
+   if (!src || !src->addr)
+   return -ENOENT;

[U-Boot] [PATCH] wandboard: fix variable name so PXE boot works

2016-01-20 Thread Peter Robinson
All boards that support PXE booting use the pxefile_addr_r variable. Standardise
wandboard with this variable as pxe_addr_r isn't used anywhere else so it's a
typo.

Signed-off-by: Peter Robinson 
---
 include/configs/wandboard.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/configs/wandboard.h b/include/configs/wandboard.h
index 4c8e9e9..8fb0abc 100644
--- a/include/configs/wandboard.h
+++ b/include/configs/wandboard.h
@@ -150,7 +150,7 @@
"if test $fdtfile = undefined; then " \
"echo WARNING: Could not determine dtb to use; fi; \0" \
"kernel_addr_r=" __stringify(CONFIG_LOADADDR) "\0" \
-   "pxe_addr_r=" __stringify(CONFIG_LOADADDR) "\0" \
+   "pxefile_addr_r=" __stringify(CONFIG_LOADADDR) "\0" \
"ramdisk_addr_r=0x1300\0" \
"ramdiskaddr=0x1300\0" \
"scriptaddr=" __stringify(CONFIG_LOADADDR) "\0" \
-- 
2.5.0

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


Re: [U-Boot] [PATCH] wandboard: fix variable name so PXE boot works

2016-01-20 Thread Fabio Estevam
On Wed, Jan 20, 2016 at 8:00 AM, Peter Robinson  wrote:
> All boards that support PXE booting use the pxefile_addr_r variable. 
> Standardise
> wandboard with this variable as pxe_addr_r isn't used anywhere else so it's a
> typo.
>
> Signed-off-by: Peter Robinson 

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


Re: [U-Boot] Chain-loading u-boot stopped working between 2016.01-rc1 and 2016.01-rc4

2016-01-20 Thread Pavel Machek
Hi!

> I'm loading u-boot using tftp from u-boot 2013.01. Marek will claim
> that this configuration is unsupported, but it enables fairly quick
> development and was very useful for me in past.
> 
> Unfortunately, it stopped working between 2016.01-rc1 and -rc4. Before
> I start bisecting it, I wanted to ask if someone has idea what might
> be responsible?

When I merge 1c84cc6e3badb31e55bdf05ff2d3f8f058a5da47, I get:

U-Boot 2016.01-rc2-01393-gc28dfb5 (Jan 20 2016 - 10:42:36 +0100)

CPU:   Altera SoCFPGA Platform
FPGA:  Altera Cyclone V, SE/A6 or SX/C6 or ST/D6, version 0x0
BOOT:  SD/MMC External Transceiver (1.8V)
   Watchdog enabled
   I2C:   ready
   DRAM:  1 GiB
   Error binding driver 'socfpga_dwmmc'
   Some drivers failed to bind
   Error binding driver 'generic_simple_bus'
   Some drivers failed to bind
   initcall sequence 3ffb10a4 failed at call 01003257 (err=-96)
   ### ERROR ### Please RESET the board ###


(But that's not failure I was looking for).

Commit 0c890879fe2a5731df7aee3dd38e455008fa9977 worked ok.

Commit 8e535af2e441030f5e4b940a3756a0d92646b5fe breaks compilation
(previous one worked ok in my config).

  LD  lib/built-in.o
LD  u-boot
board/altera/cyclone5-socdk/built-in.o: In function
`g_dnl_board_usb_cable_connected':
/home/pavel/amp/u-boot/board/altera/cyclone5-socdk/socfpga.c:25:
multiple definition of `board_init'
arch/arm/mach-socfpga/built-in.o::(.text.board_init+0x0): first
defined here
board/altera/cyclone5-socdk/built-in.o: In function `s_init':
/home/pavel/amp/u-boot/board/altera/cyclone5-socdk/socfpga.c:17:
multiple definition of `s_init'
...

Disabling "CONFIG_USB" fixes compilation for me, and can get back to
u-boot that starts but then pritns "initcall sequence 3ffb1300 failed
at call 01003263 (err=-96)".

Commit 07806977878130dd27dfc926ef7002041f6cf288 seems to break
compilation again (previous one worked), with:

drivers/usb/host/dwc2.c: In function 'usb_lowlevel_init':
drivers/usb/host/dwc2.c:1027:40: error: 'CONFIG_USB_DWC2_REG_ADDR'
undeclared (first use in this function)
  priv->regs = (struct dwc2_core_regs *)CONFIG_USB_DWC2_REG_ADDR;
  ^
 drivers/usb/host/dwc2.c:1027:40: note: each undeclared identifier is
 reported only once for each function it appears in

I'm able to get it back to compile when I rip out complete USB
support.

I have merged 68909e823eb4074a7e559e0c03d16533813c86cf, and now it
fails to boot at all.

While bisecting, this commit jumped to my attention:

commit 574967c241301b924748ce205f29f494e32967fe
Author: Marek Vasut 
Date:   Tue Dec 22 04:16:01 2015 +0100

arm: socfpga: Enable simple bus in SPL on all boards

The simple bus support must be enabled in SPL, otherwise the
boards will not be able to parse the DT and will fail to boot.

Signed-off-by: Marek Vasut 
Cc: Dinh Nguyen 

That's probably is biting me. Any idea which commit introduced this
"U-Boot proper needs U-Boot-SPL to have CONFIG_SPL_SIMPLE_BUS=y
dependency?

Thanks,
Pavel 
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) 
http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] Chain-loading u-boot stopped working between 2016.01-rc1 and 2016.01-rc4

2016-01-20 Thread Pavel Machek
Hi!

> On 20.01.2016 10:31, Pavel Machek wrote:
> >I'm loading u-boot using tftp from u-boot 2013.01. Marek will claim
> >that this configuration is unsupported, but it enables fairly quick
> >development and was very useful for me in past.
> 
> Yes, I use this chainloading also quite frequently on some platforms.
> It should generally work on platforms with SPL support. Where the
> preloader / SPL / BootROM has initialized the base HW and the SDRAM.
> So that the U-Boot proper can get loaded into SDRAM. So it should
> also work on SoCFPGA. I have to admit, that I haven't tested it
> lately on SoCFPGA though.
> 
> >Unfortunately, it stopped working between 2016.01-rc1 and -rc4. Before
> >I start bisecting it, I wanted to ask if someone has idea what might
> >be responsible?
> 
> As mentioned above, I've not tested on this platform lately, sorry.
> But I assume that you also test the latest release version, yes?
> And current master as well. Also failing there?

I have not got to current master. I retested 2016.01 now, and used
config not based on my previous one, but based on defconfig, and it
seems to work.

Thanks,
Pavel
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) 
http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH 1/8] board: ti: ks2_evm: remove board_eth_init when CONFIG_DM_ETH is defined

2016-01-20 Thread Mugunthan V N
remove board_eth_init when CONFIG_DM_ETH is defined

Signed-off-by: Mugunthan V N 
---
 board/ti/ks2_evm/board.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/board/ti/ks2_evm/board.c b/board/ti/ks2_evm/board.c
index 73d94a6..7d1709c 100644
--- a/board/ti/ks2_evm/board.c
+++ b/board/ti/ks2_evm/board.c
@@ -56,6 +56,7 @@ int board_init(void)
 }
 
 #ifdef CONFIG_DRIVER_TI_KEYSTONE_NET
+#ifndef CONFIG_DM_ETH
 int get_eth_env_param(char *env_name)
 {
char *env;
@@ -105,6 +106,7 @@ int board_eth_init(bd_t *bis)
return 0;
 }
 #endif
+#endif
 
 #ifdef CONFIG_SPL_BUILD
 void spl_board_init(void)
-- 
2.7.0.rc3

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


[U-Boot] [PATCH 0/8] driver model bring-up of keystone net on k2hk, k2l, k2e and k2g evm

2016-01-20 Thread Mugunthan V N
This patch series enables keystone net to adopt driver model. This
has been tested on the following evms (logs [1]) by tftp zImage
from server.
* k2hk evm
* k2l evm
* k2e evm
* k2g evm

Also pushed a branch for testing [2]

[1] - http://pastebin.ubuntu.com/14581762/
[2] - git://git.ti.com/~mugunthanvnm/ti-u-boot/mugunth-ti-u-boot.git 
dm-keystone-net

Mugunthan V N (8):
  board: ti: ks2_evm: remove board_eth_init when CONFIG_DM_ETH is
defined
  drivers: net: phy: micrel: fix build errors with CONFIG_DM_ETH
  drivers: net: keystone_net: convert driver to adopt device driver
model
  defconfig: k2hk_evm_defconfig: enable net driver model
  defconfig: k2l_evm_defconfig: enable net driver model
  defconfig: k2e_evm_defconfig: enable net driver model
  ARM: dts: k2g: Add keystone net dts files
  defconfig: k2g_evm_defconfig: enable net driver model

 arch/arm/dts/k2g-evm.dts|  12 ++
 arch/arm/dts/k2g-netcp.dtsi | 151 
 arch/arm/dts/k2g.dtsi   |  13 ++
 board/ti/ks2_evm/board.c|   2 +
 configs/k2e_evm_defconfig   |   1 +
 configs/k2g_evm_defconfig   |   1 +
 configs/k2hk_evm_defconfig  |   1 +
 configs/k2l_evm_defconfig   |   1 +
 drivers/net/keystone_net.c  | 418 +++-
 drivers/net/phy/micrel.c|   6 +-
 10 files changed, 562 insertions(+), 44 deletions(-)
 create mode 100644 arch/arm/dts/k2g-netcp.dtsi

-- 
2.7.0.rc3

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


[U-Boot] [PATCH 2/8] drivers: net: phy: micrel: fix build errors with CONFIG_DM_ETH

2016-01-20 Thread Mugunthan V N
When Micrel phy is selected without CONFIG_PHY_MICREL_KSZ9031 or
CONFIG_PHY_MICREL_KSZ9021 there  is a build warning. Fixing this
by adding proper ifdefs

drivers/net/phy/micrel.c:370:39: error: array type has incomplete element type
 static const struct ksz90x1_reg_field ksz9031_ctl_grp[] =
   ^
drivers/net/phy/micrel.c:372:39: error: array type has incomplete element type
 static const struct ksz90x1_reg_field ksz9031_clk_grp[] =
   ^
drivers/net/phy/micrel.c: In function ‘ksz9031_of_config’:
drivers/net/phy/micrel.c:377:23: error: array type has incomplete element type
  struct ksz90x1_ofcfg ofcfg[] = {
   ^
drivers/net/phy/micrel.c:379:13: error: ‘ksz90x1_rxd_grp’ undeclared (first use 
in this function)
   { MII_KSZ9031_EXT_RGMII_RX_DATA_SKEW, 2, ksz90x1_rxd_grp, 4 },
 ^
drivers/net/phy/micrel.c:379:13: note: each undeclared identifier is reported 
only once for each function it appears in
drivers/net/phy/micrel.c:380:13: error: ‘ksz90x1_txd_grp’ undeclared (first use 
in this function)
   { MII_KSZ9031_EXT_RGMII_TX_DATA_SKEW, 2, ksz90x1_txd_grp, 4 },
 ^
drivers/net/phy/micrel.c:386:3: warning: implicit declaration of function 
‘ksz90x1_of_config_group’ [-Wimplicit-function-declaration]
   ret = ksz90x1_of_config_group(phydev, &(ofcfg[i]));
   ^
drivers/net/phy/micrel.c:377:23: warning: unused variable ‘ofcfg’ 
[-Wunused-variable]
  struct ksz90x1_ofcfg ofcfg[] = {
   ^
drivers/net/phy/micrel.c: At top level:
drivers/net/phy/micrel.c:370:39: warning: ‘ksz9031_ctl_grp’ defined but not 
used [-Wunused-variable]
 static const struct ksz90x1_reg_field ksz9031_ctl_grp[] =
   ^
drivers/net/phy/micrel.c:372:39: warning: ‘ksz9031_clk_grp’ defined but not 
used [-Wunused-variable]
 static const struct ksz90x1_reg_field ksz9031_clk_grp[] =
   ^
scripts/Makefile.build:277: recipe for target 'drivers/net/phy/micrel.o' failed
make[1]: *** [drivers/net/phy/micrel.o] Error 1
Makefile:1201: recipe for target 'drivers/net/phy' failed
make: *** [drivers/net/phy] Error 2
make: *** Waiting for unfinished jobs

Signed-off-by: Mugunthan V N 
---
 drivers/net/phy/micrel.c | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c
index 19b6bc7..73ed42a 100644
--- a/drivers/net/phy/micrel.c
+++ b/drivers/net/phy/micrel.c
@@ -260,7 +260,8 @@ static int ksz90x1_of_config_group(struct phy_device 
*phydev,
 #define CTRL1000_CONFIG_MASTER (1 << 11)
 #define CTRL1000_MANUAL_CONFIG (1 << 12)
 
-#ifdef CONFIG_DM_ETH
+#if defined(CONFIG_DM_ETH) && (defined(CONFIG_PHY_MICREL_KSZ9021) || \
+  defined(CONFIG_PHY_MICREL_KSZ9031))
 static const struct ksz90x1_reg_field ksz9021_clk_grp[] = {
{ "txen-skew-ps", 4, 0, 0x7 }, { "txc-skew-ps", 4, 4, 0x7 },
{ "rxdv-skew-ps", 4, 8, 0x7 }, { "rxc-skew-ps", 4, 12, 0x7 },
@@ -366,7 +367,8 @@ static struct phy_driver ksz9021_driver = {
 #define MII_KSZ9031_MMD_ACCES_CTRL 0x0d
 #define MII_KSZ9031_MMD_REG_DATA   0x0e
 
-#ifdef CONFIG_DM_ETH
+#if defined(CONFIG_DM_ETH) && (defined(CONFIG_PHY_MICREL_KSZ9021) || \
+  defined(CONFIG_PHY_MICREL_KSZ9031))
 static const struct ksz90x1_reg_field ksz9031_ctl_grp[] =
{ { "txen-skew-ps", 4, 0, 0x7 }, { "rxdv-skew-ps", 4, 4, 0x7 } };
 static const struct ksz90x1_reg_field ksz9031_clk_grp[] =
-- 
2.7.0.rc3

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


[U-Boot] [PATCH 4/8] defconfig: k2hk_evm_defconfig: enable net driver model

2016-01-20 Thread Mugunthan V N
enable net driver model for k2hk evm as keystone_net supports
driver model

Signed-off-by: Mugunthan V N 
---
 configs/k2hk_evm_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/configs/k2hk_evm_defconfig b/configs/k2hk_evm_defconfig
index 940d483..f49d820 100644
--- a/configs/k2hk_evm_defconfig
+++ b/configs/k2hk_evm_defconfig
@@ -13,3 +13,4 @@ CONFIG_DM=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_SYS_NS16550=y
+CONFIG_DM_ETH=y
-- 
2.7.0.rc3

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


[U-Boot] [PATCH 5/8] defconfig: k2l_evm_defconfig: enable net driver model

2016-01-20 Thread Mugunthan V N
enable net driver model for k2l evm as keystone_net supports
driver model

Signed-off-by: Mugunthan V N 
---
 configs/k2l_evm_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/configs/k2l_evm_defconfig b/configs/k2l_evm_defconfig
index 1b21ed0..6f5ac18 100644
--- a/configs/k2l_evm_defconfig
+++ b/configs/k2l_evm_defconfig
@@ -13,3 +13,4 @@ CONFIG_DM=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_SYS_NS16550=y
+CONFIG_DM_ETH=y
-- 
2.7.0.rc3

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


[U-Boot] [PATCH 7/8] ARM: dts: k2g: Add keystone net dts files

2016-01-20 Thread Mugunthan V N
Add keystone net DT support for k2g evm.

Signed-off-by: Mugunthan V N 
---
 arch/arm/dts/k2g-evm.dts|  12 
 arch/arm/dts/k2g-netcp.dtsi | 151 
 arch/arm/dts/k2g.dtsi   |  13 
 3 files changed, 176 insertions(+)
 create mode 100644 arch/arm/dts/k2g-netcp.dtsi

diff --git a/arch/arm/dts/k2g-evm.dts b/arch/arm/dts/k2g-evm.dts
index de50e8f..0ca36ef 100644
--- a/arch/arm/dts/k2g-evm.dts
+++ b/arch/arm/dts/k2g-evm.dts
@@ -19,3 +19,15 @@
stdout-path = &uart0;
};
 };
+
+&mdio {
+   status = "okay";
+   ethphy0: ethernet-phy@0 {
+   reg = <0>;
+   phy-mode = "rgmii-id";
+   };
+};
+
+&gbe0 {
+   phy-handle = <ðphy0>;
+};
diff --git a/arch/arm/dts/k2g-netcp.dtsi b/arch/arm/dts/k2g-netcp.dtsi
new file mode 100644
index 000..6f0ff86
--- /dev/null
+++ b/arch/arm/dts/k2g-netcp.dtsi
@@ -0,0 +1,151 @@
+/*
+ * Device Tree Source for Keystone 2 Galileo Netcp driver
+ *
+ * Copyright 2015 Texas Instruments, Inc.
+ *
+ * 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
+ * published by the Free Software Foundation.
+ */
+
+qmss: qmss@402 {
+   compatible = "ti,keystone-navigator-qmss-l";
+   dma-coherent;
+   #address-cells = <1>;
+   #size-cells = <1>;
+   /* power-domains = <&k2g_pds K2G_DEV_NSS0>; */
+   /* clocks = <&k2g_clks K2G_DEV_NSS0 K2G_DEV_NSS_VCLK>; */
+   clock-names = "nss_vclk";
+   ranges;
+   queue-range = <0 0x80>;
+   linkram0= <0x402 0x7ff>;
+
+   qmgrs {
+   #address-cells = <1>;
+   #size-cells = <1>;
+   ranges;
+   qmgr0 {
+   managed-queues = <0 0x80>;
+   reg = <0x410 0x800>,
+ <0x404 0x100>,
+ <0x408 0x800>,
+ <0x40c 0x800>;
+   reg-names = "peek", "config",
+   "region", "push";
+   };
+
+   };
+   queue-pools {
+   qpend {
+   qpend-0 {
+   qrange = <77 8>;
+   interrupts =<0 308 0xf04 0 309 0xf04 0 310 0xf04
+0 311 0xf04 0 312 0xf04 0 313 0xf04
+0 314 0xf04 0 315 0xf04>;
+   qalloc-by-id;
+   };
+   };
+   general-purpose {
+   gp-0 {
+   qrange = <112 8>;
+   };
+   netcp-tx {
+   qrange = <5 8>;
+   qalloc-by-id;
+   };
+   };
+   };
+
+   descriptor-regions {
+   #address-cells = <1>;
+   #size-cells = <1>;
+   ranges;
+   region-12 {
+   id = <12>;
+   region-spec = <1023 128>; /* num_desc desc_size */
+   link-index = <0x400>;
+   };
+   };
+}; /* qmss */
+
+knav_dmas: knav_dmas@0 {
+   compatible = "ti,keystone-navigator-dma";
+   #address-cells = <1>;
+   #size-cells = <1>;
+   /* power-domains = <&k2g_pds K2G_DEV_NSS0>; */
+   /* clocks = <&k2g_clks K2G_DEV_NSS0 K2G_DEV_NSS_VCLK>; */
+   clock-names = "nss_vclk";
+   ranges;
+   ti,navigator-cloud-address = <0x40c 0x40c 0x40c 0x40c>;
+
+   dma_gbe: dma_gbe@0 {
+   reg = <0x401 0x100>,
+ <0x4011000 0x2a0>, /* 21 Tx channels */
+ <0x4012000 0x400>, /* 32 Rx channels */
+ <0x4010100 0x80>,
+ <0x4013000 0x400>; /* 32 Rx flows */
+   reg-names = "global", "txchan", "rxchan",
+   "txsched", "rxflow";
+   };
+
+};
+
+gbe_subsys: subsys@420 {
+   compatible = "syscon";
+   reg = <0x420 0x100>;
+};
+
+netcp: netcp@400 {
+   reg = <0x2620110 0x8>;
+   reg-names = "efuse";
+   compatible = "ti,netcp-1.0";
+   #address-cells = <1>;
+   #size-cells = <1>;
+   /* power-domains = <&k2g_pds K2G_DEV_NSS0>; */
+   /* clocks = <&k2g_clks K2G_DEV_NSS0 K2G_DEV_NSS_ESW_CLK>; */
+   clock-names = "ethss_clk";
+
+   /* NetCP address range */
+   ranges = <0 0x400 0x100>;
+
+   dma-coherent;
+
+   ti,navigator-dmas = <&dma_gbe 0>, <&dma_gbe 5>;
+   ti,navigator-dma-names = "netrx0", "nettx";
+
+   netcp-devices {
+   #address-cells = <1>;
+   #size-cells = <1>;
+   ranges;
+   gbe@20 {
+   label = "netcp-gbe";
+

[U-Boot] [PATCH 3/8] drivers: net: keystone_net: convert driver to adopt device driver model

2016-01-20 Thread Mugunthan V N
Adopt keystone_net driver to adopt device driver model

Signed-off-by: Mugunthan V N 
---
 drivers/net/keystone_net.c | 418 -
 1 file changed, 376 insertions(+), 42 deletions(-)

diff --git a/drivers/net/keystone_net.c b/drivers/net/keystone_net.c
index 209fae9..21ebaeb 100644
--- a/drivers/net/keystone_net.c
+++ b/drivers/net/keystone_net.c
@@ -10,6 +10,8 @@
 #include 
 #include 
 
+#include 
+
 #include 
 #include 
 #include 
@@ -18,10 +20,15 @@
 #include 
 #include 
 #include 
+#include 
+
+DECLARE_GLOBAL_DATA_PTR;
 
+#ifndef CONFIG_DM_ETH
 unsigned int emac_open;
 static struct mii_dev *mdio_bus;
 static unsigned int sys_has_mdio = 1;
+#endif
 
 #ifdef KEYSTONE2_EMAC_GIG_ENABLE
 #define emac_gigabit_enable(x) keystone2_eth_gigabit_enable(x)
@@ -36,40 +43,44 @@ static unsigned int sys_has_mdio = 1;
 
 static u8 rx_buffs[RX_BUFF_NUMS * RX_BUFF_LEN] __aligned(16);
 
+#ifndef CONFIG_DM_ETH
 struct rx_buff_desc net_rx_buffs = {
.buff_ptr   = rx_buffs,
.num_buffs  = RX_BUFF_NUMS,
.buff_len   = RX_BUFF_LEN,
.rx_flow= 22,
 };
-
-#ifndef CONFIG_SOC_K2G
-static void keystone2_net_serdes_setup(void);
 #endif
 
-int keystone2_eth_read_mac_addr(struct eth_device *dev)
-{
-   struct eth_priv_t *eth_priv;
-   u32 maca = 0;
-   u32 macb = 0;
-
-   eth_priv = (struct eth_priv_t *)dev->priv;
+#ifdef CONFIG_DM_ETH
 
-   /* Read the e-fuse mac address */
-   if (eth_priv->slave_port == 1) {
-   maca = __raw_readl(MAC_ID_BASE_ADDR);
-   macb = __raw_readl(MAC_ID_BASE_ADDR + 4);
-   }
-
-   dev->enetaddr[0] = (macb >>  8) & 0xff;
-   dev->enetaddr[1] = (macb >>  0) & 0xff;
-   dev->enetaddr[2] = (maca >> 24) & 0xff;
-   dev->enetaddr[3] = (maca >> 16) & 0xff;
-   dev->enetaddr[4] = (maca >>  8) & 0xff;
-   dev->enetaddr[5] = (maca >>  0) & 0xff;
+enum link_type {
+   LINK_TYPE_MAC_TO_MAC_AUTO = 0,
+   LINK_TYPE_MAC_TO_PHY_MODE = 1,
+   LINK_TYPE_MAC_TO_MAC_FORCED_MODE = 2,
+   LINK_TYPE_MAC_TO_FIBRE_MODE = 3,
+   LINK_TYPE_MAC_TO_PHY_NO_MDIO_MODE = 4,
+   LINK_TYPE_10G_MAC_TO_PHY_MODE = 10,
+   LINK_TYPE_10G_MAC_TO_MAC_FORCED_MODE = 11,
+};
 
-   return 0;
-}
+struct ks2_eth_priv {
+   struct udevice  *dev;
+   struct phy_device   *phydev;
+   struct mii_dev  *mdio_bus;
+   int phy_addr;
+   phy_interface_t phy_if;
+   int sgmii_link_type;
+   void*mdio_base;
+   struct rx_buff_desc net_rx_buffs;
+   struct pktdma_cfg   *netcp_pktdma;
+   void*hd;
+   int slave_port;
+   enum link_type  link_type;
+   boolemac_open;
+   boolhas_mdio;
+};
+#endif
 
 /* MDIO */
 
@@ -140,6 +151,7 @@ static int keystone2_mdio_write(struct mii_dev *bus,
return 0;
 }
 
+#ifndef CONFIG_DM_ETH
 static void  __attribute__((unused))
keystone2_eth_gigabit_enable(struct eth_device *dev)
 {
@@ -163,6 +175,31 @@ static void  __attribute__((unused))
   EMAC_MACCONTROL_GIGFORCE | EMAC_MACCONTROL_GIGABIT_ENABLE,
   DEVICE_EMACSL_BASE(eth_priv->slave_port - 1) + CPGMACSL_REG_CTL);
 }
+#else
+static void  __attribute__((unused))
+   keystone2_eth_gigabit_enable(struct udevice *dev)
+{
+   struct ks2_eth_priv *priv = dev_get_priv(dev);
+   u_int16_t data;
+
+   if (priv->has_mdio) {
+   data = keystone2_mdio_read(priv->mdio_bus, priv->phy_addr,
+  MDIO_DEVAD_NONE, 0);
+   /* speed selection MSB */
+   if (!(data & (1 << 6)))
+   return;
+   }
+
+   /*
+* Check if link detected is giga-bit
+* If Gigabit mode detected, enable gigbit in MAC
+*/
+   writel(readl(DEVICE_EMACSL_BASE(priv->slave_port - 1) +
+CPGMACSL_REG_CTL) |
+  EMAC_MACCONTROL_GIGFORCE | EMAC_MACCONTROL_GIGABIT_ENABLE,
+  DEVICE_EMACSL_BASE(priv->slave_port - 1) + CPGMACSL_REG_CTL);
+}
+#endif
 
 #ifdef CONFIG_SOC_K2G
 int keystone_rgmii_config(struct phy_device *phy_dev)
@@ -401,6 +438,58 @@ int ethss_stop(void)
return 0;
 }
 
+struct ks2_serdes ks2_serdes_sgmii_156p25mhz = {
+   .clk = SERDES_CLOCK_156P25M,
+   .rate = SERDES_RATE_5G,
+   .rate_mode = SERDES_QUARTER_RATE,
+   .intf = SERDES_PHY_SGMII,
+   .loopback = 0,
+};
+
+#ifndef CONFIG_SOC_K2G
+static void keystone2_net_serdes_setup(void)
+{
+   ks2_serdes_init(CONFIG_KSNET_SERDES_SGMII_BASE,
+   &ks2_serdes_sgmii_156p25mhz,
+   CONFIG_KSNET_SERDES_LANES_PER_SGMII);
+
+#if defined(CONFIG_SOC_K2E

[U-Boot] [PATCH 6/8] defconfig: k2e_evm_defconfig: enable net driver model

2016-01-20 Thread Mugunthan V N
enable net driver model for k2e evm as keystone_net supports
driver model

Signed-off-by: Mugunthan V N 
---
 configs/k2e_evm_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/configs/k2e_evm_defconfig b/configs/k2e_evm_defconfig
index 9fb9dac..5616be9 100644
--- a/configs/k2e_evm_defconfig
+++ b/configs/k2e_evm_defconfig
@@ -13,3 +13,4 @@ CONFIG_DM=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_SYS_NS16550=y
+CONFIG_DM_ETH=y
-- 
2.7.0.rc3

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


[U-Boot] [PATCH 8/8] defconfig: k2g_evm_defconfig: enable net driver model

2016-01-20 Thread Mugunthan V N
enable net driver model for k2g evm as keystone_net supports
driver model

Signed-off-by: Mugunthan V N 
---
 configs/k2g_evm_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/configs/k2g_evm_defconfig b/configs/k2g_evm_defconfig
index 7bdf7a4..7cebacd 100644
--- a/configs/k2g_evm_defconfig
+++ b/configs/k2g_evm_defconfig
@@ -12,3 +12,4 @@ CONFIG_DM=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_SYS_NS16550=y
+CONFIG_DM_ETH=y
-- 
2.7.0.rc3

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


[U-Boot] [PATCH 1/2] common/console.c: Remove unused inline functions

2016-01-20 Thread Tom Rini
clang-3.8 reports that these functions are unused, remove them.

Signed-off-by: Tom Rini 
---
 common/console.c |   48 
 1 file changed, 48 deletions(-)

diff --git a/common/console.c b/common/console.c
index bc37b6d..b3f5fdc 100644
--- a/common/console.c
+++ b/common/console.c
@@ -227,11 +227,6 @@ static void console_puts(int file, const char *s)
}
 }
 
-static inline void console_printdevs(int file)
-{
-   iomux_printdevs(file);
-}
-
 static inline void console_doenv(int file, struct stdio_dev *dev)
 {
iomux_doenv(file, dev->name);
@@ -265,11 +260,6 @@ static inline void console_puts(int file, const char *s)
stdio_devices[file]->puts(stdio_devices[file], s);
 }
 
-static inline void console_printdevs(int file)
-{
-   printf("%s\n", stdio_devices[file]->name);
-}
-
 static inline void console_doenv(int file, struct stdio_dev *dev)
 {
console_setfile(file, dev);
@@ -653,44 +643,6 @@ void clear_ctrlc(void)
ctrlc_was_pressed = 0;
 }
 
-#ifdef CONFIG_MODEM_SUPPORT_DEBUG
-char   screen[1024];
-char *cursor = screen;
-int once = 0;
-inline void dbg(const char *fmt, ...)
-{
-   va_list args;
-   uinti;
-   charprintbuffer[CONFIG_SYS_PBSIZE];
-
-   if (!once) {
-   memset(screen, 0, sizeof(screen));
-   once++;
-   }
-
-   va_start(args, fmt);
-
-   /* For this to work, printbuffer must be larger than
-* anything we ever want to print.
-*/
-   i = vsnprintf(printbuffer, sizeof(printbuffer), fmt, args);
-   va_end(args);
-
-   if ((screen + sizeof(screen) - 1 - cursor)
-   < strlen(printbuffer) + 1) {
-   memset(screen, 0, sizeof(screen));
-   cursor = screen;
-   }
-   sprintf(cursor, printbuffer);
-   cursor += strlen(printbuffer);
-
-}
-#else
-static inline void dbg(const char *fmt, ...)
-{
-}
-#endif
-
 /** U-Boot INIT FUNCTIONS */
 
 struct stdio_dev *search_device(int flags, const char *name)
-- 
1.7.9.5

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


[U-Boot] [PATCH 2/2] serial: Remove serial_putc_raw_dev

2016-01-20 Thread Tom Rini
clang-3.8 reports that serial_putc_raw_dev in serial_ns16550.c is
unused.  Further investigation shows that we have 3 places that
implement this function and no callers, remove.

Signed-off-by: Tom Rini 
---
 arch/powerpc/cpu/mpc512x/serial.c |   12 
 arch/powerpc/cpu/mpc5xxx/serial.c |   11 ---
 drivers/serial/serial_ns16550.c   |   11 ---
 3 files changed, 34 deletions(-)

diff --git a/arch/powerpc/cpu/mpc512x/serial.c 
b/arch/powerpc/cpu/mpc512x/serial.c
index 4105a28..ac77ddc 100644
--- a/arch/powerpc/cpu/mpc512x/serial.c
+++ b/arch/powerpc/cpu/mpc512x/serial.c
@@ -203,18 +203,6 @@ void serial_putc_dev(unsigned int idx, const char c)
out_8(&psc->tfdata_8, c);
 }
 
-void serial_putc_raw_dev(unsigned int idx, const char c)
-{
-   volatile immap_t *im = (immap_t *) CONFIG_SYS_IMMR;
-   volatile psc512x_t *psc = (psc512x_t *) &im->psc[idx];
-
-   /* Wait for last character to go. */
-   while (!(in_be16(&psc->psc_status) & PSC_SR_TXEMP))
-   ;
-
-   out_8(&psc->tfdata_8, c);
-}
-
 void serial_puts_dev(unsigned int idx, const char *s)
 {
while (*s)
diff --git a/arch/powerpc/cpu/mpc5xxx/serial.c 
b/arch/powerpc/cpu/mpc5xxx/serial.c
index cb5b0bf..bccdcf7 100644
--- a/arch/powerpc/cpu/mpc5xxx/serial.c
+++ b/arch/powerpc/cpu/mpc5xxx/serial.c
@@ -112,17 +112,6 @@ void serial_putc_dev (unsigned long dev_base, const char c)
psc->psc_buffer_8 = c;
 }
 
-void serial_putc_raw_dev(unsigned long dev_base, const char c)
-{
-   volatile struct mpc5xxx_psc *psc = (struct mpc5xxx_psc *)dev_base;
-   /* Wait for last character to go. */
-   while (!(psc->psc_status & PSC_SR_TXEMP))
-   ;
-
-   psc->psc_buffer_8 = c;
-}
-
-
 void serial_puts_dev (unsigned long dev_base, const char *s)
 {
while (*s) {
diff --git a/drivers/serial/serial_ns16550.c b/drivers/serial/serial_ns16550.c
index 799ef6a..fcb1e95 100644
--- a/drivers/serial/serial_ns16550.c
+++ b/drivers/serial/serial_ns16550.c
@@ -127,11 +127,6 @@ static void _serial_putc(const char c, const int port)
NS16550_putc(PORT, c);
 }
 
-static void _serial_putc_raw(const char c, const int port)
-{
-   NS16550_putc(PORT, c);
-}
-
 static void _serial_puts(const char *s, const int port)
 {
while (*s) {
@@ -165,12 +160,6 @@ serial_putc_dev(unsigned int dev_index,const char c)
 }
 
 static inline void
-serial_putc_raw_dev(unsigned int dev_index,const char c)
-{
-   _serial_putc_raw(c,dev_index);
-}
-
-static inline void
 serial_puts_dev(unsigned int dev_index,const char *s)
 {
_serial_puts(s,dev_index);
-- 
1.7.9.5

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


Re: [U-Boot] [PATCH 2/3] ARMv8/layerscape: Add FSL PPA support

2016-01-20 Thread Zhiqiang Hou
Hi Prabhakar,

Thanks for your feedback!

> -Original Message-
> From: Prabhakar Kushwaha
> Sent: 2016年1月19日 22:07
> To: Zhiqiang Hou ; u-boot@lists.denx.de;
> albert.u.b...@aribaud.net; mingkai...@freescale.com; york...@freescale.com
> Cc: le...@freescale.com; prabha...@freescale.com;
> bhupesh.sha...@freescale.com; s...@chromium.org; bmeng...@gmail.com;
> h...@denx.de; joe.hershber...@ni.com; ma...@denx.de; Zhiqiang Hou
> ; Hou Zhiqiang 
> Subject: RE: [PATCH 2/3] ARMv8/layerscape: Add FSL PPA support
> 
> > -Original Message-
> > From: Zhiqiang Hou [mailto:zhiqiang@freescale.com]
> > Sent: Tuesday, January 19, 2016 6:10 PM
> > To: u-boot@lists.denx.de; albert.u.b...@aribaud.net;
> > mingkai...@freescale.com; york...@freescale.com
> > Cc: le...@freescale.com; prabha...@freescale.com;
> > bhupesh.sha...@freescale.com; s...@chromium.org; bmeng...@gmail.com;
> > h...@denx.de; joe.hershber...@ni.com; ma...@denx.de; Zhiqiang Hou
> > ; Hou Zhiqiang 
> > Subject: [PATCH 2/3] ARMv8/layerscape: Add FSL PPA support
> >
> > From: Hou Zhiqiang 
> >
> > The FSL Primary Protected Application (PPA) is a software component
> > loaded during boot which runs in TrustZone and remains resident after boot.
> >
> > Signed-off-by: Hou Zhiqiang 
> > ---
> >  arch/arm/cpu/armv8/fsl-layerscape/Makefile |   1 +
> >  arch/arm/cpu/armv8/fsl-layerscape/ppa.c| 196
> > +
> >  arch/arm/cpu/armv8/fsl-layerscape/ppa_entry.S  |  37 +
> > arch/arm/include/asm/arch-fsl-layerscape/ppa.h |  15 ++
> >  4 files changed, 249 insertions(+)
> >  create mode 100644 arch/arm/cpu/armv8/fsl-layerscape/ppa.c
> >  create mode 100644 arch/arm/cpu/armv8/fsl-layerscape/ppa_entry.S
> >  create mode 100644 arch/arm/include/asm/arch-fsl-layerscape/ppa.h
> >
> > diff --git a/arch/arm/cpu/armv8/fsl-layerscape/Makefile
> > b/arch/arm/cpu/armv8/fsl-layerscape/Makefile
> > index cce7405..27bfeb1 100644
> > --- a/arch/arm/cpu/armv8/fsl-layerscape/Makefile
> > +++ b/arch/arm/cpu/armv8/fsl-layerscape/Makefile
> > @@ -10,6 +10,7 @@ obj-y += soc.o
> >  obj-$(CONFIG_MP) += mp.o
> >  obj-$(CONFIG_OF_LIBFDT) += fdt.o
> >  obj-$(CONFIG_SPL) += spl.o
> > +obj-$(CONFIG_FSL_LS_PPA) += ppa.o ppa_entry.o
> >
> >  ifneq ($(CONFIG_FSL_LSCH3),)
> >  obj-y += fsl_lsch3_speed.o
> > diff --git a/arch/arm/cpu/armv8/fsl-layerscape/ppa.c
> > b/arch/arm/cpu/armv8/fsl-layerscape/ppa.c
> > new file mode 100644
> > index 000..15e4f8b
> > --- /dev/null
> > +++ b/arch/arm/cpu/armv8/fsl-layerscape/ppa.c
> > @@ -0,0 +1,196 @@
> > +/*
> > + * Copyright 2015 Freescale Semiconductor, Inc.
> > + *
> > + * SPDX-License-Identifier:GPL-2.0+
> > + */
> > +#include 
> > +#include 
> > +#include 
> > +#include 
> > +#include 
> > +#include 
> > +#include 
> > +#include 
> > +#include 
> > +#include 
> > +#include 
> > +
> > +DECLARE_GLOBAL_DATA_PTR;
> > +
> > +extern void c_runtime_cpu_setup(void);
> > +
> > +#define LS_PPA_FIT_FIRMWARE_IMAGE  "firmware"
> > +#define LS_PPA_FIT_CNF_NAME"config@1"
> > +#define PPA_MEM_SIZE_ENV_VAR   "ppamemsize"
> > +
> > +/*
> 
> 
> 
> 
> > +#include 
> > +#include 
> > +#include 
> > +#include 
> > +
> > +ADDR_BASE_SCFG:
> > +.long  0x0157
> 
> If I am correct it is address of BOOLPTR. This address looks to be specific to
> LS1043.
> For other SoC it may change
> 

Yes, I will make it a common interface for ARMv8 Layerscape platform in next 
version.

> 
> > +
> > +ENTRY(ppa_init)
> > +/* Save stack pointer for EL2 */
> > +mov x1, sp
> > +msr sp_el2, x1
> > +
> > +/* Set boot loc pointer */
> > +adr  x4, 1f
> > +adr  x1, ADDR_BASE_SCFG
> > +ldr  w2, [x1]
> > +mov  x1, x4
> > +rev  w3, w1
> > +str  w3, [x2, #0x604]
> 
> It is LS1043 specific
> 
> 
> > +lsr  x1, x4, #32
> > +rev  w3, w1
> > +str  w3, [x2, #0x600]
> Same as above
> 

Thanks,
Zhiqiang
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH] ls2085a: Correct the model & board name of RDB and QDS

2016-01-20 Thread Ashish Kumar
 * LS2085ARDB and LS2085AQDS host LS2080A and LS2085A,
So update model and board name.

Signed-off-by: Ashish Kumar 
---
 arch/arm/dts/fsl-ls2080a-qds.dts|2 +-
 arch/arm/dts/fsl-ls2080a-rdb.dts|2 +-
 board/freescale/ls2080aqds/ls2080aqds.c |3 +--
 board/freescale/ls2080ardb/ls2080ardb.c |4 +---
 4 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/arch/arm/dts/fsl-ls2080a-qds.dts b/arch/arm/dts/fsl-ls2080a-qds.dts
index 547ec27..7b1dae8 100644
--- a/arch/arm/dts/fsl-ls2080a-qds.dts
+++ b/arch/arm/dts/fsl-ls2080a-qds.dts
@@ -11,7 +11,7 @@
 #include "fsl-ls2080a.dtsi"
 
 / {
-   model = "Freescale Layerscape 2080a QDS Board";
+   model = "Freescale Layerscape 2085a QDS Board";
compatible = "fsl,ls2080a-qds", "fsl,ls2080a";
 
aliases {
diff --git a/arch/arm/dts/fsl-ls2080a-rdb.dts b/arch/arm/dts/fsl-ls2080a-rdb.dts
index 1a1813b..71d1969 100644
--- a/arch/arm/dts/fsl-ls2080a-rdb.dts
+++ b/arch/arm/dts/fsl-ls2080a-rdb.dts
@@ -11,7 +11,7 @@
 #include "fsl-ls2080a.dtsi"
 
 / {
-   model = "Freescale Layerscape 2080a RDB Board";
+   model = "Freescale Layerscape 2085a RDB Board";
compatible = "fsl,ls2080a-rdb", "fsl,ls2080a";
 
aliases {
diff --git a/board/freescale/ls2080aqds/ls2080aqds.c 
b/board/freescale/ls2080aqds/ls2080aqds.c
index aa256a2..fe20f3a 100644
--- a/board/freescale/ls2080aqds/ls2080aqds.c
+++ b/board/freescale/ls2080aqds/ls2080aqds.c
@@ -61,8 +61,7 @@ int checkboard(void)
"100 separate SSCG"};
int clock;
 
-   cpu_name(buf);
-   printf("Board: %s-QDS, ", buf);
+   printf("Board: LS2085A-QDS, ");
 
sw = QIXIS_READ(arch);
printf("Board Arch: V%d, ", sw >> 4);
diff --git a/board/freescale/ls2080ardb/ls2080ardb.c 
b/board/freescale/ls2080ardb/ls2080ardb.c
index c63b639..ccf98c9 100644
--- a/board/freescale/ls2080ardb/ls2080ardb.c
+++ b/board/freescale/ls2080ardb/ls2080ardb.c
@@ -54,10 +54,8 @@ unsigned long long get_qixis_addr(void)
 int checkboard(void)
 {
u8 sw;
-   char buf[15];
 
-   cpu_name(buf);
-   printf("Board: %s-RDB, ", buf);
+   printf("Board: LS2085A-RDB, ");
 
sw = QIXIS_READ(arch);
printf("Board Arch: V%d, ", sw >> 4);
-- 
1.7.6.GIT

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


Re: [U-Boot] [PATCH 1/3] ARMv8/layerscape: Add mmu_init API

2016-01-20 Thread Zhiqiang Hou
Hi Prabhakar,

Thanks for your feedback!

> -Original Message-
> From: Prabhakar Kushwaha
> Sent: 2016年1月19日 21:54
> To: Zhiqiang Hou ; u-boot@lists.denx.de;
> albert.u.b...@aribaud.net; mingkai...@freescale.com; york...@freescale.com
> Cc: le...@freescale.com; prabha...@freescale.com;
> bhupesh.sha...@freescale.com; s...@chromium.org; bmeng...@gmail.com;
> h...@denx.de; joe.hershber...@ni.com; ma...@denx.de; Zhiqiang Hou
> ; Hou Zhiqiang 
> Subject: RE: [PATCH 1/3] ARMv8/layerscape: Add mmu_init API
> 
> > -Original Message-
> > From: Zhiqiang Hou [mailto:zhiqiang@freescale.com]
> > Sent: Tuesday, January 19, 2016 6:10 PM
> > To: u-boot@lists.denx.de; albert.u.b...@aribaud.net;
> > mingkai...@freescale.com; york...@freescale.com
> > Cc: le...@freescale.com; prabha...@freescale.com;
> > bhupesh.sha...@freescale.com; s...@chromium.org; bmeng...@gmail.com;
> > h...@denx.de; joe.hershber...@ni.com; ma...@denx.de; Zhiqiang Hou
> > ; Hou Zhiqiang 
> > Subject: [PATCH 1/3] ARMv8/layerscape: Add mmu_init API
> >
> > From: Hou Zhiqiang 
> >
> > Expose this API to make it reuseable when u-boot turn into other EL
> > from EL3.
> >
> > Signed-off-by: Hou Zhiqiang 
> > ---
> >  arch/arm/cpu/armv8/fsl-layerscape/cpu.c | 24
> > 
> >  include/common.h|  1 +
> >  2 files changed, 25 insertions(+)
> >
> > diff --git a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c
> > b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c
> > index 6ea28ed..df5670f 100644
> > --- a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c
> > +++ b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c
> > @@ -403,6 +403,30 @@ void enable_caches(void)
> > final_mmu_setup();
> > __asm_invalidate_tlb_all();
> >  }
> > +
> > +static void mmu_disable(void)
> > +{
> > +   if (get_sctlr() & CR_M)
> > +   set_sctlr(get_sctlr() & ~CR_M);
> > +}
> > +
> > +static void mmu_enable(void)
> > +{
> > +   if (!(get_sctlr() & CR_M))
> > +   set_sctlr(get_sctlr() | CR_M);
> > +}
> > +
> > +void mmu_init(void)
> 
> Name of function is not mapping about what it is doing.
> This function assume MMU is already enabled with early_table and it will setup
> final_mmu_setup.
> 

This function map basically with what it is doing except some I-cache operations
that will be remove from this func, and not assume the early_mmu_setup.
It assumes the relocation has been done. 

> > +{
> > +   mmu_disable();
> > +   dcache_disable();
> > +   icache_disable();
> > +   final_mmu_setup();
> > +   __asm_invalidate_tlb_all();
> > +   mmu_enable();
> > +   icache_enable();
> > +   set_sctlr(get_sctlr() | CR_C);
> > +}
> >  #endif
> 
> If I am correct board_init_r deploy final_mmu_setup via enable_caches().
> Why cannot existing framework be used.
> 

This patch aims to make final_mmu_setup() can be called flexibly in case as
When it return from PPA and execute at EL2, the MMU must be initialized
for the current EL.
Yes, the enable_caches() will call the __weak__ mmu_setup() if MMU wasn't
enabled. But for fsl layerscape platforms, the MMU has been enabled by early
mmu setup, so the __weak__ mmu_setup won't be called.

I am not know cache and mmu so much, and have some question:
For ARM:
Why there isn't a isolate API for mmu_setup, but invoke it from dcache_enable()?
If data cache won't be used, the MMU also cannot be used?

> >
> >  static inline u32 initiator_type(u32 cluster, int init_id) diff --git
> > a/include/common.h b/include/common.h index 75c78d5..57a9b30 100644
> > --- a/include/common.h
> > +++ b/include/common.h
> > @@ -757,6 +757,7 @@ voidflush_dcache_range(unsigned long start,
> > unsigned long stop);
> >  void   invalidate_dcache_range(unsigned long start, unsigned long 
> > stop);
> >  void   invalidate_dcache_all(void);
> >  void   invalidate_icache_all(void);
> > +void   mmu_init(void);
> >
> >  enum {
> > /* Disable caches (else flush caches but leave them active) */
> > --
> > 2.1.0.27.g96db324

Thanks,
Zhiqiang

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


[U-Boot] (no subject)

2016-01-20 Thread Wenbin Song
These patches depend on the series 
patches(http://patchwork.ozlabs.org/patch/567250/). 
 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH v2 2/3] armv8/ls1043aqds: Spilt off board device tree

2016-01-20 Thread Wenbin Song
Move new /chosen node out of the board device tree.

Signed-off-by: Wenbin Song 
---
 arch/arm/dts/Makefile  |   2 +-
 arch/arm/dts/fsl-ls1043a-qds-duart.dts |  20 ++
 arch/arm/dts/fsl-ls1043a-qds.dts   | 124 -
 arch/arm/dts/fsl-ls1043a-qds.dtsi  | 123 
 configs/ls1043aqds_defconfig   |   2 +-
 5 files changed, 145 insertions(+), 126 deletions(-)
 create mode 100644 arch/arm/dts/fsl-ls1043a-qds-duart.dts
 delete mode 100644 arch/arm/dts/fsl-ls1043a-qds.dts
 create mode 100644 arch/arm/dts/fsl-ls1043a-qds.dtsi

diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index 7706b41..302456c 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -96,7 +96,7 @@ dtb-$(CONFIG_LS102XA) += ls1021a-qds.dtb \
ls1021a-twr-duart.dtb ls1021a-twr-lpuart.dtb
 dtb-$(CONFIG_FSL_LSCH3) += fsl-ls2080a-qds.dtb \
fsl-ls2080a-rdb.dtb
-dtb-$(CONFIG_FSL_LSCH2) += fsl-ls1043a-qds.dtb \
+dtb-$(CONFIG_FSL_LSCH2) += fsl-ls1043a-qds-duart.dtb \
fsl-ls1043a-rdb.dtb
 
 dtb-$(CONFIG_MACH_SUN4I) += \
diff --git a/arch/arm/dts/fsl-ls1043a-qds-duart.dts 
b/arch/arm/dts/fsl-ls1043a-qds-duart.dts
new file mode 100644
index 000..2715b3d
--- /dev/null
+++ b/arch/arm/dts/fsl-ls1043a-qds-duart.dts
@@ -0,0 +1,20 @@
+/*
+ * Device Tree Include file for Freescale Layerscape-1043A family SoC.
+ *
+ * Copyright (C) 2015, Freescale Semiconductor
+ *
+ * Wenbin Song 
+ *
+ * This file is licensed under the terms of the GNU General Public
+ * License version 2.  This program is licensed "as is" without any
+ * warranty of any kind, whether express or implied.
+ */
+
+/dts-v1/;
+#include "fsl-ls1043a-qds.dtsi"
+
+/ {
+   chosen {
+   stdout-path = &duart0;
+   };
+};
diff --git a/arch/arm/dts/fsl-ls1043a-qds.dts b/arch/arm/dts/fsl-ls1043a-qds.dts
deleted file mode 100644
index 7435222..000
--- a/arch/arm/dts/fsl-ls1043a-qds.dts
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Device Tree Include file for Freescale Layerscape-1043A family SoC.
- *
- * Copyright (C) 2015, Freescale Semiconductor
- *
- * Mingkai Hu 
- *
- * This file is licensed under the terms of the GNU General Public
- * License version 2.  This program is licensed "as is" without any
- * warranty of any kind, whether express or implied.
- */
-
-/dts-v1/;
-/include/ "fsl-ls1043a.dtsi"
-
-/ {
-   model = "LS1043A QDS Board";
-};
-
-&i2c0 {
-   status = "okay";
-   pca9547@77 {
-   compatible = "philips,pca9547";
-   reg = <0x77>;
-   #address-cells = <1>;
-   #size-cells = <0>;
-
-   i2c@0 {
-   #address-cells = <1>;
-   #size-cells = <0>;
-   reg = <0x0>;
-
-   rtc@68 {
-   compatible = "dallas,ds3232";
-   reg = <0x68>;
-   /* IRQ10_B */
-   interrupts = <0 150 0x4>;
-   };
-   };
-
-   i2c@2 {
-   #address-cells = <1>;
-   #size-cells = <0>;
-   reg = <0x2>;
-
-   ina220@40 {
-   compatible = "ti,ina220";
-   reg = <0x40>;
-   shunt-resistor = <1000>;
-   };
-
-   ina220@41 {
-   compatible = "ti,ina220";
-   reg = <0x41>;
-   shunt-resistor = <1000>;
-   };
-   };
-
-   i2c@3 {
-   #address-cells = <1>;
-   #size-cells = <0>;
-   reg = <0x3>;
-
-   eeprom@56 {
-   compatible = "at24,24c512";
-   reg = <0x56>;
-   };
-
-   eeprom@57 {
-   compatible = "at24,24c512";
-   reg = <0x57>;
-   };
-
-   adt7461a@4c {
-   compatible = "adt7461a";
-   reg = <0x4c>;
-   };
-   };
-   };
-};
-
-&ifc {
-   #address-cells = <2>;
-   #size-cells = <1>;
-   /* NOR, NAND Flashes and FPGA on board */
-   ranges = <0x0 0x0 0x0 0x6000 0x0800
- 0x2 0x0 0x0 0x7e80 0x0001
- 0x3 0x0 0x0 0x7fb0 0x0100>;
-   status = "okay";
-
-   nor@0,0 {
-   #address-cells = <1>;
-   #size-cells = <1>;
-   compatible = "cfi-flash";
-   reg = <0x0 0x0 0x800>;
-   bank-width = <2>;
-   device-width = <1>;
-   };
-
-   nand@2,0 {

[U-Boot] [PATCH v2 1/3] armv8/ls1043aqds: Select lpuart pins of various muxes

2016-01-20 Thread Wenbin Song
From: Shaohui Xie 

Set Board Configuration Register to select the lpuart pins of various
muxes.

Signed-off-by: Shaohui Xie 
Signed-off-by: Mingkai Hu 
---
 board/freescale/ls1043aqds/ls1043aqds.c | 15 +++
 1 file changed, 15 insertions(+)

diff --git a/board/freescale/ls1043aqds/ls1043aqds.c 
b/board/freescale/ls1043aqds/ls1043aqds.c
index d6696ca..4e38cb0 100644
--- a/board/freescale/ls1043aqds/ls1043aqds.c
+++ b/board/freescale/ls1043aqds/ls1043aqds.c
@@ -40,6 +40,9 @@ enum {
 #define CFG_SD_MUX3_MUX4   0x1 /* MUX4 */
 #define CFG_SD_MUX4_SLOT3  0x0 /* SLOT3 TX/RX1 */
 #define CFG_SD_MUX4_SLOT1  0x1 /* SLOT1 TX/RX3 */
+#define CFG_UART_MUX_MASK  0x6
+#define CFG_UART_MUX_SHIFT 1
+#define CFG_LPUART_EN  0x1
 
 int checkboard(void)
 {
@@ -218,7 +221,19 @@ void board_retimer_init(void)
 
 int board_early_init_f(void)
 {
+#ifdef CONFIG_LPUART
+   u8 uart;
+#endif
fsl_lsch2_early_init_f();
+#ifdef CONFIG_LPUART
+   /*
+* we use lpuart1 as system console.
+*/
+   uart = QIXIS_READ(brdcfg[14]);
+   uart &= ~CFG_UART_MUX_MASK;
+   uart |= CFG_LPUART_EN << CFG_UART_MUX_SHIFT;
+   QIXIS_WRITE(brdcfg[14], uart);
+#endif
 
return 0;
 }
-- 
2.1.0.27.g96db324

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


[U-Boot] [PATCH v2 3/3] armv8/ls1043aqds: Add lpuart support

2016-01-20 Thread Wenbin Song
Add lpuart support using the driver model.

Signed-off-by: Wenbin Song 
---
 arch/arm/dts/Makefile   |  1 +
 arch/arm/dts/fsl-ls1043a-qds-lpuart.dts | 20 
 arch/arm/dts/fsl-ls1043a.dtsi   | 54 +
 configs/ls1043aqds_lpuart_defconfig | 10 ++
 include/configs/ls1043aqds.h|  7 +
 5 files changed, 92 insertions(+)
 create mode 100644 arch/arm/dts/fsl-ls1043a-qds-lpuart.dts
 create mode 100644 configs/ls1043aqds_lpuart_defconfig

diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index 302456c..a51275c 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -97,6 +97,7 @@ dtb-$(CONFIG_LS102XA) += ls1021a-qds.dtb \
 dtb-$(CONFIG_FSL_LSCH3) += fsl-ls2080a-qds.dtb \
fsl-ls2080a-rdb.dtb
 dtb-$(CONFIG_FSL_LSCH2) += fsl-ls1043a-qds-duart.dtb \
+   fsl-ls1043a-qds-lpuart.dtb \
fsl-ls1043a-rdb.dtb
 
 dtb-$(CONFIG_MACH_SUN4I) += \
diff --git a/arch/arm/dts/fsl-ls1043a-qds-lpuart.dts 
b/arch/arm/dts/fsl-ls1043a-qds-lpuart.dts
new file mode 100644
index 000..24168ad
--- /dev/null
+++ b/arch/arm/dts/fsl-ls1043a-qds-lpuart.dts
@@ -0,0 +1,20 @@
+/*
+ * Device Tree Include file for Freescale Layerscape-1043A family SoC.
+ *
+ * Copyright (C) 2015, Freescale Semiconductor
+ *
+ * Wenbin Song 
+ *
+ * This file is licensed under the terms of the GNU General Public
+ * License version 2.  This program is licensed "as is" without any
+ * warranty of any kind, whether express or implied.
+ */
+
+/dts-v1/;
+#include "fsl-ls1043a-qds.dtsi"
+
+/ {
+   chosen {
+   stdout-path = &lpuart0;
+   };
+};
diff --git a/arch/arm/dts/fsl-ls1043a.dtsi b/arch/arm/dts/fsl-ls1043a.dtsi
index 85ea81e..12ea0ab 100644
--- a/arch/arm/dts/fsl-ls1043a.dtsi
+++ b/arch/arm/dts/fsl-ls1043a.dtsi
@@ -182,5 +182,59 @@
interrupts = <0 55 0x4>;
clocks = <&clockgen 4 0>;
};
+
+   lpuart0: serial@295 {
+   compatible = "fsl,ls1021a-lpuart";
+   reg = <0x0 0x295 0x0 0x1000>;
+   interrupts = <0 48 0x4>;
+   clocks = <&sysclk>;
+   clock-names = "ipg";
+   status = "disabled";
+   };
+
+   lpuart1: serial@296 {
+   compatible = "fsl,ls1021a-lpuart";
+   reg = <0x0 0x296 0x0 0x1000>;
+   interrupts = <0 49 0x4>;
+   clocks = <&sysclk>;
+   clock-names = "ipg";
+   status = "disabled";
+   };
+
+   lpuart2: serial@297 {
+   compatible = "fsl,ls1021a-lpuart";
+   reg = <0x0 0x297 0x0 0x1000>;
+   interrupts = <0 50 0x4>;
+   clock-names = "ipg";
+   clocks = <&sysclk>;
+   status = "disabled";
+   };
+
+   lpuart3: serial@298 {
+   compatible = "fsl,ls1021a-lpuart";
+   reg = <0x0 0x298 0x0 0x1000>;
+   interrupts = <0 51 0x4>;
+   clocks = <&sysclk>;
+   clock-names = "ipg";
+   status = "disabled";
+   };
+
+   lpuart4: serial@299 {
+   compatible = "fsl,ls1021a-lpuart";
+   reg = <0x0 0x299 0x0 0x1000>;
+   interrupts = <0 52 0x4>;
+   clocks = <&sysclk>;
+   clock-names = "ipg";
+   status = "disabled";
+   };
+
+   lpuart5: serial@29a {
+   compatible = "fsl,ls1021a-lpuart";
+   reg = <0x0 0x29a 0x0 0x1000>;
+   interrupts = <0 53 0x4>;
+   clocks = <&sysclk>;
+   clock-names = "ipg";
+   status = "disabled";
+   };
};
 };
diff --git a/configs/ls1043aqds_lpuart_defconfig 
b/configs/ls1043aqds_lpuart_defconfig
new file mode 100644
index 000..2d6bb7b
--- /dev/null
+++ b/configs/ls1043aqds_lpuart_defconfig
@@ -0,0 +1,10 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_FSL_DDR4,LPUART"
+CONFIG_ARM=y
+CONFIG_TARGET_LS1043AQDS=y
+CONFIG_DEFAULT_DEVICE_TREE="fsl-ls1043a-qds-lpuart"
+CONFIG_OF_CONTROL=y
+CONFIG_DM=y
+CONFIG_SPI_FLASH=y
+CONFIG_DM_SPI=y
+CONFIG_FSL_LPUART=y
+CONFIG_DM_SERIAL=y
diff --git a/include/configs/ls1043aqds.h b/include/configs/ls1043aqds.h
index 398f1c3..438476f 100644
--- a/include/configs/ls1043aqds.h
+++ b/include/configs/ls1043aqds.h
@@ -88,6 +88,13 @@ unsigned long get_board_ddr_clk(void);
 #define CONFIG_SYS_FSL_PBL_RCW 
board/freescale/ls1043aqds/ls1043aqds_rcw_sd_ifc.cfg
 #endif
 
+/*
+ * LPUART
+ */
+#ifdef CONFIG_LPUART
+#define CON

Re: [U-Boot] [PATCH v2 1/3] armv8/ls1043aqds: Select lpuart pins of various muxes

2016-01-20 Thread Wenbin Song
Hi: all,

This patch depends on the series 
patches(http://patchwork.ozlabs.org/patch/567250/).


Regards

Wenbin Song



-Original Message-
From: Wenbin Song [mailto:wenbin.s...@nxp.com] 
Sent: Wednesday, January 20, 2016 8:26 PM
To: york...@freescale.com; Mingkai Hu ; Qianyu Gong 
; Shaohui Xie ; Wenbin Song 
; u-boot@lists.denx.de; bmeng...@gmail.com
Cc: Shaohui Xie ; Mingkai Hu 

Subject: [PATCH v2 1/3] armv8/ls1043aqds: Select lpuart pins of various muxes

From: Shaohui Xie 

Set Board Configuration Register to select the lpuart pins of various muxes.

Signed-off-by: Shaohui Xie 
Signed-off-by: Mingkai Hu 
---
 board/freescale/ls1043aqds/ls1043aqds.c | 15 +++
 1 file changed, 15 insertions(+)

diff --git a/board/freescale/ls1043aqds/ls1043aqds.c 
b/board/freescale/ls1043aqds/ls1043aqds.c
index d6696ca..4e38cb0 100644
--- a/board/freescale/ls1043aqds/ls1043aqds.c
+++ b/board/freescale/ls1043aqds/ls1043aqds.c
@@ -40,6 +40,9 @@ enum {
 #define CFG_SD_MUX3_MUX4   0x1 /* MUX4 */
 #define CFG_SD_MUX4_SLOT3  0x0 /* SLOT3 TX/RX1 */
 #define CFG_SD_MUX4_SLOT1  0x1 /* SLOT1 TX/RX3 */
+#define CFG_UART_MUX_MASK  0x6
+#define CFG_UART_MUX_SHIFT 1
+#define CFG_LPUART_EN  0x1
 
 int checkboard(void)
 {
@@ -218,7 +221,19 @@ void board_retimer_init(void)
 
 int board_early_init_f(void)
 {
+#ifdef CONFIG_LPUART
+   u8 uart;
+#endif
fsl_lsch2_early_init_f();
+#ifdef CONFIG_LPUART
+   /*
+* we use lpuart1 as system console.
+*/
+   uart = QIXIS_READ(brdcfg[14]);
+   uart &= ~CFG_UART_MUX_MASK;
+   uart |= CFG_LPUART_EN << CFG_UART_MUX_SHIFT;
+   QIXIS_WRITE(brdcfg[14], uart);
+#endif
 
return 0;
 }
--
2.1.0.27.g96db324

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


Re: [U-Boot] [PATCH v2 3/3] armv8/ls1043aqds: Add lpuart support

2016-01-20 Thread Wenbin Song
Hi: all,

This patch depends on the series 
patches(http://patchwork.ozlabs.org/patch/567250/).


Regards

Wenbin Song

-Original Message-
From: Wenbin Song [mailto:wenbin.s...@nxp.com] 
Sent: Wednesday, January 20, 2016 8:26 PM
To: york...@freescale.com; Mingkai Hu ; Qianyu Gong 
; Shaohui Xie ; Wenbin Song 
; u-boot@lists.denx.de; bmeng...@gmail.com
Subject: [PATCH v2 3/3] armv8/ls1043aqds: Add lpuart support

Add lpuart support using the driver model.

Signed-off-by: Wenbin Song 
---
 arch/arm/dts/Makefile   |  1 +
 arch/arm/dts/fsl-ls1043a-qds-lpuart.dts | 20 
 arch/arm/dts/fsl-ls1043a.dtsi   | 54 +
 configs/ls1043aqds_lpuart_defconfig | 10 ++
 include/configs/ls1043aqds.h|  7 +
 5 files changed, 92 insertions(+)
 create mode 100644 arch/arm/dts/fsl-ls1043a-qds-lpuart.dts
 create mode 100644 configs/ls1043aqds_lpuart_defconfig

diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index 
302456c..a51275c 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -97,6 +97,7 @@ dtb-$(CONFIG_LS102XA) += ls1021a-qds.dtb \
 dtb-$(CONFIG_FSL_LSCH3) += fsl-ls2080a-qds.dtb \
fsl-ls2080a-rdb.dtb
 dtb-$(CONFIG_FSL_LSCH2) += fsl-ls1043a-qds-duart.dtb \
+   fsl-ls1043a-qds-lpuart.dtb \
fsl-ls1043a-rdb.dtb
 
 dtb-$(CONFIG_MACH_SUN4I) += \
diff --git a/arch/arm/dts/fsl-ls1043a-qds-lpuart.dts 
b/arch/arm/dts/fsl-ls1043a-qds-lpuart.dts
new file mode 100644
index 000..24168ad
--- /dev/null
+++ b/arch/arm/dts/fsl-ls1043a-qds-lpuart.dts
@@ -0,0 +1,20 @@
+/*
+ * Device Tree Include file for Freescale Layerscape-1043A family SoC.
+ *
+ * Copyright (C) 2015, Freescale Semiconductor
+ *
+ * Wenbin Song 
+ *
+ * This file is licensed under the terms of the GNU General Public
+ * License version 2.  This program is licensed "as is" without any
+ * warranty of any kind, whether express or implied.
+ */
+
+/dts-v1/;
+#include "fsl-ls1043a-qds.dtsi"
+
+/ {
+   chosen {
+   stdout-path = &lpuart0;
+   };
+};
diff --git a/arch/arm/dts/fsl-ls1043a.dtsi b/arch/arm/dts/fsl-ls1043a.dtsi 
index 85ea81e..12ea0ab 100644
--- a/arch/arm/dts/fsl-ls1043a.dtsi
+++ b/arch/arm/dts/fsl-ls1043a.dtsi
@@ -182,5 +182,59 @@
interrupts = <0 55 0x4>;
clocks = <&clockgen 4 0>;
};
+
+   lpuart0: serial@295 {
+   compatible = "fsl,ls1021a-lpuart";
+   reg = <0x0 0x295 0x0 0x1000>;
+   interrupts = <0 48 0x4>;
+   clocks = <&sysclk>;
+   clock-names = "ipg";
+   status = "disabled";
+   };
+
+   lpuart1: serial@296 {
+   compatible = "fsl,ls1021a-lpuart";
+   reg = <0x0 0x296 0x0 0x1000>;
+   interrupts = <0 49 0x4>;
+   clocks = <&sysclk>;
+   clock-names = "ipg";
+   status = "disabled";
+   };
+
+   lpuart2: serial@297 {
+   compatible = "fsl,ls1021a-lpuart";
+   reg = <0x0 0x297 0x0 0x1000>;
+   interrupts = <0 50 0x4>;
+   clock-names = "ipg";
+   clocks = <&sysclk>;
+   status = "disabled";
+   };
+
+   lpuart3: serial@298 {
+   compatible = "fsl,ls1021a-lpuart";
+   reg = <0x0 0x298 0x0 0x1000>;
+   interrupts = <0 51 0x4>;
+   clocks = <&sysclk>;
+   clock-names = "ipg";
+   status = "disabled";
+   };
+
+   lpuart4: serial@299 {
+   compatible = "fsl,ls1021a-lpuart";
+   reg = <0x0 0x299 0x0 0x1000>;
+   interrupts = <0 52 0x4>;
+   clocks = <&sysclk>;
+   clock-names = "ipg";
+   status = "disabled";
+   };
+
+   lpuart5: serial@29a {
+   compatible = "fsl,ls1021a-lpuart";
+   reg = <0x0 0x29a 0x0 0x1000>;
+   interrupts = <0 53 0x4>;
+   clocks = <&sysclk>;
+   clock-names = "ipg";
+   status = "disabled";
+   };
};
 };
diff --git a/configs/ls1043aqds_lpuart_defconfig 
b/configs/ls1043aqds_lpuart_defconfig
new file mode 100644
index 000..2d6bb7b
--- /dev/null
+++ b/configs/ls1043aqds_lpuart_defconfig
@@ -0,0 +1,10 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_FSL_DDR4,LPUART"
+CONFIG_ARM=y
+CONFIG_TARGET_LS1043AQDS=y
+CONFIG_DEFAULT_DEVICE_TREE="fsl-ls1043a-qds-lpuart"
+CONFIG_OF_CONTROL=y
+CONFIG_DM=y
+CONFIG_SPI_FLASH=y
+CONFIG_DM_SP

Re: [U-Boot] [PATCH v2 2/3] armv8/ls1043aqds: Spilt off board device tree

2016-01-20 Thread Wenbin Song
Hi: all,

This patch depends on the series 
patches(http://patchwork.ozlabs.org/patch/567250/).


Regards

Wenbin Song

-Original Message-
From: Wenbin Song [mailto:wenbin.s...@nxp.com] 
Sent: Wednesday, January 20, 2016 8:26 PM
To: york...@freescale.com; Mingkai Hu ; Qianyu Gong 
; Shaohui Xie ; Wenbin Song 
; u-boot@lists.denx.de; bmeng...@gmail.com
Subject: [PATCH v2 2/3] armv8/ls1043aqds: Spilt off board device tree

Move new /chosen node out of the board device tree.

Signed-off-by: Wenbin Song 
---
 arch/arm/dts/Makefile  |   2 +-
 arch/arm/dts/fsl-ls1043a-qds-duart.dts |  20 ++
 arch/arm/dts/fsl-ls1043a-qds.dts   | 124 -
 arch/arm/dts/fsl-ls1043a-qds.dtsi  | 123 
 configs/ls1043aqds_defconfig   |   2 +-
 5 files changed, 145 insertions(+), 126 deletions(-)  create mode 100644 
arch/arm/dts/fsl-ls1043a-qds-duart.dts
 delete mode 100644 arch/arm/dts/fsl-ls1043a-qds.dts  create mode 100644 
arch/arm/dts/fsl-ls1043a-qds.dtsi

diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index 
7706b41..302456c 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -96,7 +96,7 @@ dtb-$(CONFIG_LS102XA) += ls1021a-qds.dtb \
ls1021a-twr-duart.dtb ls1021a-twr-lpuart.dtb
 dtb-$(CONFIG_FSL_LSCH3) += fsl-ls2080a-qds.dtb \
fsl-ls2080a-rdb.dtb
-dtb-$(CONFIG_FSL_LSCH2) += fsl-ls1043a-qds.dtb \
+dtb-$(CONFIG_FSL_LSCH2) += fsl-ls1043a-qds-duart.dtb \
fsl-ls1043a-rdb.dtb
 
 dtb-$(CONFIG_MACH_SUN4I) += \
diff --git a/arch/arm/dts/fsl-ls1043a-qds-duart.dts 
b/arch/arm/dts/fsl-ls1043a-qds-duart.dts
new file mode 100644
index 000..2715b3d
--- /dev/null
+++ b/arch/arm/dts/fsl-ls1043a-qds-duart.dts
@@ -0,0 +1,20 @@
+/*
+ * Device Tree Include file for Freescale Layerscape-1043A family SoC.
+ *
+ * Copyright (C) 2015, Freescale Semiconductor
+ *
+ * Wenbin Song 
+ *
+ * This file is licensed under the terms of the GNU General Public
+ * License version 2.  This program is licensed "as is" without any
+ * warranty of any kind, whether express or implied.
+ */
+
+/dts-v1/;
+#include "fsl-ls1043a-qds.dtsi"
+
+/ {
+   chosen {
+   stdout-path = &duart0;
+   };
+};
diff --git a/arch/arm/dts/fsl-ls1043a-qds.dts b/arch/arm/dts/fsl-ls1043a-qds.dts
deleted file mode 100644
index 7435222..000
--- a/arch/arm/dts/fsl-ls1043a-qds.dts
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Device Tree Include file for Freescale Layerscape-1043A family SoC.
- *
- * Copyright (C) 2015, Freescale Semiconductor
- *
- * Mingkai Hu 
- *
- * This file is licensed under the terms of the GNU General Public
- * License version 2.  This program is licensed "as is" without any
- * warranty of any kind, whether express or implied.
- */
-
-/dts-v1/;
-/include/ "fsl-ls1043a.dtsi"
-
-/ {
-   model = "LS1043A QDS Board";
-};
-
-&i2c0 {
-   status = "okay";
-   pca9547@77 {
-   compatible = "philips,pca9547";
-   reg = <0x77>;
-   #address-cells = <1>;
-   #size-cells = <0>;
-
-   i2c@0 {
-   #address-cells = <1>;
-   #size-cells = <0>;
-   reg = <0x0>;
-
-   rtc@68 {
-   compatible = "dallas,ds3232";
-   reg = <0x68>;
-   /* IRQ10_B */
-   interrupts = <0 150 0x4>;
-   };
-   };
-
-   i2c@2 {
-   #address-cells = <1>;
-   #size-cells = <0>;
-   reg = <0x2>;
-
-   ina220@40 {
-   compatible = "ti,ina220";
-   reg = <0x40>;
-   shunt-resistor = <1000>;
-   };
-
-   ina220@41 {
-   compatible = "ti,ina220";
-   reg = <0x41>;
-   shunt-resistor = <1000>;
-   };
-   };
-
-   i2c@3 {
-   #address-cells = <1>;
-   #size-cells = <0>;
-   reg = <0x3>;
-
-   eeprom@56 {
-   compatible = "at24,24c512";
-   reg = <0x56>;
-   };
-
-   eeprom@57 {
-   compatible = "at24,24c512";
-   reg = <0x57>;
-   };
-
-   adt7461a@4c {
-   compatible = "adt7461a";
-   reg = <0x4c>;
-   };
-   };
-   };
-};
-
-&ifc {
-   #address-cells = <2>;
-   #size-cells = <1>;
-   /* NOR, NAND Flashes and FPGA on board */
-   ranges = <0x0 0x0 

Re: [U-Boot] [PATCH v5 2/2] usb: eth: add Realtek RTL8152B/RTL8153 DRIVER

2016-01-20 Thread Marek Vasut
On Wednesday, January 20, 2016 at 07:24:52 AM, Ted Chen wrote:
> This patch adds driver support for the Realtek RTL8152B/RTL8153 USB
> network adapters.
> 
> Signed-off-by: Ted Chen 
> [swarren, fixed a few compiler warnings]
> [swarren, with permission, converted license header to SPDX]
> [swarren, removed printf() spew during probe()]
> Signed-off-by: Stephen Warren 

Looks good,

Acked-by: Marek Vasut 

Let's see if others have any comments and I can pick it then.

[...]

Best regards,
Marek Vasut
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [GIT PULL] Microblaze changes

2016-01-20 Thread Michal Simek
Hi Ricardo,

are you on track on this?

Thanks,
Michal

On 15.1.2016 08:08, Michal Simek wrote:
> Hi,
> 
> On 14.1.2016 21:24, Ricardo Ribalda Delgado wrote:
>> Hello Michal
>>
>> I will give a look to it during the next week. Hopefuly by the end of
>> it I can give you the patch or an educated estimated. Is this a good
>> timeline for you?
> 
> ok. Let's wait one more week and I hope you will have SPL up and running.
> 
> Thanks,
> Michal
> 


-- 
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel - Microblaze cpu - http://www.monstr.eu/fdt/
Maintainer of Linux kernel - Xilinx Zynq ARM architecture
Microblaze U-BOOT custodian and responsible for u-boot arm zynq platform




signature.asc
Description: OpenPGP digital signature
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [GIT PULL] Microblaze changes

2016-01-20 Thread Ricardo Ribalda Delgado
I have allocated the whole Friday for this

On Wed, Jan 20, 2016 at 2:23 PM, Michal Simek  wrote:
> Hi Ricardo,
>
> are you on track on this?
>
> Thanks,
> Michal
>
> On 15.1.2016 08:08, Michal Simek wrote:
>> Hi,
>>
>> On 14.1.2016 21:24, Ricardo Ribalda Delgado wrote:
>>> Hello Michal
>>>
>>> I will give a look to it during the next week. Hopefuly by the end of
>>> it I can give you the patch or an educated estimated. Is this a good
>>> timeline for you?
>>
>> ok. Let's wait one more week and I hope you will have SPL up and running.
>>
>> Thanks,
>> Michal
>>
>
>
> --
> Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91
> w: www.monstr.eu p: +42-0-721842854
> Maintainer of Linux kernel - Microblaze cpu - http://www.monstr.eu/fdt/
> Maintainer of Linux kernel - Xilinx Zynq ARM architecture
> Microblaze U-BOOT custodian and responsible for u-boot arm zynq platform
>
>



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


Re: [U-Boot] Chain-loading u-boot stopped working between 2016.01-rc1 and 2016.01-rc4

2016-01-20 Thread Wolfgang Denk
Dear Pavel,

In message <20160120101901.GA9656@amd> you wrote:
> 
> Commit 8e535af2e441030f5e4b940a3756a0d92646b5fe breaks compilation
> (previous one worked ok in my config).

Maybe it would help if, for this bisecting, you used the default
config?  Once the problem is isolated, you can switch back to your
custom config.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,  Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
The reasonable man adapts himself to the world; the unreasonable  one
persists  in  trying  to  adapt  the  world to himself. Therefore all
progress depends on the unreasonable man."  - George Bernard Shaw
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] At start of autoboot check, flush any pending RX bytes

2016-01-20 Thread Robert Nelson
On Tue, Jan 19, 2016 at 10:35 PM, Simon Glass  wrote:
> Hi,
>
> On 18 January 2016 at 23:46, Craig McQueen  
> wrote:
>>> Tom Rini wrote:
>>>
>>> On Mon, Jan 11, 2016 at 09:59:18AM -0700, Simon Glass wrote:
>>> > Hi Craig,
>>> >
>>> > On 20 December 2015 at 19:07, Craig McQueen
>>> >  wrote:
>>> > > This is to avoid the boot sequence halting due to initial "junk"
>>> > > received on serial input.
>>> > >
>>> > > Signed-off-by: Craig McQueen 
>>> > > ---
>>> > > I have found that on the BeagleBone Black, U-Boot occasionally halts
>>> > > at the U-Boot prompt at boot-up, whether power-up, warm external
>>> > > reset or software reset. I have seen other people report the same issue.
>>> > >
>>> > > This seems to be due to U-Boot receiving "junk" data on the serial
>>> > > console. The BeagleBone Black has a pull-down resistor which was
>>> > > apparently added to try to mitigate this issue, but it doesn't
>>> > > entirely fix it.
>>> >
>>> > I wonder if this can be fixed for that board only?
>>>
>>> No, and it's not -exactly- a that board only problem.  It's a HW design 
>>> issue
>>> that can show up elsewhere too.  I _think_ however in this case the answer
>>> would be to migrate to perhaps CONFIG_AUTOBOOT_KEYED_CTRLC as that's
>>> one of the reason various other boards use that set of options.
>>>
>>> I would suggest bringing this up on the beaglebone list to see what the
>>> various people that ship and support these boards think, thanks!
>>
>> Other options such as CONFIG_AUTOBOOT_KEYED_CTRLC sound like a work-around 
>> of the problem, rather than a fix of the root-cause. But maybe that's just 
>> my opinion. Simon Glass' suggestion (clear out the UART input buffer when 
>> the driver is probed) sounded reasonable, but I haven't tried it.
>
> Since it seems like a hardware bug, we can only have a workaround. A
> real fix would involve fixing the root cause, i.e. fixing the
> hardware.
>
>>
>> I think BeagleBone Black definitely needs _some_ sort of fix -- currently 
>> BBB can randomly fail to boot, which isn't good. If my patch isn't wanted, 
>> then please implement a suitable alternative.
>
> How about what Tom suggested? Ctrl-C is not likely to happen by accident.

This should be good enough for everyone, it'll look for an exact match
over serial "" otherwise it'll ignore everything else:

http://lists.denx.de/pipermail/u-boot/2016-January/241286.html

Regards,

-- 
Robert Nelson
https://rcn-ee.com/
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH] env_mmc: support overriding mmc dev from board code

2016-01-20 Thread Clemens Gruber
This enables boards to choose where to/from the environment should be
saved/loaded. They can then for example support using the same device
(dynamically) from which the bootloader was launched to load and save
env data and do not have to define CONFIG_SYS_MMC_ENV_DEV statically.

In my use case, the environment needs to be on the same device I
booted from. It can be the eMMC or an optional SD card.
I therefore would override mmc_get_env_dev in the board code, read the
CPU registers to determine where we booted from and return the
corresponding device index.

Cc: Tom Rini 
Cc: Stephen Warren 
Cc: Tim Harvey 
Cc: Simon Glass 
Cc: Hans de Goede 

Signed-off-by: Clemens Gruber 

---
 common/env_mmc.c | 19 ---
 1 file changed, 12 insertions(+), 7 deletions(-)

diff --git a/common/env_mmc.c b/common/env_mmc.c
index 15aa43d..bdb452e 100644
--- a/common/env_mmc.c
+++ b/common/env_mmc.c
@@ -54,6 +54,11 @@ __weak int mmc_get_env_addr(struct mmc *mmc, int copy, u32 
*env_addr)
return 0;
 }
 
+__weak int mmc_get_env_dev(void)
+{
+   return CONFIG_SYS_MMC_ENV_DEV;
+}
+
 int env_init(void)
 {
/* use default */
@@ -74,7 +79,7 @@ static unsigned char env_mmc_orig_hwpart;
 static int mmc_set_env_part(struct mmc *mmc)
 {
uint part = mmc_get_env_part(mmc);
-   int dev = CONFIG_SYS_MMC_ENV_DEV;
+   int dev = mmc_get_env_dev();
int ret = 0;
 
 #ifdef CONFIG_SPL_BUILD
@@ -109,7 +114,7 @@ static const char *init_mmc_for_env(struct mmc *mmc)
 static void fini_mmc_for_env(struct mmc *mmc)
 {
 #ifdef CONFIG_SYS_MMC_ENV_PART
-   int dev = CONFIG_SYS_MMC_ENV_DEV;
+   int dev = mmc_get_env_dev();
 
 #ifdef CONFIG_SPL_BUILD
dev = 0;
@@ -140,7 +145,8 @@ static unsigned char env_flags;
 int saveenv(void)
 {
ALLOC_CACHE_ALIGN_BUFFER(env_t, env_new, 1);
-   struct mmc *mmc = find_mmc_device(CONFIG_SYS_MMC_ENV_DEV);
+   int dev = mmc_get_env_dev();
+   struct mmc *mmc = find_mmc_device(dev);
u32 offset;
int ret, copy = 0;
const char *errmsg;
@@ -167,8 +173,7 @@ int saveenv(void)
goto fini;
}
 
-   printf("Writing to %sMMC(%d)... ", copy ? "redundant " : "",
-  CONFIG_SYS_MMC_ENV_DEV);
+   printf("Writing to %sMMC(%d)... ", copy ? "redundant " : "", dev);
if (write_env(mmc, CONFIG_ENV_SIZE, offset, (u_char *)env_new)) {
puts("failed\n");
ret = 1;
@@ -212,7 +217,7 @@ void env_relocate_spec(void)
int crc1_ok = 0, crc2_ok = 0;
env_t *ep;
int ret;
-   int dev = CONFIG_SYS_MMC_ENV_DEV;
+   int dev = mmc_get_env_dev();
const char *errmsg = NULL;
 
ALLOC_CACHE_ALIGN_BUFFER(env_t, tmp_env1, 1);
@@ -298,7 +303,7 @@ void env_relocate_spec(void)
struct mmc *mmc;
u32 offset;
int ret;
-   int dev = CONFIG_SYS_MMC_ENV_DEV;
+   int dev = mmc_get_env_dev();
const char *errmsg;
 
 #ifdef CONFIG_SPL_BUILD
-- 
2.7.0

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


Re: [U-Boot] [PATCH 3/4] tegra: video: Always use write-through cache on LCD

2016-01-20 Thread Thierry Reding
On Mon, Jan 18, 2016 at 01:07:10PM -0700, Stephen Warren wrote:
> On 01/14/2016 01:26 PM, Simon Glass wrote:
> >This seems to give the best performance, so let's use it always.
> 
> I thought we chose the current cache mode due to display corruption issues
> with other modes, but I tested a change that I believe does the same as this
> change on Seaboard without any apparent issue so,
> 
> Acked-by: Stephen Warren 

I think for framebuffers the best option is still write-combine, which
would be something like:

DCACHE_WRITECOMBINE = DCACHE_OFF | TTB_SECT_B_MASK

on ARM v7. Did you ever benchmark that against DCACHE_WRITETHROUGH? It
should be faster provided that you never read from the region.

Thierry


signature.asc
Description: PGP signature
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [U-Boot, PATCHv2, 2/5] igep00x0: Cleanup ethernet support

2016-01-20 Thread Tom Rini
On Wed, Jan 20, 2016 at 06:24:40AM +0100, Heiko Schocher wrote:
> Hello Tom,
> 
> Am 04.01.2016 um 23:07 schrieb Enric Balletbò i Serra:
> >From: Ladislav Michl 
> >
> >- move chip reset to separate function
> >- use CONFIG_SMC911X_BASE instead of hardcoded value
> >- remove unneeded local variable from board_eth_init.
> >
> >Signed-off-by: Ladislav Michl 
> >Reviewed-by: Tom Rini 
> >Acked-by: Enric Balletbo Serra 
> >---
> >  board/isee/igep00x0/igep00x0.c | 33 +++--
> >  1 file changed, 19 insertions(+), 14 deletions(-)
> 
> Reviewed-by: Heiko Schocher 
> 
> Tom? Is it OK if I apply this patch to u-boot-ubi.git, as the SPL ubi
> patches depend on this series?

I'll pick up this series (and some other TI platform stuff) in the next
day or two, thanks!

-- 
Tom


signature.asc
Description: Digital signature
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 1/8] board: ti: ks2_evm: remove board_eth_init when CONFIG_DM_ETH is defined

2016-01-20 Thread Tom Rini
On Wed, Jan 20, 2016 at 05:30:50PM +0530, Mugunthan V N wrote:

> remove board_eth_init when CONFIG_DM_ETH is defined
> 
> Signed-off-by: Mugunthan V N 

Reviewed-by: Tom Rini 

-- 
Tom


signature.asc
Description: Digital signature
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 3/8] drivers: net: keystone_net: convert driver to adopt device driver model

2016-01-20 Thread Tom Rini
On Wed, Jan 20, 2016 at 05:30:52PM +0530, Mugunthan V N wrote:

> Adopt keystone_net driver to adopt device driver model
> 
> Signed-off-by: Mugunthan V N 

Reviewed-by: Tom Rini 

-- 
Tom


signature.asc
Description: Digital signature
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 2/8] drivers: net: phy: micrel: fix build errors with CONFIG_DM_ETH

2016-01-20 Thread Tom Rini
On Wed, Jan 20, 2016 at 05:30:51PM +0530, Mugunthan V N wrote:

> When Micrel phy is selected without CONFIG_PHY_MICREL_KSZ9031 or
> CONFIG_PHY_MICREL_KSZ9021 there  is a build warning. Fixing this

build error

> by adding proper ifdefs
> 
> drivers/net/phy/micrel.c:370:39: error: array type has incomplete element type
>  static const struct ksz90x1_reg_field ksz9031_ctl_grp[] =
>^
> drivers/net/phy/micrel.c:372:39: error: array type has incomplete element type
>  static const struct ksz90x1_reg_field ksz9031_clk_grp[] =
>^
> drivers/net/phy/micrel.c: In function ‘ksz9031_of_config’:
> drivers/net/phy/micrel.c:377:23: error: array type has incomplete element type
>   struct ksz90x1_ofcfg ofcfg[] = {
>^
> drivers/net/phy/micrel.c:379:13: error: ‘ksz90x1_rxd_grp’ undeclared (first 
> use in this function)
>{ MII_KSZ9031_EXT_RGMII_RX_DATA_SKEW, 2, ksz90x1_rxd_grp, 4 },
>  ^
> drivers/net/phy/micrel.c:379:13: note: each undeclared identifier is reported 
> only once for each function it appears in
> drivers/net/phy/micrel.c:380:13: error: ‘ksz90x1_txd_grp’ undeclared (first 
> use in this function)
>{ MII_KSZ9031_EXT_RGMII_TX_DATA_SKEW, 2, ksz90x1_txd_grp, 4 },
>  ^
> drivers/net/phy/micrel.c:386:3: warning: implicit declaration of function 
> ‘ksz90x1_of_config_group’ [-Wimplicit-function-declaration]
>ret = ksz90x1_of_config_group(phydev, &(ofcfg[i]));
>^
> drivers/net/phy/micrel.c:377:23: warning: unused variable ‘ofcfg’ 
> [-Wunused-variable]
>   struct ksz90x1_ofcfg ofcfg[] = {
>^
> drivers/net/phy/micrel.c: At top level:
> drivers/net/phy/micrel.c:370:39: warning: ‘ksz9031_ctl_grp’ defined but not 
> used [-Wunused-variable]
>  static const struct ksz90x1_reg_field ksz9031_ctl_grp[] =
>^
> drivers/net/phy/micrel.c:372:39: warning: ‘ksz9031_clk_grp’ defined but not 
> used [-Wunused-variable]
>  static const struct ksz90x1_reg_field ksz9031_clk_grp[] =
>^
> scripts/Makefile.build:277: recipe for target 'drivers/net/phy/micrel.o' 
> failed
> make[1]: *** [drivers/net/phy/micrel.o] Error 1
> Makefile:1201: recipe for target 'drivers/net/phy' failed
> make: *** [drivers/net/phy] Error 2
> make: *** Waiting for unfinished jobs
> 
> Signed-off-by: Mugunthan V N 

Reviewed-by: Tom Rini 

-- 
Tom


signature.asc
Description: Digital signature
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 6/8] defconfig: k2e_evm_defconfig: enable net driver model

2016-01-20 Thread Tom Rini
On Wed, Jan 20, 2016 at 05:30:55PM +0530, Mugunthan V N wrote:

> enable net driver model for k2e evm as keystone_net supports
> driver model
> 
> Signed-off-by: Mugunthan V N 

Reviewed-by: Tom Rini 

-- 
Tom


signature.asc
Description: Digital signature
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 5/8] defconfig: k2l_evm_defconfig: enable net driver model

2016-01-20 Thread Tom Rini
On Wed, Jan 20, 2016 at 05:30:54PM +0530, Mugunthan V N wrote:

> enable net driver model for k2l evm as keystone_net supports
> driver model
> 
> Signed-off-by: Mugunthan V N 

Reviewed-by: Tom Rini 

-- 
Tom


signature.asc
Description: Digital signature
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 4/8] defconfig: k2hk_evm_defconfig: enable net driver model

2016-01-20 Thread Tom Rini
On Wed, Jan 20, 2016 at 05:30:53PM +0530, Mugunthan V N wrote:

> enable net driver model for k2hk evm as keystone_net supports
> driver model
> 
> Signed-off-by: Mugunthan V N 

Reviewed-by: Tom Rini 

-- 
Tom


signature.asc
Description: Digital signature
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 0/4] tegra: Move tegra20 towards the 'new' display bindings

2016-01-20 Thread Thierry Reding
On Tue, Jan 19, 2016 at 09:47:11AM -0700, Stephen Warren wrote:
> On 01/18/2016 06:58 PM, Simon Glass wrote:
> >Hi Stephen,
> >
> >On 18 January 2016 at 12:52, Stephen Warren  wrote:
> >>On 01/14/2016 04:12 PM, Simon Glass wrote:
> >>>
> >>>Hi Lucas,
> >>>
> >>>On 14 January 2016 at 13:34, Lucas Stach  wrote:
> 
> Am Donnerstag, den 14.01.2016, 13:26 -0700 schrieb Simon Glass:
> >
> >The original tegra20 display driver was written before Linux had
> >device tree
> >bindings for display. Since then Linux has developed a robust set of
> >bindings
> >covering various aspects of enabling a display.
> >
> >This series moves closer to those bindings by using the panel and
> >backlight
> >as separate drivers. The device tree files for seaboard, ventana and
> >harmony
> >thereby become almost the same as Linux.
> >
> >Unfortunately this breaks the other boards, which will need a similar
> >sync.
> >So I'm not sure how easy it will be to accept this series. Still, it
> >seems
> >worth sending it out in the hope that board maintainers can help. I
> >have
> >kept this series separate so that it can progress separately.
> >
> By pushing display timings into the DT you are actually diverging from
> mainline, as mainline doesn't require this, but instead infers the
> timings from the panel compatible. Is this a desired goal?
> >>>
> >>>
> >>>This is not divergence.
> >>
> >>
> >>Really? The DT content is different. Isn't that the definition of
> >>divergence?
> >
> >You might infer that from the movie, but divergence really means that
> >things are getting further apart. So I think here we have convergence.
> >
> >>
> >>>Please take a look at the patch series. The
> >>>device tree files are very close to the same now. The existing U-Boot
> >>>support has display timings in the device tree too, so this is not
> >>>being added.
> >>>
> >>>The display timings are a small part of the work, but in the back of
> >>>my mind is that we don't want to have a big table of display panel
> >>>timings as exists in Linux. This is a waste of space when a board will
> >>>only use one panel.
> >>
> >>
> >>That was rather the point of the panel-specific compatible values: To force
> >>the DT to contain a semantic definition of the type of panel, rather than a
> >>"generic" definition of timings. A benefit of the semantic representation is
> >>that if we later find bugs that need to be fixed on certain panels, if we
> >>know the panel type, then bug fixes can be applied. Equally, if we enhance
> >>the SW to require more data about the panel, that can be added to a driver
> >>without the need to change the DT, thus allowing old DTs to continue to
> >>work. More semantic rather than purely "syntactic" knowledge is available.
> >>However, if we only have a generic timing definition (or other data suitable
> >>for current SW features or code-paths), then panel-specific bug fixes will
> >>never be possible since SW can't know the identify of the panel. The
> >>disadvantage of requiring a mapping table between panel type and display
> >>timings was considered reasonable for SW stacks at which DT was targeted
> >>(i.e. main OSs rather than HW-specific bootloaders). Even so, to avoid the
> >>bloat issue, you can always just #ifdef the mapping table and end up with
> >>the same code size; even less perhaps since no timing DT parsing code is
> >>required.
> >>
> >>At least, that was the reasoning when the DT bindings for Tegra panels were
> >>first created; IIRC there was discussion of bindings for generic panels,
> >>timings, panel power sequences, etc., and they were rejected for the reason
> >>I explained above and perhaps others. However, it does seem someone has
> >>changed their mind again given that the generic panel-timings binding does
> >>exist now. This is one of the many things that sucks about DT; no decision
> >>is ever kept, so consistency in design and implementation isn't possible:-(
> >
> >Sounds a bit contrived to me.
> 
> I believe this approach has been taken after years of experience with DT and
> having to retro-fit bug-fixes and new features into existing DTs.
> 
> Still, you'd get the best background from the Linux kernel DT maintainers on
> this topic, since they have experience with DT over more years than me. I'm
> simply reporting the arguments they've presented.

To be fair, the panel bindings came about after the display-timings
binding. Perhaps the main reason why the panel bindings are what they
are today is because I consider them devices no different at all from
peripherals and the like. Back at the time, most of the pushback was
because people believed that panels were somehow special in that they
would simply require the video timings to make them work, and hence
having some generic helpers to parse them from DT would be enough and
is what many drivers ended up implementing.

But it turned out that there's more

Re: [U-Boot] [PATCH v2 01/50] dm: clk: Add support for decoding clocks from the device tree

2016-01-20 Thread Simon Glass
Hi Masahiro,

On 19 January 2016 at 22:38, Masahiro Yamada
 wrote:
>
> Hi Simon,
>
>
> >>>
> >>> +/**
> >>> + * clk_get_by_index() - look up a clock referenced by a device
> >>> + *
> >>> + * Parse a device's 'clocks' list, returning information on the indexed 
> >>> clock,
> >>> + * ensuring that it is activated.
> >>> + *
> >>> + * @dev:   Device containing the clock reference
> >>> + * @index: Clock index to return (0 = first)
> >>> + * @clk_devp:  Returns clock device
> >>> + * @return:Peripheral ID for the device to control. This is the first
> >>> + * argument after the clock node phandle. If there is no 
> >>> arguemnt,
> >>> + * returns 0. Return -ve error code on any error
> >>> + */
> >>> +int clk_get_by_index(struct udevice *dev, int index, struct udevice 
> >>> **clk_devp);
> >>>  #endif /* _CLK_H_ */
> >>
> >>
> >> I want #ifdef in the header too, like mine
> >> http://patchwork.ozlabs.org/patch/566812/
> >
> > I am not keen on that idea since it clutters up header files and we'll
> > get a link error anyway if something is missing. Anyway, I've added
> > it.
>
>
>
> I am afraid there is misunderstanding here.
>
> Please see my patch carefully.
>
>
> What I mean is like this:
>
>
>   #if  ...
>   declaration of function prototype
>   #else
>   static inline empty function
>   #endif
>
>
> This is a common technique to avoid a link error.

Do you think this function will be called when device tree is not
enabled? I cannot see how it would have any meaning in that case. What
is the purpose?

Regards,
Simon
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v3 7/8] dm: x86: queensbay: Add an interrupt driver

2016-01-20 Thread Simon Glass
Hi Bin,

On 20 January 2016 at 02:28, Bin Meng  wrote:
> On Wed, Jan 20, 2016 at 12:32 PM, Simon Glass  wrote:
>> Add a driver for interrupts on queensbay and move the code currently in
>> cpu_irq_init() into its probe() method.
>>
>> Signed-off-by: Simon Glass 
>> Reviewed-by: Bin Meng 
>> ---
>>
>> Changes in v3: None
>> Changes in v2: None
>>
>>  arch/x86/cpu/queensbay/Makefile |  2 +-
>>  arch/x86/cpu/queensbay/irq.c| 65 
>> +
>>  arch/x86/cpu/queensbay/tnc.c| 37 ---
>>  arch/x86/dts/crownbay.dts   |  2 +-
>>  4 files changed, 67 insertions(+), 39 deletions(-)
>>  create mode 100644 arch/x86/cpu/queensbay/irq.c
>>
>
> Tested-by: Bin Meng 

OK I'm pleased this works - thanks for testing it. I'll leave you to apply it.

Regards,
Simon
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 7/8] ARM: dts: k2g: Add keystone net dts files

2016-01-20 Thread Tom Rini
On Wed, Jan 20, 2016 at 05:30:56PM +0530, Mugunthan V N wrote:

> Add keystone net DT support for k2g evm.
> 
> Signed-off-by: Mugunthan V N 

Reviewed-by: Tom Rini 

-- 
Tom


signature.asc
Description: Digital signature
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 8/8] defconfig: k2g_evm_defconfig: enable net driver model

2016-01-20 Thread Tom Rini
On Wed, Jan 20, 2016 at 05:30:57PM +0530, Mugunthan V N wrote:

> enable net driver model for k2g evm as keystone_net supports
> driver model
> 
> Signed-off-by: Mugunthan V N 

Reviewed-by: Tom Rini 

-- 
Tom


signature.asc
Description: Digital signature
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 1/3] ARMv8/layerscape: Add mmu_init API

2016-01-20 Thread york sun
On 01/20/2016 04:06 AM, Zhiqiang Hou wrote:



> I am not know cache and mmu so much, and have some question:
> For ARM:
> Why there isn't a isolate API for mmu_setup, but invoke it from 
> dcache_enable()?
> If data cache won't be used, the MMU also cannot be used?

No. If MMU is not enabled, cacheability cannot be set.

York


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


Re: [U-Boot] [PATCH ] board: ls2080a: Add "mcinitcmd" env for MC & DPL deployment

2016-01-20 Thread york sun
On 01/19/2016 10:59 PM, Pratiyush Mohan Srivastava wrote:
> From: Pratiyush Mohan Srivastava 
> 
> Environment variable mcinitcmd is defined to initiate MC and DPL deployment
> from the location where it is stored(NOR, NAND, SD, SATA, USB)during u-boot
> booting.If this variable is not defined then macro MC_BOOT_ENV_VAR will be 
> null and
> MC will not be booted and DPL will not be applied during U-boot booting.
> 
> Signed-off-by: Pratiyush Mohan Srivastava 
> Signed-off-by: Prabhakar Kushwaha 
> ---
>  arch/arm/cpu/armv8/fsl-layerscape/README.lsch3 | 29 
> ++
>  board/freescale/ls2080aqds/eth.c   |  5 +
>  board/freescale/ls2080ardb/eth_ls2080rdb.c |  5 +
>  3 files changed, 39 insertions(+)
> 



> diff --git a/board/freescale/ls2080aqds/eth.c 
> b/board/freescale/ls2080aqds/eth.c
> index 5b9c2d1..db9de77 100644
> --- a/board/freescale/ls2080aqds/eth.c
> +++ b/board/freescale/ls2080aqds/eth.c
> @@ -20,6 +20,7 @@
>  
>  #include "ls2080aqds_qixis.h"
>  
> +#define MC_BOOT_ENV_VAR "mcinitcmd"
>  
>  #ifdef CONFIG_FSL_MC_ENET
>   /* - In LS2080A there are only 16 SERDES lanes, spread across 2 SERDES 
> banks.
> @@ -714,6 +715,7 @@ void ls2080a_handle_phy_interface_xsgmii(int i)
>  int board_eth_init(bd_t *bis)
>  {
>   int error;
> + char *mc_boot_env_var;
>  #ifdef CONFIG_FSL_MC_ENET
>   struct ccsr_gur __iomem *gur = (void *)CONFIG_SYS_FSL_GUTS_ADDR;
>   int serdes1_prtcl = (in_le32(&gur->rcwsr[28]) &
> @@ -781,6 +783,9 @@ int board_eth_init(bd_t *bis)
>   }
>   }
>  
> + mc_boot_env_var = getenv(MC_BOOT_ENV_VAR);
> + if (mc_boot_env_var)
> + run_command_list(mc_boot_env_var, -1, 0);
>   error = cpu_eth_init(bis);

Why not put the code into cpu_eth_init()?

York

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


Re: [U-Boot] [PATCH 3/4] tegra: video: Always use write-through cache on LCD

2016-01-20 Thread Simon Glass
Hi Thierry,

On 20 January 2016 at 07:53, Thierry Reding  wrote:
> On Mon, Jan 18, 2016 at 01:07:10PM -0700, Stephen Warren wrote:
>> On 01/14/2016 01:26 PM, Simon Glass wrote:
>> >This seems to give the best performance, so let's use it always.
>>
>> I thought we chose the current cache mode due to display corruption issues
>> with other modes, but I tested a change that I believe does the same as this
>> change on Seaboard without any apparent issue so,
>>
>> Acked-by: Stephen Warren 
>
> I think for framebuffers the best option is still write-combine, which
> would be something like:
>
> DCACHE_WRITECOMBINE = DCACHE_OFF | TTB_SECT_B_MASK
>
> on ARM v7. Did you ever benchmark that against DCACHE_WRITETHROUGH? It
> should be faster provided that you never read from the region.

This is noticeably slower in my experience. Reading from the region is
pretty common - e.g. scrolling.

Regards,
Simon
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 0/4] tegra: Move tegra20 towards the 'new' display bindings

2016-01-20 Thread Simon Glass
Hi,

On 20 January 2016 at 08:37, Thierry Reding  wrote:
> On Tue, Jan 19, 2016 at 09:47:11AM -0700, Stephen Warren wrote:
>> On 01/18/2016 06:58 PM, Simon Glass wrote:
>> >Hi Stephen,
>> >
>> >On 18 January 2016 at 12:52, Stephen Warren  wrote:
>> >>On 01/14/2016 04:12 PM, Simon Glass wrote:
>> >>>
>> >>>Hi Lucas,
>> >>>
>> >>>On 14 January 2016 at 13:34, Lucas Stach  wrote:
>> 
>> Am Donnerstag, den 14.01.2016, 13:26 -0700 schrieb Simon Glass:
>> >
>> >The original tegra20 display driver was written before Linux had
>> >device tree
>> >bindings for display. Since then Linux has developed a robust set of
>> >bindings
>> >covering various aspects of enabling a display.
>> >
>> >This series moves closer to those bindings by using the panel and
>> >backlight
>> >as separate drivers. The device tree files for seaboard, ventana and
>> >harmony
>> >thereby become almost the same as Linux.
>> >
>> >Unfortunately this breaks the other boards, which will need a similar
>> >sync.
>> >So I'm not sure how easy it will be to accept this series. Still, it
>> >seems
>> >worth sending it out in the hope that board maintainers can help. I
>> >have
>> >kept this series separate so that it can progress separately.
>> >
>> By pushing display timings into the DT you are actually diverging from
>> mainline, as mainline doesn't require this, but instead infers the
>> timings from the panel compatible. Is this a desired goal?
>> >>>
>> >>>
>> >>>This is not divergence.
>> >>
>> >>
>> >>Really? The DT content is different. Isn't that the definition of
>> >>divergence?
>> >
>> >You might infer that from the movie, but divergence really means that
>> >things are getting further apart. So I think here we have convergence.
>> >
>> >>
>> >>>Please take a look at the patch series. The
>> >>>device tree files are very close to the same now. The existing U-Boot
>> >>>support has display timings in the device tree too, so this is not
>> >>>being added.
>> >>>
>> >>>The display timings are a small part of the work, but in the back of
>> >>>my mind is that we don't want to have a big table of display panel
>> >>>timings as exists in Linux. This is a waste of space when a board will
>> >>>only use one panel.
>> >>
>> >>
>> >>That was rather the point of the panel-specific compatible values: To force
>> >>the DT to contain a semantic definition of the type of panel, rather than a
>> >>"generic" definition of timings. A benefit of the semantic representation 
>> >>is
>> >>that if we later find bugs that need to be fixed on certain panels, if we
>> >>know the panel type, then bug fixes can be applied. Equally, if we enhance
>> >>the SW to require more data about the panel, that can be added to a driver
>> >>without the need to change the DT, thus allowing old DTs to continue to
>> >>work. More semantic rather than purely "syntactic" knowledge is available.
>> >>However, if we only have a generic timing definition (or other data 
>> >>suitable
>> >>for current SW features or code-paths), then panel-specific bug fixes will
>> >>never be possible since SW can't know the identify of the panel. The
>> >>disadvantage of requiring a mapping table between panel type and display
>> >>timings was considered reasonable for SW stacks at which DT was targeted
>> >>(i.e. main OSs rather than HW-specific bootloaders). Even so, to avoid the
>> >>bloat issue, you can always just #ifdef the mapping table and end up with
>> >>the same code size; even less perhaps since no timing DT parsing code is
>> >>required.
>> >>
>> >>At least, that was the reasoning when the DT bindings for Tegra panels were
>> >>first created; IIRC there was discussion of bindings for generic panels,
>> >>timings, panel power sequences, etc., and they were rejected for the reason
>> >>I explained above and perhaps others. However, it does seem someone has
>> >>changed their mind again given that the generic panel-timings binding does
>> >>exist now. This is one of the many things that sucks about DT; no decision
>> >>is ever kept, so consistency in design and implementation isn't possible:-(
>> >
>> >Sounds a bit contrived to me.
>>
>> I believe this approach has been taken after years of experience with DT and
>> having to retro-fit bug-fixes and new features into existing DTs.
>>
>> Still, you'd get the best background from the Linux kernel DT maintainers on
>> this topic, since they have experience with DT over more years than me. I'm
>> simply reporting the arguments they've presented.
>
> To be fair, the panel bindings came about after the display-timings
> binding. Perhaps the main reason why the panel bindings are what they
> are today is because I consider them devices no different at all from
> peripherals and the like. Back at the time, most of the pushback was
> because people believed that panels were somehow special in that they
> would simply require the video timings to ma

Re: [U-Boot] [PATCH] armv8/ls1043a: Implement workaround for erratum A009660

2016-01-20 Thread york sun
On 01/19/2016 10:44 PM, Mingkai Hu wrote:
> From: Mingkai Hu 
> 
> Memory controller performance is not optimal with default internal
> target queue register value, write required value for optimal DDR
> performance.
> 
> Signed-off-by: Mingkai Hu 
> ---
>  arch/arm/cpu/armv8/fsl-layerscape/soc.c   | 13 +
>  arch/arm/include/asm/arch-fsl-layerscape/config.h |  1 +
>  2 files changed, 14 insertions(+)
> 
> diff --git a/arch/arm/cpu/armv8/fsl-layerscape/soc.c 
> b/arch/arm/cpu/armv8/fsl-layerscape/soc.c
> index 23d6b73..485f5cd 100644
> --- a/arch/arm/cpu/armv8/fsl-layerscape/soc.c
> +++ b/arch/arm/cpu/armv8/fsl-layerscape/soc.c
> @@ -210,6 +210,18 @@ static void erratum_a009929(void)
>  #endif
>  }
>  
> +/*
> + * This erratum requires setting a value to eddrtqcr1 to
> + * optimal the DDR performance.
> + */
> +static void erratum_a009660(void)
> +{
> +#ifdef CONFIG_SYS_FSL_ERRATUM_A009660
> + u32 *eddrtqcr1 = (void *)CONFIG_SYS_FSL_SCFG_ADDR + 0x20c;
> + out_be32(eddrtqcr1, 0x63b20042);
> +#endif
> +}
> +
>  void fsl_lsch2_early_init_f(void)
>  {
>   struct ccsr_cci400 *cci = (struct ccsr_cci400 *)CONFIG_SYS_CCI400_ADDR;
> @@ -232,6 +244,7 @@ void fsl_lsch2_early_init_f(void)
>  
>   /* Erratum */
>   erratum_a009929();
> + erratum_a009660();
>  }
>  #endif
>  
> diff --git a/arch/arm/include/asm/arch-fsl-layerscape/config.h 
> b/arch/arm/include/asm/arch-fsl-layerscape/config.h
> index 49b113d..66399b2 100644
> --- a/arch/arm/include/asm/arch-fsl-layerscape/config.h
> +++ b/arch/arm/include/asm/arch-fsl-layerscape/config.h
> @@ -167,6 +167,7 @@
>  #define GICC_BASE0x01402000
>  
>  #define CONFIG_SYS_FSL_ERRATUM_A009929
> +#define CONFIG_SYS_FSL_ERRATUM_A009660
>  #else
>  #error SoC not defined
>  #endif
> 

NACK.

Erratum A009660 is cancelled. The workaround is integrated into A008514. Please
revise workaround for A008514. Besides, you are using ARMv7 offset for ARMv8.
Please check if this workaround applies to LS2 SoCs. While you are on it, please
add a comment to LS1 workaround with the word A008514 so we can grep it.

York

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


Re: [U-Boot] [PATCH 1/2] driver: net: ldpaa_eth: Add support of PHY framework

2016-01-20 Thread york sun
On 01/19/2016 10:35 PM, Prabhakar Kushwaha wrote:
> This patch integrate DPAA2 ethernet driver existing PHY framework.
> 
> Call phy_connect and phy_config as per available DPMAC id defined
> in SerDes Protcol.
> 
> Signed-off-by: Pratiyush Mohan Srivastava 
> Signed-off-by: Prabhakar Kushwaha 
> ---

For future patches related to network, please CC Joe so he is aware your change.

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


Re: [U-Boot] [PATCH v5 2/2] usb: eth: add Realtek RTL8152B/RTL8153 DRIVER

2016-01-20 Thread Stephen Warren

On 01/19/2016 11:24 PM, Ted Chen wrote:

This patch adds driver support for the Realtek RTL8152B/RTL8153 USB
network adapters.


This looks fine to me, although I didn't take a detailed enough look to 
actually give and an ack/reviewed-by.

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


Re: [U-Boot] [PATCH] env_mmc: support overriding mmc dev from board code

2016-01-20 Thread Stephen Warren

On 01/20/2016 07:43 AM, Clemens Gruber wrote:

This enables boards to choose where to/from the environment should be
saved/loaded. They can then for example support using the same device
(dynamically) from which the bootloader was launched to load and save
env data and do not have to define CONFIG_SYS_MMC_ENV_DEV statically.

In my use case, the environment needs to be on the same device I
booted from. It can be the eMMC or an optional SD card.
I therefore would override mmc_get_env_dev in the board code, read the
CPU registers to determine where we booted from and return the
corresponding device index.


Reviewed-by: Stephen Warren 

I was going to ask: What about the HW partition number and offset, but 
it appears that there is already a method to override those at run-time:-)

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


Re: [U-Boot] [Patch V4 1/4] spi: fsl_qspi: fix compile warning for 64-bit platform

2016-01-20 Thread york sun
On 01/19/2016 08:03 PM, Qianyu Gong wrote:
> 
>> -Original Message-
>> From: york sun
>> Sent: Wednesday, January 20, 2016 2:42 AM
>> To: Qianyu Gong ; u-boot@lists.denx.de
>> Cc: Mingkai Hu ; jt...@openedev.com; Yao Yuan
>> ; r58...@freescale.com; Gong Qianyu
>> 
>> Subject: Re: [Patch V4 1/4] spi: fsl_qspi: fix compile warning for 64-bit 
>> platform
>>
>> On 01/10/2016 06:14 PM, Gong Qianyu wrote:
>>> From: Gong Qianyu 
>>>
>>> This patch fixes the following compile warning:
>>> drivers/spi/fsl_qspi.c: In function 'fsl_qspi_probe':
>>> drivers/spi/fsl_qspi.c:937:15:
>>>   warning: cast to pointer from integer of different size
>>>  [-Wint-to-pointer-cast]
>>>   priv->regs = (struct fsl_qspi_regs *)plat->reg_base;
>>>^
>>> Just make the cast explict.
>>>
>>> Signed-off-by: Gong Qianyu 
>>> ---
>>> V4:
>>>  - Revise the commit message.
>>> V2-V3:
>>>  - No change.
>>>
>>>  drivers/spi/fsl_qspi.c | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/spi/fsl_qspi.c b/drivers/spi/fsl_qspi.c index
>>> feec3e8..9f23c10 100644
>>> --- a/drivers/spi/fsl_qspi.c
>>> +++ b/drivers/spi/fsl_qspi.c
>>> @@ -936,7 +936,7 @@ static int fsl_qspi_probe(struct udevice *bus)
>>>
>>> dm_spi_bus->max_hz = plat->speed_hz;
>>>
>>> -   priv->regs = (struct fsl_qspi_regs *)plat->reg_base;
>>
>> The reg_base is u32. Is it always correct on 64-bit SoC?
>>
> 
> So far it's always a u32 type of CCSR address.
> 
>>> +   priv->regs = (struct fsl_qspi_regs *)(unsigned long)plat->reg_base;
>>
>> How about (struct fsl_qspi_regs *)(uintptr_t)plat->reg_base?
>>
>> York
>>
> 
> The size of ''unsigned long'' depends on compilers. It works well with GCC.
> 
> Looks the same. But not sure what is defining CONFIG_USE_STDIN for.
> 
> #ifdef CONFIG_USE_STDIN
> /* Provided by gcc. */
> #include 
> #else
> /* Type for `void *' pointers. */
> typedef unsigned long int uintptr_t;
> #endif
>

uintptr_t is specifically defined for this type of use. You can grep it in
u-boot to see examples.

York


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


Re: [U-Boot] [PATCH v2 1/9] Revert "fdt_support: Add multi-serial support for stdout fixup"

2016-01-20 Thread Simon Glass
On 13 January 2016 at 20:38, Bin Meng  wrote:
> This reverts commit 3e303f748cf57fb23e8ec95ab7eac0074be50e2b.
>
> The fix up in the /aliases node does not work under the following
> scenarios:
> - Not every non-DM serial driver was written to have a driver name
>   that conforms the format of "serial%d" or "eserial%d".
> - With driver model serial, the stdio_devices[] stores the serial
>   device node name in the device tree.
>
> Signed-off-by: Bin Meng 
>
> ---
>
> Changes in v2:
> - Rewrite the commit message using 'git revert' format.
>
>  common/fdt_support.c | 16 +---
>  1 file changed, 1 insertion(+), 15 deletions(-)

Acked-by: Simon Glass 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] bootm: fix size arg of flush_cache() in bootm_load_os().

2016-01-20 Thread Simon Glass
On 20 January 2016 at 01:37, Purna Chandra Mandal
 wrote:
> Variable _load_end_ points to end address of uncompressed buffer
> (*not* uncomress_buffer_end / sizeof(ulong)), so multipling uncompressed
> size with sizeof(ulong) is grossly incorrect in flush_cache().
> It might lead to access of address beyond valid memory range and hang the CPU.
>
> Tested on MIPS architecture by using compressed(gzip, lzma)
> and uncompressed uImage.
>
> Signed-off-by: Purna Chandra Mandal 
> ---
>
>  common/bootm.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Reviewed-by: Simon Glass 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v2 8/9] arm: ls1021atwr: Split off board device tree

2016-01-20 Thread Simon Glass
On 13 January 2016 at 20:39, Bin Meng  wrote:
> Move /chosen node out of the board device tree.
>
> Signed-off-by: Bin Meng 
>
> ---
>
> Changes in v2:
> - New patch to split off board device tree
>
>  arch/arm/dts/Makefile  |  2 +-
>  arch/arm/dts/ls1021a-twr-duart.dts | 16 
>  arch/arm/dts/{ls1021a-twr.dts => ls1021a-twr.dtsi} |  3 +--
>  configs/ls1021atwr_nor_defconfig   |  2 +-
>  configs/ls1021atwr_qspi_defconfig  |  2 +-
>  configs/ls1021atwr_sdcard_qspi_defconfig   |  2 +-
>  6 files changed, 21 insertions(+), 6 deletions(-)
>  create mode 100644 arch/arm/dts/ls1021a-twr-duart.dts
>  rename arch/arm/dts/{ls1021a-twr.dts => ls1021a-twr.dtsi} (96%)

Acked-by: Simon Glass 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v2 4/9] serial: lpuart: Fix several cosmetic issues

2016-01-20 Thread Simon Glass
On 13 January 2016 at 20:39, Bin Meng  wrote:
> Clean up the driver codes a little bit, by:
> - Use tab instead of space in the macro defines
> - Use single line comment whenever possible
> - Fix insertion of blank lines
>
> Signed-off-by: Bin Meng 
> Reviewed-by: Simon Glass 
> ---
>
> Changes in v2: None
>
>  drivers/serial/serial_lpuart.c | 35 +++
>  1 file changed, 15 insertions(+), 20 deletions(-)

Acked-by: Simon Glass 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v2 6/9] serial: lpuart: Prepare the driver for DM conversion

2016-01-20 Thread Simon Glass
On 13 January 2016 at 20:39, Bin Meng  wrote:
> Create internal routines which take lpuart's register base as
> a parameter, in preparation for driver model conversion.
>
> Signed-off-by: Bin Meng 
> Reviewed-by: Simon Glass 
>
> ---
>
> Changes in v2:
> - Add missing 'base' parameter in the call to _lpuart_serial_tstc()
> - Change internal routines' parameter 'reg' to 'base'
>
>  drivers/serial/serial_lpuart.c | 88 
> +++---
>  1 file changed, 66 insertions(+), 22 deletions(-)
>

Acked-by: Simon Glass 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v2 5/9] serial: lpuart: Call local version of setbrg and putc directly

2016-01-20 Thread Simon Glass
On 13 January 2016 at 20:39, Bin Meng  wrote:
> There is no need to go through serial driver subsystem, instead
> call the driver's setbrg and putc routines directly.
>
> Signed-off-by: Bin Meng 
> Reviewed-by: Simon Glass 
> ---
>
> Changes in v2: None
>
>  drivers/serial/serial_lpuart.c | 8 
>  1 file changed, 4 insertions(+), 4 deletions(-)

Acked-by: Simon Glass 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v2 3/9] serial: lpuart: Move CONFIG_FSL_LPUART to Kconfig

2016-01-20 Thread Simon Glass
On 15 January 2016 at 14:11, Stefan Agner  wrote:
> Looks good to me,
>
> Acked-by: Stefan Agner 
>
> On 13.01.2016 19:39, Bin Meng wrote:
>> LPUART is seen on Freescale VF610 and QorIQ Layerscape devices.
>> Create a Kconfig option and move it to defconfig for all boards
>> that have this serial driver.
>>
>> Signed-off-by: Bin Meng 
>> Reviewed-by: Simon Glass 
>> ---
>>
>> Changes in v2: None
>>
>>  configs/colibri_vf_defconfig | 1 +
>>  configs/colibri_vf_dtb_defconfig | 1 +
>>  configs/ls1021aqds_ddr4_nor_lpuart_defconfig | 1 +
>>  configs/ls1021aqds_nor_lpuart_defconfig  | 1 +
>>  configs/ls1021atwr_nor_lpuart_defconfig  | 1 +
>>  configs/pcm052_defconfig | 1 +
>>  configs/vf610twr_defconfig   | 1 +
>>  configs/vf610twr_nand_defconfig  | 1 +
>>  drivers/serial/Kconfig   | 6 ++
>>  include/configs/colibri_vf.h | 1 -
>>  include/configs/ls1021aqds.h | 1 -
>>  include/configs/ls1021atwr.h | 1 -
>>  include/configs/pcm052.h | 1 -
>>  include/configs/vf610twr.h   | 1 -
>>  14 files changed, 14 insertions(+), 5 deletions(-)
>>

Acked-by: Simon Glass 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v2 2/9] arm: ls1021atwr: Convert to driver model and enable serial support

2016-01-20 Thread Simon Glass
On 13 January 2016 at 20:38, Bin Meng  wrote:
> Convert ls1021atwr_nor to driver model support. As a start, enable
> ns16550 serial port driver.
>
> Signed-off-by: Bin Meng 
> ---
>
> Changes in v2: None
>
>  arch/arm/dts/ls1021a-twr.dts | 4 
>  arch/arm/dts/ls1021a.dtsi| 4 
>  configs/ls1021atwr_nor_defconfig | 4 
>  include/configs/ls1021atwr.h | 2 ++
>  4 files changed, 10 insertions(+), 4 deletions(-)

Acked-by: Simon Glass 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v2 7/9] serial: lpuart: Add driver model serial support

2016-01-20 Thread Simon Glass
On 13 January 2016 at 20:39, Bin Meng  wrote:
> This adds driver model support to lpuart serial driver.
>
> Signed-off-by: Bin Meng 
>
> ---
>
> Changes in v2:
> - Split to use two separate U_BOOT_DRIVER()
>
>  doc/driver-model/serial-howto.txt |   1 -
>  drivers/serial/serial_lpuart.c| 167 
> ++
>  2 files changed, 167 insertions(+), 1 deletion(-)

Acked-by: Simon Glass 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v2 9/9] arm: ls1021atwr: Enable driver model lpuart serial driver

2016-01-20 Thread Simon Glass
On 18 January 2016 at 02:39, Huan Wang  wrote:
> Hi,
>
>> -Original Message-
>> From: Bin Meng [mailto:bmeng...@gmail.com]
>> Sent: Thursday, January 14, 2016 11:39 AM
>> To: Simon Glass; Stefan Agner; Bhuvanchandra DV; Albert ARIBAUD (3ADEV);
>> York Sun; Alison Wang; U-Boot Mailing List
>> Subject: [PATCH v2 9/9] arm: ls1021atwr: Enable driver model lpuart
>> serial driver
>>
>> Convert ls1021atwr_nor_lpuart to driver model support. As a start,
>> enable lpuart serial port driver.
>>
>> Signed-off-by: Bin Meng 
>> Reviewed-by: Simon Glass 
>>
>> ---
>>
>> Changes in v2:
>> - Create a ls1021a-twr-lpuart.dts for ls1021atwr_nor_lpuart_defconfig
>>
>>  arch/arm/dts/Makefile   |  2 +-
>>  arch/arm/dts/ls1021a-twr-lpuart.dts | 16 
>>  configs/ls1021atwr_nor_lpuart_defconfig |  4 
>>  3 files changed, 21 insertions(+), 1 deletion(-)  create mode 100644
>> arch/arm/dts/ls1021a-twr-lpuart.dts
>>
>> diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index
>> 02b031e..4bbf661 100644
>> --- a/arch/arm/dts/Makefile
>> +++ b/arch/arm/dts/Makefile
>> @@ -89,7 +89,7 @@ dtb-$(CONFIG_TARGET_BEAGLE_X15) += am57xx-beagle-
>> x15.dtb
>>  dtb-$(CONFIG_TARGET_STV0991) += stv0991.dtb
>>
>>  dtb-$(CONFIG_LS102XA) += ls1021a-qds.dtb \
>> - ls1021a-twr-duart.dtb
>> + ls1021a-twr-duart.dtb ls1021a-twr-lpuart.dtb
>>  dtb-$(CONFIG_FSL_LSCH3) += fsl-ls2080a-qds.dtb \
>>   fsl-ls2080a-rdb.dtb
>>  dtb-$(CONFIG_FSL_LSCH2) += fsl-ls1043a-qds.dtb \ diff --git
>> a/arch/arm/dts/ls1021a-twr-lpuart.dts b/arch/arm/dts/ls1021a-twr-
>> lpuart.dts
>> new file mode 100644
>> index 000..2941ec0
>> --- /dev/null
>> +++ b/arch/arm/dts/ls1021a-twr-lpuart.dts
>> @@ -0,0 +1,16 @@
>> +/*
>> + * Freescale ls1021a TWR board device tree source
>> + *
>> + * Copyright 2013-2015 Freescale Semiconductor, Inc.
>> + *
>> + * SPDX-License-Identifier:  GPL-2.0+
>> + */
>> +
>> +/dts-v1/;
>> +#include "ls1021a-twr.dtsi"
>> +
>> +/ {
>> + chosen {
>> + stdout-path = &lpuart0;
>> + };
>> +};
>> diff --git a/configs/ls1021atwr_nor_lpuart_defconfig
>> b/configs/ls1021atwr_nor_lpuart_defconfig
>> index 58cd61f..599342f 100644
>> --- a/configs/ls1021atwr_nor_lpuart_defconfig
>> +++ b/configs/ls1021atwr_nor_lpuart_defconfig
>> @@ -1,7 +1,11 @@
>>  CONFIG_ARM=y
>>  CONFIG_TARGET_LS1021ATWR=y
>> +CONFIG_DM_SERIAL=y
>> +CONFIG_DEFAULT_DEVICE_TREE="ls1021a-twr-lpuart"
>>  CONFIG_SYS_EXTRA_OPTIONS="LPUART"
>>  # CONFIG_CMD_SETEXPR is not set
>> +CONFIG_OF_CONTROL=y
>> +CONFIG_DM=y
>>  CONFIG_NETDEVICES=y
>>  CONFIG_E1000=y
>>  CONFIG_FSL_LPUART=y
>> --
>> 1.8.2.1
>
> Reviewed-by: Alison Wang 
> Tested-by: Alison Wang 
>
>
> Best Regards,
> Alison Wang

Acked-by: Simon Glass 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] FPGA detection failure on Cyclone V soc development kit

2016-01-20 Thread Måns Rullgård
I'm having a problem with u-boot 2016.01 failing to detect the FPGA on
my Altera Cyclone V SoC Development Kit.  On startup, it simply prints
"FPGA: Not Altera chip ID" (the ID having been read as all-zero).  No
amount of messing with jumpers or switches makes a difference.  The
software on the SD card included in the box appears to work, so on a
whim I took the SPL pre-loader from this card and combined it with the
main 2016.01 u-boot.  This makes the detection succeed, despite Marek
baulking at this idea.  The "good" SPL identifies as "U-Boot SPL
2013.01.01 (Dec 04 2014 - 08:59:41)" which is a different build date
than the main u-boot on the same SD card, so which source code version
it was built from is anyone's guess.

What's interesting is that Marek's board works with u-boot 2016.01 while
mine fails even with the very same binary.  The boards are different
revisions (his 100-0321003-C1, mine -E1), and the main Cyclone V chips
are also different (his 5CSXFC6D6F31C8NES, mine 5CSXFC6D6F31C6N).

Any suggestions for what to try next?

-- 
Måns Rullgård
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 1/2] checkpatch: ignore request to use ether_addr_copy()

2016-01-20 Thread Stephen Warren

On 01/13/2016 11:23 AM, Stephen Warren wrote:

On 12/15/2015 04:41 PM, Joe Hershberger wrote:

Hi Stephen,

On Tue, Dec 15, 2015 at 5:34 PM, Stephen Warren
 wrote:

On 11/23/2015 04:36 PM, Joe Hershberger wrote:


On Fri, Nov 13, 2015 at 10:03 AM, Stephen Warren

wrote:


From: Stephen Warren 

The Linux kernel, from which checkpatch originates, contains function
ether_addr_copy() to copy Ethernet MAC addresses, and checkpatch warns
that it should be used in preference to memcpy() where appropriate.
U-Boot doesn't contain ether_addr_copy(), so tell checkpatch not to
issue
this warning.

Signed-off-by: Stephen Warren 



Acked-by: Joe Hershberger 



Were you intending someone else to apply this? I think now that Ted
Chen has
taken over the USB NIC driver (which was patch 2 in this series),
this patch
should be applied separately.


It is assigned to Marek in patchwork. If he's not going to take it,
then assign it to me and I'll pull it in.


Marek,

Are you taking this patch? If not, could you please re-assign it to Joe;
I don't believe I can modify patchwork myself.


Marek?

Tom, are you able to re-assign this patch to Joe in patchwork?

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


Re: [U-Boot] [PATCH 1/2] checkpatch: ignore request to use ether_addr_copy()

2016-01-20 Thread Tom Rini
On Wed, Jan 20, 2016 at 01:47:55PM -0700, Stephen Warren wrote:
> On 01/13/2016 11:23 AM, Stephen Warren wrote:
> >On 12/15/2015 04:41 PM, Joe Hershberger wrote:
> >>Hi Stephen,
> >>
> >>On Tue, Dec 15, 2015 at 5:34 PM, Stephen Warren
> >> wrote:
> >>>On 11/23/2015 04:36 PM, Joe Hershberger wrote:
> 
> On Fri, Nov 13, 2015 at 10:03 AM, Stephen Warren
> 
> wrote:
> >
> >From: Stephen Warren 
> >
> >The Linux kernel, from which checkpatch originates, contains function
> >ether_addr_copy() to copy Ethernet MAC addresses, and checkpatch warns
> >that it should be used in preference to memcpy() where appropriate.
> >U-Boot doesn't contain ether_addr_copy(), so tell checkpatch not to
> >issue
> >this warning.
> >
> >Signed-off-by: Stephen Warren 
> 
> 
> Acked-by: Joe Hershberger 
> >>>
> >>>
> >>>Were you intending someone else to apply this? I think now that Ted
> >>>Chen has
> >>>taken over the USB NIC driver (which was patch 2 in this series),
> >>>this patch
> >>>should be applied separately.
> >>
> >>It is assigned to Marek in patchwork. If he's not going to take it,
> >>then assign it to me and I'll pull it in.
> >
> >Marek,
> >
> >Are you taking this patch? If not, could you please re-assign it to Joe;
> >I don't believe I can modify patchwork myself.
> 
> Marek?
> 
> Tom, are you able to re-assign this patch to Joe in patchwork?

Which? https://patchwork.ozlabs.org/patch/570547/ ?

-- 
Tom


signature.asc
Description: Digital signature
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] arm, ubifs: fix gcc5.x compiler warning

2016-01-20 Thread Tom Rini
On Mon, Nov 30, 2015 at 08:47:42AM +0100, Heiko Schocher wrote:

> compiling U-Boot for openrd_base_defconfig with
> gcc 5.x shows the following warning:
> 
>   CC  fs/ubifs/super.o
> In file included from fs/ubifs/ubifs.h:35:0,
>  from fs/ubifs/super.c:37:
> fs/ubifs/super.c: In function 'atomic_inc':
> ./arch/arm/include/asm/atomic.h:55:2: warning: 'flags' is used uninitialized 
> in this function [-Wuninitialized]
>   local_irq_save(flags);
>   ^
> fs/ubifs/super.c: In function 'atomic_dec':
> ./arch/arm/include/asm/atomic.h:64:2: warning: 'flags' is used uninitialized 
> in this function [-Wuninitialized]
>   local_irq_save(flags);
>   ^
>   CC  fs/ubifs/sb.o
> [...]
>   CC  fs/ubifs/lpt.o
> In file included from include/linux/bitops.h:123:0,
>  from include/common.h:20,
>  from include/ubi_uboot.h:17,
>  from fs/ubifs/ubifs.h:37,
>  from fs/ubifs/lpt.c:35:
> fs/ubifs/lpt.c: In function 'test_and_set_bit':
> ./arch/arm/include/asm/bitops.h:57:2: warning: 'flags' is used uninitialized 
> in this function [-Wuninitialized]
>   local_irq_save(flags);
>   ^
>   CC  fs/ubifs/lpt_commit.o
> In file included from include/linux/bitops.h:123:0,
>  from include/common.h:20,
>  from include/ubi_uboot.h:17,
>  from fs/ubifs/ubifs.h:37,
>  from fs/ubifs/lpt_commit.c:26:
> fs/ubifs/lpt_commit.c: In function 'test_and_set_bit':
> ./arch/arm/include/asm/bitops.h:57:2: warning: 'flags' is used uninitialized 
> in this function [-Wuninitialized]
>   local_irq_save(flags);
>   ^
>   CC  fs/ubifs/scan.o
>   CC  fs/ubifs/lprops.o
>   CC  fs/ubifs/tnc.o
> In file included from include/linux/bitops.h:123:0,
>  from include/common.h:20,
>  from include/ubi_uboot.h:17,
>  from fs/ubifs/ubifs.h:37,
>  from fs/ubifs/tnc.c:30:
> fs/ubifs/tnc.c: In function 'test_and_set_bit':
> ./arch/arm/include/asm/bitops.h:57:2: warning: 'flags' is used uninitialized 
> in this function [-Wuninitialized]
>   local_irq_save(flags);
>   ^
>   CC  fs/ubifs/tnc_misc.o
> 
> Fix it.
> 
> Signed-off-by: Heiko Schocher 

I've re-thought this problem.  I'm not seeing a better way to work
around this problem without further divergence from upstream on these
functions, so thanks for doing this!

Applied to u-boot/master, thanks!

-- 
Tom


signature.asc
Description: Digital signature
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [U-Boot, 1/8] m68k: move CONFIG_SYS_TEXT_BASE to defconfig files

2016-01-20 Thread Tom Rini
On Fri, Dec 11, 2015 at 12:22:24PM +0900, Masahiro Yamada wrote:

> For historical reason, CONFIG_SYS_TEXT_BASE has been specified
> in various ways:
> 
> [1] by board/${VENDOR}/${BOARD}/config.mk
> 
> [2] by CONFIG_SYS_EXTRA_OPTIONS
> (This was "options" field of boards.cfg before Kconfig conversion)
> 
> [3] by include/configs/${BOARD}.h
> 
> [4] by configs/${BOARD}_defconfig
> 
> Most of M68K boards use either [1] or [2], both of which we want to
> deprecate.  Switch them into [4], which is the newest way (Kconfig).
> 
> We still allow [3] too, because it is still used by many boards and
> we expect much time for conversion.
> 
> Signed-off-by: Masahiro Yamada 
> Acked-by: Angelo Dureghello 
> Reviewed-by: Simon Glass 

Applied to u-boot/master, thanks!

-- 
Tom


signature.asc
Description: Digital signature
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] spi: ti_qspi: Use 4-byte opcode for mmap read

2016-01-20 Thread Tom Rini
On Mon, Nov 23, 2015 at 05:43:36PM +0530, Vignesh R wrote:

> ti-qspi driver currently uses 3-byte addressing mode(and opcodes) for
> memory-mapped read. This restricts maximum addressable flash size to
> 16MB.
> Enable the 4-byte addressing(and use 4-byte opcode) for memory-mapped
> read to allow access to addresses above 16MB.
> 
> Signed-off-by: Ravi Babu 
> [vigne...@ti.com: Re-word commit description]
> Signed-off-by: Vignesh R 

Applied to u-boot/master, thanks!

-- 
Tom


signature.asc
Description: Digital signature
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [U-Boot, 3/8] microblaze: move CONFIG_SYS_TEXT_BASE to defconfig

2016-01-20 Thread Tom Rini
On Fri, Dec 11, 2015 at 12:22:26PM +0900, Masahiro Yamada wrote:

> This is how CONFIG options are defined by Kconfig.
> 
> Signed-off-by: Masahiro Yamada 
> Acked-by: Michal Simek 

Applied to u-boot/master, thanks!

-- 
Tom


signature.asc
Description: Digital signature
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [U-Boot, 2/8] m68k: M54418TWR: drop board/freescale/m54418twr/config.mk

2016-01-20 Thread Tom Rini
On Fri, Dec 11, 2015 at 12:22:25PM +0900, Masahiro Yamada wrote:

> The board/freescale/m54418twr/config.mk defined TEXT_BASE, which has
> the same value as CONFIG_SYS_TEXT_BASE.  The TEXT_BASE is referenced
> by two files:
>  - arch/m68k/cpu/mcf5445x/start.S and include/
>  - include/configs/M54418TWR.h
> 
> Replace the references with CONFIG_SYS_TEXT_BASE and delete
> board/freescale/m54418twr/config.mk.
> 
> Signed-off-by: Masahiro Yamada 
> Acked-by: Angelo Dureghello 

Applied to u-boot/master, thanks!

-- 
Tom


signature.asc
Description: Digital signature
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [U-Boot, 4/8] mips: vct: move CONFIG_SYS_TEXT_BASE away from config.mk

2016-01-20 Thread Tom Rini
On Fri, Dec 11, 2015 at 12:22:27PM +0900, Masahiro Yamada wrote:

> We can delete board/micronas/vct/config.mk by moving the define of
> CONFIG_SYS_TEXT_BASE to somewhere else.  Other MIPS boards are
> still defining it in include/config/${BOARD}.h, so I am following
> that way here.
> 
> Signed-off-by: Masahiro Yamada 
> Acked-by: Daniel Schwierzeck 

Applied to u-boot/master, thanks!

-- 
Tom


signature.asc
Description: Digital signature
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [U-Boot, 5/8] mips: dbau1x00: move CONFIG_SYS_TEXT_BASE away from config.mk

2016-01-20 Thread Tom Rini
On Fri, Dec 11, 2015 at 12:22:28PM +0900, Masahiro Yamada wrote:

> We can delete board/dbau1x00/config.mk by moving the define of
> CONFIG_SYS_TEXT_BASE to somewhere else.  Other MIPS boards are
> still defining it in include/config/${BOARD}.h, so I am following
> that way here.
> 
> Signed-off-by: Masahiro Yamada 
> Acked-by: Daniel Schwierzeck 

Applied to u-boot/master, thanks!

-- 
Tom


signature.asc
Description: Digital signature
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [U-Boot, 6/8] mips: pb1x00: move CONFIG_SYS_TEXT_BASE away from config.mk

2016-01-20 Thread Tom Rini
On Fri, Dec 11, 2015 at 12:22:29PM +0900, Masahiro Yamada wrote:

> We can delete board/pb1x00/config.mk by moving the define of
> CONFIG_SYS_TEXT_BASE to somewhere else.  Other MIPS boards are
> still defining it in include/config/${BOARD}.h, so I am following
> that way here.
> 
> Signed-off-by: Masahiro Yamada 
> Acked-by: Daniel Schwierzeck 

Applied to u-boot/master, thanks!

-- 
Tom


signature.asc
Description: Digital signature
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [U-Boot, 7/8] powerpc: yucca: drop redundant CONFIG_SYS_TEXT_BASE from config.mk

2016-01-20 Thread Tom Rini
On Fri, Dec 11, 2015 at 12:22:30PM +0900, Masahiro Yamada wrote:

> The include/configs/yucca.h already has the same define:
> #define   CONFIG_SYS_TEXT_BASE0xfffb
> 
> Remove the redundant one from board/amcc/yucca/config.mk.
> 
> Signed-off-by: Masahiro Yamada 
> Acked-by: Stefan Roese 

Applied to u-boot/master, thanks!

-- 
Tom


signature.asc
Description: Digital signature
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [U-Boot, 8/8] kbuild: drop workaround for old style CONFIG_SYS_TEXT_BASE defines

2016-01-20 Thread Tom Rini
On Fri, Dec 11, 2015 at 12:22:31PM +0900, Masahiro Yamada wrote:

> Now, there is no board defining CONFIG_SYS_TEXT_BASE by its config.mk,
> so this workaround is no longer needed.
> 
> Signed-off-by: Masahiro Yamada 
> Acked-by: Stefan Roese 

Applied to u-boot/master, thanks!

-- 
Tom


signature.asc
Description: Digital signature
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] ti_omap3_common: Do not define CONFIG_SPL_NAND_SUPPORT

2016-01-20 Thread Tom Rini
On Wed, Dec 30, 2015 at 02:45:26AM +0100, Ladislav Michl wrote:

> Symbol is already defined in ti_armv7_common.h which is included
> via ti_armv7_omap.h
> 
> Signed-off-by: Ladislav Michl 
> Reviewed-by: Tom Rini 

Applied to u-boot/master, thanks!

-- 
Tom


signature.asc
Description: Digital signature
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] armv7: Add missing newline after OMAP die ID

2016-01-20 Thread Tom Rini
On Sun, Jan 03, 2016 at 06:24:27PM +0100, Ladislav Michl wrote:

> Signed-off-by: Ladislav Michl 
> Acked-by: Enric Balletbo Serra 

Applied to u-boot/master, thanks!

-- 
Tom


signature.asc
Description: Digital signature
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [U-Boot, PATCHv2, 1/5] igep00x0: enable CONFIG_NET_RANDOM_ETHADDR

2016-01-20 Thread Tom Rini
On Mon, Jan 04, 2016 at 11:07:58PM +0100, Enric Balletbò i Serra wrote:

> Enable CONFIG_NET_RANDOM_ETHADDR to generate a random MAC address
> when ETHADDR is not set.
> 
> Signed-off-by: Enric Balletbo i Serra 
> Reviewed-by: Tom Rini 
> Reviewed-by: Heiko Schocher 

Applied to u-boot/master, thanks!

-- 
Tom


signature.asc
Description: Digital signature
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [U-Boot, PATCHv2, 3/5] igep00x0: Do not include config_distro_defaults.h

2016-01-20 Thread Tom Rini
On Mon, Jan 04, 2016 at 11:08:00PM +0100, Enric Balletbò i Serra wrote:

> From: Ladislav Michl 
> 
> File is already included:
> omap3_igep00x0.h -> ti_omap3_common.h -> ti_armv7_omap.h ->
> ti_armv7_common.h -> config_distro_defaults.h
> 
> Signed-off-by: Ladislav Michl 
> Acked-by: Enric Balletbo Serra 
> Reviewed-by: Tom Rini 
> Reviewed-by: Heiko Schocher 

Applied to u-boot/master, thanks!

-- 
Tom


signature.asc
Description: Digital signature
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


  1   2   3   >