summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2022-08-04Convert CONFIG_SYS_FLASH_ERASE_TOUT et al to KconfigTom Rini
This converts the following to Kconfig: CONFIG_SYS_FLASH_ERASE_TOUT CONFIG_SYS_FLASH_LOCK_TOUT CONFIG_SYS_FLASH_UNLOCK_TOUT CONFIG_SYS_FLASH_WRITE_TOUT In practice, for two m68k platforms we move to hard-coding with a comment the timeout values, rather than try and make convoluted Kconfig logic. We add options for the write and erase options to the pic32 flash driver, as this driver does make use of them. Everywhere else these are unreferenced values. Signed-off-by: Tom Rini <[email protected]>
2022-08-04Convert CONFIG_SYS_FLASH_CHECKSUM to KconfigTom Rini
This converts the following to Kconfig: CONFIG_SYS_FLASH_CHECKSUM Signed-off-by: Tom Rini <[email protected]>
2022-08-04Convert CONFIG_SYS_FLASH_EMPTY_INFO to KconfigTom Rini
This converts the following to Kconfig: CONFIG_SYS_FLASH_EMPTY_INFO Signed-off-by: Tom Rini <[email protected]>
2022-08-04gpio: fix incorrect depends on for SPL_GPIO_HOGQuentin Schulz
Since commit 83061dbd1c89 ("Rename GPIO_SUPPORT to GPIO"), SPL_GPIO_SUPPORT has been renamed to SPL_GPIO, meaning that SPL_GPIO_HOG can never be enabled. Let's fix this by using the proper name for the Kconfig option. Fixes: 1d99e673c752 ("gpio: Enable hogging support in SPL") Cc: Quentin Schulz <[email protected]> Signed-off-by: Quentin Schulz <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-08-04drivers: xen: events: fix build issues with disabled Xen HVCDmytro Firsov
Some setups do not use Xen hypervisor console for logging, e.g. they use emulated PL011 hardware or shared peripherals (real UART). In such cases Xen HVC will be disabled on a build time and will cause issues in current driver implementation. This commit fixes build issues in Xen event channel driver, caused by absense of console event channel, that is not available when console config is disabled. Now console related code will be removed when Xen HVC is turned off. Signed-off-by: Dmytro Firsov <[email protected]> Reviewed-by: Anastasiia Lukianenko <[email protected]> Reviewed-by: Anastasiia Lukianenko <[email protected]<mailto:[email protected]>> Signed-off-by: Dmytro Firsov <[email protected]<mailto:[email protected]>>
2022-08-04pwm: aspeed: Select SYSCON to get parent detail.Billy Tsai
To work correctly, this driver depends on SYSCON to get the base address from the parent dts node. Signed-off-by: Billy Tsai <[email protected]> Reviewed-by: Chia-Wei Wang <[email protected]>
2022-08-02tpm: Add the RNG child deviceSughosh Ganu
The TPM device comes with the random number generator(RNG) functionality which is built into the TPM device. Add logic to add the RNG child device in the TPM uclass post probe callback. The RNG device can then be used to pass a set of random bytes to the linux kernel, need for address space randomisation through the EFI_RNG_PROTOCOL interface. No compatible string is provided because this is not available in the binding defined by Linux. If multiple rand devices are in the system, then some method of selecting them (other than device tree) will need to be used, or a binding will need to be added. Signed-off-by: Sughosh Ganu <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]>
2022-08-02tpm: rng: Add driver model interface for TPM RNG deviceSughosh Ganu
The TPM device has a builtin random number generator(RNG) functionality. Expose the RNG functions of the TPM device to the driver model so that they can be used by the EFI_RNG_PROTOCOL if the protocol is installed. Also change the function arguments and return type of the random number functions to comply with the driver model api. Signed-off-by: Sughosh Ganu <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]>
2022-07-29arm: mvebu: Fix compatible string for nand controllerPali Rohár
Linux kernel uses compatible string "marvell,armada370-nand-controller" for nand controllers on Armada 370/XP/38x. U-Boot currently uses mix of "marvell,armada370-nand" and "marvell,mvebu-pxa3xx-nand". So unify it and use just Linux kernel compatible string. Signed-off-by: Pali Rohár <[email protected]> Acked-by: Michael Trimarchi <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2022-07-29gpio: Add Turris Omnia MCU driverPali Rohár
This driver registers GPIO controller and allows U-Boot to control GPIO pins on MCU which is connected to Turris Omnia via i2c. Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2022-07-29mvebu: pinctrl: apply SDHCI PHY config for A7KKonstantin Porotchkin
Current pin control driver applies SDHCI PHY MUX selection when board DT calls for eMMC function on MPP wires. However, for CP side eMMC, only the "armada-8k-cpm-pinctrl" compatibility string is taken into account, which causes CP-SDHCI on Armada-7K boards to fail. This patch adds "armada-7k-pinctrl" compatibility string handling for the CP-SDHCI PHY configuration case. Signed-off-by: Konstantin Porotchkin <[email protected]> Reviewed-by: Igal Liberman <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2022-07-29arm64: a37xx: pinctrl: Implement get_pins_count, get_pin_name and ↵Pali Rohár
get_pin_muxing functions These functions are required for 'pinmux status -a' command to print current configuration of each MPP pin. Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2022-07-29arm64: a37xx: pinctrl: Implement gpio_request_enable for gpio functionalityPali Rohár
To automatically enable GPIO functionality of some MPP pin, it is required to implement .gpio_request_enable and .gpio_disable_free callbacks in pinctrl driver and set .request and .rfree callbacks in GPIO driver to pinctrl_gpio_request / pinctrl_gpio_free functions. Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2022-07-29arm64: a37xx: pinctrl: Add missing pinmuxes into the listPali Rohár
Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2022-07-29arm64: a37xx: pinctrl: Mark all functions and structures as staticPali Rohár
Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2022-07-29arm64: a37xx: pinctrl: Remove duplicate info->groups and info->ngroups fieldsPali Rohár
They are available in pin_data structure. Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2022-07-29arm64: a37xx: pinctrl: Remove unused grp->pins fieldsPali Rohár
grp->pins is just filled and never used. Remove it. Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2022-07-28gpio: mvebu_gpio: Set bank name to mvebu%dPali Rohár
Currently bank name is just one alphabetical letter. Change it to mvebu and number. Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2022-07-28gpio: mvebu_gpio: Read number of gpios from DTPali Rohár
Device tree property "ngpios" contains number of gpios. Use it when available. Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2022-07-28gpio: mvebu_gpio: Add .request and .rfree methods for Armada 38xPali Rohár
To use particular pin GPIO, it needs to be first switched to GPIO by pinctrl. Use pinctrl_gpio_request() and pinctrl_gpio_free() for this purpose. Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2022-07-28pinctrl: Add third argument label for pinctrl_gpio_request() functionPali Rohár
This change allows to use pinctrl_gpio_request() function as a direct pointer for dm_gpio_ops's .request callback. Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2022-07-28mvebu: pinctrl: Add Armada 38x driverPali Rohár
This new Armada 38x driver is based on Linux kernel driver. It can set any pin to any valid function specified in DT like Linux kernel, it provides support for 'pinmux status -a' command and also for pinctrl_gpio_request(). Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2022-07-28pinctrl: Add new function pinctrl_generic_set_state_prefix()Pali Rohár
This new function pinctrl_generic_set_state_prefix() behaves like pinctrl_generic_set_state() but it takes third string argument which is used as the prefix for each device tree string property. This is needed for Marvell pinctrl drivers, becase Linux device tree files have pinmux properties prefixed by "marvell," string. This change allows to use generic U-Boot pinctrl functions for Armada 38x pinctrl driver without need to copy+paste of the majority U-Boot pinctrl code. Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2022-07-27Merge https://gitlab.denx.de/u-boot/custodians/u-boot-mmcTom Rini
2022-07-27Merge https://gitlab.denx.de/u-boot/custodians/u-boot-pmicTom Rini
2022-07-27Merge tag 'dm-pull-26jul22' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-dm.git minor dm- and fdt-related fixes start of test for fdt command
2022-07-27mmc: pci_mmc.c should build with ACPIGEN=nHeinrich Schuchardt
sandbox_defconfig builds the PCI MMC driver. It should be possible to build the sandbox without ACPI support. ACPI support in the PCI MMC driver is only needed when creating an ACPI table. Fix building with ACPIGEN=n. Fixes: dba7ee419d9d ("acpi: mmc: Generate ACPI info for the PCI SD Card") Signed-off-by: Heinrich Schuchardt <[email protected]>
2022-07-27drivers: mmc: write protect single boot areaYing-Chun Liu (PaulLiu)
Add features to write protect single boot area rather than all boot areas. Signed-off-by: Ying-Chun Liu (PaulLiu) <[email protected]> Cc: Peng Fan <[email protected]> Cc: Jaehoon Chung <[email protected]>
2022-07-27mmc: nuvoton: Add NPCM7xx mmc driverJim Liu
Add Nuvoton BMC NPCM750 mmc control driver. Signed-off-by: Jim Liu <[email protected]> Reviewed-by: Jaehoon Chung <[email protected]>
2022-07-27mmc: fsl_esdhc: Fix 'Internal clock never stabilised.' errorPali Rohár
Only newer eSDHC controllers set PRSSTAT_SDSTB flag. So do not wait until flag PRSSTAT_SDSTB is set on old pre-2.2 controllers. Instead sleep for fixed amount of time like it was before commit 6f883e501b65 ("mmc: fsl_esdhc: Add emmc hs200 support"). This change fixes error 'Internal clock never stabilised.' which is printed on P2020 board at every access to SD card. Fixes: 6f883e501b65 ("mmc: fsl_esdhc: Add emmc hs200 support") Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Jaehoon Chung <[email protected]> Reviewed-by: Jaehoon Chung <[email protected]>
2022-07-27pmic: pca9450: permit config on all bucks and LDOsHeiko Thiery
In order to have the possibility to configure the regulators at system startup through DM support, all LDOs and bucks must be able to be changeable. Currently there is a limitation to change the values when the output is enabled. Since the driver is based on the ROHM BD71837 and a comment that describes a limitation about switching while the output is enabled can also be found there, the limitation probably comes from this type. Signed-off-by: Heiko Thiery <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2022-07-26Merge tag 'u-boot-imx-20220726' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-imx u-boot-imx-20220726 ------------------- i.MX for 2022.10 - Added i.MX93 architecture CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/12891
2022-07-26ddr: imx8m: helper: load ddr firmware according to binman symbolsPeng Fan
By reading binman symbols, we no need hard coded IMEM_LEN/DMEM_LEN after we update the binman dtsi to drop 0x8000/0x4000 length for the firmware. And that could save binary size for many KBs. Tested-by: Tim Harvey <[email protected]> #imx8m[m,n,p]-venice Signed-off-by: Peng Fan <[email protected]> Reviewed-by: Alper Nebi Yasak <[email protected]> [Alper: Check BINMAN_SYMS_OK instead] Signed-off-by: Alper Nebi Yasak <[email protected]>
2022-07-26net: dwc_eth_qos: introduce eqos hook eqos_get_enetaddrPeng Fan
i.MX has specific hook to get MAC address, so introduce a hook and move i.MX code to its own driver Signed-off-by: Peng Fan <[email protected]>
2022-07-26net: eqos: add function to get phy node and addressYe Li
Since new atheros PHY driver needs to access its PHY node through phy device, we have to assign the phy node in ethernet controller driver. Otherwise the PHY driver will fail to get some nodes and properties. Signed-off-by: Ye Li <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2022-07-26net: dwc_eth_qos: move i.MX code outPeng Fan
Move i.MX code to a standalone file to make it easy for adding new platform support Reviewed-by: Ramon Fried <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2022-07-26net: dwc_eth_qos: public some functionsPeng Fan
Move macros and structures to header file and make some functions public, so that could used by other files, this is to prepare split platform specific config to one file. Signed-off-by: Peng Fan <[email protected]>
2022-07-26net: dwc_eth_qos: fix build break when CLK not enabledPeng Fan
When CONFIG_CLK is not enabled, there will be buil break: "error: ‘eqos’ undeclared (first use in this function)" Take eqos definition out the CONFIG_CLK ifdef. Signed-off-by: Peng Fan <[email protected]>
2022-07-26net: fec_mxc: support i.MX93Peng Fan
Support i.MX93 in fec_mxc driver Reviewed-by: Ramon Fried <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2022-07-26ddr: imx9: enable Performance monitor counterYe Li
Add Kconfig for enabling reference events counter in DDRC performance monitor by default Signed-off-by: Ye Li <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2022-07-26ddr: imx: Add i.MX9 DDR controller driverYe Li
Since i.MX9 uses same DDR PHY with i.MX8M, split the DDRPHY to a common directory under imx, then use dedicated ddr controller driver for each iMX9 and iMX8M. The DDRPHY registers are space compressed, so it needs conversion to access the DDRPHY address. Introduce a common PHY address remap function for both iMX8M and iMX9 for all PHY registers accessing. Signed-off-by: Ye Li <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2022-07-26misc: fuse: update the code for accessing fuse of i.MX93Alice Guo
Sentinel have read access of OTP shadow register 0-511, and fsb have read access of shadow 0-51/312-511. Reviewed-by: Ye Li <[email protected]> Signed-off-by: Alice Guo <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2022-07-26misc: fuse: support to access fuse on i.MX93Alice Guo
i.MX93 fuse can be accessed through FSB and s400-api. Add mapping tables for i.MX93. The offset address of FSB accessing OTP shadow registers is different between i.MX8ULP and i.MX93, so use macro to define the offset address instead of hardcode. Signed-off-by: Alice Guo <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2022-07-26misc: imx8ulp: move fuse.c from imx8ulp to sentinelAlice Guo
The i.MX93 platform wants to reuse drivers/misc/imx8ulp/fuse.c. Moving fuse.c from the folder imx8ulp to sentinel makes it can be used by other platforms. Signed-off-by: Alice Guo <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2022-07-26misc: S400_API: Rename imx8ulp_s400_msg to sentinel_msgYe Li
Use more generic name for S40x msg structure Signed-off-by: Ye Li <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2022-07-26misc: s400_api: introduce ahab_release_m33_troutPeng Fan
Introduce Sentinel API ahab_release_m33_trout to make sure sentinel release M33 trout and make sure M33 could boot. Signed-off-by: Peng Fan <[email protected]>
2022-07-26misc: S400_API: New API for FW status and chip infoPeng Fan
Add new API to get sentinel FW status and SoC chip info Signed-off-by: Ye Li <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2022-07-26misc: S400_API: Update release RDC APIYe Li
To support more RDC instances on i.MX93, update API to latest definition. Signed-off-by: Ye Li <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2022-07-26misc: s4mu: Support iMX93 with Sentinel MUPeng Fan
Support iMX93 communicate with Sentinel Signed-off-by: Peng Fan <[email protected]>
2022-07-26misc: imx: S400_API: Move S400 MU and API to a common placeYe Li
Since iMX9 uses S401 which shares the API with iMX8ULP. So move S400 MU driver and API to a common place and selected by CONFIG_IMX_SENTINEL Signed-off-by: Ye Li <[email protected]> Signed-off-by: Peng Fan <[email protected]>