Vipul Kumar [Tue, 27 Feb 2018 12:21:30 +0000 (17:51 +0530)]
arm: zynq: Removed CONFIG_SYS_MALLOC_LEN for mini configuration
This patch removed CONFIG_SYS_MALLOC_LEN from the header file as it
was already handled through Kconfig. During nand write operation,
CONFIG_SYS_MALLOC_LEN defined in header file was giving End of Memory
error.
nand write is working fine with the CONFIG_SYS_MALLOC_LEN defined
in cse_nand defconfig.
Signed-off-by: Vipul Kumar <vipulk@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Vipul Kumar [Mon, 26 Feb 2018 08:52:50 +0000 (14:22 +0530)]
arm64: zynqmp: mini-emmc: Added clock configuration in the device tree
This patch added clock configuration for mini emmc in the
device tree and enabled CONFIG_MMC_SDHCI_ZYNQ in defconfig.
Without CONFIG_MMC_SDHCI_ZYNQ, the device was failed to
register. Without this clk configuration, mmc device was
failed to get clk. CONFIG_DOS_PARTITION will be enabled
through Kconfig and hence removed from header file.
After adding all these changes, emmc is working fine.
This patch fixes the issue with qspi_write_twice by properly
calculating the sizes, offsets and by erasing the region
before writing to it. This also removes unnecessary
erase block. Thsi fixes the issue of CRC failures in
qspi_write_twice.
Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
zynqmp: Change kernel and fdt offsets in default environment
This patch changes the kernel and fdt offsets in default environment
as the current offset of 1MB doesn't fit boot image till u-boot due to
increased size of u-boot and other bootimages.
Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
arm64: zynqmp: Split emmc configuration into emmc0 and emmc1
This patch splits the current mini emmc configuration into emmc0
and emmc1 configurations because emmc is probed at run time and on
systems which have only one interface mini configuration is failing on
unused interface. For example clock is not enabled.
Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
net: zynq_gem: Dont run any phy detection logic for GMII case
This patch bypasses phy detection logic for GMII interface
and just depend on phy address received from DT. This patch
is required as phy detection logic is different for some phys
like xilinx phy which can be connected over SGMII and GMII
interface.
This fixes the issue of ethernet failures when xilinx phy is
connected over GMII interface.
Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Vipul Kumar [Thu, 15 Feb 2018 05:54:41 +0000 (11:24 +0530)]
arm64: zynqmp: Changed scratch address used by the alternate memory test
This patch changed CONFIG_SYS_MEMTEST_SCRATCH address to the
accessible DDR address used by alternate memory test.
Before this, 0xfffc0000 address was used, which is the OCM
address and not enabled in MMU table. So, whenever trying
to access 0xfffc0000 address, got Synchronous Abort exception.
After changing CONFIG_SYS_MEMTEST_SCRATCH address, alternate
memory test is working fine.
Keep origin setting just for mini configurations.
Michal Simek [Mon, 12 Feb 2018 07:15:01 +0000 (08:15 +0100)]
arm64: zynqmp: Move bootargs setting to Kconfig
bootargs should be setup via Kconfig. There are still xilinx commands
which are changing command line based on bootmode which are not moved.
Moving to distro default is probably the best thing to do.
Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
Michal Simek [Fri, 9 Feb 2018 10:04:56 +0000 (11:04 +0100)]
arm64: zynqmp: Cleanup zc12XX defconfigs
The patch
"Kconfig: Select networking commands only when NET is enabled"
(sha1: 99dcbdd8a3c3b6b9d7a4adb32bce73e51e51b7c9)
introduced dependency on NET which is not enabled on zc12xx targets.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Michal Simek [Thu, 8 Feb 2018 07:58:59 +0000 (08:58 +0100)]
omap4: sdp4430: Enable CONFIG_NET for this platform
Distro default configuration contains also dhcp and pxe setting which
can't working without enabling CONFIG_NET.
EFI is not required that's why it is not enabled.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
This patch fixed spi-flash sandbox compilation warnings.
There is a variable bank_addr which was set but unused.
Defined this variable on the basis of configs and used
according to that configs.
Signed-off-by: Vipul Kumar <vipulk@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Vipul Kumar [Thu, 8 Feb 2018 07:28:55 +0000 (12:58 +0530)]
arm: cse-nand: Added pre-relocation property in cse-nand dts
This patch added u-boot,dm-pre-reloc property in the
dts of cse-nand. Without this property, the device was not
getting probe and timer initialization was getting
fail. This property enable the pre-relocation support.
Philipp Tomsich [Fri, 2 Feb 2018 11:01:44 +0000 (12:01 +0100)]
spl: fit: move fdt_record_loadable out of ARCH_FIXUP_FDT_MEMORY guard
The fdt_record_loadable()-function was wedged between other functions
that were guarded by ARCH_FIXUP_FDT_MEMORY. This could lead to linker
errors on some configurations.
With this change, fdt_record_loadable() is moved out of the
ARCH_FIXUP_FDT_MEMORY guard (plus I tried to retain alphabetical
ordering for functions by placing it appropriately).
References: 9f45aeb ("spl: fit: implement fdt_record_loadable") Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Reported-by: Michal Simek <michal.simek@xilinx.com> Tested-by: Michal Simek <michal.simek@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Ulf Magnusson [Tue, 30 Jan 2018 13:02:01 +0000 (14:02 +0100)]
arm64: zynqmp: Fix misspelled choice default
There is no JTAG symbol in the "Boot mode" choice. JTAG_MODE was
probably intended.
No functional changes. Kconfig choices fall back on using the first
(visible) symbol in the choice as the default if the default symbol is
not visible.
Discovered in Kconfiglib (https://github.com/ulfalizer/Kconfiglib),
which prints the following warning:
warning: the default selection JTAG (undefined) of <choice> (defined at arch/arm/cpu/armv8/zynqmp/Kconfig:107) is not contained in the choice
I've added a corresponding warning to the C tools too, which is
currently in linux-next: https://patchwork.kernel.org/patch/9983667/
Signed-off-by: Ulf Magnusson <ulfalizer@gmail.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Michal Simek [Tue, 23 Jan 2018 13:51:15 +0000 (14:51 +0100)]
test: py: Create qspi write continue test
test_qspi_write_twice() is not checking if read back is rewriting
location around start and end in DDR.
Test is doing these steps:
- erasing qspi
- crc32 over full qspi size in DDR
- sf write with 3 writes
- first write inside page size
- second write with size over page size
- third write with rest of data till total size
- sf read the whole qspi back to different DDR location
- crc32 over it
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
This patch typecasts and accesses rx buf properly as
an unaligned rxbuf, typecasting with u16 and accessing
it causes data abort excpetion and this patch fixes it.
Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
spi: zynq_qspi: Read only one byte at a time from txbuf
Read only one byte at a time from txbuf as txbuf may not be
aligned and accessing more than a byte at a time may cause
alignment issues. This fixes the issue of data abort exception
while writing to flash device.
Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Vipul Kumar [Tue, 16 Jan 2018 10:48:00 +0000 (16:18 +0530)]
mtd: spi-nor: Added support to check addressing mode before calling clean_bar()
SPI erase, write and read operations were not happening properly and due to
this compare operation was getting failed. This patch checks addressing
mode before calling clean_bar() function. There is no need to set bank
address in 4 bytes addressing mode. This is to be inline with write_bar()
function.
Signed-off-by: Vipul Kumar <vipulk@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Michal Simek [Wed, 10 Jan 2018 08:36:09 +0000 (09:36 +0100)]
arm64: zynqmp: Prepare psu_init rework
Move generic functions to common location psu_spl_init.c. Function
declarations are added to private header.
These changes are done in connection to the fact that still files from
HDF can be copied over and compilation should pass.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Michal Simek [Mon, 15 Jan 2018 08:59:54 +0000 (09:59 +0100)]
arm64: zynqmp: Remove zcu100-revA/revB board
None is going to run this revA board again. RevB/revC/revD are reworked
and different.
There were only some revBs with ES2 which are also no longer used.
If someone wants to run revA or revB please revert this patch.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
arm64: zynqmp: Provide a config to not map DDR region in MMU table
DDR less systems are possible for configuration like mini qspi
and making DDR region as normal memory may cause speculative
access which results u-boot hang if DDR is absent. So, this
patch fixes the issue by not making DDR memory region
entry into MMU table.
Future solution is to prepare MMU table per memory node in dts instead
of hard code DDR addresses.
Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Michal Simek [Fri, 12 Jan 2018 13:25:52 +0000 (14:25 +0100)]
arm: zynq: Fix zc770-xm011-x16 spl configuration
Cleanup origin ps7_init file. The reason for adding full file in
previous patch was that it was straight copy from HDF which is easier
for diffing with new HDF files.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Michal Simek [Fri, 12 Jan 2018 13:24:50 +0000 (14:24 +0100)]
arm: zynq: Fix types in ps7_spl_init
The patch is fixing the following Warning:
arch/arm/mach-zynq/ps7_spl_init.c:133:24: warning: comparison between
signed and unsigned integer expressions [-Wsign-compare]
while (ioread(addr) < delay)
^
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
net: phy: xilinx_phy: Read phytype using property xlnx,phy-type
This patch reads phytype from property "xlnx,phy-type" instead
od simply looking for "phy-type". This is to be inline with
Linux and also fixes the issue of detecting it wrongly in
u-boot
Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
xilinx: zynqmp: Use strlen only if env_get doesn't return null
Add check if boot_targets exists in environment and then
generate new_targets env accordingly. Performing strlen on
null address causes it to fail with exception if isolation
is enabled with DDR address zero as secure. It works with out
isolation enabled as zero is valid address but it may lead to
junk values in boot_targets.
This patch fixes the issue by checking return value of env_get
so that it generate boot_targets properly.
Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Michal Simek [Wed, 6 Dec 2017 14:27:16 +0000 (15:27 +0100)]
arm64: zynqmp: Add support for zcu111 revA
zcu111 contains zu28drf chip. It is very similar to zcu106 with these
changes:
- uart1 is routed to PL instead of PS
- can is not wired
- additional 4GB memory connected to PL
- different i2c bus topology - addresses need to be validated
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
This patch corrects the baud rate divisor calculation by
checking with max baud rate value and assigning default
baud rate value if it exceeds max value.
This fixes the issue of qspi flash detection as writing
the overflown value results in setting unintended bits
in the register.
Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>