summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2014-10-22fdt: Add resource parsing functionsThierry Reding
Add the fdt_get_resource() and fdt_get_named_resource() functions which can be used to parse resources (memory regions) from an FDT. A helper to compute the size of a region is also provided. Signed-off-by: Thierry Reding <[email protected]> Acked-by: Simon Glass <[email protected]>
2014-10-22fdt: Add functions to retrieve stringsThierry Reding
Given a device tree node, a property name and an index, the new function fdt_get_string_index() will return in an output argument a pointer to the index'th string in the property's value. The fdt_get_string() is a shortcut for the above with the index being 0. Signed-off-by: Thierry Reding <[email protected]> Acked-by: Simon Glass <[email protected]>
2014-10-22fdt: Add a function to get the index of a stringThierry Reding
Given a device tree node and a property name, the new fdt_find_string() function will look up a given string in the string list contained in the property's value and return its index. Signed-off-by: Thierry Reding <[email protected]> Acked-by: Simon Glass <[email protected]>
2014-10-22fdt: Add a function to count stringsThierry Reding
Given a device tree node and a property name, the fdt_count_strings() function counts the number of strings found in the property value. Signed-off-by: Thierry Reding <[email protected]> Acked-by: Simon Glass <[email protected]>
2014-10-22ARM: rpi_b: enable USB/DHCP/PXE in bootcmdStephen Warren
USB support must be enabled before config_distro_bootcmd.h is included for bootcmd to include USB-related functionality. Signed-off-by: Stephen Warren <[email protected]>
2014-10-22ARM: rpi_b: query internal MAC address from firmwareStephen Warren
The built-in SMSC 95xx chip doesn't know its own MAC address. Instead, we must query it from the VC firmware; it's probably encoded in fuses on the BCM2835. Signed-off-by: Stephen Warren <[email protected]>
2014-10-22arm: rpi: Enable USB support on RPiMarek Vasut
Enable DWC2 USB, storage and ethernet support. Tested on RPi B+. Signed-off-by: Marek Vasut <[email protected]> Cc: Stephen Warren <[email protected]> Cc: Chin Liang See <[email protected]> Cc: Dinh Nguyen <[email protected]> Cc: Albert Aribaud <[email protected]> Cc: Tom Rini <[email protected]> Cc: Wolfgang Denk <[email protected]> Cc: Pavel Machek <[email protected]>
2014-10-22usb: dwc2: Add driver for Synopsis DWC2 USB IP blockOleksandr Tymoshenko
This is the USB host controller used on the Altera SoCFPGA and Raspbery Pi. This code has three checkpatch warnings, but to make sure it stays at least readable and clear, these are not fixed. These bugs are in the USB request handling combinatorial logic, so any abstracting of those is out of question. Tested on DENX MCV (Altera SoCFPGA 5CSFXC6C6U23C8N) and RPi B+ (BCM2835). Signed-off-by: Oleksandr Tymoshenko <[email protected]> Signed-off-by: Stephen Warren <[email protected]> Signed-off-by: Marek Vasut <[email protected]> Cc: Chin Liang See <[email protected]> Cc: Dinh Nguyen <[email protected]> Acked-by: Pavel Machek <[email protected]> Cc: Vince Bridgers <[email protected]> Tested-by: Dinh Nguyen <[email protected]>
2014-10-22Merge git://git.denx.de/u-boot-dmTom Rini
2014-10-22dm: serial: Tidy up the pl01x driverSimon Glass
Adjust the driver so that leaf functions take a pointer to the serial port register base. Put all the global configuration in the init function, and use the same settings from then on. This makes it much easier to move to driver model without duplicating the code, since with driver model we use platform data rather than global settings. The driver is compiled with either the CONFIG_PL010_SERIAL or CONFIG_PL011_SERIAL option and this determines the uart type. With driver model this needs to come in from platform data, so create a new CONFIG_PL01X_SERIAL config which brings in the driver, and adjust the driver to support both peripheral variants. Signed-off-by: Simon Glass <[email protected]> Tested-by: Stephen Warren <[email protected]>
2014-10-22dm: rpi: Convert GPIO driver to driver modelSimon Glass
Convert the BCM2835 GPIO driver to use driver model, and switch over Raspberry Pi to use this, since it is the only board. Signed-off-by: Simon Glass <[email protected]> Tested-by: Stephen Warren <[email protected]> Acked-by: Stephen Warren <[email protected]>
2014-10-22dm: core: Add support for simple-busSimon Glass
Add a driver for the simple-bus nodes, which allows devices within these nodes to be bound. Signed-off-by: Simon Glass <[email protected]>
2014-10-22dm: imx: Move cm_fx6 to use driver model for serial and GPIOSimon Glass
Now that serial and GPIO are available for iMX.6, move cm_fx6 over as an example. Acked-by: Igor Grinberg <[email protected]> Signed-off-by: Simon Glass <[email protected]> Acked-by: Nikita Kiryanov <[email protected]>
2014-10-22dm: imx: serial: Support driver model in the MXC serial driverSimon Glass
Add driver model support with this driver. Boards which use this driver should define platform data in their board files. Signed-off-by: Simon Glass <[email protected]>
2014-10-22dm: core: Allow a list of devices to be declared in one stepSimon Glass
The U_BOOT_DEVICE macro allows the declaration of a single U-Boot device. Add an equivalent macro to declare an array of devices, for convenience. Signed-off-by: Simon Glass <[email protected]>
2014-10-22dm: linker_lists: Add a way to declare multiple objectsSimon Glass
The existing ll_entry_declare() permits a single element of the list to be added to a linker list. Sometimes we want to add several objects at once. To avoid lots of messy declarations, add a macro to support this. Signed-off-by: Simon Glass <[email protected]>
2014-10-22dm: exynos: cros_ec: Move cros_ec_spi to driver modelSimon Glass
Adjust this driver to use driver model and move smdk5420 boards over to use it. Acked-by: Jagannadha Sutradharudu Teki <[email protected]> Signed-off-by: Simon Glass <[email protected]>
2014-10-22dm: sandbox: cros_ec: Move sandbox cros_ec to driver moduleSimon Glass
Adjust the sandbox cros_ec emulation driver to work with driver model, and switch over to driver model for sandbox cros_ec. Signed-off-by: Simon Glass <[email protected]> Acked-by: Jagannadha Sutradharudu Teki <[email protected]>
2014-10-22dm: cros_ec: Add support for driver modelSimon Glass
Add support for driver model if enabled. This involves minimal changes to the code, mostly just plumbing around the edges. Signed-off-by: Simon Glass <[email protected]> Acked-by: Jagannadha Sutradharudu Teki <[email protected]>
2014-10-22dm: tegra: spi: Convert to driver modelSimon Glass
This converts the Tegra SPI drivers to use driver model. This is tested on: - Tegra20 - trimslice - Tegra30 - beaver - Tegra124 - dalmore (not tested on Tegra124) Reviewed-by: Jagannadha Sutradharudu Teki <[email protected]> Signed-off-by: Simon Glass <[email protected]>
2014-10-22dm: exynos: config: Use driver model for SPI flashSimon Glass
Use driver model for exynos5 board SPI flash. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Jagannadha Sutradharudu Teki <[email protected]>
2014-10-22dm: sf: sandbox: Convert SPI flash driver to driver modelSimon Glass
Convert sandbox's spi flash emulation driver to use driver model. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Jagannadha Sutradharudu Teki <[email protected]>
2014-10-22dm: sf: Add a uclass for SPI flashSimon Glass
Add a driver model uclass for SPI flash which supports the common operations (read, write, erase). Since we must keep support for the non-dm interface, some modification of the spi_flash header is required. CONFIG_DM_SPI_FLASH is used to enable driver model for SPI flash. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Jagannadha Sutradharudu Teki <[email protected]>
2014-10-22sf: Tidy up public and private header filesSimon Glass
Since spi_flash.h is supposed to be the public API for SPI flash, move private things to sf_internal.h. Also tidy up a few comment nits. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Jagannadha Sutradharudu Teki <[email protected]>
2014-10-22exynos: universal_c210: Move to driver model soft_spiSimon Glass
Adjust this board to use the driver model soft_spi implementation. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Jagannadha Sutradharudu Teki <[email protected]>
2014-10-22dm: exynos: Convert SPI to driver modelSimon Glass
Move the exynos SPI driver over to driver model. This removes quite a bit of boilerplate from the driver, although it adds some for driver model. A few device tree additions are needed to make the SPI flash available. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Jagannadha Sutradharudu Teki <[email protected]>
2014-10-22dm: spi: Remove SPI_INIT featureSimon Glass
This feature provides for init of a single SPI port for the soft SPI feature. It is not really compatible with driver model since it assumes a single SPI port. Also, inserting SPI init into the driver by means of a #define is not very nice. This feature is not used by any active boards, so let's remove it. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Jagannadha Sutradharudu Teki <[email protected]>
2014-10-22dm: sandbox: spi: Move to driver modelSimon Glass
Adjust the sandbox SPI driver to support driver model and move sandbox over to driver model for SPI. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Jagannadha Sutradharudu Teki <[email protected]>
2014-10-22dm: sandbox: Add a SPI emulation uclassSimon Glass
U-Boot includes a SPI emulation driver already but it is not explicit, and is hidden in the SPI flash code. Conceptually with sandbox's SPI implementation we have a layer which creates SPI bus transitions and a layer which interprets them, currently only for SPI flash. The latter is actually an emulation, and it should be possible to add more than one emulation - not just SPI flash. Add a SPI emulation uclass so that other emulations can be plugged in to support different types of emulated devices on difference buses/chip selects. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Jagannadha Sutradharudu Teki <[email protected]>
2014-10-22dm: spi: Add a uclass for SPISimon Glass
Add a uclass which provides access to SPI buses and includes operations required by SPI. For a time driver model will need to co-exist with the legacy SPI interface so some parts of the header file are changed depending on which is in use. The exports are adjusted also since some functions are not available with driver model. Boards must define CONFIG_DM_SPI to use driver model for SPI. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Jagannadha Sutradharudu Teki <[email protected]> (Discussed some follow-up comments which will address in future add-ons)
2014-10-22dm: core: Add a clarifying comment on struct udevice's seq memberSimon Glass
The sequence number is unique within the uclass, so state this clearly. Signed-off-by: Simon Glass <[email protected]> Acked-by: Jagannadha Sutradharudu Teki <[email protected]>
2014-10-22dm: core: Allow parents to pass data to children during probeSimon Glass
Buses sometimes want to pass data to their children when they are probed. For example, a SPI bus may want to tell the slave device about the chip select it is connected to. Add a new function to permit the parent data to be supplied to the child. Signed-off-by: Simon Glass <[email protected]> Acked-by: Jagannadha Sutradharudu Teki <[email protected]>
2014-10-22dm: core: Add functions for iterating through device childrenSimon Glass
Buses need to iterate through their children in some situations. Add a few functions to make this easy. Signed-off-by: Simon Glass <[email protected]> Acked-by: Jagannadha Sutradharudu Teki <[email protected]>
2014-10-22dm: exynos: Move serial to driver modelSimon Glass
Change the Exynos serial driver to work with driver model and switch over all relevant boards to use it. Signed-off-by: Simon Glass <[email protected]>
2014-10-22dm: exynos: gpio: Convert to driver modelSimon Glass
Convert the exynos GPIO driver to driver model. This implements the generic GPIO interface but not the extra Exynos-specific functions. Signed-off-by: Simon Glass <[email protected]>
2014-10-22dm: exynos: Move s5p_goni to generic boardSimon Glass
The generic board deadline is approaching, and we need this feature to enable driver model. Enable CONFIG_SYS_GENERIC_BOARD for s5p_goni. Signed-off-by: Simon Glass <[email protected]>
2014-10-22dm: exynos: Move smdkc100 to generic boardSimon Glass
The generic board deadline is approaching, and we need this feature to enable driver model. Enable CONFIG_SYS_GENERIC_BOARD for smdkc100. Signed-off-by: Simon Glass <[email protected]>
2014-10-22arm: goni: add i2c_init_board()Robert Baldyga
Add proper initialization of GPIO pins used by software i2c. Signed-off-by: Robert Baldyga <[email protected]> Acked-by: Simon Glass <[email protected]>
2014-10-22dm: add of_match_ptr() macroMasahiro Yamada
The driver model supports two ways for passing device parameters; Device Tree and platform_data (board file). Each driver should generally support both of them because some popular IPs are used on various platforms. Assume the following scenario: - The driver Foo is used on SoC Bar and SoC Baz - The SoC Bar uses Device Tree control (CONFIG_OF_CONTROL=y) - The SoC Baz does not support Device Tree; uses a board file In this situation, the device driver Foo should work with/without the device tree control. The driver should have .of_match and .ofdata_to_platdata members for SoC Bar, while they are meaningless for SoC Baz; therefore those device-tree control code should go inside #ifdef CONFIG_OF_CONTROL. The driver code will be like this: #ifdef CONFIG_OF_CONTROL static const struct udevice_id foo_of_match = { { .compatible = "foo_driver" }, {}, } static int foo_ofdata_to_platdata(struct udevice *dev) { ... } #endif U_BOOT_DRIVER(foo_driver) = { ... .of_match = of_match_ptr(foo_of_match), .ofdata_to_platdata = of_match_ptr(foo_ofdata_to_platdata), ... } This idea has been borrowed from Linux. (In Linux, this macro is defined in include/linux/of.h) Signed-off-by: Masahiro Yamada <[email protected]> Acked-by: Simon Glass <[email protected]>
2014-10-22dm: fix include guardMasahiro Yamada
Signed-off-by: Masahiro Yamada <[email protected]> Acked-by: Simon Glass <[email protected]>
2014-10-22dm: include <linker_lists.h> from platdata.h and uclass.hMasahiro Yamada
The header files include/dm/platdata.h and include/dm/uclass.h use ll_entry_declare(); therefore they depend on include/linker_lists.h. Signed-off-by: Masahiro Yamada <[email protected]> Acked-by: Simon Glass <[email protected]>
2014-10-22linker_lists: include <linux/compiler.h>Masahiro Yamada
The header file include/linker_lists.h uses __aligned(); therefore it depends on include/linux/compiler.h Signed-off-by: Masahiro Yamada <[email protected]> Acked-by: Simon Glass <[email protected]>
2014-10-22dm: fix commentsMasahiro Yamada
The struct udevice stands for a device, not a driver. The driver_info.name is a driver's name, which is referenced to bind devices. Signed-off-by: Masahiro Yamada <[email protected]> Acked-by: Simon Glass <[email protected]>
2014-10-22tegra: apalis_t30: master revampMarcel Ziswiler
Update Apalis T30 as per the following commits c369139234c03b1494394d12cd27009f47aa6606 tegra: dts: Add serial port details 461be2f96e4b87e5065208c6659a47dd0ad9e9f8 kconfig: remove redundant "string" type in arch and board Kconfigs f1ef2b62339526df3b921bcfefd174ce76d4c624 kconfig: move CONFIG_DEFAULT_DEVICE_TREE to kconfig Signed-off-by: Marcel Ziswiler <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2014-10-22tegra: colibri_t30: clean-up spurious new lineMarcel Ziswiler
Clean-up a spurious new line which got introduced resp. left behind by commit f1ef2b62339526df3b921bcfefd174ce76d4c624 kconfig: move CONFIG_DEFAULT_DEVICE_TREE to kconfig Signed-off-by: Marcel Ziswiler <[email protected]> Acked-by: Simon Glass <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2014-10-22tegra: clean-up useless defineMarcel Ziswiler
Wondering what exactly that one should bring (;-p). Looks like a remnant of the last commit 783e6a72b8278d59854ced41a4696c9a14abbb0b kconfig: move CONFIG_OF_* to Kconfig Signed-off-by: Marcel Ziswiler <[email protected]> Acked-by: Simon Glass <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2014-10-22gpio: header file comment spelling fixesMarcel Ziswiler
Signed-off-by: Marcel Ziswiler <[email protected]> Acked-by: Simon Glass <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2014-10-22arm: tegra: use architecture specific memcpyMarcel Ziswiler
Use architecture specific memcpy to speed up things. Signed-off-by: Marcel Ziswiler <[email protected]> Tested-by: Stephen Warren <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2014-10-22arm: tegra: initial support for apalis t30Marcel Ziswiler
This patch adds board support for the Toradex Apalis T30 a computer on module which can be used on different carrier boards. For the sake of ease of use we do not distinguish between different carrier boards for now as the base module features are deemed sufficient enough for regular booting. The following functionality is working so far: - eMMC boot and environment storage - Gigabit Ethernet (once Thierry's PCIe as well as my E1000 resp. i210 fixes hit mainline) - MMC/SD cards (both 8-bit as well as 4-bit slot) - USB client/host (dual role port as client e.g. for DFU/UMS, other two ports as host) Signed-off-by: Marcel Ziswiler <[email protected]> Acked-by: Stephen Warren <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2014-10-22x86: Support loading kernel setup from a FITSimon Glass
Add a new setup@ section to the FIT which can be used to provide a setup binary for booting Linux on x86. This makes it possible to boot x86 from a FIT. Signed-off-by: Simon Glass <[email protected]>