[U-Boot] Rework the network stack

2015-03-21 Thread Jörg Krause
Hi all,

there is an issue with the current network stack using netconsole. It's
impossible to use network commands as TFTP inside netconsole, because
they try to run as atomic network commands.

The issue was already reported by Stefano Babic in 2010:
[U-Boot] NetConsole and network API
http://lists.denx.de/pipermail/u-boot/2010-August/075535.html

I run into the same problem:
[U-Boot] netconsole: USB Ethernet connection dropping with ping or
tftpboot
http://lists.denx.de/pipermail/u-boot/2015-February/203838.html

I have looked at the current network stack. The stack is based on the
concept of atomic network commands. The implementation for netconsole
looks very confusing.

Sascha Hauer has reimplemented the network stack for Barebox:
http://www.spinics.net/lists/u-boot-v2/msg00914.html

Looking at the current implementation of net.c looks very clean and
well-designed.

What do you think about porting this to U-Boot?

Best regards
Jörg Krause

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


Re: [U-Boot] [PATCH] mmc: fix OCR Polling

2015-03-21 Thread Peng Fan

Hi, Andrew

On 3/20/2015 3:19 PM, Andrew Gabbasov wrote:

Hi Peng,


From: Peng.Fan at freescale.com (Peng Fan)
Date: Thu, 19 Mar 2015 16:22:46 +0800
Subject: [U-Boot] [PATCH] mmc: fix OCR Polling

If in mmc_send_op_cond, OCR_BUSY is set in CMD1's response, then
state is transfered to Ready state, and there is no need to send
CMD1 again. Otherwise following CMD1 will recieve no response, or
timeour error from driver such as fsl_esdhc.c.

If not into Ready state in previous CMD1, then continue CMD1 command.

In mmc_complete_op_cond, we use the value mmc-op_cond_response
from mmc_send_op_cond, since there should be no CMD1 command between
mmc_send_op_cond and mmc_complete_op_cond

Before fixing this, uboot log shows:

CMD_SEND:0
 ARG  0x
 MMC_RSP_NONE
CMD_SEND:8
 ARG  0x01AA
 MMC_RSP_R1,5,6,7 0x18EC1504
CMD_SEND:55
 ARG  0x
 MMC_RSP_R1,5,6,7 0x18EC1504
CMD_SEND:0
 ARG  0x
 MMC_RSP_NONE
CMD_SEND:1
 ARG  0x
 MMC_RSP_R3,4 0x00FF8080
CMD_SEND:1
 ARG  0x4030
 MMC_RSP_R3,4 0xC0FF8080 -- Already OCR_BUSY

set

CMD_SEND:1
 ARG  0x4030
 MMC_RSP_R3,4 0x0096850A -- Failed CMD1
MMC init failed


Using this patch, this issue is fixed, emmc can be detected correctly.


Signed-off-by: Peng Fan Peng.Fan at freescale.com
---
  drivers/mmc/mmc.c | 13 +++--
  1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
index a13769e..43a9a8a 100644
--- a/drivers/mmc/mmc.c
+++ b/drivers/mmc/mmc.c
@@ -406,14 +406,23 @@ static int mmc_complete_op_cond(struct mmc *mmc)
  
  mmc-op_cond_pending = 0;

  start = get_timer(0);
-do {
+/*
+ * If in mmc_send_op_cond, OCR_BUSY is set in CMD1's response, then
+ * state is transfered to Ready state, and there is no need to
+ * send CMD1 again. Otherwise following CMD1 will recieve no

response,

+ * or timeour error from driver such as fsl_esdhc.c.
+ *
+ * If not into Ready state in previous CMD1, then continue CMD1
+ * command.
+ */
+while (!(mmc-op_cond_response  OCR_BUSY)) {
  err = mmc_send_op_cond_iter(mmc, cmd, 1);
  if (err)
  return err;
  if (get_timer(start)  timeout)
  return UNUSABLE_ERR;
  udelay(100);
-} while (!(mmc-op_cond_response  OCR_BUSY));
+}
  
  if (mmc_host_is_spi(mmc)) { /* read OCR for spi */

  cmd.cmdidx = MMC_CMD_SPI_READ_OCR;
--
1.8.4

After this patch, if the busy flag is indeed already set (so that the loop
body
is not executed), and it is not an SPI case (mmc_host_is_spi(mmc) is false),
the cmd structure (which is local to mmc_complete_op_cond() function)
is left uninitialized, and using cmd.response[0] later in the function
becomes
incorrect. And the OCR register value and the high capacity flag may be set
incorrectly.

Yeah. you are right.
Maybe the following piece of code should be added to replace mmc-ocr = 
cmd.response[0]:


if (mmc_host_is_spi(mmc))
mmc-ocr = cmd.response[0];
else
mmc-ocr = mmc-op_cond_response;

Thanks for correcting me.


So, this patch is not enough by itself, it needs to be modified (appended)
in order to get the correct code.

Coincidentally, the same day I submitted a patch series
([U-Boot] [PATCH 0/6] mmc: Fix OCR polling and splitted initialization),
that, among other changes, fixes the OCR polling problem too
([U-Boot] [PATCH 4/6] mmc: Continue polling MMC card for OCR only if it is
still not ready),
but in a slightly different way, that hopefully doesn't have the mentioned
issue.

Your's does not have such issue:)

Thanks.

Best regards,
Andrew


.


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


Re: [U-Boot] arm: mx5: Add support for USB armory board

2015-03-21 Thread Vagrant Cascadian
On 2015-03-19, Andrej Rosano wrote:
 On Thu, Mar 19, 2015 at 09:55:26AM -0700, Vagrant Cascadian wrote:
 On 2015-02-24, and...@inversepath.com wrote:
  Add support for Inverse Path USB armory board, an open source
  flash-drive sized computer based on Freescale i.MX53 SoC.
...
 Would you consider patches that include config_distro_defaults.h and
 config_distro_bootcmd.h, documented in doc/README.distro? It may require
 adding several variables such as fdt_addr_r, fdtfile, ramdisk_addr_r,
 ramdiskfile, kernel_addr_r, bootfile, pxe_addr_r and scriptaddr,
 documented in README and doc/README.distro. I'd be happy to work on
 patches.
...
 Sure, it would be nice to have this included in the patch.
 I didn't know about this, I will take a look as well. Let me know if
 you need any help from my side.

Ok, here's a quick patch on top of your existing patch. It compiles, but
I haven't tested that it boots (waiting on some header pins to hook up
the serial console).

I tried to preserve default behavior, the only difference is that it
will first check for extlinux.conf and boot.scr before running the
default boot action, and has a 2 second rather than 1 second bootdelay.

Many of the things defined in config_distro_defaults.h were redundant.

Not sure if CONFIG_LOADADDR needs to be different from
kernel_addr_r/scriptaddr/pxefile_addr_r, if they can all be the same,
then they could be defined with CONFIG_LOADADDR. Hopefully
ramdisk_addr_r is at a reasonable location so it won't be clobbered by
the fdt or kernel being loaded to a lower address. It may require
removing the default bootargs to work with boot scripts.

diff --git a/include/configs/usbarmory.h b/include/configs/usbarmory.h
index e00ec7b..7e4cc68 100644
--- a/include/configs/usbarmory.h
+++ b/include/configs/usbarmory.h
@@ -22,12 +22,10 @@
 
 #include asm/arch/imx-regs.h
 #include config_cmd_default.h
+#include config_distro_defaults.h
 
 /* U-Boot commands */
-#define CONFIG_CMD_BOOTZ
-#define CONFIG_CMD_FAT
 #define CONFIG_CMD_MEMTEST
-#define CONFIG_CMD_EXT2
 #undef CONFIG_CMD_IMLS
 
 /* U-Boot environment */
@@ -39,14 +37,10 @@
 #define CONFIG_SYS_MMC_ENV_DEV 0
 
 /* U-Boot general configurations */
-#define CONFIG_SYS_LONGHELP
-#define CONFIG_SYS_HUSH_PARSER
-#define CONFIG_AUTO_COMPLETE
 #define CONFIG_SYS_CBSIZE  512
 #define CONFIG_SYS_PBSIZE  (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) 
+ 16)
 #define CONFIG_SYS_MAXARGS 16
 #define CONFIG_SYS_BARGSIZECONFIG_SYS_CBSIZE
-#define CONFIG_CMDLINE_EDITING
 
 /* UART */
 #define CONFIG_MXC_UART
@@ -61,7 +55,6 @@
 #define CONFIG_SYS_FSL_ESDHC_NUM   2
 #define CONFIG_MMC
 #define CONFIG_GENERIC_MMC
-#define CONFIG_DOS_PARTITION
 
 /* USB */
 #define CONFIG_CMD_USB
@@ -82,7 +75,6 @@
 #define CONFIG_FSL_IIM
 
 /* Linux boot */
-#define CONFIG_BOOTDELAY   1
 #define CONFIG_LOADADDR0x7200
 #define CONFIG_SYS_TEXT_BASE   0x7780
 #define CONFIG_SYS_LOAD_ADDR   CONFIG_LOADADDR
@@ -90,8 +82,28 @@
 #define CONFIG_BOOTARGS \
console=ttymxc0,115200 root=/dev/mmcblk0p1 rootwait rw
 #define CONFIG_BOOTCOMMAND \
-   ext2load mmc 0:1 0x7080 /boot/uImage; ext2load mmc 0:1 \
-   0x7100 /boot/imx53-usbarmory.dtb; bootm 0x7080 - 0x7100
+   run distro_bootcmd;  \
+   ext2load mmc 0:1 ${kernel_addr_r} /boot/uImage;  \
+   ext2load mmc 0:1 ${fdt_addr_r} /boot/${fdtfile};  \
+   bootm ${kernel_addr_r} - ${fdt_addr_r}
+
+#define BOOT_TARGET_DEVICES(func) \
+   func(MMC, mmc, 0)
+
+#include config_distro_bootcmd.h
+
+#define MEM_LAYOUT_ENV_SETTINGS \
+   kernel_addr_r=0x7080\0 \
+   fdt_addr_r=0x7100\0 \
+   scriptaddr=0x7080\0 \
+   pxefile_addr_r=0x7080\0 \
+   ramdisk_addr_r=0x7300\0
+
+#define CONFIG_EXTRA_ENV_SETTINGS  \
+   MEM_LAYOUT_ENV_SETTINGS \
+   fdtfile=imx53-usbarmory.dtb\0 \
+   console=ttymxc0,115200\0  \
+   BOOTENV
 
 /* Physical Memory Map */
 #define CONFIG_NR_DRAM_BANKS   1


live well,
  vagrant


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] [PATCH 1/2] power: axp209: VBUS detect

2015-03-21 Thread Hans de Goede

Hi Paul,

On 15-03-15 18:29, Paul Kocialkowski wrote:

Signed-off-by: Paul Kocialkowski cont...@paulk.fr
---
  drivers/power/axp209.c | 13 +
  include/axp209.h   |  3 +++
  2 files changed, 16 insertions(+)

diff --git a/drivers/power/axp209.c b/drivers/power/axp209.c
index 4565398..11fe9d7 100644
--- a/drivers/power/axp209.c
+++ b/drivers/power/axp209.c
@@ -31,6 +31,7 @@ enum axp209_reg {
  };

  #define AXP209_POWER_STATUS_ON_BY_DC  (1  0)
+#define AXP209_POWER_STATUS_VBUS_USABLE(1  4)

  #define AXP209_IRQ5_PEK_UP(1  6)
  #define AXP209_IRQ5_PEK_DOWN  (1  5)
@@ -249,3 +250,15 @@ int axp_gpio_set_value(unsigned int pin, unsigned int val)
  {
return axp_gpio_direction_output(pin, val);
  }
+
+int axp_get_vbus(void)
+{
+   u8 val;
+   int rc;
+
+   rc = axp209_read(AXP209_POWER_STATUS, val);
+   if (rc)
+   return rc;
+
+   return (val  AXP209_POWER_STATUS_VBUS_USABLE) ? 1 : 0;
+}
diff --git a/include/axp209.h b/include/axp209.h
index 0436249..a007958 100644
--- a/include/axp209.h
+++ b/include/axp209.h
@@ -5,6 +5,7 @@
   */

  #define AXP_GPIO
+#define AXP_VBUS_DETECT

  extern int axp209_set_dcdc2(int mvolt);
  extern int axp209_set_dcdc3(int mvolt);
@@ -19,3 +20,5 @@ extern int axp_gpio_direction_input(unsigned int pin);
  extern int axp_gpio_direction_output(unsigned int pin, unsigned int val);
  extern int axp_gpio_get_value(unsigned int pin);
  extern int axp_gpio_set_value(unsigned int pin, unsigned int val);
+
+extern int axp_get_vbus(void);



Thanks for this patch and for all your other sunxi u-boot patches, unfortunately
I'm afraid that I cannot take this patch as is, this stuff with all the special
axp handling is becoming too messy IMHO.

I know I started doing things this way myself, but we need to fix this and it
is better to draw a line here, and fix things right now before they become even
more messy.

What I would like to see is to have the axp vbus detect / ctrl code changed to
simply export the axp_vbus detect as a read only gpio, and vbus ctrl as a
regular gpio.

I would like to see 2 defines added to arch/arm/include/asm/arch-sunxi/gpio.h:

#define SUNXI_GPIO_AXP_VBUS_DETECT 8
#define SUNXI_GPIO_AXP_VBUS_ENABLE 9

And then in drivers/gpio/sunxi_gpio.c: sunxi_name_to_gpio() :

if (strncasecmp(name, AXP0-, 5) == 0) {
name += 5;
if (strcmp(name, VBUS-DETECT) == 0)
return SUNXI_GPIO_AXP0_START + 
SUNXI_GPIO_AXP_VBUS_DETECT;
if (strcmp(name, VBUS-ENABLE) == 0)
return SUNXI_GPIO_AXP0_START + 
SUNXI_GPIO_AXP_VBUS_ENABLE;
pin = simple_strtol(name, eptr, 10);
...
}

Where the 2 if (strcmp(...) ... blocks are new.

And then in drivers/power/axp221.c add gpio functions which only handle the 
vbus stuff
for now, e.g. :

int axp_gpio_direction_input(unsigned int pin)
{
switch (pin) {
case SUNXI_GPIO_AXP_VBUS_DETECT:
case SUNXI_GPIO_AXP_VBUS_ENABLE:
return 0;
default:
return -EINVAL;
}
}

int axp_gpio_direction_output(unsigned int pin, unsigned int val)
{
int ret;

switch (pin) {
case SUNXI_GPIO_AXP_VBUS_ENABLE:
/* Set N_VBUSEN pin to output / DRIVEBUS function */
ret = axp221_clrbits(AXP221_MISC_CTRL, 
AXP221_MISC_CTRL_N_VBUSEN_FUNC);
if (ret)
return ret;
return axp_gpio_set_value(pin, val);
default:
return -EINVAL;
}
}

And similar additions of axp_gpio_get_value /  axp_gpio_set_value

And the remove the axp handling magic (and the includes) from
drivers/usb/musb-new/sunxi.c, only leaving regular gpio calls in there.

You may not have access to an axp221 using device, that is no problem, if
you can prepare a compile-tested (build for Ippo_q8h_v1_2_defconfig) patch-set
with this cleanup then I can test it and fix it up if necessary.

And then on top of this cleanup you can add axp209 vbus detect support
extending the existing axp209 gpio functions.

Regards,

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


Re: [U-Boot] [PATCH 1/4] sunxi: musb: Return early on VBUS GPIO error instead of on a positive value

2015-03-21 Thread Hans de Goede

Hi,

On 15-03-15 18:27, Paul Kocialkowski wrote:

This allows printing the error message when VBUS is detected, as it would with
AXP VBUS detect.

Signed-off-by: Paul Kocialkowski cont...@paulk.fr
---
  drivers/usb/musb-new/sunxi.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/usb/musb-new/sunxi.c b/drivers/usb/musb-new/sunxi.c
index 4d8c15a..90aaec6 100644
--- a/drivers/usb/musb-new/sunxi.c
+++ b/drivers/usb/musb-new/sunxi.c
@@ -261,7 +261,7 @@ static int sunxi_musb_init(struct musb *musb)
}

err = gpio_get_value(vbus_det);
-   if (err) {
+   if (err  0) {
gpio_free(vbus_det);
return -EIO;
}



Good catch, thanks I've send a pull-req with this fix upstream,
please base your next patch-set on u-boot-sunxi/master, or
at least keep this patch as a base before doing the axp gpio
cleanups I asked for in my previous mail.

Regards,

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


Re: [U-Boot] [PATCH 2/4] sunxi: Avoid any assumption between musb gadget and host but fallback to host

2015-03-21 Thread Hans de Goede

Hi,

On 15-03-15 18:27, Paul Kocialkowski wrote:

musb might be used in gadget mode on sunxi, so we don't want to assume anything
related to host mode, especially USB keyboard support.
However, in case gadget mode is not explicitly used, fallback to host mode.

Signed-off-by: Paul Kocialkowski cont...@paulk.fr
---
  board/sunxi/Kconfig| 2 +-
  include/configs/sunxi-common.h | 5 -
  2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/board/sunxi/Kconfig b/board/sunxi/Kconfig
index 9d0eb91..0b6a492 100644
--- a/board/sunxi/Kconfig
+++ b/board/sunxi/Kconfig
@@ -436,7 +436,7 @@ config USB_MUSB_SUNXI

  config USB_KEYBOARD
boolean Enable USB keyboard support
-   default y
+   default n
---help---
Say Y here to add support for using a USB keyboard (typically used
in combination with a graphical console).


You've just disabled the usb keyboard support pretty much everywhere, please
do not do that.


diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h
index 1f7a1cb..ffd9f5c 100644
--- a/include/configs/sunxi-common.h
+++ b/include/configs/sunxi-common.h
@@ -297,13 +297,16 @@ extern int soft_i2c_gpio_scl;
  #endif

  #ifdef CONFIG_USB_MUSB_SUNXI
+#ifndef CONFIG_MUSB_GADGET
  #define CONFIG_MUSB_HOST
+#endif
  #define CONFIG_MUSB_PIO_ONLY
  #endif

-#if defined CONFIG_USB_EHCI || defined CONFIG_USB_MUSB_SUNXI
+#if defined CONFIG_USB_EHCI || defined CONFIG_MUSB_HOST
  #define CONFIG_CMD_USB
  #define CONFIG_USB_STORAGE
+#define CONFIG_USB_KEYBOARD



And here you are overriding something set by Kconfig which is a big no no,
if you want to disable the keyboard support on boards where you use
the oth port in gadget mode jsut add:
CONFIG_USB_KEYBOARD=n to the (def)config.

Regards,

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


[U-Boot] u-boot: OpenRD Ultimate fails to build

2015-03-21 Thread Vagrant Cascadian
It seems that OpenRD Ultimate with u-boot 2015.04-rc3 and newer no
longer builds from source, both in Debian and with mainline git. It
appears to have overgrown the size limits set for it:

  OBJCOPY u-boot.srec
  OBJCOPY u-boot.bin
u-boot.bin exceeds file size limit:
  limit:  393216 bytes
  actual: 407068 bytes
  excess: 13852 bytes
Makefile:834: recipe for target 'u-boot.bin' failed
make: *** [u-boot.bin] Error 1


Full build log:

  
https://buildd.debian.org/status/fetch.php?pkg=u-bootarch=armelver=2015.04~rc3%2Bdfsg1-1stamp=1425849560


If you've got an openrd_ultimate and want to ensure it keeps working in
Debian (and obviously mainline)... please let me know!


live well,
  vagrant


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


[U-Boot] [PATCH] Compilation under Cygwin

2015-03-21 Thread Marcos Vives Del Sol
Hello.

I am attempting to compile U-Boot under Cygwin (up to date, it's not
and old version or anything) and noticed that make fails due to GCC
not recognising inline modifiers to functions:
 scripts/kconfig/list.h:81:15: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or 
 ‘__attribute__’ before ‘void’
  static inline void __list_add(struct list_head *_new,
^
 scripts/kconfig/list.h:99:15: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or 
 ‘__attribute__’ before ‘void’
  static inline void list_add_tail(struct list_head *_new, struct list_head 
 *head)
^
 scripts/kconfig/list.h:111:15: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or 
 ‘__attribute__’ before ‘void’
  static inline void __list_del(struct list_head *prev, struct list_head *next)
^
Amongst others. See also http://www.programdevelop.com/5356097/ for
another developer who experienced the same issue.

Apparenly this is caused by a system-dependent condition in /Makefile,
which forces GCC to run in ANSI mode, and as inline isn't C89,
compilation fails. Removing this condition does the trick.

Patch attached

-- 
Marcos Vives Del Sol
https://github.com/socram
miniLock: NscWdW8fh2E5SBoRtrnXWrDwmQmwaR5awMKE78tQW1Ffx


cygfix.patch
Description: Binary data
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 2/2] sunxi: Ainol AW1 support

2015-03-21 Thread Hans de Goede

Hi,

On 15-03-15 18:29, Paul Kocialkowski wrote:

Signed-off-by: Paul Kocialkowski cont...@paulk.fr
---
  board/sunxi/MAINTAINERS |  5 +
  configs/Ainol_AW1_defconfig | 16 
  2 files changed, 21 insertions(+)
  create mode 100644 configs/Ainol_AW1_defconfig

diff --git a/board/sunxi/MAINTAINERS b/board/sunxi/MAINTAINERS
index ef3c937..e486458 100644
--- a/board/sunxi/MAINTAINERS
+++ b/board/sunxi/MAINTAINERS
@@ -50,6 +50,11 @@ S:   Maintained
  F:board/sunxi/dram_a20_olinuxino_l2.c
  F:configs/A20-OLinuXino-Lime2_defconfig

+AINOL AW1 BOARD
+M: Paul Kocialkowski cont...@paulk.fr
+S: Maintained
+F: configs/Ainol_AW1_defconfig
+
  AMPE A76 BOARD
  M:Paul Kocialkowski cont...@paulk.fr
  S:Maintained
diff --git a/configs/Ainol_AW1_defconfig b/configs/Ainol_AW1_defconfig
new file mode 100644
index 000..e37e6c8
--- /dev/null
+++ b/configs/Ainol_AW1_defconfig
@@ -0,0 +1,16 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS=AXP209_POWER
+CONFIG_FDTFILE=sun7i-a20-ainol-aw1.dtb
+CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB0_VBUS_PIN=PB9
+CONFIG_USB0_VBUS_DET=axp_vbus_detect
+CONFIG_VIDEO_LCD_MODE=x:800,y:480,depth:18,pclk_khz:4,le:87,ri:112,up:38,lo:141,hs:1,vs:1,sync:3,vmode:0
+CONFIG_VIDEO_LCD_POWER=PH8
+CONFIG_VIDEO_LCD_BL_EN=PH7
+CONFIG_VIDEO_LCD_BL_PWM=PB2
++S:CONFIG_ARM=y
++S:CONFIG_ARCH_SUNXI=y
++S:CONFIG_MACH_SUN7I=y
++S:CONFIG_DRAM_CLK=432
++S:CONFIG_DRAM_ZQ=123
++S:CONFIG_DRAM_EMR1=4



Thanks for the patch, looks good, but needs adjustment for the discussed
changes to treat axp vbus-detect / vbus-enable as regular gpios.

Also we no longer use the +S: magic in defconfig files as there now is a
single .config for both the SPL and regular u-boot builds, so when you
resubmit together with the axp cleanups, please remove the +S: prefixes.

Regards,

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


[U-Boot] Please pull u-boot-sunxi master

2015-03-21 Thread Hans de Goede

Hi Tom,

Please pull u-boot-sunxi/master into master for a small bugfix which
makes sure we print the right error message when a non host cable
is plugged into the otg and we're configured for host mode.

The following changes since commit 21866c34a1b4098a8868c9250daf01baf84c2397:

  at91sam9rlek_mmc_defconfig: Add CONFIG_ARCH_AT91=y (2015-03-20 10:47:38 -0400)

are available in the git repository at:

  http://git.denx.de/u-boot-sunxi.git master

for you to fetch changes up to 8a440b09f21ab8ec72b3aedf4d6f3f53494d7149:

  sunxi: musb: Return early on VBUS GPIO error instead of on a positive value 
(2015-03-21 13:51:27 +0100)


Paul Kocialkowski (1):
  sunxi: musb: Return early on VBUS GPIO error instead of on a positive 
value

 drivers/usb/musb-new/sunxi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Regards,

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


Re: [U-Boot] [linux-sunxi] [PATCH] sun6i: Add support for the Mixtile LOFT-Q board

2015-03-21 Thread Hans de Goede

Hi,

On 12-03-15 04:13, Phil Han wrote:

From: Han Pengfei pengp...@sina.com

The Mixtile LOFT-Q is an A31 based board with 2G RAM, 8G EMMC, sdio wifi,
1Gbit ethernet, HDMI display, toslink audio plug, 4 USB2.0 port, external
USB2SATA connector, sd card plug, 3x60 external fpic expansion connector,
NXP JN5168 zigbee gw, remote support.

Also see http://focalcrest.com/en/pc.html#pro02

Signed-off-by: Han Pengfei pengp...@sina.com


Thanks I've queued this up in u-boot-sunxi/next for merging upstream.

Regards,

Hans


---
  board/sunxi/MAINTAINERS |  5 +
  configs/mixtile_loftq_defconfig | 16 
  2 files changed, 21 insertions(+)
  create mode 100644 configs/mixtile_loftq_defconfig

diff --git a/board/sunxi/MAINTAINERS b/board/sunxi/MAINTAINERS
index ef3c937..90a634e 100644
--- a/board/sunxi/MAINTAINERS
+++ b/board/sunxi/MAINTAINERS
@@ -143,3 +143,8 @@ WEXLER-TAB7200 BOARD
  M:Aleksei Mamlin mamli...@gmail.com
  S:Maintained
  F:configs/Wexler_TAB7200_defconfig
+
+MIXTILE-LOFTQ BOARD
+M:  Phil Han pengp...@sina.com
+S:  Maintained
+F:  configs/mixtile_loftq_defconfig
diff --git a/configs/mixtile_loftq_defconfig b/configs/mixtile_loftq_defconfig
new file mode 100644
index 000..94ebdc8
--- /dev/null
+++ b/configs/mixtile_loftq_defconfig
@@ -0,0 +1,16 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS=USB_EHCI,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPA(21)
++S:CONFIG_ARM=y
++S:CONFIG_ARCH_SUNXI=y
++S:CONFIG_MACH_SUN6I=y
++S:CONFIG_TARGET_MIXTILE_LOFTQ=y
++S:CONFIG_DRAM_CLK=312
++S:CONFIG_DRAM_ZQ=251
++S:CONFIG_MMC_SUNXI_SLOT=0
++S:CONFIG_MMC_SUNXI_SLOT_EXTRA=2
+# Wifi power
++S:CONFIG_AXP221_ALDO1_VOLT=3300
+# Vbus gpio for usb1
++S:CONFIG_USB1_VBUS_PIN=PH24
+# No Vbus gpio for usb2
++S:CONFIG_USB2_VBUS_PIN=


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


Re: [U-Boot] [PATCH v5 01/14] sun7i: Remove duplicate call to psci_arch_init

2015-03-21 Thread Hans de Goede

Hi,

On 11-03-15 16:11, Tom Rini wrote:

On Mon, Mar 09, 2015 at 08:00:11AM +0100, Jan Kiszka wrote:


This is already invoked a few cycles later in monitor mode by
_secure_monitor. Drop it here, it serves no purpose.


For clarity, because of the vector tables?

Reviewed-by: Tom Rini tr...@konsulko.com


I've just given this a test run on an A20 board and everything
psci related still works fine, so:

Tested-by: Hans de Goede hdego...@redhat.com

Regards,

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


[U-Boot] [PATCH V2] Document config_distro_bootcmd environment variables for interactive booting.

2015-03-21 Thread Karsten Merker
Changes since V1:

- Explicitly define the target format for storage and network targets
- Include a list of all valid bootcmd targets which are currently supported
- Make the commit log more verbose

Karsten Merker (1):
  Document config_distro_bootcmd environment variables for interactive
booting.

 doc/README.distro |   47 +++
 1 file changed, 47 insertions(+)

-- 
1.7.10.4

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


Re: [U-Boot] [PATCH 3/4] sunxi: common VBUS detection logic in usbc

2015-03-21 Thread Hans de Goede

Hi,

On 15-03-15 18:27, Paul Kocialkowski wrote:

VBUS detection could be needed not only by the musb code (to prevent host mode),
but also by e.g. gadget drivers to start only when a cable is connected.

In addition, this allows more flexibility in vbus detection, as it could easily
be extended to other USBC indexes. Eventually, this would help making musb
support independent from a hardcoded USB controller index (0).

Signed-off-by: Paul Kocialkowski cont...@paulk.fr


Thanks for working on this, please respin this and the next patch once the axp 
vbus
detect / enable cleanups have been done.

Regards,

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


[U-Boot] [PATCH V2] Document config_distro_bootcmd environment variables for interactive booting.

2015-03-21 Thread Karsten Merker
config_distro_bootcmd.h defines a common boot environment for multiple
platforms, including several environment variables that are intended for
interactive use by an end-user.  Document which variables are considered
public interfaces that must remain compatible in future u-boot versions.

Signed-off-by: Karsten Merker mer...@debian.org
---
 doc/README.distro |   47 +++
 1 file changed, 47 insertions(+)

diff --git a/doc/README.distro b/doc/README.distro
index dd0f1c7..0308a4c 100644
--- a/doc/README.distro
+++ b/doc/README.distro
@@ -1,6 +1,7 @@
 /*
  * (C) Copyright 2014 Red Hat Inc.
  * Copyright (c) 2014-2015, NVIDIA CORPORATION.  All rights reserved.
+ * Copyright (C) 2015 K. Merker mer...@debian.org
  *
  * SPDX-License-Identifier: GPL-2.0+
  */
@@ -339,3 +340,49 @@ scan_dev_for_scripts:
 
   If you want to disable boot.scr on all disks, set the value to something
   innocuous, e.g. setenv scan_dev_for_scripts true.
+
+
+Interactively booting from a specific device at the u-boot prompt
+=
+
+For interactively booting from a user-selected device at the u-boot command
+prompt, the environment provides predefined bootcmd_target variables for
+every target defined in boot_targets, which can be run be the user.
+
+If the target is a storage device, the format of the target is always
+device typedevice number, e.g. mmc0.  Specifying the device number is
+mandatory for storage devices, even if only support for a single instance
+of the storage device is actually implemented.
+
+For network targets (dhcp, pxe), only the device type gets specified;
+they do not have a device number.
+
+Examples:
+
+ - run bootcmd_usb0
+   boots from the first USB mass storage device
+
+ - run bootcmd_mmc1
+   boots from the second MMC device
+
+ - run bootcmd_pxe
+   boots by tftp using a pxelinux.cfg
+
+The list of possible targets consists of:
+
+- network targets
+  * dhcp
+  * pxe
+
+- storage targets (to which a device number must be appended)
+  * mmc
+  * sata
+  * scsi
+  * ide
+  * usb
+
+Other *boot* variables than the ones defined above are only for internal use
+of the boot environment and are not guaranteed to exist or work in the same
+way in future u-boot versions.  In particular the device type_boot
+variables (e.g. mmc_boot, usb_boot) are a strictly internal implementation
+detail and must not be used as a public interface.
-- 
1.7.10.4

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


Re: [U-Boot] [PATCH v4 24/28] armv8/ls2085aqds: NAND boot support

2015-03-21 Thread Scott Wood
On Fri, 2015-03-20 at 14:44 -0700, York Sun wrote:
 
 On 03/20/2015 02:33 PM, Scott Wood wrote:
  On Fri, 2015-03-20 at 14:23 -0700, York Sun wrote:
 
  On 03/20/2015 02:15 PM, Scott Wood wrote:
  On Fri, 2015-03-20 at 12:21 -0700, York Sun wrote:
  From: Scott Wood scottw...@freescale.com
 
  This adds NAND boot support for LS2085AQDS, using SPL framework.
 
  To form a NAND image, append u-boot-with-spl.bin after a proper
  nand boot RCW and flash to the beginning of NAND.
 
  Do we want to do it this way, or should we keep the RCW in a separate
  block?
 
  I would like to see RCW in a separated block.
  
  OK.  In that case the offsets in this patch will need to change.
  
  What constitutes a proper nand boot RCW (those were not my words)?
  There are details in this patch regarding offsets that need to match
  details in the PBI (which is more than just RCW).
 
  It is not your original words. Yours was To form a NAND image, append
  u-boot-with-spl.bin after PBL_0x3_0x07_1333_nand.bin and flash to the 
  beginning
  of NAND.. I try to make the message generic. A proper nand boot RCW means 
  the
  RCW should contains PBI commands to set bootloc and block copy the image. 
  Since
  RCW is not in the scope of u-boot, I cannot refer to any specific file.
  
  Yes, I know you can't refer to the file, but it needs to be made clear
  what the expectations of that PBI file are.
 
 I think a proper solution would be to put detail instruction into board README
 file by adding
 
 To form the NAND image, append u-boot-with-spl.bin after RCW image. The RCW
 image should have these PBI commands
 
 CCSR 4-byte write to 0x00e00404, data=0x
 CCSR 4-byte write to 0x00e00400, data=0x1800a000
 Block Copy: SRC=0x0104, SRC_ADDR=0x00c0, DEST_ADDR=0x1800a000,
 BLOCK_SIZE=0x00014000
 
 We need to revise the SRS_ADDR if moving u-boot to a separated block. Please
 advise what address is appropriate.

It should be equal to the NAND block size (not to be confused with PBI
block copy size).

 Please also advise the BLOCK_SIZE. Does it need to be fixed, or min(0x14000,
 sizeof(u-boot-spl.bin))?

It should be fixed because we don't want it to have to be updated every
time the SPL build changes.

-Scott


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


Re: [U-Boot] Rework the network stack

2015-03-21 Thread Joe Hershberger
Hi Jörg,

On Sat, Mar 21, 2015 at 3:33 AM, Jörg Krause joerg.krause@embedded.rocks
wrote:

 Hi all,

 there is an issue with the current network stack using netconsole. It's
 impossible to use network commands as TFTP inside netconsole, because
 they try to run as atomic network commands.

 The issue was already reported by Stefano Babic in 2010:
 [U-Boot] NetConsole and network API
 http://lists.denx.de/pipermail/u-boot/2010-August/075535.html

I worked around this problem here:

http://lists.denx.de/pipermail/u-boot/2012-August/129913.html

 I run into the same problem:
 [U-Boot] netconsole: USB Ethernet connection dropping with ping or
 tftpboot
 http://lists.denx.de/pipermail/u-boot/2015-February/203838.html

I didn't understand what about your case was not able to work given the
workaround I implemented previously. What was different about it?

 I have looked at the current network stack. The stack is based on the
 concept of atomic network commands. The implementation for netconsole
 looks very confusing.

There is no doubt that netconsole is quite confusing as it exists today.

 Sascha Hauer has reimplemented the network stack for Barebox:
 http://www.spinics.net/lists/u-boot-v2/msg00914.html

 Looking at the current implementation of net.c looks very clean and
 well-designed.

Thanks for pointing this out. I hadn't gone to look at the network stack in
barebox.

 What do you think about porting this to U-Boot?

I can look into this. Naturally there are many other changes to u-boot
network stack since the time barebox forked, so I expect such a port to be
very intensive... most likely a near complete rewrite of Sascha's series,
but I will investigate further.

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


Re: [U-Boot] [PATCH v6 09/27] net: Remove the bd* parameter from net stack functions

2015-03-21 Thread Joe Hershberger
Hi Simon,

On Fri, Mar 20, 2015 at 6:01 PM, Simon Glass s...@chromium.org wrote:

 Hi Joe,

 On 11 March 2015 at 17:44, Joe Hershberger joe.hershber...@ni.com wrote:
  This value is not used by the network stack and is available in the
  global data, so stop passing it around.  For the one legacy function
  that still expects it (init op on old Ethernet drivers) pass in the
  global pointer version directly to avoid changing that interface.
 
  Signed-off-by: Joe Hershberger joe.hershber...@ni.com
  Reported-by: Simon Glass s...@chromium.org
  Reviewed-by: Simon Glass s...@chromium.org
 
  ---
 
  Changes in v6:
  -Fix compile errors for other boards due to removed parameters

 Unfortunately this causes several build failures:

 38: net: Remove the bd* parameter from net stack functions
powerpc:  +   PLU405 PMC440 sc3 neo acadia csb472 devconcenter
 sequoia arches lwmon5 t3corp walnut PMC405DE redwood katmai
 gdppc440etx p3p440 sycamore MIP405 zeus rainier_ramboot canyonlands
 MIP405T haleakala dlvision csb272 xpedite1000 io yosemite yucca makalu
 sequoia_ramboot dlvision-10g pcs440ep CPCI4052 sbc405 iocon ebony
 glacier_ramboot VOM405 bamboo luan io64 PIP405 intip glacier
 lcd4_lwmon5 bubinga yellowstone icon kilauea rainier

 e.g:

 $ buildman -b dm-push -s PLU405 -e
 ...
 38: net: Remove the bd* parameter from net stack functions
   powerpc:  +   PLU405
 +../drivers/net/4xx_enet.c: In function 'mal_err':
 +../drivers/net/4xx_enet.c:1734:2: error: too many arguments to
 function 'eth_init'
 +../include/net.h:169:5: note: declared here
 +make[2]: *** [drivers/net/4xx_enet.o] Error 1
 +make[1]: *** [drivers/net] Error 2
 +make: *** [sub-make] Error 2
 ...

 Can you please check this and respin?

Sorry about that. Are you aware of anything other than the 4xx_enet.c
error? I grepped around and didn't find anything else, but I also missed
this one previously using the same method.

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