Andreas Färber [Wed, 13 Apr 2016 12:04:38 +0000 (14:04 +0200)]
efi_loader: Handle memory overflows
jetson-tk1 has 2 GB of RAM at 0x80000000, causing gd->ram_top to be zero.
Handle this by either avoiding ram_top or by using the same type as
ram_top to reverse the overflow effect.
Cc: Alexander Graf <agraf@suse.de>
Signed-off-by: Andreas Färber <afaerber@suse.de>
Reviewed-by: Alexander Graf <agraf@suse.de>
Lokesh Vutla [Wed, 13 Apr 2016 04:27:04 +0000 (09:57 +0530)]
ARM: AM43xx: Fix BOOT_DEVICE_USB ID
commit
62c5674ea136a ("omap: SPL boot devices cleanup and completion")
cleans up the boot device ids for amx3xx soc. But mistakenly updates wrong
device IDs for AM43xx USB. Fixing the same here.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Lokesh Vutla [Wed, 13 Apr 2016 04:21:00 +0000 (09:51 +0530)]
configs: ks2: move CMD_NAND to defconfigs
NAND is not yet enabled on all Keystone2 platforms. So enabled
CMD_NAND in the respective defconfigs only if available.
Reported-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Lokesh Vutla [Wed, 13 Apr 2016 04:20:59 +0000 (09:50 +0530)]
memory: Move TI_AEMIF config to KCONFIG
Not all Keystone2 devices has AEMIF NAND controller. So adding Kconfig
entry for CONFIG_TI_AEMIF and enabling it in respective defconfigs on
platforms with AEMIF controller.
Reported-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Tom Rini [Tue, 12 Apr 2016 19:11:24 +0000 (15:11 -0400)]
drivers/power/pmic/pm8916.c: Make usid be uint32_t
If get_dev_addr fails it will return FDT_ADDR_T_NONE and:
>>> "priv->usid == 4294967295U" is always false regardless of the values of its operands. This occurs as the logical operand of if.
Cc: Mateusz Kulikowski <mateusz.kulikowski@gmail.com>
Reported-by: Coverity (CID: 143914)
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Tue, 12 Apr 2016 19:11:23 +0000 (15:11 -0400)]
drivers/gpio/pm8916_gpio.c: Make pid be uint32_t
If get_dev_addr fails it will return FDT_ADDR_T_NONE and:
>>> "priv->pid == 4294967295U" is always false regardless of the values of its operands. This occurs as the logical operand of if.
Cc: Mateusz Kulikowski <mateusz.kulikowski@gmail.com>
Reported-by: Coverity (CID: 143913)
Signed-off-by: Tom Rini <trini@konsulko.com>
angelo@sysam.it [Mon, 11 Apr 2016 22:30:59 +0000 (00:30 +0200)]
m68k: fix broken buildman m68k
fix 19/48 broken board compilations, due to a now too smal 16-bit
relative jump
Signed-off-by: Angelo Dureghello <angelo@sysam.it>
Acked-by: Marek Vasut <marex@denx.de>
Acked-by: Heiko Schocher <hs@denx.de>
Eric Nelson [Mon, 11 Apr 2016 22:21:37 +0000 (15:21 -0700)]
gunzip.c: use block layer for writes
Call blk_dwrite to ensure that the block cache is notified
if enabled and remove build breakage when CONFIG_BLK is enabled.
Signed-off-by: Eric Nelson <eric@nelint.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
Alexander Graf [Mon, 11 Apr 2016 21:51:02 +0000 (23:51 +0200)]
efi_loader: Expose ascending efi memory map
The EFI memory map does not need to be in a strict order, but 32bit
grub2 does expect it to be ascending. If it's not, it may try to
allocate memory inside the U-Boot data memory region.
We already sort the memory map in descending order, so let's just
reverse it when we pass it to a payload.
Signed-off-by: Alexander Graf <agraf@suse.de>
Tested-by: Andreas Färber <afaerber@suse.de>
Alexander Graf [Mon, 11 Apr 2016 21:51:01 +0000 (23:51 +0200)]
efi_loader: Put fdt into convenient location
The uEFI spec doesn't dictate where the device tree should live at, but
legacy 32bit ARM grub2 has some assumptions that it may stay at its place
when it's already loaded by the firmware.
So let's put it somewhere where Linux that comes after would happily find
it - around the recommended 128MB line.
Signed-off-by: Alexander Graf <agraf@suse.de>
Tested-by: Andreas Färber <afaerber@suse.de>
Alexander Graf [Mon, 11 Apr 2016 21:20:39 +0000 (23:20 +0200)]
efi_loader: Always flush in cache line size granularity
The cache line flush helpers only work properly when they get aligned
start and end addresses. Round our flush range to cache line size. It's
safe because we're guaranteed to flush within a single page which has the
same cache attributes.
Reported-by: Marek Vasut <marex@denx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
Reviewed-by: Andreas Färber <afaerber@suse.de>
Tested-by: Andreas Färber <afaerber@suse.de>
Mateusz Kulikowski [Mon, 11 Apr 2016 20:45:46 +0000 (22:45 +0200)]
dragonboard410c: Add CONFIG_SYS_CACHELINE_SIZE
Add missing define to board header file.
Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com>
Acked-by: Marek Vasut <marex@denx.de>
Reviewed-by: Andreas Färber <afaerber@suse.de>
Alexander Graf [Mon, 11 Apr 2016 14:55:26 +0000 (16:55 +0200)]
efi_loader: Use system fdt as fallback
When the user did not pass any device tree or the boot script
didn't find any, let's use the system device tree as last resort
to get something the payload (Linux) may understand.
This means that on systems that use the same device tree for U-Boot
and Linux we can just share it and there's no need to manually provide
a device tree in the target image.
While at it, also copy and pad the device tree by 64kb to give us
space for modifications.
Signed-off-by: Alexander Graf <agraf@suse.de>
Tested-by: Andreas Färber <afaerber@suse.de>
Alexander Graf [Mon, 11 Apr 2016 14:16:21 +0000 (16:16 +0200)]
distro: Enable iso partition code
Now that we can properly boot EFI payloads from iso el torito
images, let's enable support for isos by default in the distro
header.
Signed-off-by: Alexander Graf <agraf@suse.de>
Alexander Graf [Mon, 11 Apr 2016 14:16:20 +0000 (16:16 +0200)]
efi_loader: Increase path string to 32 characters
Whenever we want to tell our payload about a path, we limit ourselves
to a reasonable amount of characters. So far we only passed in device
names - exceeding 16 chars was unlikely there.
However by now we also pass real file path information, so let's increase
the limit to 32 characters. That way common paths like "boot/efi/bootaa64.efi"
fit just fine.
Signed-off-by: Alexander Graf <agraf@suse.de>
Alexander Graf [Mon, 11 Apr 2016 14:16:19 +0000 (16:16 +0200)]
efi_loader: Pass file path to payload
The payload gets information on where it got loaded from. This includes
the device as well as file path.
So far we've treated both as the same thing and always gave it the device
name. However, in some situations grub2 actually wants to find its loading
path to find its configuration file.
So let's split the two semantically separte bits into separate structs and
pass the loaded file name into our payload when we load it using "load".
Signed-off-by: Alexander Graf <agraf@suse.de>
Alexander Graf [Mon, 11 Apr 2016 14:16:18 +0000 (16:16 +0200)]
efi_loader: Add el torito support
When loading an el torito image, uEFI exposes said image as a raw
block device to the payload.
Let's do the same by creating new block devices with added offsets for
the respective el torito partitions.
Signed-off-by: Alexander Graf <agraf@suse.de>
Alexander Graf [Mon, 11 Apr 2016 14:16:17 +0000 (16:16 +0200)]
efi_loader: Split drive add into function
The snippet of code to add a drive to our drive list needs to
get called from 2 places in the future. Split it into a separate
function.
Signed-off-by: Alexander Graf <agraf@suse.de>
Alexander Graf [Mon, 11 Apr 2016 14:16:16 +0000 (16:16 +0200)]
iso: Allow 512 byte sector size
Real CD-ROMs are pretty obsolete these days. Usually people still keep
iso files around, but just put them on USB sticks or SD cards and expect
them to "just work".
To support this use case with El Torito images, add support for 512 byte
sector size to the iso parsing code.
Signed-off-by: Alexander Graf <agraf@suse.de>
Alexander Graf [Mon, 11 Apr 2016 14:16:15 +0000 (16:16 +0200)]
iso: Start with partition 1
The generic partition code treats partition 0 as "whole disk". So
we should start with partition 1 as the first partition in the iso
partition table.
Signed-off-by: Alexander Graf <agraf@suse.de>
Alexander Graf [Mon, 11 Apr 2016 14:16:14 +0000 (16:16 +0200)]
iso: Make little endian and 64bit safe
The iso partition table implementation has a few endian and 64bit
problems. Clean it up a bit to become endian and bitness safe.
Signed-off-by: Alexander Graf <agraf@suse.de>
Steve Kipisz [Fri, 8 Apr 2016 22:01:29 +0000 (17:01 -0500)]
board: ti: am57xx: Add support for am572x idk in SPL
The AM572x-IDK board (Industrial Dev Kit) is a board based on TI's AM5728x
SOC which has a dual core 1.5GHz A15 processor. This board is a development
platform for the Industrial market with:
- 2GB of DDR3L
- Dual 1Gbps Ethernet
- HDMI,
- PRU-ICSS
- uSD
- 16GB eMMC
- CAN
- RS-485
- PCIe
- USB3.0
- Video Input Port
- Industrial IO port and expansion connector
The link to the data sheet and TRM can be found here:
http://www.ti.com/product/AM5728
NOTE: DT support is still pending upstream kernel acceptance but we
should be able to get the base system support with this patch.
Signed-off-by: Schuyler Patton <spatton@ti.com>
Signed-off-by: Steve Kipisz <s-kipisz2@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Schuyler Patton [Fri, 8 Apr 2016 21:53:44 +0000 (16:53 -0500)]
board: ti: am57xx: Update EMIF SDRAM 1 and 3 Timings
Update EMIF data based on recommendations from the now standard TI
EMIF tool version 1.1.1 based on 256MBx16 DDR3L Kingston D2516EC4BXGGB
data sheet
Update T_RRD from 5 to 6 based on AM57xx TRM -
Minimum number of DDR cycles from activate to ativate for a different
bank, minus 1.
Update T_CKESR from 4 to 3 based on AM57xx TRM - Minimum number of DDR
clocks cycles for which SDRAM must remain in self refresh, minus 1.
Signed-off-by: Schuyler Patton <spatton@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Daniel Allred [Thu, 7 Apr 2016 02:59:34 +0000 (21:59 -0500)]
am57x: Move CONS_INDEX to Kconfig
- Move the CONS_INDEX selection out of CONFIG_SYS_EXTRA_OPTIONS and
into Kconfig proper.
- Edit the relevant am57x configs to remove the now unneeded
CONFIG_SYS_EXTRA_OPTIONS.
Signed-off-by: Daniel Allred <d-allred@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Michal Simek [Wed, 6 Apr 2016 18:28:04 +0000 (20:28 +0200)]
cmd: fdt: Use separate CMD_FDT Kconfig entry instead of OF_LIBFDT
Create CMD_FDT Kconfig entry to have an option to disable fdt command
which is not required for small configuration which requires libfdt
only.
Enable it by default for all targets which enables OF_LIBFDT.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
[trini: Fixup flea3/sandbox/id8313/siemens-am33xx/smartweb]
Signed-off-by: Tom Rini <trini@konsulko.com>
Michal Simek [Wed, 6 Apr 2016 18:28:03 +0000 (20:28 +0200)]
kconfig: Move CONFIG_OF_LIBFDT to Kconfig
This patch follows work done by:
"Move CONFIG_OF_LIBFDT to Kconfig"
(sha1:
69e173eb57d1f4848f070c83456096ba5d2ba1b4)
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
[trini: Add xpress* to the patch]
Signed-off-by: Tom Rini <trini@konsulko.com>
Steve Rae [Mon, 4 Apr 2016 19:59:45 +0000 (12:59 -0700)]
bcm281xx: save ENV to MMC
Enable saving ENV to MMC for the bcm281xx boards.
Signed-off-by: Steve Rae <srae@broadcom.com>
Steve Rae [Mon, 4 Apr 2016 19:59:44 +0000 (12:59 -0700)]
bcm281xx: enable CONFIG_OF_LIBFDT
set the Kconfig parameter: CONFIG_OF_LIBFDT
Signed-off-by: Steve Rae <srae@broadcom.com>
Mugunthan V N [Mon, 4 Apr 2016 11:58:05 +0000 (17:28 +0530)]
configs: dra74_evm: enable mmc driver model
enable mmc driver model for dra74 evm as omap_hsmmc
supports driver model
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Mugunthan V N [Mon, 4 Apr 2016 11:58:04 +0000 (17:28 +0530)]
configs: dra72_evm: enable mmc driver model
enable mmc driver model for dra72 evm as omap_hsmmc
supports driver model
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Mugunthan V N [Mon, 4 Apr 2016 11:58:03 +0000 (17:28 +0530)]
ARM: dts: dra7xx: am57xx: fix cd-gpios definition as per hardware design and dt binding docs
As per mmc device tree binding documentation card detect gpio has
to be active low signal. When a hardware is designed with active
high card detect, gpio polarity has to be changed with
cd-inverted dt property.
In DRA72x and AM57xx EVMs the card detect gpio is designed as
active low gpio. So correcting the dt card detect gpio
definition.
Also adding card-detect gpio for DRA74x EVM.
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Mugunthan V N [Mon, 4 Apr 2016 11:58:02 +0000 (17:28 +0530)]
ARM: dts: am43xx: fix cd-gpios definition as per hardware design and dt binding docs
As per mmc device tree binding documentation card detect gpio has
to be active low signal. When a hardware is designed with active
high card detect, gpio polarity has to be changed with
cd-inverted dt property.
In AM43xx the card detect gpio is designed as active low gpio.
So correcting the dt card detect gpio definition.
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Mugunthan V N [Mon, 4 Apr 2016 11:58:01 +0000 (17:28 +0530)]
drivers: mmc: omap_hsmmc: request cd and wp gpios when DM_MMC is defined
Add request gpio for CD and WP gpios, so that the gpio can be
used for the respective purposes.
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Mugunthan V N [Mon, 4 Apr 2016 09:52:49 +0000 (15:22 +0530)]
drivers: mmc: omap_hsmmc: Fix conversion of address to a pointer
omap_hsmmc driver directly typecasts fdt_addr_t to a pointer.
This is not strictly correct, as it gives a build warning when
fdt_addr_t is u64. So, use map_physmem for a proper typecasts.
This is inspired by commit
167efe01bc5a9 ("dm: ns16550: Use an address
instead of a pointer for the uart base")
drivers/mmc/omap_hsmmc.c: In function ‘omap_hsmmc_ofdata_to_platdata’:
drivers/mmc/omap_hsmmc.c:776:20: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
priv->base_addr = (struct hsmmc *)dev_get_addr(dev);
^
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Peng Fan [Sun, 3 Apr 2016 13:52:13 +0000 (21:52 +0800)]
common: env: support sata device
Introduce env support for sata device.
1. Implement write_env/read_env/env_relocate_spec/saveenv/sata_get_env_dev
2. If want to enable this feature, define CONFIG_ENV_IS_IN_SATA, and
define CONFIG_SYS_SATA_ENV_DEV or implement your own sata_get_ev_dev.
Signed-off-by: Peng Fan <van.freenix@gmail.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Joe Hershberger <joe.hershberger@ni.com>
Cc: Bin Meng <bmeng.cn@gmail.com>
Cc: Stefan Roese <sr@denx.de>
Cc: Heiko Schocher <hs@denx.de>
Cc: Stuart Longland <stuartl@vrt.com.au>
Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
Cc: Tom Rini <trini@konsulko.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Stephen Warren [Sat, 16 Apr 2016 02:42:59 +0000 (20:42 -0600)]
ARM: rpi: fix 64-bit CONFIG_SYS_TEXT_BASE
The Pi firmware has changed the default "kernel" load address for 64-bit
mode. The authors have confirmed that this is a deliberate and long-term
change. Adapt U-Boot to the new value.
Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
Tom Rini [Tue, 12 Apr 2016 19:11:22 +0000 (15:11 -0400)]
drivers/tpm/tpm_tis_sandbox.c: Fix uninitialized variable use
In rollback_space_kernel we were not initializing the reserved fields
which should be for safety sake, and doing memset here means we don't
need to set the version field specifically either.
Reported-by: Coverity (CID: 143917)
Cc: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
Stephen Warren [Wed, 6 Apr 2016 18:49:19 +0000 (12:49 -0600)]
fdt: implement dev_get_addr_name()
This function parses the reg property based on an index found in the
reg-names property. This is required for bindings that are written
using reg-names rather than hard-coding indices in reg.
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Simon Glass <sjg@chromium.org>
Tom Rini [Tue, 15 Mar 2016 17:20:23 +0000 (13:20 -0400)]
sandbox: Enable many more commands
- Set CONFIG_SYS_CACHELINE_SIZE to ARCH_DMA_MINALIGN as that should be
good enough.
- Make <asm/io.h> include <asm/types.h> like other arches do
- Enable many many more drivers in sandbox_defconfig so that we can get
more build-time testing on this platform.
Cc: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tom Rini [Sun, 20 Mar 2016 14:10:28 +0000 (10:10 -0400)]
test/dm/core.c: Make pre-reloc test use pre-reloc struct
LLVM 3.5 noted:
test/dm/core.c:41:35: warning: unused variable 'test_pdata_pre_reloc' [-Wunused-const-variable]
static const struct dm_test_pdata test_pdata_pre_reloc = {
And the correct fix here is that the driver_info_pre_reloc test should
use the test_pdata_pre_reloc not test_pdata_manual variable
Cc: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Jagan Teki [Thu, 17 Mar 2016 06:53:19 +0000 (12:23 +0530)]
board: README.sandbox: Update dm test command
Update dm test command with pytest instead of ./test/dm/test-dm.sh
Cc: Tom Rini <trini@konsulko.com>
Cc: Simon Glass <sjg@chromium.org>
Acked-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Jagan Teki <jteki@openedev.com>
Jagan Teki [Thu, 17 Mar 2016 06:53:18 +0000 (12:23 +0530)]
doc: driver-model: Update dm tests run using test.py
Since all the tests are implemented in pytest infrastructure,
So update the dm tests with the same instead of ./test/dm/test-dm.sh
Cc: Tom Rini <trini@konsulko.com>
Cc: Simon Glass <sjg@chromium.org>
Acked-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Jagan Teki <jteki@openedev.com>
Stefan Roese [Wed, 16 Mar 2016 08:58:01 +0000 (09:58 +0100)]
dm: device.c: Minor coding-style fix
Fix multi-line comment indentation in device_bind()
Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Nishanth Menon [Tue, 15 Mar 2016 21:15:32 +0000 (16:15 -0500)]
dm: part: fix missing driver name in debug print
Fixes the following warning with PART_DEBUG enabled:
disk/part.c: In function ‘get_partition_info’:
disk/part.c:372:3: warning: format ‘%s’ expects a matching ‘char *’ argument [-Wformat]
Signed-off-by: Nishanth Menon <nm@ti.com>
Peng Fan [Sat, 12 Mar 2016 05:17:38 +0000 (13:17 +0800)]
dm: core: device: set pinctrl state for pinctrl device
We may have pinmux settings for pinctrl device, like the following
example:
"
&iomuxc {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_hog_1>;
imx6ul-evk {
pinctrl_hog_1: hoggrp-1 {
fsl,pins = <
MX6UL_PAD_UART1_RTS_B__GPIO1_IO19 0x17059 /* SD1 CD */
MX6UL_PAD_GPIO1_IO05__USDHC1_VSELECT 0x17059 /* SD1 VSELECT */
MX6UL_PAD_GPIO1_IO09__GPIO1_IO09 0x17059 /* SD1 RESET */
MX6UL_PAD_SNVS_TAMPER0__GPIO5_IO00 0x80000000
>;
};
[......]
};
"
We should not only select pinctrl state for non pinctrl devices, we
need also to handle pin mux settings such as pinctrl_log for pinctrl
devices.
So at the end of probing process of pinctrl device, select the default
state of pinctrl device.
Signed-off-by: Peng Fan <van.freenix@gmail.com>
Cc: Simon Glass <sjg@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Tom Rini [Wed, 13 Apr 2016 19:45:50 +0000 (15:45 -0400)]
xpress: Update <usb/ehci-fsl.h> include
This has been renamed to <usb/ehci-ci.h> some time ago but was missed
here.
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Wed, 13 Apr 2016 16:53:11 +0000 (12:53 -0400)]
Merge branch 'master' of git://denx.de/git/u-boot-microblaze
Michal Simek [Wed, 13 Apr 2016 06:49:03 +0000 (08:49 +0200)]
ARM64: zynqmp: Use i2c cadence DM driver
Use i2c cadence DM driver for all zynqmp targets except ZCU102
because I2C muxes and PCA953x are not supported in the tree yet.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
Moritz Fischer [Mon, 28 Dec 2015 17:47:11 +0000 (09:47 -0800)]
dm: i2c: Add driver for Cadence I2C IP
This is a possible drop in replacement for drivers/i2c/zynq-i2c.c
Since this is cadence IP it has been renamed to cdns-i2c,
to make sense with the compatible string.
Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Moritz Fischer [Mon, 28 Dec 2015 17:47:10 +0000 (09:47 -0800)]
i2c: Describe Cadence I2C devicetree bindings
Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Michal Simek [Mon, 11 Apr 2016 11:48:32 +0000 (13:48 +0200)]
ARM64: zynqmp: Enable pca953x driver for zcu102
zcu102 has two pca953x on i2c bus 0. Chips 0x20 and 0x21.
Enable option to work with these two chips.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Michal Simek [Mon, 11 Apr 2016 11:51:26 +0000 (13:51 +0200)]
GPIO: pca953x: Remove compilation warnings on arm64
Warnings:
w+../drivers/gpio/pca953x.c: In function ‘do_pca953x’:
w+../drivers/gpio/pca953x.c:220:5: warning: cast from pointer to integer
of different size [-Wpointer-to-int-cast]
w+../drivers/gpio/pca953x.c:233:10: warning: cast from pointer to
integer of different size [-Wpointer-to-int-cast]
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Michal Simek [Mon, 11 Apr 2016 09:33:26 +0000 (11:33 +0200)]
ARM64: zynqmp: Enable CMD_GPIO and DM_GPIO for ep108
Enable missing GPIO options.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Siva Durga Prasad Paladugu [Thu, 10 Mar 2016 10:57:44 +0000 (16:27 +0530)]
zynqmp: Kconfig: Enable ZYNQ_GPIO for ZynqMP
Enable ZYNQ_GPIO for ZynqMP using Kconfig. It enables the GPIO
driver support for ZynqMP.
Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Siva Durga Prasad Paladugu [Thu, 10 Mar 2016 10:57:43 +0000 (16:27 +0530)]
gpio: zynqmp: Add GPIO driver support for ZynqMP
Add GPIO driver support for ZynqMP platform
Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Siva Durga Prasad Paladugu [Thu, 10 Mar 2016 10:57:42 +0000 (16:27 +0530)]
gpio: zynq: Move the definitions to driver file
Move all the gpio definitions to driver file as
there is no use of them in other files.
Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Siva Durga Prasad Paladugu [Thu, 10 Mar 2016 10:57:40 +0000 (16:27 +0530)]
gpio: zynq: Remove non driver model code
Remove non driver model support as it moved
to driver model. Dont need non driver model
anymore.
Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Siva Durga Prasad Paladugu [Thu, 10 Mar 2016 10:57:39 +0000 (16:27 +0530)]
gpio: Kconfig: Enable Zynq GPIO driver using kconfig
Enable DM GPIO and ZYNQ GPIO using kconfig instead of the board
config file.
Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Siva Durga Prasad Paladugu [Thu, 10 Mar 2016 10:57:38 +0000 (16:27 +0530)]
gpio: zynq: Convert Zynq GPIO to driver model
Convert Zynq GPIO driver to driver model
Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Michal Simek [Thu, 7 Apr 2016 14:25:35 +0000 (16:25 +0200)]
ARM64: zynqmp: Clean header after moving stuff to Kconfig
Moving stuff to Kconfig by script is keep some empty lines
or comment in the file. Remove them.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Michal Simek [Thu, 7 Apr 2016 14:00:11 +0000 (16:00 +0200)]
ARM64: zynqmp: Add support for zc1751 with DC cards
Support ZynqMP zc1751 with DC cards.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Michal Simek [Mon, 11 Apr 2016 06:07:07 +0000 (08:07 +0200)]
ARM64: zynqmp: Add defconfig for zcu102 revB board
Support natively revB board. Till now support for revB was done via
zcu102 defconfig where device-tree was changed to revB.
This patch is adding direct defconfig for RevB.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Michal Simek [Thu, 7 Apr 2016 13:58:23 +0000 (15:58 +0200)]
ARM64: zynqmp: Add support for ZCU102 platform
Add new board support.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Michal Simek [Mon, 11 Apr 2016 09:44:40 +0000 (11:44 +0200)]
ARM64: zynqmp: Remove netdev.h from board file
Including netdev.h is causing compilation warning:
+ int fecmxc_register_mii_postcall(struct eth_device *dev, int
(*cb)(int));
+ ^
w+In file included from ../board/xilinx/zynqmp/zynqmp.c:9:0:
w+../include/netdev.h:204:41: warning: ‘struct eth_device’ declared
inside parameter list [enabled by default]
w+../include/netdev.h:204:41: warning: its scope is only this definition
or declaration, which is probably not what you want [enabled by default]
This patch removes it.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Michal Simek [Fri, 1 Apr 2016 13:55:47 +0000 (15:55 +0200)]
ARM64: zynqmp: Make DDR detection code work on 32bit system
Define u64 types to be usable on 32bit system because of 64bit address
and size cells and 32bit shifts in the code.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Michal Simek [Mon, 22 Feb 2016 09:01:27 +0000 (10:01 +0100)]
ARM64: zynqmp: Extend early malloc space to be able to run DM drivers
DM drivers need more malloc space for early DM models allocation.
Use 4k instead of 1k.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Michal Simek [Mon, 4 Apr 2016 13:32:20 +0000 (15:32 +0200)]
ARM64: zynqmp: Do not setup DM_ETH/GPIO/MMC by default for all boards
There are mini configurations which need to be fit to OCM that's why
these options shouldn't be enabled by default.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Punnaiah Choudary Kalluri [Thu, 5 Nov 2015 16:51:14 +0000 (22:21 +0530)]
ARM64: zynqmp: Add missing nand node for ep108
Add missing nand node for ep108.
Signed-off-by: Punnaiah Choudary Kalluri <punnaia@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Anurag Kumar Vulisha [Thu, 5 Nov 2015 11:51:37 +0000 (17:21 +0530)]
ARM64: zynqmp: Added OOB timing settings in zynqmp-ep108.dts
This patch adds the sata port phy OOB timing values in the sata
device-tree node.
Signed-off-by: Anurag Kumar Vulisha <anuragku@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Michal Simek [Thu, 7 Apr 2016 13:07:38 +0000 (15:07 +0200)]
ARM64: zynqmp: Use 64bit size cell format for memory node
Enable option to support more then 4GB memories in single size block.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Michal Simek [Thu, 7 Apr 2016 13:06:07 +0000 (15:06 +0200)]
ARM64: zynqmp: Fix DWC3 binding with the kernel
Use the same binding as is used in mainline Linux kernel.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Michal Simek [Wed, 27 Jan 2016 18:02:37 +0000 (19:02 +0100)]
ARM64: zynqmp: Add serdes address space dp driver
For run time serdes adjustment.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Michal Simek [Thu, 7 Apr 2016 13:01:33 +0000 (15:01 +0200)]
ARM64: zynqmp: Align register description
Separate register space and put it on more lines.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Hyun Kwon [Tue, 24 Nov 2015 01:12:55 +0000 (17:12 -0800)]
ARM64: zynqmp: dp: Add default properties to zynqmp.dtsi
Add some default properties to zynqmp.dtsi.
Signed-off-by: Hyun Kwon <hyun.kwon@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Hyun Kwon [Tue, 24 Nov 2015 01:12:54 +0000 (17:12 -0800)]
ARM64: zynqmp: Use correct addresses in node names
Reflect actual silicon addresses in DT node names.
Signed-off-by: Hyun Kwon <hyun.kwon@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Michal Simek [Wed, 27 Jan 2016 18:04:56 +0000 (19:04 +0100)]
ARM64: zynqmp: Align node address with parent node for dpdma
Use right addresses for channel names
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>
Michal Simek [Wed, 20 Jan 2016 11:59:23 +0000 (12:59 +0100)]
ARM64: zynqmp: Fix coding style for pcie
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Bharat Kumar Gogada [Mon, 15 Feb 2016 15:48:58 +0000 (21:18 +0530)]
ARM64: zynqmp: Extend pcie node to support legacy interrupts
Modifying device tree node to support legacy interrupts.
Signed-off-by: Bharat Kumar Gogada <bharatku@xilinx.com>
Signed-off-by: Ravi Kiran Gummaluri <rgummal@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Michal Simek [Mon, 23 Nov 2015 12:26:15 +0000 (13:26 +0100)]
ARM64: zynqmp: Add interrupt-controller property to gpio nodes
GPIO driver supports an input interrupt that's why gpio node itself can
be labeled as interrupt controller.
Reported-by: John Linn <linnj@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Naga Sureshkumar Relli [Fri, 11 Mar 2016 07:40:26 +0000 (13:10 +0530)]
ARM64: zynqmp: Add ddrc node in dts
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>
VNSL Durga [Thu, 24 Mar 2016 17:15:12 +0000 (22:45 +0530)]
ARM64: zynqmp: Added clocks to DT
ZynqMP DMA's main clock and apb clock are added
in zynqmp DT.
Signed-off-by: VNSL Durga <vnsldurg@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Acked-by: Punnaiah Choudary Kalluri <punnaia@xilinx.com>
Michal Simek [Thu, 26 Nov 2015 10:21:25 +0000 (11:21 +0100)]
ARM64: zynqmp: Add CCI-400 node
Add CCI-400 node to DTSI.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Michal Simek [Thu, 7 Apr 2016 13:28:33 +0000 (15:28 +0200)]
ARM64: zynqmp: Add missing interrupt-parent to PMU node
ZynqMP is not using global interrupt-parent setting that's why
it has to be listed in every node separately. PMU node missed it and
this patch is adding it.
Reported-by: John Linn <John.Linn@xilinx.com>
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>
P L Sai Krishna [Tue, 19 Jan 2016 13:31:10 +0000 (19:01 +0530)]
ARM64: zynqmp: Added broken-tuning property to SD, eMMC nodes
This patch adds broken-tuning property to SD and
eMMC nodes.
Signed-off-by: P L Sai Krishna <lakshmis@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Michal Simek [Thu, 11 Feb 2016 14:26:46 +0000 (15:26 +0100)]
ARM64: zynqmp: Sync GEM nodes with Linux
Remove jumbo properties which are handled in the driver directly
and use mainline compatible string which is already handled by the
driver.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Edgar E. Iglesias [Thu, 26 Nov 2015 13:12:20 +0000 (14:12 +0100)]
ARM64: zynqmp: Hook up the GEMs to the SMMU
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Edgar E. Iglesias [Thu, 26 Nov 2015 13:12:19 +0000 (14:12 +0100)]
ARM64: zynqmp: Correct IRQ nr for the SMMU
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
P L Sai Krishna [Thu, 7 Jan 2016 09:27:27 +0000 (14:57 +0530)]
ARM64: zynqmp: Add 8-bit bus width property.
This patch add 8-bit bus width property to eMMC node.
Signed-off-by: P L Sai Krishna <lakshmis@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Ranjit Waghmode [Wed, 2 Dec 2015 04:36:58 +0000 (10:06 +0530)]
ARM64: zynqmp: dt: Change qspi node compatible string
This patch makes compatible string as "m25p80" for qspi node in
ep108 device tree file
Signed-off-by: Ranjit Waghmode <ranjit.waghmode@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Michal Simek [Tue, 23 Feb 2016 08:30:15 +0000 (09:30 +0100)]
ARM64: zynqmp: Add missing mmc aliases
Add missing mmc aliases.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Alistair Francis [Thu, 25 Feb 2016 17:30:03 +0000 (09:30 -0800)]
ARM64: zynqmp: Use C pre-processor for includes in dts
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>
Siva Durga Prasad Paladugu [Mon, 2 Nov 2015 14:15:35 +0000 (19:45 +0530)]
ARM64: zynqmp: Move kernel and fdt offsets and sizes to board config file
Move kernel and fdt offsets and sizes to board config file
as the flash size varies across boards
Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Michal Simek [Thu, 7 Apr 2016 16:55:11 +0000 (18:55 +0200)]
ARM: zynq: Do not perform reset at the end of thor
Setup reset off for lthor.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Michal Simek [Fri, 1 Apr 2016 13:56:33 +0000 (15:56 +0200)]
ARM: zynq: Support systems with more memory banks
This is example how to change u-boot to support more memory banks read
from DT.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Michal Simek [Fri, 1 Apr 2016 14:04:14 +0000 (16:04 +0200)]
ARM: zynq: Use memory initialization based on DTS file
Remove hardcoded memory sizes. Use information from DT memory node.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Michal Simek [Thu, 7 Apr 2016 12:42:53 +0000 (14:42 +0200)]
ARM: zynq: Fix usb phy node for Zybo
Compatible property should be the first.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Michal Simek [Tue, 12 Jan 2016 07:06:36 +0000 (08:06 +0100)]
ARM: zynq: Extend microzed board support
Add missing DT nodes and enable USB.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Nathan Rossi <nathan@nathanrossi.com>
Michal Simek [Thu, 7 Apr 2016 11:08:35 +0000 (13:08 +0200)]
ARM: zynq: Add missing qspi for xm013
Add missing qspi node and make qspi as spi0.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>