Commit graph

60607 commits

Author SHA1 Message Date
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
Yannick Fertré
66c3724656 video: add support of MIPI DSI interface
Mipi_display.c contains a set of dsi helpers.
This file is a copy of file drm_mipi_dsi.c (linux kernel).

Signed-off-by: Yannick Fertré <yannick.fertre@st.com>
2019-10-13 21:24:47 +02:00
Yannick Fertré
7389776cda include: Add new DCS commands in the enum list
Adding new DCS commands which are specified in the
DCS 1.3 spec related to CABC.

Signed-off-by: Yannick Fertré <yannick.fertre@st.com>
2019-10-13 21:24:47 +02:00
Yannick Fertré
aeaf330649 video: stm32: stm32_ltdc: add bridge to display controller
Manage a bridge insert between the display controller & a panel.

Signed-off-by: Yannick Fertré <yannick.fertre@st.com>
2019-10-13 21:24:47 +02:00
Tom Rini
7a779ed175 travis: Exclude MIPS from the bcm job
We don't need to pull in anything from the MIPS job so exclude that from
the new bcm job and make it clear it's building only ARM.

Signed-off-by: Tom Rini <trini@konsulko.com>
2019-10-13 11:21:56 -04:00
Tom Rini
9189d6f1e9 Merge https://gitlab.denx.de/u-boot/custodians/u-boot-x86
- Remember the device being emulated for Sandbox PCI
- Update Kconfig options for FSP 1.0
- Drop RESET_BASE and RESET_SEG_SIZE that are no longer used
2019-10-12 10:52:48 -04:00
Tom Rini
0c9cc5155c Merge branch '2019-10-11-master-imports'
- Assorted cleanups
- FAT bugfixes
- mediatek platform updates
2019-10-12 10:10:59 -04:00
Tom Rini
36317705cb Merge branch '2019-10-11-ti-imports'
- Various improvements to dra7xx, keystone 3, am65x SoCs
- Platform updates
- remoteproc improvements
2019-10-12 10:09:13 -04:00
Marek Szyprowski
7d2dc6af54 cmd: itest: add support for .q size specifier
Add support for quad (64bits) memory access specifier.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Acked-by: Lukasz Majewski <lukma@denx.de>
2019-10-11 19:05:14 -04:00
Heinrich Schuchardt
f13683816b fs: fat: get_contents() always returns -1 for errors
If out of memory, return -1 and not -ENOMEM from get_contents().

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2019-10-11 19:05:14 -04:00
Heinrich Schuchardt
c7a86d1645 fs: fat: treat invalid FAT clusters as errors
When hitting an invalid FAT cluster while reading a file always print an
error message and return an error code.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2019-10-11 19:05:14 -04:00
Tom Rini
ee8da596eb sandbox: Remove sandbox_noblk build
At this point, all drivers that do not use CONFIG_BLK are past their
migration deadlines, so remove this config as it's no longer helpful and
hinders enhancing block drivers.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
2019-10-11 19:05:14 -04:00
Lukasz Majewski
f18845c27a spl: Introduce SPL_DM_SPI Kconfig define
This define indicates if DM_SPI shall be supported in SPL. This allows
proper operation of DM converted SPI drivers in SPL, which use
#if !CONFIG_IS_ENABLED(DM_SPI) to also support not yet DM/DTS converted
boards.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2019-10-11 15:33:27 -04:00
Heinrich Schuchardt
57bbf44de6 arm64: print instructions leading to exception
If an exception occurs in a loaded image and the relocation offset is
unknown, it is helpful to know the instructions pointed to by the
program counter. This patch adds the missing output.

A possible output is:
    Code: 910c4021 aa1303e0 f9400662 d63f0040 (e7f7defb)

The parentheses indicate the instruction causing the exception.

The output can be disassembled using scripts/decodecode:

echo 'Code: 90000360 9100b800 94002782 17ffff8f (e7f7defb)' | \
  ARCH=arm64 scripts/decodecode

Code: 90000360 9100b800 94002782 17ffff8f (e7f7defb)
All code
========
   0:   90000360    adrp    x0, 0x6c000
   4:   9100b800    add     x0, x0, #0x2e
   8:   94002782    bl      0x9e10
   c:   17ffff8f    b       0xfffffffffffffe48
  10:*  e7f7defb    .inst   0xe7f7defb ; undefined <-- trapping instruction

Code starting with the faulting instruction
===========================================
   0:   e7f7defb    .inst   0xe7f7defb ; undefined

We already have implemented the same for armv7.

For testing command 'exception undefined' can be used.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2019-10-11 15:33:27 -04:00
T Karthik Reddy
100e75bbdb cmd: avoid decimal conversion
This patch uses auto instead of decimal in simple_strtoul().

Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2019-10-11 15:33:27 -04:00
Rasmus Villemoes
26c1060951 ARM: asm/io.h: remove redundant #if !defined(readb) block
readb is unconditionally defined earlier in io.h, so there's no point
checking whether it's undefined.

Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
2019-10-11 15:33:27 -04:00
Rasmus Villemoes
909d0399a5 ARM: asm/io.h: kill off confusing #ifdef __mem_pci block
No ARM board seems to define __mem_pci - and if it did, one would get tons of

  ./arch/arm/include/asm/io.h:307:0: warning: "readl" redefined

warnings, because readl and friends are unconditionally defined
earlier in io.h. Moreover, the redefinitions lack the memory barriers
that the first definitions have. So I'm guessing this is practically
dead code.

Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
2019-10-11 15:33:27 -04:00
Mans Rullgard
17241ea054 spl: mmc: Add option to set eMMC HW boot partition
This change allows setting pre-defined eMMC boot partition for SPL eMMC
booting. It is necessary in the case when one wants to boot (through falcon
boot) from eMMC after loading SPL from other memory (like SPI-NOR).

Signed-off-by: Mans Rullgard <mans@mansr.com>
[lukma: Edit the commit message]
Signed-off-by: Lukasz Majewski <lukma@denx.de>
Acked-by: Andreas Dannenberg <dannenberg@ti.com>
2019-10-11 15:33:27 -04:00
Mans Rullgard
9243990b17 spl: mmc: Fix indentation in spl_mmc.c file
This fixes a wrongly indented block of code.

Signed-off-by: Mans Rullgard <mans@mansr.com>
[lukma: Make the commit message more verbose]
Signed-off-by: Lukasz Majewski <lukma@denx.de>
2019-10-11 15:33:27 -04:00
Lokesh Vutla
5c6e497eaa arm: dra7xx: Hang on any failure during IOdelay recalibration
If there is any failure during IOdelay recalibration sequence, IOs are
not guaranteed to behave as expected. So hang on any failure during the
sequence.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-10-11 13:32:40 -04:00
Lokesh Vutla
60e3d43a26 arm: dra7xx: Fix error path in iodelay recalibration
When an error is reported in __recalibrate_iodelay_start(), de-isolation
of IO doesn't happen. Because of this, undefined behaviour is observed
on many peripherals without any error. So make sure io is out of isolation
at the end of iodelay recalibration.

Reported-by: Richard Woodruff <r-woodruff2@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-10-11 13:32:39 -04:00
Jarkko Nikula
2fff0e96a6 tao3530: Fix usage of mmc rescan
Currently "bootcmd" does not work as intended but instead prints MMC usage
information and goes directly to "nandboot".

Follow what the commit 669681104d ("configs: Fix usage of mmc rescan")
does for other boards prior to support for TechNexion TAO3530 SoM was
added.

Signed-off-by: Jarkko Nikula <jarkko.nikula@bitmer.com>
2019-10-11 13:32:39 -04:00
Lokesh Vutla
6685d2e26e configs: am43xx_evm: Enable USB support
spl_dm_init is failing as usb to be probed with the following error:
"omap_dwc3@483c0000: ret=-2"
Enable usb to make spl boot on am43xx devices

Reported-by: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-10-11 13:32:39 -04:00
Lokesh Vutla
fbbcb1e020 arm: dts: k3-j721e-common-proc-board: Mark main_uart0 as shared device
Main uart0 is used as debug console by both R5SPL and A72 bootloader and
Linux. So mark it as shared device so that power-domain request is
successful by both cores.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-10-11 13:32:39 -04:00
Tero Kristo
752a45a153 board: ti: am335x-ice: Configure the CDCE913 clock synthesizer
AM335x-ICE boards contain the CDCE913 clock synthesizer, and their
reset crystal capacitance load value of 10pF is wrong leading into
lost packets in certain networking tests. Add DT data for this
device, and probe it from the board file to program the crystal
capacitance load value to 0pF to avoid any problems.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
2019-10-11 13:32:39 -04:00
Tero Kristo
9850d4e52f board: ti: am43xx-idk: Configure the CDCE913 clock synthesizer
AM43xx-IDK boards contain the CDCE913 clock synthesizer, and their
reset crystal capacitance load value of 10pF is wrong leading into
lost packets in certain networking tests. Add DT data for this
device, and probe it from the board file to program the crystal
capacitance load value to 0pF to avoid any problems.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
2019-10-11 13:32:39 -04:00
Tero Kristo
e8e683d33b board: ti: am57xx-idk: Configure the CDCE913 clock synthesizer
AM57xx-IDK boards contain the CDCE913 clock synthesizer, and their
reset crystal capacitance load value of 10pF is wrong leading into
lost packets in certain networking tests. Add DT data for this
device, and probe it from the board file to program the crystal
capacitance load value to 0pF to avoid any problems.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
2019-10-11 13:32:39 -04:00
Tero Kristo
260777fc23 clk: cdce9xx: add support for cdce9xx clock synthesizer
Add support for CDCE913/925/937/949 family of devices. These are modular
PLL-based low cost, high performance, programmable clock synthesizers,
multipliers and dividers. They generate up to 9 output clocks from a
single input frequency. The initial version of the driver does not
support programming of the PLLs, and thus they run in the bypass mode
only. The code is loosely based on the linux kernel cdce9xx driver.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
2019-10-11 13:32:39 -04:00
Lokesh Vutla
e69ffdb763 arm: k3: Use driver_name to get ti_sci handle
Use the driver name to get ti_sci handle rather than relying
on just the FIRMWARE uclass.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-10-11 13:32:20 -04:00
Lokesh Vutla
ac22511818 configs: am65x_evm_a53: Enable DISPLAY_CPUINFO
Enable CONFIG_DISPLAY_CPUINFO so that cpuinfo is printed during boot.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-10-11 13:32:20 -04:00
Lokesh Vutla
4fce88611d configs: j721e_evm_a72: Enable DISPLAY_CPUINFO
Enable CONFIG_DISPLAY_CPUINFO so that cpuinfo is printed during boot.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-10-11 13:31:50 -04:00
Lokesh Vutla
bd8f138f5a board: am65x: Print board name and version during boot
Print the board name and ver along with the DT Model.
While at it print the ver for all the detected daughter cards.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-10-11 13:31:18 -04:00
Lokesh Vutla
f8ca912189 arm: k3: Add support for printing CPUINFO
Add support for printing CPU info for all K3 devices.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-10-11 13:31:18 -04:00
Lokesh Vutla
d53a177271 configs: j721e_evm_a72: Disable PSCI_RESET
J721E uses TISCI protocol to reset the device and does not
support PSCI reset. So disable PSCI reset.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-10-11 13:31:18 -04:00
Lokesh Vutla
523555fc17 configs: am65x_evm_a53: Disable PSCI_RESET
AM65x uses TISCI protocol to reset the device and does not
support PSCI reset. So disable PSCI reset.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-10-11 13:31:18 -04:00
Lokesh Vutla
e704cd6466 mmc: am654_sdhci: Drop a redundant power_domain_on in probe
Power-domain is enabled by default in device_probe. am654 mmc driver
is enabling power-domain again in probe. As the second call is
redundant, drop power_domain_on from probe.

Tested-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
2019-10-11 13:31:18 -04:00
Andrew F. Davis
87875f2528 configs: ti: Use addr_fit for run_fit environment variable
When running 'run_fit' the FIT file should have been loaded at
'addr_fit', although at this point they should be the same
use this variable instead of 'loadaddr'.

Signed-off-by: Andrew F. Davis <afd@ti.com>
2019-10-11 13:31:18 -04:00
Moses Christopher
51d4e47afa am335x, guardian: adapt guardian board to DM
- update partition table - remove env partitions
  - dts: add new interfaces (uart2, extra gpio-key)
         remove unneeded entries
         update nand timings for performance improvement
  - defconfig: adapt configurations to suit DM
               remove unneeded configs
  - am335x_guardian.h: remove mmc boot

Signed-off-by: Moses Christopher <BollavarapuMoses.Christopher@in.bosch.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
2019-10-11 13:31:18 -04:00
Moses Christopher
b1476b52b3 am335x, guardian: update guardian board
- add BOARD_LATE_INIT function calls in board.c
  - add swi_status detection in board.c
  - mux: add guardian interfaces to single pinmux structure
  - am33xx, kconfig: add BOARD_LATE_INIT for GUARDIAN board

Signed-off-by: Moses Christopher <BollavarapuMoses.Christopher@in.bosch.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
2019-10-11 13:31:17 -04:00
Krunal Bhargav
92ffd0d9ed cmd: ti: ddr3: Move the print statement after test
If the ECC is enabled over the entire memory region, we need to ensure
the printf/put calls do not modify the stack after ECC is disabled.
Moved the printf/put statements after ECC is enabled.

Signed-off-by: Krunal Bhargav <k-bhargav@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-10-11 13:31:17 -04:00
Krunal Bhargav
2b2e1573cf arm: omap: emif-common: Fix memory priming for ECC
Before the priming begins, we need to disable RMW (Read Modify Write)
and disable ECC verification for read accesses. By default, the EMIF
tool enables RMW and read accesses in the EMIF_ECC_CTRL_REG.

Signed-off-by: Krunal Bhargav <k-bhargav@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-10-11 13:31:17 -04:00
Krunal Bhargav
d0a37a5e51 arm: omap: emif-common: Disable interleaving
If ECC is enabled, we need to ensure interleaving is disabled for higher
address space.

Signed-off-by: Krunal Bhargav <k-bhargav@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-10-11 13:31:17 -04:00
Lokesh Vutla
5ebe6c0cb7 cmd: ti: ddr3: Fix ecc address calculation
ecc_address_range registers contains the start address and end address
of the DDR address space. But the ddr cmd driver is assuming the register
contains the start address and size of the DDR address space. Because
of this some valid ecc addresses are errored out as invalid address.
Fix this calculation.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-10-11 13:31:17 -04:00
Lokesh Vutla
ed474ae00c arm: omap: emif-common: Fix ecc address calculation
ecc_address_range registers contains the start address and end address
of the DDR address space. But the ddr driver is assuming the register
contains the start address and size of the DDR address space. Because
of this the ecc enabling is failing for the 2nd range of ecc addresses.
Fix this calculation.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-10-11 13:31:17 -04:00
Patrice Chotard
e8e9715df2 regulator: fixed: Modify enable-active-high behavior
Regulator should not be enabled at probe time if regulator-boot-on
property is not in the dt node.

"enable-active-high" property is only used to indicate the GPIO
polarity.

See kernel documentation :
 - Documentation/devicetree/bindings/regulator/fixed-regulator.yaml
 - Documentation/devicetree/bindings/regulator/gpio-regulator.yaml

Signed-off-by: Christophe Kerello <christophe.kerello@st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
2019-10-11 10:10:19 -04:00
Oleksandr Rybalko
5b7a2bf318 ata: ahci: Don't forget to clear upper address regs.
In 32bits mode upper bits need to be set to 0, otherwise controller will
try to DMA into not existing memory and stops with error.

Tested-by: Frank Wunderlich <frank-w@public-files.de>
Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
Signed-off-by: Oleksandr Rybalko <ray@ddteam.net>
2019-10-11 10:10:19 -04:00
Oleksandr Rybalko
25643a5c3e ahci-pci: ASM1061 report wrong class, but support AHCI.
Tested-by: Frank Wunderlich <frank-w@public-files.de>
Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
Signed-off-by: Oleksandr Rybalko <ray@ddteam.net>
2019-10-11 10:10:18 -04:00
Ryder Lee
4024006e52 dt-bindings: phy: add a document for MediaTek tphy
This adds a document for tphy which supports physical layer
functionality for a number of controllers on MediaTek SoCs,
such as, USB2.0, USB3.0, PCIe, and SATA.

Signed-off-by: Ryder Lee <ryder.lee@mediatek.com>
Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
2019-10-11 10:10:18 -04:00