Re: [U-Boot] [RFC PATCH 1/9] mx6: Add board mx6memcal for use in validating DDR
Hi Fabio, On Fri, Jul 14, 2017 at 12:01 PM, Fabio Estevamwrote: > Hi Eric, > > On Fri, Jul 14, 2017 at 2:58 PM, Eric Nelson wrote: > > > I set this aside because I wasn't able to get the "return to > > RBL" code working and figured I'd try to reverse-engineer the API. > > > > Any hints you have in that area would be helpful, and will solve > > that other long-standing issue of how to live with SPL on i.MX. > > Sorry, but what does "return to RBL" mean? > > I was trying to get the SPL to act as a plugin in this patch set, so we could send a full U-Boot with a memory test as a payload, but got stuck on the details. https://lists.denx.de/pipermail/u-boot/2016-June/258784.html Looking back at the patch set, the plugin support wasn't explicitly included. I sent some notes in November: https://lists.denx.de/pipermail/u-boot/2016-November/271647.html And there was some follow-up in January: https://lists.denx.de/pipermail/u-boot/2017-January/278518.html ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] [RFC PATCH 1/9] mx6: Add board mx6memcal for use in validating DDR
Hi Eric, On Fri, Jul 14, 2017 at 2:58 PM, Eric Nelsonwrote: > I set this aside because I wasn't able to get the "return to > RBL" code working and figured I'd try to reverse-engineer the API. > > Any hints you have in that area would be helpful, and will solve > that other long-standing issue of how to live with SPL on i.MX. Sorry, but what does "return to RBL" mean? Regards, Fabio Estevam ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] [RFC PATCH 1/9] mx6: Add board mx6memcal for use in validating DDR
Hi Fabio, On 07/14/2017 07:18 AM, Fabio Estevam wrote: Hi Eric, On Tue, Nov 1, 2016 at 5:13 PM, Eric Nelsonwrote: This is a virtual "board" that uses configuration files and Kconfig to define the memory layout used by a real board during the board bring-up process. It generates an SPL image that can be loaded using imx_usb or SB_LOADER.exe. When run, it will generate a set of calibration constants for use in either or both a DCD configuration file for boards that use u-boot.imx or struct mx6_mmdc_calibration for boards that boot via SPL. In essence, it is a configurable, open-source variant of the Freescale ddr-stress tool. https://community.nxp.com/docs/DOC-105652 File mx6memcal_defconfig configures the board for use with mx6sabresd or mx6qsabreauto. Do you still have plans on refreshing this series? Plans is a strong word, but I certainly hope to find some time to continue this effort. I haven't been doing too many new board bring-ups lately though, so it moved away from my front burner. I set this aside because I wasn't able to get the "return to RBL" code working and figured I'd try to reverse-engineer the API. Any hints you have in that area would be helpful, and will solve that other long-standing issue of how to live with SPL on i.MX. It does seem very useful. It is, and even the RFC patch allows very quick testing of large numbers of boards to gather calibration data. Regards, Eric ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] [RFC PATCH 1/9] mx6: Add board mx6memcal for use in validating DDR
Hi Eric, On Tue, Nov 1, 2016 at 5:13 PM, Eric Nelsonwrote: > This is a virtual "board" that uses configuration files and > Kconfig to define the memory layout used by a real board during > the board bring-up process. > > It generates an SPL image that can be loaded using imx_usb or > SB_LOADER.exe. > > When run, it will generate a set of calibration constants for > use in either or both a DCD configuration file for boards that > use u-boot.imx or struct mx6_mmdc_calibration for boards that > boot via SPL. > > In essence, it is a configurable, open-source variant of the > Freescale ddr-stress tool. > > https://community.nxp.com/docs/DOC-105652 > > File mx6memcal_defconfig configures the board for use with > mx6sabresd or mx6qsabreauto. Do you still have plans on refreshing this series? It does seem very useful. Thanks ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] [RFC PATCH 1/9] mx6: Add board mx6memcal for use in validating DDR
This is a virtual "board" that uses configuration files and Kconfig to define the memory layout used by a real board during the board bring-up process. It generates an SPL image that can be loaded using imx_usb or SB_LOADER.exe. When run, it will generate a set of calibration constants for use in either or both a DCD configuration file for boards that use u-boot.imx or struct mx6_mmdc_calibration for boards that boot via SPL. In essence, it is a configurable, open-source variant of the Freescale ddr-stress tool. https://community.nxp.com/docs/DOC-105652 File mx6memcal_defconfig configures the board for use with mx6sabresd or mx6qsabreauto. Signed-off-by: Eric Nelson--- arch/arm/cpu/armv7/mx6/Kconfig| 9 + board/freescale/mx6memcal/Kconfig | 235 + board/freescale/mx6memcal/MAINTAINERS | 7 + board/freescale/mx6memcal/Makefile| 13 + board/freescale/mx6memcal/README | 49 board/freescale/mx6memcal/mx6memcal.c | 32 +++ board/freescale/mx6memcal/spl.c | 458 ++ configs/mx6memcal_defconfig | 32 +++ include/configs/mx6memcal.h | 62 + scripts/config_whitelist.txt | 5 + 10 files changed, 902 insertions(+) create mode 100644 board/freescale/mx6memcal/Kconfig create mode 100644 board/freescale/mx6memcal/MAINTAINERS create mode 100644 board/freescale/mx6memcal/Makefile create mode 100644 board/freescale/mx6memcal/README create mode 100644 board/freescale/mx6memcal/mx6memcal.c create mode 100644 board/freescale/mx6memcal/spl.c create mode 100644 configs/mx6memcal_defconfig create mode 100644 include/configs/mx6memcal.h diff --git a/arch/arm/cpu/armv7/mx6/Kconfig b/arch/arm/cpu/armv7/mx6/Kconfig index 8b2217e..ac4b0fd 100644 --- a/arch/arm/cpu/armv7/mx6/Kconfig +++ b/arch/arm/cpu/armv7/mx6/Kconfig @@ -100,6 +100,14 @@ config TARGET_MX6CUBOXI bool "Solid-run mx6 boards" select SUPPORT_SPL +config TARGET_MX6MEMCAL + bool "mx6memcal" + select SUPPORT_SPL + help + The mx6memcal board is a virtual board that can be used to validate + and characterize the memory layout of a new design during the initial + development and pre-production stages. + config TARGET_MX6QARM2 bool "mx6qarm2" @@ -245,6 +253,7 @@ source "board/el/el6x/Kconfig" source "board/embest/mx6boards/Kconfig" source "board/engicam/icorem6/Kconfig" source "board/freescale/mx6qarm2/Kconfig" +source "board/freescale/mx6memcal/Kconfig" source "board/freescale/mx6qsabreauto/Kconfig" source "board/freescale/mx6sabresd/Kconfig" source "board/freescale/mx6slevk/Kconfig" diff --git a/board/freescale/mx6memcal/Kconfig b/board/freescale/mx6memcal/Kconfig new file mode 100644 index 000..443804d --- /dev/null +++ b/board/freescale/mx6memcal/Kconfig @@ -0,0 +1,235 @@ +if TARGET_MX6MEMCAL + +config SYS_BOARD + default "mx6memcal" + +config SYS_VENDOR + default "freescale" + +config SYS_CONFIG_NAME + default "mx6memcal" + +menu "mx6memcal specifics" +choice + prompt "Serial console" + help + Either UART1 or UART2 will be used as the console for + displaying the calibration values or errors. + +config SERIAL_CONSOLE_UART1 + bool "UART1" + help + Select this if your board uses UART1 for its' console. + +config SERIAL_CONSOLE_UART2 + bool "UART2" + help + Select this if your board uses UART2 for its' console. + +endchoice + +choice + prompt "UART pads" + help + Select the RX and TX pads used for your serial console. + The choices below reflect the most commonly used options + for your UART. + + config UART2_EIM_D26_27 + bool "UART2 on EIM_D26/27 (SabreLite, Nitrogen6x)" + depends on SERIAL_CONSOLE_UART2 + help + Choose this configuration if you're using pads + EIM_D26 and D27 for a console on UART2. + This is typical for designs that are based on the + NXP SABRELite. + + config UART1_CSI0_DAT10_11 + bool "UART1 on CSI0_DAT10/11 (Wand)" + depends on SERIAL_CONSOLE_UART1 + help + Choose this configuration if you're using pads + CSI0_DAT10 and DAT11 for a console on UART1 as + is done on the i.MX6 Wand board. + + config UART1_SD3_DAT6_7 + bool "UART1 on SD3_DAT6/7 (SabreSD, SabreAuto)" + depends on SERIAL_CONSOLE_UART1 + help + Choose this configuration if you're using pads + SD3_DAT6 and DAT7 for a console on UART1 as is + done on the NXP SABRESD or SABREAUTO designs. + + config UART1_UART1 + bool "UART1 on UART1 (i.MX6SL EVK, WaRP)" + depends on SERIAL_CONSOLE_UART1 +