]> git.ipfire.org Git - thirdparty/u-boot.git/log
thirdparty/u-boot.git
4 years agoarm64: zynqmp: Squashed revB for k26 with revA
Michal Simek [Tue, 6 Apr 2021 12:52:58 +0000 (14:52 +0200)] 
arm64: zynqmp: Squashed revB for k26 with revA

K26 has two variants with and without EMMC. SM-K26 is board with EMMC on it
and SMK-K26 is board without EMMC. The same DT can be used for both. The
only difference is if you can access that memory or not.
Compatible string is extended to also cover SMK versions of this board.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoarm64: versal: Update OSPI TX buswidth to 8
Sai Krishna Potthuri [Fri, 2 Apr 2021 11:46:13 +0000 (17:16 +0530)] 
arm64: versal: Update OSPI TX buswidth to 8

This patch update the spi-tx-bus-width property to 8 for OSPI flash.
SPI based Linux driver is dependent on 'spi-tx-bus-width' property
to operate in Octal SPI mode.

Signed-off-by: Sai Krishna Potthuri <lakshmi.sai.krishna.potthuri@xilinx.com>
4 years agoxilinx: common: Fix boot script address
T Karthik Reddy [Fri, 2 Apr 2021 07:49:17 +0000 (01:49 -0600)] 
xilinx: common: Fix boot script address

Currently u-boot supports addresses upto 39-bits only. If anybody
wants to use addresses of more than 39-bits in Linux they will have
a separate memory node in DT. In such cases they will have multiple
memory nodes.
Currently u-boot selects and runs on lower memory bank region.
But bootscript is being loaded on dram bank 0, where dram bank 0 will
point to 1st memory node in DT. If first memory node is mentioned as
higher ddr(>39-bits address) then u-boot cannot load the bootscript.
So fix this issue by setting bootscript address within the lower memory
bank region.

Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com>
4 years agospi: config: Cleanup unsued SF_DUAL_FLASH config
Ashok Reddy Soma [Tue, 30 Mar 2021 07:22:05 +0000 (01:22 -0600)] 
spi: config: Cleanup unsued SF_DUAL_FLASH config

SF_DUAL_FLASH config is unused in code after moving to spi-nor
framework. Remove it from all defconfigs and Kconfig.

Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com>
4 years agoxilinx: Enable DFU_TIMEOUT config
T Karthik Reddy [Wed, 31 Mar 2021 05:24:59 +0000 (23:24 -0600)] 
xilinx: Enable DFU_TIMEOUT config

Enable CONFIG_DFU_TIMEOUT to set timeout waiting for dfu command.

Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoxilinx: zynq: Add usb dfu/thor distro boot support
T Karthik Reddy [Wed, 31 Mar 2021 05:24:58 +0000 (23:24 -0600)] 
xilinx: zynq: Add usb dfu/thor distro boot support

Add support for usb dfu & thor to distro boot on zynq platform.
Add 60s timeout of dfu-utils to start transaction. Remove
DFU_ALT_INFO_RAM as we use bootcmd_usb_dfu instead of dfu_ram.
Remove DFU_ALT_INFO_MMC as part of distro boot cleanup.

Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoxilinx: versal: Add usb dfu/thor distro boot support
T Karthik Reddy [Wed, 31 Mar 2021 05:24:57 +0000 (23:24 -0600)] 
xilinx: versal: Add usb dfu/thor distro boot support

Change "dfu_usb" to "usb_dfu" for better representation and change
required macros. Add 60s timeout of dfu-utils to start transaction.
Add support for usb thor to distro boot. Remove DFU_ALT_INFO_RAM
as we use bootcmd_usb_dfu instead of dfu_ram.

Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoxilinx: zynqmp: Remove dfu_ram_info setup
Michal Simek [Thu, 25 Mar 2021 08:55:30 +0000 (09:55 +0100)] 
xilinx: zynqmp: Remove dfu_ram_info setup

The dfu ram info is wired in connection to Linux kernel and certain setup.
We should change this to be more generic as others command. That's why
using boot via script is the way to go.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoxilinx: zynqmp: Add usb dfu/thor distro boot support
T Karthik Reddy [Thu, 25 Mar 2021 05:37:57 +0000 (23:37 -0600)] 
xilinx: zynqmp: Add usb dfu/thor distro boot support

In usb boot mode distro boot should select usb device as primary boot
device instead of usb host. So make usb dfu as primary boot device. But do
not list it in boot_targets as fallback option because it is not classic
mode for booting. Using 60s timeout by default should be enough time for
dfu-utils to start transaction. In case none needs this please change
timeout value in the command or disable CONFIG_DFU_TIMEOUT.

Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agocmd: dfu: Propagate error if dfu gadget fails
Michal Simek [Wed, 31 Mar 2021 07:05:52 +0000 (09:05 +0200)] 
cmd: dfu: Propagate error if dfu gadget fails

On systems without usb gadget dfu core fails which was reported by error
but command itself returns pass which breaks any usage in a script.
That's why propagate error from run_usb_dnl_gadget().

Fixes: 16297cfb2a20 ("usb: new board-specific USB init interface")
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoarm64: zynqmp: Rename revision 1.0 to just 1
Michal Simek [Mon, 29 Mar 2021 06:41:33 +0000 (08:41 +0200)] 
arm64: zynqmp: Rename revision 1.0 to just 1

EEPROM has only rev 1 not rev 1.0 that's why change to be aligned.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoarm64: zynqmp: Rename SOM to be aligned with names in DT
Michal Simek [Mon, 29 Mar 2021 06:35:05 +0000 (08:35 +0200)] 
arm64: zynqmp: Rename SOM to be aligned with names in DT

The reason is that fdtfile variable is generated based on compatible string
in DT.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoxilinx: Enable efi debug command
Michal Simek [Fri, 26 Mar 2021 10:16:24 +0000 (11:16 +0100)] 
xilinx: Enable efi debug command

Enable EFI debug command to be able to setup various efi variables to avoid
software like grub.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoarm64: zynqmp: Add 'silabs,skip-recall' to DDR DIMM si570 clk node
Saeed Nowshadi [Mon, 22 Mar 2021 18:58:38 +0000 (11:58 -0700)] 
arm64: zynqmp: Add 'silabs,skip-recall' to DDR DIMM si570 clk node

The 'silabs,skip-recall' property prevents interruption in operation of
the clock while the driver is being probed.  Without this property, the
DDR DIMM clk can cause a failure during Versal's boot.

Signed-off-by: Saeed Nowshadi <saeed.nowshadi@xilinx.com>
4 years agoarm64: zynqmp: Add accurate compatible string for ST m24c64 eeprom
Michal Simek [Tue, 16 Mar 2021 12:29:00 +0000 (13:29 +0100)] 
arm64: zynqmp: Add accurate compatible string for ST m24c64 eeprom

The board is using ST eeprom not Atmel. But Atmel compatible string is used
in Linux and U-Boot that's why keep it also there.

Reported-by: Sai Pavan Boddu <sai.pavan.boddu@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoarm64: zynqmp: zynqmp-sm-k26: Correct i2c addresses
Raviteja Narayanam [Mon, 22 Mar 2021 04:48:47 +0000 (22:48 -0600)] 
arm64: zynqmp: zynqmp-sm-k26: Correct i2c addresses

The i2c slave device addresses are corrected and added necessary
description to identify the issues.

Signed-off-by: Raviteja Narayanam <raviteja.narayanam@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoarm64: zynqmp: Add reset properties to USB node
Manish Narani [Tue, 16 Mar 2021 14:17:41 +0000 (08:17 -0600)] 
arm64: zynqmp: Add reset properties to USB node

Update USB controller node in ZynqMP device tree to add reset
properties. There are three resets defined for USB core, USB hibernation
and APB reset.

Signed-off-by: Manish Narani <manish.narani@xilinx.com>
4 years agoarm64: zynqmp: Fix GTR reference clocks for zcu100
Michal Simek [Mon, 15 Mar 2021 11:28:57 +0000 (12:28 +0100)] 
arm64: zynqmp: Fix GTR reference clocks for zcu100

Reference clocks have been setup to 1/2 but they are 0/1.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoarm64: zynqmp: Update ZynqMP DP entry
Dylan Yip [Wed, 10 Mar 2021 09:47:41 +0000 (01:47 -0800)] 
arm64: zynqmp: Update ZynqMP DP entry

As per Linux commit d76271d22694 ("drm: xlnx: DRM/KMS driver for Xilinx
ZynqMP DisplayPort Subsystem"), the dt entry for ZynqMP DP is slightly
different compared to the downstream driver. This patch updates the dt
entry to the new dt bindings.

Also add xlnx-zynqmp-dpdma.h header.

Signed-off-by: Dylan Yip <dylan.yip@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoarm64: zynqmp: Update DPDMA entry
Dylan Yip [Wed, 10 Mar 2021 09:47:40 +0000 (01:47 -0800)] 
arm64: zynqmp: Update DPDMA entry

As per Linux commit 7cbb0c63de3f ("dmaengine: xilinx: dpdma: Add the Xilinx
DisplayPort DMA engine driver"), the dt entry for the ZynqMP DPDMA has been
modified. So update the dt entry per the new dt bindings.

Signed-off-by: Dylan Yip <dylan.yip@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agospi: zynqmp_gqspi: fix set_speed bug on multiple runs
Brandon Maier [Wed, 20 Jan 2021 20:28:30 +0000 (14:28 -0600)] 
spi: zynqmp_gqspi: fix set_speed bug on multiple runs

If zynqmp_qspi_set_speed() is called multiple times with the same speed,
then on the second call it will skip recalculating the baud_rate_val as
it assumes the speed is already configured correctly. But it will still
write the baud_rate_val to the configuration register and call
zynqmp_gqspi_set_tapdelay(). Because it skipped recalculating the
baud_rate_val, it will use the initial value of 0 . This causes the
driver to run at maximum speed which for many spi flashes is too fast and
causes data corruption.

Instead only write out a new baud_rate_val if we have calculated the
correct baud_rate_val.

This opens up another issue with the "if (speed == 0)", we don't save
off the new plat->speed_hz value when setting the baud rate on the
speed=0 path. Instead mimic what the Linux zynqmp gqspi driver does, and
have speed==0 just use the same calculation as a normal speed. That will
cause the baud_rate_val to use the slowest speed possible, which is the
safest option.

Signed-off-by: Brandon Maier <brandon.maier@rockwellcollins.com>
CC: jagan@amarulasolutions.com
CC: michal.simek@xilinx.com
CC: Ashok Reddy Soma <ashokred@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoarm64: zynqmp: Add mode-pin GPIO controller DT node
Piyush Mehta [Wed, 10 Mar 2021 16:09:40 +0000 (21:39 +0530)] 
arm64: zynqmp: Add mode-pin GPIO controller DT node

Add mode-pin GPIO controller DT node in zynqmp.dtsi

Signed-off-by: Piyush Mehta <piyush.mehta@xilinx.com>
4 years agoxilinx: Sync DTs for GTRs with Linux kernel
Michal Simek [Thu, 11 Mar 2021 14:33:25 +0000 (15:33 +0100)] 
xilinx: Sync DTs for GTRs with Linux kernel

There are several changes which happen in mainline kernel which should get
also to U-Boot. Here is the list of patches from the kernel:

- arm64: dts: zynqmp: Fix u48 si5382 chip on zcu111
- arm64: dts: zynqmp: Enable phy driver for Sata on zcu102/zcu104/zcu106
- arm64: dts: zynqmp: Enable si5341 driver for zcu102/106/111
- arm64: dts: zynqmp: Add DT description for si5328 for zcu102/zcu106

but also some other changes have been done.
- Remove USB3.0 serdes configurations
- Remove SATA serdes configuration for zc1232
- Remove comments about sgmii from a2197* boards
- Update all files with psgtr which are not upstream yet.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoarm64: zynqmp: Sync dpdma with mainline kernel
Michal Simek [Fri, 12 Mar 2021 09:19:19 +0000 (10:19 +0100)] 
arm64: zynqmp: Sync dpdma with mainline kernel

Just exchange possition and use the same coding style.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoarm64: zynqmp: Rename xlnx_dpdma to zynqmp_dpdma
Michal Simek [Thu, 11 Mar 2021 12:37:15 +0000 (13:37 +0100)] 
arm64: zynqmp: Rename xlnx_dpdma to zynqmp_dpdma

This label is used in upstream linux that's why align with it.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoarm64: dts: zynqmp: Add missing mio-bank properties to sdhcis
Michal Simek [Thu, 21 Jan 2021 10:26:55 +0000 (11:26 +0100)] 
arm64: dts: zynqmp: Add missing mio-bank properties to sdhcis

Add missing xlnx,mio-bank property to sdhci nodes. Also add properties with
0 value to have it listed in case that files are copied to different
projects where default case doesn't need to be handled in the same way.
That's why explicitly list them too.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Link: https://lore.kernel.org/r/dbdfcc1b25af8b28fc658a37ce18902978cb410d.1611224800.git.michal.simek@xilinx.com
4 years agoarm64: zynqmp: Add also support for xck24
Michal Simek [Fri, 6 Nov 2020 09:06:17 +0000 (10:06 +0100)] 
arm64: zynqmp: Add also support for xck24

Not to lost information about ID code.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoarm64: zynqmp: Add missing silabs,skip-recall for si570 ref clk nodes
Michal Simek [Tue, 9 Mar 2021 11:43:42 +0000 (12:43 +0100)] 
arm64: zynqmp: Add missing silabs,skip-recall for si570 ref clk nodes

All si570 which are used for ps reference clock generation should contain
silabls,skip-recall property not to cause break on ps clock.
On Versal boards this will cause hang on Versal cpu when it is booted at
the same time with SC.
On zcu670 this can cause PS hang that's why add it for sure.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoarm64: zynqmp: Add support for K26 and KV260
Michal Simek [Wed, 15 Jul 2020 09:44:43 +0000 (11:44 +0200)] 
arm64: zynqmp: Add support for K26 and KV260

Add support for K26 and KV260
The support is split to 4 files for the following reason.

-k26-revA.dts - This is base DTS file which describes only SOM with
few exceptions.
a) GPIOs
b) uart at MIO34/MIO35
c) Aliases are filled even by IPs which are not enabled to have consistent
numbering scheme

-k26-revA-u-boot.dts - DTS file which targets only U-Boot project and
 which is automatically pick up by u-boot at build time. It enables SD card
 which is available on CC and it disable all HS modes capabilities to make
 sure that u-boot is capable to read data from SD without a need to setup
 tap delays for custom CCs.

-kv260-revA.dts - it is device tree overlay automatically built as dtbo
 which describes CC and all features on it.

-kv260-revA-pl.dts - ML Vision description for hardware i2c switch which is
 connected to PL. As of today it is here just for reference that there is a
 node which needs to be described and handled by SW.

Pincntrl description is not present but it could come in future especially
in connection to SD card connection.

There is also high chance that there is going to be a need to detect CC
from u-boot that's why u-boot DTS could also contain eeprom available at CC
for detection. It doesn't need to be there but it is good to list it not to
go around driver model in u-boot.

For checking DTBo fdtoverlay command can be used to make sure that base DT
and overlays are compatible to each other:
fdtoverlay -v -i arch/arm/dts/zynqmp-sm-k26-revA.dtb \
arch/arm/dts/zynqmp-sk-kv260-revA.dtbo -o /tmp/1.dtb

For building u-boots dtb file just run make.
For building Linux dtb files don't include u-boot.dtsi in build

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoarm64: zynqmp: Add labels to DPSub vid and gfx layers
Christian Kohn [Sat, 30 Jan 2021 02:37:25 +0000 (18:37 -0800)] 
arm64: zynqmp: Add labels to DPSub vid and gfx layers

For the SOM aa2 use case where the video mixer PL IP is connected to the DP
subsystem, the video layer needs to be referenced from a dt overlay. Hence,
add labels for the video and graphics layers in the dpsub node.

Signed-off-by: Christian Kohn <christian.kohn@xilinx.com>
4 years agoarm64: zynqmp: Add support for SVD devices
Michal Simek [Mon, 5 Oct 2020 07:35:40 +0000 (09:35 +0200)] 
arm64: zynqmp: Add support for SVD devices

SVD are using different name which can't be handled via zynqmp_devices
structure. That's why introduce zynqmp_detect_svd_name() which checks ID
code for these devices and show proper name for them.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoarm64: zynqmp: Update clock controller on zcu670
Michal Simek [Wed, 3 Mar 2021 12:43:09 +0000 (13:43 +0100)] 
arm64: zynqmp: Update clock controller on zcu670

There is no Linux driver for this chip that's why comment it out for now.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoarm64: zynqmp: Add support for zcu670-revA board
Michal Simek [Mon, 18 Jan 2021 12:58:39 +0000 (13:58 +0100)] 
arm64: zynqmp: Add support for zcu670-revA board

The board is sharing a lot of components with zcu208 but it contains
differet silicon and also several components are done differently.
The board has 4GB memory connected to PS and additional 4GB connected to
PL. Compare to zcu208 sata support has been dropped and only USB3.0 is
using GTR (lane2). Others GTRs are routed to connectors.

MIO configuration is also shared with zcu111.

The board is using si5381 chip compare to si5341 which is normally used.
And as of now there is no Linux driver for this chip. PS reference clock is
generated out of si570 chip which is also new approach compare to zcu208.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoarm64: versal: Define zynqmp_mmio_write() for versal
Michal Simek [Tue, 16 Mar 2021 12:44:58 +0000 (13:44 +0100)] 
arm64: versal: Define zynqmp_mmio_write() for versal

GQSPI driver is using it but this function is never called for Versal
because it is removed by linker. But function should be declared to avoid
this build warning:
drivers/spi/zynqmp_gqspi.c: In function 'zynqmp_qspi_set_tapdelay':
drivers/spi/zynqmp_gqspi.c:378:3: warning: implicit declaration of function
'zynqmp_mmio_write' [-Wimplicit-function-declaration]
  378 |   zynqmp_mmio_write(IOU_TAPDLY_BYPASS_OFST,

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoarm64: versal: Remove interrupt-parent property
Michal Simek [Tue, 16 Mar 2021 12:38:59 +0000 (13:38 +0100)] 
arm64: versal: Remove interrupt-parent property

There is interrupt-parent property for the whole bus that's why it doesn't
need to be setup for every IP.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoarm64: versal: Rename bus busses to be align with simple-bus yaml
Michal Simek [Tue, 16 Mar 2021 07:17:15 +0000 (08:17 +0100)] 
arm64: versal: Rename bus busses to be align with simple-bus yaml

The same change has been done in Linux for Zynq and ZynqMP. Also add gic to
the same bus with other nodes to avoid issues reported on ZynqMP. For more
information please take a look at links below.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Link: https://lore.kernel.org/r/68f20a2b2bb0feee80bc3348619c2ee98aa69963.1598263539.git.michal.simek@xilinx.com
Link: https://lore.kernel.org/r/f767fe007e446a2299fda9905e75b723c650a424.1605021644.git.michal.simek@xilinx.com
4 years agoARM: zynq: Rename bus to be align with simple-bus yaml
Michal Simek [Thu, 26 Nov 2020 13:25:01 +0000 (14:25 +0100)] 
ARM: zynq: Rename bus to be align with simple-bus yaml

Rename amba to AXI. Based on Xilinx Zynq TRM (Chapter 5) chip is "AXI
point-to-point channels for communicating addresses, data, and response
transactions between master and slave clients. This ARM AMBA 3.0..."

Issues are reported as:
.. amba: $nodename:0: 'amba' does not match
'^([a-z][a-z0-9\\-]+-bus|bus|soc|axi|ahb|apb)(@[0-9a-f]+)?$'
>From schema:
../github.com/devicetree-org/dt-schema/dtschema/schemas/simple-bus.yaml

Similar change has been done for Xilinx ZynqMP SoC.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Link: https://lore.kernel.org/r/8a4bc80debfbb79c296e76fc1e4c173e62657286.1606397101.git.michal.simek@xilinx.com
4 years agoarm64: dts: zynqmp-zcu100-revC: correct interrupt flags
Krzysztof Kozlowski [Thu, 17 Sep 2020 18:50:52 +0000 (20:50 +0200)] 
arm64: dts: zynqmp-zcu100-revC: correct interrupt flags

GPIO_ACTIVE_x flags are not correct in the context of interrupt flags.
These are simple defines so they could be used in DTS but they will not
have the same meaning:
1. GPIO_ACTIVE_HIGH = 0 = IRQ_TYPE_NONE
2. GPIO_ACTIVE_LOW  = 1 = IRQ_TYPE_EDGE_RISING

Correct the interrupt flags, assuming the author of the code wanted same
logical behavior behind the name "ACTIVE_xxx", this is:
  ACTIVE_LOW => IRQ_TYPE_LEVEL_LOW

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/r/20200917185052.5084-1-krzk@kernel.org
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
State: Linux upstream (fa7a98eb47f4d0aa431994dfd5cf2d621771ebe5)

4 years agonet: gem: Fix setting PCS auto-negotiation state
Robert Hancock [Thu, 11 Mar 2021 22:55:50 +0000 (16:55 -0600)] 
net: gem: Fix setting PCS auto-negotiation state

The code was trying to disable PCS auto-negotiation when a fixed-link node
is present and enable it otherwise. However, the PCS registers were being
written before the PCSSEL bit was set in the network configuration
register, and it appears that in this state, PCS register writes are
ignored. The result is that the intended change only took effect on the
second network operation that was performed, since at that time PCSSEL is
already enabled.

Fix the order of register writes so that PCS registers are only written to
after the PCS is enabled.

Fixes: 26e62cc971 ("net: gem: Disable PCS autonegotiation in case of fixed-link")
Signed-off-by: Robert Hancock <robert.hancock@calian.com>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
Reviewed-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoarm64: versal: Add missing DCC uart config
T Karthik Reddy [Wed, 17 Mar 2021 08:48:16 +0000 (02:48 -0600)] 
arm64: versal: Add missing DCC uart config

CONFIG_ARM_DCC is missing in versal mini qspi & ospi defconfig
files. Add above config to both defconfig files.

Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
4 years agomicroblaze: Make extended addressing support default
T Karthik Reddy [Wed, 17 Mar 2021 07:01:52 +0000 (01:01 -0600)] 
microblaze: Make extended addressing support default

Axi qspi controller supports 32-bit & 24-bit addressing modes
for micron, macronix & spansion flash parts. But for winbond
flashes it only supports 24-bit addressing mode.
Enable CONFIG_SPI_FLASH_BAR to use extended addressing mode
to make 32-bit addressing mode work on all flashes.

Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
Acked-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com>
4 years agospi: xilinx_spi: Add support for spi memory operations
T Karthik Reddy [Wed, 17 Mar 2021 07:01:51 +0000 (01:01 -0600)] 
spi: xilinx_spi: Add support for spi memory operations

Add support for spi memory operations for xilinx AXI qspi driver.
This provides an high-level interface to execute SPI memory
operations by the controller.

Remove existing spi transfer based implementation and use
spi memory based exec_op() implementation for qspi IO operations.

Simplified existing startup_block implementation.

Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
Acked-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com>
4 years agospi: xilinx_spi: Trivial fixes in axi qspi driver
T Karthik Reddy [Wed, 17 Mar 2021 07:01:50 +0000 (01:01 -0600)] 
spi: xilinx_spi: Trivial fixes in axi qspi driver

Use __func__ instead for function name in debug.
Use Linux style u32 instead of uint32_t.

Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
Acked-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com>
4 years agospi: spi-uclass: Add support to manually relocate spi memory ops
T Karthik Reddy [Wed, 17 Mar 2021 07:01:49 +0000 (01:01 -0600)] 
spi: spi-uclass: Add support to manually relocate spi memory ops

Add spi memory operations to relocate manually when
CONFIG_NEEDS_MANUAL_RELOC is enabled.

Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
Acked-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Pratyush Yadav <p.yadav@ti.com>
4 years agoxilinx: Sync DTs with Linux kernel
Michal Simek [Fri, 12 Mar 2021 09:21:05 +0000 (10:21 +0100)] 
xilinx: Sync DTs with Linux kernel

- Align zynqmp_dpdma node possition
- Resort nvmem_firmware
- Update nand compatible string
- Align power-domains property for sd0/1
- And small other pieces

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoarm64: dts: xilinx: align GPIO hog names with dtschema
Krzysztof Kozlowski [Wed, 16 Sep 2020 15:57:07 +0000 (17:57 +0200)] 
arm64: dts: xilinx: align GPIO hog names with dtschema

The convention for node names is to use hyphens, not underscores.
dtschema for pca95xx expects GPIO hogs to end with 'hog' prefix.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/r/20200916155715.21009-8-krzk@kernel.org
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoARM: zynq: Fix compatible string for adi,adxl345 chip
Michal Simek [Thu, 26 Nov 2020 13:25:00 +0000 (14:25 +0100)] 
ARM: zynq: Fix compatible string for adi,adxl345 chip

The commit e359a29225dd ("dt-bindings: iio: accel: adxl345: switch to YAML
bindings") switched binding to yaml and the following error pop up:
../zynq-zturn-v5.dt.yaml: accelerometer@53: compatible: 'oneOf' conditional
failed, one must be
fixed:
['adi,adxl345', 'adxl345', 'adi,adxl34x', 'adxl34x'] is too long
Additional items are not allowed ('adi,adxl34x', 'adxl34x' were unexpected)
Additional items are not allowed ('adxl345', 'adi,adxl34x', 'adxl34x' were
unexpected)
'adi,adxl346' was expected
'adi,adxl345' was expected

Use only one compatible string to be aligned with the binding.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Link: https://lore.kernel.org/r/a9075ab54df13461380e46d3002302d3672325b5.1606397101.git.michal.simek@xilinx.com
4 years agoarm64: zynqmp: Remove comment about clock chips
Michal Simek [Thu, 11 Mar 2021 12:34:02 +0000 (13:34 +0100)] 
arm64: zynqmp: Remove comment about clock chips

These comments weren't push to mainline that's why remove them.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoARM: zynq: Fix leds subnode name for zc702/zybo-z7
Michal Simek [Thu, 26 Nov 2020 13:25:02 +0000 (14:25 +0100)] 
ARM: zynq: Fix leds subnode name for zc702/zybo-z7

Fix the leds subnode names to match (^led-[0-9a-f]$|led).

Similar change has been also done by commit 9a19a39ee48b ("arm64: dts:
zynqmp: Fix leds subnode name for zcu100/ultra96 v1").

The patch is fixing these warnings:
.../zynq-zc702.dt.yaml: leds: 'ds23' does not match any of the regexes:
'(^led-[0-9a-f]$|led)', 'pinctrl-[0-9]+'
>From schema: .../Documentation/devicetree/bindings/leds/leds-gpio.yaml
.../zynq-zybo-z7.dt.yaml: gpio-leds: 'ld4' does not match any of the
regexes: '(^led-[0-9a-f]$|led)', 'pinctrl-[0-9]+'
>From schema: .../Documentation/devicetree/bindings/leds/leds-gpio.yaml

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Link: https://lore.kernel.org/r/607a66783b129294364abf09a6fc8abd241ff4ee.1606397101.git.michal.simek@xilinx.com
4 years agoarm64: dts: zynqmp: Fix leds subnode name for zcu100/ultra96 v1
Michal Simek [Mon, 24 Aug 2020 10:28:39 +0000 (12:28 +0200)] 
arm64: dts: zynqmp: Fix leds subnode name for zcu100/ultra96 v1

Fix the leds subnode names to match (^led-[0-9a-f]$|led).

Similar change has been also done by commit 08dc0e5dd9aa ("arm64: dts:
meson: fix leds subnodes name").

The patch is fixing this warning:
avnet-ultra96-rev1.dt.yaml: leds: 'ds2', 'ds3', 'ds4', 'ds5' do not match
any of the regexes: '(^led-[0-9a-f]$|led)', 'pinctrl-[0-9]+'

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Link: https://lore.kernel.org/r/1a69c3fa0291f991ffcf113ea222c713ba4d4ff0.1598264917.git.michal.simek@xilinx.com
4 years agomtd: spi-nor: Enable strip flag to read configuration register
T Karthik Reddy [Wed, 10 Mar 2021 05:30:02 +0000 (22:30 -0700)] 
mtd: spi-nor: Enable strip flag to read configuration register

In dual parallel mode, unable to read configuration register(CR)
from spansion flash to check quad enable bit due to no response
from upper flash. Add SPI_XFER_STRIPE flag to send configuration
register command to both upper and lower flashes and get
response accordingly.

Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
Acked-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com>
4 years agopy: tests: Bind should run only on sandbox
Michal Simek [Tue, 9 Mar 2021 11:43:14 +0000 (12:43 +0100)] 
py: tests: Bind should run only on sandbox

Disable test to run on any other platform than sandbox.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoarm64: zynqmp: Enable sha1sum command
Michal Simek [Fri, 4 Dec 2020 09:37:38 +0000 (10:37 +0100)] 
arm64: zynqmp: Enable sha1sum command

Enable it for TPM usage.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoarm64: zynqmp: List smmu ids for DP and DPDMA
Michal Simek [Wed, 3 Mar 2021 12:45:31 +0000 (13:45 +0100)] 
arm64: zynqmp: List smmu ids for DP and DPDMA

List these values and comment them for now till we double check how many
can be used the same time.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoarm: dts: versal: Update calibration value
Srinivas Neeli [Wed, 3 Mar 2021 12:27:34 +0000 (17:57 +0530)] 
arm: dts: versal: Update calibration value

Updated calibration value with 0x7FFF.

If set to anything <0x7FFF, you will see a speedup
If set to anything >0x7FFF, you will see a slowdown

Signed-off-by: Srinivas Neeli <srinivas.neeli@xilinx.com>
4 years agoclk: zynqmp: Fix clk dump values
T Karthik Reddy [Thu, 25 Feb 2021 06:44:46 +0000 (23:44 -0700)] 
clk: zynqmp: Fix clk dump values

With "clk dump" command, few clocks are showing up incorrect values
and some clocks are displayed as "unknown".

Add missing clocks to zynqmp clock driver to display proper
clocks rates.

Implement a simple way to get clock source, instead of calling
functions. Change existing functions to this simple mechanism.

Fix gem clock name "gem_rx" to "gem_tx" which was incorrect.
Change dbf_fpd & dbf_lpd clk names to dbg_fpd & dbg_lpd.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
4 years agoxilinx: versal: Add support for saving env based on bootmode
Ashok Reddy Soma [Tue, 23 Feb 2021 15:07:46 +0000 (08:07 -0700)] 
xilinx: versal: Add support for saving env based on bootmode

Enable saving variables to MMC(FAT) and SPI based on primary
bootmode. If bootmode is JTAG, dont save env anywhere(NOWHERE).

Enable ENV_FAT_DEVICE_AND_PART="0:auto" for Versal platforms as well.

Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com>
4 years agoxilinx: zynq: Add support for saving env based on bootmode
Ashok Reddy Soma [Tue, 23 Feb 2021 15:07:45 +0000 (08:07 -0700)] 
xilinx: zynq: Add support for saving env based on bootmode

Enable saving variables to MMC(FAT), NAND, SPI based on primary
bootmode. If bootmode is JTAG, dont save env anywhere(NOWHERE).

Since most of the flashes on zynq evaluation boards are 16MB in size,
set default ENV_OFFSET to 15MB(0xE00000).

Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com>
4 years agoarm64: zynqmp: Rename clocks as per the Arasan NAND driver
Amit Kumar Mahapatra [Tue, 23 Feb 2021 20:47:20 +0000 (13:47 -0700)] 
arm64: zynqmp: Rename clocks as per the Arasan NAND driver

In zynqmp.dtsi file renamed "clk_sys" clock to "controller" and
"clk_flash" clock to "bus" as per upstreamed Arasan NAND driver.
This fixes NAND driver probe failure.

Signed-off-by: Amit Kumar Mahapatra <amit.kumar-mahapatra@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agomtd: spi-nor: Check if block protection bits are set
T Karthik Reddy [Mon, 22 Feb 2021 15:39:56 +0000 (08:39 -0700)] 
mtd: spi-nor: Check if block protection bits are set

When block protection is enabled, erase & write operations should
fail for the blocks which are protected. Add support for this
checking in erase and write functions by reading BP & TB bits,
throw error if the blocks are write protected.

Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
4 years agomtd: spi-nor: Add block protection support for micron flashes
T Karthik Reddy [Mon, 22 Feb 2021 15:39:55 +0000 (08:39 -0700)] 
mtd: spi-nor: Add block protection support for micron flashes

Micron nor flashes provide block protection support using
BP0, BP1, BP2, BP3 & TB bits in status register. This patch
supports only for micron nor flashes with manufacturer id 0x20.

Where BP(Block Protection) bits defines memory to be software
protected against PROGRAM or ERASE operations. When one or more
block protect bits are set to 1, a designated memory area is
protected from PROGRAM and ERASE operations. TB(Top/Bottom) bit
determines whether the protected memory area defined by the block
protect bits starts from the top or bottom of the memory array.

Block Protection table for N25Q00AA with size 128MB, sector size 64KB
and with 2048 sectors.

Top protection:
--------------
TB BP3 BP2 BP1 BP0 Protected Area Un-Protected Area
0 0 0 0 0 None All sectors
0 0 0 0 1 Sector 2047 Sectors (0 to 2046)
0 0 0 1 0 Sectors (2046 to 2047) Sectors (0 to 2045)
0 0 0 1 1 Sectors (2044 to 2047)  Sectors (0 to 2043)
0 0 1 0 0 Sectors (2040 to 2047)  Sectors (0 to 2039)
0 0 1 0 1 Sectors (2032 to 2047)  Sectors (0 to 2031)
0 0 1 1 0 Sectors (2016 to 2047)  Sectors (0 to 2015)
0 0 1 1 1 Sectors (1984 to 2047)  Sectors (0 to 1983)
0 1 0 0 0 Sectors (1920 to 2047)  Sectors (0 to 1919)
0 1 0 0 1 Sectors (1792 to 2047)  Sectors (0 to 1791)
0 1 0 1 0 Sectors (1936 to 2047)  Sectors (0 to 1535)
0 1 0 1 1 Sectors (1024 to 2047) None

Bottom protection:
-----------------
TB BP3 BP2 BP1 BP0 Protected Area Un-protected Area
1 0 0 0 0 None All sectors
1 0 0 0 1 sector 0 Sectors (1 to 2047)
1 0 0 1 0 Sectors (0 to 1) Sectors (2 to 2047)
1 0 0 1 1 Sectors (0 to 3) Sectors (4 to 2047)
1 0 1 0 0 Sectors (0 to 7) Sectors (8 to 2047)
1 0 1 0 1 Sectors (0 to 15) Sectors (16 to 2047)
1 0 1 1 0 Sectors (0 to 31) Sectors (32 to 2047)
1 0 1 1 1 Sectors (0 to 63) Sectors (64 to 2047)
1 1 0 0 0 Sectors (0 to 127) Sectors (128 to 2047)
1 1 0 0 1 Sectors (0 to 255) Sectors (256 to 2047)
1 1 0 1 0 Sectors (0 to 511) Sectors (512 to 2047)
1 1 0 1 1 Sectors (0 to 1023) Sectors (1024 to 2047)

Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com>
Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
4 years agoarm64: zynqmp: Update device tree properties for nand flash
Amit Kumar Mahapatra [Thu, 18 Feb 2021 07:50:21 +0000 (00:50 -0700)] 
arm64: zynqmp: Update device tree properties for nand flash

Update the following device tree properties for nand flash

- Set software ecc mode.
- Set bch as ecc algo.
- Set read block to 0.

Signed-off-by: Amit Kumar Mahapatra <amit.kumar-mahapatra@xilinx.com>
4 years agoarm64: zynqmp: Update psu_init for zcu1275
Michal Simek [Wed, 17 Feb 2021 12:10:05 +0000 (13:10 +0100)] 
arm64: zynqmp: Update psu_init for zcu1275

Update clock/pll setup, ddr, MIOs based on 2020.2 hw design.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agonet: gem: unregister mdio bus if probe fails
Michael Walle [Wed, 10 Feb 2021 21:41:57 +0000 (22:41 +0100)] 
net: gem: unregister mdio bus if probe fails

If probe fails, the mdio bus isn't unregistered. Fix it.

Signed-off-by: Michael Walle <michael@walle.cc>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoarm64: zynqmp: Add idt 8a34001 chip to zcu208/zcu216
Michal Simek [Fri, 22 Jan 2021 13:42:29 +0000 (14:42 +0100)] 
arm64: zynqmp: Add idt 8a34001 chip to zcu208/zcu216

There is Linux driver for these chips that's why add it to device tree.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoarm64: zynqmp: Add missing psu inits for zcu208/216
Michal Simek [Wed, 17 Feb 2021 08:40:38 +0000 (09:40 +0100)] 
arm64: zynqmp: Add missing psu inits for zcu208/216

Add missing configurations file for zcu208 and zcu216.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agofpga: zynqpl: fix buffer alignment
Michael Walle [Wed, 10 Feb 2021 21:42:29 +0000 (22:42 +0100)] 
fpga: zynqpl: fix buffer alignment

Due to pointer arithmetic, "sizeof(u32) * ARCH_DMA_MINALIGN" is
subtracted. It seems that the original intention was to just subtract
ARCH_DMA_MINALIGN. Fix it.

Signed-off-by: Michael Walle <michael@walle.cc>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
State: upstream (8c02d842b61ebd579e42ff3f0326457e7d10ec95)

4 years agoarm64: zynqmp: Rename zc1275/zcu1275 to be aligned with DT name
Michal Simek [Wed, 17 Feb 2021 07:55:34 +0000 (08:55 +0100)] 
arm64: zynqmp: Rename zc1275/zcu1275 to be aligned with DT name

Folder names corresponds to DT name. These boards have been renamed from
zc1275 to zcu1275 by commit shown below and this should be the part of that
commit.

Fixes: 420d44678119 ("arm64: zynqmp: Rename zc1275 to zcu1275")
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoarm64: zynqmp: Add emmc specific parameters
Ashok Reddy Soma [Tue, 16 Feb 2021 14:02:14 +0000 (07:02 -0700)] 
arm64: zynqmp: Add emmc specific parameters

EMMC will have bus-width 8 and it is non-removable in general. These
are missing from dt node. Add bus-width and non-removable parameters
to emmc node.

Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com>
4 years agoarm64: zynqmp: Increase size of malloc pool
Ashok Reddy Soma [Tue, 16 Feb 2021 14:02:13 +0000 (07:02 -0700)] 
arm64: zynqmp: Increase size of malloc pool

size of malloc() pool for use before relocation is not sufficient
for ZynqMP mini u-boot with emmc configuration. Increase it to 4K.

Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com>
4 years agoarm64: zynqmp: Do not clear reset reason
Michal Simek [Tue, 9 Feb 2021 07:50:22 +0000 (08:50 +0100)] 
arm64: zynqmp: Do not clear reset reason

There is no need to clear reset reason register because it is protected by
PMUFW already which is reported when verbose log is enabled as:
pm_core.c@733 APU> No write permission to 0xFF5E0220

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Link: https://lists.denx.de/pipermail/u-boot/2021-February/440741.html
State: waiting

4 years agoxilinx: zynq: Enable time and timer commands
Ashok Reddy Soma [Thu, 4 Feb 2021 07:39:01 +0000 (00:39 -0700)] 
xilinx: zynq: Enable time and timer commands

Enable time command to get the elapsed time and timer commands.

Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com>
4 years agoxilinx: Show silicon version in SPL
Michal Simek [Tue, 2 Feb 2021 15:34:48 +0000 (16:34 +0100)] 
xilinx: Show silicon version in SPL

Both Zynq and ZynqMP can show silicon versions in SPL boot flow. It is
useful to be aware.
The patch is also fixing possition of these bits on ZynqMP.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agonet: gem: Enable ethernet rx clock for versal
T Karthik Reddy [Wed, 3 Feb 2021 10:10:48 +0000 (03:10 -0700)] 
net: gem: Enable ethernet rx clock for versal

Enable rx clock along with tx clock for versal platform. Use compatible
data to enable/disable clocks in the driver.

Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
4 years agoi2c: i2c_cdns: Enable i2c clock
T Karthik Reddy [Wed, 3 Feb 2021 10:10:46 +0000 (03:10 -0700)] 
i2c: i2c_cdns: Enable i2c clock

Enable i2c controller clock from driver probe function
by calling clk_enable().

Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
4 years agoclk: versal: Add support to enable clocks
T Karthik Reddy [Wed, 3 Feb 2021 10:10:47 +0000 (03:10 -0700)] 
clk: versal: Add support to enable clocks

Add clock enable functionality in versal clock driver to enable
clocks from peripheral drivers using clk_ops.

Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
4 years agoclk: zynqmp: Add support to enable clocks
T Karthik Reddy [Wed, 3 Feb 2021 10:10:45 +0000 (03:10 -0700)] 
clk: zynqmp: Add support to enable clocks

Add clock enable functionality in zynqmp clock driver to enable
clocks from peripheral drivers using clk_ops.

Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
4 years agoclk: zynq: Add dummy clock enable function
Michal Simek [Tue, 9 Feb 2021 14:28:15 +0000 (15:28 +0100)] 
clk: zynq: Add dummy clock enable function

A lot of Xilinx drivers are checking -ENOSYS which means that clock driver
doesn't have enable function. Remove this checking from drivers and create
dummy enable function as was done for clk_fixed_rate driver by
commit 6bf6d81c1112 ("clk: fixed_rate: add dummy enable() function").

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoMerge xlnx_rebase_v2021.01' into master
Michal Simek [Tue, 2 Feb 2021 16:23:29 +0000 (17:23 +0100)] 
Merge xlnx_rebase_v2021.01' into master

As last year we have prepared rebase branch first and then it was merged to
master. At the same time rebase branch is going to be tuned based on the
latest upstream submission.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoarm64: versal: Update versal watchdog node
Srinivas Neeli [Mon, 12 Oct 2020 12:06:30 +0000 (17:36 +0530)] 
arm64: versal: Update versal watchdog node

Added interrupt information and updated timeout, pretimeout values.

Signed-off-by: Srinivas Neeli <srinivas.neeli@xilinx.com>
State: pending

4 years agoRevert "arm64: versal: Generate position-independent pre-relocation code"
Michal Simek [Thu, 28 Jan 2021 09:21:09 +0000 (10:21 +0100)] 
Revert "arm64: versal: Generate position-independent pre-relocation code"

This reverts commit c3f1eaa32dc2ab48e193778d45b97d4d2206b0b2.
There is any issue on Versal where this option is enabled. That's why
disable it for now.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
State: pending

4 years agoarm64: dts: zynqmp: Enable si5341 driver for zcu102/106/111/208/216
Michal Simek [Fri, 13 Nov 2020 11:47:37 +0000 (12:47 +0100)] 
arm64: dts: zynqmp: Enable si5341 driver for zcu102/106/111/208/216

Enable si5341 driver is the main chip for providing preprogrammed clocks
for the whole platform.

 # cat /sys/kernel/debug/clk/clk_summary
...
 refhdmi                              1        1        0   114285000          0     0  50000
    xtal_0                            0        0        0   114285000          0     0  50000
       pll_0                          0        0        0 40731174000000          0     0  50000
          clk1_0                      0        0        0    27000000          0     0  50000
          clk0_0                      0        0        0    27000000          0     0  50000
 ref48M                               1        2        0    48000000          0     0  50000
    si5341                            0        4        0    14000000          0     0  50000
       clock-generator.N4             0        0        0           0          0     0  50000
       clock-generator.N3             0        1        0   733260000          0     0  50000
          clock-generator.9           0        1        0    33330000          0     0  50000
       clock-generator.N2             0        1        0   104000000          0     0  50000
          clock-generator.2           0        1        0    26000000          0     0  50000
       clock-generator.N1             0        2        0   594000000          0     0  50000
          clock-generator.7           0        1        0    74250000          0     0  50000
          clock-generator.0           0        1        0    27000000          0     0  50000
       clock-generator.N0             0        4        0  1000000000          0     0  50000
          clock-generator.8           0        0        0           0          0     0  50000
          clock-generator.6           0        1        0   125000000          0     0  50000
          clock-generator.5           0        1        0   100000000          0     0  50000
          clock-generator.4           0        1        0   100000000          0     0  50000
          clock-generator.3           0        1        0   125000000          0     0  50000
          clock-generator.1           0        0        0           0          0     0  50000
...

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
State: pending

4 years agoarm64: dts: zynqmp: Add DT description for si5328 for zcu102/zcu106
Michal Simek [Fri, 13 Nov 2020 11:33:45 +0000 (12:33 +0100)] 
arm64: dts: zynqmp: Add DT description for si5328 for zcu102/zcu106

Origin DT binding just specify driver but wasn't aligned with DT binding
which came later. Extend description for zcu102 and zcu106 to cover latest
binding.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
State: pending

4 years agoarm64: dts: zynqmp: Fix u48 si5382 chip on zcu111
Michal Simek [Fri, 13 Nov 2020 11:25:58 +0000 (12:25 +0100)] 
arm64: dts: zynqmp: Fix u48 si5382 chip on zcu111

u48 chip on zcu111 is si5382 not si5328.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
State: pending

4 years agoxilinx: versal: Add new vck5000 data center eval board
Michal Simek [Thu, 18 Jun 2020 07:06:02 +0000 (09:06 +0200)] 
xilinx: versal: Add new vck5000 data center eval board

The board is very similar to v350. The only difference is using 2Gbit OSPI
instead of 1Gbit version.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
State: pending

4 years agoarm64: versal: Add dts files for all supported boards
Michal Simek [Tue, 7 Jan 2020 11:58:20 +0000 (12:58 +0100)] 
arm64: versal: Add dts files for all supported boards

Add DT description for all Versal boards.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
State: pending
[michal: Squashed with
dts: versal: Correct power domain ID for PMC GPIO
dts: versal: Move ospi compatible property to versal dtsi
arm64: dts: versal: Add clk cells for sdhci
arm64: versal: Setup 8GB memory for vck190/vmk180/vc-p-a2197
arm64: versal: Fix EMMC boot module connection on vck190/vmk180
arm64: versal: Disable UHS support for SDHC0/1 by default
arm64: dts: versal: Add TTC nodes
clk: versal: Remove alt_ref_clk from clock sources
arm64: dts: versal: Add flexnoc node
arm64: dts: versal: Remove additional new lines
arm: dts: versal: add device tree node for sysmon
dts: versal: Update GEM node SE5
dts: versal: Add DDR Memory Controller nodes
arm64: versal: Update spi max frequency to 150MHz
]

4 years agoarm64: versal: Add mini qspi configurations
Michal Simek [Tue, 7 Jan 2020 12:03:10 +0000 (13:03 +0100)] 
arm64: versal: Add mini qspi configurations

Not all configurations are supported in mainline yet.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
State: pending
[michal: Squashed with
arm64: versal: Change mini uboot qspi fixed clock
arm64: versal: Disable DDR cache mapping if DDR is not enabled
xilinx: versal: Disable firmware driver for versal mini qspi
config: versal: Update mini u-boot timer clock to 100Mhz
versal: dts: Add mini ospi stacked support
configs: versal: Enable support for Gigadevice flash
+ defconfig syncup
]

4 years agoarm64: zynqmp: Disable CCI by default
Michal Simek [Mon, 11 May 2020 08:14:34 +0000 (10:14 +0200)] 
arm64: zynqmp: Disable CCI by default

There is no reason to have CCI no enabled by default. Enable it when your
system configuration requires it. In Xilinx configuration flow this is
work for Device Tree Generator which reads information from HW Design
configuration.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
State: pending

4 years agoarm64: zynqmp: Add fclk bindings for VCK190 clocks
Saeed Nowshadi [Wed, 4 Mar 2020 18:21:34 +0000 (10:21 -0800)] 
arm64: zynqmp: Add fclk bindings for VCK190 clocks

Add Xilinx fclk bindings for clocks on VCK190 board so they could be referenced through sysfs interface.

Signed-off-by: Saeed Nowshadi <saeed.nowshadi@xilinx.com>
State: pending

4 years agoarm64: zynqmp: Disable watchdog by default for virt platform
Michal Simek [Tue, 11 Feb 2020 08:56:48 +0000 (09:56 +0100)] 
arm64: zynqmp: Disable watchdog by default for virt platform

Disable watchdog based on request in past that not all Linux rootfs have
proper utilities ready to service it. Enable it if your rootfs have proper
watchdog handling.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
State: pending

4 years agoarm64: zynqmp: Add DT overlays for x-prc cards connected on a2197
Michal Simek [Tue, 7 Jan 2020 11:56:20 +0000 (12:56 +0100)] 
arm64: zynqmp: Add DT overlays for x-prc cards connected on a2197

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
State: pending

4 years agoarm64: zynqmp: Add zynqmp mini qspi configurations
Michal Simek [Tue, 7 Jan 2020 11:55:11 +0000 (12:55 +0100)] 
arm64: zynqmp: Add zynqmp mini qspi configurations

Not all configurations are supported in mainline yet.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
State: pending
[michal: Squashed with
arm64: zynqmp: dts: Add zynqmp-mini-qspi-single to Makefile
]

4 years agoarm64: zynqmp: Sync dtses with Linux kernel
Michal Simek [Tue, 7 Jan 2020 11:16:08 +0000 (12:16 +0100)] 
arm64: zynqmp: Sync dtses with Linux kernel

There some differences which haven't been upstreamed yet.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
State: pending

4 years agoarm64: zynqmp: Add pinctrl description
Michal Simek [Tue, 13 Oct 2020 13:15:43 +0000 (15:15 +0200)] 
arm64: zynqmp: Add pinctrl description

Pinctrl binding and support haven't been added to mainline Linux yet.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
State: pending

4 years agodt-bindings: arm64: zynqmp: Add pinctrl header
Chirag Parekh [Wed, 25 Jan 2017 15:00:56 +0000 (07:00 -0800)] 
dt-bindings: arm64: zynqmp: Add pinctrl header

Add pin control header to be sources by ZynqMP dtses.

Signed-off-by: Chirag Parekh <chirag.parekh@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
State: pending

4 years agoARM: zynq: Add nand controller node in zynq-ces-nand dt
T Karthik Reddy [Wed, 15 Apr 2020 10:45:02 +0000 (04:45 -0600)] 
ARM: zynq: Add nand controller node in zynq-ces-nand dt

Add memory-controller@e000e000 node in zynq-ces-nand.dts as
zynq_nand driver utilizes flash@e1000000 node. Without this
dt node mini nand u-boot does not probe.

Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Link: https://lists.denx.de/pipermail/u-boot/2020-April/406949.html
State: waiting

4 years agoARM: zynq: Add zynq mini qspi configurations
Michal Simek [Tue, 7 Jan 2020 11:55:51 +0000 (12:55 +0100)] 
ARM: zynq: Add zynq mini qspi configurations

Not all configurations are supported in mainline yet

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
State: pending

4 years agoARM: zynq: Add missing nor/smcc nodes
Michal Simek [Tue, 7 Jan 2020 09:21:13 +0000 (10:21 +0100)] 
ARM: zynq: Add missing nor/smcc nodes

Add missing nor description.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
state: pending
[michal: squashed with ARM: zynq: Fix addresses in partition definitions]
State: pending

4 years agoARM: zynq: Add missing nand/smcc nodes
Michal Simek [Tue, 7 Jan 2020 09:17:43 +0000 (10:17 +0100)] 
ARM: zynq: Add missing nand/smcc nodes

Add missing nand/smcc description.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
State: pending
[michal: squashed with ARM: zynq: Fix addresses in partition definitions]

4 years agoARM: zynq: Add missing QSPI nodes
Michal Simek [Tue, 7 Jan 2020 09:15:50 +0000 (10:15 +0100)] 
ARM: zynq: Add missing QSPI nodes

These nodes are out of mainline because of missing QSPI configuration
support.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
State: pending
[michal: squashed with ARM: zynq: Fix addresses in partition definitions]