summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* implement Fastboot via USB OTG on bcm28155_ap boardsSteve Rae2016-02-241-20/+0
| | | | | | | Don't understand how it happened, but this change got applied twice! Therefore, removing the duplicated items. Signed-off-by: Steve Rae <srae@broadcom.com>
* fastboot: update error and warning messagesSteve Rae2016-02-241-5/+5
| | | | | | | Fix the formatting in error messages, and demote one error message to a warning, as it is only informational. Signed-off-by: Steve Rae <srae@broadcom.com>
* usb: eth: fix memalign() parameter orderStephen Warren2016-02-241-1/+1
| | | | | | | | | | The alignment and size were swapped, leading to malloc heap corruption. On my system, this sometimes caused U-Boot to crash during or after certain USB Ethernet operations. Fixes: c8c2797c3810 ("dm: usb: eth: Support driver model with USB Ethernet") Signed-off-by: Stephen Warren <swarren@nvidia.com>
* dfu: odroid xu3: Define DFU_MANIFEST_POLL_TIMEOUT to handle large files ↵Lukasz Majewski2016-02-241-0/+1
| | | | | | | | | | | | | | | transmission and storage As tested on the Odroid XU3, large files to be stored on the file system require considerable time to be physically written to the medium. The default 300 ms is not enough to store large file (e.g. 26 MiB). To fix this situation the DFU_MANIFEST_POLL_TIMEOUT has been defined. It is used to cease the communication with dfu-util and allow the target board to store the data on file system. Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
* dfu: usb: f_dfu: Set deferred call for dfu_flush() functionLukasz Majewski2016-02-243-8/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes situation when one would like to write large file into medium with the file system (fat, ext4, etc). This change sets file size limitation to the DFU internal buffer size. Since u-boot is not supporting interrupts and seek on file systems, it becomes challenging to store large file appropriately. To reproduce this error - create large file (around 26 MiB) and sent it to the target board. Lets examine the flow of USB transactions: 0. DFU uses EP0 with 64B MPS [Max Packet Size] 1. Send file - OUT (PC->target) - dat_26MiB.img is sent with 4096 B transactions 2. Get status - OUT (PC->target) - wait for DFU_STATE_dfuDNLOAD_IDLE (0x05) sent from target board - IN transaction (target->PC) 3. The whole file content is sent to target - OUT (PC->target) with ZLP [Zero Length Packet] Now the interesting part starts: 4. OUT (PC->target) Setup transaction (request to share DFU state) 5. IN (target->PC) - reply the current DFU state - In the UDC driver the req->completion (with dfu_flush) is called after successful IN transfer. - The dfu_flush() (called from req->completion callback) saves the whole file at once (u-boot doesn't support seek on fs). Such operation takes considerable time. When the file is large - e.g. 26MiB - this time may be more than 5 seconds. 6. OUT (PC->target) - ZLP, is send in the same time when dfu_flush() writes data to eMMC memory. The dfu-util application has hard coded timeout on USB transaction completion set to 5 seconds (it uses libusb calls). When the file to store is large (e.g. 26 MiB) the time needed to write it may excess the dfu-util timeout and following error message will be displayed: "unable to read DFU status" on the HOST PC console. This change is supposed to leverage DFU's part responsible for storing files on file systems. Other DFU operations - i.e. raw/partition write to NAND and eMMC should work as before. The only functional change is the error reporting. When dfu_flush() fails the u-boot prompt will exit with error information and dfu-util application exits afterwards as well. Test HW: - Odroid XU3 (Exynos5433) - test with large file - Trats (Exynos4210) - test for regression - eMMC, raw, Signed-off-by: Lukasz Majewski <l.majewski@samsung.com> Reported-by: Alex Gdalevich <agdalevich@axion-biosystems.com> Tested-by: Stephen Warren <swarren@nvidia.com> Tested-by: Heiko Schocher <hs@denx.de>
* usb: ehci: Be explicit about the BE IO accessorsMarek Vasut2016-02-241-2/+3
| | | | | | | | | | Add explicit cpu_to_be32()/be32_to_cpu() conversion to BE EHCI I/O accessors to align them with their LE counterpart. No functional change. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Cc: Hans de Goede <hdegoede@redhat.com>
* usb: ehci: Clear USBMODE_BE on LE MMIOMarek Vasut2016-02-241-0/+2
| | | | | | | | | If the USB EHCI is configured for little endian MMIO, make sure to clear the USBMODE_BE flag from the USBMODE register. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Cc: Hans de Goede <hdegoede@redhat.com>
* usb: ehci: Implement V2P mappingMarek Vasut2016-02-241-10/+9
| | | | | | | | | | | | Certain processor architectures, like MIPS, require that the USB structures and transfer buffers are passed with their PA to the USB controller. If VA is passed, the USB will not work. Add the necessary virt_to_phys() calls into the USB EHCI code to make it work. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Cc: Hans de Goede <hdegoede@redhat.com>
* usb: ehci: Use map_physmem in ehci-genericMarek Vasut2016-02-241-1/+3
| | | | | | | | | Some architectures, like MIPS, require remapping of the registers. Add the map_physmem() call to handle it. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Cc: Hans de Goede <hdegoede@redhat.com>
* Merge branch 'master' of http://git.denx.de/u-boot-sunxiTom Rini2016-02-2315-28/+153
|\
| * sunxi: H3: Add support for the host usb-physJelle van der Waa2016-02-238-24/+81
| | | | | | | | | | | | | | | | Add support for phy 1-3. Signed-off-by: Jelle van der Waa <jelle@vdwaa.nl> [hdegoede@redhat.com: use setclrbits_le32 instead of read-modify-write] Signed-off-by: Hans de Goede <hdegoede@redhat.com>
| * sunxi: power: add support for sy8106a driverJelle van der Waa2016-02-239-4/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SY8106A is a PMIC which is used on the Allwinner H3 Orange Pi Pc and Plus board. The VOUT1_SEL register is implemented to set the default V-CPU voltage to 1200 mV. This driver is required to ensure the SY8106A V-CPU voltage is set to 1200 mV after a software reset. On cold boot the default SY8106A output voltage is selected to be 1200 mV by a pair of resistors on the Orange Pi PC and Plus. Signed-off-by: Jelle van der Waa <jelle@vdwaa.nl> Tested-by: Siarhei Siamashka <siarhei.siamashka@gmail.com> Acked-by: Siarhei Siamashka <siarhei.siamashka@gmail.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* | Merge branch 'master' of git://git.denx.de/u-boot-spiTom Rini2016-02-2312-5/+279
|\ \
| * | spi: spi-uclass: Set slave wordlen with SPI_DEFAULT_WORDLENChristophe Ricard2016-02-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | In some case wordlen may not be set. Use SPI_DEFAULT_WORDLEN as default. Signed-off-by: Christophe Ricard <christophe-h.ricard@st.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Jagan Teki <jteki@openedev.com>
| * | spi: omap3: Remove unused variable irqstatus in omap3_spi_txrxChristophe Ricard2016-02-231-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | Remove unused variable irqstatus in omap3_spi_txrx Signed-off-by: Christophe Ricard <christophe-h.ricard@st.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Jagan Teki <jteki@openedev.com>
| * | defconfig: am437x_sk_evm: enable dma driver modelMugunthan V N2016-02-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | enable dma driver model for am437x_sk_evm as ti-edma3 supports driver model Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Jagan Teki <jteki@openedev.com>
| * | drivers: dma: ti-edma3: convert driver to adopt driver modelMugunthan V N2016-02-231-2/+80
| | | | | | | | | | | | | | | | | | | | | | | | adopt ti-edma3 driver to device driver model Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Jagan Teki <jteki@openedev.com>
| * | spi: ti_qspi: compile out spi_flash_copy_mmap when CONFIG_DMA is definedMugunthan V N2016-02-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When CONFIG_DMA is defined the default spi_flash_copy_mmap() can handle dma memory copy, so compile out spi_flash_copy_mmap() from ti_qspi driver when CONFIG_DMA config is defined. Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Jagan Teki <jteki@openedev.com>
| * | sf: spi_flash: use dma to copy data from mmap region if platform supportsMugunthan V N2016-02-231-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add dma memcpy api to the default spi_flash_copy_mmap(), so that dma will be used to copy data when CONFIG_DMA is defined for the platform. Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Jagan Teki <jteki@openedev.com>
| * | dma: Kconfig: Add TI_EDMA3 entryMugunthan V N2016-02-231-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | Add TI_EDMA3 entry on Kconfig with help description. Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Jagan Teki <jteki@openedev.com>
| * | dm: implement a DMA uclassMugunthan V N2016-02-235-0/+176
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement a DMA uclass so that the devices like ethernet, spi, mmc etc can offload the data transfers from/to the device and memory. Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Jagan Teki <jteki@openedev.com>
| * | ARM: zynq: Wire-up saving environment to QSPIMichal Simek2016-02-231-0/+4
| |/ | | | | | | | | | | | | Extend options for saving variables to QSPI. Reviewed-by: Jagan Teki <jteki@openedev.com> Signed-off-by: Michal Simek <monstr@monstr.eu>
* | Merge branch 'master' of git://git.denx.de/u-boot-videoTom Rini2016-02-225-2/+179
|\ \
| * | video: Add S3C24xx framebuffer supportMarek Vasut2016-02-223-1/+174
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add basic framebuffer driver for the S3C24xx family of CPUs. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Anatolij Gustschin <agust@denx.de> Cc: Kyungmin Park <kyungmin.park@samsung.com> Cc: Lukasz Majewski <l.majewski@samsung.com> Cc: Minkyu Kang <mk7.kang@samsung.com> Cc: Vladimir Zapolskiy <vz@mleia.com> V2: Keep the Makefile sorted. Acked-by: Anatolij Gustschin <agust@denx.de>
| * | video: freetype: Fix a memory leak with a bad parameterSimon Glass2016-02-221-1/+4
| | | | | | | | | | | | | | | | | | | | | Make sure to free memory used when the scale facture is incorrect. Reported-by: Coverity (CID: 24068) Signed-off-by: Simon Glass <sjg@chromium.org>
| * | video: truetype: Fix a memory leak on errorSimon Glass2016-02-221-0/+1
| |/ | | | | | | | | | | | | | | | | When the resolution is not supported we should free the memory we don't plan to use. Reported-by: Coverity (CID: 135127) Signed-off-by: Simon Glass <sjg@chromium.org>
* | ARM: zynq: Enable EDID for zyboMichal Simek2016-02-221-0/+5
| | | | | | | | | | | | | | | | | | | | Zybo contains on board HDMI that's why enable EDID. Doing it via config because zynq i2c driver hasn't been moved to DM yet and enabling via Kconfig requires DM_I2C. This will be moved that driver is moved to DM. Signed-off-by: Michal Simek <monstr@monstr.eu> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* | ARM: zynq: Add reset-gpio property for USB on ZyboMichal Simek2016-02-221-1/+2
| | | | | | | | | | | | | | | | DTS syncup with Linux kernel. Add missing reset-gpio property. Signed-off-by: Michal Simek <monstr@monstr.eu> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* | net: phy: realtek: Use generic genphy_parse_link() for RTL8211EMichal Simek2016-02-221-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem with current implementation is that SPDDONE bit is 1 but link bit is zero. That's why phydev->link is setup to 0 which ending up in driver failure that link is not up. Log: Zynq> dhcp ethernet@e000b000 Waiting for PHY auto negotiation to complete....... done ethernet@e000b000: No link. There is at least 1ms delay between spddone bit and link up. Use genphy_read_status() instead of realtek implemenation which is working with page 11. Linux driver is also using generic implementation. Signed-off-by: Michal Simek <monstr@monstr.eu> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* | ARM: zynq: Enable Realtek phys by defaultMichal Simek2016-02-221-0/+1
| | | | | | | | | | | | | | This phy is available at Zybo board. Signed-off-by: Michal Simek <monstr@monstr.eu> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* | i2c: spd: Extend SPD memory typesMichal Simek2016-02-221-1/+13
| | | | | | | | | | | | Decode DDR, DDR3 and DDR4 memories. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* | dm: ns16550: Add support for reg-offset propertyMichal Simek2016-02-222-2/+5
| | | | | | | | | | | | | | | | | | | | 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> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
* | zynq-common: Fix usbboot env variableJason Wu2016-02-221-2/+1
| | | | | | | | | | | | | | Remove the miss-placed \0 and add missing ; for usbboot env variable. Signed-off-by: Jason Wu <jason.wu.misc@gmail.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* | ARM: zynq: Enable SPL RAM support by defaultMichal Simek2016-02-221-0/+1
| | | | | | | | | | | | | | Use RAM support in jtagboot mode. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Moritz Fischer <moritz.fischer@ettus.com>
* | ARM: zynq: Enable u-boot,dm-pre-reloc for qspiNathan Rossi2016-02-223-0/+3
| | | | | | | | | | | | | | | | | | | | Enable u-boot,dm-pre-reloc for qspi for zc706, zed and microzed. Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Cc: Albert Aribaud <albert.u.boot@aribaud.net> Cc: Michal Simek <michal.simek@xilinx.com> Cc: Simon Glass <sjg@chromium.org> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* | serial: zynq: Change logic in putcMichal Simek2016-02-221-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sync logic with Linux kernel where TX empty flag is checked before char is sent. This logic is fixing problem with console on zynqmp platform. For example: DRAM: 2 GiB Enabling Caches... EL Level: �� sdhci@ff170000: 0 Using default environment Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Moritz Fischer <moritz.fischer@ettus.com>
* | ARM: zynq: Remove ZYNQ_BOOT_FREEBSD optionMichal Simek2016-02-225-7/+1
| | | | | | | | | | | | | | Remove CONFIG_ZYNQ_BOOT_FREEBSD configuration option and setup CONFIG_SYS_MMC_MAX_DEVICE 1 for all Zynq boards. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* | ARM: zynq: Read memory size setting from DTMichal Simek2016-02-227-16/+0
| | | | | | | | | | | | | | OF_CONTROL is setup by default and memory reading is done via DT. Remove all config files with memory references. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* | mmc: Kconfig: Add Arasan SDHCI entryMichal Simek2016-02-2218-20/+19
| | | | | | | | | | | | Add Arasan SDHCI entry to Kconfig and fix all references. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* | zynq: zc770: Remove unused ifdefs for xm011 and xm013Michal Simek2016-02-221-4/+0
| | | | | | | | | | | | Clean config file. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* | ARM: zynq: Remove unused SPI base addressesMichal Simek2016-02-222-5/+0
|/ | | | | | | | Remove unused macros. Adresses are taken from DT. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Jagan Teki <jteki@openedev.com> Reviewed-by: Moritz Fischer <moritz.fischer@ettus.com>
* Merge branch 'master' of git://www.denx.de/git/u-boot-imxTom Rini2016-02-2134-57/+1506
|\
| * imx: mx7d: isolate resources to domain 0 for A7 corePeng Fan2016-02-212-0/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In current design, if any peripheral was assigned to both A7 and M4, it will receive ipg_stop or ipg_wait when any of the 2 platforms enter low power mode. We will have a risk that, if A7 enter wait, M4 enter stop, peripheral will have chance to get ipg_stop and ipg_wait asserted same time. Also if M4 enters stop mode, A7 will have no chance to access the peripheral. There are 26 peripherals affected by this IC issue: SIM2(sim2/emvsim2) SIM1(sim1/emvsim1) UART1/UART2/UART3/UART4/UART5/UART6/UART7 SAI1/SAI2/SAI3 WDOG1/WDOG2/WDOG3/WDOG4 GPT1/GPT2/GPT3/GPT4 PWM1/PWM2/PWM3/PWM4 ENET1/ENET2 Software Workaround: The solution is to set the peripherals to Domain0 by A core, since A core in Domain0. The peripherals which will be used by M4, will be set to Domain1 by M4. For example, A core set WDOG4 to domain0, but when M4 boots up, M4 will set WDOG4 to domain1, because M4 will use WDOG4. So the peripherals are not shared by them. This way requires the uboot implemented the RDC driver and set the 26 IPs above to domain 0 only. M4 image will set the M4 to domain 1 and set peripheral which it will use to domain 1. This patch enables the CONFIG_IMX_RDC and CONFIG_IMX_BOOTAUX for i.MX7D SABRESD board, and setup the 26 IP resources to domain 0. Signed-off-by: Ye.Li <ye.li@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
| * imx: mx7dsabresd: add command and macros for boot m4 corePeng Fan2016-02-211-0/+24
| | | | | | | | | | | | | | | | Introduce macros and command to support booting M4 core for i.MX7D SabreSD board. Signed-off-by: Ye.Li <ye.li@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
| * imx: mx7: implement functions to boot auxiliary corePeng Fan2016-02-212-0/+41
| | | | | | | | | | | | | | | | | | | | | | | | Implement arch_auxiliary_core_up and arch_auxiliary_core_check_up. arch_auxiliary_core_check_up is used to check whether M4 is running or not. arch_auxiliary_core_up is to boot M4 core, the m4 core will use the pc and stack which is set in arch_auxiliary_core_up to set R15 and R13 register and boot. Signed-off-by: Ye.Li <ye.li@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
| * imx: mx6sxsabresd: add command and macros for boot m4 corePeng Fan2016-02-211-0/+24
| | | | | | | | | | | | | | | | Introduce macros and command to support booting M4 core for i.MX6SX SabreSD board. Signed-off-by: Ye.Li <ye.li@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
| * imx: mx6: implement functions to boot auxiliary corePeng Fan2016-02-212-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | Implement arch_auxiliary_core_up and arch_auxiliary_core_check_up. arch_auxiliary_core_check_up is used to check whether M4 is running or not. arch_auxiliary_core_up is to boot M4 core, the m4 core will use the pc and stack which is set in arch_auxiliary_core_up to set R15 and R13 register and boot. Signed-off-by: Ye.Li <ye.li@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
| * imx: imx-common: introduce boot auxiliary corePeng Fan2016-02-213-0/+79
| | | | | | | | | | | | | | | | | | | | | | To boot a auxiliary core in asymmetric multicore system, introduce the new command "bootaux" to do it. Example of boot auxliary core from 0x70000000 where stores the boot head information that should be parsed by auxiliary core, "bootaux 0x70000000". Introduce Kconfig option IMX_BOOTAUX. Signed-off-by: Ye.Li <ye.li@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
| * imx: mx7d: clock support for RDCPeng Fan2016-02-211-0/+6
| | | | | | | | | | | | If CONFIG_IMX_RDC is enabled, enable clock for RDC and SEMAPHORE. Signed-off-by: Peng Fan <peng.fan@nxp.com>
| * imx: mx7d: Add RDC supportPeng Fan2016-02-213-0/+182
| | | | | | | | | | | | | | | | Add the peripherals/masters definitions and registers base addresses for mx7d RDC. Signed-off-by: Ye.Li <ye.li@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
OpenPOWER on IntegriCloud