]> git.dujemihanovic.xyz Git - u-boot.git/log
u-boot.git
5 years agoi2c: xiic: Add Xilinx AXI I2C driver
Marek Vasut [Wed, 19 Dec 2018 11:26:27 +0000 (12:26 +0100)]
i2c: xiic: Add Xilinx AXI I2C driver

Add Xilinx AXI I2C controller driver based on the Linux i2c-xiic driver.
This driver is stripped of all the IRQ handling and uses pure polling,
yet tries to retain most of the structure of the Linux driver to make
backporting of fixes easy.

Note that the IP has a known limitation on 255 bytes read and write,
according to xilinx this is still being worked on [1].

[1] https://forums.xilinx.com/t5/Embedded-Processor-System-Design/AXI-IIC-V2-0-I2C-Master-Reading-multiple-bytes-from-I2C-slave/m-p/854419/highlight/true#M39387

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Michal Simek <monstr@monstr.eu>
Cc: Michal Simek <michal.simek@xilinx.com>
Cc: Heiko Schocher <hs@denx.de>
Reviewed-by: Heiko Schocher <hs@denx.de>
5 years agoPrepare v2019.01
Tom Rini [Mon, 14 Jan 2019 22:02:36 +0000 (17:02 -0500)]
Prepare v2019.01

Signed-off-by: Tom Rini <trini@konsulko.com>
5 years agommc: fsl_esdhc: Avoid infinite loop in esdhc_send_cmd_common()
Fabio Estevam [Mon, 19 Nov 2018 12:31:53 +0000 (10:31 -0200)]
mmc: fsl_esdhc: Avoid infinite loop in esdhc_send_cmd_common()

The following hang is observed on a Hummingboard 2 MicroSOM
i2eX iMX6D - rev 1.3 with no eMMC populated on board:

U-Boot SPL 2018.11+gf6206f8587 (Nov 16 2018 - 00:56:34 +0000)
Trying to boot from MMC1

U-Boot 2018.11+gf6206f8587 (Nov 16 2018 - 00:56:34 +0000)

CPU:   Freescale i.MX6D rev1.5 996 MHz (running at 792 MHz)
CPU:   Extended Commercial temperature grade (-20C to 105C) at 33C
Reset cause: POR
Board: MX6 HummingBoard2
DRAM:  1 GiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
Loading Environment from MMC... *** Warning - bad CRC, using default environment

No panel detected: default to HDMI
Display: HDMI (1024x768)
In:    serial
Out:   serial
Err:   serial
---> hangs

which is caused by the following infinite loop inside esdhc_send_cmd_common()

while (!(esdhc_read32(&regs->irqstat) & flags))
;

Instead of looping forever, provide an exit path so that a timeout
error can be propagated in the case irqstat does not report
any interrupts, which may happen when no eMMC is populated on
board.

Reported-by: Ricardo Salveti <rsalveti@rsalveti.net>
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Tested-by: Peter Robinson <pbrobinson@gmail.com>
Tested-by: Ricardo Salveti <rsalveti@rsalveti.net>
5 years agoimx8mq_evk_defconfig: Move file system options to Kconfig
Fabio Estevam [Sat, 29 Dec 2018 12:02:24 +0000 (10:02 -0200)]
imx8mq_evk_defconfig: Move file system options to Kconfig

Chris Spencer reports that when enabling ext4 read support without
also enabling write support the following error is seen:

fs/fs.c:198:12: error: 'ext4_write_file' undeclared here (not in a
function); did you mean 'ext4_read_file'?
   .write = ext4_write_file,
            ^~~~~~~~~~~~~~~
Fix this problem by moving these options to Kconfig.

Reported-by: Chris Spencer <spencercw@gmail.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Fabio Estevam <festevam@gmail.com>
5 years agopoplar: save environment at a different offset
Alex Elder [Tue, 18 Dec 2018 03:08:18 +0000 (11:08 +0800)]
poplar: save environment at a different offset

Change CONFIG_ENV_OFFSET for Poplar to be 1MB further into the eMMC
than before.  This puts it immediately prior to the space we are
reserving offset 0x200000-0x400000 for UEFI to save its persistent
data.  Define CONFIG_ENV_SIZE as a product of env_mmc_nblks and the
sector size, like CONFIG_ENV_OFFSET is.

Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
5 years agoMerge branch 'master' of git://git.denx.de/u-boot-socfpga
Tom Rini [Fri, 11 Jan 2019 15:47:53 +0000 (10:47 -0500)]
Merge branch 'master' of git://git.denx.de/u-boot-socfpga

5 years agoMerge branch 'master' of git://git.denx.de/u-boot-usb
Tom Rini [Fri, 11 Jan 2019 15:47:41 +0000 (10:47 -0500)]
Merge branch 'master' of git://git.denx.de/u-boot-usb

5 years agoRevert "fs: fat: assign rootdir sector when accessing root directory"
Tom Rini [Fri, 11 Jan 2019 14:54:44 +0000 (09:54 -0500)]
Revert "fs: fat: assign rootdir sector when accessing root directory"

This particular commit is causing a regression on stih410-b2260 and
other platforms when reading from FAT16.  Noting that I had rebased the
original fix from Thomas onto then-current master, there is also
question from Akashi-san if the change is still needed after other FAT
fixes that have gone in.

This reverts commit a68b0e11ea774492713a65d9fd5bb525fcaefff3.

Reported-by: Patrice Chotard <patrice.chotard@st.com>
Cc: AKASHI Takahiro <takahiro.akashi@linaro.org>
Cc: Thomas RIENOESSL <thomas.rienoessl@bachmann.info>
Signed-off-by: Tom Rini <trini@konsulko.com>
5 years agoRevert "dm: pinctrl: Prevent (re-)configuring pins when already done before relocation"
Lukasz Majewski [Wed, 9 Jan 2019 22:05:02 +0000 (23:05 +0100)]
Revert "dm: pinctrl: Prevent (re-)configuring pins when already done before relocation"

This reverts commit a7f4b4b344396590845e6552c82829ef68ef9f89.

As reported by Alex Kiernan the above optimization introduces a
regression in the below use case where:

1. Device has defined 'u-boot,dm-spl' property (@ eMMC DTS node)

2. The device downloads its MLO/SPL via UART (not eMMC - the eMMC pinmux
pins are NOT probed/configured in MLO/SPL).

3. The loaded via UART MLO/SPL wants to load Linux from eMMC. In this case
the DM core and pinctrl uclass checks 'u-boot,dm-spl' and don't
configure pins (as it thinks that those were initialized in MLO/SPL).

As we are very close to release - please revert this commit.

Reported-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Lukasz Majewski <lukma@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 years agoARM: dts: socfpga: Add missing SDMMC reset
Tien Fong Chee [Sun, 30 Dec 2018 08:13:45 +0000 (16:13 +0800)]
ARM: dts: socfpga: Add missing SDMMC reset

The SDMMC reset is missing from DT, so the reset manager cannot unreset
the SDMMC. Add the missing DT reset entry.

Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com>
5 years agodm: usb: gadget: Fix boot breakage on sunxi platforms
Jean-Jacques Hiblot [Fri, 21 Dec 2018 08:50:21 +0000 (09:50 +0100)]
dm: usb: gadget: Fix boot breakage on sunxi platforms

Fixes commit 013116243950 ("dm: usb: create a new UCLASS ID for USB gadget
devices")

The UCLASS_DRIVER for id UCLASS_USB_GADGET_GENERIC needs to be declared
even for platforms that do not enable DM_USB_GADGET. Otherwise the driver
for their usb peripheral controller fails to bind.

Reported-by: Priit Laes <plaes@plaes.org>
Reported-by: Jagan Teki <jagan@amarulasolutions.com>
Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
Tested-by: Priit Laes <plaes@plaes.org>
Acked-by: Jagan Teki <jagan@openedev.com>
5 years agousb: Make compiling gadget support optional
Jean-Jacques Hiblot [Thu, 10 Jan 2019 14:44:14 +0000 (15:44 +0100)]
usb: Make compiling gadget support optional

There is no need to compile and include this code if it is not used.
CONFIG_USB_GADGET can be used for the purpose.

Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
5 years agoKconfig: rename CONFIG_SPL_USB_GADGET_SUPPORT as CONFIG_SPL_USB_GADGET
Jean-Jacques Hiblot [Thu, 10 Jan 2019 14:44:13 +0000 (15:44 +0100)]
Kconfig: rename CONFIG_SPL_USB_GADGET_SUPPORT as CONFIG_SPL_USB_GADGET

The SPL option for USB gadget should be named after the option for u-boot
(CONFIG_USB_GADGET)

Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
5 years agoARM: dts: define USB aliases for all omap5 platforms
Jean-Jacques Hiblot [Sat, 15 Dec 2018 16:43:28 +0000 (17:43 +0100)]
ARM: dts: define USB aliases for all omap5 platforms

This allows us to properly map the USB controller indexes

Tested on dra76 evm, am572 evm

Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
5 years agodm: usb: udc: Use SEQ_ALIAS to index the USB gadget ports
Jean-Jacques Hiblot [Sat, 15 Dec 2018 16:43:27 +0000 (17:43 +0100)]
dm: usb: udc: Use SEQ_ALIAS to index the USB gadget ports

dfu, fastbot and other usb gadget commands take the USB port index as a
parameter. Currently this index is assigned in the order of the driver
bindings.
Changing this behavior using the SEQ_ALIAS feature. This option assign to
the device a SEQ number based on its alias (if it exists)

To use it we must set the DM_UC_FLAG_SEQ_ALIAS flag and follow the existing
naming convention: use "usb" for the name of the gadget UCLASS_DRIVER
(same as for the UCLASS_USB).

If no alias is provided, then the index falls back to the order in which
the bindings took place.

Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
Reported-by: Sam Protsenko <semen.protsenko@linaro.org>
Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
Tested-by: Sam Protsenko <semen.protsenko@linaro.org>
5 years agoMerge branch 'master' of git://git.denx.de/u-boot-sunxi
Tom Rini [Thu, 10 Jan 2019 14:28:28 +0000 (09:28 -0500)]
Merge branch 'master' of git://git.denx.de/u-boot-sunxi

5 years agoMerge tag 'u-boot-imx-20190110' of git://git.denx.de/u-boot-imx
Tom Rini [Thu, 10 Jan 2019 14:28:16 +0000 (09:28 -0500)]
Merge tag 'u-boot-imx-20190110' of git://git.denx.de/u-boot-imx

Fixes for 2019.01

5 years agommc: sunxi: Fix mmc clocks for DM_MMC
Jagan Teki [Wed, 9 Jan 2019 11:28:39 +0000 (16:58 +0530)]
mmc: sunxi: Fix mmc clocks for DM_MMC

Existing clock configure code has been followed based on the
legacy MMC dt node definitions and it cannot work with recent
dts(i) sync from Linux.

So, add clock configure code for Allwinner platforms which support
DM_MMC and eventually this will drop once CLK support is in Mainline.

Fixes: 3c92cca3cda0 ("ARM: dts: sun4i: Update A10 dts(i) files from Linux-v4.18-rc3")
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Tested-by: Priit Laes <plaes@plaes.org> # Gemei G9 A10 Tablet
Tested-by: Marek Kraus <gamelasterv2@gmail.com> # A10-OLinuXino-Lime
5 years agoMerge branch '2019-01-08-master-imports'
Tom Rini [Wed, 9 Jan 2019 21:02:29 +0000 (16:02 -0500)]
Merge branch '2019-01-08-master-imports'

- stm32f7 GPIO fixes
- SATA env fixes
- More DM migration deadline warnings
- Regression fix for non-DM MMC drivers
- dma_alloc_coherent size fix on ARM.

5 years agoimx8m: clock: Fix oscillator values
Fabio Estevam [Fri, 28 Dec 2018 18:43:01 +0000 (16:43 -0200)]
imx8m: clock: Fix oscillator values

OSC_27M_CLK should return 27MHz and OSC_32K_CLK should return
32768Hz to reflect the reality.

This also keeps the values in sync with the Linux clock tree.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
5 years agotools: imx8image: set dcd_skip to true
Peng Fan [Sat, 15 Dec 2018 12:19:58 +0000 (12:19 +0000)]
tools: imx8image: set dcd_skip to true

To B0[+] chips, dcd_skip needs to be true. For A0 chip, it needs
to be false, however A0 chip is no longer being supported anymore.
Considering we are moving code from imx-mkimage to uboot mkimage,
to make sure we not introduce some surprise, we still keep dcd_skip
code there.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agoimx8: cpu: correct info
Peng Fan [Sat, 15 Dec 2018 12:19:55 +0000 (12:19 +0000)]
imx8: cpu: correct info

The CPU banner printed is as following:
CPU:   CPU:   Freescale i.MX8QXP RevB A35 at 147228 MHz

1. Drop the CPU:
2. Change vendor from Freescale to NXP

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agomisc: imx8: scu: use platdata instead of priv data
Peng Fan [Sat, 15 Dec 2018 12:19:52 +0000 (12:19 +0000)]
misc: imx8: scu: use platdata instead of priv data

priv data has not been allocated when doing bind, so it is
wrong to use dev_get_priv in bind call back.

Let's switch to use platdata in the driver to fix the issue.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 years agomisc: imx: scu: avoid write null pointer
Peng Fan [Sat, 15 Dec 2018 12:19:49 +0000 (12:19 +0000)]
misc: imx: scu: avoid write null pointer

When boot_dev is true, fill boot device. However the original logic is when
boot_dev is false, fill boot device, this will trigger data abort.

Also fix sc_misc_get_control when using pointer val.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agoclk: imx8: fix build warning
Peng Fan [Sat, 15 Dec 2018 12:19:46 +0000 (12:19 +0000)]
clk: imx8: fix build warning

When build clk driver in spl, met the warning:
"
drivers/clk/imx/clk-imx8.c:21:25: warning: ‘imx8_clk_names’ defined but not used [-Wunused-variable]
 static struct imx8_clks imx8_clk_names[] = {
                         ^~~~~~~~~~~~~~
"

Fix with wrapping the array with CONFIG_CMD_CLK.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agoMAINTAINERS: update NXP i.MX mail list address
Peng Fan [Sat, 15 Dec 2018 12:07:02 +0000 (12:07 +0000)]
MAINTAINERS: update NXP i.MX mail list address

Update NXP i.MX mail list address

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
5 years agoboard: tbs2910: Remove FIT support in defconfig to reduce u-boot size
Soeren Moch [Sat, 5 Jan 2019 08:31:18 +0000 (09:31 +0100)]
board: tbs2910: Remove FIT support in defconfig to reduce u-boot size

The current defconfig build generates a u-boot.imx file that is too large
for the available space on a eMMC/SD card. Installing this file overwrites
the u-boot environment. So disable the unused FIT support to reduce the
size of the u-boot binary.

Signed-off-by: Soeren Moch <smoch@web.de>
5 years agoboard: tbs2910: Add u-boot.imx size limit check
Soeren Moch [Sat, 5 Jan 2019 08:31:17 +0000 (09:31 +0100)]
board: tbs2910: Add u-boot.imx size limit check

Check the size of the generated u-boot.imx file. Report an error
if it would be too big and overwrite the u-boot environment.

Signed-off-by: Soeren Moch <smoch@web.de>
5 years agoimx: Add Makefile dependency for mkimage_fit_atf.sh
Chris Spencer [Thu, 20 Dec 2018 09:25:24 +0000 (09:25 +0000)]
imx: Add Makefile dependency for mkimage_fit_atf.sh

The mkimage_fit_atf.sh SPL FIT generator script requires
u-boot-nodtb.bin, but this was not enforced by the Makefile. This could
cause the generator script to be executed before u-boot-nodtb.bin has
been created.

Signed-off-by: Chris Spencer <christopher.spencer@sea.co.uk>
Cc: NXP i.MX U-Boot Team <uboot-imx@nxp.com>
5 years agoarm: mx5: Enable WDT and bootcounter on M53Menlo
Marek Vasut [Fri, 7 Dec 2018 01:36:38 +0000 (02:36 +0100)]
arm: mx5: Enable WDT and bootcounter on M53Menlo

Enable watchdog and bootcounter support on the M53Menlo board.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
5 years agoARM: vf610: ddrmc: do not write CR79 by default
Stefan Agner [Tue, 4 Dec 2018 10:10:21 +0000 (11:10 +0100)]
ARM: vf610: ddrmc: do not write CR79 by default

The current value CTLUPD_AREF(0) is the reset value of the register,
so there is no need to write a value. If needed, the register can be
written using board specific CR settings.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Lukasz Majewski <lukma@denx.de>
5 years agoARM: vf610: ddrmc: fix initialization completion detection
Stefan Agner [Tue, 4 Dec 2018 10:10:20 +0000 (11:10 +0100)]
ARM: vf610: ddrmc: fix initialization completion detection

The CR80 register has multiple interrupt bits, the code is supposed
to check bit 8 but instead uses a logical and. In most cases this
probably did not affect real operations since at that stage typically
none of the other bits are set.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agoARM: vf610: ddrmc: fix CR138 preprocessor define
Stefan Agner [Tue, 4 Dec 2018 10:10:19 +0000 (11:10 +0100)]
ARM: vf610: ddrmc: fix CR138 preprocessor define

According to the data sheet bits 10-8 are PHYDRAM_CK_EN. Fix mask
to allow setting PHYDRAM_CK_EN correctly.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Lukasz Majewski <lukma@denx.de>
5 years agotoradex: colibri_vf: fix memory initialization
Stefan Agner [Tue, 4 Dec 2018 10:10:18 +0000 (11:10 +0100)]
toradex: colibri_vf: fix memory initialization

Commit 3f353ceccbbb ("vf610: refactor DDRMC code") changed on-die
termination (ODT) values from 120 Ohm to 60 Ohm and enabled a static
read/write leveling which has not been tested with this board. This
commit reverts both changes and makes sure that memory gets
initialized as it has been done before the mentioned commit.

Fixes: 3f353ceccbbb ("vf610: refactor DDRMC code")
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
5 years agoARM: vf610: ddrmc: program Dummy DDRBYTE1/2
Stefan Agner [Fri, 14 Dec 2018 14:26:00 +0000 (15:26 +0100)]
ARM: vf610: ddrmc: program Dummy DDRBYTE1/2

The Vybrid reference manual VFXXXRM Rev. 0 10/2016 states in chapter
5.2.6.1 DUMMY PADS (DDR/QuadSPI) that those pads need to be programed
for correct operation of DDR. Assume the default DDR pin configuration
which seems to work well on a Colibri VF50.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
5 years agoboard: toradex: colibri_vf: unset NFS and LOADS/B
Stefan Agner [Thu, 6 Dec 2018 13:55:03 +0000 (14:55 +0100)]
board: toradex: colibri_vf: unset NFS and LOADS/B

Safe some space by not selecting CMD_NFS and CMD_LOADS/B.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Reviewed-by: Lukasz Majewski <lukma@denx.de>
5 years agousb: xhci-mem: Fix scratchpad array issue
Ye Li [Mon, 7 Jan 2019 02:45:46 +0000 (02:45 +0000)]
usb: xhci-mem: Fix scratchpad array issue

After updating the value of dev_context_ptrs[0], we should flush this
from cache to memory. Otherwise the xhci controller won't use it.

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Marek Vasut <marex@denx.de>
5 years agogpio: stm32f7: Fix SPL code size
Patrice Chotard [Fri, 4 Jan 2019 09:55:06 +0000 (10:55 +0100)]
gpio: stm32f7: Fix SPL code size

In order to keep SPL code size below the 32Kb limit,
put under CONFIG_SPL_BUILD flag all unused code in SPL.
This is needed for stm32f7xx board which are using SPL.

Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
5 years agogpio: stm32f7: Fix gpio bank hole management
Patrice Chotard [Fri, 4 Jan 2019 09:55:05 +0000 (10:55 +0100)]
gpio: stm32f7: Fix gpio bank hole management

In case "gpio-ranges" property is not present in device tree,
use default value for gpio_count and gpio_range.
This fixes an issue on stm32 F7 and H7 boards where "pinmux status -a"
command didn't return any pin status due to the fact that both stm32 F7
and H7 board DT doesn't use the gpio-ranges property.

Fixes: dbf928dd2634a6("gpio: stm32f7: Add gpio bank holes management")
Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
5 years agoenv: sata: Fix saveenv issue
Ye Li [Mon, 7 Jan 2019 09:22:35 +0000 (09:22 +0000)]
env: sata: Fix saveenv issue

Wrong env buffer was passed into sata write function, cause the saveenv
not work.

Signed-off-by: Ye Li <ye.li@nxp.com>
5 years agoarm: ti: boot: Remove legacy Android partitions
Sam Protsenko [Fri, 4 Jan 2019 20:09:08 +0000 (22:09 +0200)]
arm: ti: boot: Remove legacy Android partitions

Remove unused Android partitions:
  - efs, crypto, cache: we don't use it anymore (images are not built
    in AOSP
  - ipu1, ipu2: IPU firmware is now a part of vendor image and doesn't
    reside as a separate partition

While at it, rename "reserved" partition to "uboot-env", as it's
actually stores U-Boot environment.

Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
5 years agoenv: sata: Add missed env location for SATA boot
Ye Li [Fri, 4 Jan 2019 09:34:24 +0000 (09:34 +0000)]
env: sata: Add missed env location for SATA boot

The env location label ENVL_ESATA is missed in location tables, so
when we configure the ENV in SATA, u-boot fails to get correct env
location and cause boot hang in board_f.

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
5 years agoarm: Round the dma_alloc_coherent memory size to cache line aligned
Ye Li [Fri, 4 Jan 2019 09:24:14 +0000 (09:24 +0000)]
arm: Round the dma_alloc_coherent memory size to cache line aligned

When running usb dwc3 gadget driver, we meet random USB enumeration failure in fastboot.
The root cause is a cache coherence issue. When it happens, the ctrl_req in
gadget driver is allocated at 0xfe932f40, and the usb_composite_dev (cdev)
is allocated at 0xfe932f60. So after we submit the setup request (cache flushed) to USB
controller, any accessing to usb_composite_dev variable will cause the cache line refill, then
when setup transfer is completed, reading the setup data in ctrl_req will gets old value from
cache not from memory.

The ctrl_req is allocated by API dma_alloc_coherent, but u-boot don't have cohernet memory.
so it still needs cache maintain operations before/after HW accessing. Since the cache flush or
invalidate bases on cache line, so when the allocated memory size is not cache line aligned,
potentially it may meet such issue.

This patch modifies the dma_alloc_coherent API to round the size to cache line aligned.

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
5 years agodoc: README.commands: fix type
Heinrich Schuchardt [Sun, 30 Dec 2018 12:00:51 +0000 (13:00 +0100)]
doc: README.commands: fix type

%s/commmand/command/

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 years agodm: video: lcd: MIGRATION: Add migration plan for video
Simon Glass [Fri, 28 Dec 2018 21:03:08 +0000 (14:03 -0700)]
dm: video: lcd: MIGRATION: Add migration plan for video

Add a migration plan for video which is an important subsystem in U-Boot.

Signed-off-by: Simon Glass <sjg@chromium.org>
5 years agodm: pci: MIGRATION: Add migration plan for PCI
Simon Glass [Fri, 28 Dec 2018 21:03:07 +0000 (14:03 -0700)]
dm: pci: MIGRATION: Add migration plan for PCI

Add a migration plan for PCI which is an important subsystem in U-Boot.

Signed-off-by: Simon Glass <sjg@chromium.org>
5 years agoigep003x: MAINTAINER: Remove myself as maintainer and add Javier
Enric Balletbo i Serra [Fri, 28 Dec 2018 10:55:47 +0000 (11:55 +0100)]
igep003x: MAINTAINER: Remove myself as maintainer and add Javier

I can't continue maintaining the board because I don't have access to the
hardware anymore, so remove myself from the entry and add Javier who has
volunteered to help and maintain the board.

Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Signed-off-by: Javier Martínez Canillas <javier@dowhile0.org>
5 years agoAdd a github template telling people to not use pull requests there
Tom Rini [Thu, 27 Dec 2018 14:22:55 +0000 (09:22 -0500)]
Add a github template telling people to not use pull requests there

On our mirror account on github we have gotten a handful of pull
requests.  At this time github does not allow you to disable pull
requests on a project.  The generally suggested work-around is to add a
pull request template that tells people to not use that workflow.  Add
one here that points to the wiki page on submitted patches.

Signed-off-by: Tom Rini <trini@konsulko.com>
5 years agommc: bring back partition init for non-DM MMC drivers
Andre Przywara [Mon, 17 Dec 2018 10:05:45 +0000 (10:05 +0000)]
mmc: bring back partition init for non-DM MMC drivers

Commit d0851c893706 ("blk: Call part_init() in the post_probe() method")
removed the call to part_init() in mmc.c, as this is done by the DM_MMC
framework.
However Allwinner is (still) relying on a non-DM MMC driver, so we are
now missing the implicit partition init, leading to failing MMC accesses
due to the missing partition information.

Bring the call back just for non-DM MMC driver to fix this regression.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Soeren Moch <smoch@web.de>
5 years agosunxi: drop default SPL_LIBDISK_SUPPORT enablement
Andre Przywara [Mon, 17 Dec 2018 10:05:44 +0000 (10:05 +0000)]
sunxi: drop default SPL_LIBDISK_SUPPORT enablement

There is no code for using partition labels in the Allwinner SPL port.
Even so the name is slightly misleading, CONFIG_SPL_LIBDISK_SUPPORT was
meant to guard partition code for the SPL.

Remove the "imply" line in the Kconfig to make this obvious and avoid
unneeded code inclusions, helping to keep the H6 SPL code small.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 years agoMakefile: Correct logic for DM_SCSI + unconverted drivers check
Tom Rini [Tue, 8 Jan 2019 03:57:56 +0000 (22:57 -0500)]
Makefile: Correct logic for DM_SCSI + unconverted drivers check

When checking for boards that are enabling a SATA driver that isn't
converted to DM yet we need to be sure to not also trip over boards that
do set CONFIG_DM_SCSI by itself, as that is not a bug.

Reported-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Fixes: ea9d7c17fc4c ("dm: MIGRATION: Add migration plan for CONFIG_SATA")
Signed-off-by: Tom Rini <trini@konsulko.com>
5 years agoPrepare v2019.01-rc3
Tom Rini [Tue, 8 Jan 2019 03:58:17 +0000 (22:58 -0500)]
Prepare v2019.01-rc3

Signed-off-by: Tom Rini <trini@konsulko.com>
5 years agoconfigs: Resync with savedefconfig
Tom Rini [Mon, 7 Jan 2019 22:46:19 +0000 (17:46 -0500)]
configs: Resync with savedefconfig

Rsync all defconfig files using moveconfig.py

Signed-off-by: Tom Rini <trini@konsulko.com>
5 years agoMerge branch 'master' of git://git.denx.de/u-boot-samsung
Tom Rini [Mon, 7 Jan 2019 00:42:55 +0000 (19:42 -0500)]
Merge branch 'master' of git://git.denx.de/u-boot-samsung

5 years agoMerge tag 'for-master-20190106' of git://git.denx.de/u-boot-rockchip
Tom Rini [Sun, 6 Jan 2019 15:33:28 +0000 (10:33 -0500)]
Merge tag 'for-master-20190106' of git://git.denx.de/u-boot-rockchip

Fixes:
 - rockchip: rk3399: fix missing braces in full pinctrl

5 years agorockchip: rk3399: fix missing braces in full pinctrl
Philipp Tomsich [Fri, 4 Jan 2019 18:09:08 +0000 (19:09 +0100)]
rockchip: rk3399: fix missing braces in full pinctrl

Braces around the error-case for rk3399_pinctrl_set_pin_pupd lead to
an unconditional (and unintended) return from the function without it
ever setting pin-configurations.

Fix it.

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 years agoexynos: Leave the compiler to choose the register to avoid possible r0 corruption
Guillaume GARDET [Fri, 4 Jan 2019 08:23:19 +0000 (09:23 +0100)]
exynos: Leave the compiler to choose the register to avoid possible r0 corruption

Reported-by: Siarhei Siamashka <siarhei.siamashka@gmail.com>
Signed-off-by: Guillaume GARDET <guillaume.gardet@free.fr>
Cc: Albert Aribaud <albert.u.boot@aribaud.net>
Cc: Minkyu Kang <mk7.kang@samsung.com>
Cc: Tom Rini <trini@konsulko.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
5 years agoMerge tag 'for-v2019.01' of git://git.denx.de/u-boot-video
Tom Rini [Thu, 3 Jan 2019 20:34:44 +0000 (15:34 -0500)]
Merge tag 'for-v2019.01' of git://git.denx.de/u-boot-video

TrueType fixes and documentation

5 years agoMerge tag 'for-master-20190103' of git://git.denx.de/u-boot-rockchip
Tom Rini [Thu, 3 Jan 2019 13:39:44 +0000 (08:39 -0500)]
Merge tag 'for-master-20190103' of git://git.denx.de/u-boot-rockchip

Last-minute fixes for 2019.1:
- clamp DRAM size to below 32bit for 32bit targets to support 4GB
- fix copyright notice on some Rockchip-contributed files
- adjust vdd_log for the RK3399-Q7 to improve stability in some workloads

5 years agoexynos: allow SPL to build in thumb mode
Guillaume GARDET [Wed, 2 Jan 2019 13:31:41 +0000 (14:31 +0100)]
exynos: allow SPL to build in thumb mode

Building peach-pi smdk5420 and peach-pit with thumb mode for SPL
ends-up in the following error:

Error: Thumb encoding does not support an immediate here -- `msr cpsr_c,#0x13|0xC0'

Use an intermediate register to be able to use thumb for exynos5 SPL.

Signed-off-by: Guillaume GARDET <guillaume.gardet@free.fr>
Cc: Albert Aribaud <albert.u.boot@aribaud.net>
Cc: Minkyu Kang <mk7.kang@samsung.com>
Cc: Tom Rini <trini@konsulko.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
5 years agorockchip: rk3399-puma: Set VDD_LOG to 950 mV.
Christoph Muellner [Wed, 2 Jan 2019 14:09:22 +0000 (15:09 +0100)]
rockchip: rk3399-puma: Set VDD_LOG to 950 mV.

This patch sets VDD_LOG to 950 mV on RK3399-Q7.
This is required to address stability issues on Puma
in heavy-load use-cases.

Reported-by: Assaf Agmon <assaf@r-go.io>
Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
5 years agorockchip: rk3399-puma: enable full pinctrl driver in Puma defconfig.
Christoph Muellner [Wed, 2 Jan 2019 14:09:21 +0000 (15:09 +0100)]
rockchip: rk3399-puma: enable full pinctrl driver in Puma defconfig.

This patch enables the full pinctrl driver in the defconfig
for the RK3399-Q7.

Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
5 years agorockchip: rk3399: Add Kconfig option for full pinctrl driver
Christoph Muellner [Wed, 2 Jan 2019 14:09:20 +0000 (15:09 +0100)]
rockchip: rk3399: Add Kconfig option for full pinctrl driver

This patch adds a Kconfig option to enable the full pinctrl driver
for the RK3399. This flag needs to be enabed in order to get the
features of the full pinctrl driver compiled in (i.e. a .set_state()
callback).

Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
5 years agorockchip: rk3399: Add improved pinctrl driver.
Christoph Muellner [Wed, 2 Jan 2019 14:09:19 +0000 (15:09 +0100)]
rockchip: rk3399: Add improved pinctrl driver.

The current pinctrl driver for the RK3399 has a range of qulity issues.
E.g. it only implements the .set_state_simple() callback, it
does not parse the available pinctrl information from the DTS
(instead uses hardcoded values), is not flexible enough to cover
devices without 'interrupt' field in the DTS (e.g. PWM),
is not written generic enough to make code reusable among other
rockchip SoCs...

This patch addresses these issues by reimplementing the whole driver
from scratch using the .set_state() callback.
The new implementation covers all featurese of the old code
(i.e. it supports pinmuxing and pullup/pulldown configuration).

This patch has been tested on a RK3399-Q7 SoM (Puma).

Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
5 years agodm: pinctrl: Add pinctrl_decode_pin_config_dm().
Christoph Muellner [Wed, 2 Jan 2019 14:09:18 +0000 (15:09 +0100)]
dm: pinctrl: Add pinctrl_decode_pin_config_dm().

pinctrl_decode_pin_config_dm() is basically a feature-equivalent
implementation of pinctrl_decode_pin_config(), which operates
on struct udevice devices and uses the dev_read_*() API.

Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
5 years agorockchip: rk3399-puma: enable PWM regulator in Puma defconfig.
Christoph Muellner [Wed, 2 Jan 2019 14:09:17 +0000 (15:09 +0100)]
rockchip: rk3399-puma: enable PWM regulator in Puma defconfig.

This patch enables the PWM regulator driver in the defconfig
for the RK3399-Q7.

Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
5 years agopower: regulator: Allow PWM regulator to be omitted from SPL.
Christoph Muellner [Wed, 2 Jan 2019 14:09:16 +0000 (15:09 +0100)]
power: regulator: Allow PWM regulator to be omitted from SPL.

This patch allows to enable the PWM regulator driver
independent for U-Boot and SPL.

Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
5 years agorockchip: rk3399-puma: Cleanup of vdd_log DTS entry.
Christoph Muellner [Wed, 2 Jan 2019 14:09:15 +0000 (15:09 +0100)]
rockchip: rk3399-puma: Cleanup of vdd_log DTS entry.

This patch eliminates the non-standard entries "rockchip,pwm_id"
and "rockchip,pwm_voltage". They are neither documented nor
read out by any driver.

Additionally it introduces the entry regulator-init-microvolt
and sets it to 900 mV, which is the default target value
for VDD_LOG.

Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
5 years agorockchip: ram: update license for sdram driver
Kever Yang [Thu, 20 Dec 2018 03:33:42 +0000 (11:33 +0800)]
rockchip: ram: update license for sdram driver

Rockchip may use this sdram copy of source code for both open source
and internal project, update the license to use both GPL2.0+ and
BSD-3 Clause.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
5 years agorockchip: rk3036: ram: update license
Kever Yang [Thu, 20 Dec 2018 03:33:41 +0000 (11:33 +0800)]
rockchip: rk3036: ram: update license

All the source code of sdram_rk3036.c are from Rockchip, update the
copyright to owned by Rockchip.

Because rockchip may use this copy of code both for open source
project and internal project, update the license to use both
GPL2.0+ and BSD-3 Clause.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
5 years agorockchip: sdram-common: fix wrong size for 4GB in 32bit SoC
Kever Yang [Fri, 28 Dec 2018 01:56:48 +0000 (09:56 +0800)]
rockchip: sdram-common: fix wrong size for 4GB in 32bit SoC

This is workaround for issue we can't get correct size for 4GB ram
in 32bit system and available before we really need ram space
out of 4GB, eg.enable ARM LAPE(rk3288 supports 8GB ram).
The size of 4GB is '0x1 00000000', and this value will be truncated
to 0 in 32bit system, and system can not get correct ram size.
Rockchip SoCs reserve a blob of space for peripheral near 4GB,
and we are now setting SDRAM_MAX_SIZE as max available space for
ram in 4GB, so we can use this directly to workaround the issue.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Tested-By: Vagrant Cascadian <vagrant@debian.org>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
5 years agoMerge branch 'master' of git://git.denx.de/u-boot-spi
Tom Rini [Wed, 2 Jan 2019 19:20:29 +0000 (14:20 -0500)]
Merge branch 'master' of git://git.denx.de/u-boot-spi

5 years agoMerge branch 'master' of git://git.denx.de/u-boot-sunxi
Tom Rini [Wed, 2 Jan 2019 00:55:05 +0000 (19:55 -0500)]
Merge branch 'master' of git://git.denx.de/u-boot-sunxi

5 years agodm: MIGRATION: Update migration plan for DM_SPI_FLASH
Jagan Teki [Sun, 23 Dec 2018 21:52:25 +0000 (03:22 +0530)]
dm: MIGRATION: Update migration plan for DM_SPI_FLASH

Migration plan for DM_SPI_FLASH is v2019.07 since it
depends on DM_SPI migration.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
5 years agodm: MIGRATION: Update migration plan for SPI
Jagan Teki [Fri, 14 Dec 2018 16:34:12 +0000 (22:04 +0530)]
dm: MIGRATION: Update migration plan for SPI

- v2019.04 for no dm conversion drivers
- v2019.07 for partially converted drivers.

Note: there were many updates on this deadline, so better
not update this again.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
5 years agomtd: nand: raw: Add Hynix H27UBG8T2BTR id table
Nikolai Zhubr [Tue, 1 Jan 2019 19:26:13 +0000 (00:56 +0530)]
mtd: nand: raw: Add Hynix H27UBG8T2BTR id table

This patch adds Hynix H27UBG8T2BTR id table as part of raw nand,
these chips were available in some A20-olinuxino-micro boards.

Signed-off-by: Nikolai Zhubr <n-a-zhubr@yandex.ru>
[jagan: add proper commit message]
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
5 years agospi: sun4i: Add rx_buf NULL pointer check
Stefan Mavrodiev [Wed, 5 Dec 2018 12:27:57 +0000 (14:27 +0200)]
spi: sun4i: Add rx_buf NULL pointer check

Current driver doesn't check if the destination pointer is NULL.
This cause the data from the FIFO to be stored inside the internal
SDRAM ( address 0 ).

The patch add simple check if the destination pointer is NULL.

Signed-off-by: Stefan Mavrodiev <stefan@olimex.com>
Acked-by: Jagan Teki <jagan@openedev.com>
[jagan: fix commit message]
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
5 years agoMerge tag 'u-boot-imx-20190101' of git://www.denx.de/git/u-boot-imx
Tom Rini [Tue, 1 Jan 2019 14:56:41 +0000 (09:56 -0500)]
Merge tag 'u-boot-imx-20190101' of git://www.denx.de/git/u-boot-imx

imx for 2019.01

- introduce support for i.MX8M
- fix size limit for Vhybrid / pico boards
- several board fixes
- w1 driver for MX2x / MX5x

5 years agopico-imx7d: Increase the CONFIG_ENV_OFFSET size
Fabio Estevam [Fri, 30 Nov 2018 14:52:13 +0000 (12:52 -0200)]
pico-imx7d: Increase the CONFIG_ENV_OFFSET size

U-Boot binary has grown in such a way that it goes beyond the reserved
area for the environment variables.

Running "saveenv" causes U-Boot to hang because of this overlap.

Fix this problem by increasing the CONFIG_ENV_OFFSET size.

Also, in order to prevent this same problem in the future, use
CONFIG_BOARD_SIZE_LIMIT, which will detect the overlap in build-time.

CONFIG_BOARD_SIZE_LIMIT does not accept math expressions, so declare
CONFIG_ENV_OFFSET with its direct value instead.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
Acked-by: Otavio Salvador <otavio@ossystems.com.br>
5 years agonand: vybrid: Extend the vf610 NFC NAND driver to support device tree (and DM)
Lukasz Majewski [Mon, 3 Dec 2018 09:24:51 +0000 (10:24 +0100)]
nand: vybrid: Extend the vf610 NFC NAND driver to support device tree (and DM)

This commit adds support for device tree and enumeration via device model
for the Vybrid's NFC NAND driver.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agoKconfig: Add entry for VF610 NAND NFC device tree aware driver
Lukasz Majewski [Mon, 3 Dec 2018 09:24:50 +0000 (10:24 +0100)]
Kconfig: Add entry for VF610 NAND NFC device tree aware driver

This commit provides code to add proper entry to Kconfig to enable
support for VF610 device tree aware driver.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agonand: vybrid: Use calloc() instead of malloc() to allocate struct nfc
Lukasz Majewski [Mon, 3 Dec 2018 09:20:47 +0000 (10:20 +0100)]
nand: vybrid: Use calloc() instead of malloc() to allocate struct nfc

Without this change it is possible that Vybrid's NFC driver malloc() call
will obtain some memory used (and correctly free'd) by some previous
driver (in this case pinctrl for Vybrid).

As a result some fields of struct nfc - in out case mtd->_get_device - are
"pre initialized" with some random values.

On the latter stage of booting, when e.g. somebody calls 'mtdparts default'
the "data abort" is observed when __get_mtd_device() function is called.

The mtd->_get_device pointer is not NULL and wrong value is referenced.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
Reviewed-by: Stefan Agner <stefan.agner@toradex.com>
5 years agoimx: mx53ppd: fix build error
Peng Fan [Sun, 9 Dec 2018 11:45:02 +0000 (11:45 +0000)]
imx: mx53ppd: fix build error

board/ge/mx53ppd/mx53ppd.c: In function 'board_late_init':
board/ge/mx53ppd/mx53ppd.c:359:23: error: passing argument 2 of 'read_vpd' from incompatible pointer type [-Werror=incompatible-pointer-types]
  res = read_vpd(&vpd, vpd_callback);
                       ^~~~~~~~~~~~
In file included from board/ge/mx53ppd/mx53ppd.c:37:0:
board/ge/mx53ppd/../../ge/common/vpd_reader.h:19:5: note: expected 'int (*)(struct vpd_cache *, u8,  u8,  u8,  size_t,  const u8 *) {aka int (*)(struct vpd_cache *, unsigned char,  unsigned char,  unsigned char,  unsigned int,  const unsigned char *)}' but argument is of type 'int (*)(void *, u8,  u8,  u8,  size_t,  const u8 *) {aka int (*)(void *, unsigned char,  unsigned char,  unsigned char,  unsigned int,  const unsigned char *)}'
int read_vpd(struct vpd_cache *cache,
     ^~~~~~~~
cc1: all warnings being treated as errors

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Acked-by: Stefano Babic <sbabic@denx.de>
5 years agopcm058: fix NAND flash not using badblock table
Harald Seiler [Fri, 7 Dec 2018 09:19:36 +0000 (10:19 +0100)]
pcm058: fix NAND flash not using badblock table

Currently, U-Boot ignores the BBT stored in the last 4 blocks of NAND
flash because the NAND_BBT_USE_FLASH flag is not set.  This leads to
two issues:

* U-Boot silently uses a memory-only BBT which is initialized with all
  blocks marked as good.  This means, actual bad blocks are marked good
  and U-Boot might try writing to or reading from them.
* The BBT in flash, which will be created once Linux boots up, is not
  off limits for a driver ontop, like UBI.  While it does not seem to
  consistently produce an error, sometimes UBI will fail to attach
  because the BBT blocks obviously don't contain valid UBI data.

To fix this, this patch sets the CONFIG_SYS_NAND_USE_FLASH_BBT option,
which is used in ./drivers/mtd/nand/raw/mxs_nand.c to decide whether
a BBT in flash is used.

Signed-off-by: Harald Seiler <hws@denx.de>
5 years agoimx8m: ddr: removed unused macros
Peng Fan [Mon, 3 Dec 2018 12:41:09 +0000 (12:41 +0000)]
imx8m: ddr: removed unused macros

Remove unused DDRC register macros.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agoimx: add i.MX8MQ EVK support
Peng Fan [Tue, 20 Nov 2018 10:20:00 +0000 (10:20 +0000)]
imx: add i.MX8MQ EVK support

Add i.MX8MQ EVK support. SPL will initialize ddr and load ddr phy
firmware. Then loading FIT image, ATF to OCRAM, U-Boot and DTB to
DRAM.

The boot log with Arm trusted firmware console enabled:
"
U-Boot SPL 2018.11-00142-g9ae14e7274 (Nov 20 2018 - 18:13:16 +0800)
PMIC:  PFUZE100 ID=0x10
Normal Boot
Trying to boot from MMC2
NOTICE:  Configureing TZASC380
NOTICE:  BL31: v1.5(release):p9.0.0_1.0.0-beta-20180928-8-ge09c4b62-dirty
NOTICE:  BL31: Built : 09:28:54, Nov  8 2018
lpddr4 swffc start
NOTICE:  sip svc init

U-Boot 2018.11-00142-g9ae14e7274 (Nov 20 2018 - 18:13:16 +0800)

CPU:   Freescale i.MX8MQ rev2.0 at 1000 MHz
Reset cause: POR
Model: Freescale i.MX8MQ EVK
DRAM:  3 GiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
In:    serial
Out:   serial
Err:   serial
Net:
Warning: ethernet@30be0000 using MAC address from ROM
eth0: ethernet@30be0000
Hit any key to stop autoboot:  0
"

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
5 years agodrivers: ddr: introduce DDR driver for i.MX8M
Peng Fan [Tue, 20 Nov 2018 10:19:57 +0000 (10:19 +0000)]
drivers: ddr: introduce DDR driver for i.MX8M

Introduce DDR driver for i.MX8M. The driver will be used by SPL to
initialze DDR PHY and DDR Controller.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agoimx: imx8m: add lpddr4 header file
Peng Fan [Tue, 20 Nov 2018 10:19:53 +0000 (10:19 +0000)]
imx: imx8m: add lpddr4 header file

Introduce lpddr4 header file

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agoimx: imx8m: not build bootaux when building SPL
Peng Fan [Tue, 20 Nov 2018 10:19:50 +0000 (10:19 +0000)]
imx: imx8m: not build bootaux when building SPL

No need to build bootaux in SPL stage

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agoimx: imx8mq: build flash.bin
Peng Fan [Tue, 20 Nov 2018 10:19:46 +0000 (10:19 +0000)]
imx: imx8mq: build flash.bin

Build flash.bin for i.MX8MQ, it will include signed hdmi firmware,
spl, ddr firmware, fit image(bl31.bin, u-boot-nodtb.bin, dtb).
Burn it to 33KB offset of SD card.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agoimx: imx8m: introduce imximage cfg file
Peng Fan [Tue, 20 Nov 2018 10:19:43 +0000 (10:19 +0000)]
imx: imx8m: introduce imximage cfg file

imximage.cfg will be used to generate the flash.bin

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agoimx: imx8m: introduce script to generate fit image
Peng Fan [Tue, 20 Nov 2018 10:19:39 +0000 (10:19 +0000)]
imx: imx8m: introduce script to generate fit image

Introduce script to generate fit image for i.MX8M

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agoimx: imx8m: clock refactor dram pll part
Peng Fan [Tue, 20 Nov 2018 10:19:32 +0000 (10:19 +0000)]
imx: imx8m: clock refactor dram pll part

Refactor dram_pll_init to accept args to configure different pll freq.
Introduce dram_enable_bypass and dram_disable_bypass

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agoimx: spl: add MMC BOOT Device for i.MX8M
Peng Fan [Tue, 20 Nov 2018 10:19:29 +0000 (10:19 +0000)]
imx: spl: add MMC BOOT Device for i.MX8M

Add MMC BOOT Device for i.MX8M

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agoimx: rename mx8m,MX8M to imx8m,IMX8M
Peng Fan [Tue, 20 Nov 2018 10:19:25 +0000 (10:19 +0000)]
imx: rename mx8m,MX8M to imx8m,IMX8M

Rename mx8m,MX8M to imx8m,IMX8M

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Jon Nettleton <jon@solid-run.com>
5 years agoimx: introduce is_imx8mq helper
Peng Fan [Tue, 20 Nov 2018 10:19:22 +0000 (10:19 +0000)]
imx: introduce is_imx8mq helper

Introduce is_imx8mq header macro

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agoimx: cpu: add CHIP_REV_2_1 macro
Peng Fan [Tue, 20 Nov 2018 10:19:18 +0000 (10:19 +0000)]
imx: cpu: add CHIP_REV_2_1 macro

Introduce CHIP_REV_2_1 macro.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agoimx8m: Enable CONFIG_SPL_FIT_IMAGE_TINY for iMX8M
Ye Li [Tue, 20 Nov 2018 10:19:15 +0000 (10:19 +0000)]
imx8m: Enable CONFIG_SPL_FIT_IMAGE_TINY for iMX8M

If we don't define CONFIG_SPL_FIT_IMAGE_TINY, when loading images from FIT,
the SPL will record all loadables' info to u-boot's FDT. This causes
problem when HAB is enabled, because FDT's content is modified before
we authenticate it.

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agoIntroduce CONFIG_FIT_EXTERNAL_OFFSET
Peng Fan [Tue, 20 Nov 2018 10:19:11 +0000 (10:19 +0000)]
Introduce CONFIG_FIT_EXTERNAL_OFFSET

Introduce CONFIG_FIT_EXTERNAL_OFFSET to give user a choice to choose
where to put the external data.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agoarm: imx8qxp: build u-boot-dtb.cfgout before checking files
Peng Fan [Mon, 5 Nov 2018 10:01:37 +0000 (10:01 +0000)]
arm: imx8qxp: build u-boot-dtb.cfgout before checking files

Build u-boot-dtb.cfgout before checking files, otherwise
u-boot-dtb.cfgout is generated at late stage and cause final image not
generated.

Signed-off-by: Peng Fan <peng.fan@nxp.com>