summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2015-04-22dm: core: remove type 'static' of function uclass_get_device_tail()Przemyslaw Marczak
Uclass API provides a few functions for get/find the device. To provide a complete function set of uclass-internal functions, for use by the drivers, the function uclass_get_device_tail() should be non-static. Signed-off-by: Przemyslaw Marczak <[email protected]> Cc: Simon Glass <[email protected]> Acked-by: Simon Glass <[email protected]>
2015-04-22dm: core: device: add function: dev_get_uclass_name()Przemyslaw Marczak
This commit extends the driver model device's API by function: - dev_get_uclass_name() And this function returns the device's uclass driver name if: - given dev pointer, is non_NULL otherwise, the NULL pointer is returned. Signed-off-by: Przemyslaw Marczak <[email protected]> Cc: Simon Glass <[email protected]> Acked-by: Simon Glass <[email protected]>
2015-04-22dm: core: device: add function: dev_get_driver_ops()Przemyslaw Marczak
This commit extends the driver model device's API by function: - dev_get_driver_ops() And this function returns the device's driver's operations if given: - dev pointer, is non-NULL - dev->driver->ops pointer, is non-NULL in other case the, the NULL pointer is returned. Signed-off-by: Przemyslaw Marczak <[email protected]> Cc: Simon Glass <[email protected]> Acked-by: Simon Glass <[email protected]>
2015-04-22dm: core: uclass: add function: uclass_get_device_by_name()Przemyslaw Marczak
This commit extends the driver model uclass's API by function: - uclass_get_device_by_name() And this function returns the device if: - uclass with given ID, exists, - device with exactly given name(dev->name), exists, - device probe, doesn't return an error. The returned device is activated and ready to use. Note: This function returns the first device, which name is equal to the given one. This means, that using this function you must assume, that the device name is unique in the given uclass's ID device list. Signed-off-by: Przemyslaw Marczak <[email protected]> Cc: Simon Glass <[email protected]> Acked-by: Simon Glass <[email protected]>
2015-04-22dm: core: uclass: add function: uclass_find_device_by_name()Przemyslaw Marczak
This commit extends the driver model uclass's API by function: - uclass_find_device_by_name() And this function returns the device if: - uclass with given ID, exists, - device with exactly given name(dev->name), exists. The returned device is not activated - need to be probed before use. Note: This function returns the first device, which name is equal to the given one. This means, that using this function you must assume, that the device name is unique in the given uclass's ID device list. uclass-internal.h: cleanup - move the uclass_find_device_by_seq() declaration and description, near the other uclass_find*() functions. Signed-off-by: Przemyslaw Marczak <[email protected]> Cc: Simon Glass <[email protected]> Acked-by: Simon Glass <[email protected]>
2015-04-22dm: core: Extend struct udevice by '.uclass_platdata' field.Przemyslaw Marczak
This commit adds 'uclass_platdata' field to 'struct udevice', which can be automatically allocated at bind. The allocation size is defined in 'struct uclass_driver' as 'per_device_platdata_auto_alloc_size'. New device's flag is added: DM_FLAG_ALLOC_UCLASS_PDATA, which is used for memory freeing at device unbind method. As for other udevice's fields, a complementary function is added: - dev_get_uclass_platdata() Signed-off-by: Przemyslaw Marczak <[email protected]> Cc: Simon Glass <[email protected]> Acked-by: Simon Glass <[email protected]>
2015-04-22dm: core: add internal functions for getting the device without probePrzemyslaw Marczak
This commit extends the uclass-internal functions by: - uclass_find_first_device() - uclass_find_next_device() For both functions, the returned device is not probed. After some cleanup, the above functions are called by: - uclass_first_device() - uclass_next_device() for which, the returned device is probed. Signed-off-by: Przemyslaw Marczak <[email protected]> Cc: Simon Glass <[email protected]> Acked-by: Simon Glass <[email protected]>
2015-04-22stm32f4: Add serial driver[email protected]
Signed-off-by: Kamil Lulko <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2015-04-22ARMv7M: Add STM32F4 support[email protected]
Signed-off-by: Kamil Lulko <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2015-04-22mtd: spi: check return value of spi_setup_slavePeng Fan
Need to check value of spi_setup_slave and spi_setup_slave_fdt. If their return value 'bus' is NULL, there is no need to pass it to following spi_flash_probe_tail. If 'bus' is null, the original function flow is as following: spi_flash_probe |->spi_setup_slave |->spi_probe_bus_tail |->spi_flash_probe_slave |->spi_free_slave Alougth check the pointer in spi_free_slave is ok, checking the return value of spi_setup_slave and spi_setup_slave_fdt is better. Before this fix: " => sf probe 0:2 FSL_QSPI: Not a valid cs ! SF: Failed to set up slave data abort pc : [<fff66dcc>] lr : [<fff7628c>] reloc pc : [<87814dcc>] lr : [<8782428c>] sp : fdf4fcf0 ip : e630396c fp : fe0d0888 r10: fffa2538 r9 : fdf4feb8 r8 : 02625a00 r7 : 00000002 r6 : fff94ec0 r5 : 00000000 r4 : 9355553c r3 : 1af0593c r2 : cb3fe030 r1 : fff94eb8 r0 : e59ff018 Flags: nZCv IRQs off FIQs off Mode SVC_32 Resetting CPU ... " After this fix: " => sf probe 0:2 FSL_QSPI: Not a valid cs ! Failed to initialize SPI flash at 0:2 " No data abort using this patch. Signed-off-by: Peng Fan <[email protected]> Reviewed-by: Jagannadha Sutradharudu Teki <[email protected]>
2015-04-22zynq: spi: Remove unnecessary error conditionSiva Durga Prasad Paladugu
Removed the unnecessary error check from spi_xfer as the bitlen zero is possible now to deassert the chip select for which no data is required to be transfered. Signed-off-by: Siva Durga Prasad Paladugu <[email protected]> Signed-off-by: Michal Simek <[email protected]> Reviewed-by: Jagannadha Sutradharudu Teki <[email protected]>
2015-04-22sf: Poll both the read status and flag statusSiva Durga Prasad Paladugu
Poll both the Read status and Flag status registers for sucessful erase and program operations for the Micron devices with E_FSR flag set in params table. Signed-off-by: Siva Durga Prasad Paladugu <[email protected]> Reviewed-by: Jagannadha Sutradharudu Teki <[email protected]>
2015-04-21driver/fsl-mc: Add support of MC FlibsPrabhakar Kushwaha
Freescale's Layerscape Management Complex (MC) provide support various objects like DPRC, DPNI, DPBP and DPIO. Where: DPRC: Place holdes for other MC objectes like DPNI, DPBP, DPIO DPBP: Management of buffer pool DPIO: Used for used to QBMan portal DPNI: Represents standard network interface These objects are used for DPAA ethernet drivers. Signed-off-by: J. German Rivera <[email protected]> Signed-off-by: Lijun Pan <[email protected]> Signed-off-by: Stuart Yoder <[email protected]> Signed-off-by: Geoff Thorpe <[email protected]> Signed-off-by: Haiying Wang <[email protected]> Signed-off-by: Cristian Sovaiala <[email protected]> Signed-off-by: pankaj chauhan <[email protected]> Signed-off-by: Prabhakar Kushwaha <[email protected]> Reviewed-by: York Sun <[email protected]>
2015-04-21armv8/fsl-lsch3: Add Freescale Debug Server driverBhupesh Sharma
The Debug Server driver is responsible for loading the Debug server FW on the Service Processor (Cortex-A5 core) on LS2085A like SoCs and then polling for the successful initialization of the same. TOP MEM HIDE is adjusted to ensure the space required by Debug Server FW is accounted for. MC uses the DDR area which is calculated as: MC DDR region start = Top of DDR - area reserved by Debug Server FW Signed-off-by: Bhupesh Sharma <[email protected]> Reviewed-by: York Sun <[email protected]>
2015-04-21QE/DeepSleep: add QE deepsleep support for mpc85xxZhao Qiang
Muram will power off during deepsleep, and the microcode of qe in muram will be lost, it should be reload when resume. Signed-off-by: Zhao Qiang <[email protected]> Reviewed-by: York Sun <[email protected]>
2015-04-21drivers:usb: Check if USB Erratum A005697 is applicable on BSC913xNikhil Badola
Check if USB Erratum A005697 is applicable on BSC913x and add corresponding property in the device tree via device tree fixup which is used by linux driver Signed-off-by: Nikhil Badola <[email protected]> Reviewed-by: York Sun <[email protected]>
2015-04-21pci/layerscape: fix link and class issues to support ls2085aMinghuan Lian
1. LS2085a provides PCIE_LUT_DBG register rather than PCIE_LDBG to show the link status, so the patch fixes it. 2. Increase the delay time to make sure that link training has finished. 3. Return invalid value when accessing multi-function device 4. For LS2085a DBI_RO_WR_EN bit is cleared as default, so we must set this bit before change DBI register value. Signed-off-by: Roy Zang <[email protected]> Signed-off-by: Minghuan Lian <[email protected]> Reviewed-by: York Sun <[email protected]>
2015-04-21pci/layerscape: remove unnecessary pcie_layerscape.hMinghuan Lian
The patch uses the common function name ft_pci_setup to replace ft_pcie_setup, then removes unnecessary pcie_layerscape.h because all the functions have been declared in common.h. Signed-off-by: Minghuan Lian <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: York Sun <[email protected]>
2015-04-21drivers:usb: Add device-tree fixup to identify socs having dual phyNikhil Badola
Identify soc(s) having dual phy so as to add "utmi_dual" as phy_mode for all these socs. This is required for supporting deel-sleep feature in linux for usb driver Signed-off-by: Ramneek Mehresh <[email protected]> Signed-off-by: Nikhil Badola <[email protected]> Reviewed-by: York Sun <[email protected]>
2015-04-21serial: pl01x: fix PL010 regressionLinus Walleij
commit aed2fbef5e9a0ab5a7cd01e742039a962f0b24ef "dm: serial: Tidy up the pl01x driver" caused a regression on (real hardware) PL010 by omitting to update the line control register when switching baudrate. Fix this by inlining the missing write to the baud control register. Also renaming the set_line_control() function to pl011_set_line_control() since this function is clearly PL011-specific, and it won't suffice to call that to set up line control. Tested on the Integrator/AP hardware. Cc: Simon Glass <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2015-04-21spi: Add Cadence QSPI controller Kconfig entryMarek Vasut
Add Cadence QSPI controller Kconfig entry. Signed-off-by: Marek Vasut <[email protected]> Cc: Chin Liang See <[email protected]> Cc: Dinh Nguyen <[email protected]> Cc: Jagannadha Sutradharudu Teki <[email protected]> Acked-by: Pavel Machek <[email protected]> Acked-by: Simon Glass <[email protected]> Acked-by: Stefan Roese <[email protected]> Cc: Tom Rini <[email protected]> Cc: Vince Bridgers <[email protected]>
2015-04-21spi: Add Designware SPI controller Kconfig entryMarek Vasut
Add DWC SPI controller Kconfig entry. Signed-off-by: Marek Vasut <[email protected]> Cc: Chin Liang See <[email protected]> Cc: Dinh Nguyen <[email protected]> Cc: Jagannadha Sutradharudu Teki <[email protected]> Acked-by: Pavel Machek <[email protected]> Acked-by: Simon Glass <[email protected]> Acked-by: Stefan Roese <[email protected]> Cc: Tom Rini <[email protected]> Cc: Vince Bridgers <[email protected]>
2015-04-20Merge branch 'master' of git://git.denx.de/u-boot-netTom Rini
2015-04-20net: pch_gbe: Fix pch_gbe device nameBin Meng
The name "pch_gbe.%x" exceeds the limit of the name in the 'struct eth_device'. Rename it as just "pch_gbe". Signed-off-by: Bin Meng <[email protected]>
2015-04-20net: gem: Use correct type for castingMichal Simek
Use phys_addr_t which is used in function prototype in system.h. Signed-off-by: Michal Simek <[email protected]>
2015-04-20net/phy: fixup for get_phy_idShengzhou Liu
commit 3c6928fd7b0f84 "net: phy: fix warnings with W=1" caused some PHYs(e.g. CS4315/CS4340) not working. This patch fixes the warning and make those special PHYs working as well. Signed-off-by: Shengzhou Liu <[email protected]>
2015-04-20net: phy: micrel: add support for KSZ8081MNXLuca Ellero
This patch adds a support for KSZ8081MNX in MII mode. Signed-off-by: Luca Ellero <[email protected]> Acked-by: Pavel Machek <[email protected]>
2015-04-20net: rtl8169: Build warning fixes for 64-bitThierry Reding
Turn ioaddr into an unsigned long rather than a sized 32-bit variable. While at it, fix a couple of pointer to integer cast size mismatch warnings by casting through unsigned long going from pointers to integers and vice versa. Cc: Joe Hershberger <[email protected]> Signed-off-by: Thierry Reding <[email protected]> Acked-by: Joe Hershberger <[email protected]>
2015-04-20net: phy: realtek: Disable interrupt on Realtek Ethernet PHY driversCodrin Ciubotariu
Some Realtek Ethernet PHYs, like RTL8211D(G/N) and RTL8211E(G), have interrupts enabled by default. If the interrupt is not treated later by the OS and the PHY's interrupt line is enabled and shared with other interrupts, the system will get an interrupt storm. This patch disables the interrupt for PHY devices that use one of the current Realtek Ethernet PHY drivers. Some of Realtek Ethernet PHYs, such as RTL8211B(L) have the interrupt masked. In this case, the functionality of the PHY should not be afected since this patch brings INER and INSR registers to their default values. Signed-off-by: Codrin Ciubotariu <[email protected]> Acked-by: Joe Hershberger <[email protected]>
2015-04-20Merge branch 'master' of git://git.denx.de/u-boot-mpc85xxTom Rini
2015-04-20MPC8541/MPC8555: Enable SS_EN in DDR_SDRAM_CLK_CNLT registerCurt Brune
According to the MPC8555/MPC8541 reference manual the SS_EN (source synchronous enable) bit in the DDR_SDRAM_CLK_CNLT register must be set during initialization. >From section 9.4.1.8 of that manual: Source synchronous enable. This bit field must be set during initialization. See Section 9.6.1, "DDR SDRAM Initialization Sequence," details. 0 - Reserved 1 - The address and command are sent to the DDR SDRAMs source synchronously. In addition, Freescale application note AN2805 is also very clear that this bit must be set. This patch reverts a change introduced by commit 457caecdbca3df21a93abff19eab12dbc61b7897. Testing Done: Compiled targets CONFIG_TARGET_MPC8555CDS and CONFIG_TARGET_MPC8541CDS and inspected the generated assembly code to verify the SS_EN bit was being set. There is one extra instruction emitted: fff9b774: 65 29 80 00 oris r9,r9,32768 Compiled the CONFIG_TARGET_MPC8548CDS target and verified that no additional instructions were emitted related to this patch. Booted an image on a MPC8541 based board successfully. Signed-off-by: Curt Brune <[email protected]> Reviewed-by: York Sun <[email protected]>
2015-04-20Merge branch 'master' of git://git.denx.de/u-boot-videoTom Rini
2015-04-20video, lg4573: add support for the lg4573 displayHeiko Schocher
Signed-off-by: Heiko Schocher <[email protected]>
2015-04-20video, ipu: make ldb clock frequency overwritable through board codeHeiko Schocher
the ldb clock can be setup in board code (for example set through PLL5). Update the ldb_clock rate also through board code. This should be removed, if a clock framework is availiable. Signed-off-by: Heiko Schocher <[email protected]> Tested-by: Eric Nelson <[email protected]>
2015-04-20video, ipu: make ldb_clock configurableHeiko Schocher
make the ldb_clock configurable through the new define CONFIG_SYS_LDB_CLOCK. This is needed as the ldb clock is not always 650000000, for example on the aristainetos2 board, where the ldb clock derives from PLL5 clock. Signed-off-by: Heiko Schocher <[email protected]> Tested-by: Eric Nelson <[email protected]>
2015-04-18ahci: mmio_base is a virtual addressScott Wood
Don't store it in a u32. Don't dereference the bus address as if it were a virtual address (fixes 284231e49a2b4 ("ahci: Support splitting of read transactions into multiple chunks")). Fixes crash on boot in MPC8641HPCN_36BIT target. Signed-off-by: Scott Wood <[email protected]> Cc: Vadim Bendebury <[email protected]> Acked-by: York Sun <[email protected]>
2015-04-18sandbox: exynos: Move CONFIG_SOUND_SANDBOX to KconfigSimon Glass
Move this over to Kconfig and tidy up. Signed-off-by: Simon Glass <[email protected]>
2015-04-18sandbox: exynos: Move CONFIG_SOUND_WM8994 to KconfigSimon Glass
Move this over to Kconfig and tidy up. Signed-off-by: Simon Glass <[email protected]>
2015-04-18sandbox: exynos: Move CONFIG_SOUND_MAX98095 to KconfigSimon Glass
Move this over to Kconfig and tidy up. Signed-off-by: Simon Glass <[email protected]>
2015-04-18sandbox: exynos: Move CONFIG_I2S_SAMSUNG to KconfigSimon Glass
Move this over to Kconfig and tidy up. Signed-off-by: Simon Glass <[email protected]>
2015-04-18sandbox: exynos: Move CONFIG_I2S to KconfigSimon Glass
Move this over to Kconfig and tidy up. Signed-off-by: Simon Glass <[email protected]>
2015-04-18sandbox: exynos: Move CONFIG_SOUND to KconfigSimon Glass
Move this over to Kconfig and tidy up. Signed-off-by: Simon Glass <[email protected]>
2015-04-18sandbox: Move CONFIG_TPM_TIS_SANDBOX to KconfigSimon Glass
Move this over to Kconfig and tidy up. Signed-off-by: Simon Glass <[email protected]>
2015-04-18sandbox: Move CONFIG_SPI_FLASH_SANDBOX to KconfigSimon Glass
Move this over to Kconfig and tidy up. Signed-off-by: Simon Glass <[email protected]>
2015-04-18sandbox: Move CONFIG_SANDBOX_SPI to KconfigSimon Glass
Move this over to Kconfig and tidy up. Signed-off-by: Simon Glass <[email protected]>
2015-04-18sandbox: Move CONFIG_SYS_I2C_SANDBOX to KconfigSimon Glass
Move this over to Kconfig and tidy up. Signed-off-by: Simon Glass <[email protected]> Acked-by: Heiko Schocher<[email protected]>
2015-04-18sandbox: Move GPIO CONFIGs to KconfigSimon Glass
Move these over to Kconfig and tidy up. Signed-off-by: Simon Glass <[email protected]>
2015-04-18dm: net: Adjust designware driver to support driver modelSimon Glass
Add driver model support to the designware driver. This reuses most of the existing code except for some duplication in the probe() method. Signed-off-by: Simon Glass <[email protected]> Acked-by: Joe Hershberger <[email protected]>
2015-04-18dm: net: Tidy up designware driver ready for driver modelSimon Glass
Adjust the error handling to use errno.h instead of returning -1. Change leaf functions to pass in the arguments they require rather than struct eth_device. Apart from simplifying the code it makes is easier to reuse these functions for driver model, since mostly they actually only use struct dw_eth_priv (which we can keep). Create a stub for each Ethernet operation function. This will allow use to share code with the driver model versions. Signed-off-by: Simon Glass <[email protected]> Acked-by: Joe Hershberger <[email protected]>
2015-04-18dm: net: Adjust PHY interface to work with CONFIG_DM_ETHSimon Glass
When driver model is used for Ethernet a few functions are passed a udevice instead of an eth_device. Also add a function to find a PHY type given its name. This will be used to decode the device tree node. Finally, put a phy_interface field in struct eth_pdata since this is an important part of the platform data for Ethernet. Signed-off-by: Simon Glass <[email protected]> Acked-by: Joe Hershberger <[email protected]>