summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2014-10-23soc: keystone_serdes: generalize to be used by other sub systemsHao Zhang
SerDes driver is used by other sub systems like PCI, sRIO etc. So modify it to be more general. The SerDes driver provides common API's that can also be extended for other peripherals SerDes configurations. Signed-off-by: Hao Zhang <[email protected]> Signed-off-by: Ivan Khoronzhuk <[email protected]>
2014-10-23soc: keystone_serdes: enhance to use cmu/comlane/lane specific configurationsHao Zhang
Enhance the driver to use cmu/comlane/lane specific configurations instead of 1 big array of configuration. Signed-off-by: Hao Zhang <[email protected]> Signed-off-by: Ivan Khoronzhuk <[email protected]>
2014-10-23soc: keystone_serdes: create a separate SGMII SerDes driverKhoronzhuk, Ivan
This patch split the Keystone II SGMII SerDes related code from Ethernet driver and create a separate SGMII SerDes driver. The SerDes driver can be used by others keystone subsystems like PCI, sRIO, so move it to driver/soc/keystone directory. Add soc specific drivers directory like in the Linux kernel. It is going to be used by keysotone soc specific drivers. Signed-off-by: Hao Zhang <[email protected]> Signed-off-by: Ivan Khoronzhuk <[email protected]>
2014-10-23net: keystone_net: remove redundant code from keystone_net.cKhoronzhuk, Ivan
Remove unused tx_send_loop variable. Removes duplicated get_link_status() call from the keystone2_eth_send_packet(). The emac_gigabit_enable() is called at opening Ethernet and there is no need to enable it on sending each packet. So remove that call from keystone2_eth_send_packet() as well. The calling of power/clock up functions are mostly the responsibility of SoC/board code, so move these functions to appropriate place. Signed-off-by: Ivan Khoronzhuk <[email protected]>
2014-10-23net: keystone_net: move header file from arch to ti-commonKhoronzhuk, Ivan
The header file for the driver should be in correct place. So move it to "arch/arm/include/asm/ti-common/keystone_net.h" and correct driver's external dependencies. At the same time align and correct some definitions. Acked-by: Murali Karicheri <[email protected]> Signed-off-by: Ivan Khoronzhuk <[email protected]>
2014-10-23net: keystone_net: remove SoC specific emac_regs structureHao Zhang
This patch removes K2HK SOC specifc emac_regs structure, it uses soc specific register offset to keep the network driver common across all the Keystone II EVMs. Acked-by: Murali Karicheri <[email protected]> Signed-off-by: Hao Zhang <[email protected]> Signed-off-by: Ivan Khoronzhuk <[email protected]>
2014-10-23keystone: usb: add support of usb xhciWingMan Kwok
Add support of usb xhci. xHCI controls all USB speeds of the Host mode, that is, the SS through the SS PHY, as well as the HS, FS, and LS through the USB2 PHY. xHCI replaces and supersedes all previous host HCIs (HS-only EHCI, FS/LS OHCI and UHCI), and is therefore not backwards compatible with any of them. The USB3SS’s USB Controller is fully compliant with xHC. Acked-by: Vitaly Andrianov <[email protected]> Signed-off-by: WingMan Kwok <[email protected]> Signed-off-by: Ivan Khoronzhuk <[email protected]>
2014-10-23dma: keystone_nav: generalize driver usageKhoronzhuk, Ivan
The keystone_nav driver is general driver intended to be used for working with queue manager and pktdma for different IPs like NETCP, AIF, FFTC, etc. So the it's API shouldn't be named like it works only with one of them, it should be general names. The names with prefix like netcp_* rather do for drivers/net/keystone_net.c driver. So it's good to generalize this driver to be used for different IP's and delete confusion with real NETCP driver. The current netcp_* functions of keystone navigator can be used for other settings of pktdma, not only for NETCP. The API of this driver is used by the keystone_net driver to work with NETCP, so net driver also should be corrected. For convenience collect pkdma configurations in drivers/dma/keystone_nav_cfg.c. Acked-by: Vitaly Andrianov <[email protected]> Signed-off-by: Ivan Khoronzhuk <[email protected]>
2014-10-23dma: keystone_nav: move keystone_nav driver to driver/dma/Khoronzhuk, Ivan
The keystone_nav is used by drivers/net/keystone_net.c driver to send and receive packets, but currently it's placed at keystone arch sources. So it should be in the drivers directory also. It's separate driver that can be used for sending and receiving pktdma packets by others drivers also. This patch just move this driver to appropriate directory and doesn't add any functional changes. Acked-by: Murali Karicheri <[email protected]> Signed-off-by: Ivan Khoronzhuk <[email protected]>
2014-10-23i2c: mvtwsi: Add support for Marvell Armada XPStefan Roese
To support the Armada XP SoC, we just need to include the correct header. Signed-off-by: Stefan Roese <[email protected]> Acked-by: Heiko Schocher <[email protected]> Tested-by: Luka Perkov <[email protected]>
2014-10-23net: mvneta.c: Add support for the ethernet controller of the Marvell Armada ↵Stefan Roese
XP SoC This patch adds support for the NETA ethernet controller which is integrated in the Marvell Armada XP SoC's. This port is based on the Linux driver which has been stripped of the in U-Boot unused portions. Tested on the Marvell MV78460 eval board db-78460-bp. Signed-off-by: Stefan Roese <[email protected]> Cc: Joe Hershberger <[email protected]> Tested-by: Luka Perkov <[email protected]>
2014-10-23spi: kirkwood_spi.c: Change KW_SPI_BASE to MVEBU_SPI_BASEStefan Roese
This makes is possible to use this SPI driver from other MVEBU SoC's as well. As the upcoming Armada XP support will do. Signed-off-by: Stefan Roese <[email protected]> Reviewed-by: Jagannadha Sutradharudu Teki <[email protected]> Tested-by: Luka Perkov <[email protected]> Acked-by: Prafulla Wadaskar <[email protected]>
2014-10-23spi: kirkwood_spi.c: Compile MPP (pin-mux) only for kirkwood SoC'sStefan Roese
Compile the pin multiplexing only on Kirkwood platforms. As the Armada XP doesn't need it. Signed-off-by: Stefan Roese <[email protected]> Reviewed-by: Jagannadha Sutradharudu Teki <[email protected]> Tested-by: Luka Perkov <[email protected]> Acked-by: Prafulla Wadaskar <[email protected]>
2014-10-23arm: marvell: Move arch-kirkwood/spi.h to arch-mvebu/spi.hStefan Roese
This move makes it possible to use this kirkwood SPI driver from other MVEBU platforms as well. This will be used by the upcoming Armada XP support. Signed-off-by: Stefan Roese <[email protected]> Reviewed-by: Jagannadha Sutradharudu Teki <[email protected]> Tested-by: Luka Perkov <[email protected]> Acked-by: Prafulla Wadaskar <[email protected]>
2014-10-23arm: marvell: Move arch/kirkwood.h to arch/soc.hStefan Roese
This move makes is possible to use this header not only from kirkwood platforms but from all Marvell mvebu platforms. Signed-off-by: Stefan Roese <[email protected]> Tested-by: Luka Perkov <[email protected]> Acked-by: Prafulla Wadaskar <[email protected]>
2014-10-23Merge git://git.denx.de/u-boot-x86Tom Rini
2014-10-22x86: cros_ec: Update LPC driver for new cros_ec headerSimon Glass
There was a minor rename of one of the defines, so update the driver. Signed-off-by: Simon Glass <[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-22net: asix: Add support for AX88772BAlexandre Courbot
This USB device works as-is on this driver. Signed-off-by: Alexandre Courbot <[email protected]>
2014-10-22dm: serial: Support driver model in pl01x driverSimon Glass
Add driver model support in this driver, using platform data provided by the board. Signed-off-by: Simon Glass <[email protected]> Tested-by: Stephen Warren <[email protected]>
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: 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: imx: gpio: Support driver model in MXC gpio driverSimon Glass
Add driver model support with this driver. In this case the platform data is in the driver. It would be better to put this into an SOC-specific file, but this is best attempted when more boards are moved over to use driver model. Signed-off-by: Simon Glass <[email protected]> Acked-by: Igor Grinberg <[email protected]>
2014-10-22dm: serial: Put common code into separate functionsSimon Glass
Avoid duplicating the code which deals with getc() and putc(). It is fairly simple, but may expand later. 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: 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: Convert spi_flash_probe() and 'sf probe' to use driver modelSimon Glass
We want the SPI flash probing feature to operate as a standard driver. Add a driver for the basic probing feature used by most boards. This will be activated by device_probe() as with any other driver. The 'sf probe' command currently keeps track of the SPI slave that it last used. This doesn't work with driver model, since some other driver or system may have probed the device and have access to it too. On the other hand, if we try to probe a device twice the second probe is a nop with driver model. Fix this by searching for the matching device, removing it, and then probing it again. This should work as expected regardless of other device activity. 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-22spi: Use error return value in sf_opsSimon Glass
Adjust spi_flash_probe_slave() to return an error value instead of a pointer so we get the correct error return. Have the caller allocate memory for spi_flash to simplify error handling, and also so that driver model can use its existing allocated memory. Add a spi.h include in the sf_params file. 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-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: Add soft_spi implementationSimon Glass
Add a new implementation of soft_spi that uses device tree to specify the GPIOs. This will replace soft_spi_legacy for boards which use driver model. 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: spi: Rename soft_spi.c to soft_spi_legacy.cSimon Glass
Reserve the 'normal' name for use by driver model, and rename the old driver so that it is clear that it is for 'legacy' drivers only. 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: Add spi.h header to a few filesSimon Glass
Some files are using SPI functions but not explitly including the SPI header file. Fix this, since driver model needs it. 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: 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: Make sure that GPIOs are requestedSimon Glass
With driver model GPIOs must be requested before use. Make sure this is done correctly. (Note that the soft SPI part of universal is omitted, since this driver is about to be replaced with a driver-model-aware version) Signed-off-by: Simon Glass <[email protected]>
2014-10-22dm: exynos: Tidy up GPIO definesSimon Glass
The defines at the top of the GPIO driver use single-character names for parameters which are not very descriptive. Improve these to use descriptive parameter names. Signed-off-by: Simon Glass <[email protected]>
2014-10-22dm: exynos: Tidy up GPIO headersSimon Glass
The wrong header is being included, thus requiring the code to re-declare the generic GPIO interface in each GPIO header. Fix this. Signed-off-by: Simon Glass <[email protected]>