summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2021-01-30sandbox: Disable I2C emulators in SPLSimon Glass
These cannot work with of-platdata since they currently need the devicetree at runtime. Disable the emulators and the sandbox I2C driver that needs them. We can enable these later, if needed for testing. Switch the of_plat_parent test over to use a simple bus instead. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Heiko Schocher <[email protected]>
2021-01-30i2c: desigware: Add an alias for Intel Apollo LakeSimon Glass
Add an alias so that this driver can be used in TPL on coral. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Heiko Schocher <[email protected]>
2021-01-30cros_ec: Add vstore supportSimon Glass
The EC can store small amounts of data for the benefit of the verified boot process. Since the EC is seldom reset, this can allow the AP to store data that survives a reboot or a suspend/resume cycle. Add support for this. Signed-off-by: Simon Glass <[email protected]>
2021-01-30cros_ec: Allow use with of-platdataSimon Glass
Avoid reading the device tree when of-platdata is in use. Signed-off-by: Simon Glass <[email protected]>
2021-01-30cros_ec: Show events in human-readable formSimon Glass
Add a command to show the current events as a list of names. This is easier to decipher than a bit mask. Signed-off-by: Simon Glass <[email protected]>
2021-01-30cros_ec: Add support for switchesSimon Glass
On x86 platforms the EC provides a way to read 'switches', which are on/off values determined by the EC. Add a new driver method for this and implement it for LPC. Signed-off-by: Simon Glass <[email protected]>
2021-01-30cros_ec: Support reading EC featuresSimon Glass
The EC can support a variety of features and provides a way to find out what is available. Add support for this. Also update the feature list to the lastest available while we are here. This is at: https://chromium.googlesource.com/chromiumos/platform/ec/+/refs/heads/master/include/ec_commands.h Signed-off-by: Simon Glass <[email protected]>
2021-01-30cros_ec: Add support for reading the SKU IDSimon Glass
This allows reading strapping pins attached to the EC. Add an implementation for this. Signed-off-by: Simon Glass <[email protected]>
2021-01-30cros_ec: Add run-time check for input buffer overflowSimon Glass
This should not happen in normal operation, but the EC might have a bug, so add a run-time check just in case. Signed-off-by: Simon Glass <[email protected]>
2021-01-30cros_ec: Tidy up a few delaysSimon Glass
Allow a longer time for the EC to reboot. Also use a constant for the hash delay time, so it is clear what it is for. Signed-off-by: Simon Glass <[email protected]>
2021-01-30cros_ec: Add a function for the hello messageSimon Glass
This is used several times in this file. Put it in a function to avoid code duplication. Also add a test for this function. There are no cros_ec tests at present, so it is time to update the code. Signed-off-by: Simon Glass <[email protected]>
2021-01-30tpm: cr50: Rename driver to work with of-platdataSimon Glass
Update the driver name to match the compatible string, so it can work with of-platdata. Signed-off-by: Simon Glass <[email protected]>
2021-01-30tpm: cr50: Add a better description and more debugSimon Glass
Update the TPM description to include the interrupt mechanicm since this is useful to know. Also add a warning if the TPM cannot be found and a debug line if it succeeds. Signed-off-by: Simon Glass <[email protected]>
2021-01-30tpm: cr50: Check for valid localitySimon Glass
When the Cr50 starts up it doesn't have a valid locality. The driver sets it to -1 to indicate that. Tracking this allows cr50_i2c_cleanup() to avoid releasing a locality that was not claimed. However the helper functions that generate the flags use a u8 type which cannot support -1, so they return a locality of 0xff. Fix this by updating the type. With this, 'tpm startup TPM2_SU_CLEAR' works as expected. Signed-off-by: Simon Glass <[email protected]>
2021-01-29spi: mtk_snor: add support for MTK SPI NOR controllerSkyLake.Huang
This patch adds support for MTK SPI NOR controller, which you can see on mt7622 & mt7629. 1. This controller is designed only for SPI NOR. We can't adjust its bus clock dynamically. Set clock in dts instead. 2. This controller only supports 1-1-1 write mode. 3. Remove mtk_snor_match_read() since upper SPI-MEM layer already handles command. 4. sf read/write/update commands are tested with this driver. Signed-off-by: SkyLake.Huang <[email protected]>
2021-01-27rtc: add rtc-abx80x, a driver for the Abracon AB x80x i2c rtcYing-Chun Liu (PaulLiu)
This is a basic driver for the ultra-low-power Abracon AB x80x series of RTC chips. It supports in particular, the supersets AB0805 and AB1805. It allows reading and writing the time, and enables the supercapacitor or battery charger. Signed-off-by: Ying-Chun Liu (PaulLiu) <[email protected]>
2021-01-27mmc: pci_mmc: Set the removable flagSimon Glass
Set this flag so that it is available to those looking at the device. For non-removable devices there is no need to check for insertion/removable since the media can never change. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Jaehoon Chung <[email protected]>
2021-01-27mmc: pci_mmc: Only generate ACPI code for the SD cardSimon Glass
At present if an eMMC part is in the system, the ACPI table generated will include information about that, as well as the SD card. We only need to include the SD card, since it has a card-detect GPIO. Use a different compatible string for each option, and add code only for the SD card. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Jaehoon Chung <[email protected]>
2021-01-27video: Allow syncing the entire framebuffer to the copySimon Glass
In some cases so much of the framebuffer is updated that it is not worth copying the changes piece by piece to the copy framebuffer. Add a function to copy the whole thing. Signed-off-by: Simon Glass <[email protected]>
2021-01-27pci: Remove CONFIG_PCI_ENUM_ONLY as it's not used (any more)Stefan Roese
This patch completely removes CONFIG_PCI_ENUM_ONLY from the PCI code as it is not configured for any board (any more). With this removal, some PCI related files get cleaned up a bit. Additional, dm_pciauto_setup_device() is now static, as it's not referenced from any code outside of this C file. Signed-off-by: Stefan Roese <[email protected]> Cc: Simon Glass <[email protected]> Cc: Bin Meng <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-01-27bootcount: allow to use this feature on TPLPhilippe Reynes
This commit add an option TPL_BOOTCOUNT_LIMIT to use bootcount on TPL. Signed-off-by: Philippe Reynes <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-01-27Merge https://gitlab.denx.de/u-boot/custodians/u-boot-marvellTom Rini
- Espressobin: Disable slot when emmc is not present (Pali) - DS414; config header cleanup (Phil) - PCI: auto-config enhancement (Phil) - pci_mvebu: Also map IO region (Phil) - serial: a3720: Implement pending method for output direction (Pali) - turris_mox: Enable a few commands (Marek) - helios4 & ClearFog changes (Dennis) - Plus some minor misc changes
2021-01-27net: phy: micrel: Try default PHY ofnode firstMarek Vasut
The phydev structure has a PHY OF node pointer in it, use that OF node first when looking up PHY OF node properties, since that is likely the correct PHY OF node pointer. If the pointer is not valid, which is the case e.g. on legacy DTs, fall back to parsing MAC ethernet-phy subnode. Signed-off-by: Marek Vasut <[email protected]> Cc: Joe Hershberger <[email protected]> Cc: Ramon Fried <[email protected]>
2021-01-27net: phy: ca_phy: Add driver for CAxxxx SoCsAbbie Chang
Add phy driver support for MACs embedded inside Cortina Access SoCs Signed-off-by: Abbie Chang <[email protected]> Signed-off-by: Alex Nemirovsky <[email protected]> CC: Joe Hershberger <[email protected]> CC: Tom Rini <[email protected]> CC: Aaron Tseng <[email protected]> Moved out PHY specific code out of Cortina NI Ethernet driver and into a Cortina Access PHY interface driver
2021-01-27net: cortina_ni: Add eth support for Cortina Access CAxxxx SoCsAaron Tseng
Add Cortina Access Ethernet device driver for CAxxxx SoCs. This driver supports both legacy and DM_ETH network models. Signed-off-by: Aaron Tseng <[email protected]> Signed-off-by: Alex Nemirovsky <[email protected]> Signed-off-by: Abbie Chang <[email protected]> CC: Joe Hershberger <[email protected]> CC: Abbie Chang <[email protected]> CC: Tom Rini <[email protected]>
2021-01-27net: e1000: Add missing address translationsStefan Roese
Add some missing address translations from virtual address in local DRAM to physical address, which is needed for the DMA transactions to work correctly. This issue was detected while testing the e1000 driver on the MIPS Octeon III platform, which needs address translation. Signed-off-by: Stefan Roese <[email protected]> Cc: Joe Hershberger <[email protected]> Cc: Aaron Williams <[email protected]> Cc: Chandrakala Chavva <[email protected]>
2021-01-27net: e1000: Use virt_to_phys() instead of pci_virt_to_mem()Stefan Roese
Using (dm_)pci_virt_to_mem() is incorrect to translate the virtual address in local DRAM to a physical address. The correct macro here is virt_to_phys() so switch to using this macro. As virt_to_bus() is now not used any more, this patch also removes both definitions (DM and non-DM). This issue was detected while testing the e1000 driver on the MIPS Octeon III platform, which needs address translation. Signed-off-by: Stefan Roese <[email protected]> Cc: Joe Hershberger <[email protected]> Cc: Aaron Williams <[email protected]> Cc: Chandrakala Chavva <[email protected]>
2021-01-27net: e1000: Remove unused bus_to_phys() macroStefan Roese
bus_to_phys() is defined but not referenced at all. This patch removes it completely. Signed-off-by: Stefan Roese <[email protected]> Cc: Joe Hershberger <[email protected]> Cc: Aaron Williams <[email protected]> Cc: Chandrakala Chavva <[email protected]>
2021-01-27arm64: a37xx: pci: Fix printing debug messagesPali Rohár
Value pcie->dev in function pcie_advk_probe() is not initialized yet so use dev as argument for dev_dbg()/dev_warn(). Function pcie_advk_wait_pio() itself prints error message on failure so do not print duplicate error message in caller. Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2021-01-27serial: a3720: Implement pending method for output directionPali Rohár
To check if some output characters are waiting either in Transmitter Holding Register or Transmitter Shift Register we need to look at TX_EMPTY bit of UART Status Register. Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2021-01-27pci: pci_mvebu: Define an IO region as wellPhil Sutter
Configure an IO region and window for PNP identical to how MEM region is set up. Linux does this only if the DT defines a pcie-io-aperture property for the SOC, but since all supported boards do this should not be needed. Signed-off-by: Phil Sutter <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2021-01-27pci: Make auto-config code a little more robustPhil Sutter
On my DS414, some PCI devices return odd values when probing BAR sizes. An obvious case is all-ones response, the Linux driver (drivers/pci/probe.c) catches those explicitly and a comment explains that either bit 0 or bit 1 must be clear (depending on MEM or IO type). Other BARs return e.g. 0xfff0000f or 0xfff00004 and thus manage to break size calculation due to the "middle" zeroes. Mitigate that copying more or less what Linux does and do a "find least bit set". Signed-off-by: Phil Sutter <[email protected]> Reviewed-by: Stefan Roese <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-01-27arm: mvebu: Espressobin: Disable slot when emmc is not presentPali Rohár
This change extends previous commit 061c6d1b238a ("arm: mvebu: Espressobin: Detect presence of emmc at runtime") and when emmc is not present then emmc is removed from U-Boot DM and corresponding slot is disabled. Therefore on Espressobin board without soldered emmc, state of emmc hw should be same as if emmc was disabled in DTS. Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2021-01-27gpio: Add support for DM GPIO for KirkwoodHarm Berntsen
The Armada driver also works on Nedap's custom Kirkwood board with a Marvell 88F6180 CPU. The original commit of that driver, commit 704d9a645e17 ("gpio: Add DM GPIO driver for Marvell MVEBU"), also mentions that this driver would be suitable for Kirkwood. This does not completely replace the Kirkwood specific driver as there are still boards depending on that driver. Signed-off-by: Harm Berntsen <[email protected]> CC: Stefan Roese <[email protected]>, Reviewed-by: Stefan Roese <[email protected]>
2021-01-25Merge https://gitlab.denx.de/u-boot/custodians/u-boot-sunxiTom Rini
- New Allwinner H616 SoC support (sans Ethernet & USB) - H6 DT update - Tanix TX6 TV box support - OrangePi 3 support - OrangePi Zero2 (H616) support
2021-01-25clk: sunxi: Add support for H616 clocksJernej Skrabec
This commit introduces DM H616 clock driver. Signed-off-by: Jernej Skrabec <[email protected]> Reviewed-by: Andre Przywara <[email protected]> Signed-off-by: Andre Przywara <[email protected]>
2021-01-25sunxi: gpio: introduce compatible for H616Jernej Skrabec
H616 pinctrl is no different configuration wise than others, so just add compatible for it. Signed-off-by: Jernej Skrabec <[email protected]> Reviewed-by: Andre Przywara <[email protected]> Signed-off-by: Andre Przywara <[email protected]>
2021-01-25sunxi: Add support for H616 SoCJernej Skrabec
H616 is very similar to H6 so most of the infrastructure can be reused. However, two big differences are that it doesn't have functional SRAM A2 which is usually used for TF-A and it doesn't have ARISC co-processor. It also needs bigger SPL size - 48 KiB. Signed-off-by: Jernej Skrabec <[email protected]> Reviewed-by: Andre Przywara <[email protected]> Signed-off-by: Andre Przywara <[email protected]>
2021-01-25mmc: sunxi: Refactor mod clock register offsetAndre Przywara
So far the only difference between the various Allwinner MMC controller we are concerned about is the mod clock register offset. This is actually not directly related to the MMC controller IP, but an integration choice, dependent on the SoC this appears in. To avoid becoming trapped with some compatible fallback strings, let's remove the whole struct sunxi_mmc_variant, and replace this with a SoC based choice, which we can derive from the CONFIG_MACH_SUNx_y symbols. This will later simplify H616 support. Signed-off-by: Andre Przywara <[email protected]> Reviewed-by: Jaehoon Chung <[email protected]>
2021-01-25i2c: mvtwsi: sunxi: update macroJernej Skrabec
While currently none of the newer Allwinner SoCs currently has I2C support implemented in U-Boot, this will change soon. mvtwsi driver is good as it is for them except one macro. Update it to be ready once I2C support lands for those SoCs. Signed-off-by: Jernej Skrabec <[email protected]> Reviewed-by: Heiko Schocher <[email protected]> Reviewed-by: Samuel Holland <[email protected]> Signed-off-by: Andre Przywara <[email protected]>
2021-01-25mmc: sunxi: Replace H6 ifdefs with H6 gen macroJernej Skrabec
It turns out that several SoCs share same mmc configuration as H6. In order to lower ifdef clutter replace H6 specific macro with common one. Signed-off-by: Jernej Skrabec <[email protected]> Reviewed-by: Andre Przywara <[email protected]> Reviewed-by: Jaehoon Chung <[email protected]> Signed-off-by: Andre Przywara <[email protected]>
2021-01-25sunxi: Add support for AXP305 PMICJernej Skrabec
This PMIC can be found on H616 boards and it's very similar to AXP805 and AXP806. Signed-off-by: Jernej Skrabec <[email protected]> Reviewed-by: Andre Przywara <[email protected]> Reviewed-by: Jaehoon Chung <[email protected]> Signed-off-by: Andre Przywara <[email protected]>
2021-01-25net: sun8i-emac: Allow all RGMII PHY modesAndre Przywara
So far all GBit users of the sun8i-emac driver were using the "rgmii" PHY mode, even though this turns out to be wrong. It just worked because the PHY driver doesn't do the proper setup (yet). In fact for most boards the "rgmii-id" or "rgmii-txid" PHY modes are the correct ones. To allow the DTs to describe the phy-mode correctly, and to stay compatible with Linux, at least allow those other RGMII modes in the driver. This avoids breakage if mainline DTs will be synced with U-Boot. Signed-off-by: Andre Przywara <[email protected]> Acked-by: Heinrich Schuchardt <[email protected]>
2021-01-25Merge tag 'mips-pull-2021-01-24' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-mips - MIPS: add support for Mediatek MT7620 SoCs
2021-01-25Merge tag 'u-boot-imx-20210125' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-imx Changes for 2020.04 ------------------- - new board: Phytec phyCORE-i.MX8MP i.MX8MN Beacon EmbeddedWorks devkit - Fixes: several nanbcb fixes fix for imx8mm_beacon - further switch to distro boot commands - DM: DM Ether for MX6UL CI: https://gitlab.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/6013
2021-01-25Merge tag 'u-boot-atmel-2021.04-b' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-atmel Second set of u-boot-atmel features for 2021.04 cycle This feature set includes macb updates for all interfaces and new sama7g5 variant support; micrel ksz9031 DLL support; a new board from Giant based on Adafruit feather form factor which contains a SAMA5D27 SoC; several fixes regarding the NAND flash PMECC block; and pincontrol drive strength support for pio4 controller.
2021-01-24reset: reset-mtmips: add DM_FLAG_PRE_RELOC flagWeijie Gao
Add DM_FLAG_PRE_RELOC flag for reset-mtmips to make sure this driver can be probed before relocation even if u-boot,dm-pre-reloc is not present in the dts. Reviewed-by: Stefan Roese <[email protected]> Signed-off-by: Weijie Gao <[email protected]>
2021-01-24mmc: mtk-sd: assign plat->cfg.f_max with a correct valueWeijie Gao
Currently this driver does not set the value of plat->cfg.f_max, which results in that MMC framework will always run at the lowest frequency. This patch sets plat->cfg.f_max to the maximum allowed frequency, which equals to the source clock frequency. Reviewed-by: Stefan Roese <[email protected]> Signed-off-by: Weijie Gao <[email protected]>
2021-01-24mmc: mtk-sd: add pad control settings for MediaTek MT7620/MT76x8 SoCsWeijie Gao
The driver is missing pad control settings (pad delay and pad conf) for the mt7620 and mt76x8. Although mt76x8 still works well, mt7620 will encounter CRC error on data transfers. This patch adds default pad control settings for mt7620_compat. Reviewed-by: Stefan Roese <[email protected]> Signed-off-by: Weijie Gao <[email protected]>
2021-01-24mmc: mtk-sd: fix sclk cycles shift valueWeijie Gao
It turns out that the sclk cycles used by mt7620/mt7628 is the same as other chips (20 bits, 1048576), not 65536. This patch removes sclk_cycle_shift from dev_comp, and uses a macro with a value 20 instead. Reviewed-by: Stefan Roese <[email protected]> Signed-off-by: Weijie Gao <[email protected]>