summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2015-04-18dm: usb: Add a uclass for USB controllersSimon Glass
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 <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2015-04-18dm: core: Add device children and sibling functionsSimon Glass
Add some utility functions to check for children and for the last sibling in a device's parent. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2015-04-18dm: core: Rename driver data function to dev_get_driver_data()Simon Glass
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 <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2015-04-18dm: core: Convert driver_bind() to use constSimon Glass
The driver is not modified by driver model, so update driver_bind() to recognise that. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2015-04-18dm: core: Support allocating driver-private data for DMASimon Glass
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 <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2015-04-18sandbox: Fix comment for os_open()Simon Glass
This has the wrong #define in the function comment. Fix it. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2015-04-18linker_lists: Add a function to access a linker list entrySimon Glass
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 <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2015-04-18dm: eth: Provide a way for drivers to manage packet buffersJoe Hershberger
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 <[email protected]> Signed-off-by: Joe Hershberger <[email protected]> Acked-by: Simon Glass <[email protected]> Tested-by: Simon Glass <[email protected]> Tested-on: pcduino3
2015-04-18dm: spi: Convert Freescale DSPI driver to driver model[email protected]
Move the Freescale DSPI driver over to driver model. Signed-off-by: Haikun Wang <[email protected]> Acked-by: Simon Glass <[email protected]>
2015-04-18cros_ec: exynos: Match up device tree with kernel versionSimon Glass
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 <[email protected]>
2015-04-18fdt: Drop LPC compatible string in fdtdecSimon Glass
This is not needed now that we have moved chromebook_link and cros_ec to driver model. Signed-off-by: Simon Glass <[email protected]>
2015-04-18fdt: cros_ec: Drop compatible string in fdtdecSimon Glass
This is not needed now that we have moved to driver model. Signed-off-by: Simon Glass <[email protected]>
2015-04-18cros_ec: Remove unused cros_ec_board_init() functionSimon Glass
Now that driver model handles cros_ec init, we can drop this special code. Signed-off-by: Simon Glass <[email protected]>
2015-04-18exynos: cros_ec: Drop unnecessary initSimon Glass
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 <[email protected]>
2015-04-18sandbox: cros_ec: Drop unnecessary initSimon Glass
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 <[email protected]>
2015-04-18cros_ec: Drop unused CONFIG_DM_CROS_ECSimon Glass
Since all supported boards enable this option now, we can remove it along with the old code. Signed-off-by: Simon Glass <[email protected]>
2015-04-18x86: chromebook_link: dts: Add PCH and LPC devicesSimon Glass
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 <[email protected]>
2015-04-18dm: x86: Add a uclass for an Low Pin Count (LPC) deviceSimon Glass
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 <[email protected]>
2015-04-18dm: x86: spi: Convert ICH SPI driver to driver modelSimon Glass
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 <[email protected]>
2015-04-18dm: sf: Add driver model read/write/erase methodsSimon Glass
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 <[email protected]>
2015-04-18net: Improve error handlingJoe Hershberger
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 <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2015-04-18sandbox: Enable DHCP and IP defragJoe Hershberger
This is now testable via the eth-raw interface Signed-off-by: Joe Hershberger <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2015-04-18dm: eth: Add support for aliasesJoe Hershberger
Allow network devices to be referred to as "eth0" instead of "eth@12345678" when specified in ethact. Add tests to verify this behavior. Signed-off-by: Joe Hershberger <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2015-04-18sandbox: eth: Add ARP and PING response to sandbox driverJoe Hershberger
The sandbox driver will now generate response traffic to exercise the ping command even when no network exists. This allows the basic data pathways of the DM to be tested. Signed-off-by: Joe Hershberger <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2015-04-18sandbox: eth: Add network support to sandboxJoe Hershberger
Add basic network support to sandbox which includes a network driver. Signed-off-by: Joe Hershberger <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2015-04-18dm: eth: Pass the packet pointer as a parameter to recvJoe Hershberger
Stop forcing drivers to call net_process_received_packet() - formerly called NetReceive(). Now the uclass will handle calling the driver for each packet until the driver errors or has nothing to return. The uclass will then pass the good packets off to the network stack by calling net_process_received_packet(). Signed-off-by: Joe Hershberger <[email protected]>
2015-04-18net: Clean up network stack names used in DM driversJoe Hershberger
Take the opportunity to enforce better names on newly written or retrofitted Ethernet drivers. Signed-off-by: Joe Hershberger <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2015-04-18dm: eth: Add basic driver model support to Ethernet stackJoe Hershberger
First just add support for MAC drivers. Signed-off-by: Joe Hershberger <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2015-04-18net: Remove the bd* parameter from net stack functionsJoe Hershberger
This value is not used by the network stack and is available in the global data, so stop passing it around. For the one legacy function that still expects it (init op on old Ethernet drivers) pass in the global pointer version directly to avoid changing that interface. Signed-off-by: Joe Hershberger <[email protected]> Reported-by: Simon Glass <[email protected]> Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Simon Glass <[email protected]> (Trival fix to remove an unneeded variable declaration in 4xx_enet.c)
2015-04-18net: Use int instead of u8 for boolean flagJoe Hershberger
On some archs masking the parameter is inefficient, so don't use u8. Signed-off-by: Joe Hershberger <[email protected]> Reported-by: Simon Glass <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2015-04-18net: Refactor in preparation for driver modelJoe Hershberger
Move some things around and organize things so that the driver model implementation will fit in more easily. Signed-off-by: Joe Hershberger <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2015-04-18net: Remove unneeded "extern" in net.hJoe Hershberger
Many of the functions in net.h were preceded extern needlessly. Removing them to limit the number of checkpatch.pl complaints. Signed-off-by: Joe Hershberger <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2015-04-18net: Provide a function to get the current MAC addressJoe Hershberger
The current implementation exposes the eth_device struct to code that needs to access the MAC address. Add a wrapper function for this to abstract away the pointer for this operation. Signed-off-by: Joe Hershberger <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2015-04-18common: Make sure arch-specific map_sysmem() is definedJoe Hershberger
In the case where the arch defines a custom map_sysmem(), make sure that including just mapmem.h is sufficient to have these functions as they are when the arch does not override it. Also split the non-arch specific functions out of common.h Signed-off-by: Joe Hershberger <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2015-04-18dm: x86: pci: Convert coreboot to use driver model for pciSimon Glass
Move coreboot-x86 over to driver model for PCI. Signed-off-by: Simon Glass <[email protected]>
2015-04-18dm: sandbox: pci: Enable PCI for sandboxSimon Glass
Enable PCI options so that sandbox can be used for testing this bus with driver model. Signed-off-by: Simon Glass <[email protected]>
2015-04-18common/lcd_console: introduce display/framebuffer rotationHannes Petermaier
Sometimes, for example if the display is mounted in portrait mode or even if it is mounted landscape but rotated by 180 degrees, we need to rotate our content of the display respectively the framebuffer, so that user can read the messages which are printed out. For this we introduce the feature called "CONFIG_LCD_ROTATION", this may be defined in the board-configuration if needed. After this the lcd_console will be initialized with a given rotation from "vl_rot" out of "vidinfo_t" which is provided by the board specific code. If CONFIG_LCD_ROTATION is not defined, the console will be initialized with 0 degrees rotation. Signed-off-by: Hannes Petermaier <[email protected]> Signed-off-by: Hannes Petermaier <[email protected]> Acked-by: Nikita Kiryanov <[email protected]> [agust: fixed 'struct vidinfo' has no member named 'vl_rot' errors] Signed-off-by: Anatolij Gustschin <[email protected]>
2015-04-16dm: sandbox: pci: Add a PCI emulation uclassSimon Glass
Since sandbox does not have real devices (unless it borrows those from the host) it must use emulations. Provide a uclass which permits PCI operations to be passed through to an emulation device. Signed-off-by: Simon Glass <[email protected]>
2015-04-16dm: pci: Add a uclass for PCISimon Glass
Add a uclass for PCI controllers and a generic one for PCI devices. Adjust the 'pci' command and the existing PCI support to work with this new uclass. Keep most of the compatibility code in a separate file so that it can be removed one day. TODO: Add more header file comments to the new parts of pci.h Signed-off-by: Simon Glass <[email protected]>
2015-04-16dm: pci: Move common PCI functions into their own fileSimon Glass
Driver model will share many functions with the existing PCI implementation. Move these into their own file to avoid duplication and confusion. Signed-off-by: Simon Glass <[email protected]>
2015-04-16dm: core: Add a uclass pre_probe() method for devicesSimon Glass
Some uclasses want to set up a device before it is probed. Add a method for this. An example is with PCI, where a PCI uclass wants to set up its private data for later use. This allows the device's uclass() method to make calls whcih use that data (for example, read PCI memory regions from device tree, set up bus numbers). Signed-off-by: Simon Glass <[email protected]>
2015-04-16dm: core: Add dev_get_uclass_priv() to access uclass private dataSimon Glass
Add a convenience function to access the private data that a uclass stores for each of its devices. Convert over most existing uses for consistency and to provide an example for others. Signed-off-by: Simon Glass <[email protected]>
2015-04-16fdt: Tighten up error handling in fdtdec_get_pci_addr()Simon Glass
This function returns -ENOENT when the property is missing (which the caller might forgive) and also when the property is present but incorrectly formatted (which many callers would like to report). Update the error return value to allow these different situations to be distinguished. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2015-04-16dm: Add a new CPU init function which can use driver modelSimon Glass
Since driver model is set up after arch_cpu_init(), that function cannot use drivers. Add a new arch_cpu_init_dm() function which is called immediately after driver model is ready, and can reference devices. This can be used to probe essential devices for the CPU. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2015-04-16fdt: Export fdtdec_get_number() for general useSimon Glass
This function is missing a prototype but is more widey useful. Add it. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2015-04-16x86: Add support for panther (Asus Chromebox)Simon Glass
Support running U-Boot as a coreboot payload. Tested peripherals include: - Video (HDMI and DisplayPort) - SATA disk - Gigabit Ethernet - SPI flash USB3 does not work. This may be a problem with the USB3 PCI driver or something in the USB3 stack and has not been investigated So far this is disabled. The SD card slot also does not work. For video, coreboot will need to run the OPROM to set this up. With this board, bare support (running without coreboot) is not available as yet. Signed-off-by: Simon Glass <[email protected]>
2015-04-16x86: Move common Chromebook config into a separate fileSimon Glass
Since Chromebooks mostly have similar configuration, put it in a common file. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2015-04-16x86: pci: Add PCI IDs for lynxpointSimon Glass
Add some new device IDs used by this haswell-based chipset. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2015-04-16Merge branch 'master' of http://git.denx.de/u-boot-sunxiTom Rini
2015-04-16fix ARM DCC support for ARMv7 based cores (e.g. CortexA)Alexander Merkle
Signed-off-by: Alexander Merkle <[email protected]>