oweals/u-boot.git
5 years agoarm: socfpga: gen5: remove hacked ETH RST handling
Simon Goldschmidt [Sun, 13 Jan 2019 18:58:42 +0000 (19:58 +0100)]
arm: socfpga: gen5: remove hacked ETH RST handling

The 'dwmac_socfpga' ETH driver can now get the MACs out of reset
via the socfpga reset driver and can set PHY mode via syscon.

This means we can now remove the ad-hoc code to do this from
arch/arm/mach-socfpga.

Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
5 years agoarm: socfpga: gen5 enable designware_socfpga
Simon Goldschmidt [Sun, 13 Jan 2019 18:58:41 +0000 (19:58 +0100)]
arm: socfpga: gen5 enable designware_socfpga

Enable the socfpga specific designware ethernet driver by default for
socfpga by implying it when enabling CONFIG_ETH_DESIGNWARE for a
MACH_SOCFPGA config.

This is required to remove the hacky reset and phy mode handling in
arch/arm/mach-socfpga.

Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
5 years agonet: designware: socfpga: adapt to Gen5
Simon Goldschmidt [Sun, 13 Jan 2019 18:58:40 +0000 (19:58 +0100)]
net: designware: socfpga: adapt to Gen5

This driver was written for Arria10, but it applies to Gen5, too.

The main difference is that Gen5 has 2 MACs (Arria10 has 3) and the
syscon bits are encoded in the same register, thus an offset is needed.

This offset is already read from the devicetree, but for Arria10 it is
always 0, which is probably why it has been ignored. By using this
offset when writing the phy mode into the syscon regiter, we can use
this driver to set the phy mode for both of the MACs on Gen5.

Since the PHY mode bits in sysmgr are the same even for Stratix10,
let's drop the detection of the sub-mach by checking compatible
version and just use the same code for all FPGAs.

To work correctly, this driver depends on SYSCON and REGMAP, so select
those via Kconfig when it is enabeld.

Tested on socfpga_socrates (where the 2nd MAC is connected, so a shift
offset is required).

Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
5 years agoMerge tag 'u-boot-imx-2019-02-16' of git://git.denx.de/u-boot-imx
Tom Rini [Sat, 16 Feb 2019 13:31:05 +0000 (08:31 -0500)]
Merge tag 'u-boot-imx-2019-02-16' of git://git.denx.de/u-boot-imx

u-boot-imx-2019-02-16
---------------------

- vhybrid: add calibration
- gw_ventana: fixes
- Improve documentation for Secure Boot (HABv4)
- Fix Marvell Switch
- MX6 Sabre, switch to DM
- Fixes for NAND

5 years agoMerge tag 'xilinx-for-v2019.04-rc2' of git://git.denx.de/u-boot-microblaze
Tom Rini [Sat, 16 Feb 2019 02:21:28 +0000 (21:21 -0500)]
Merge tag 'xilinx-for-v2019.04-rc2' of git://git.denx.de/u-boot-microblaze

Xilinx changes for v2019.04-rc2

xilinx:
- Start to use distro boot commands first
- Setup fdtfile on ZynqMP
- Move mac addr eeprom read to common location
- Convert to OF_SEPARATE
- Switch all board to DM_I2C
- Some DT syncs

i2c:
- Remove !DM_I2C zynq driver

versal:
- Enable some more features
- Add mini configurations

5 years agoMerge tag '2019.01-next' of https://github.com/mbgg/u-boot
Tom Rini [Sat, 16 Feb 2019 01:10:15 +0000 (20:10 -0500)]
Merge tag '2019.01-next' of https://github.com/mbgg/u-boot

- add compute module 3+
- fix 64 bit warning in bmp command

5 years agoimx: cpu.c: give access to reset cause in spl
Max Krummenacher [Fri, 1 Feb 2019 15:04:51 +0000 (16:04 +0100)]
imx: cpu.c: give access to reset cause in spl

This makes get_imx_reset_cause() accessible in SPL, but keeps the SRSR
register content intact so that U-Boot proper can evaluated the
reset_cause again should this be needed.

Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agoimx: serial_mxc: disable ri and dcd irq in dte mode
Max Krummenacher [Fri, 1 Feb 2019 15:04:50 +0000 (16:04 +0100)]
imx: serial_mxc: disable ri and dcd irq in dte mode

If the UART is used in DTE mode the RI and DCD bits in UCR3 become
irq enable bits. Both are set to enabled after reset and both likely
are pending.

Disable the bits to prevent an interrupt storm when Linux enables
the UART interrupts.

Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agoARM: dts: i.MX6Q, i.MX6QDL: fix address/size-cells warnings
Marcel Ziswiler [Fri, 1 Feb 2019 15:04:49 +0000 (16:04 +0100)]
ARM: dts: i.MX6Q, i.MX6QDL: fix address/size-cells warnings

This fixes the following warnings:

arch/arm/dts/imx6-apalis.dtb: Warning (avoid_unnecessary_addr_size):
 /clocks: unnecessary #address-cells/#size-cells without "ranges" or
 child "reg" property
arch/arm/dts/imx6-apalis.dtb: Warning (avoid_unnecessary_addr_size):
 /soc/aips-bus@02100000/mipi@021e0000: unnecessary #address-cells/
 #size-cells without "ranges" or child "reg" property
arch/arm/dts/imx6-apalis.dtb: Warning (avoid_unnecessary_addr_size):
 /soc/ipu@02400000/port@2: unnecessary #address-cells/#size-cells
 without "ranges" or child "reg" property
arch/arm/dts/imx6-apalis.dtb: Warning (avoid_unnecessary_addr_size):
 /soc/ipu@02400000/port@3: unnecessary #address-cells/#size-cells
 without "ranges" or child "reg" property
arch/arm/dts/imx6-apalis.dtb: Warning (avoid_unnecessary_addr_size):
 /soc/ipu@02800000/port@2: unnecessary #address-cells/#size-cells
 without "ranges" or child "reg" property
arch/arm/dts/imx6-apalis.dtb: Warning (avoid_unnecessary_addr_size):
 /soc/ipu@02800000/port@3: unnecessary #address-cells/#size-cells
 without "ranges" or child "reg" property

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agoimx: ventana: fix usage of dt paths with leading 0s (Linux 4.15+)
Tim Harvey [Mon, 4 Feb 2019 21:11:00 +0000 (13:11 -0800)]
imx: ventana: fix usage of dt paths with leading 0s (Linux 4.15+)

device-tree paths should never be used that reference node addresses
making an assumption about leading zeros. They should not be there per
the device-tree specification however they have been there until Linux
4.15 when they were removed via kernel commit
8dccafaa281aa1d240a58bbcdff338aec114a021.

This fixes various issues which will occur when using Linux 4.15+
that are being fixed up on a per model per PCB revision basis such as:
 - enabling MMC UHS-I on board revisions that support it
 - enabling PWM based on hwconfig
 - fixing PCIe reset on GW552x
 - removing cpu external watchdog reset on boards that do not support it
 - populate PCI dt nodes based on PCI scan in order to fix GW16082
   interrupt mapping and inject MAC address for PCI based GbE

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
5 years agoimx: ventana: gw5904/gw5909: disable RS485
Tim Harvey [Mon, 4 Feb 2019 21:10:59 +0000 (13:10 -0800)]
imx: ventana: gw5904/gw5909: disable RS485

The GW5904/GW5909 have a SP33E multi-protocol serial transceiver which we
want to configure to RS232 by default (by de-asserting RS485_EN)

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
5 years agoimx: ventana: add support for GW5901/GW5902
Tim Harvey [Mon, 4 Feb 2019 21:10:58 +0000 (13:10 -0800)]
imx: ventana: add support for GW5901/GW5902

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
5 years agoimx: ventana: add support for GW5909
Tim Harvey [Mon, 4 Feb 2019 21:10:57 +0000 (13:10 -0800)]
imx: ventana: add support for GW5909

The GW5909 is a small single board computer based on the i.MX6DL SoC
with the same peripheral set as the GW5904 but with half the DRAM loaded
and an additional RS232 transceiver off UART2.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
5 years agoimx: ventana: add support for GW5908
Tim Harvey [Mon, 4 Feb 2019 21:10:56 +0000 (13:10 -0800)]
imx: ventana: add support for GW5908

The GW5908 is a small single board computer based on the i.MX6DL SoC
with the same peripheral set as the GW530x but with 1GiB density DRAM
(64bit 512MiB).

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
5 years agoimx: ventana: add support for GW5907
Tim Harvey [Mon, 4 Feb 2019 21:10:55 +0000 (13:10 -0800)]
imx: ventana: add support for GW5907

The GW5907 is a small single board computer based on the i.MX6DL SoC
with the following peripheral set:
 - DDR3 memory (512MB default)
 - 1x GigE (i.MX6 FEC)
 - Gateworks System Controller

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
5 years agoimx: ventana: add support for GW5906
Tim Harvey [Mon, 4 Feb 2019 21:10:54 +0000 (13:10 -0800)]
imx: ventana: add support for GW5906

The GW5906 is a GW552x with mechanical and power supply connector
differences.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
5 years agoimx: ventana: add i2c detect for all LVDS displays
Tim Harvey [Mon, 4 Feb 2019 21:10:53 +0000 (13:10 -0800)]
imx: ventana: add i2c detect for all LVDS displays

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
5 years agoimx: ventana: skip nand init for nandless boards
Tim Harvey [Mon, 4 Feb 2019 21:10:52 +0000 (13:10 -0800)]
imx: ventana: skip nand init for nandless boards

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
5 years agoimx: ventana: add support for Z101WX01 LVDS display
Tim Harvey [Mon, 4 Feb 2019 21:10:51 +0000 (13:10 -0800)]
imx: ventana: add support for Z101WX01 LVDS display

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
5 years agoimx: ventana: add support for GW5905
Tim Harvey [Mon, 4 Feb 2019 21:10:50 +0000 (13:10 -0800)]
imx: ventana: add support for GW5905

The GW5905 is single-board tablet computer based on the i.MX6 SoC with the
following peripheral set:
 - eMMC flash (boot device)
 - microSD expansion
 - LVDS display connector for off-board 3D+1C with PWM backlight
   and I2C based touch controller
 - MIPI camera connector supporting the TRULY CM8487-B500SA-E (OV5640)
 - ublox EMMY-W1 WiFi/Bluetooth/NFC module (SDIO/UART)
 - ublox ZOE-M8Q GPS
 - LSM9DS1 9-DOF IMU
 - 1x 1-lane miniPCIe socket with USB 2.0
 - Gateworks System Controller
 - Audio jack with TLV320AIC Audio Codec, Speaker AMP
   and TSA227E Headphone detect
 - MAX8607 3-mode LED camera flash
 - DECT ULE module
 - FUSB302 USB-C PD and ISL9238 Battery charger

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
5 years agoimx: ventana: remove setup of I2C3 from SPL
Tim Harvey [Mon, 4 Feb 2019 21:10:49 +0000 (13:10 -0800)]
imx: ventana: remove setup of I2C3 from SPL

Do not setup I2C3 in the SPL for Ventana as some devices on that bus
(aic3x codecs) can hang the bus causing i2c_setup to spin endlessly until
they are put into reset. Removing the setup of I2C3 from the SPL allows
the board-specific GPIO to be configured to take care of putting codecs
in reset prior to U-Boot setting up I2C3.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
5 years agoimx: ventana: do not iomux UART1
Tim Harvey [Mon, 4 Feb 2019 21:10:48 +0000 (13:10 -0800)]
imx: ventana: do not iomux UART1

The only UART that is garunteed on Ventana boards is UART2 (serial-console).

Remove UART1 pinmux as that it is not consistent across all Ventana boards
and U-Boot doesn't need it.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
5 years agoimx: ventana: mv88e61xx change LED configuration
Tim Harvey [Mon, 4 Feb 2019 21:10:47 +0000 (13:10 -0800)]
imx: ventana: mv88e61xx change LED configuration

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
5 years agoconfigs: mx6sabresd: Reduce SPL size by disabling DOS, EXT and EFI support
Abel Vesa [Fri, 1 Feb 2019 16:40:25 +0000 (16:40 +0000)]
configs: mx6sabresd: Reduce SPL size by disabling DOS, EXT and EFI support

With DM and FIT enabled in SPL, there is an sram overflow. By disabling
CONFIG_SPL_DOS_PARTITION, CONFIG_SPL_EXT_SUPPORT and
CONFIG_SPL_EFI_PARTITION, we get to keep the 'one binary to fit all'
for imx6[q|qp|dl] on sabresd since the final SPL image is now under 64KB.

Signed-off-by: Abel Vesa <abel.vesa@nxp.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
5 years agoboard: mx6sabresd: Remove the enet reset gpio handling
Abel Vesa [Fri, 1 Feb 2019 16:40:24 +0000 (16:40 +0000)]
board: mx6sabresd: Remove the enet reset gpio handling

Rely on the phy-reset-gpios which is set in imx6qdl-sabresd dtsi
and get rid of the enet reset gpio handling from the board file.

Signed-off-by: Abel Vesa <abel.vesa@nxp.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
5 years agoboard: mx6sabresd: Remove non-DM code
Abel Vesa [Fri, 1 Feb 2019 16:40:23 +0000 (16:40 +0000)]
board: mx6sabresd: Remove non-DM code

Since the mx6sabreauto has DM support, remove the unused non-DM code
from mx6sabresd board file.

Signed-off-by: Abel Vesa <abel.vesa@nxp.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
5 years agoconfigs: mx6sabresd: Add DM_SPI_FLASH necessary configs
Abel Vesa [Fri, 1 Feb 2019 16:40:22 +0000 (16:40 +0000)]
configs: mx6sabresd: Add DM_SPI_FLASH necessary configs

Enable all neceassary configs to support DM_SPI_FLASH on mx6sabresd.

Signed-off-by: Abel Vesa <abel.vesa@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
5 years agoboard: mx6sabreauto: Remove the non-DM code
Abel Vesa [Fri, 1 Feb 2019 16:40:22 +0000 (16:40 +0000)]
board: mx6sabreauto: Remove the non-DM code

Since the mx6sabreauto has DM support, remove the unused non-DM code
from mx6sabreauto board file.

Signed-off-by: Abel Vesa <abel.vesa@nxp.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
5 years agoconfigs: mx6sabreauto: Add DM_SPI_FLASH necessary configs
Abel Vesa [Fri, 1 Feb 2019 16:40:20 +0000 (16:40 +0000)]
configs: mx6sabreauto: Add DM_SPI_FLASH necessary configs

Enable all neceassary configs to support DM_SPI_FLASH on mx6sabreauto.

Signed-off-by: Abel Vesa <abel.vesa@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
5 years agomx6sabreauto: Add DM_GPIO support
Abel Vesa [Fri, 1 Feb 2019 16:40:19 +0000 (16:40 +0000)]
mx6sabreauto: Add DM_GPIO support

Add the DM_GPIO related config for mx6sabreauto.
Also add the gpio request calls.

Signed-off-by: Abel Vesa <abel.vesa@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
5 years agomx6sabresd: Add DM_GPIO support
Abel Vesa [Fri, 1 Feb 2019 16:40:19 +0000 (16:40 +0000)]
mx6sabresd: Add DM_GPIO support

Add the DM_GPIO related config for mx6sabresd.
Also add the gpio request calls.

Signed-off-by: Abel Vesa <abel.vesa@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
5 years agoconfigs: mx6sabresd: Add SPL FIT and DM support
Abel Vesa [Fri, 1 Feb 2019 16:40:18 +0000 (16:40 +0000)]
configs: mx6sabresd: Add SPL FIT and DM support

Enable all the necessary configs for SPL DM and FIT support for
mx6sabresd.

Signed-off-by: Abel Vesa <abel.vesa@nxp.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
5 years agoconfigs: mx6sabreauto: Add SPL FIT and DM support
Abel Vesa [Fri, 1 Feb 2019 16:40:17 +0000 (16:40 +0000)]
configs: mx6sabreauto: Add SPL FIT and DM support

Enable all the necessary configs for SPL DM and FIT support for
mx6sabreauto.

Signed-off-by: Abel Vesa <abel.vesa@nxp.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
5 years agoarm: dts: Update all the dts[i] files for imx6[q|qp|dl] sabre[auto|sd]
Abel Vesa [Fri, 1 Feb 2019 16:40:16 +0000 (16:40 +0000)]
arm: dts: Update all the dts[i] files for imx6[q|qp|dl] sabre[auto|sd]

Update all the dts[i] files for imx6[q|qp|dl] sabre[auto|sd] to the ones
from kernel v4.20 (commit 8fe28cb58bcb2).

Signed-off-by: Abel Vesa <abel.vesa@nxp.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Lukasz Majewski <lukma@denx.de>
5 years agoarm: dts: Add all the imx6[q|qp|dl] sabre[auto|sd] u-boot dts[i] files
Abel Vesa [Fri, 1 Feb 2019 16:40:14 +0000 (16:40 +0000)]
arm: dts: Add all the imx6[q|qp|dl] sabre[auto|sd] u-boot dts[i] files

This allows us to keep the basic dts[i] files up-to-date with
the ones in kernel, but at the same time allowing the u-boot
to add its own properties to the existing nodes.

Signed-off-by: Abel Vesa <abel.vesa@nxp.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Lukasz Majewski <lukma@denx.de>
5 years agoboard: mx6sabreauto: Add board_fit_config_name_match to support FIT in SPL
Abel Vesa [Fri, 1 Feb 2019 16:40:13 +0000 (16:40 +0000)]
board: mx6sabreauto: Add board_fit_config_name_match to support FIT in SPL

This matches one of the following three boards (or fails):
 - imx6q-sabreauto
 - imx6qp-sabreauto
 - imx6dl-sabreauto

Signed-off-by: Abel Vesa <abel.vesa@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Lukasz Majewski <lukma@denx.de>
5 years agoboard: mx6sabresd: Add board_fit_config_name_match to support FIT in SPL
Abel Vesa [Fri, 1 Feb 2019 16:40:12 +0000 (16:40 +0000)]
board: mx6sabresd: Add board_fit_config_name_match to support FIT in SPL

This matches one of the following three boards (or fails):
 - imx6q-sabresd
 - imx6qp-sabresd
 - imx6dl-sabresd

Signed-off-by: Abel Vesa <abel.vesa@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Lukasz Majewski <lukma@denx.de>
5 years agommc: fsl_esdhc: Fix DM_REGULATOR ifdefs for SPL builds
Abel Vesa [Fri, 1 Feb 2019 16:40:11 +0000 (16:40 +0000)]
mmc: fsl_esdhc: Fix DM_REGULATOR ifdefs for SPL builds

Since the fsl_esdhc will also be used by SPL, make the
preprocessor switches more generic to allow any kind of build.

Signed-off-by: Abel Vesa <abel.vesa@nxp.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Lukasz Majewski <lukma@denx.de>
5 years agoconfigs: imx6sabreauto: Add DM_USB support
Abel Vesa [Fri, 1 Feb 2019 16:40:10 +0000 (16:40 +0000)]
configs: imx6sabreauto: Add DM_USB support

Add the DM support for USB. For that, DM_REGULATOR is needed.

Signed-off-by: Abel Vesa <abel.vesa@nxp.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
5 years agoconfigs: imx6sabreauto: Add DM_MMC support
Abel Vesa [Fri, 1 Feb 2019 16:40:09 +0000 (16:40 +0000)]
configs: imx6sabreauto: Add DM_MMC support

Add DM_MMC config to imx6sabreauto defconfig.

Signed-off-by: Abel Vesa <abel.vesa@nxp.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
5 years agousb: ehci-mx6: Make regulator DM_REGULATOR dependent
Abel Vesa [Fri, 1 Feb 2019 16:40:08 +0000 (16:40 +0000)]
usb: ehci-mx6: Make regulator DM_REGULATOR dependent

Do the regulator related work only if the build has the DM_REGULATOR.

Signed-off-by: Abel Vesa <abel.vesa@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Lukasz Majewski <lukma@denx.de>
5 years agousb: Rename SPL_USB_SUPPORT to SPL_USB_STORAGE
Abel Vesa [Fri, 1 Feb 2019 16:40:07 +0000 (16:40 +0000)]
usb: Rename SPL_USB_SUPPORT to SPL_USB_STORAGE

Since there is the SPL_USB_HOST_SUPPORT for enabling USB support in SPL,
makes more sense to rename the SPL_USB_SUPPORT as SPL_USB_STORAGE.
Everything that is not part of the usb storage support in SPL is now
build under SPL_USB_HOST_SUPPORT.

Signed-off-by: Abel Vesa <abel.vesa@nxp.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Lukasz Majewski <lukma@denx.de>
5 years agoarm64: zynqmp: Create fdtfile from compatible string
Michal Simek [Thu, 14 Feb 2019 12:14:30 +0000 (13:14 +0100)]
arm64: zynqmp: Create fdtfile from compatible string

distro boot expects that fdtfile name is setup for alternative DTB.
Create this file based on the first platform compatible string.
This should ensure that one rootfs can store multiple DTBs for different
boards.
Reflect structure which is used in Linux kernel. It means dtbs are
strored in xilinx folder.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Alexander Graf <agraf@suse.de>
5 years agoarm64: zynqmp: Change the spi-rx-bus-width property to x1
Venkatesh Yadav Abbarapu [Wed, 14 Nov 2018 11:50:18 +0000 (17:20 +0530)]
arm64: zynqmp: Change the spi-rx-bus-width property to x1

As per the zc1275 design x1 mode is enabled so changing the
spi-rx-bus-width property to x1.

Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agoarm64: zynqmp: Fix i2c boot warning
Shubhrajyoti Datta [Mon, 3 Sep 2018 10:16:46 +0000 (15:46 +0530)]
arm64: zynqmp: Fix i2c boot warning

Fix the below warning as the core looks for the compatible
string.

[    5.198919] i2c i2c-18: of_i2c: modalias failure on
/amba/i2c@ff030000/i2c-mux@75/i2c@3/dev@19
[    5.207454] i2c i2c-18: Failed to create I2C device for
/amba/i2c@ff030000/i2c-mux@75/i2c@3/dev@19
[    5.216394] i2c i2c-18: of_i2c: modalias failure on
/amba/i2c@ff030000/i2c-mux@75/i2c@3/dev@30
[    5.224986] i2c i2c-18: Failed to create I2C device for
/amba/i2c@ff030000/i2c-mux@75/i2c@3/dev@30
[    5.233927] i2c i2c-18: of_i2c: modalias failure on
/amba/i2c@ff030000/i2c-mux@75/i2c@3/dev@35
[    5.242527] i2c i2c-18: Failed to create I2C device for
/amba/i2c@ff030000/i2c-mux@75/i2c@3/dev@35
[    5.263880] i2c i2c-18: of_i2c: modalias failure on
/amba/i2c@ff030000/i2c-mux@75/i2c@3/dev@36
[    5.272477] i2c i2c-18: Failed to create I2C device for
/amba/i2c@ff030000/i2c-mux@75/i2c@3/dev@36
[    5.281415] i2c i2c-18: of_i2c: modalias failure on
/amba/i2c@ff030000/i2c-mux@75/i2c@3/dev@51
[    5.290008] i2c i2c-18: Failed to create I2C device for
/amba/i2c@ff030000/i2c-mux@75/i2c@3/dev@51

Signed-off-by: Shubhrajyoti Datta <shubhrajyoti.datta@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agoarm64: zynqmp: Remove autodetected devices without description
Michal Simek [Wed, 13 Feb 2019 14:39:04 +0000 (15:39 +0100)]
arm64: zynqmp: Remove autodetected devices without description

It will never reach mainline that's why remove it.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agoarm64: dts: Fix various entry-method properties to reflect documentation
Amit Kucheria [Thu, 23 Aug 2018 08:53:29 +0000 (14:23 +0530)]
arm64: dts: Fix various entry-method properties to reflect documentation

The idle-states binding documentation[1] mentions that the
'entry-method' property is required on 64-bit platforms and must be
set to "psci".

Linux commit a13f18f59d26 ("Documentation: arm: Fix typo in the idle-states
bindings examples") attempted to fix this earlier but clearly more is
needed.

Linux docs:
Documentation/devicetree/bindings/arm/idle-states.txt (see
idle-states node)

Signed-off-by: Amit Kucheria <amit.kucheria@linaro.org>
Acked-by: Sudeep Holla <sudeep.holla@arm.com>
Acked-by: Li Yang <leoyang.li@nxp.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agoxilinx: dts: Remove additional empty lines
Michal Simek [Wed, 13 Feb 2019 15:39:51 +0000 (16:39 +0100)]
xilinx: dts: Remove additional empty lines

Trivial fix.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agoarm64: zynqmp: Add reset-on-timeout for all boards and modify default timeout value
Mounika Grace Akula [Tue, 9 Oct 2018 15:22:50 +0000 (20:52 +0530)]
arm64: zynqmp: Add reset-on-timeout for all boards and modify default timeout value

This patch adds reset-on-timeout to FPD WDT which will trigger an
interrupt to PMU when watchdog expiry happens and PMU takes the
necessary action. If this property is not enabled, reason will not be
known when watchdog expiry happens.
This patch also modifies the default timeout to 60 seconds. Reason is
that if u-boot enables WDT, it will set the timeout to 10 seconds and
this is not enough to boot till Linux and start the WDT application in
Linux. 60 seconds is the maximum safest value to boot till Linux and
start the WDT application.

Users need to change this timeout value to fit their needs.

Signed-off-by: Mounika Grace Akula <mounika.grace.akula@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agoARM: dts: zynq: correct and improve the model property of dt files
Luis Araneda [Thu, 12 Jul 2018 04:10:20 +0000 (00:10 -0400)]
ARM: dts: zynq: correct and improve the model property of dt files

Replace the current value of the model property by a more accurate
description of each board (which includes the manufacturer), as some
of the boards had the same value ("Xilinx Zynq")

Signed-off-by: Luis Araneda <luaraneda@gmail.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agoARM: dts: zynq: Set correct manufacturer for ZedBoard and MicroZed boards
Luis Araneda [Thu, 12 Jul 2018 04:10:19 +0000 (00:10 -0400)]
ARM: dts: zynq: Set correct manufacturer for ZedBoard and MicroZed boards

Both boards are made by Avnet, Inc. So add an additional
value to the compatible property

Signed-off-by: Luis Araneda <luaraneda@gmail.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agoARM: dts: Use mmc@ instead sdhci@
Michal Simek [Wed, 26 Sep 2018 11:36:16 +0000 (13:36 +0200)]
ARM: dts: Use mmc@ instead sdhci@

mmc name is recommended based on devicetree specification.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agonet: mv88e61xx: fix autonegotiation on ports
Tim Harvey [Mon, 4 Feb 2019 20:56:52 +0000 (12:56 -0800)]
net: mv88e61xx: fix autonegotiation on ports

phy_reset should be called before autoneg is setup

The only boards using MV88E61XX_SWITCH are:
 - alliedtelesis/SBx81LIFKW
 - alliedtelesis/SBx81LIFXCAT
 - gateworks/gw_ventana

Cc: Chris Packham <chris.packham@alliedtelesis.co.nz>
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
5 years agodoc: imx: habv4: Remove secure_boot.txt guide
Breno Matheus Lima [Wed, 23 Jan 2019 19:30:16 +0000 (19:30 +0000)]
doc: imx: habv4: Remove secure_boot.txt guide

The secure_boot.txt guide was replaced by mx6_mx7_secure_boot.txt and
mx6_mx7_spl_secure_boot.txt documents.

Both documents covers all steps needed for SPL and non-SPL tagets,
so remove secure_boot.txt file to avoid duplicated content.

Signed-off-by: Breno Lima <breno.lima@nxp.com>
5 years agorpi: add Compute Module 3+
Jonathan Gray [Wed, 30 Jan 2019 22:24:44 +0000 (09:24 +1100)]
rpi: add Compute Module 3+

Add Raspberry Pi Compute Module 3+ to list of models, the revision code
is 0x10 according to the list on raspberrypi.org.

v2: Use the same dtb name as CM3 as CM3+ is a drop in replacement
    for CM3.

Signed-off-by: Jonathan Gray <jsg@jsg.id.au>
Reviewed-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
5 years agocmd: bmp: Make integer-to-pointer cast platform, independent
Adam Heinrich [Mon, 31 Dec 2018 11:11:08 +0000 (12:11 +0100)]
cmd: bmp: Make integer-to-pointer cast platform, independent

This patch fixes the int-to-pointer-cast warning on aarch64.

Signed-off-by: Adam Heinrich <adam@adamh.cz>
Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
5 years agodoc: imx: habv4: Move encrypted boot guide
Breno Matheus Lima [Wed, 23 Jan 2019 19:30:11 +0000 (19:30 +0000)]
doc: imx: habv4: Move encrypted boot guide

All guides are currently located at doc/imx/habv4/guides/ directory.

Move encrypted_boot.txt document to guides directory.

Signed-off-by: Breno Lima <breno.lima@nxp.com>
5 years agodoc: imx: habv4: Add Secure Boot guide for i.MX6 and i.MX7 SPL targets
Breno Matheus Lima [Wed, 23 Jan 2019 19:30:06 +0000 (19:30 +0000)]
doc: imx: habv4: Add Secure Boot guide for i.MX6 and i.MX7 SPL targets

The current U-Boot implementation includes SPL targets for
some NXP development boards:

- mx6sabreauto_defconfig
- mx6sabresd_defconfig
- mx6ul_14x14_evk_defconfig
- mx6ul_9x9_evk_defconfig

Add additional steps needed to completly secure the
bootloader image.

Signed-off-by: Breno Lima <breno.lima@nxp.com>
5 years agodoc: imx: habv4: Add Secure Boot guide for i.MX6 and i.MX7 non-SPL targets
Breno Matheus Lima [Wed, 23 Jan 2019 19:29:59 +0000 (19:29 +0000)]
doc: imx: habv4: Add Secure Boot guide for i.MX6 and i.MX7 non-SPL targets

Add HABv4 documentation for non-SPL targets covering the
following topics:

- How to sign an securely boot an u-boot-dtb.imx image.
- How to extend the root of trust for additional boot images.
- Add 3 CSF examples.
- Add IVT generation script example.

Reviewed-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Utkarsh Gupta <utkarsh.gupta@nxp.com>
Signed-off-by: Breno Lima <breno.lima@nxp.com>
5 years agodoc: imx: habv4: Add HABv4 introduction
Breno Matheus Lima [Wed, 23 Jan 2019 19:29:53 +0000 (19:29 +0000)]
doc: imx: habv4: Add HABv4 introduction

The HABv4 is supported in i.MX50, i.MX53, i.MX6, i.MX7,
series and i.MX 8M, i.MX8MM devices.

Add an introductory document containing the following topics:

- HABv4 Introduction
- HABv4 Secure Boot
- HABv4 Encrypted Boot
- HAB PKI tree generation
- HAB Fast Authentication PKI tree generation
- SRK Table and SRK Hash generation

Reviewed-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Utkarsh Gupta <utkarsh.gupta@nxp.com>
Signed-off-by: Breno Lima <breno.lima@nxp.com>
5 years agodoc: imx: habv4: Remove extra hab directory for a cleaner documentation structure
Breno Matheus Lima [Wed, 23 Jan 2019 19:29:46 +0000 (19:29 +0000)]
doc: imx: habv4: Remove extra hab directory for a cleaner documentation structure

There is no need to have an extra hab directory under doc/imx/.

Habv4 and AHAB documentation can be added directly in doc/imx/ for a
cleaner documentation structure.

Signed-off-by: Breno Lima <breno.lima@nxp.com>
5 years agoARM: dts: imx6ul-lite*: add DTS files for liteSOM and liteboard
Marcin Niestroj [Sat, 19 Jan 2019 16:06:45 +0000 (17:06 +0100)]
ARM: dts: imx6ul-lite*: add DTS files for liteSOM and liteboard

Import liteSOM and liteboard dts files from Linux v4.20. They will
be used after transition to driver model and device-tree based boot.

Signed-off-by: Marcin Niestroj <m.niestroj@grinn-global.com>
5 years agoMTD: nand: mxs_nand: Allow driver to auto setup ECC in SPL
Adam Ford [Thu, 17 Jan 2019 13:16:39 +0000 (07:16 -0600)]
MTD: nand: mxs_nand: Allow driver to auto setup ECC in SPL

The initialization of the NAND in SPL hard-coded ecc.bytes,
ecc.size, and ecc.strength which may work for some NAND parts,
but it not appropriate for others.  With the pending patch
"mxs_nand: Fix BCH read timeout error on boards requiring ECC"
the driver can auto configure the ECC when these entries are
blank.  This patch has been tested in NAND flash with oob 64
and oob 128.

Signed-off-by: Adam Ford <aford173@gmail.com>
Tested-by: Jörg Krause <joerg.krause@embedded.rocks>
Acked-by: Tim Harvey <tharvey@gateworks.com>
Tested-by: Tim Harvey <tharvey@gateworks.com>
5 years agonet: dm: fec: Fix regulator enable when using DM_REGULATOR
Adam Ford [Tue, 15 Jan 2019 17:26:48 +0000 (11:26 -0600)]
net: dm: fec: Fix regulator enable when using DM_REGULATOR

When DM_REGULATOR is enabled, the driver attempts to call
regulator_autoset() which expects the regulators to be on at boot
and/or always on and fails if they are not true.
For a more generic approach, this patch just calls
regulator_set_enable() which shouldn't have such restrictions.

Fixes: ad8c43cbcafb ("net: dm: fec: Support the phy-supply
binding")

Signed-off-by: Adam Ford <aford173@gmail.com>
Tested-by: Martin Fuzzey <martin.fuzzey@flowbird.group>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agoARM: imx6q_logic: Correct phy fixup for broken ethernet
Adam Ford [Sat, 12 Jan 2019 23:32:00 +0000 (17:32 -0600)]
ARM: imx6q_logic: Correct phy fixup for broken ethernet

The Ethernet has been broken for some time.  This patch unifies
this board with a few others that use a similar approach to
enabling phy.  This fixes ar8031 Ethernet controller so it works.

Signed-off-by: Adam Ford <aford173@gmail.com>
5 years agoARM: imx6q_logic: Enable SPL Booting from NAND
Adam Ford [Sat, 12 Jan 2019 23:24:52 +0000 (17:24 -0600)]
ARM: imx6q_logic: Enable SPL Booting from NAND

This patch fixes a few values that were incorrect, and this
now lets SPL boot from NAND.

Signed-off-by: Adam Ford <aford173@gmail.com>
5 years agoMTD: NAND: mxs_nand_init_dma: Make mxs_nand_init_dma static
Adam Ford [Sat, 12 Jan 2019 12:25:48 +0000 (06:25 -0600)]
MTD: NAND: mxs_nand_init_dma: Make mxs_nand_init_dma static

mxs_nand_init_dma is only referenced from mxs_nand.c.  It's not
referenced in any headers or outside code, so this patch
defines it as static.

Signed-off-by: Adam Ford <aford173@gmail.com>
5 years agoMTD: mxs_nand: Fix BCH read timeout error on boards requiring ECC
Adam Ford [Thu, 3 Jan 2019 02:36:52 +0000 (20:36 -0600)]
MTD: mxs_nand: Fix BCH read timeout error on boards requiring ECC

The LogicPD board uses a Micron Flash with ECC.  To boot this from
SPL, the ECC needs to be correctly configured or the BCH engine
times out.

Signed-off-by: Adam Ford <aford173@gmail.com>
Acked-by: Stefan Agner <stefan.agner@toradex.com>
Tested-by: Jörg Krause <joerg.krause@embedded.rocks>
Acked-by: Tim Harvey <tharvey@gateworks.com>
Tested-by: Tim Harvey <tharvey@gateworks.com>
5 years agoddr: vybrid: Add calibration code to memory controler's (DDRMC) setup code
Lukasz Majewski [Wed, 5 Dec 2018 16:04:03 +0000 (17:04 +0100)]
ddr: vybrid: Add calibration code to memory controler's (DDRMC) setup code

This patch extends the vf610 DDR memory controller code to support SW
leveling.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
Reviewed-by: Stefan Agner <stefan.agner@toradex.com>
5 years agoddr: vybrid: Provide code to perform on-boot calibration
Lukasz Majewski [Wed, 5 Dec 2018 16:04:02 +0000 (17:04 +0100)]
ddr: vybrid: Provide code to perform on-boot calibration

This patch provides the code to calibrate the DDR's
DQS to DQ signals (RDLVL).

It is based on:
VFxxx Controller Reference Manual, Rev. 0, 10/2016, page 1600
10.1.6.16.4.1 "Software Read Leveling in MC Evaluation Mode"

and NXP's community thread:
"Vybrid: About DDR leveling feature on DDRMC."
https://community.nxp.com/thread/395323

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agoddr: vybrid: Add DDRMC calibration related registers (DQS to DQ)
Lukasz Majewski [Wed, 5 Dec 2018 16:04:01 +0000 (17:04 +0100)]
ddr: vybrid: Add DDRMC calibration related registers (DQS to DQ)

This commit provides extra defines needed for DDR memory controller
calibration (read leveling performing).

Signed-off-by: Lukasz Majewski <lukma@denx.de>
Reviewed-by: Stefan Agner <stefan.agner@toradex.com>
5 years agoMerge branch 'master' of git://git.denx.de/u-boot-sunxi
Tom Rini [Fri, 15 Feb 2019 01:14:51 +0000 (20:14 -0500)]
Merge branch 'master' of git://git.denx.de/u-boot-sunxi

- MMC CD pin fix on Orangepi Zero plus
- SPI boot for  Olinuxino Lime2-eMMC boards
- Change in dram frequnecy for tbs_a711

5 years agoarm64: zynqmp: Remove board config files
Michal Simek [Wed, 13 Feb 2019 12:33:32 +0000 (13:33 +0100)]
arm64: zynqmp: Remove board config files

All options have been moved to Kconfig and there is no need to have
board header files. Mini configurations require them that's why they are
still there.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agoarm64: zynqmp: Remove SPD related configurations
Michal Simek [Wed, 13 Feb 2019 13:00:06 +0000 (14:00 +0100)]
arm64: zynqmp: Remove SPD related configurations

SPD autodetection hasn't been enabled that's why there is zero size
difference if that options are enabled/disabled.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agoarm64: zynqmp: Fix logic around CONFIG_ZYNQ_SDHCI
Michal Simek [Wed, 13 Feb 2019 12:46:41 +0000 (13:46 +0100)]
arm64: zynqmp: Fix logic around CONFIG_ZYNQ_SDHCI

Replace SDHCI controller listing by Kconfig symbol to let SPL know that
this board is using multiple SDHCIs controllers.
Kconfig help message should explain why this is needed.
Origin symbols were used in full u-boot but with moving to distro boot
this was fixed already.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agoxilinx: common: Remove !DM_i2C code for reading mac from eeprom
Michal Simek [Tue, 22 Jan 2019 14:55:46 +0000 (15:55 +0100)]
xilinx: common: Remove !DM_i2C code for reading mac from eeprom

All platforms are converted to DM_I2C that's why there is no reason to
keep this code here.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
5 years agoi2c: Remove ancient zynq_i2c driver
Michal Simek [Tue, 22 Jan 2019 11:50:12 +0000 (12:50 +0100)]
i2c: Remove ancient zynq_i2c driver

This driver is replaced by drivers/i2c/i2c-cdns.c DM based driver.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Acked-by: Heiko Schocher <hs@denx.de>
5 years agoarm64: zynqmp: Remove addresses for i2c controllers
Michal Simek [Fri, 18 Jan 2019 08:09:40 +0000 (09:09 +0100)]
arm64: zynqmp: Remove addresses for i2c controllers

All platforms have been converted to DM that's why there is no reason to
keep addresses in headers. They are all read from DT now.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
5 years agoarm64: zynqmp: Switch all platforms to DM_I2C
Michal Simek [Fri, 18 Jan 2019 08:10:39 +0000 (09:10 +0100)]
arm64: zynqmp: Switch all platforms to DM_I2C

CONFIG_PCA953X is not needed because of PCA953X is integrated in gpio
subsystem already. That's why also remove CMD_PCA953X which is only for
this driver.

zcu102/zcu104-revC/zcu106/zcu111 contain links to eeprom which stores MAC address.

DM_I2C is not enabled for the whole SoC because it increase size for
mini configurations and there is no I2C symbol present to setup
dependencies.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
5 years agoARM: zynq: Remove addresses for i2c controllers
Michal Simek [Tue, 22 Jan 2019 11:48:47 +0000 (12:48 +0100)]
ARM: zynq: Remove addresses for i2c controllers

All platforms have been converted to DM that's why there is no reason to
keep addresses in headers. They are all read from DT now.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
5 years agoARM: zynq: Convert dlc20 and zc70x board to DM_I2C
Michal Simek [Tue, 22 Jan 2019 13:43:04 +0000 (14:43 +0100)]
ARM: zynq: Convert dlc20 and zc70x board to DM_I2C

All these board have also eeprom enabled that's why it is also enabled
via defconfig.
There is also no need to have zc70x specific config file that's why also
remove it.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
5 years agoARM: zynq: Convert Syzygy to DM_I2C
Michal Simek [Tue, 22 Jan 2019 13:12:54 +0000 (14:12 +0100)]
ARM: zynq: Convert Syzygy to DM_I2C

Boards have only one controller enabled that's why move to DM_I2C is
easy.
Add also i2c alias for not to be shown as i2c bus -1 because alias
doesn't exist.
Config file points to MAC stored in eeprom but it is not listed that's
why I have added 24c08 part.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
5 years agoarm64: versal: Add mini configuration for Versal
Siva Durga Prasad Paladugu [Mon, 4 Feb 2019 10:48:29 +0000 (16:18 +0530)]
arm64: versal: Add mini configuration for Versal

This patch adds new mini target for versal.
This configuration is very minimal in size which runs
from OCM. It contains support for mtest which can be
used for running DDR memory tests.

Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agoarm64: versal: Move IOU_SWITCH_DIVISOR0 to Kconfig
Michal Simek [Mon, 28 Jan 2019 10:12:41 +0000 (11:12 +0100)]
arm64: versal: Move IOU_SWITCH_DIVISOR0 to Kconfig

Move hardcoded IOU_SWITCH_DIVISOR0 to Kconfig to be able to set it up
for different platforms.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agoarm64: versal: Remove one level of indentation in board_early_init_r()
Michal Simek [Mon, 28 Jan 2019 10:08:00 +0000 (11:08 +0100)]
arm64: versal: Remove one level of indentation in board_early_init_r()

Simplify code indentation.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agoarm64: versal: Define distro boot commnads for qspi ospi and mmc
Siva Durga Prasad Paladugu [Thu, 31 Jan 2019 11:58:13 +0000 (17:28 +0530)]
arm64: versal: Define distro boot commnads for qspi ospi and mmc

This patch adds distro boot commands for qspi, ospi and mmc.
The distro boot commands now reads the script from flash offset
of 63.5MB  for qspi and ospi and executes it. For mmc its same
as generic distro boot command. As either one of the qspi or ospi can
exist on hardware, defined a single distroboot command as xspi
that works for both.

Setup default location via script_offset_f to 63.5MB to match the most
xilinx reference boards for qspi, ospi for now.
512kB allocated space for script size (script_size_f) should be more
than enough to cover custom boot logic.

Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agoarm64: versal: Disable showing information about console
Michal Simek [Mon, 28 Jan 2019 09:47:33 +0000 (10:47 +0100)]
arm64: versal: Disable showing information about console

There is no need to see this info. It is just wasting of space/time.
It saves 308Bytes.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agoarm: zynq: Update boot_targets based on bootmode
Siva Durga Prasad Paladugu [Fri, 25 Jan 2019 11:36:06 +0000 (17:06 +0530)]
arm: zynq: Update boot_targets based on bootmode

Update boot_targets based on bootmode to run corresponding
distroboot command first.

Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agoarm: zynq: Define distro boot commnads for qspi, nand and nor
Siva Durga Prasad Paladugu [Fri, 25 Jan 2019 11:36:05 +0000 (17:06 +0530)]
arm: zynq: Define distro boot commnads for qspi, nand and nor

This patch adds distro boot commands for qspi, nand and nor.
The distro boot commands now reads the script from flash offset
of 15.75MB and executes it.

Setup default location via script_offset_f to 15.75MB to match the most
xilinx reference boards for qspi, nand and set the same using
script_offset_nor to 0xE2EC0000 for nor.
256kB allocated space for script size (script_size_f) should be more
than enough to cover custom boot logic.

Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agospi: zynqmp_gqspi: Enable versal compatible string
Michal Simek [Thu, 29 Nov 2018 07:48:28 +0000 (08:48 +0100)]
spi: zynqmp_gqspi: Enable versal compatible string

Trivial patch.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agoarm64: versal: Add mini eMMC configuration
Siva Durga Prasad Paladugu [Tue, 8 Jan 2019 16:17:29 +0000 (21:47 +0530)]
arm64: versal: Add mini eMMC configuration

This patch adds mini eMMC configuration which has only
emmc0 and emmc1 functionalities and can run from small
amount of memory. This is required for memory constraint
devices.

Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agoarm64: versal: Enable different ethernet phy for virt platform
Michal Simek [Thu, 17 Jan 2019 08:22:37 +0000 (09:22 +0100)]
arm64: versal: Enable different ethernet phy for virt platform

This platform is going to become generic that's why it is necessary also
enable different PHY vendors.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agoarm64: versal: Add new Kconfig SYS_MEM_RSVD_FOR_MMU
Siva Durga Prasad Paladugu [Tue, 8 Jan 2019 16:17:26 +0000 (21:47 +0530)]
arm64: versal: Add new Kconfig SYS_MEM_RSVD_FOR_MMU

This patch adds new config option which is used for
reserving a specific memory for MMU Table and in this
case we are using TCM for that purpose.

Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agoARM: zynq: Convert Antminer to OF_SEPARATE
Michal Simek [Mon, 28 Jan 2019 07:40:50 +0000 (08:40 +0100)]
ARM: zynq: Convert Antminer to OF_SEPARATE

Convert board from OF_EMBED to OF_SEPARATE.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agoxilinx: common: Add support for DM_I2C zynq_board_read_rom_ethaddr()
Michal Simek [Mon, 21 Jan 2019 15:29:07 +0000 (16:29 +0100)]
xilinx: common: Add support for DM_I2C zynq_board_read_rom_ethaddr()

It is much easier to point to eeprom which stores information like MAC
address directly via DT. eeprom which contains this information is
pointed by /chosen/xlnx,eeprom parameter.

For example:
        chosen {
                bootargs = "earlycon";
                stdout-path = "serial0:115200n8";
+               xlnx,eeprom = &eeprom;
        };

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agoxilinx: Move zynq_board_read_rom_ethaddr to shared location
Michal Simek [Mon, 21 Jan 2019 14:25:02 +0000 (15:25 +0100)]
xilinx: Move zynq_board_read_rom_ethaddr to shared location

Zynq and ZynqMP are sharing similar code and there is no reason to do
code duplication. Move zynq_board_read_rom_ethaddr() to common file for
easier conversion to DM.
Use ZynqMP version that's why also add CONFIG_ZYNQ_EEPROM_BUS to Syzygy
which is only one Zynq board which is using this feature.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agoarm64: zynqmp: Define distro boot commnads for qspi and nand
Siva Durga Prasad Paladugu [Thu, 24 Jan 2019 06:02:04 +0000 (11:32 +0530)]
arm64: zynqmp: Define distro boot commnads for qspi and nand

This patch adds distro boot commands for qspi and nand. The
distro boot commands now reads the script from flash offset
of 63.5MB and executes it.

Setup default location via script_offset_f to 63.5MB to match the most
xilinx reference boards. 512kB allocated space for script size
(script_size_f) should be more than enough to cover custom boot logic.

Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agoARM: zynq: Run distribution boot commands first
Michal Simek [Thu, 3 Jan 2019 12:58:27 +0000 (13:58 +0100)]
ARM: zynq: Run distribution boot commands first

This patch is doing two things.
1. Exchanging order of boot commands. distro_bootcmd is run first
followed by Xilinx boot command.
2. Remove CONFIG_BOOTCOMMAND from configs (and follow mainline) by
creating Xilinx distribution bootcommand and wiring it as the last
bootcommand.

QSPI, NAND distribution boot command will be added later.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agoMerge tag 'signed-efi-next' of git://github.com/agraf/u-boot
Tom Rini [Wed, 13 Feb 2019 12:12:29 +0000 (07:12 -0500)]
Merge tag 'signed-efi-next' of git://github.com/agraf/u-boot

Patch queue for efi - 2019-02-13

Goodness this time around:

  - HII protocol, finally allows us to run the UEFI Shell!
    (experimantal, disabled by default)
  - efi selftest now available on Cortex-M
  - NVMe support for distro boot
  - Lots of code cleanup

5 years agoefi_loader: fix EFI_FILE_PROTOCOL.GetInfo()
Heinrich Schuchardt [Sat, 9 Feb 2019 21:23:48 +0000 (22:23 +0100)]
efi_loader: fix EFI_FILE_PROTOCOL.GetInfo()

We check the existence of files with fs_exist(). This function calls
fs_close(). If we do not set the active block device again fs_opendir()
fails and we do not set the flag EFI_FILE_DIRECTORY. Due to this error the
`cd` command in the EFI shell fails.

So let's add the missing set_blk_dev(fh) call.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>