Commit graph

60664 commits

Author SHA1 Message Date
Tom Rini
6891152a45 Merge branch 'master' of git://git.denx.de/u-boot-socfpga
- vining_fpga updates
2019-10-14 21:00:10 -04:00
Tom Rini
6f1f28b8e1 u-boot-imx-20191014
-------------------
 
 Travis: https://travis-ci.org/sbabic/u-boot-imx/builds/597498628
 
 	- logicpd pinmux
 	- i.MX7ULP: imx_ddr_size
 	- fixes Toradex i.MX6/i.MX7
 	- pico-imx7d
 	- tpc70 converted to DM
 	- New Board: meerkat96
 	- add HAB version command
 	- i.MX8 :
       		imx8: Jump from alias to OCRAM address at SPL init
       		imx8qm/qxp: Set SPL TEXT base to OCRAM base
 -----BEGIN PGP SIGNATURE-----
 
 iQHDBAABCgAtFiEEiZClFGvhzbUNsmAvKMTY0yrV63cFAl2kbrYPHHNiYWJpY0Bk
 ZW54LmRlAAoJECjE2NMq1et30iQL/RDCe3R1MuQPQdjBEUcb+ZXP8/vaAAbgAsv6
 MNN/ybJ8pIXGVF5qxJxzZgMcUvIq1vy8romomIwVBOr7gueoYMokpKeE95P4XK2r
 HmFM+/ZcXIXvDrHrULDquAvCG6zhOMHXdbmWcQcZLcHSCsZpkh4YuuGzFVpxTgNE
 kTJpEF+Orw49w9wMVKeqfv9z3MsYkr/vV3kH/+ISndN6cOBOjV56Qzl/hlzxiN1d
 wueTQi1pxUVjbsKWIkf76XTeSa5621bM01+YMN3CFq/AWhVMbpnaWWGB6ET4NBjD
 k/BjRgCZ+/hwjpHnbylHEmsLolNsIXn8KirE73OCmIvov/vUYaaZJ5lBzU+L2A5k
 tK6p1LOTvsRxKBsN49hQIQLJMcn/sp9RpP9ohgCs3lj7bKGAQ1HoxqylypeDGPv1
 htKGdBFGiEfoCus1Ob7NAevYAPlVM7h+mDzFSYhlr9BZnrDj2V3nwICj8KV3wkwl
 lPiUQiYMUhgvSSSiU2NJDSy1onjSXA==
 =J8jd
 -----END PGP SIGNATURE-----

Merge tag 'u-boot-imx-20191014' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx

u-boot-imx-20191014
-------------------

Travis: https://travis-ci.org/sbabic/u-boot-imx/builds/597498628

	- logicpd pinmux
	- i.MX7ULP: imx_ddr_size
	- fixes Toradex i.MX6/i.MX7
	- pico-imx7d
	- tpc70 converted to DM
	- New Board: meerkat96
	- add HAB version command
	- i.MX8 :
      		imx8: Jump from alias to OCRAM address at SPL init
      		imx8qm/qxp: Set SPL TEXT base to OCRAM base
2019-10-14 13:00:51 -04:00
Tom Rini
cd5ffc5de5 - panel bridge support in stm32 ltdc
- DSI host uclass
 - sandbox DSI host uclass test driver and DSI host test
 - MIPI DSI helpers
 - Synopsys Designware MIPI DSI host bridge driver
 - STM32 DSI controller driver
 - OTM800A and RM68200 panel support
 - DSI host updates for stm32f769 and stm32mp1 dtsi files
 - splash screen for stm32f769 and stm32mp1 boards
 - stm32 defconfig updates for display support
 -----BEGIN PGP SIGNATURE-----
 
 iGwEABECACwWIQSC4hxrSoIUVfFO0kRM6ATMmsalXAUCXaRAgw4cYWd1c3RAZGVu
 eC5kZQAKCRBM6ATMmsalXH1tAJ44kBh0X+ZD1w3pmqcWYOB1WRRDzwCfeaLy0SfQ
 H1h5bXYm5KO8Mao9Ts4=
 =73tE
 -----END PGP SIGNATURE-----

Merge tag 'video-for-2020.01' of https://gitlab.denx.de/u-boot/custodians/u-boot-video

- panel bridge support in stm32 ltdc
- DSI host uclass
- sandbox DSI host uclass test driver and DSI host test
- MIPI DSI helpers
- Synopsys Designware MIPI DSI host bridge driver
- STM32 DSI controller driver
- OTM800A and RM68200 panel support
- DSI host updates for stm32f769 and stm32mp1 dtsi files
- splash screen for stm32f769 and stm32mp1 boards
- stm32 defconfig updates for display support
2019-10-14 07:30:16 -04:00
Tom Rini
fae7948011 Merge tag 'mmc-10-10-2019' of https://gitlab.denx.de/u-boot/custodians/u-boot-mmc
- Add sdhci driver for Broadcom iProc platform
- Add a driver callback for power-cycle for mmc
- Implement host_power_cycle callback for stm32_sdmmc2
- spl: dm_mmc: Initialize only the required mmc device
2019-10-14 07:28:32 -04:00
Peng Fan
d02be21d30 i2c: imx_lpi2c: add ipg clk
The controller needs two clk, per clk and ipg clk,
so let's add ipg clk.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2019-10-14 09:31:41 +02:00
Sjoerd Simons
b4eca2d787 imx :hab: Add hab version command
THe RVT data includes a major and minor version in its header
parameter. Add a new command to print this out.

Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
2019-10-14 09:31:41 +02:00
Peng Fan
5fba75373b imx: imx8mm_evk: add board_mmc_get_env_dev
Add board_mmc_get_env_dev to correctly return devno for mmc env

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2019-10-14 09:31:41 +02:00
Fabio Estevam
49cf320f7a mx7ulp_evk: Use imx_ddr_size()
Use imx_ddr_size() to retrieve the total DDR size instead
of passing a hardcoded memory size.

imx_ddr_size() calculates the memory size based on the actual
MMDC registers values and is useful to detect misconfigurations,
so switch to this more robust approach.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
2019-10-14 09:31:41 +02:00
Fabio Estevam
d9fba73a88 imx: mmdc_size: Allow building it for i.MX7ULP
i.MX7ULP uses the same MMDC controller IP as found on i.MX53
and i.MX6, so build mmdc_size.c for i.MX7ULP as well.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
2019-10-14 09:31:41 +02:00
Fabio Estevam
a02a5fb6ff imx: mmdc_size: Fix checkpatch warnings
The original imx_ddr_size() implementation had some
issues reported by checkpatch like this:

CHECK: Prefer kernel type 'u32' over 'uint32_t'
#127: FILE: arch/arm/mach-imx/mmdc_size.c:16:
+	uint32_t	ctl;

WARNING: Prefer 'unsigned int' to bare use of 'unsigned'
#151: FILE: arch/arm/mach-imx/mmdc_size.c:40:
+	unsigned ctl = readl(&mem->ctl);

Fix all of them.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
2019-10-14 09:31:41 +02:00
Fabio Estevam
89bc388a32 imx: Place imx_ddr_size() into a separate file
Place imx_ddr_size() into a separate file.

The motivation for doing this is to be able to easily reuse
imx_ddr_size() on i.MX7ULP.

Currently imx_ddr_size() is inside arch/arm/mach-imx/cpu.c, which
is not built for i.MX7ULP.

Changing the logic to allow building cpu.c for i.MX7UP would
require adding several ifdef's, leading to a not a very elegant
solution.

To allow better reuse, just place imx_ddr_size() into a common
mmdc_size.c file.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Stefano Babic <sbabic@denx.de>
2019-10-14 09:31:33 +02:00
Yannick Fertré
d68ed0fad6 stm32mp1: configs: add display devices
Add support of panels otm8009A, RM68200 & DSI controller.
Limit resolution to 1280x800.

Signed-off-by: Yannick Fertré <yannick.fertre@st.com>
2019-10-13 23:40:15 +02:00
Yannick Fertré
a6bbc62cab stm32mp1: configs: update video
Update video configs to support bitmap 16bpp, 24bpp,
32bpp & RLE8.

Signed-off-by: Yannick Fertré <yannick.fertre@st.com>
2019-10-13 23:39:34 +02:00
Yannick Fertré
aa37506bd3 ARM: dts: stm32mp1: add dsi host for stm32mp157c-dk2 board
The new class dsi host allows the management of the bridge DPI to DSI.
This bridge is embedded in the chipset mp1 (come from synopsys company).

Signed-off-by: Yannick Fertré <yannick.fertre@st.com>
2019-10-13 23:39:25 +02:00
Yannick Fertré
b49711f0c0 ARM: dts: stm32mp1: add dsi host for stm32mp157c-ev1 board
The new class dsi host allows the management of the bridge DPI to DSI.
This bridge is embedded in the chipset mp1 (come from synopsys company).

Signed-off-by: Yannick Fertré <yannick.fertre@st.com>
2019-10-13 23:39:14 +02:00
Yannick Fertré
30173bacdd ARM: dts: stm32f769: add display for STM32F769 disco board
Enable the display controller, mipi dsi bridge & panel.
Set panel display timings.

Signed-off-by: Yannick Fertré <yannick.fertre@st.com>
2019-10-13 23:39:01 +02:00
Yannick Fertré
0e73892184 board: Add STM32F769 SoC, discovery board support
Signed-off-by: Yannick Fertré <yannick.fertre@st.com>
2019-10-13 23:38:47 +02:00
Yannick Fertré
06ef131d30 video: add support of panel RM68200
Support for Raydium RM68200 720p dsi 2dl video mode panel.
This rm68200 panel driver is based on the Linux Kernel driver from
drivers/gpu/drm/panel/panel-raydium-rm68200.c.

Signed-off-by: Yannick Fertré <yannick.fertre@st.com>
2019-10-13 23:38:36 +02:00
Yannick Fertré
78157b2fa5 video: add support of panel OTM8009A
Support for Orise Tech otm8009a 480p dsi 2dl video mode panel.

Signed-off-by: Yannick Fertré <yannick.fertre@st.com>
2019-10-13 23:38:26 +02:00
Yannick Fertré
18b6ca5c5a video: add support of STM32 MIPI DSI controller driver
Add the STM32 DSI controller driver that uses the Synopsys DesignWare
MIPI DSI host controller bridge.

Signed-off-by: Yannick Fertré <yannick.fertre@st.com>
2019-10-13 23:38:12 +02:00
Yannick Fertré
d4f7ea83fc video: add MIPI DSI host controller bridge
Add a Synopsys Designware MIPI DSI host bridge driver, based on the
Rockchip version from rockchip/dw-mipi-dsi.c with phy & bridge APIs.

Signed-off-by: Yannick Fertré <yannick.fertre@st.com>
2019-10-13 23:37:08 +02:00
Yannick Fertré
23f965a4c6 dm: Add a dsi host uclass
Display Serial Interface (DSI) host can usefully be modelled
as their own uclass.
DSI defines a serial bus and a communication protocol
between the host and the device (panel, bridge).

Signed-off-by: Yannick Fertré <yannick.fertre@st.com>
2019-10-13 23:34:43 +02:00
Shyam Saini
4e1c879f71 configs: icorem6: Enable nandbcb command
This also enables mtd configs which are required by nandbcb command.

This command would be used to configure boot control block(BCB) while
writing spl image on nand device.

Signed-off-by: Shyam Saini <shyam.saini@amarulasolutions.com>
2019-10-13 22:49:12 +02:00
Igor Opaniuk
792b253658 colibri_imx7: provide proper node name to pmic_get
Implementation of pmic_get() uses uclass_find_device_by_name(), which
behaviour was changed in 4213609cc7
("drivers: core: use strcmp when find device by name"). Now we have to
supply full node name with unit address.

Fixes boot issue:
U-Boot 2019.07-00788-g0ef6e69a1e-dirty (Jul 19 2019 - 15:27:02 +0300)

CPU:   Freescale i.MX7D rev1.3 1000 MHz (running at 792 MHz)
CPU:   Extended Commercial temperature grade (-20C to 105C) at 41C
Reset cause: POR
DRAM:  512 MiB
initcall sequence 9ffd3a4c failed at call 87803c61 (err=-19)
ERROR Please RESET the board

Fixes: 4213609cc7("drivers: core: use strcmp when find device by name")
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2019-10-13 22:49:12 +02:00
Sjoerd Simons
80cc95140c spl, Makefile: Take external offset into account for fit images
When building a FIT image for SPL to load also take into account the
configured external offset. This allows the SPL to load the u-boot FIT
image correctly when configuring SECURE_BOOT on i.mx6 is enabled
(with CONFIG_FIT_EXTERNAL_OFFSET=0x3000).

Note this doesn't allow secure booting; but it does allow an unsigned
SPL/u-boot with secure boot support eanbled to boot on open device.

Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
2019-10-13 22:49:12 +02:00
Igor Opaniuk
e2c3c2e32c colibri_imx7: remove legacy sdboot wrapper
Remove legacy sdboot wrapper as distroboot can be used instead.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
2019-10-13 22:49:12 +02:00
Igor Opaniuk
541bfadc70 colibri_imx6: remove legacy sdboot wrapper
Remove legacy sdboot wrapper as distroboot can be used instead.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
2019-10-13 22:49:12 +02:00
Igor Opaniuk
3bae9bb286 colibri-imx6ull: remove legacy sdboot wrapper
Remove legacy sdboot wrapper as distroboot can be used instead.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
2019-10-13 22:49:12 +02:00
Igor Opaniuk
5f1e987c8b apalis_imx6: remove legacy sdboot wrapper
Remove legacy sdboot wrapper as distroboot can be used instead.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
2019-10-13 22:49:12 +02:00
Ye Li
f9f42b07ff imx8qm/qxp: Set SPL TEXT base to OCRAM base
Modify the SPL TEXT base from OCRAM alias to OCRAM base 0x100000, so
we can use full OCRAM not limit to 96KB

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2019-10-13 22:49:12 +02:00
Ye Li
9a2738581a imx8: Jump from alias to OCRAM address at SPL init
When running SPL on iMX8, the A core starts at address 0
which is a alias to OCRAM 0x100000.
The alias only map first 96KB of OCRAM, so this require the
SPL size can't beyond 96KB. But when using SPL DM, the size increase
significantly and may exceed 96KB.
So to fix the problem, we will change SPL linker address to OCRAM
address 0x100000. And then jump to the absolute address not the PC relative
address for entering OCRAM.

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2019-10-13 22:49:12 +02:00
Lukasz Majewski
5e93871305 imx: config: Update KP's TPC70 config to support SWUpdate
This patch updates envs responsible for using USB pendrive as a
SWUpdate based tool for recovery and update.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2019-10-13 22:49:12 +02:00
Lukasz Majewski
0bcb11fa1f imx: tpc70: Convert TPC70 (imx6q) board to use DM/DTS in SPL and u-boot
This patch converts the TPC70 to use driver model and device tree
description in both SPL and u-boot proper.

Notable changes (DM/DTS conversion):

- PINCTRL{_IMX6}
- DM_I2C
- enable 'regulator' and 'pmic' commands
- DM_MMC and BLK (USDHC)
- DM_ETH
- DM WDT (including SYSRESET)

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2019-10-13 22:49:12 +02:00
Lukasz Majewski
62cef35bb0 imx: dts: Add u-boot specific set of device tree properties for tpc70
This commit adds new file - imx6q-kp-u-boot.dtsi with a set of u-boot
specific properties for imx6q KP device.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2019-10-13 22:49:11 +02:00
Lukasz Majewski
f1a46398f0 imx: tpc70: dts: Add TPC70 board (imx6q based) device tree description
This commit defines the TPC70 imx6q board with device tree description.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2019-10-13 22:49:11 +02:00
Lukasz Majewski
b7cb2ae72d imx: tpc70: led: Enable LED default state
This change sets the default state of LEDs on TPC70.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2019-10-13 22:49:11 +02:00
Lukasz Majewski
eff76b10fa imx: tpc70: cosmetic: Replace magic numbers when setting ENET clock
This is a cosmetic change, just to use proper define instead
of magic numbers.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2019-10-13 22:49:11 +02:00
Lukasz Majewski
58c76e63f1 imx: tpc70: Add board_boot_order() to distinguish between eMMC and SD boot
The TPC70 can boot from SD card (debug/development) and eMMC (production).
The board_boot_order() function provides a run time check for the device
from which one wants to boot (it is selected by GPIO pins setup).

Moreover, a fallback to SD card is provided if the detection is not
possible or working properly.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2019-10-13 22:49:11 +02:00
Lukasz Majewski
309ce98fcb imx: tpc70: config: Update TPC70 config to support eMMC's boot0 SPL update
The TPC70 can boot from eMMC's boot0. This patch allows it to update
this HW partition's SPL.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2019-10-13 22:49:11 +02:00
Lukasz Majewski
a142e601f8 imx: tpc70: config: Add script commands to update u-boot and OE's wic
Signed-off-by: Lukasz Majewski <lukma@denx.de>
2019-10-13 22:49:11 +02:00
Jun Nie
7cc7c1e9db pico-imx7d: Support distro boot for FIT image case
Support distro boot for pico imx7d in FIT image case.

Signed-off-by: Jun Nie <jun.nie@linaro.org>
Tested-by: Joris Offouga <offougajoris@gmail.com>
2019-10-13 22:49:11 +02:00
Jun Nie
b86745efea pico-imx7d: add config to enable CAAM
Add config to enable CAAM so that hardware random number generator
works.

Signed-off-by: Jun Nie <jun.nie@linaro.org>
2019-10-13 22:49:11 +02:00
Adam Ford
43db8e3e41 ARM: imx6q_logic: Remove legacy pinmuxing code from board file.
With the OCRAM expanded to 256KB and the SPL_PINCTRL enabled with
-u-boot.dtsi entries to include the pinmuxing in SPL, the manual
code setting up the pinmux can go away.

This patch removes the legacy pinmuxing code from the board file.

Signed-off-by: Adam Ford <aford173@gmail.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
2019-10-13 22:49:11 +02:00
Adam Ford
2881ec544d ARM: imx6q_logic: Enable Pin muxing in SPL
With the 256KB of OCRAM available to SPL now, there should be
enough room to enable the pinmuxing in SPL from the device tree.

This patch enables SPL_PINCTRL et al and adds the serial and
usdhc pin mux references to the -u-boot.dtsi file so the pins can be
configured from the device tree.

Signed-off-by: Adam Ford <aford173@gmail.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
2019-10-13 22:49:11 +02:00
Adam Ford
f9faa1616b ARM: imx6q_logic: Enable 256KB OCRAM
Since this board config only supports, the i.MX6D/i.MX6Q configurations,
256K of on-chip RAM is available which increases the space available
to SPL to help further reduce board code and further enable device tree
functions.

This patch enables 256K of RAM.

Signed-off-by: Adam Ford <aford173@gmail.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
2019-10-13 22:49:11 +02:00
Soeren Moch
954252aa35 board: tbs2910: Convert eth to driver model
So we can remove lots of legacy config code.

Signed-off-by: Soeren Moch <smoch@web.de>
2019-10-13 22:49:11 +02:00
Soeren Moch
2fabe35187 board: tbs2910: Convert pci to driver model
So we can get rid of legacy pci config code.

PCI_PNP is not required for this board, remove it to reduce the size of the
u-boot binary.

DM_PCI does not start the host controller automatically anymore. Do so
in preboot instead.

Signed-off-by: Soeren Moch <smoch@web.de>
2019-10-13 22:49:11 +02:00
Soeren Moch
dc6c8fb84e ARM: dts: imx6q-tbs2910: Sync devicetree with kernel 5.3
Signed-off-by: Soeren Moch <smoch@web.de>
2019-10-13 22:49:11 +02:00
Sjoerd Simons
6ee03c9212 mx6: mx6sabre common: Use more conventional spelling of fdtfile
Both the distro boot configuration as well as the general pxe support
standardized on fdtfile as the variable to hold the dtb filename.
Adjust to follow that such that e.g. "pxe boot" will just work.

Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
2019-10-13 22:49:11 +02:00
Shawn Guo
6802d7951c Add i.MX7D based Meerkat96 board support
The Meerkat96 board, based on the NXP i.MX7D SoC, is a member of
96Boards community and complies with all Consumer Edition board
specifications.

https://www.novtech.com/products/meerkat96.html
https://www.96boards.org/product/imx7-96/

The initial supported/tested devices include:
 - Debug serial
 - SD
 - USB Host (with Ethernet)

With these support, it's good enough for loading Linux Kernel from SD or
Ethernet over USB.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Tested-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
2019-10-13 22:49:11 +02:00