summaryrefslogtreecommitdiff
path: root/drivers
Commit message (Collapse)AuthorAgeFilesLines
* FogBugz #522409-2: gpio: dwapb: Enable get_function supportChin Liang See2017-12-271-0/+15
| | | | | | | Enabled get_function support for dwapb where the function will return the state of GPIO port Signed-off-by: Chin Liang See <chin.liang.see@intel.com>
* FogBugz #506599: Add Stratix10 FPGA reconfiguration supportChee Hong Ang2017-11-134-0/+182
| | | | | | | | | FPGA reconfiguration support through Secure Device Manager's mailbox. User is required to program the bitstream into the QSPI flash. Then use "fpga load" command with bitstream location address in QSPI to start the FPGA reconfiguration process. Signed-off-by: Chee Hong Ang <chee.hong.ang@intel.com>
* spi: cadence_qspi: Fix the indirect trigger addressrel_socfpga_v2017.09_17.09.03_prrel_socfpga_v2017.09_17.09.02_prChin Liang See2017-09-181-4/+2
| | | | | | | | The indirect trigger address is actually using offset instead of the address of ahbbase. It was working well in CV and A10 as there is a hardware masking on the lower bits of the value Signed-off-by: Chin Liang See <chin.liang.see@intel.com>
* ddr: altera: stratix10: Add DDR support for Stratix10 SoCChin Liang See2017-09-182-0/+383
| | | | | | Add DDR support for Stratix SoC Signed-off-by: Chin Liang See <chin.liang.see@intel.com>
* block: ide: Don't bother to create BLK device if no CDROM insertedBin Meng2017-09-101-0/+7
| | | | | | | | When there is no CDROM inserted, the block size is zero hence there is no need to create a BLK device for it. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* block: ide: Fix block read/write with driver modelBin Meng2017-09-102-1/+74
| | | | | | | | | | | This converts the IDE driver to driver model so that block read and write are fully functional. Fixes: b7c6baef ("x86: Convert MMC to driver model") Reported-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org> Tested-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
* usb: net: migrate USB Ethernet adapters to KconfigChris Packham2017-09-081-0/+36
| | | | | | | | This migrates ASIX, ASIX88179, MCS7830, RTL8152 and SMSC95XX to Kconfig. Update defconfigs. Signed-off-by: Chris Packham <judge.packham@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* usb: net: migrate CONFIG_USB_HOST_ETHER to KconfigChris Packham2017-09-081-1/+11
| | | | | | | | | | CONFIG_USB_HOST_ETHER is the framework that the drivers are dependent on USB_HOST_ETHER. Use this as a menu and move the existing LAN75XX and LAN78XX options under new menu. Finally update the defconfigs that need CONFIG_USB_HOST_ETHER. Signed-off-by: Chris Packham <judge.packham@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* net: fix typosHeinrich Schuchardt2017-09-073-3/+3
| | | | | | | %s/Desriptor/Descriptor/g Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
* net: phy: realtek: fix enabling of the TX-delay for RTL8211FMadalin Bucur2017-09-071-10/+14
| | | | | | | | | | | | | | The old logic always enabled the TX-delay when the phy-mode was set to PHY_INTERFACE_MODE_RGMII. With this patch we enable the TX delay for PHY_INTERFACE_MODE_RGMII_ID and PHY_INTERFACE_MODE_RGMII_TXID and disable it for PHY_INTERFACE_MODE_RGMII. Based on a similar change made in the Linux Realtek PHY driver by Martin Blumenstingl <martin.blumenstingl@googlemail.com>. Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: York Sun <york.sun@nxp.com>
* usb: gadget: g_dnl: Sync internal SN variable with envSam Protsenko2017-09-051-0/+15
| | | | | | | | | | | | | | | | | | | | Since commit 842778a09104 ("usb: gadget: g_dnl: only set iSerialNumber if we have a serial#") "fastboot devices" stopped to show correct device serial number for TI boards, showing this line instead: ???????????? fastboot This is because serial# env variable could be set after g_dnl gadget was initialized (e.g. by using env_set() in the board file). To fix this, let's update internal serial number variable (g_dnl_serial) when "serial#" env var is changed. Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Cc: Felipe Balbi <felipe.balbi@linux.intel.com> Tested-by: Heiko Schocher <hs@denx.de> Acked-by: Łukasz Majewski <lukma@denx.de> Reviewed-by: Marek Vasut <marex@denx.de>
* Merge git://git.denx.de/u-boot-videoTom Rini2017-09-053-0/+9
|\
| * video: ipuv3_fb: skip IPU shutdown if IPU was not enabled beforeAnatolij Gustschin2017-09-043-0/+9
| | | | | | | | | | | | | | | | | | | | Boards can skip display interface init using board_video_skip(). If display interface was not initialized (e.g. no ipuv3 framebuffer registered or IPU clock disabled), booting Linux stops due to the crash in IPU shutdown function, when accessing IPU registers. Check IPU clock and skip shutdown if clock is not enabled. Signed-off-by: Anatolij Gustschin <agust@denx.de>
* | rockchip: i2c: fix >32 byte readsWadim Egorov2017-09-051-3/+16
| | | | | | | | | | | | | | | | The hw can read up to 32 bytes at a time. If we need more than one chunk, we have to enter the plain RX mode. Signed-off-by: Wadim Egorov <w.egorov@phytec.de> Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
* | rockchip: timer: fix U_BOOT_DRIVER namePhilipp Tomsich2017-09-051-1/+1
|/ | | | | | | | | | | | | When I originally added this driver, I did some careless (and in retrospect: mindless) copy & paste for the U_BOOT_DRIVER structure skeletion... unfortunately, the 'arc_timer' string was committed and slipped through all reviews. This fixes the U_BOOT_DRIVER name to read 'rockchip_rk3368_timer' (as originally intended). Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Reported-by: Artturi Alm <artturi.alm@gmail.com>
* crypto/fsl: fix obj-yy in MakefileClemens Gruber2017-09-041-1/+2
| | | | | | | | | | | | | | | | | | When enabling CONFIG_CMD_BLOB and/or CONFIG_CMD_DEKBLOB, the build fails with a linker error: ... LD u-boot arch/arm/mach-imx/built-in.o: In function `blob_encap_dek': /home/clemens/dev/u-boot/arch/arm/mach-imx/cmd_dek.c:46: undefined reference to `blob_dek' This is due to an error in the Makefile, resulting in obj-yy/obj-yn/.. and fsl_blob.o is therefore not linked. Fix it by splitting it up into two obj-y lines. Signed-off-by: Clemens Gruber <clemens.gruber@pqgruber.com> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
* block: Drop the ftide020 driverBin Meng2017-09-033-614/+0
| | | | | | This is not used in U-Boot. Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
* block: ide: Drop CONFIG_IDE_LEDBin Meng2017-09-031-46/+0
| | | | | | This is actually not used. Drop it. Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
* block: ide: Drop CONFIG_IDE_INIT_POSTRESETBin Meng2017-09-031-9/+0
| | | | | | This is not referenced anywhere. Drop it. Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
* nvme: Remove dead codes in nvme_setup_io_queues()Bin Meng2017-09-031-3/+0
| | | | | | | | Execution cannot reach this statement: "nr_io_queues = result;" Reported-by: Coverity (CID: 166731) Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Tom Rini <trini@konsulko.com>
* nvme: Fix potential sign extension issue in nvme_blk_rw()Bin Meng2017-09-031-1/+1
| | | | | | | | | | | | | | "lbas" with type "u16" (16 bits, unsigned) is promoted in "lbas << ns->lba_shift" to type "int" (32 bits, signed), then sign-extended to type "unsigned long long" (64 bits, unsigned). If "lbas << ns->lba_shift" is greater than 0x7FFFFFFF, the upper bits of the result will all be 1. Fix it by casting "lbas" to "u32". Reported-by: Coverity (CID: 166730) Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Tom Rini <trini@konsulko.com>
* nvme: Fix wrong ndev->queues memsetBin Meng2017-09-031-2/+1
| | | | | | | | | memset() was given a sizeof(NVME_Q_NUM * sizeof(struct nvme_queue *) to clear, which is wrong. Reported-by: Coverity (CID: 166729) Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Tom Rini <trini@konsulko.com>
* Merge git://git.denx.de/u-boot-x86Tom Rini2017-09-021-3/+2
|\
| * x86: ich-spi: Clear atomic preop only when SPI settings are not lockedBin Meng2017-09-021-1/+2
| | | | | | | | | | | | | | | | The atomic preop register can only be written when SPI settings are not locked, otherwise it's read-only. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Stefan Roese <sr@denx.de>
| * x86: ich-spi: Remove useless assignment in ich_spi_xfer()Bin Meng2017-09-021-2/+0
| | | | | | | | | | | | | | | | | | In ich_spi_xfer() when the driver presets control fields, control variable gets assigned twice. Apparently only the last assignment takes effect. Remove the other one. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Stefan Roese <sr@denx.de>
* | Kconfig: Add EEPROM options to Kconfig when I2C_EEPROM is setAdam Ford2017-09-021-0/+45
|/ | | | | | | | | | | | | | | | | | Add the following options to drivers/misc/Kconfig: SYS_I2C_EEPROM_ADDR SYS_I2C_EEPROM_BUS SYS_EEPROM_SIZE SYS_EEPROM_PAGE_WRITE_BITS SYS_EEPROM_PAGE_WRITE_DELAY_MS SYS_I2C_EEPROM_ADDR_LEN SYS_I2C_EEPROM_ADDR_OVERFLOW This does not migrate any boards, but provides a foundations for those who want/need these options Signed-off-by: Adam Ford <aford173@gmail.com> [trini: Migrate uniphier] Signed-off-by: Tom Rini <trini@konsulko.com>
* Convert CONFIG_SYS_I2C_BUS_MAX to KconfigAdam Ford2017-09-011-0/+10
| | | | | | | | | | This converts the following to Kconfig: CONFIG_SYS_I2C_BUS_MAX Signed-off-by: Adam Ford <aford173@gmail.com> Reviewed-by: Heiko Schocher <hs@denx.de> [trini: Fix AM43XX drop AM44XX] Signed-off-by: Tom Rini <trini@konsulko.com>
* Configs: Migrate I2C_BUS_MAX to CONFIG_SYS_I2C_BUS_MAXAdam Ford2017-09-012-10/+10
| | | | | | | | For consistency with other platforms and in preparation of Kconfig migration, let's change Several TI platforms that use I2C_BUS_MAX to CONFIG_SYS_I2C_BUS_MAX Signed-off-by: Adam Ford <aford173@gmail.com>
* Revert "Merge git://git.denx.de/u-boot-video"Tom Rini2017-09-011-12/+1
| | | | | | | | | This reverts commit 1d20170467b079642be96996dcd71db64c3c365c, reversing changes made to 6aee2ab68c362ace5a59f89a63abed82e0bf19e5. The mxc_ipuv3_fb.c changes introduce build failures on some targets. Signed-off-by: Tom Rini <trini@konsulko.com>
* Merge git://git.denx.de/u-boot-videoTom Rini2017-09-011-1/+12
|\
| * video: ipuv3_fb: skip IPU shutdown if IPU was not enabled beforeAnatolij Gustschin2017-08-291-1/+12
| | | | | | | | | | | | | | | | | | | | Boards can skip display interface init using board_video_skip(). If display interface was not initialized (e.g. no ipuv3 framebuffer registered or IPU clock disabled), booting Linux stops due to the crash in IPU shutdown function, when accessing IPU registers. Check IPU clock and skip shutdown if clock is not enabled. Signed-off-by: Anatolij Gustschin <agust@denx.de>
* | Merge git://git.denx.de/u-boot-imxTom Rini2017-09-015-4/+754
|\ \ | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Tom Rini <trini@konsulko.com> Conflicts: configs/imx6qdl_icore_mmc_defconfig configs/imx6qdl_icore_rqs_defconfig
| * | pinctrl: imx7ulp: Add new info instance for iomuxc1Peng Fan2017-08-231-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To i.MX7ULP, we need to create two info instances for iomux0 and iomux1 respectively, otherwise iomuxc0/1 will share one info instance and use one base, because imx_pinctrl_probe will use info to store base address and etc. But iomuxc0/1 actually have different base address. Signed-off-by: Peng Fan <peng.fan@nxp.com> Cc: Simon Glass <sjg@chromium.org> Cc: Stefano Babic <sbabic@denx.de>
| * | pinctrl: imx: Fix mask when SHARE_MUX_CONF_REG is setPeng Fan2017-08-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | when using SHARE_MUX_CONF_REG, wrong mask is used for writing config value, which causes mux value is cleared. Signed-off-by: Peng Fan <peng.fan@nxp.com> Cc: Simon Glass <sjg@chromium.org> Cc: Stefano Babic <sbabic@denx.de>
| * | spl: add serial download protocol (SDP) supportStefan Agner2017-08-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add USB serial download protocol support to SPL. If the SoC started in recovery mode the SPL will immediately switch to SDP and wait for further downloads/commands from the host side. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Reviewed-by: Stefano Babic <sbabic@denx.de> Reviewed-by: Łukasz Majewski <lukma@denx.de>
| * | usb: gadget: sdp: extend images compatible for jumpsStefan Agner2017-08-231-2/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Support U-Boot images in SPL so that u-boot.img files can be directly downloaded and executed. Furthermore support U-Boot scripts download and execution in full U-Boot so that custom recovery actions can be downloaded from the host in a third step. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Reviewed-by: Łukasz Majewski <lukma@denx.de> Reviewed-by: Stefano Babic <sbabic@denx.de>
| * | usb: gadget: add SDP driverStefan Agner2017-08-233-0/+729
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add SDP (Serial Downloader Protocol) implementation for U-Boot. The protocol is used in NXP SoC's boot ROM and allows to download program images. Beside that, it can also be used to read/write registers and download complete Device Configuration Data (DCD) sets. This basic implementation supports downloading images with the imx header format reading and writing registers. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Reviewed-by: Łukasz Majewski <lukma@denx.de>
* | | Merge git://git.denx.de/u-boot-uniphierTom Rini2017-09-0112-2/+194
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | - add {ofnode,dev}_read_resource_byname - provide DT probe hook to Denali NAND driver - update clk/reset driver - update DT - misc cleanups
| * | | reset: uniphier: add PXs3 supportMasahiro Yamada2017-08-301-0/+23
| | | | | | | | | | | | | | | | Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
| * | | reset: uniphier: fix compatible for SD reset node for LD11/LD20Masahiro Yamada2017-08-301-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | LD20 has SD ctrl instead of MIO ctrl. LD11 has both of them. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
| * | | clk: uniphier: add System clock supportMasahiro Yamada2017-08-304-0/+67
| | | | | | | | | | | | | | | | | | | | | | | | Support system clocks for LD4, Pro4, sLD8, Pro5, PXs2/LD6b, LD11, LD20. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
| * | | mtd: nand: denali_dt: add a DT driverMasahiro Yamada2017-08-305-1/+81
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A patch for NAND uclass support was proposed about half a year ago: https://patchwork.ozlabs.org/patch/722282/ It was not merged and I do not see on-going work for this. Without DM-based probing, we need to set up pinctrl etc. in an ad-hoc way and give lots of crappy CONFIG options for base addresses and properties, which are supposed to be specified by DT. This is painful. This commit just provides a probe hook to retrieve "reg" from DT and allocate private data in a DM manner. This DT driver is not essentially a NAND driver, in fact it is (ab)using UCLASS_MISC. Once UCLASS_NAND is supported, it would be possible to migrate to it. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
| * | | ofnode: add {ofnode, dev}_read_resource_byname()Masahiro Yamada2017-08-292-0/+18
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | Linux supports platform_get_resource_byname() to look up a resource by name. We want a similar helper. It is useful when a device node has named register regions. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* | | Merge branch 'master' of git://git.denx.de/u-boot-sunxiTom Rini2017-09-012-4/+29
|\ \ \
| * | | mmc: sunxi: Only update timing mode bit when enabling new timing modeChen-Yu Tsai2017-09-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When enabling the new mmc timing mode, we inadvertently clear all the remaining bits in the new timing mode register. The bits cleared include a default phase delay on the output clock. The BSP kernel states that the default values are supposed to be used. Clearing them results in decreased performance or transfer errors on some boards. Fixes: de9b1771c3b6 ("mmc: sunxi: Support new mode") Signed-off-by: Chen-Yu Tsai <wens@csie.org> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> Reviewed-by: Jagan Teki <jagan@openedev.com>
| * | | mmc: sunxi: fix legacy MMC initialisationMaxime Ripard2017-08-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The driver-model rework changed, among other things, the way the private data were moved around. It now uses the private field in the struct mmc. However, the mmc_create argument was changed in the process to always pass the array we used to have to store our private structures. The basically means that all the MMC driver instances will now have the private data of the first instance, which obviously doesn't work very well. Pass the proper pointer to mmc_create. Fixes: 034e226bc77e ("dm: mmc: sunxi: Pass private data around explicitly") Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Tested-by: Chen-Yu Tsai <wens@csie.org> Tested-by: Jagan Teki <jagan@openedev.com> Reviewed-by: Jagan Teki <jagan@openedev.com>
| * | | mmc: sunxi: Support new modeMaxime Ripard2017-08-282-3/+28
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Almost all of the newer Allwinner SoCs have a new operating mode for the eMMC clocks that needs to be enabled in both the clock and the MMC controller. Details about that mode are sparse, and the name itself (new mode vs old mode) doesn't give much details, but it seems that the it changes the sampling of the MMC clock. One side effect is also that it divides the parent clock rate by 2. Add support for it through a Kconfig option. Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Reviewed-by: Jagan Teki <jagan@openedev.com>
* | | Merge branch 'master' of git://git.denx.de/u-boot-usbTom Rini2017-08-281-2/+2
|\ \ \
| * | | usb: dwc3: fix Kconfig dependency to accept host driver in drivers/usb/dwc3Masahiro Yamada2017-08-281-2/+2
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We see the choice of USB_DWC3_HOST / _GADGET in drivers/usb/dwc3/Kconfig, but we can not choose USB_DWC3_HOST unless USB_GADGET is defined. This is strange. Loosen the "depends on" and also move "select USB_GADGET_DUALSPEED" to the correct place. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
* | | nvme: Get rid of the global variable nvme_infoBin Meng2017-08-283-35/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At present the NVMe uclass driver uses a global variable nvme_info to store global information like namespace id, and NVMe controller driver's priv struct has a blk_dev_start that is used to calculate the namespace id based on the global information from nvme_info. This is not a good design in the DM world and can be replaced with the following changes: - Encode the namespace id in the NVMe block device name during the NVMe uclass post probe - Extract the namespace id from the device name during the NVMe block device probe - Let BLK uclass calculate the devnum for us by passing -1 to blk_create_devicef() as the devnum Signed-off-by: Bin Meng <bmeng.cn@gmail.com>