summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeLines
* dfu: tftp: update: Add dfu_write_from_mem_addr() functionLukasz Majewski2015-09-07-0/+52
| | | | | | | | | | | This function allows writing via DFU data stored from fixed buffer address (like e.g. loadaddr env variable). Such predefined buffers are used in the update_tftp() code. In fact this function is a wrapper on the dfu_write() and dfu_flush(). Signed-off-by: Lukasz Majewski <l.majewski@majess.pl> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
* dfu: tftp: update: Provide tftp support for the DFU subsystemLukasz Majewski2015-09-07-0/+92
| | | | | | | | This commit adds initial support for using tftp for downloading and upgrading firmware on the device. Signed-off-by: Lukasz Majewski <l.majewski@majess.pl> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
* tftp: update: Allow some parts of the code to be reused when ↵Lukasz Majewski2015-09-07-8/+7
| | | | | | | | | | | | CONFIG_SYS_NO_FLASH is set Up till now it was impossible to use code from update.c when system was not equipped with raw FLASH memory. Such behavior prevented DFU from reusing this code. Signed-off-by: Lukasz Majewski <l.majewski@majess.pl> Acked-by: Joe Hershberger <joe.hershberger@ni.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* net: tftp: Move tftp.h file from ./net to ./include/netLukasz Majewski2015-09-07-4/+4
| | | | | | | | | | This change gives the ability to reuse the <tftp.h> header file by other subsystems (like e.g. dfu). Without this change compilation error emerges for the legacy update.c file. Signed-off-by: Lukasz Majewski <l.majewski@majess.pl> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
* doc: dfu: tftp: README entry for TFTP extension of DFULukasz Majewski2015-09-07-0/+121
| | | | | | | | | | Documentation file for DFU extension. With this functionality it is now possible to transfer FIT images with firmware updates via TFTP and use DFU backend for storing them. Signed-off-by: Lukasz Majewski <l.majewski@majess.pl> Reviewed-by: Simon Glass <sjg@chromium.org> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
* h2200: Fix build errorKishon Vijay Abraham I2015-09-07-0/+12
| | | | | | | | | | | | | | | | | | | | | Commit <8bfc288c3955> ("usb: gadget: ether: Perform board initialization from ethernet gadget driver") added board_usb_init and board_usb_cleanup in ethernet gadget driver. But h2200 board didn't have board_usb_init and board_usb_cleanup implementations. This introduced the following build errors +drivers/usb/gadget/built-in.o: In function `usb_eth_halt': +drivers/usb/gadget/ether.c:2498: undefined reference to `board_usb_cleanup' +drivers/usb/gadget/built-in.o: In function `usb_eth_init': +drivers/usb/gadget/ether.c:2316: undefined reference to `board_usb_init' Fix it here by adding empty board_usb_init and board_usb_cleanup functions in h2200.c. Fixes: <8bfc288c3955> ("usb: gadget: ether: Perform board initialization from ethernet gadget driver") Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
* dfu: Delete superfluous initialization of the dfu_buf_size static variableLukasz Majewski2015-09-07-1/+1
| | | | | | | | | | | | After extension of the dfu_get_buf() to also setup (implicitly) the dfu_buf_size variable it is not needed to set dfu_buf_size to CONFIG_SYS_DFU_DATA_BUF_SIZE. This variable is set in the dfu_get_buf() by not only considering CONFIG_SYS_DFU_DATA_BUF but more importantly the "dfu_bufsiz" env variable. Therefore, dfu_get_buf() should be used for initialization. Signed-off-by: Lukasz Majewski <l.majewski@majess.pl> Reviewed-by: Przemyslaw Marczak <p.marczak@samsung.com>
* dfu:tests: Modify dfu_gadget_test.sh to accept USB device vendor:product IDLukasz Majewski2015-09-07-8/+19
| | | | | | | | | | | | | | dfu-util allows filtering on USB device vendor:product ID by using the -d flag (-d 0451:d022). Such option is very handy when many DFU devices are connected to a single host PC. This commit allows testing when above situation emerges. Signed-off-by: Lukasz Majewski <l.majewski@majess.pl> Reviewed-by: Simon Glass <sjg@chromium.org> Tested-by: Lukasz Majewski <l.majewski@majess.pl> Test HW - AM335x Beagle Bone Black NOTE: Max size of file to transfer: 2MiB
* usb: gadget: f_thor: Allocate request up to THOR_PACKET_SIZESiva Durga Prasad Paladugu2015-09-07-1/+1
| | | | | | | | | | Allocate request up to THOR_PACKET_SIZE not the ep0->maxpacket as the descriptors data depend on the number of descriptors and this 64 bytes were not enough and the buffer might overflow which results in memalign failures later. Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* f_thor: Dont perform reset at the end of thorSiva Durga Prasad Paladugu2015-09-07-0/+10
| | | | | | | | | | | | | Dont perform reset at the end of thor download if configured to do reset off. Reset may not be required in all cases and hence provided an option to do so. The case would be to download the images to DDR instead of flash device. Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* implement Fastboot via USB OTG on bcm28155_ap boardsJiandong Zheng2015-09-07-0/+19
| | | | | Signed-off-by: Jiandong Zheng <jdzheng@broadcom.com> Signed-off-by: Steve Rae <srae@broadcom.com>
* doc: document the fdtdir PXE commandStefan Brüns2015-09-03-0/+7
| | | | Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
* doc: Fix inconsistent filename in PXE config exampleStefan Brüns2015-09-03-1/+1
| | | | | | The default config includes base.menu, not linux.list Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
* Merge git://git.denx.de/u-boot-rockchipTom Rini2015-09-03-42/+11350
|\
| * rockchip: Put README image creation commands on one lineSimon Glass2015-09-02-3/+5
| | | | | | | | | | | | | | It is easier to paste these into the command line if they are a single common. Use line continuation instead of separate lines. Signed-off-by: Simon Glass <sjg@chromium.org>
| * rockchip: Update todo in README.rockchipSjoerd Simons2015-09-02-1/+0
| | | | | | | | | | | | | | | | MMC support works now, so it can be dropped from the todo Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk> Acked-by: Simon Glass <sjg@chromium.org> Signed-off-by: Simon Glass <sjg@chromium.org>
| * rockchip: Drop first 32kb of zeros from the rkSD image typeSjoerd Simons2015-09-02-8/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of creating a rockchip SPL SD card image with 32KB of zeros which can be written to the start of an SD card, create the images with only the useful data that should be written to an offset of 32KB on the SD card. The first 32 kilobytes aren't needed for bootup and only serve as convenient way of accidentally obliterating your partition table. Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk> Acked-by: Simon Glass <sjg@chromium.org> Signed-off-by: Simon Glass <sjg@chromium.org>
| * arm: Turn of d-cache before i-cacheSjoerd Simons2015-09-02-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Booting the kernel fails on RK3288 (and probably other rockchip SoCs) when the i-cache is disabled/flushed before d-cache. I have not investigated whether this is due to U-Boot hanging or whether it's very early in the linux boot, but following the approach of the various rockchip U-Boot forks (first disable d-cache then i-cache) makes things work. Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Simon Glass <sjg@chromium.org>
| * rockchip: Add config_distro_bootcmd supportSjoerd Simons2015-09-02-0/+21
| | | | | | | | | | | | | | | | | | | | | | Now that MMC works in U-Boot add config distro command support to start Linux in a standard fashion. One oddity here is that linux fails to load when the fdt is relocated to above 512MB, so set fdt_high to make sure it's loaded below that. Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk> Acked-by: Simon Glass <sjg@chromium.org> Signed-off-by: Simon Glass <sjg@chromium.org>
| * rockchip: Turn off CONFIG_SPL_LED for fireflySjoerd Simons2015-09-02-1/+0
| | | | | | | | | | | | | | | | | | | | With LED support enabled the SPL easily goes over the size limit (e.g. with both Debians gcc 4.9 and 5.2 cross-compilers). Turn off LED support in the SPL to reduce the size just enough for those compilers. Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk> Tweaked commit subject to remove _SUPPORT Signed-off-by: Simon Glass <sjg@chromium.org>
| * rockchip: Disable sdio mmc slot on rk3288-fireflySjoerd Simons2015-09-02-1/+1
| | | | | | | | | | | | | | | | | | U-Boot can't use the sdio card so turn it of to prevent things getting confused/struck when trying to use the card as storage. Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk> Acked-by: Simon Glass <sjg@chromium.org> Signed-off-by: Simon Glass <sjg@chromium.org>
| * mmc: Probe DM based mmc devices in u-bootSjoerd Simons2015-09-02-4/+39
| | | | | | | | | | | | | | | | | | During mmc initialize probe all devices with the MMC Uclass if build with CONFIG_DM_MMC Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk> Acked-by: Simon Glass <sjg@chromium.org> Signed-off-by: Simon Glass <sjg@chromium.org>
| * doc: Fix reference to Rock pro when Rock 2 is meantSjoerd Simons2015-09-02-3/+3
| | | | | | | | | | | | | | | | | | | | | | The Radxa Rock pro board is rk3188 based and thus won't work with U-Boot built for RK3288. Change the documentation to refer to the intended board, the Radxa Rock 2, which is an RK3288-based design very similar to the firefly Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk> Acked-by: Simon Glass <sjg@chromium.org> Signed-off-by: Simon Glass <sjg@chromium.org>
| * rockchip: Add a simple READMESimon Glass2015-09-02-0/+246
| | | | | | | | | | | | Add a few notes on how to try out the Rockchip support so far. Signed-off-by: Simon Glass <sjg@chromium.org>
| * rockchip: Add basic support for jerrySimon Glass2015-09-02-2/+1370
| | | | | | | | | | | | This builds and displays an SPL message, but does not function beyond that. Signed-off-by: Simon Glass <sjg@chromium.org>
| * rockchip: Add basic support for firefly-rk3288Simon Glass2015-09-02-0/+733
| | | | | | | | | | | | | | | | | | | | | | The Firefly RK3288 is a suitable target board for initial mainline Rockchip support. It includes a good set of peripherals, a recent SoC and it is readily available. This adds only some basic files required to allow the baord to display a serial message in SPL and hang. Signed-off-by: Simon Glass <sjg@chromium.org>
| * rockchip: Add SPI driverSimon Glass2015-09-02-0/+527
| | | | | | | | | | | | | | Add a SPI driver for the Rockchip RK3288, using driver model. It should work for other Rockchip SoCs also. Signed-off-by: Simon Glass <sjg@chromium.org>
| * rockchip: Add I2C driverSimon Glass2015-09-02-0/+471
| | | | | | | | | | | | | | Add an I2C driver for the Rockchip RK3288, using driver model. It should work for other Rockchip SoCs also. Signed-off-by: Simon Glass <sjg@chromium.org>
| * rockchip: Add core SoC start-up codeSimon Glass2015-09-02-0/+432
| | | | | | | | | | | | | | Add code for starting up U-Boot SPL and U-Boot proper. This is generic and makes use of devices provided by the board- or SoC-specific code. Signed-off-by: Simon Glass <sjg@chromium.org>
| * rockchip: Add an MMC driverSimon Glass2015-09-02-0/+108
| | | | | | | | | | | | | | Add an MMC driver which supports RK3288, but may also support other SoCs. It uses the Designware MMC device. Signed-off-by: Simon Glass <sjg@chromium.org>
| * rockchip: rk3288: Add SDRAM initSimon Glass2015-09-02-0/+1455
| | | | | | | | | | | | | | | | | | Add code to set up the SDRAM in SPL, ready for loading U-Boot. This uses device tree for configuration so should be able to support other RAM configurations. It may be possible to generalise the code to support other SoCs at some point. Signed-off-by: Simon Glass <sjg@chromium.org>
| * rockchip: rk3288: Add pinctrl driverSimon Glass2015-09-02-0/+459
| | | | | | | | | | | | | | Add a driver which supports pin multiplexing setup for the most commonly used peripherals. Signed-off-by: Simon Glass <sjg@chromium.org>
| * rockchip: rk3288: Add a simple syscon driverSimon Glass2015-09-02-0/+26
| | | | | | | | | | | | Add a driver that provides access to system controllers. Signed-off-by: Simon Glass <sjg@chromium.org>
| * rockchip: rk3288: Add SoC reset driverSimon Glass2015-09-02-0/+54
| | | | | | | | | | | | | | We can reset the SoC using some CRU (clock/reset unit) registers. Add support for this. Signed-off-by: Simon Glass <sjg@chromium.org>
| * rockchip: rk3288: Add header files for PMU and GRFSimon Glass2015-09-02-0/+857
| | | | | | | | | | | | | | PMU is the power management unit and GRF is the general register file. Both are heavily used in U-Boot. Add header files with register definitions. Signed-off-by: Simon Glass <sjg@chromium.org>
| * rockchip: rk3288: Add clock driverSimon Glass2015-09-02-0/+804
| | | | | | | | | | | | | | Add a driver for setting up and modifying the various PLLs and peripheral clocks on the RK3288. Signed-off-by: Simon Glass <sjg@chromium.org>
| * power: regulator: Add a driver for ACT8846 regulatorsSimon Glass2015-09-02-0/+165
| | | | | | | | | | | | | | Add a full regulator driver for the ACT8846. This provides easy access to voltage and current settings for each regulator. Signed-off-by: Simon Glass <sjg@chromium.org>
| * power: Add support for ACT8846 PMICSimon Glass2015-09-02-0/+137
| | | | | | | | | | | | | | | | Add a driver for the ACT8846 PMIC. This supports several LDOs and BUCKs and is connected to the I2C bus. This driver supports using a regulator driver to access the regulators. Signed-off-by: Simon Glass <sjg@chromium.org>
| * rockchip: Add basic peripheral and clock definitionsSimon Glass2015-09-02-0/+119
| | | | | | | | | | | | | | | | Add header files for the peripherals and clocks supported on Rockchip platforms. The particular implementation (and register set) for each is SoC-specific, but it seems that the naming can be generic. Signed-off-by: Simon Glass <sjg@chromium.org>
| * rockchip: gpio: Add rockchip GPIO driverSimon Glass2015-09-02-0/+161
| | | | | | | | | | | | | | This supports RK3288 at present. It does not implement functions or support for pull up/down. Signed-off-by: Simon Glass <sjg@chromium.org>
| * rockchip: Add support for the SPI imageSimon Glass2015-09-02-1/+122
| | | | | | | | | | | | | | | | | | | | | | | | The Rockchip boot ROM requires a particular file format for booting from SPI. It consists of a 512-byte header encoded with RC4, some padding and then up to 32KB of executable code in 2KB blocks, separated by 2KB empty blocks. Add support to mkimage so that an SPL image (u-boot-spl-dtb.bin) can be converted to this format. This allows booting from SPI flash on supported machines. Signed-off-by: Simon Glass <sjg@chromium.org>
| * rockchip: Add support for the SD imageSimon Glass2015-09-02-2/+106
| | | | | | | | | | | | | | | | | | | | | | The Rockchip boot ROM requires a particular file format. It consists of 64KB of zeroes, a 512-byte header encoded with RC4, and then some executable code. Add support to mkimage so that an SPL image (u-boot-spl-dtb.bin) can be converted to this format. Signed-off-by: Simon Glass <sjg@chromium.org>
| * rockchip: Add the rkimage format to mkimageSimon Glass2015-09-02-1/+171
| | | | | | | | | | | | | | | | Rockchip SoCs require certain formats for code that they execute, The simplest format is a 4-byte header at the start of a binary file. Add support for this so that we can create images that the boot ROM understands. Signed-off-by: Simon Glass <sjg@chromium.org>
| * mkimage: Allow the original file size to be recordedSimon Glass2015-09-02-0/+1
| | | | | | | | | | | | | | | | Allow the image handler to store the original input file size so that it can reference it later. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
| * mkimage: Allow padding to any lengthSimon Glass2015-09-02-11/+12
| | | | | | | | | | | | | | | | At present there is an arbitrary limit of 4KB for padding. Rockchip needs more than that, so remove this restriction. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
| * rockchip: rk3288: dts: Make core devices available earlySimon Glass2015-09-02-0/+15
| | | | | | | | | | | | | | In SPL we need access to the CRU and other peripherals so we can set up SDRAM. Mark these so that they will remain in the device tree. Signed-off-by: Simon Glass <sjg@chromium.org>
| * rockchip: Bring in RK3288 device tree file includes and bindingsSimon Glass2015-09-02-0/+2543
| | | | | | | | | | | | | | | | Bring in required device tree files from Linux. Since mainline Linux is somewhat behind, use the files from the Chromium tree. We can re-sync once further code is acccepted upstream. Signed-off-by: Simon Glass <sjg@chromium.org>
| * rockchip: Add serial supportSimon Glass2015-09-02-0/+53
| | | | | | | | | | | | | | Add support for the Rockchip serial device using the ns16550 driver. This uses driver model and device tree for both SPL and U-Boot proper. Signed-off-by: Simon Glass <sjg@chromium.org>
| * arm: reset: Avoid a build error when the reset uclass is enabledSimon Glass2015-09-02-0/+2
| | | | | | | | | | | | | | There can be only one do_reset(). When CONFIG_RESET is enabled this is provided by the reset uclass, and ARM's version should be disabled. Signed-off-by: Simon Glass <sjg@chromium.org>
| * dm: Provide better debugging when a device fails to bindSimon Glass2015-09-02-1/+4
| | | | | | | | | | | | | | | | | | | | All devices should bind without error. But when they don't, they can cause driver model init to fail. A real situation where this can happen is when there is a missing uclass. Add a debug() call to dm_scan_fdt_node to make this easier to track. Signed-off-by: Simon Glass <sjg@chromium.org>