summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeLines
* zynq: sdhci: Calculate minimum frequency based on max frequencySiva Durga Prasad Paladugu2015-12-07-1/+1
| | | | | | | | | Calculate the minimum sd clock based on max clock. This will be done by add_sdhci() if we pass minimum clock as zero. It also does based on SD host contoller version. Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* ARM: zynq: Remove unused SERIAL macros for serial_zynqMichal Simek2015-12-07-5/+0
| | | | | | Remove unused macros when driver was moved to DM. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* ARM: zynq: Extend malloc sizeMichal Simek2015-12-07-1/+1
| | | | | | | | | | | | | | SPL DM MMC FAT requires more malloc space(3k fat buffers + dm) that it is available now. Extend SPL malloc space. Current OCM layout: 0xffff0000 - 0xfff2000 - Full malloc space 0xffff2000 - 0xffff300 - Stack location 0xfffff300 - CONFIG_SYS_MALLOC_F_LEN - Early malloc space 0xfffffd00 - sizeof(GD) - GD 0xfffffe00 - 0xffffffff - SoC specific boot code Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* ARM: zynq: Fix location of stack and malloc areasMichal Simek2015-12-07-8/+8
| | | | | | | | | | | | | | | | | | | | The patch "board_init: Change the logic to setup malloc_base" (sha1: 9ac4fc82071ce346e3885118242ff45d22f69b82) breaks SPL for Zynq because it puts early alloc area on the stack which caused that stack was decreased by CONFIG_SYS_MALLOC_F_LEN (0x400) and there was not enough space for regular stack. This patch changes memory layout to better utilize the last 64k OCM block. 0xffff0000 - 0xfff1000 - Full malloc space 0xffff1000 - 0xffff300 - Stack location 0xfffff300 - CONFIG_SYS_MALLOC_F_LEN - Early malloc space 0xfffffd00 - sizeof(GD) - GD 0xfffffe00 - 0xffffffff - SoC specific boot code Signed-off-by: Michal Simek <michal.simek@xilinx.com> Tested-by: Moritz Fischer <moritz.fischer@ettus.com>
* ARM: zynq: Enable debug console for zc702Michal Simek2015-12-07-0/+4
| | | | Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* ARM64: zynqmp: Enable FIT config option via KconfigMichal Simek2015-12-07-3/+2
| | | | | | Remove configuration options from board file. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* net: gem: Enable CTRL+C in wait_for_bitMichal Simek2015-12-07-0/+6
| | | | | | | Enable to break waiting loop at any time. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
* net: gem: Move gem to KconfigMichal Simek2015-12-07-27/+19
| | | | | Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Jagan Teki <jteki@openedev.com>
* net: gem: Read information about interface from DTMichal Simek2015-12-07-8/+12
| | | | | | | Do not set interface via configs. Read information from DT. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Jagan Teki <jteki@openedev.com>
* net: gem: Move driver to DMMichal Simek2015-12-07-115/+112
| | | | | | | | | | | | | - Enable DM_ETH by default for Zynq and ZynqMP - Remove board_eth_init code - Change miiphy_read function to return value instead of error code based on DM requirement - Do not enable EMIO DT support by default Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Jagan Teki <jteki@openedev.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* net: gem: Fix miiphy_read nameMichal Simek2015-12-07-2/+2
| | | | | | | Sync it with write function. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Jagan Teki <jteki@openedev.com>
* net: gem: Remove zynq_gem_of_init()Michal Simek2015-12-07-43/+0
| | | | | | | | | This function was used for OF init before DM. Remove this function as the part of move to DM. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Jagan Teki <jteki@openedev.com>
* net: gem: Enable MDIO bus earlierMichal Simek2015-12-07-5/+9
| | | | | | | Enable access to MDIO before zynq_gem_init is called. It enables read information about phy earlier. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* net: gem: Check if priv->phydev is validMichal Simek2015-12-07-0/+2
| | | | | | | Check return value. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Jagan Teki <jteki@openedev.com>
* net: gem: Extract phy init codeMichal Simek2015-12-07-17/+30
| | | | | | | Move phy init code out of zynq_gem_init. DM drivers are normally calling this code from probe function. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* net: gem: Remove phydev variableMichal Simek2015-12-07-13/+10
| | | | | | | Resort code to use priv->phydev variable directly. It will simplify move to DM. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* net: gem: Change mii function not to use eth_device structureMichal Simek2015-12-07-13/+19
| | | | | | | | Next step to move driver to driver model. Do not use eth_device structure. Use private structure instead. Add iobase to private structure to store gem iobase. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* net: gem: Change mdio_wait prototype to pass regsMichal Simek2015-12-07-4/+3
| | | | | | | Pass regs instead of dev because this will be chagned by driver model. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* net: gem: Do not continue if phy is not foundMichal Simek2015-12-07-4/+10
| | | | | | | | Add return value for phy detection algorithm to stop init function when phy is not found. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Jagan Teki <jteki@openedev.com>
* ARM: zynq: Remove CONFIG_APIMichal Simek2015-12-07-1/+0
| | | | | | | | CONFIG_API is causing compilation error when DM_ETH is enabled because eth_get_dev() is not available. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Jagan Teki <jteki@openedev.com>
* ARM: zynq: Remove PHYLIB from config to defconfigMichal Simek2015-12-07-1/+10
| | | | | | | Move PHYLIB from board config to defconfig Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Jagan Teki <jteki@openedev.com>
* am33xx: Update serial pdataTom Rini2015-12-06-11/+7
| | | | | | | | We now want to make sure that we have the platform data for NS16550 when we do not have OF_CONTROL set. Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* dm: tegra: Provide serial platform data for SPLSimon Glass2015-12-05-1/+1
| | | | | | | | | | At present an incorrect #if term is preventing this data from being compiled in. All tegra boards use driver model for serial, so we can just drop this. Fixes: fde7e18938d8 ("dm: tegra: pci: Move CONFIG_PCI_TEGRA to Kconfig") Signed-off-by: Simon Glass <sjg@chromium.org> Reported-by: Stephen Warren <swarren@nvidia.com> Acked-by: Thomas Chou <thomas@wytron.com.tw>
* dm: serial: ns16550: Add pre-reloc flag to the driverSimon Glass2015-12-05-0/+1
| | | | | | | | | | | For platforms that don't use device tree in SPL the only way to mark this driver as 'required by relocation' is with the DM_FLAG_PRE_RELOC flag. Add this to ensure that the driver is bound. Fixes: fde7e18938d8 ("dm: tegra: pci: Move CONFIG_PCI_TEGRA to Kconfig") Signed-off-by: Simon Glass <sjg@chromium.org> Reported-by: Stephen Warren <swarren@nvidia.com> Acked-by: Thomas Chou <thomas@wytron.com.tw>
* tegra: Remove merge markers in some Kconfig filesSimon Glass2015-12-05-12/+0
| | | | | | | | | | | | These were added by mistake in commit fde7e189. They cause a warning when configuring the boards. Remove them. Fixes: fde7e18938d8 ("dm: tegra: pci: Move CONFIG_PCI_TEGRA to Kconfig") Signed-off-by: Simon Glass <sjg@chromium.org> Reported-by: Stephen Warren <swarren@nvidia.com> Tested-by: Stephen Warren <swarren@nvidia.com> Reported-by: Kevin Hilman <khilman@linaro.org> Acked-by: Thomas Chou <thomas@wytron.com.tw>
* rpi: add support for Raspberry Pi ZeroStephen Warren2015-12-05-0/+5
| | | | | | | For U-Boot's purposes, at present all we care about is ensuring there's a model table entry. Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
* rpi: fix revision scheme parsingStephen Warren2015-12-05-34/+53
| | | | | | | | | | The RPi has two different schemes for encoding board revision values. When adding RPi 2 support, I thought that the conflicting type field values were to be interpreted based on bcm2835-vs-bcm2836. In fact, the scheme bit determines the encoding. The RPi Zero uses the bcm2835 yet uses the new encoding scheme. Fix the code to cater for this correctly. Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
* rpi: get rid of BCM2835_BOARD_REV_* macrosStephen Warren2015-12-05-47/+23
| | | | | | | | | | | | | | There are two numbering schemes for the RPi revision values; old and new scheme. The values within each scheme overlap. Hence, it doesn't make sense to have absolute/global names for the revision IDs. Get rid of the names and just use the raw revision/type values to set up the array of per-revision data. This change makes most sense when coupled with the next change. However, it's split out so that the mechanical cut/paste is separate from the logic changes for easier review and problem bisection. Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
* mkimage : Fix generating multi and script imagesPhilippe De Swert2015-12-05-13/+18
| | | | | | | | | | | | | | | Seems 92a655c3 broke creating multi and script type images. Since the file1:file2:file3 string does not get split up, it fails on trying to open an non-existing file. mkimage -A arm -O linux -T multi -C none -d zImage:splash.bmp:device.dtb uimage tools/mkimage: Can't open zImage:splash.bmp:device.dtb: No such file or directory Since the sizes of the different parts seem to get added in the actual routine that handles multi and script type images, we can probably skip the bit of the code that causes the failure for that type of images. Signed-off-by: Philippe De Swert <philippedeswert@gmail.com>
* common: board: Dont relocate FDT incase of CONFIG_OF_EMBEDSiva Durga Prasad Paladugu2015-12-05-0/+12
| | | | | | | | | | | | | | | | Don't relocate fdt in case of CONFIG_OF EMBED as the fdt is already embedded with u-boot image. Update fdt_blob after relocation as the fdt will be copied during u-boot relocation. Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Alexey Brodkin <abrodkin@synopsys.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com> (QEMU x86) Tested-by: Thomas Chou <thomas@wytron.com.tw> (Nios2) Acked-by: Thomas Chou <thomas@wytron.com.tw> Acked-by: Simon Glass <sjg@chromium.org>
* spl: mmc: Unify non/driver model spl_mmc_find_device()Simon Glass2015-12-05-32/+9
| | | | | | | | | | | | | | | | | | | It is risky to have two different functions with much the same code. Future authors may update one but not the other. It is hard to see which parts are the same and which are different. Unify the functions and drop the differences that are not really needed. Note that one puts() becomes printf() as Tom mentioned that this does not affect image size: https://patchwork.ozlabs.org/patch/537276/ Note: It would be better to have an empty printf() and avoid the #ifdef for CONFIG_SPL_LIBCOMMON_SUPPORT. Signed-off-by: Simon Glass <sjg@chromium.org> Tested-by: Michal Simek <michal.simek@xilinx.com>
* spl: mmc: Rename 'mmc' variable to 'mmcp'Simon Glass2015-12-05-7/+7
| | | | | | | | | The 'p' suffix makes it more obvious that we are dealing with a pointer to a (pointer) value that will be returned to its caller. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Nikita Kiryanov <nikita@compulab.co.il> Tested-by: Michal Simek <michal.simek@xilinx.com>
* spl: mmc: Fix compiler warning with CONFIG_DM_MMCSimon Glass2015-12-05-1/+1
| | | | | | | | | | | | | | | | Since commit 4188ba3 we get the following warning on rockchip boards: common/spl/spl_mmc.c:31:24: warning: ‘mmc’ may be used uninitialized in this function [-Wmaybe-uninitialized] count = mmc->block_dev.block_read(0, sector, 1, header); ^ common/spl/spl_mmc.c:251:14: note: ‘mmc’ was declared here struct mmc *mmc; Correct this by move the variable init earlier. Signed-off-by: Simon Glass <sjg@chromium.org> Tested-by: Michal Simek <michal.simek@xilinx.com> Acked-by: Nikita Kiryanov <nikita@compulab.co.il>
* drivers: remoteproc: rproc-uclass: Fix check for NULL pointersNishanth Menon2015-12-05-1/+1
| | | | | | | | | | | | | | | | | Neither uc_pdata->name nor check_name are supposed to be NULL in _rproc_name_is_unique(). if uc_pdata->name is NULL, we are not intialized yet, however if check_data is NULL, we do not have proper data. Further, if either were NULL, strlen will crap out while attempting to derefence NULL. Instead, just check if either of these are NULL and bail out. This should also fix the following coverity scan warnings: *** CID 132281: Null pointer dereferences (FORWARD_NULL) /drivers/remoteproc/rproc-uclass.c: 73 in _rproc_name_is_unique() Reported-by: Tom Rini <trini@konsulko.com> Signed-off-by: Nishanth Menon <nm@ti.com>
* Change e-mail address of Kamil LulkoKamil Lulko2015-12-05-24/+24
| | | | Signed-off-by: Kamil Lulko <kamil.lulko@gmail.com>
* ns16550: change reg-shift property default to zeroThomas Chou2015-12-05-1/+1
| | | | | | | | | | | | | | Change reg-shift property default to zero. When the integer property is missing, it should be taken as zero. This is consistent to Linux drivers/tty/serial/of_serial.c. The x86 and most powerpc use reg-shift of 0. Most others use reg-shift of 2. While reg-shift of 1 is rarely used. Signed-off-by: Thomas Chou <thomas@wytron.com.tw> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Mugunthan V N <mugunthanvnm@ti.com> Acked-by: Simon Glass <sjg@chromium.org>
* arch/arm/cpu/arm920t/ep93xx/led.c: Mark inline functions as static inlineTom Rini2015-12-05-2/+2
| | | | | | | | With gcc-5.x we get warning about inline non-static functions referring to static elements. Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* common: cli_hush: avoid memory leakPeng Fan2015-12-05-2/+7
| | | | | | | | | Need to free memory avoid memory leak, when error. Signed-off-by: Peng Fan <Peng.Fan@freescale.com> Reviewed-by: Simon Glass <sjg@chromium.org> Cc: Simon Glass <sjg@chromium.org> Cc: Tom Rini <trini@konsulko.com>
* common/Makefile: Compile fdt_support is enabled in SPLStefan Roese2015-12-05-0/+1
| | | | | | | | | | When CONFIG_SPL_OF_TRANSLATE is enabled fdt_support.c needs to get compiled. Otherwise fdt_translate_address() is missing which is needed in dev_get_addr(). Signed-off-by: Stefan Roese <sr@denx.de> Cc: Simon Glass <sjg@chromium.org> Acked-by: Simon Glass <sjg@chromium.org>
* defconfig: dra74_evm: enable serial driver modelMugunthan V N2015-12-05-0/+1
| | | | | | | | Enable serial driver model for dra74_evm as ns16550 supports driver model. Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* arm: dts: dra7-evm: add chosen node to specify serial console deviceMugunthan V N2015-12-05-0/+4
| | | | | | | Introduce chosen node and specify uart0 to be used as serial console. Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* arm: dts: omap: add reg-shift to serial device tree nodeMugunthan V N2015-12-05-0/+22
| | | | | | | | | | | | | | With the commit 'c7b9686d5d48 ("ns16550: unify serial_omap")' all TI platforms are broken with DM/DT boot as ns16550 driver expects reg-shift from DT which is not populated for TI platforms. Earlier it worked as it was hard coded to 2 in serial-omap driver. So adding the reg-shift to serial nodes for dra7, am4372 and am33xx dtsi files. Tested this patch on am437x-sk-evm, am437x-gp-evm, am335x-boneblack, dra74x-evm and dra72x-evm. Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Reviewed-by: Simon Glass <sjg@chromium.org> Acked-by: Thomas Chou <thomas@wytron.com.tw>
* common: miiphyutil: avoid memory leakPeng Fan2015-12-05-0/+2
| | | | | | | | | | | | | | | | | | The following code will alloc memory for new_dev and ldev: " new_dev = mdio_alloc(); ldev = malloc(sizeof(*ldev)); " Either new_dev or ldev is NULL, directly return, but this may leak memory. So before return, using free(ldev) and mdio_free(new_dev) to avoid leaking memory, also free can handle NULL pointer. Signed-off-by: Peng Fan <Peng.Fan@freescale.com> Cc: Joe Hershberger <joe.hershberger@ni.com> Cc: Simon Glass <sjg@chromium.org> Cc: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
* common: mmc: unsigned char compared against 0Peng Fan2015-12-05-1/+1
| | | | | | | | | | | | | | "enable" is unsigned char type and its value will not be negative, so discard "enable < 0". Signed-off-by: Peng Fan <Peng.Fan@freescale.com> Cc: Diego Santa Cruz <Diego.SantaCruz@spinetix.com> Cc: Pantelis Antoniou <pantelis.antoniou@konsulko.com> Cc: Andrew Gabbasov <andrew_gabbasov@mentor.com> Cc: Simon Glass <sjg@chromium.org> Cc: Stefano Babic <sbabic@denx.de> Cc: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* eeprom: Zap CONFIG_SYS_I2C_MULTI_EEPROMSMarek Vasut2015-12-05-5/+0
| | | | | | | | | This symbol is no longer used anywhere, remove it. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Heiko Schocher <hs@denx.de> Cc: Tom Rini <trini@konsulko.com> Acked-by: Heiko Schocher <hs@denx.de>
* Fix typo: firstly -> first.Vagrant Cascadian2015-12-05-4/+4
| | | | | Signed-off-by: Vagrant Cascadian <vagrant@debian.org> Acked-by: Marek Vasut <marex@denx.de>
* Fix typo: commmand -> command.Vagrant Cascadian2015-12-05-6/+6
| | | | | Signed-off-by: Vagrant Cascadian <vagrant@debian.org> Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
* mpc8xx: remove stale "lwmon" filesWolfgang Denk2015-12-05-305/+0
| | | | | | | | Commit acc2372d "mpc8xx: remove lwmon board support" removed support for the MPC823 based "lwmon" board, but left some board specific POST files. This patch cleans up and removes the now unused files. Signed-off-by: Wolfgang Denk <wd@denx.de>
* common: miiphyutil: no need to check name of mii_devPeng Fan2015-12-05-1/+1
| | | | | | | | | | | | | The entry name of mii_dev is an array not pointer, so no need to check. Signed-off-by: Peng Fan <Peng.Fan@freescale.com> Cc: Joe Hershberger <joe.hershberger@ni.com> Cc: Simon Glass <sjg@chromium.org> Cc: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org> Acked-by: Joe Hershberger <joe.hershberger@ni.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* common: image-fdt: correct fdt_blob for IMAGE_FORMAT_LEGACYPeng Fan2015-12-05-1/+1
| | | | | | | | | | | | | | | | | If condition of "(load == image_start || load == image_data)" is true, should use "fdt_addr = load;", but not "fdt_blob = (char *)image_data;", or fdt_blob will be overridden by "fdt_blob = map_sysmem(fdt_addr, 0);" at the end of the switch case. Signed-off-by: Peng Fan <Peng.Fan@freescale.com> Cc: Simon Glass <sjg@chromium.org> Cc: Joe Hershberger <joe.hershberger@ni.com> Cc: Max Krummenacher <max.krummenacher@toradex.com> Cc: Marek Vasut <marex@denx.de> Cc: Suriyan Ramasami <suriyan.r@gmail.com> Cc: Paul Kocialkowski <contact@paulk.fr> Cc: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>