summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2020-03-09net: phy: add XFI, USXGMII types to is_10g_interface() helperAlex Marginean
The helper is used to reset PHYs on connect and it determines the clause to use (C22/C45) based on interface type. This fixes 'PHY reset timed out' warnings in console for USXGMII/XFI PHYs. Signed-off-by: Alex Marginean <alexandru.marginean@nxp.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
2020-03-09phy: Include NC-SI in phy setupSamuel Mendoza-Jonas
Add NC-SI to the usual phy handling. This makes two notable changes: - Somewhat similar to a fixed phy, phy_connect() will create an NC-SI phy if CONFIG_PHY_NCSI is defined. - An early return is added to phy_read() and phy_write() to handle a case like the NC-SI phy which does not define a bus. Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com> Reviewed-by: Joel Stanley <joel@jms.id.au> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
2020-03-09phy: Add support for the NC-SI protocolSamuel Mendoza-Jonas
This introduces support for the NC-SI protocol, modelled as a phy driver for other ethernet drivers to consume. NC-SI (Network Controller Sideband Interface) is a protocol to manage a sideband connection to a proper network interface, for example a BMC (Baseboard Management Controller) sharing the NIC of the host system. Probing and configuration occurs by communicating with the "remote" NIC via NC-SI control frames (Ethernet header 0x88f8). This implementation is roughly based on the upstream Linux implementation[0], with a reduced feature set and an emphasis on getting a link up as fast as possible rather than probing the full possible topology of the bus. The current phy model relies on the network being "up", sending NC-SI command frames via net_send_packet() and receiving them from the net_loop() loop (added in a following patch). The ncsi-pkt.h header[1] is copied from the Linux kernel for consistent field definitions. [0]: https://github.com/torvalds/linux/tree/master/net/ncsi [1]: https://github.com/torvalds/linux/blob/master/net/ncsi/ncsi-pkt.h Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com> Reviewed-by: Joel Stanley <joel@jms.id.au> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
2020-03-09imx: imx8qm_rom7720: added missing USDHC Base address definesOliver Graute
Added missing USDHC Base address defines Signed-off-by: Oliver Graute <oliver.graute@kococonnector.com> Cc: Stefano Babic <sbabic@denx.de> Cc: Fabio Estevam <festevam@gmail.com> Cc: Peng Fan <peng.fan@nxp.com> Cc: Simon Glass <sjg@chromium.org> Cc: Ye Li <ye.li@nxp.com> Cc: uboot-imx <uboot-imx@nxp.com> Reviewed-by: Fabio Estevam <festevam@gmail.com>
2020-03-09mx6cuboxi: don't disable fdt relocationBaruch Siach
fdt_high value of 0xffffffff disables fdt relocation on boot. We don't need that for Cubox-i/Hummingboard. Rely on generic code to find the optimal fdt location at boot time. Signed-off-by: Baruch Siach <baruch@tkos.co.il>
2020-03-09ARM: dts: imx6sx: Sync with kernel 5.4.16Fabio Estevam
Sync the imx6sx dts files with kernel 5.4.16. Signed-off-by: Fabio Estevam <festevam@gmail.com>
2020-03-09imx8qxp_mek: Fix the console command line stringFabio Estevam
Currently the expansion of the console variable leads to the following kernel command line: console=ttyLP0,${baudrate} earlycon root=/dev/mmcblk1p2 rootwait rw , which causes the console to not show characters after the LPUART driver is probed as the 'baudrate' variable is not properly translated. Fix it by splitting the console variable in two parts: one for the ttyLP0 part and the other one for the baudrate, which matches the way it is done on other i.MX targets. Tested by successfully booting a mainline kernel on a i.MX8QXP MEK board. Signed-off-by: Fabio Estevam <festevam@gmail.com>
2020-03-09imx: remove woodburn boardStefano Babic
Board is not longer used, remove it. Signed-off-by: Stefano Babic <sbabic@denx.de>
2020-03-09configs: am65x_evm: Add CONFIG_SUPPORT_EMMC_BOOTFaiz Abbas
With CONFIG_SUPPORT_EMMC_BOOT moved to Kconfig, move it to defconfig files. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2020-03-09mmc: Merge SD_LEGACY and MMC_LEGACY bus modesFaiz Abbas
MMC_LEGACY & SD_LEGACY are not differentiated timings in the spec and don't have any meaningful differences. Therefore, get rid of all references to SD_LEGACY and use MMC_LEGACY to mean both of them. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2020-03-09sdhci: Add sdhci_deferred_probe() APIFaiz Abbas
Add the sdhci_deferred_probe() function to register as the deferred_probe() callback to the mmc core. It will in turn call the deferred_probe() callback of the platform drivers as declared in the sdhci_ops. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
2020-03-09mmc: Add a deferred_probe() APIFaiz Abbas
Add a deferred_probe() API for platforms that want to do some configurations just before starting to enumerate the device. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
2020-03-09mmc: Add a saved_clock memberFaiz Abbas
Add a saved_clock member to struct mmc to store the previous clock speed in the clock needs to be stopped for some time. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2020-03-09mmc: make <mmc.h> self-containedMasahiro Yamada
This header uses bd_t without including its definition. Change it to (struct bd_info), and add the forward declaration to specify it as a structure. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
2020-03-04Merge branch 'master' of git://git.denx.de/u-boot-shTom Rini
- Limit bootloader size to 1 MiB on R-Car Gen3
2020-03-04Merge branch 'master' of git://git.denx.de/u-boot-socfpgaTom Rini
- ABB SECU board - Assorted minor fixes
2020-03-03ARM: socfpga: Add initial support for the ABB SECU boardHolger Brunck
Add initial support for the ABB SECU board, which is an ArriaV-based SoCFPGA system with ethernet and booting from Denali NAND. Signed-off-by: Holger Brunck <holger.brunck@ch.abb.com> Cc: Ley Foon Tan <ley.foon.tan@intel.com> Cc: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
2020-03-02dm: core: Add a flag for power domain control on device removalAnatolij Gustschin
In various cases a power domain must stay enabled after device removal when booting OS (i.e. serial debug console or display). Add a flag to selectively skip switching off a power domain. Fixes: 52edfed65de9 ("dm: core: device: switch off power domain after device removal") Signed-off-by: Anatolij Gustschin <agust@denx.de> Acked-by: Neil Armstrong <narmstrong@baylibre.com> Tested-by: Guillaume La Roque <glaroque@baylibre.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2020-03-02Merge tag 'xilinx-for-v2020.04-rc4' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-microblaze Xilinx fixes for v2020.04-rc4 - Fix link good bit handling in dp83867 - Rename generic Zynq defconfig - Fix zybo z7 low leve setup - Fix error path in zynq_gem driver and fix 64bit usage - Fix invalid clock name quieries for Versal - Fix zynq/zynqmp SPL low level configuration via DT selection
2020-03-01ARM: socfpga: Add missing Denali NAND config optionsMarek Vasut
The Denali SPL shim won't build without these options set, set them accordingly to fix the build error and let the SPL shim to work correctly. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Ley Foon Tan <ley.foon.tan@intel.com> Cc: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
2020-03-01ARM: socfpga: Permit overriding the default timer frequencyMarek Vasut
The default timer rate may be different than 25 MHz, permit overriding the default rate in board configuration file. Ultimatelly, this should be properly handled by a clock driver, however that is not available on Gen5 yet. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Ley Foon Tan <ley.foon.tan@intel.com> Cc: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
2020-03-01ARM: rmobile: Limit bootloader size to 1 MiB on R-Car Gen3Marek Vasut
The HF/QSPI flash layout permits up to 1 MiB large bootloader blob, set CONFIG_BOARD_SIZE_LIMIT to enforce this limit and set the monitor size to match accordingly. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
2020-02-29Merge tag 'efi-2020-04-rc4-2' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-efi Pull request for UEFI sub-system for efi-2020-04-rc4 (2) In Linux next-20200228 patches have been merged to load an initial ramdisk using an EFI_LOAD_FILE2_PROTOCOL provided by the firmware. See commit ec93fc371f01 ("efi/libstub: Add support for loading the initrd from a device path"). The idea behind it is that the firmware should be responsible for validating the initrd in a secure boot setup. This pull-request comprises a patch series which let's U-Boot provide an initial implementation of the EFI_LOAD_FILE2_PROTOCOL providing the initrd.
2020-02-29Merge tag 'uniphier-v2020.04-3' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-uniphier UniPhier SoC updates for v2020.04 (3rd) - Enable ADMA and HS400 for the eMMC driver on 64-bit SoCs - Add some convenient environment variables to handle SD card - Sanitize the NAND controller reset sequence and its WP handling - Sync DT with Linux
2020-02-28efi_loader: Implement FileLoad2 for initramfs loadingIlias Apalodimas
Following kernel's proposal for an arch-agnostic initrd loading mechanism [1] let's implement the U-boot counterpart. This new approach has a number of advantages compared to what we did up to now. The file is loaded into memory only when requested limiting the area of TOCTOU attacks. Users will be allowed to place the initramfs file on any u-boot accessible partition instead of just the ESP one. Finally this is an attempt of a generic interface across architectures in the linux kernel so it makes sense to support that. The file location is intentionally only supported as a config option argument(CONFIG_EFI_INITRD_FILESPEC), in an effort to enhance security. Although U-boot is not responsible for verifying the integrity of the initramfs, we can enhance the offered security by only accepting a built-in option, which will be naturally verified by UEFI Secure Boot. This can easily change in the future if needed and configure that via ENV or UEFI variable. [1] https://lore.kernel.org/linux-efi/20200207202637.GA3464906@rani.riverdale.lan/T/#m4a25eb33112fab7a22faa0fd65d4d663209af32f Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2020-02-28ARM: zynq: Remove single comment about QSPIMichal Simek
Very likely configs have been moved to Kconfig by scripts and this just remains there that's why remove it. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2020-02-28ARM: uniphier: add sdscript, sdboot, sdupdate environment variablesMasahiro Yamada
Add handy macros: - sdscript: source boot.scr in the file system of the SD media - sdboot : boot the kernel using the images in the file system of the SD media - sdscript: update the boot firmware in the SD media (in raw block sectors) Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2020-02-26efi_loader: implement EFI_RT_PROPERTIES_TABLEHeinrich Schuchardt
UEFI spec 2.8 errata A replaces the RuntimeServicesSupported variable defined in UEFI spec 2.8 by the configuration table EFI_RT_PROPERTIES_TABLE. So let's follow suit. Cc: Ard Biesheuvel <ardb@kernel.org> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Tested-by: Ard Biesheuvel <ardb@kernel.org>
2020-02-20Merge tag 'u-boot-rockchip-20200220' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-rockchip - rk3399: split roc-pc-rk3399 out of evb_rk3399 - sync dts from upstream kernel for rk3399,rk3288,px30 - boot_mode: find the saradc device name
2020-02-20mmc: add mmc_get_dma_dir() helperMasahiro Yamada
Copied from Linux kernel. include/linux/mmc/host.h Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
2020-02-20mmc: sdhci: reduce code duplication for aligned bufferMasahiro Yamada
The same code is run for both SDHCI_QUIRK_32BIT_DMA_ADDR and define(CONFIG_FIXED_SDHCI_ALIGNED_BUFFER). Unify the code. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
2020-02-20mmc: sdhci: put the aligned buffer pointer to struct sdhci_hostMasahiro Yamada
Using the global variable does not look nice. Add a new field sthci::align_buffer to point to the bounce buffer. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
2020-02-19dma-mapping: move dma_map_(un)single() to <linux/dma-mapping.h>Masahiro Yamada
The implementation of dma_map_single() and dma_unmap_single() is exactly the same for all the architectures that support them. Factor them out to <linux/dma-mapping.h>, and make all drivers to include <linux/dma-mapping.h> instead of <asm/dma-mapping.h>. If we need to differentiate them for some architectures, we can move the generic definitions to <asm-generic/dma-mapping.h>. Add some comments to the helpers. The concept is quite similar to the DMA-API of Linux kernel. Drivers are agnostic about what is going on behind the scene. Just call dma_map_single() before the DMA, and dma_unmap_single() after it. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2020-02-19rockchip: rk3399: split roc-pc-rk3399 out of evb_rk3399Suniel Mahesh
roc-pc-rk3399 board has one user button & three user LED's. Currently we don't have any code support for these devices. Since button and LED's are specific to roc-pc-rk3399 board, split it into its own board file and add code support here. Signed-off-by: Suniel Mahesh <sunil@amarulasolutions.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2020-02-19rk3288: vyasa: Add console settingsJagan Teki
Add console settings like stdin, stdout and stderr as cros-ec-keyb and vidconsole respectively for Vyasa Rk3288 board. This would certainly help to detect the attached video devices (like HDMI) and print the console message on display. Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2020-02-19rk3288: tinker: Enable HDMI outputJagan Teki
Enable HDMI output for Tinker RK3288 board. Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2020-02-14Merge tag 'u-boot-stm32-20200214' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-stm - add DH Electronics DHCOM SoM and PDK2 board - DT alignment with kernel v5.5-rc7 for stm32mp1 boards - fix STM32 image format for big endian hosts in mkimage - solve warnings in device tree and code for stm32mp1 boards - remove fdt_high and initrd_high for stm32 and stih boards - add support of STM32MP15x Rev.Z - update stm32mp1 readme
2020-02-14Merge tag 'ti-v2020.04-rc3' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-ti K3 J721E/AM65X: - UART boot fixes for J721E - Enabling debug uart for AM65x DRA7xx/AM57xx: - Preveinting boot from Invalid boot configuration for AM57xx Keysonte2: - Linux Boot fixes for K2 platforms. AM33/AM43/Davinci: - Ethernt boot fixes for AM43XX - USB Host boot fixes for AM43XX
2020-02-13board: stm32: remove fdt_high and fdt_highinitrd_highPatrice Chotard
For stm32 f4, f7 and h7 boards, remove fdt_high and initrd_high as they shouldn't be used, this allows the fdt and initrd relocation. This implies to set CONFIG_SYS_BOOTMAPSZ to indicate the amount of memory available to contain kernel, device tree and initrd for relocation. Signed-off-by: Patrice Chotard <patrice.chotard@st.com> Reviewed-by: Patrick DELAUNAY <patrick.delaunay@st.com>
2020-02-13board: stm32: fix extra env setings addressesPatrice Chotard
For stm32f4, f7 and h7 boards, reserve: - 4MB for kernel - 64KB for fdt, boot script, pxefile - the remaining memory for ramdisk Signed-off-by: Patrice Chotard <patrice.chotard@st.com> Reviewed-by: Patrick DELAUNAY <patrick.delaunay@st.com>
2020-02-13board: stih410-b2260: remove fdt_high and initrd_highPatrice Chotard
Remove fdt_high and initrd_high as they shouldn't be used, this allows the fdt and initrd relocation. This implies to set CONFIG_SYS_BOOTMAPSZ to indicate the amount of memory available to contain kernel, device tree and initrd for relocation. Signed-off-by: Patrice Chotard <patrice.chotard@st.com> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Patrick DELAUNAY <patrick.delaunay@st.com>
2020-02-13stm32mp1: remove fdt_high and initrd_high in environmentPatrick Delaunay
Remove fdt_high and initrd_high (set to 0xffffffff) in stm32mp1 board enviromnent, and U-Boot always relocate FDT and initrd in bootm command. This relocation is limited by CONFIG_SYS_BOOTMAPSZ which indicates the size of the memory region where it is safe to place data passed to the Linux kernel (DTB, initrd), it is a) Less than or equal to RAM size. b) not within the kernel's highmem region So 256M seems large enough in most circumstances and users can override this value via environment variable "bootm_mapsize" if needed. This modification increases the boot time but avoid assumption on aligned address for bootm command. A user can still define this variables themselves if the FDT or initrd is either left in-place or copied to a specific location. Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2020-02-13ARM: keystone2: enable initrd fixup for LPAE addressingTero Kristo
Keystone2 u-boot loads the initrd image into non-LPAE addressed memory but linux kernel is running in LPAE. This causes a conflict as kernel detects that non-memory address is passed and kernel ignores initrd. There is an existing fixup logic to modify the address in the proper configuration, but this is disabled at the moment. Enable the fixup by setting the env variable for this so that initrd can be used properly. Signed-off-by: Tero Kristo <t-kristo@ti.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2020-02-13pci: definition of pci_addr_t and pci_size_tHeinrich Schuchardt
Currently the size of pci_addr_t and pci_size_t depends on CONFIG_SYS_PCI_64BIT. For qemu_arm64_defconfig with 4 GiB RAM this leads to an error pci_hose_phys_to_bus: invalid physical address which is due to the truncation of the bus address in _dm_pci_phys_to_bus. Defining CONFIG_SYS_PCI_64BIT is not a solution as this results in an error PCI: Failed autoconfig bar 10 So let's use unsigned long for pci_addr_t and pci_size_t if CONFIG_SYS_PCI_64BIT is not defined. Considering that 32bit U-Boot is used to launch some 64bit x86 systems we cannot do without CONFIG_SYS_PCI_64BIT requiring u64 as type. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Simon Glass <sjg@chromium.org>
2020-02-11Merge tag 'dm-pull-6feb20' of https://gitlab.denx.de/u-boot/custodians/u-boot-dmTom Rini
sandbox conversion to SDL2 TPM TEE driver Various minor sandbox video enhancements New driver model core utility functions
2020-02-10Merge https://gitlab.denx.de/u-boot/custodians/u-boot-x86Tom Rini
- Move P2SB from Apollo Lake to a more generic location - Add a function to find a device by drvdata in DM core - Enhancement of DM IRQ uclass driver - Add a clock driver for Intel devices - Add support for ACPI general-purpose events - Add a TPM driver for H1/Cr50 - Enable TPM on Google Chromebook Coral
2020-02-09board: ge: bx50v3, imx53ppd: configure CONFIG_SYS_BOOTMAPSZIan Ray
Configure `CONFIG_SYS_BOOTMAPSZ' per guidance on u-boot@lists.denx.de. Signed-off-by: Ian Ray <ian.ray@ge.com>
2020-02-09board: ge: bx50v3, mx53ppd: fix firstboot detectionRobert Beckett
Use `test' command to test for file existence instead of relying on the old functionality of the `ext2load' command (which now reports an error when attempting to load a zero length file). Signed-off-by: Robert Beckett <bob.beckett@collabora.com> Signed-off-by: Ian Ray <ian.ray@ge.com>
2020-02-09board: ge: mx53ppd: use DM for uartIan Ray
Drop PPD_UART_PAD_CTRL since it matches defaults. Enable DM serial and MXC uart. Signed-off-by: Ian Ray <ian.ray@ge.com> Signed-off-by: Robert Beckett <bob.beckett@collabora.com>
2020-02-09board: ge: bx50v3: use DM for uartRobert Beckett
Remove legacy uart pad and iomux code Enable DM serial and mxc uart Signed-off-by: Robert Beckett <bob.beckett@collabora.com>