ARM64: zynqmp: Change usb node label representation
This patch changes usb node label represenation.
Our DTG is not able to recognize that usb node because
the usb node label doesn't have ip address as like other
ip nodes.
Signed-off-by: Naga Sureshkumar Relli <nagasure@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
ARM64: zynqmp: Changes to fix broken zynqmp mini qspi
Decrease the zynqmp mini uboot size to get it working
on latest master.
common/Makefile will be solved in next upgrade when CMD_FDT config
option is introduced.
Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Alistair Francis [Thu, 25 Feb 2016 17:30:03 +0000 (09:30 -0800)]
ARM64: dts: Use C pre-processor for includes
Change the dtsi include code to use the C pre-processor #include instead
of the device tree /include/. This brings all ZynqMP device trees inline
with each other.
Signed-off-by: Alistair Francis <alistair.francis@xilinx.com> Reviewed-by: Sören Brinkmann <soren.brinkmann@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Michal Simek [Tue, 16 Feb 2016 08:53:36 +0000 (09:53 +0100)]
ARM64: zynqmp: Use only earlycon bootargs instead of full one
OF_EARLYCON_DECLARE support in uart driver read information about
console and setup via stdout-path that's why addresses and setting
doesn't need to be specified.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
24c08 contains four 256B blocks which are addresses by last two bits.
Linux at24 driver automatically detects number of addresses based on
this algorithm.
for 24c08 it is 4 addresses where driver create one regular device
and 3 dummy devices.
These dummy devices were causing problem when kernel tries to create
another eeprom device on already allocated addresses which were
in collision with dummy devices.
Michal Simek [Fri, 1 Apr 2016 09:02:26 +0000 (11:02 +0200)]
ARM64: zynqmp: Do not setup default value for DWC3
Setting up default value is causing dev_WARN_ONCE which end up with
error in bootlog. Remove default setting from DTS to remove this
warning.
Error log:
[ 4.254668] dwc3 fe200000.dwc3: request value same as default,
ignoring
[ 4.261236] ------------[ cut here ]------------
[ 4.265799] WARNING: at drivers/usb/dwc3/core.c:178
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
This patch adds ddrc memory controller node in dts.
size mentioned in dts is 0x30000, because we need to access DDR_QOS
INTR registers located at fd090208 from this driver.
Signed-off-by: Naga Sureshkumar Relli <nagasure@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Michal Simek [Wed, 16 Mar 2016 16:20:21 +0000 (17:20 +0100)]
ARM64: zynqmp: Read address and size cells from parent
Based on these two rules:
* #address-cells and #size-cells describe the format of addresses
for children of this node, not this node itself. So if you're
looking to parse 'reg' for this node, you *always* need to look at
the parent, not just as a fallback.
* #address-cells and #size-cells are *not* inherited. If they're
missing in a node, then the format for its children's addresses is
2 cell addresses and 2 cell sizes, it is *not* correct to look at
the next parent up for these properties.
fdt_get_reg has to find parent node and read address and size cells from
parent node not from actual node.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Wendy Liang [Fri, 18 Mar 2016 00:15:15 +0000 (17:15 -0700)]
ARM64: zynqmp: Change the netboot load address
The netboot address to load the FIT image needs to be higher than
the address where the kernel is loaded.
For ZynqMP, kernel is loaded to 0x80000, the netboot
address for the image.ub which is supposed to be
the FIT image needs to be higher. Set it to 10000000.
Signed-off-by: Wendy Liang <jliang@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Soren Brinkmann [Fri, 11 Mar 2016 01:21:51 +0000 (17:21 -0800)]
zynqmp: Switch to 3-component net-boot
For JTAG boot, load Image, DT and ramdisk through tftp and boot.
Also, adjust the image layout in memory a bit to avoid them overlapping:
The old/current layout is:
0x80000 - Image
0x7000000 - DT
And no space for a rootfs.
With this change the layout becomes:
0x80000 - Image
0x4000000 - DT
0x6000000 - rootfs
That provides more than enough space for the kernel without changing the
kernel address everywhere.
Enough room for the DT, which is rather tiny.
And puts the rootfs at the top allowing it to grow.
This seems to be the least intrusive way as it just changes one
variable that is commonly used (fdt_addr), while the addresses
for other components are often repeated and even differ between
boot modes.
Signed-off-by: Soren Brinkmann <soren.brinkmann@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Michal Simek [Wed, 24 Feb 2016 07:45:21 +0000 (08:45 +0100)]
usb: gadget: f_thor: Fix request buffer freeing
This patch fixes origin patch:
"usb: gadget: f_thor: free the allocated out request buffer"
(sha1: f63465733427b7bfbd0fe9c6d8ba3fb90189ad69)
by removing out_req_buf reference and using dev->out_req->buf
directly.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Since commit
"net: xilinx_axi: Clear Isolate bit if found set suring phy"
(sha1: 39579875c) u-boot fails to build as the temp variable is
never declared. This patch declares the variable in the setup_phy()
function.
Signed-off-by: Alistair Francis <alistair.francis@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Restrict max read length to 16MiB for a single
read command. The max read length would be 32MiB
incase of dual parallel.
This is workaround for read failures if read length
is greater than 16MiB in single and 32MiB in dual
parallel connection.
Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Alistair Francis [Mon, 29 Feb 2016 22:11:13 +0000 (14:11 -0800)]
net: xilinx_axi: Declare missing variable
Since commit
"net: xilinx_axi: Clear Isolate bit if found set suring phy"
(sha1: 39579875c) u-boot fails to build as the ret variable is
never declared. This patch declares the variable in the setup_phy()
function.
Signed-off-by: Alistair Francis <alistair.francis@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Disable internal clock by clearing the internal
clock enable bit. This bit needs to be cleared too
when we stop the SDCLK for changing the frequency
divisor. This bit should be set to zero when the
device is not using the Host controller.
Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Michal Simek [Mon, 22 Feb 2016 09:22:31 +0000 (10:22 +0100)]
ARM64: zynqmp: Clear temporary place for storing DDR sizes
tmp is placed in BSS section but BSS section is initialized after
relocation but DDR layout needs to be known before relocation that's
why clear temporary place for DDR sizes.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Michal Simek [Tue, 16 Feb 2016 08:56:01 +0000 (09:56 +0100)]
ARM64: zynqmp: Remove earlyconX helper variables
There is no need to specify earlycon for certain because only earlycon
can be add to bootargs. Linux kernel read information about console from
stdout-path property.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Michal Simek [Tue, 16 Feb 2016 15:05:23 +0000 (16:05 +0100)]
dm: ns16550: Add support for reg-offset property
reg-offset is the part of standard 8250 binding in the kernel.
It is shifting start of address space by reg-offset.
On Xilinx platform this offset is typically 0x1000.
Signed-off-by: Michal Simek <michal.simek@xilinx.com> Tested-by: Sai Pavan Boddu <saipava@xilinx.com> Acked-by: Alistair Francis <alistair.francis@xilinx.com> Tested-by: Alistair Francis <alistair.francis@xilinx.com>
This commit adds functions issuing calls to secure monitor or
hypervisore. This allows using services such as Power State
Coordination Interface (PSCI) provided by firmware, e.g. ARM
Trusted Firmware (ATF)
The SMC call can destroy all registers declared temporary by the
calling conventions. The clobber list is "x0..x17" because of
this
Soren Brinkmann [Mon, 11 Jan 2016 23:34:42 +0000 (15:34 -0800)]
ARM64: zynqmp: DT: Add power domains
Add power-domains to the DT and attach devices to them.
The power-domains are all logical domains as understood by firmware.
Each PD is identified by a unique identifier that the platform firmware
understands.
Signed-off-by: Soren Brinkmann <soren.brinkmann@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Michal Simek [Fri, 27 Nov 2015 12:22:58 +0000 (13:22 +0100)]
ARM64: zynqmp: Add backward compatible string for uart
Mainline kernel has no r1p12 compatible string that's why console stops
to work with the latest DTS files. Append generic compatible string.
Keep in your mind that using this generic compatible string not all uart
features will be available.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Soren Brinkmann [Mon, 11 Jan 2016 23:34:42 +0000 (15:34 -0800)]
ARM64: zynqmp: DT: Add power domains
Add power-domains to the DT and attach devices to them.
The power-domains are all logical domains as understood by firmware.
Each PD is identified by a unique identifier that the platform firmware
understands.
Signed-off-by: Soren Brinkmann <soren.brinkmann@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Michal Simek [Thu, 4 Feb 2016 12:56:23 +0000 (13:56 +0100)]
ARM64: zynqmp: Add missing compatible property for si5328
Missing compatible string It is causing error in bootlog
i2c i2c-10: of_i2c: modalias failure on
/amba/i2c@ff030000/i2cswitch@74/i2c@4/clock-generator4@69
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
P L Sai Krishna [Thu, 7 Jan 2016 09:27:28 +0000 (14:57 +0530)]
ARM64: zynqmp: Add no-1-8-v property to SD node.
There is no support to switch to 1.8V and use
UHS mode on 1.0 silicon. Hence, this patch add
no-1-8-v property to SD node to denotes 1.8v card
voltage is not supported on this system, even if
the controller claims it is.
Signed-off-by: P L Sai Krishna <lakshmis@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>