summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2019-02-09mmc: Do not poll using CMD13 when changing timingMarek Vasut
When using CMD6 to switch eMMC card timing from HS200/HS400 to HS/legacy, do not poll for the completion status using CMD13, but rather wait 50mS. Once the card receives the CMD6 and starts executing it, the bus is in undefined state until both the card finishes executing the command and until the controller switches the bus to matching timing configuration. During this time, it is not possible to transport any commands or data across the bus, which includes the CMD13. Signed-off-by: Marek Vasut <[email protected]> Cc: Jaehoon Chung <[email protected]>
2019-02-09mmc: tmio: renesas: Add 1uS delay after DMA completion on older IPsMarek Vasut
The internal DMAC asserts DMA transfer end bit too early on older version of the TMIO IPs which use bit 17 for DTRAEND. Add 1uS delay after the completion of DMA transfer and before invalidating the cache to let the DMAC fully complete the transfer. Otherwise, it could happen that the last few bytes of a transferred data are not available. A test case to trigger this behavior is the following command, ran on the U-Boot command line, with Sandisk 16 GiB UHS-I card inserted into SDHI slot 0 and with first partition being of type FAT: => while true ; do mmc rescan ; fstype mmc 0:1 ; done Signed-off-by: Marek Vasut <[email protected]> Cc: Masahiro Yamada <[email protected]>
2019-02-09mmc: tmio: Make DMA transfer end bit configurableMarek Vasut
Different versions of the SDHI core use either bit 17 or bit 20 for the DTRAEND indication, which can differ even between SoC revisions. Make the DTRAEND bit position part of the driver private data, so that the probe function can set this accordingly. Set this to 20 on Socionext SoCs and either 17 or 20 on Renesas SoCs, depending on the SoC. Signed-off-by: Marek Vasut <[email protected]> Cc: Masahiro Yamada <[email protected]>
2019-02-08dm: core: Introduce dev_read_alias_highest_id()Michal Simek
It is wrapper for calling of_alias_get_highest_id() when live tree is enabled and fdtdec_get_alias_highest_id() if not. Signed-off-by: Michal Simek <[email protected]> Reviewed-by: Heiko Schocher <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2019-02-08dm: core: Add of_alias_get_highest_id()Michal Simek
The same functionality was added to Linux for i2c bus registration with this commit message: " of: base: add function to get highest id of an alias stem I2C supports adding adapters using either a dynamic or fixed id. The latter is provided by aliases in the DT case. To prevent id collisions of those two types, install this function which gives us the highest fixed id, so we can then let the dynamically created ones come after this highest number. Signed-off-by: Wolfram Sang <[email protected]> Acked-by: Rob Herring <[email protected]> Signed-off-by: Wolfram Sang <[email protected]> " Add it also to U-Boot for DM I2C support. Signed-off-by: Michal Simek <[email protected]> Reviewed-by: Heiko Schocher <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2019-02-07Merge branch 'master' of git://git.denx.de/u-boot-spiTom Rini
- SPI-NOR support
2019-02-07configs: Don't use SPI_FLASH_BAR as defaultVignesh R
Now that new SPI NOR layer uses stateless 4 byte opcodes by default, don't enable SPI_FLASH_BAR. For SPI controllers that cannot support 4-byte addressing, (stm32_qspi.c, fsl_qspi.c, mtk_qspi.c, ich.c, renesas_rpc_spi.c) add an imply clause to enable SPI_FLASH_BAR so as to not break functionality. Signed-off-by: Vignesh R <[email protected]> Tested-by: Simon Goldschmidt <[email protected]> Tested-by: Stefan Roese <[email protected]> Tested-by: Horatiu Vultur <[email protected]> Reviewed-by: Jagan Teki <[email protected]> Tested-by: Jagan Teki <[email protected]> #zynq-microzed
2019-02-07mtd: spi: Add lightweight SPI flash stack for SPLVignesh R
Add a tiny SPI flash stack that just supports reading data/images from SPI flash. This is useful for boards that have SPL size constraints and would need to use SPI flash framework just to read images/data from flash. There is approximately 1.5 to 2KB savings with this. Based on prior work of reducing spi flash id table by Simon Goldschmidt <[email protected]> Signed-off-by: Vignesh R <[email protected]> Tested-by: Simon Goldschmidt <[email protected]> Tested-by: Stefan Roese <[email protected]> Tested-by: Horatiu Vultur <[email protected]> Reviewed-by: Jagan Teki <[email protected]> Tested-by: Jagan Teki <[email protected]> #zynq-microzed
2019-02-07mtd: spi: Remove unused filesVignesh R
spi_flash and spi_flash_ids are no longer needed after SPI NOR migration. Remove them. Signed-off-by: Vignesh R <[email protected]> Tested-by: Simon Goldschmidt <[email protected]> Tested-by: Stefan Roese <[email protected]> Tested-by: Horatiu Vultur <[email protected]> Reviewed-by: Jagan Teki <[email protected]> Tested-by: Jagan Teki <[email protected]> #zynq-microzed
2019-02-07mtd: spi: Switch to new SPI NOR frameworkVignesh R
Switch spi_flash_* interfaces to call into new SPI NOR framework via MTD layer. Fix up sf_dataflash to work in legacy way. And update sandbox to use new interfaces/definitions Signed-off-by: Vignesh R <[email protected]> Tested-by: Simon Goldschmidt <[email protected]> Tested-by: Stefan Roese <[email protected]> Tested-by: Horatiu Vultur <[email protected]> Reviewed-by: Jagan Teki <[email protected]> Tested-by: Jagan Teki <[email protected]> #zynq-microzed
2019-02-07mtd: spi: sf_probe: Add "jedec, spi-nor" compatible stringVignesh R
Linux uses "jedec,spi-nor" as compatible string for JEDEC compatible SPI Flash device nodes. Therefore make U-Boot also to look for the same compatible string so that we can use Linux DTS files as is. Signed-off-by: Vignesh R <[email protected]> Tested-by: Simon Goldschmidt <[email protected]> Tested-by: Stefan Roese <[email protected]> Tested-by: Horatiu Vultur <[email protected] Reviewed-by: Jagan Teki <[email protected]> Tested-by: Jagan Teki <[email protected]> #zynq-microzed
2019-02-07mtd: spi: spi-nor-core: Add back U-Boot specific featuresVignesh R
For legacy reasons, we will have to keep around U-Boot specific SPI_FLASH_BAR and SPI_TX_BYTE. Add them back to the new framework Signed-off-by: Vignesh R <[email protected]> Reviewed-by: Jagan Teki <[email protected]> Tested-by: Jagan Teki <[email protected]> #zynq-microzed
2019-02-07mtd: spi: spi-nor-core: Add SFDP supportVignesh R
Sync Serial Flash Discoverable Parameters (SFDP) parsing support from Linux. This allows auto detection and configuration of Flash parameters. Signed-off-by: Vignesh R <[email protected]> Tested-by: Simon Goldschmidt <[email protected]> Tested-by: Stefan Roese <[email protected]> Tested-by: Horatiu Vultur <[email protected]> Reviewed-by: Jagan Teki <[email protected]> Tested-by: Jagan Teki <[email protected]> #zynq-microzed
2019-02-07mtd: spi: spi-nor-core: Add 4 Byte addressing supportVignesh R
Sync changes from Linux SPI NOR framework to add 4 byte addressing support. This is required in order to support flashes like MT35x that no longer support legacy Bank Address Register(BAR) way of accessing >16MB region. Signed-off-by: Vignesh R <[email protected]> Tested-by: Simon Goldschmidt <[email protected]> Tested-by: Stefan Roese <[email protected]> Tested-by: Horatiu Vultur <[email protected]> Reviewed-by: Jagan Teki <[email protected]> Tested-by: Jagan Teki <[email protected]> #zynq-microzed
2019-02-07mtd: spi: spi-nor-core: Add SPI MEM supportVignesh R
Many SPI controllers have special MMIO interfaces which provide accelerated read/write access but require knowledge of flash parameters to make use of it. Recent spi-mem layer provides a way to support such controllers. Therefore, add spi-mem support to spi-nor-core as a way to support SPI controllers with MMIO interface. SPI MEM layer takes care of translating spi_mem_ops to spi_xfer()s in case of legacy SPI controllers. Signed-off-by: Vignesh R <[email protected]> Tested-by: Simon Goldschmidt <[email protected]> Tested-by: Stefan Roese <[email protected]> Tested-by: Horatiu Vultur <[email protected]> Reviewed-by: Jagan Teki <[email protected]> Tested-by: Jagan Teki <[email protected]> #zynq-microzed
2019-02-07mtd: spi: Port SPI NOR framework from LinuxVignesh R
Current U-Boot SPI NOR support (sf layer) is quite outdated as it does not support 4 byte addressing opcodes, SFDP table parsing and different types of quad mode enable sequences. Many newer flashes no longer support BANK registers used by sf layer to a access >16MB of flash address space. So, sync SPI NOR framework from Linux v4.19 that supports all the above features. Start with basic sync up that brings in basic framework subsequent commits will bring in more features. Signed-off-by: Vignesh R <[email protected]> Tested-by: Simon Goldschmidt <[email protected]> Tested-by: Stefan Roese <[email protected]> Tested-by: Horatiu Vultur <[email protected]> Reviewed-by: Jagan Teki <[email protected]> Tested-by: Jagan Teki <[email protected]> #zynq-microzed
2019-02-07spi: Add non DM version of SPI_MEMVignesh R
Add non DM version of SPI_MEM to support easy migration to new SPI NOR framework. This can be removed once DM_SPI conversion is complete. Signed-off-by: Vignesh R <[email protected]> Tested-by: Simon Goldschmidt <[email protected]> Tested-by: Stefan Roese <[email protected]> Tested-by: Horatiu Vultur <[email protected]> Reviewed-by: Jagan Teki <[email protected]> Tested-by: Jagan Teki <[email protected]> #zynq-microzed
2019-02-07spi: spi-mem: Claim SPI bus before spi mem accessVignesh R
It is necessary to call spi_claim_bus() before starting any SPI transactions and this restriction would also apply when calling spi-mem operations. Therefore claim and release bus before requesting transfer via exec_op. Signed-off-by: Vignesh R <[email protected]> Tested-by: Simon Goldschmidt <[email protected]> Tested-by: Stefan Roese <[email protected]> Tested-by: Horatiu Vultur <[email protected]> Reviewed-by: Jagan Teki <[email protected]> Tested-by: Jagan Teki <[email protected]> #zynq-microzed
2019-02-07spi: spi-mem: Extend spi_mem_adjust_op_size() to honor max xfer sizeVignesh R
Extend spi_mem_adjust_op_size() to take spi->max_write_size and spi->max_read_size into account. Signed-off-by: Vignesh R <[email protected]> Tested-by: Simon Goldschmidt <[email protected]> Tested-by: Stefan Roese <[email protected]> Tested-by: Horatiu Vultur <[email protected]> Reviewed-by: Jagan Teki <[email protected]> Tested-by: Jagan Teki <[email protected]> #zynq-microzed
2019-02-07spi: spi-mem: Allow use of spi_mem_exec_op for all SPI modesVignesh R
SPI controllers support all types of SPI modes including dual/quad bus widths. Therefore remove constraint wrt SPI mode from spi-mem layer. Signed-off-by: Vignesh R <[email protected]> Tested-by: Simon Goldschmidt <[email protected]> Tested-by: Stefan Roese <[email protected]> Tested-by: Horatiu Vultur <[email protected]> Reviewed-by: Jagan Teki <[email protected]> Tested-by: Jagan Teki <[email protected]> #zynq-microzed
2019-02-05Merge git://git.denx.de/u-boot-marvellTom Rini
- Move Armada XP / 38x PCIe driver to DM_PCI from me - Move Armada XP / 38x LCD driver to DM_VIDEO from me - Add uDPU board (Armada-3720) from Vladimir [trini: Fix warning in pci-uclass.c by removing ret from pci_uclass_child_post_bind as it no longer calls functions with a return code to catch.] Signed-off-by: Tom Rini <[email protected]>II
2019-02-05video: Armada XP: Move driver to DM_VIDEOStefan Roese
This patch moves the Armada XP video / LCD driver to DM_VIDEO. With this move, the legacy interface board_video_init() is removed from the theadorable board code (only user of this video driver). The support via DT will be added in a separate patch. This patch also enables DM_VIDEO for the theadorable board, as this is needed to not break git bisect'ability. Signed-off-by: Stefan Roese <[email protected]> Reviewed-by: Anatolij Gustschin <[email protected]> Acked-by: Anatolij Gustschin <[email protected]>
2019-02-05pci: pci_mvebu: Add DM_PCI support and move CONFIG_PCI_MVEBU to defconfigStefan Roese
This patch adds DM_PCI support to the MVEBU PCIe driver. This is necessary, since all PCI drivers have to be moved to DM (driver model) until the v2019.07 release. To not break git bisect'ablility, this patch also moves CONFIG_PCI_MVEBU from config headers to the defconfig files. Signed-off-by: Stefan Roese <[email protected]> Cc: Dirk Eibach <[email protected]> Cc: Mario Six <[email protected]> Cc: Chris Packham <[email protected]> Cc: Phil Sutter <[email protected]> Cc: Marek BehĂșn <[email protected]> Cc: VlaoMao <[email protected]>
2019-02-05pci: Add pci_get_devfn() to extract devfn from the fdt_pci_addrStefan Roese
This function will be used by the Marvell Armada XP/38x PCIe driver, which is moved to DM right now. So let's extract the functionality from pci_uclass_child_post_bind() to make it available. Signed-off-by: Stefan Roese <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2019-02-02Merge tag 'for-master-20190201' of git://git.denx.de/u-boot-rockchipTom Rini
u-boot-rockchip changes for 2019.04-rc1: * support for Chromebook Bob * full pinctrl driver using DTS properties * documentation improvements * I2S support for some Rockchip SoCs
2019-02-02Merge tag 'mips-pull-2019-02-01' of git://git.denx.de/u-boot-mipsTom Rini
- MIPS: mscc: jr2: small fixes - MIPS: mscc: luton: add ethernet and switch driver - MIPS: mt76xx: fix timer frequency
2019-02-01regulator: pbias: Handle extended drain IO when changing omap36 PBIASAdam Ford
The OMAP36 and DM37 TRM state to disable extneded drain IO before changing the PBIAS. This patch does this before pmic writes if the CONFIG_MMC_OMAP36XX_PINS flag is set and the cpu family is omap36xx Signed-off-by: Adam Ford <[email protected]>
2019-02-01pinctrl: Kconfig: fix missing include of rockchip/KconfigPhilipp Tomsich
After the merge of the new, generic pinctrl-code, the include for rockchip/Kconfig was missing. Add it here, so we can select the pinctrl-driver for SPL. Signed-off-by: Philipp Tomsich <[email protected]>
2019-02-01pinctrl: Kconfig: sort includes alphabeticallyPhilipp Tomsich
To make adding new subdirectories easier, let's enforce alphabetical ordering of the includes of Kconfig files in the respective subdirectories. Signed-off-by: Philipp Tomsich <[email protected]>
2019-02-01rockchip: Implement spl_gpio in the GPIO driverSimon Glass
Allow rockchip boards to use GPIOs before driver model is ready. This is really only useful for setting GPIOs to enable the early debug console, if needed on some platforms. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Philipp Tomsich <[email protected]>
2019-02-01rockchip: clk: Add mention of four new clocksSimon Glass
These clocks are needed to get MMC running. We don't actually support setting them yet. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Philipp Tomsich <[email protected]>
2019-02-01clk: Improve debug message in clk_set_default_rates()Simon Glass
It is helpful to print the clock number as well as the index, so that this can be looked up in the binding file. Update the debug() statement to do this. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Philipp Tomsich <[email protected]>
2019-02-01pinctrl: rockchip: Clean the unused rockchip pinctrl driversDavid Wu
If we used the pinctrl-rockchip driver, these code is not needed, so remove them. Signed-off-by: David Wu <[email protected]> Reviewed-by: Simon Glass <[email protected]> Tested-by: Simon Glass <[email protected]> Reviewed-by: Kever Yang <[email protected]> Reviewed-by: Philipp Tomsich <[email protected]>
2019-02-01pinctrl: rockchip: Add common rockchip pinctrl driverDavid Wu
Use this driver to fit all Rockchip SOCs and to support the desired pinctrl configuration via DTS. Signed-off-by: David Wu <[email protected]> Acked-by: Heiko Stuebner <[email protected]> Reviewed-by: Kever Yang <[email protected]> Reviewed-by: Philipp Tomsich <[email protected]>
2019-02-01rockchip: Add a sound driverSimon Glass
Add a sound driver for rk3288 supporting chromebook_jerry. This uses the I2S driver, and existing audio codec and the clock/pinmux support. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Philipp Tomsich <[email protected]>
2019-02-01rockchip: Add an I2S driverSimon Glass
Add a driver for I2S which allows audio data to be sent from the SoC to the audio codec. The sample rate and other settings are hard-coded for now as there is no suitable device-tree binding available. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Philipp Tomsich <[email protected]>
2019-02-01rockchip: rk3288: Add i2s pinctrl and clock supportSimon Glass
Add support for setting pinctrl and clock for I2S on rk3288. This allows the sound driver to operate. These settings were created by rkmux.py Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Philipp Tomsich <[email protected]>
2019-02-01usb: ether: call _usb_eth_halt() if initialization failsJean-Jacques Hiblot
If the host does not respond in time, the initialization fails. However the usb ether driver will still be registered. This will make usb_gadget_probe_driver() fail the next time the initialization is attempted because it cannot find an available UDC. Fixing this by calling _usb_eth_halt() when the init fails. Signed-off-by: Jean-Jacques Hiblot <[email protected]> Acked-by: Lukasz Majewski <[email protected]>
2019-02-01net: Add MSCC Luton networkd driver.Horatiu Vultur
Add network driver for Microsemi Ethernet switch, it is present on Luton SoCs. Signed-off-by: Horatiu Vultur <[email protected]>
2019-02-01net: mscc: Remove unused variablesHoratiu Vultur
Remove unused variables in the struct ocelot_private and make miim variable static. Signed-off-by: Horatiu Vultur <[email protected]>
2019-02-01net: mscc: Move mac_table_add function into different file.Horatiu Vultur
Move the function mac_table_add into a different file, so it can be reused. Signed-off-by: Horatiu Vultur <[email protected]>
2019-02-01net: mscc: Move ocelot_send and ocelot_recv in a different file.Horatiu Vultur
This functions can be reused by other MSCC SoCs therefore, make them more generic and move them in separate files. Signed-off-by: Horatiu Vultur <[email protected]>
2019-02-01net: mscc: Move miim commands into separate file.Horatiu Vultur
Move miim functions that can be shared in a different file inside mscc_eswitch. Signed-off-by: Horatiu Vultur <[email protected]>
2019-02-01net: mscc: Move ocelot_switch to mscc_eswitch folderHoratiu Vultur
Move file ocelot_switch to mscc_eswitch to prepare to add new net drivers for other MSCC SoCs. Signed-off-by: Horatiu Vultur <[email protected]>
2019-01-31Merge tag 'video-updates-for-2019.04-rc1' of git://git.denx.de/u-boot-videoTom Rini
- ihs and imx driver fixes - relax EDID validation checks for 0 hsync/vsync pulse width (support some quirky displays)
2019-01-31video: Add Meson Video Processing Unit DriverNeil Armstrong
This adds video output support for Amlogic GXBB/GXL/GXM chips. The supported ports are CVBS and HDMI (based on DW_HDMI). When using HDMI, only DMT modes are supported. There is support for simple-framebuffer (CONFIG_VIDEO_DT_SIMPLEFB) Signed-off-by: Neil Armstrong <[email protected]> Signed-off-by: Jorge Ramire-Ortiz <[email protected]> Signed-off-by: Maxime Jourdan <[email protected]> [narmstrong: fixed defines alignment in meson_canvas.c] Reviewed-by: Anatolij Gustschin <[email protected]>
2019-01-31video: dw_hdmi: add support for color conversionJorge Ramirez-Ortiz
Some IPs like the meson VPU can only feed a particular pixel format to dw_hdmi. As of now, the driver is hardcoded to use RGB888 as input. This commit enables different pixel format inputs, with the appropriate CSC configuration. Signed-off-by: Jorge Ramire-Ortiz <[email protected]> Signed-off-by: Maxime Jourdan <[email protected]> Signed-off-by: Neil Armstrong <[email protected]> Reviewed-by: Anatolij Gustschin <[email protected]>
2019-01-31video: dw_hdmi: support SoC specific read/write opsJorge Ramirez-Ortiz
Some IPs like the meson VPU have a specific way to write to dw_hdmi registers. Make it configurable. Signed-off-by: Jorge Ramirez-Ortiz <[email protected]> [added commit description] Signed-off-by: Maxime Jourdan <[email protected]> Signed-off-by: Neil Armstrong <[email protected]> Reviewed-by: Anatolij Gustschin <[email protected]>
2019-01-31power: domain: meson-gx-pwrc-vpu: add missing dependsMaxime Jourdan
MESON_GX_VPU_POWER_DOMAIN should depend on POWER_DOMAIN. Signed-off-by: Maxime Jourdan <[email protected]> Signed-off-by: Neil Armstrong <[email protected]> Reviewed-by: Anatolij Gustschin <[email protected]>
2019-01-30dfu: mmc: call fs functions instead of run_commandSimon Goldschmidt
This unbreaks dfu mmc_file_op which is currently broken since using the load cmd on a buffer from heap is not allowed - added with commit aa3c609e2be5 ("fs: prevent overwriting reserved memory") Fixes: commit aa3c609e2be5 ("fs: prevent overwriting reserved memory") Reported-by: Stephen Warren <[email protected]> Signed-off-by: Simon Goldschmidt <[email protected]> Tested-by: Stephen Warren <[email protected]> Acked-by: Lukasz Majewski <[email protected]>