summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2015-01-29dm: spi: Move slave details to child platdataSimon Glass
At present we go through various contortions to store the SPI slave's chip select in its private data. This only exists when the slave is active so must be set up when it is probed. Until the device is probed we don't actually know what chip select it will appear on. However, now that we can support per-child platform data, we can use that instead. This allows us to set up the chip select when the child is bound, and avoid the messy contortions. Unfortunately this is a fairly large change and it seems to be difficult to break it down further. Signed-off-by: Simon Glass <[email protected]>
2015-01-29dm: core: Allow uclass to set up a device's child before it is probedSimon Glass
Some buses need to set up their devices before they can be used. This setup may well be common to all buses in a particular uclass. Support a common pre-probe method for the uclass, called before any bus devices are probed. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Masahiro Yamada <[email protected]>
2015-01-29dm: core: Allow the uclass to set up a device's child after bindingSimon Glass
For buses, after a child is bound, allow the uclass to perform some processing. This can be used to figure out the address of the child (e.g. the chip select for SPI slaves) so that it is ready to be probed. This avoids bus drivers having to repeat the same process, which really should be done by the uclass, since it is common. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Masahiro Yamada <[email protected]>
2015-01-29dm: core: Allow uclasses to specify private data for a device's childrenSimon Glass
In many cases the per-child private data for a device's children is defined by the uclass rather than the individual driver. For example, a SPI bus needs to store information about each of its children, but all SPI drivers store the same information. It makes sense to allow the uclass to define this data. If the driver provides a size value for its per-child private data, then use it. Failng that, fall back to that provided by the uclass. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Masahiro Yamada <[email protected]>
2015-01-29dm: core: Add a flag to control sequence numberingSimon Glass
At present we try to use the 'reg' property and device tree aliases to give devices a sequence number. The 'reg' property is often actually a memory address, so the sequence numbers thus-obtained are not useful. It would be better if the devices were just sequentially numbered in that case. In fact neither I2C nor SPI use this feature, so drop it. Some devices need us to look up an alias to number them within the uclass. Add a flag to control this, so it is not done unless it is needed. Adjust the tests to test this new behaviour. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Masahiro Yamada <[email protected]>
2015-01-29dm: core: Add a function to get a device's uclass IDSimon Glass
This is useful to check which uclass a device is in. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Masahiro Yamada <[email protected]>
2015-01-29dm: core: Add a post_bind method for parentsSimon Glass
Allow parent drivers to be called when a new child is bound to them. This allows a bus to set up information it needs for that child. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Masahiro Yamada <[email protected]>
2015-01-29dm: core: Allow uclasses to specify platdata for a device's childrenSimon Glass
In many cases the child platform data for a device's children is defined by the uclass rather than the individual devices. For example, a SPI bus needs to know the chip select and speed for each of its children. It makes sense to allow this information to be defined the SPI uclass rather than each individual driver. If the device provides a size value for its child platdata, then use it. Failng that, fall back to that provided by the uclass. Reviewed-by: Masahiro Yamada <[email protected]> Signed-off-by: Simon Glass <[email protected]>
2015-01-29dm: core: Allow parents to have platform data for their childrenSimon Glass
For buses it is common for parents to need to know the address of the child on the bus, the bus speed to use for that child, and other information. This can be provided in platform data attached to each child. Add driver model support for this, including auto-allocation which can be requested using a new property to specify the size of the data. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Masahiro Yamada <[email protected]>
2015-01-29dm: core: Improve comments for uclass_first/next_device()Simon Glass
Mention that the devices are probed ready for use. Signed-off-by: Simon Glass <[email protected]>
2015-01-29dm: i2c: Provide an offset length parameter where neededSimon Glass
Rather than assuming that the chip offset length is 1, allow it to be provided. This allows chips that don't use the default offset length to be used (at present they are only supported by the command line 'i2c' command which sets the offset length explicitly). Signed-off-by: Simon Glass <[email protected]> Acked-by: Heiko Schocher <[email protected]>
2015-01-29dm: i2c: Add a compatbility layerSimon Glass
For boards which use multiple I2C devices, or for SOCs which support multiple boards, we might want to convert these to driver model at different times. At present this is difficult because we need to either use CONFIG_DM_I2C for a board or not. Add a compatibility layer which implements the old API, thus allowing a board to move to driver model for I2C without requiring that everything it uses is moved in the same commit. Signed-off-by: Simon Glass <[email protected]>
2015-01-29dm: i2c: Rename driver model I2C functions to permit compatibilitySimon Glass
Add a dm_ prefix to driver model I2C functions so that we can keep the old ones around. This is a little unfortunate, but on reflection it is too difficult to change the API. We can undo this rename when most boards and drivers are converted to use driver model for I2C. Signed-off-by: Simon Glass <[email protected]>
2015-01-29dm: fdt: Remove the old GPIO functionsSimon Glass
Now that we support device tree GPIO bindings directly in the driver model GPIO uclass we can remove these functions. Signed-off-by: Simon Glass <[email protected]>
2015-01-29dm: mmc: Remove use of fdtdec GPIO supportSimon Glass
These functions are going away, so use the new uclass support instead. Signed-off-by: Simon Glass <[email protected]>
2015-01-29dm: cros_ec: Remove use of fdtdec GPIO supportSimon Glass
These functions are going away, so use the new uclass support instead. Signed-off-by: Simon Glass <[email protected]>
2015-01-29dm: demo: Add a simple GPIO demonstrationSimon Glass
Add a new 'demo light' command which uses GPIOs to control imaginary lights. Each light is assigned a bit number in the overall value. This provides an example driver for using the new GPIO API. Signed-off-by: Simon Glass <[email protected]>
2015-01-29dm: gpio: Mark the old GPIO API deprecatedSimon Glass
Add a deprecation notice to each function so that it is more obvious that we are moving GPIOs to driver model. Signed-off-by: Simon Glass <[email protected]>
2015-01-29dm: gpio: Add better functions to request GPIOsSimon Glass
At present U-Boot sort-of supports the standard way of reading GPIOs from device tree nodes, but the support is incomplete, a bit clunky and only works for GPIO bindings where #gpio-cells is 2. Add new functions to request GPIOs, taking full account of the device tree binding. These permit requesting a GPIO with a simple call like: gpio_request_by_name(dev, "cd-gpios", 0, &desc, GPIOD_IS_IN); This will request the GPIO, looking at the device's node which might be this, for example: cd-gpios = <&gpio TEGRA_GPIO(B, 3) GPIO_ACTIVE_LOW>; The GPIO will be set to input mode in this case and polarity will be honoured by the GPIO calls. It is also possible to request and free a list of GPIOs. Signed-off-by: Simon Glass <[email protected]>
2015-01-29dm: gpio: Add a driver GPIO translation methodSimon Glass
Only the GPIO driver knows about the full GPIO device tree binding used by a device. Add a method to allow the driver to provide this information to the uclass, including the GPIO offset within the device and flags such as the polarity. Signed-off-by: Simon Glass <[email protected]>
2015-01-29dm: gpio: Add a native driver model APISimon Glass
So far driver model's GPIO uclass just implements the existing GPIO API. This has some limitations: - it requires manual device tree munging to support GPIOs in device tree (fdtdec_get_gpio() and friends) - it does not understand polarity - it is somewhat slower since we must scan for the GPIO device each time - Global GPIO numbering can change if other GPIO drivers are probed - it requires extra steps to set the GPIO direction and value The new functions have a dm_ prefix where necessary to avoid name conflicts but we can remove that when it is no-longer needed. The new struct gpio_desc holds all required information about the GPIO. For now this is intended to be stored by the client requesting the GPIO, but in future it might be brought into the uclass in some way. With these changes the old GPIO API still works, and uses the driver model API underneath. Signed-off-by: Simon Glass <[email protected]>
2015-01-29dm: fdt: Add a function to decode phandles with argumentsSimon Glass
For GPIOs and other functions we want to look up a phandle and then decode a list of arguments for that phandle. Each phandle can have a different number of arguments, specified by a property in the target node. This is the "#gpio-cells" property for GPIOs. Add a function to provide this feature, taken modified from Linux 3.18. Signed-off-by: Simon Glass <[email protected]>
2015-01-29generic-board: show model name in board_init_f() tooMasahiro Yamada
The common/board_r.c has show_model_r() to display the model name if the DTB has a "model" property. It sounds useful to have a similar function in common/board_f.c too because most of the boards show their board name before relocation. Instead of implementing the same function in both common/board_f.c and common/board_r.c, let's split it up into common/show_board_info.c. Signed-off-by: Masahiro Yamada <[email protected]> Acked-by: Simon Glass <[email protected]>
2015-01-29ARM: UniPhier: enable CONFIG_I2C_EEPROMMasahiro Yamada
Signed-off-by: Masahiro Yamada <[email protected]> Acked-by: Simon Glass <[email protected]>
2015-01-29dumpimage: fit: extract FIT imagesGuilherme Maciel Ferreira
The dumpimage is able to extract components contained in a FIT image: $ ./dumpimage -T flat_dt -i CONTAINER.ITB -p INDEX FILE The CONTAINER.ITB is a regular FIT container file. The INDEX is the poisition of the sub-image to be retrieved, and FILE is the file (path+name) to save the extracted sub-image. For example, given the following kernel.its to build a kernel.itb: /dts-v1/; / { ... images { kernel@1 { description = "Kernel 2.6.32-34"; data = /incbin/("/boot/vmlinuz-2.6.32-34-generic"); type = "kernel"; arch = "ppc"; os = "linux"; compression = "gzip"; load = <00000000>; entry = <00000000>; hash@1 { algo = "md5"; }; }; ... }; ... }; The dumpimage can extract the 'kernel@1' node through the following command: $ ./dumpimage -T flat_dt -i kernel.itb -p 0 kernel Extracted: Image 0 (kernel@1) Description: Kernel 2.6.32-34 Created: Wed Oct 22 15:50:26 2014 Type: Kernel Image Compression: gzip compressed Data Size: 4040128 Bytes = 3945.44 kB = 3.85 MB Architecture: PowerPC OS: Linux Load Address: 0x00000000 Entry Point: 0x00000000 Hash algo: md5 Hash value: 22352ad39bdc03e2e50f9cc28c1c3652 Which results in the file 'kernel' being exactly the same as '/boot/vmlinuz-2.6.32-34-generic'. Signed-off-by: Guilherme Maciel Ferreira <[email protected]>
2015-01-29linker_lists: fix misspellingsGuilherme Maciel Ferreira
Signed-off-by: Guilherme Maciel Ferreira <[email protected]>
2015-01-29distro_distro_bootcmd: use CONFIG_BOOTCOMMAND instead of setting bootcmd=Sjoerd Simons
Move the bootcmd commands into a seperate distro_bootcmd environment variable. Allowing a user to easily launch the distro boot sequence if the default bootcmd did not default to distro boot commands. Also set CONFIG_BOOTCOMMAND to "run distro_bootcmd" if it hasn't been configured yet rather then putting it directly in the environment. This allows boards to make the distro boot commands available without necessarily default to them or to use them as a fallback after running some board specific commands instead. Signed-off-by: Sjoerd Simons <[email protected]> Reviewed-by: Stephen Warren <[email protected]>
2015-01-29config_distro_bootcmd: Scan all partitions for boot filesSjoerd Simons
Not all devices use the convention that the boot scripts are on the first partition. For example on chromebooks it seems common for the first two partitions to be ChromeOS kernel partitions. So instead of just the first partition scan all partitions on a device with a filesystem u-boot can recognize. Signed-off-by: Sjoerd Simons <[email protected]>
2015-01-29fs: Add command to retrieve the filesystem typeSjoerd Simons
New command to determine the filesystem type of a given partition. Optionally stores the filesystem type in a environment variable. Signed-off-by: Sjoerd Simons <[email protected]> Reviewed-by: Stephen Warren <[email protected]>
2015-01-29arm, imx6, aristainetos: board updatesHeiko Schocher
- use linux display timing settings - change backlight duty cycle 500ns - some defaultenvironment changes - change fit_addr_r to 0x14000000 as needed if MAX_LOCKDEP_SUBCLASSES in linux gets increased. - Environment now at 0xd0000 in nand flash Signed-off-by: Heiko Schocher <[email protected]>
2015-01-29OMAP3: igep00x0: Fix boot hang and add support for status LED.Enric Balletbo i Serra
Use the STATUS_LED APIs for indicating a boot progress instead of show_boot_progress. This patch also fixes a problem introduced with commit b3f4ca1135 (dm: omap3: Move to driver model for GPIO and serial). After that commit the board doesn't boot. Looks like the problem is the gpio_request call inside the function show_boot_progress. Signed-off-by: Enric Balletbo i Serra <[email protected]>
2015-01-29Nokia RX-51: Use generic boardPali Rohár
Generic board with #define CONFIG_SYS_GENERIC_BOARD is working fine. There is no visible difference between legacy and generic board code. Signed-off-by: Pali Rohár <[email protected]> Acked-by: Pavel Machek <[email protected]>
2015-01-29am335x_evm: Enable CONFIG_NAND_OMAP_GPMC_PREFETCHTom Rini
Signed-off-by: Tom Rini <[email protected]>
2015-01-29common: convert compulab splash load code to common codeNikita Kiryanov
Move board/compulab/common/splash.c code to common/splash_source.c to make it available for everybody. This move renames cl_splash_screen_prepare() to splash_source_load(), and the compilation of this code is conditional on CONFIG_SPLASH_SOURCE. splash_source features: * Provide a standardized way for declaring board specific splash screen locations * Provide existing routines for auto loading the splash image from the locations as declared by the board * Introduce the "splashsource" environment variable, which makes it possible to select the splash image source. cm-t35 and cm-fx6 are updated to use the modified version. Signed-off-by: Nikita Kiryanov <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Tom Rini <[email protected]> Cc: Igor Grinberg <[email protected]> Cc: Anatolij Gustschin <[email protected]> Reviewed-by: Tom Rini <[email protected]> Acked-by: Igor Grinberg <[email protected]>
2015-01-29arm: mx6: cm-fx6: add splash screen supportNikita Kiryanov
Add support for splash screen. The splash screen is loaded from the SPI flash and is displayed on the HDMI display. Signed-off-by: Nikita Kiryanov <[email protected]> [[email protected]: minor code and commit message updates] Signed-off-by: Igor Grinberg <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Igor Grinberg <[email protected]>
2015-01-29arm: mx6: cm-fx6: add support for usb keyboardNikita Kiryanov
Add support for usb keyboard for cm_fx6. Signed-off-by: Nikita Kiryanov <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Igor Grinberg <[email protected]> Acked-by: Igor Grinberg <[email protected]>
2015-01-29arm: mx6: cm-fx6: display compulab logoNikita Kiryanov
Add compulab logo and display it on boot. Signed-off-by: Nikita Kiryanov <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Igor Grinberg <[email protected]> Acked-by: Igor Grinberg <[email protected]>
2015-01-29arm: mx6: cm-fx6: add hdmi console supportNikita Kiryanov
Add support for hdmi console. Signed-off-by: Nikita Kiryanov <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Igor Grinberg <[email protected]> Acked-by: Igor Grinberg <[email protected]>
2015-01-29arm: mx6: cm-fx6: increase size of malloc areaNikita Kiryanov
Increase size of malloc area to make room for framebuffer and other such big allocations. Signed-off-by: Nikita Kiryanov <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Igor Grinberg <[email protected]>
2015-01-29arm: mx6: cm-fx6: expand boot sequenceNikita Kiryanov
Expand boot sequence to the following order: 1) mmc boot: mmc boot script, then mmc bootm, then mmc bootz. 2) usb boot: usb boot script. 3) sata boot: sata boot script, sata bootm, sata bootz. 4) nand boot: nand bootm, then nand bootz. Signed-off-by: Nikita Kiryanov <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Igor Grinberg <[email protected]> Acked-by: Igor Grinberg <[email protected]>
2015-01-29malta: enable ELF loadingPaul Burton
The ability to load ELF files is sometimes useful on Malta boards, particularly for use with small embedded applications. Enable the loadelf command in the malta config. Signed-off-by: Paul Burton <[email protected]> Cc: Daniel Schwierzeck <[email protected]>
2015-01-29malta: enable HUSH parserPaul Burton
The malta board is used for development and thus the shell is interacted with often. Enable HUSH to make the experience a little more pleasant. Signed-off-by: Paul Burton <[email protected]> Cc: Daniel Schwierzeck <[email protected]>
2015-01-29malta: IDE supportPaul Burton
This patch adds IDE support to the MIPS Malta board. The IDE controller is enabled after probing the PCI bus and otherwise just makes use of U-boot generic IDE support. Signed-off-by: Paul Burton <[email protected]> Cc: Daniel Schwierzeck <[email protected]>
2015-01-28ubifs: Import atomic_long operations from LinuxAnton Habegger
This commit is a preperation for a subsequent UBIFS commit which needs atomic_long operations. Therefor "include/asm-generic/atomic-long.h" is imported from 1860e37 Linux 3.15 Signed-off-by: Anton Habegger <[email protected]>
2015-01-26Merge branch 'master' of git://git.denx.de/u-boot-x86Tom Rini
2015-01-26Merge branch 'master' of git://git.denx.de/u-boot-atmelTom Rini
2015-01-26Merge branch 'zynq' of git://www.denx.de/git/u-boot-microblazeTom Rini
2015-01-26ARM: zynq: Add USB lthor download protocol supportSiva Durga Prasad Paladugu
updated the zynq config to support the lthor download protocol. This lthor functionality helps us to load linux images on to DDR/MMC and can boot linux using bootm. In order to load images the user should run lthor command run "thor_ram" from u-boot prompt and then send the images from host using lthor utility. Define g_dnl_bind_fixup for zynq so that correct vendor and product ids assigned incase of DFU and lthor. Signed-off-by: Siva Durga Prasad Paladugu <[email protected]> Signed-off-by: Michal Simek <[email protected]>
2015-01-26ARM: zynq: Enable DFU functionality in zynqSiva Durga Prasad Paladugu
Enable DFU functionality in zynq. This DFU functionality helps us to load linux images on to DDR and can boot linux using bootm. In order to load images the user should run dfu command "dfu 0 ram 0" from u-boot prompt and then send the images from host. The malloc size has been increased to match the DFU buffer requirements. Signed-off-by: Siva Durga Prasad Paladugu <[email protected]> Signed-off-by: Michal Simek <[email protected]>
2015-01-26ARM: zynq: provide config option to select emioSiva Durga Prasad Paladugu
Dont send always emio value as zero for zynq_gem_initialize send it based on config. Signed-off-by: Siva Durga Prasad Paladugu <[email protected]> Signed-off-by: Michal Simek <[email protected]>