summaryrefslogtreecommitdiffstats
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
...
* | net: Fix incorrect DHCP/BOOTP packets on 64-bit systemsSergey Temerkhanov2015-04-181-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | This commit fixes incorrect DHCP/BOOTP packet layout caused by 'ulong' type size difference on 64 and 32-bit architectures. It also renames NetReadLong()/NetCopyLong() to net_read_u32/net_copy_u32() accordingly. Signed-off-by: Radha Mohan Chintakuntla <rchintakuntla@cavium.com> Signed-off-by: Sergey Temerkhanov <s.temerkhanov@gmail.com> Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
* | net: cosmetic: Fix checkpatch.pl failures in net.cJoe Hershberger2015-04-181-11/+7
| | | | | | | | | | | | | | Finish eliminating CamelCase from net.c and other failures Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
* | net: cosmetic: Fix checkpatch.pl failures in net.hJoe Hershberger2015-04-181-6/+6
| | | | | | | | | | | | | | | | There were still a few remaining complains in the legacy eth_device definition that hadn't been addressed. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
* | net: cosmetic: Clean up cmd_net variables and functionsJoe Hershberger2015-04-181-5/+5
| | | | | | | | | | | | | | | | Make a thorough pass through all variables and function names contained within common/cmd_net.c and remove CamelCase and improve naming. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
* | net: cosmetic: Clean up netconsole variables and functionsJoe Hershberger2015-04-181-1/+1
| | | | | | | | | | | | | | | | Make a thorough pass through all variables and function names contained within netconsole.c and remove CamelCase and improve naming. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
* | net: cosmetic: Clean up DNS variables and functionsJoe Hershberger2015-04-181-2/+2
| | | | | | | | | | | | | | | | Make a thorough pass through all variables and function names contained within dns.c and remove CamelCase and improve naming. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
* | net: cosmetic: Clean up CDP variables and functionsJoe Hershberger2015-04-181-2/+2
| | | | | | | | | | | | | | | | Make a thorough pass through all variables and function names contained within cdp.c and remove CamelCase and improve naming. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
* | net: cosmetic: Fix var naming net <-> eth driversJoe Hershberger2015-04-181-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the naming convention used in the network stack functions and variables that Ethernet drivers use to interact with it. This cleans up the temporary hacks that were added to this interface along with the DM support. This patch has a few remaining checkpatch.pl failures that would be out of the scope of this patch to fix (drivers that are in gross violation of checkpatch.pl). Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
* | net: cosmetic: Cleanup internal packet buffer namesJoe Hershberger2015-04-181-8/+8
| | | | | | | | | | | | | | This patch cleans up the names of internal packet buffer names that are used within the network stack and the functions that use them. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
* | net: cosmetic: Name ethaddr variables consistentlyJoe Hershberger2015-04-181-19/+19
| | | | | | | | | | | | | | | | Use "_ethaddr" at the end of variables and drop CamelCase. Make constant values actually 'const'. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
* | net: cosmetic: Fixup var names for DHCP stringsJoe Hershberger2015-04-181-3/+3
| | | | | | | | | | | | | | | | Remove CamelCase variable naming. Move the definition to the same compilation unit as the primary use. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
* | net: cosmetic: Fixup var names related to boot fileJoe Hershberger2015-04-181-4/+5
| | | | | | | | | | | | | | | | The variables around the bootfile were inconsistent and used CamelCase. Update them to make the code more readable. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
* | net: cosmetic: Change IPaddr_t to struct in_addrJoe Hershberger2015-04-182-31/+34
| | | | | | | | | | | | | | | | | | This patch is simply clean-up to make the IPv4 type that is used match what Linux uses. It also attempts to move all variables that are IP addresses use good naming instead of CamelCase. No functional change. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
* | dm: test: Allow 'dm test' to select a particular test to runSimon Glass2015-04-181-3/+4
| | | | | | | | | | | | | | As well as running all tests, it is useful to be able to run a selected test. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
* | dm: usb: sandbox: Enable USBSimon Glass2015-04-181-0/+2
| | | | | | | | | | | | | | | | Enable USB emulation and associated features so that USB can be used in sandbox. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
* | dm: usb: Tidy up pipe value decodingSimon Glass2015-04-181-6/+17
| | | | | | | | | | | | | | | | Add a few more shifts/masks to make it easier to decode a pipe value (rather than just building it). We need this for USB device emulation. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
* | dm: usb: Add a generic descriptor structSimon Glass2015-04-181-0/+5
| | | | | | | | | | | | | | | | This is useful for creating lists of descriptors, and is better than using void * for this purpose. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
* | dm: usb: exynos: Enable both USB ports on snowSimon Glass2015-04-181-0/+2
| | | | | | | | | | | | | | Switch snow over to use both EHCI and XHCI at the same time. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
* | dm: usb: sandbox: Add an emulator for USB hub emulationSimon Glass2015-04-181-0/+3
| | | | | | | | | | | | | | | | All USB controllers need a root hub. Add a sandbox emulation for this so that we can add USB devices to sandbox. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
* | dm: usb: sandbox: Add an emulator for USB flash devicesSimon Glass2015-04-181-0/+1
| | | | | | | | | | | | | | | | | | | | This emulator supports USB enumeration and allows a local file to be provided as the contents of the emulated flash stick. U-Boot can then use the file as it would a normal device, with all access passing through the usb_stor layer and the USB stack. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
* | dm: usb: sandbox: Add a uclass for USB device emulationSimon Glass2015-04-182-1/+64
| | | | | | | | | | | | | | | | | | | | With sandbox we want to be able to emulate USB devices so that we can test the USB stack. Add a uclass to support this. It implements the same operations as a normal USB device driver, but in this case passes them on to an emulation driver. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
* | dm: usb: Move struct usb_string to a common placeSimon Glass2015-04-182-13/+13
| | | | | | | | | | | | | | | | This is needed for sandbox USB device emulation, so move it to a place where it can be found by things other than gadgets. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
* | dm: usb: Bind generic USB devices when there is no driverSimon Glass2015-04-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At present USB devices with no driver model driver cannot be seen in the device list, and we fail to set them up correctly. This means they cannot be used. While having real drivers that support driver model for all USB devices is the eventual goal, we are not there yet. As a stop-gap, add a generic USB driver which is bound when we do not have a real driver. This allows the device to be set up and shown on the bus. It also allows ad-hoc code (such as usb_ether) to find these devices and set them up. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
* | dm: usb: Allow USB drivers to be declared and auto-probedSimon Glass2015-04-181-0/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | USB devices in U-Boot are currently probed only after all devices have been enumerated. Each type of device is probed by custom code, e.g.: - USB storage - Keyboard - Ethernet With driver model this approach doesn't work very well. We could build a picture of the bus and then go back and add the devices later, but this means that the data structures are incomplete for quite a while. It also does not follow the model of being able to bind a device when we discover it. We would prefer to have devices automatically be bound as the device is enumerated. This allows us to attach drivers to particular USB classes or product/vendor IDs. This is the method used by Linux. Add the required #defines from Linux, a way of declaring a USB driver and the logic to locate the correct driver given the USB device's descriptors. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
* | dm: usb: Move USB storage definitions to usb_defs.hSimon Glass2015-04-181-0/+42
| | | | | | | | | | | | | | | | These are better off in a header file so they can be used by other code (e.g. the sandbox USB storage emulator). Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
* | dm: usb: Add driver model support for hubsSimon Glass2015-04-181-0/+1
| | | | | | | | | | | | | | | | Adjust the existing hub code to support driver model, and add a USB driver for hubs. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
* | dm: usb: Refactor port resetsSimon Glass2015-04-181-1/+17
| | | | | | | | | | | | | | | | Move the port reset code into its own function. Rename usb_hub_reset() to indicate that is is now a legacy function. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
* | dm: usb: Adjust usb_alloc_new_device() to return an errorSimon Glass2015-04-181-2/+18
| | | | | | | | | | | | | | | | | | | | This function returns NULL on error at present. Adjust it so that we can return a real error, as is needed with driver model. Also improve the error handling in its caller, usb_hub_port_connect_change(), and adjust the code order to prepare for driver model. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
* | dm: usb: Add a uclass for USB controllersSimon Glass2015-04-182-5/+281
| | | | | | | | | | | | | | | | Add a uclass that can represent a USB controller. For now we do not create devices for things attached to the controller. This will be added later. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
* | dm: core: Add device children and sibling functionsSimon Glass2015-04-181-0/+30
| | | | | | | | | | | | | | | | Add some utility functions to check for children and for the last sibling in a device's parent. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
* | dm: core: Rename driver data function to dev_get_driver_data()Simon Glass2015-04-181-5/+11
| | | | | | | | | | | | | | | | | | The existing get_get_of_data() function provides access to both the driver's compatible string and its driver data. However only the latter is actually useful. Update the interface to reflect this and fix up existing users. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
* | dm: core: Convert driver_bind() to use constSimon Glass2015-04-182-2/+2
| | | | | | | | | | | | | | | | The driver is not modified by driver model, so update driver_bind() to recognise that. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
* | dm: core: Support allocating driver-private data for DMASimon Glass2015-04-181-0/+3
| | | | | | | | | | | | | | | | | | Some driver want to put DMA buffers in their private data. Add a flag to tell driver model to align driver-private data to a cache boundary so that DMA will work correctly in this case. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
* | sandbox: Fix comment for os_open()Simon Glass2015-04-181-1/+1
| | | | | | | | | | | | | | This has the wrong #define in the function comment. Fix it. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
* | linker_lists: Add a function to access a linker list entrySimon Glass2015-04-181-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | Once declared, you cannot access a linker_list entry since you do not have a symbol name for it. Add llsym() macro to provide this. This avoids searching for the symbol at run-time based on name. An example usage is to declare a driver with U_BOOT_DRIVER(), then obtain a pointer to that driver later. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
* | dm: eth: Provide a way for drivers to manage packet buffersJoe Hershberger2015-04-181-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | Some drivers need a chance to manage their receive buffers after the packet has been handled by the network stack. Add an operation that will allow the driver to be called in that case. Reported-by: Simon Glass <sjg@chromium.org> Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org> Tested-by: Simon Glass <sjg@chromium.org> Tested-on: pcduino3
* | dm: spi: Convert Freescale DSPI driver to driver modelHaikun.Wang@freescale.com2015-04-181-0/+150
| | | | | | | | | | | | | | Move the Freescale DSPI driver over to driver model. Signed-off-by: Haikun Wang <Haikun.Wang@freescale.com> Acked-by: Simon Glass <sjg@chromium.org>
* | cros_ec: exynos: Match up device tree with kernel versionSimon Glass2015-04-181-1/+0
| | | | | | | | | | | | | | | | | | | | | | The U-Boot device trees are slightly different in a few places. Adjust them to remove most of the differences. Note that U-Boot does not support the concept of interrupts as distinct from GPIOs, so this difference remains. For sandbox, use the same keyboard file as for ARM boards and drop the host emulation bus which seems redundant. Signed-off-by: Simon Glass <sjg@chromium.org>
* | fdt: Drop LPC compatible string in fdtdecSimon Glass2015-04-181-1/+0
| | | | | | | | | | | | | | This is not needed now that we have moved chromebook_link and cros_ec to driver model. Signed-off-by: Simon Glass <sjg@chromium.org>
* | fdt: cros_ec: Drop compatible string in fdtdecSimon Glass2015-04-181-1/+0
| | | | | | | | | | | | This is not needed now that we have moved to driver model. Signed-off-by: Simon Glass <sjg@chromium.org>
* | cros_ec: Remove unused cros_ec_board_init() functionSimon Glass2015-04-181-7/+0
| | | | | | | | | | | | Now that driver model handles cros_ec init, we can drop this special code. Signed-off-by: Simon Glass <sjg@chromium.org>
* | exynos: cros_ec: Drop unnecessary initSimon Glass2015-04-183-4/+0
| | | | | | | | | | | | | | Since driver model will probe the EC when it is first used, we do not need to init it explicitly. Signed-off-by: Simon Glass <sjg@chromium.org>
* | sandbox: cros_ec: Drop unnecessary initSimon Glass2015-04-181-1/+0
| | | | | | | | | | | | | | Since driver model will probe the EC when it is first used, we do not need to init it explicitly. Signed-off-by: Simon Glass <sjg@chromium.org>
* | cros_ec: Drop unused CONFIG_DM_CROS_ECSimon Glass2015-04-181-130/+0
| | | | | | | | | | | | | | Since all supported boards enable this option now, we can remove it along with the old code. Signed-off-by: Simon Glass <sjg@chromium.org>
* | x86: chromebook_link: dts: Add PCH and LPC devicesSimon Glass2015-04-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | The PCH (Platform Controller Hub) is on the PCI bus, so show it as such. The LPC (Low Pin Count) and SPI bus are inside the PCH, so put these in the right place also. Rename the compatible strings to be more descriptive since this board is the only user. Once we are using driver model fully on x86, these will be dropped. Signed-off-by: Simon Glass <sjg@chromium.org>
* | dm: x86: Add a uclass for an Low Pin Count (LPC) deviceSimon Glass2015-04-181-0/+1
| | | | | | | | | | | | | | | | | | On x86 systems this device is commonly used to provide legacy port access. It is sort-of a replacement for the old ISA bus. Add a uclass for this, and allow it to have child devices. Signed-off-by: Simon Glass <sjg@chromium.org>
* | dm: x86: spi: Convert ICH SPI driver to driver modelSimon Glass2015-04-181-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | Convert this driver over to use driver model. Since all x86 platforms use it, move x86 to use driver model for SPI and SPI flash. Adjust all dependent code and remove the old x86 spi_init() function. Note that this does not make full use of the new PCI uclass as yet. We still scan the bus looking for the device. It should move to finding its details in the device tree. Signed-off-by: Simon Glass <sjg@chromium.org>
* | dm: sf: Add driver model read/write/erase methodsSimon Glass2015-04-181-6/+41
| | | | | | | | | | | | | | | | Permit use of a udevice to talk to SPI flash. Ultimately we would like to retire the use of 'struct spi_flash' for this purpose, so create the new API for those who want to move to it. Signed-off-by: Simon Glass <sjg@chromium.org>
* | net: Improve error handlingJoe Hershberger2015-04-181-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | Take a pass at plumbing errors through to the users of the network stack Currently only the start() function errors will be returned from NetLoop(). recv() tends not to have errors, so that is likely not worth adding. send() certainly can return errors, but this patch does not attempt to plumb them yet. halt() is not expected to error. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* | sandbox: Enable DHCP and IP defragJoe Hershberger2015-04-181-0/+8
| | | | | | | | | | | | | | This is now testable via the eth-raw interface Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Reviewed-by: Simon Glass <sjg@chromium.org>