summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2016-12-08net: fman: fix 2.5G SGMII settingsshaohui xie
The settings for 2.5G SGMII are wrong, which the 2.5G case is missed in set_if_mode(), and the serdes PCS configuration are wrong, this patch uses the correct settings took from Linux. Signed-off-by: Shaohui Xie <[email protected]> Acked-by: Joe Hershberger <[email protected]>
2016-12-08net: phy: realtek: Only force master mode on rtl8211b/c[email protected]
Commit 525d187af ("net: phy: Optionally force master mode for RTL PHY") added the define to force the PHY into master mode. Unfortunatly this is an all or nothing switch. So it applies to either all PHY's or no PHY's. The bug that define tried to solve was a buggy PLL in the RTL8211C only. The Olimex OLinuXino Lime2 has gotten an upgrade where the PHY was replaced with an RTL8211E. With this define however, both lime2 boards are either forced to master mode or not. We could of course have a binary for each board, but the following patch fixes this by adding a 'quirk' to the flags to the rtl8211b and rtl8211c only. It is now possible to force master mode, but only have it apply to the rtl8211b and rtl8211c. Signed-off-by: Olliver Schinagl <[email protected]> Acked-by: Joe Hershberger <[email protected]>
2016-12-08net: phy: realtek: make define more consistent[email protected]
All internal defines in the realtek phy are with a small X, except MIIM_RTL8211X_CTRL1000T_MASTER. Make this more consistent Signed-off-by: Olliver Schinagl <[email protected]> Acked-by: Joe Hershberger <[email protected]>
2016-12-08net: phy: realtek: Use the BIT() macro[email protected]
The BIT macro is the preferred method to set bits. This patch adds the bit macro and converts bit invocations. Signed-off-by: Olliver Schinagl <[email protected]> Acked-by: Joe Hershberger <[email protected]>
2016-12-08net: phy: micrel: Fix error handlingMarek Vasut
Fix the following error, the $ret variable handling must be part of the loop, while due to the missing parenthesis it was not. drivers/net/phy/micrel.c: In function ‘ksz9021_of_config’: drivers/net/phy/micrel.c:303:2: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation] for (i = 0; i < ARRAY_SIZE(ofcfg); i++) ^~~ drivers/net/phy/micrel.c:305:3: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’ if (ret) ^~ drivers/net/phy/micrel.c: In function ‘ksz9031_of_config’: drivers/net/phy/micrel.c:411:2: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation] for (i = 0; i < ARRAY_SIZE(ofcfg); i++) ^~~ drivers/net/phy/micrel.c:413:3: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’ if (ret) ^~ Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]> Acked-by: Joe Hershberger <[email protected]>
2016-12-08net: xilinx: Use mdio_register_seq() to support multiple instancesMichal Simek
axi_emac, emaclite and gem have the same issue with registering multiple instances with mdio busses. mdio bus name has to be uniq but drivers are setting up only one name for all. Use mdio_register_seq() and pass dev->seq number to allow multiple mdio instances registration. Reported-by: Phani Kiran Kara <[email protected]> Signed-off-by: Michal Simek <[email protected]> Series-to: u-boot Series-cc: Phani Kiran Kara <[email protected]>
2016-12-08block: Move ceva driver to DMMichal Simek
This patch also includes ARM64 zynqmp changes: - Remove platform non DM initialization - Remove hardcoded sata base address Signed-off-by: Michal Simek <[email protected]> Reviewed-by: Simon Glass <[email protected]> Series-to: sjg, [email protected] Series-cc: uboot Series-version: 4 Series-changes: 2 - make ceva_init_sata static - Move SATA_CEVA to defconfig - Initalized max_lun and max_id platdata Series-changes: 3 - Extend Kconfig help description - sort dm.h - Remove SPL undefinition from board file - Fix Kconfig dependecies
2016-12-08dm: Add support for scsi/sata based devicesMichal Simek
All sata based drivers are bind and corresponding block device is created. Based on this find_scsi_device() is able to get back block device based on scsi_curr_dev pointer. intr_scsi() is commented now but it can be replaced by calling find_scsi_device() and scsi_scan(). scsi_dev_desc[] is commented out but common/scsi.c heavily depends on it. That's why CONFIG_SYS_SCSI_MAX_DEVICE is hardcoded to 1 and symbol is reassigned to a block description allocated by uclass. There is only one block description by device now but it doesn't need to be correct when more devices are present. scsi_bind() ensures corresponding block device creation. uclass post_probe (scsi_post_probe()) is doing low level init. SCSI/SATA DM based drivers requires to have 64bit base address as the first entry in platform data structure to setup mmio_base. Signed-off-by: Michal Simek <[email protected]> Reviewed-by: Simon Glass <[email protected]> Series-changes: 2 - Use CONFIG_DM_SCSI instead of mix of DM_SCSI and DM_SATA Ceva sata has never used sata commands that's why keep it in SCSI part only. - Separate scsi_scan() for DM_SCSI and do not change cmd/scsi.c - Extend platdata Series-changes: 3 - Fix scsi_scan return path - Fix header location uclass-internal.h - Add scsi_max_devs under !DM_SCSI - Add new header device-internal because of device_probe() - Redesign block device creation algorithm - Use device_unbind in error path - Create block device with id and lun numbers (lun was there in v2) - Cleanup dev_num initialization in block device description with fixing parameters in blk_create_devicef - Create new Kconfig menu for SATA/SCSI drivers - Extend description for DM_SCSI - Fix Kconfig dependencies - Fix kernel doc format in scsi_platdata - Fix ahci_init_one - vendor variable Series-changes: 4 - Fix Kconfig entry - Remove SPL ifdef around SCSI uclass - Clean ahci_print_info() ifdef logic
2016-12-06usb: xhci-pci: Add DM supportStefan Roese
This patch adds DM support to the xHCI PCI driver. Enabling its use e.g. in x86 platforms. Status: On the congatec BayTrail SoM, xHCI still does not work correctly with this patch. Some internal timeouts lead to resets (BUG). Additional work is needed here. I'm posting this version as WIP so that other developers interested in this support might use it as a start. I might get back to it in a few weeks as well. Signed-off-by: Stefan Roese <[email protected]> Cc: George McCollister <[email protected]> Cc: Simon Glass <[email protected]> Cc: Bin Meng <[email protected]> Cc: Marek Vasut <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2016-12-05Merge git://git.denx.de/u-boot-fsl-qoriqTom Rini
2016-12-05fsl/usb: enable the errata-a005697 for ls1012a[email protected]
Enable the errata-a005697 for ls1012a Signed-off-by: Changming Huang <[email protected]> Reviewed-by: York Sun <[email protected]>
2016-12-05fsl/ddr: Add erratum_a009942_check_cpo and clean related erratumShengzhou Liu
- add additional function erratum_a009942_check_cpo to check if the board needs tuning CPO calibration for optimal setting. - move ERRATUM_A009942(with revision to check cpo_sample option) from fsl_ddr_gen4.c to ctrl_regs.c for reuse on all DDR4/DDR3 parts. - move ERRATUM_A008378 from fsl_ddr_gen4.c to ctrl_regs.c - remove obsolete ERRATUM_A004934 which is replaced with ERRATUM_A009942. Signed-off-by: Shengzhou Liu <[email protected]> [YS: Replaced CONFIG_QEMU_E500 with CONFIG_ARCH_QEMU_E500] Reviewed-by: York Sun <[email protected]>
2016-12-05fsl/ddr: Fix compiling warningShengzhou Liu
Fix following warning in case multiple erratum macro was not defined. warning: unused variable 'tmp' warning: unused variable 'ddr_freq' Signed-off-by: Shengzhou Liu <[email protected]> Reviewed-by: York Sun <[email protected]>
2016-12-05Merge git://www.denx.de/git/u-boot-i2cTom Rini
2016-12-05sata: sata_mv: Fix misaligned cache warningsStefan Roese
This patch fixes the warnings about misaligned cache on Armada XP: CACHE: Misaligned operation at range [7facb400, 7facb460] Signed-off-by: Stefan Roese <[email protected]>
2016-12-05pci: mvebu: Add PCIe driver for Armada-8KShadi Ammouri
This patch adds a driver for the PCIe controller integrated in the Marvell Armada-8K SoC. This controller is based on the DesignWare IP core. The original version was written by Shadi and Yehuda. I ported this driver to the latest mainline U-Boot version with DM support. Tested on the Marvell DB-88F8040 Armada-8K eval board. Signed-off-by: Shadi Ammouri <[email protected]> Signed-off-by: Yehuda Yitschak <[email protected]> Signed-off-by: Stefan Roese <[email protected]> Reviewed-by: Simon Glass <[email protected]> Cc: Nadav Haklai <[email protected]> Cc: Neta Zur Hershkovits <[email protected]> Cc: Kostya Porotchkin <[email protected]> Cc: Omri Itach <[email protected]> Cc: Igal Liberman <[email protected]> Cc: Haim Boot <[email protected]> Cc: Hanna Hawa <[email protected]>
2016-12-05drivers/phy: marvell: Add support for the slave CP COMPHY deviceStefan Roese
With the support for the Armada 8k, a 2nd COMPHY controller now needs to get supported from the CP110 slave controller. This patch adds support for this 2nd contoller in the COMPHY driver. Signed-off-by: Stefan Roese <[email protected]> Cc: Nadav Haklai <[email protected]> Cc: Neta Zur Hershkovits <[email protected]> Cc: Kostya Porotchkin <[email protected]> Cc: Omri Itach <[email protected]> Cc: Igal Liberman <[email protected]> Cc: Haim Boot <[email protected]> Cc: Hanna Hawa <[email protected]>
2016-12-05dm: i2c: Add a note to I2C drivers which need conversionSimon Glass
Maintainers need to be notified more directly of the need to convert these drivers. Add a note to the top each affected file. Signed-off-by: Simon Glass <[email protected]> Acked-by: Heiko Schocher <[email protected]>
2016-12-05samsung: i2c: Split the high-speed I2C code into a new driverSimon Glass
Now that driver model is used for I2C on all boards, we can split the high-speed code into its own driver. There is virtually no common code, and this significantly reduces confusion. Signed-off-by: Simon Glass <[email protected]> Acked-by: Heiko Schocher <[email protected]>
2016-12-05samsung: i2c: Drop old code from I2C driverSimon Glass
Now that all boards use DM_I2C we can drop the old code. Signed-off-by: Simon Glass <[email protected]> Acked-by: Heiko Schocher <[email protected]>
2016-12-04usb: gadget: remove unused shortname variableAndre Przywara
The shortname variable isn't referenced anywhere in the code, so just remove it. Pointed out by a GCC 6.2 default warning option. Signed-off-by: Andre Przywara <[email protected]> Reviewed-by: Marek Vasut <[email protected]> Acked-by: Lukasz Majewski <[email protected]>
2016-12-04usb: eth: r8152_fw: fix indentationAndre Przywara
Apparently the indentation is wrong here, fix this to avoid compiler warnings and puzzled readers. Pointed out by GCC 6.2's -Wmisleading-indentation warning. Signed-off-by: Andre Przywara <[email protected]> Reviewed-by: Marek Vasut <[email protected]> Acked-by: Joe Hershberger <[email protected]>
2016-12-04marvell: comphy_a3700: fix bitmaskAndre Przywara
Obviously the mask for the rx and tx select field cannot be right, as it would overlap in one and exceed the 32-bit register in the other case. From looking at the neighbouring bits it looks like the mask should be really 4 bits wide instead of 8. Pointed out by a GCC 6.2 (default) warning. Signed-off-by: Andre Przywara <[email protected]> Reviewed-by: Stefan Roese <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2016-12-04net: rtl8169: remove unneeded definitionAndre Przywara
The rtl8169_intr_mask variable isn't used anywhere in the code, so just remove it to avoid a GCC 6.2 compiler warning. Signed-off-by: Andre Przywara <[email protected]> Acked-by: Joe Hershberger <[email protected]>
2016-12-04net: e1000: fix indentationAndre Przywara
Apparently the indentation is off here, for the IGB model just want to bail out early. Fix this to avoid both compiler warnings and puzzled readers. Pointed out by GCC 6.2's -Wmisleading-indentation warning. Signed-off-by: Andre Przywara <[email protected]> Acked-by: Joe Hershberger <[email protected]>
2016-12-04mtd: cfi_flash: fix indentationAndre Przywara
The indentation is misleading here and suggests that the write command will be only executed in the else clause. It seems like this is not intended, so fix the indentation to avoid both compiler warnings and puzzled readers. Pointed out by GCC 6.2's -Wmisleading-indentation warning. Signed-off-by: Andre Przywara <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2016-12-04serial: Drop the s3c24x0 serial driverSimon Glass
This is not used by any boards. Drop it. Signed-off-by: Simon Glass <[email protected]> Acked-by: David Müller <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2016-12-04ARM: OMAP4+: Add support for getting pbias info from boardLokesh Vutla
Palmas driver assumes it is always TPS659xx regulator on all DRA7xx based boards to enable mmc regulator. This is not true always like in case of DRA71x-evm. So get this information based on the board. Signed-off-by: Lokesh Vutla <[email protected]> Signed-off-by: Vignesh R <[email protected]> Signed-off-by: Nishanth Menon <[email protected]> Reviewed-by: Tom Rini <[email protected]> [trini: Delete omap4_vmmc_pbias_config from omap_hsmmc.c] Signed-off-by: Tom Rini <[email protected]>
2016-12-03Merge branch 'master' of git://www.denx.de/git/u-boot-dmTom Rini
2016-12-03NAND: davinci: add support for NAND chips with 16 bits busFabien Parent
The OMAPL138-LCD board uses a NAND chip with a 16 bits bus. Add support into the davinci driver for 16 bit bus NAND chips. Signed-off-by: Fabien Parent <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2016-12-03ARM: DRA7x/AM57xx: Get rid of CONFIG_AM57XXNishanth Menon
CONFIG_AM57XX is just an unnecessary macro that is redundant given So, remove the same instead of spreading through out the u-boot source code and getting in the way to maintain common code for DRA7x family. Acked-by: Andrew F. Davis <[email protected]> Signed-off-by: Nishanth Menon <[email protected]> Signed-off-by: Lokesh Vutla <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2016-12-02cmd: crosec: Move cros_ec_decode_region helper to cmd/cros_ec.cMoritz Fischer
The cros_ec_decode_region() function is only used in combination with the crosec cmds. Move the function to the correct place. Signed-off-by: Moritz Fischer <[email protected]> Cc: Simon Glass <[email protected]> Cc: Masahiro Yamada <[email protected]> Cc: [email protected] Acked-by: Simon Glass <[email protected]>
2016-12-02drivers: usb: musb: add ti musb host driver with driver model supportMugunthan V N
Add a TI MUSB host driver with driver model support and the driver will be bound by the MUSB wrapper driver based on the dr_mode device tree entry. Signed-off-by: Mugunthan V N <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2016-12-02drivers: usb: musb: adopt musb backend driver to driver modelMugunthan V N
Currently all backend driver ops uses hard coded physical address, so to adopt the driver to DM, add device pointer to ops call backs so that drivers can get physical addresses from the usb driver priv/plat data. Signed-off-by: Mugunthan V N <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2016-12-02drivers: usb: musb: add ti musb misc driver for wrapperMugunthan V N
Add a misc driver for MUSB wrapper, so that based on dr_mode the USB devices can bind to USB host or USB device drivers. Signed-off-by: Mugunthan V N <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2016-12-02rtc: Add RTC chip pcf2127 supportMeng Yi
This driver compatible with pcf2127 and pcf2129 Signed-off-by: Meng Yi <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2016-12-02dm: core: Add dev_get_addr_size_index() to retrieve addr and sizeStefan Roese
The currently available functions accessing the 'reg' property of a device only retrieve the address. Sometimes its also necessary to retrieve the size described by the 'reg' property. This patch adds the new function dev_get_addr_size_index() which retrieves both, the address and the size described by the 'reg' property. Signed-off-by: Stefan Roese <[email protected]> Cc: Simon Glass <[email protected]> Acked-by: Simon Glass <[email protected]>
2016-12-02drivers: usb: gadget: ether: prepare driver for driver model migrationMugunthan V N
prepare driver for driver model migration Signed-off-by: Mugunthan V N <[email protected]> Acked-by: Joe Hershberger <[email protected]>
2016-12-02drivers: usb: gadget: ether: use net device priv to pass usb ether privMugunthan V N
Use net device priv to pass usb ether priv and use it in net device ops callback. Signed-off-by: Mugunthan V N <[email protected]> Reviewed-by: Simon Glass <[email protected]> Acked-by: Joe Hershberger <[email protected]>
2016-12-02drivers: usb: gadget: ether: consolidate global devices to single structMugunthan V N
Consolidate the net device, usb eth device and gadget device struct to single struct and a single global variable so that the same can be passed as priv of ethernet driver. Signed-off-by: Mugunthan V N <[email protected]> Reviewed-by: Simon Glass <[email protected]> Acked-by: Joe Hershberger <[email protected]>
2016-12-02drivers: usb: gadget: ether: adopt to usb driver modelMugunthan V N
Convert usb ether gadget to adopt usb driver model Signed-off-by: Mugunthan V N <[email protected]> Reviewed-by: Simon Glass <[email protected]> Acked-by: Joe Hershberger <[email protected]>
2016-12-02drivers: usb: gadget: ether: access network_started using local variableMugunthan V N
network_started of struct eth_dev can be accessed using local variable dev and no reason to access it with the global struct. Signed-off-by: Mugunthan V N <[email protected]> Reviewed-by: Simon Glass <[email protected]> Acked-by: Joe Hershberger <[email protected]>
2016-12-02dm: blk: Fix get_desc to return block device descriptorMichal Simek
Current get_desc() implementation is not able to succesfully finish and return pointer to block device descriptor. Also function always return non zero value even device is found. The patch fills block device descriptor and return 0 if device is found. Signed-off-by: Michal Simek <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2016-12-02dm: core: Handle global_data moving in SPLSimon Glass
When CONFIG_SPL_STACK_R is enabled, and spl_init() is called before board_init_r(), spl_relocate_stack_gd() will move global_data to a new place in memory. This affects driver model since it uses a list for the uclasses. Unless this is updated the list will become invalid. When looking for a non-existent uclass, such as when adding a new one, the loop in uclass_find() may continue forever, thus causing a hang. Add a function to correct this rather obscure bug. Signed-off-by: Simon Glass <[email protected]>
2016-12-02pci: sh7751: map PCI memory space into SDRAMVladimir Zapolskiy
For ease of use and accounting a condition that on SH4 pci_phys_to_bus() and pci_bus_to_phys() are one in one mappings due to unimplemented __iomem() conversion, this change fixes access to SDRAM memory by PCI devices. This change also generalizes PCI system memory configuration, which is taken from board specific defines rather than hardcoded in the PCI host driver. Signed-off-by: Vladimir Zapolskiy <[email protected]>
2016-12-02pci: sh7751: fix up PCI I/O space addressVladimir Zapolskiy
The change actually maps PCI I/O window to the same address on PCI bus as it is stated by a comment, before the change transfers to the PCI I/O space are failed due to misconfiguration of the most significant 14 bits of the PCI address in PCIIOBR (note that it is set to 0x0). Most probably the problem remained unnoticed, because communcation to all tested PCI devices is done over PCI memory space only. Signed-off-by: Vladimir Zapolskiy <[email protected]>
2016-12-02tpm: tpm_tis_lpc: Add support for AT97SC3204George McCollister
The Atmel AT97SC3204 is also TIS compliant. Modify the tpm_tis_lpc driver to check for the vid/did used by the Atmel AT97SC3204 and report an appropriate description. Signed-off-by: George McCollister <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2016-12-02common: miiphyutil: Work and report phy address in hex in mdio cmdMichal Simek
It is confusing that mdio commands work and report phy id as decimal value when mii is working with hex values. For example: ZynqMP> mdio list gem: 21 - TI DP83867 <--> ethernet@ff0e0000 ZynqMP> mdio read ethernet@ff0e0000 0 Reading from bus gem PHY at address 21: 0 - 0x1140 ZynqMP> mii dump 21 0 Incorrect PHY address. Range should be 0-31 ... ZynqMP> mii dump 15 0. (1140) -- PHY control register -- (8000:0000) 0.15 = 0 reset U-Boot normally takes hex values that's why this patch is changing mdio command to handle hex instead of changing mii command to handle decimal values. Signed-off-by: Michal Simek <[email protected]> Reviewed-by: Simon Glass <[email protected]> Acked-by: Joe Hershberger <[email protected]>
2016-12-01mmc: Tinification of the mmc codeMarek Vasut
Add new configuration option CONFIG_MMC_TINY which strips away all memory allocation within the MMC code and code for handling multiple cards. This allows extremely space-constrained SPL code use the MMC framework. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Marek Vasut <[email protected]> Cc: Tom Rini <[email protected]> Cc: Jaehoon Chung <[email protected]>
2016-12-01mmc: Fix warning if debug() is not usedMarek Vasut
If debug() is not used, then the whole content of debug(...) will be removed by the preprocessor, which will result in the following warning. This patch adds __maybe_unused annotation to fix this. drivers/mmc/mmc.c: In function ‘mmc_init’: drivers/mmc/mmc.c:1685:11: warning: variable ‘start’ set but not used [-Wunused-but-set-variable] unsigned start; Reviewed-by: Tom Rini <[email protected]> Signed-off-by: Marek Vasut <[email protected]> Cc: Pantelis Antoniou <[email protected]> Cc: Jaehoon Chung <[email protected]>