summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2024-03-02ARM: renesas: Rename rmobile.h to renesas.hMarek Vasut
Rename rmobile.h to renesas.h because all the chips are made by Renesas, while only a subset of them is from the R-Mobile line. Use the following command to perform the rename: " $ git grep -l 'include.*rmobile.h' | \ xargs -I {} sed -i '/include.*rmobile.h/ [email protected]@renesas.h@g' {} " Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Paul Barker <[email protected]>
2024-03-02ARM: renesas: Rename RMOBILE_CPU_TYPE_* to RENESAS_CPU_TYPE_*Marek Vasut
Rename RMOBILE_CPU_TYPE_* to RENESAS_CPU_TYPE_* because all the chips are made by Renesas, while only a subset of them is from the R-Mobile line. Use the following command to perform the rename: " $ git grep -l '\<RMOBILE_CPU_TYPE_[A-Z0-9]\+\>' | \ xargs -I {} sed -i 's@\<RMOBILE\(_CPU_TYPE_[A-Z0-9]\+\)\>@RENESAS\1@g' {} " Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Paul Barker <[email protected]>
2024-03-02ARM: renesas: Rename rmobile_get_cpu_rev_*() to renesas_get_cpu_rev_*()Marek Vasut
Rename rmobile_get_cpu_rev_*() to renesas_get_cpu_rev_*() because all the chips are made by Renesas, while only a subset of them is from the R-Mobile line. Use the following command to perform the rename: " $ git grep -l '\<rmobile_get_cpu_rev_\(integer\|fraction\)\>' | \ xargs -I {} sed -i 's@\<rmobile_get_cpu_rev_\(integer\|fraction\)\>@renesas_get_cpu_rev_\1@g' {} " Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Paul Barker <[email protected]>
2024-03-02ARM: renesas: Rename rmobile_get_cpu_type() to renesas_get_cpu_type()Marek Vasut
Rename rmobile_get_cpu_type() to renesas_get_cpu_type() because all the chips are made by Renesas, while only a subset of them is from the R-Mobile line. Use the following command to perform the rename: " $ git grep -l '\<rmobile_get_cpu_type\>' | \ xargs -I {} sed -i 's@\<rmobile_get_cpu_type\>@renesas_get_cpu_type@g' {} " Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Paul Barker <[email protected]>
2024-03-02pci-host-ecam-generic: Convert to ofnode functionsMaksim Kiselev
FDT functions is not working when OF_LIVE is enabled. Convert fdt parsing functions to ofnode parsing functions Signed-off-by: Maksim Kiselev <[email protected]>
2024-03-02rng: eliminate common.h include from RNG driversHeinrich Schuchardt
Usage of common.h is deprecated. * Remove common.h from RNG drivers. * Sort includes. * Add time.h to sandbox driver. * Add linux/types.h to rng.h to provide size_t. Signed-off-by: Heinrich Schuchardt <[email protected]>
2024-03-02net: macb: Add support for fixed linkBELOUARGA Mohamed
The actual driver does not work when there is no linked PHY. These changes add support for fixed-link feature in the device tree. Signed-off-by: BELOUARGA Mohamed <[email protected]>
2024-03-01net: mediatek: add support for XGMII interfaceWeijie Gao
This patch add XGMII support for connecting 2.5G PHY. Signed-off-by: Bo-Cun Chen <[email protected]> Signed-off-by: Weijie Gao <[email protected]>
2024-03-01net: mediatek: add support for adjusting MDIO clockWeijie Gao
User can assign a specific MDC speed to the eth node as follow: &eth { ... phy-mode = "usxgmii"; phy-handle = <&phy8>; mdio { clock-frequency = <10500000>; }; phy8: eth-phy@8 { compatible = "ethernet-phy-id31c3.1c12"; ... }; Signed-off-by: Bo-Cun Chen <[email protected]> Signed-off-by: Weijie Gao <[email protected]>
2024-03-01pinctrl: aspeed: add pass-through pins and siopbi/siopboIvan Mikhaylov
Add THRU0-3 and SIOPBI/SIOPBO pin groups/functions. Signed-off-by: Ivan Mikhaylov <[email protected]>
2024-03-01Merge https://source.denx.de/u-boot/custodians/u-boot-snapdragon into nextTom Rini
- Reworks Qualcomm support to be more generic, dropping board specific build targets and relying on DT as the only source of truth - Switches all Qualcomm devices to use upstream devicetree
2024-03-01clk/qcom: apq8016: allow apq8016_clk_init_uart() to be called externallyCaleb Connolly
When U-Boot as running as the first stage bootloader on MSM8916 devices, early debug UART requires turning on the clocks (for some reason the pre-loader turns them off?!). To simplify developing for this platform, allow the apq8016_clk_init_uart() function to be called externally. Developers can call this from the serial_msm debug uart driver to configure the clocks before the driver model is available. As it is only possible to enable early debug UART in custom builds of U-Boot, this solution at least gives developers the option. Signed-off-by: Caleb Connolly <[email protected]>
2024-03-01dts: dragonboard820c: use correct bindings for clocksCaleb Connolly
Don't use hardcoded clock IDs, use the IDs from the dt-bindings to be compatible with upstream. Taken from kernel tag v6.7 Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Signed-off-by: Caleb Connolly <[email protected]>
2024-03-01board: dragonboard410c: upstream DT compatCaleb Connolly
Use the root compatible strings from upstream Linux, add missing '#clock-cells' property to the gcc node. Adjust some of the msm8916/apq8016 drivers to use the correct upstream compatible properties and DT bindings. This prepares us to switch to upstream DT in a future patch. Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Tested-by: Sumit Garg <[email protected]> #qcs404 Signed-off-by: Caleb Connolly <[email protected]>
2024-03-01pinctrl: qcom: apq8016: init pre-reloactionCaleb Connolly
On the DB410c we support running as a first stage bootloader. This requires initialising the GPIOs which are muxed to UART before they can be used. Add DM_FLAG_PRE_RELOC to the apq8016 pinctrl driver to ensure that we do this early enough. This is required to prevent the first few lines of UART log from being dropped. Reported-by: Sumit Garg <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Tested-by: Sumit Garg <[email protected]> #qcs404 Signed-off-by: Caleb Connolly <[email protected]>
2024-03-01pinctrl: qcom: fix DT compatibilityCaleb Connolly
Upstream devicetrees label GPIOs with "gpioX", not "GPIO_X", fix this for SoCs where we're now using upstream DT. Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Tested-by: Sumit Garg <[email protected]> #qcs404 Signed-off-by: Caleb Connolly <[email protected]>
2024-03-01pinctrl: qcom: stub support for special GPIOsCaleb Connolly
Most platforms have a handful of "special" GPIOs, like the MMC clock/data lanes, UFS reset, etc. These don't follow the usual naming scheme of "gpioX" and also have unique capabilities and registers. We can get away without supporting them all for now, but DT compatibility is still an issue. Add support for allowing these to be specified after the other pins, and make all pinmux/pinconf calls for them nop. Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Tested-by: Sumit Garg <[email protected]> #qcs404 Signed-off-by: Caleb Connolly <[email protected]>
2024-03-01gpio: qcom_pmic: add pinctrl driverCaleb Connolly
Introduce a basic pinctrl driver for the SPMI PMIC GPIOs. This is necessary to make proper use of upstream DT bindings specifically on the dragonboard410c where they're used to switch between USB host and device modes. Only support for driving the pins as output low or high is enabled for now. To minimise duplicated code and allow for sharing common DT data, the pinctrl driver is initialised as a child of the existing GPIO driver. Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Tested-by: Sumit Garg <[email protected]> #qcs404 Signed-off-by: Caleb Connolly <[email protected]>
2024-03-01gpio: qcom_pmic: add a quirk to skip GPIO configurationCaleb Connolly
Some platforms hard reset when attempting to configure PMIC GPIOs. Add support for quirks specified in match data with a single quirk to skip this configuration. We rely on the GPIO already be configured correctly, which is always the case for volume up (the only current user of these GPIOs). This is not expected behaviour but appears to be due to a U-Boot specific bug. This quirk at least allows for the volume buttons to be used on platforms where this bug is apparent. Reviewed-by: Sumit Garg <[email protected]> Signed-off-by: Caleb Connolly <[email protected]>
2024-03-01gpio: qcom_pmic: 1-based GPIOsCaleb Connolly
Qualcomm PMICs number their GPIOs starting from 1, implement a custom .xlate method to handle this. Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Tested-by: Sumit Garg <[email protected]> #qcs404 Signed-off-by: Caleb Connolly <[email protected]>
2024-03-01serial: msm: fix clock handling and pinctrlCaleb Connolly
Use the modern helpers to fetch the clock and use the correct property ("clocks" instead of "clock"). Drop the call to pinctrl_select_state() as no boards have a "uart" pinctrl state and this prints confusing errors. Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Tested-by: Sumit Garg <[email protected]> #qcs404 Signed-off-by: Caleb Connolly <[email protected]>
2024-03-01serial: msm: add debug UARTCaleb Connolly
Introduce support for early debugging. This relies on the previous stage bootloader to initialise the UART clocks, when running with U-Boot as the primary bootloader this feature doesn't work. It will require a way to configure the clocks before the driver model is available. Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Signed-off-by: Caleb Connolly <[email protected]>
2024-03-01clock/qcom: qcs404: fix clk_set_rateCaleb Connolly
We should be returning the rate that we set the clock to, drivers like MMC rely on this. So fix it. Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Tested-by: Sumit Garg <[email protected]> #qcs404 Signed-off-by: Caleb Connolly <[email protected]>
2024-03-01clk/qcom: use upstream compatible propertiesCaleb Connolly
Adjust the apq8016 and apq8096 drivers to use the upstream compatible properties, and adjust the associated dts files in U-Boot. Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Tested-by: Sumit Garg <[email protected]> #qcs404 Signed-off-by: Caleb Connolly <[email protected]>
2024-03-01mmc: msm_sdhci: use modern clock handlingCaleb Connolly
Use the clk_* helper functions and the correct property name for clocks. Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Tested-by: Sumit Garg <[email protected]> #qcs404 Signed-off-by: Caleb Connolly <[email protected]>
2024-03-01usb: dwc3-generic: support external vbus regulatorCaleb Connolly
Add support for a vbus-supply regulator specified in devicetree. This provides generic support to avoid hardcoded GPIO configuration in board init code. Reviewed-by: Neil Armstrong <[email protected]> Signed-off-by: Caleb Connolly <[email protected]>
2024-03-01riscv: mbv: Moving little_endian variable to data sectionMichal Simek
SPL is cleaning bss after calling board_init_f. Setting up console is done and little_endian global variable is cleared which caused that console stops to work. That's why move it to data seciton now. The patch should be reverted when bss is cleared before board_init_f is called. Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/934dc8871c59265eb9d8012193aa97d9b8bd7f33.1707911544.git.michal.simek@amd.com
2024-02-28Merge patch series "mux: Drop usage of "u-boot,mux-autoprobe""Tom Rini
Roger Quadros <[email protected]> says: MUX driver should autoprobe if the device tree has "idle-states" property. Drop using the custom "u-boot,mux-autoprobe" property in TI device trees.
2024-02-28mux: autoprobe if "idle-states" present in device treeRoger Quadros
Some platforms need the MUX state to be auto initialized at boot time even if there are no explicit users for the MUX. In these cases, the MUX device tree has "idle-states" property which specifies what state the MUX should be initialized to. So far we were relying on custom u-boot property "u-boot,mux-autoprobe" to autoprobe such MUXes. This patch causes the MUX to autoprobe if it has "idle-states" property in device tree. This should allow us to stop using the custom "u-boot,mux-autoprobe" property. Signed-off-by: Roger Quadros <[email protected]>
2024-02-28pmic: raa215300: Bind sysreset driverPaul Barker
If SYSRESET support is enabled for the RAA215300 PMIC, we need to bind the raa215300_sysreset driver as a child device of the PMIC. Signed-off-by: Paul Barker <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2024-02-28sysreset: Support reset via Renesas RAA215300 PMICPaul Barker
This patch adds support for resetting a board via the RAA215300 PMIC. Note that the RAA215300 documentation names the available reset types differently to u-boot: * A "warm" reset via the RAA215300 PMIC will fully reset the SoC (CPU & GPIOs), so this corresponds to SYSRESET_COLD. * A "cold" reset via the RAA215300 PMIC will cycle all power supply rails, so this corresponds to SYSRESET_POWER. Signed-off-by: Paul Barker <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2024-02-28pmic: Add Renesas RAA215300 PMIC driverPaul Barker
The RZ/G2L SMARC module is powered via a Renesas RAA215300 PMIC which provides several voltage converters, a real time clock (RTC) and reset control. A basic driver is implemented for this device so that we can read, write and dump the PMIC registers. The raa215300_bind() function is added as a stub, binding of the sysreset driver will be added in a later patch. Additional features of this PMIC (such as reset control) may be supported by future patches. Signed-off-by: Paul Barker <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2024-02-28i2c: rzg2l: Add I2C driver for RZ/G2L familyPaul Barker
This driver supports the I2C module on the Renesas RZ/G2L (R9A07G044) SoC, also known as the RIIC module. This patch is based on both the u-boot driver in the Renesas RZ BSP 3.0.5 release [1] (commit 7fcc1fdc2534), and the Linux v6.7 driver (commit 0dd3ee311255). Support for deblocking the I2C bus is included as this may be needed after triggering a reset via the Power Management IC (PMIC) over I2C (the PMIC asserts the reset line before the SoC completes the I2C write transaction with obvious bus locking effects). If the SDA line is observed to be low during initialisation, we automatically attempt to deblock. [1]: https://github.com/renesas-rz/renesas-u-boot-cip Signed-off-by: Paul Barker <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2024-02-28clk: renesas: Confirm all clock & reset changes on RZ/G2LPaul Barker
When enabling/disabling a clock or reset signal, confirm that the change has completed before returning from the function. A somewhat arbitrary 100ms timeout is defined to ensure that the system doesn't lock up in the case of an error. Since we need to dynamically determine if we're waiting for a 0 bit or a 1 bit, it's easier to use wait_for_bit_32() than readl_poll_timeout(). This change is needed for reliable initialization of the I2C driver which is added in a following patch. Signed-off-by: Paul Barker <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2024-02-22Merge branch 'qcom-fixes-2024.04' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-snapdragon - Two fixes for the qcom-pmic button driver
2024-02-20Merge https://gitlab.denx.de/u-boot/custodians/u-boot-usbTom Rini
2024-02-20Merge https://gitlab.denx.de/u-boot/custodians/u-boot-samsungTom Rini
2024-02-19usb: ehci-mx6: Add i.MX93 supportMathieu Othacehe
i.MX93 uses the same USB IP as i.MX8MM. It can then reuse the ehci-mx6 driver. Reviewed-by: Marek Vasut <[email protected]> Signed-off-by: Mathieu Othacehe <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2024-02-19mtd: spi-nor-ids: Add support for ESMT/EON EN25Q80BFrieder Schrempf
The datasheet can be found here: https://www.esmt.com.tw/upload/pdf/ESMT/datasheets/EN25Q80B_Ver.E.pdf Signed-off-by: Frieder Schrempf <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2024-02-17clk: renesas: Fix broken clocks on all Gen2 boardsNiklas Söderlund
To prepare support for multiple register layouts pointers to register tables where added to struct cpg_mssr_info. These pointers are suppose to be filled in at probe time and no intended change in behavior was intended. However the new pointers where only filled in by some paths of the driver implemented in clk-rcar-gen3.c. The path implemented in clk-rcar-gen2.c was not updated leaving the pointers uninitialized leading to a crash when trying to probe the clocks. Fix this by filling in the pointers in the Gen2 code path with the values used before they where moved to struct cpg_mssr_info. Fixes: d413214fb748 ("clk: renesas: Add register pointers into struct cpg_mssr_info") Signed-off-by: Niklas Söderlund <[email protected]> Acked-by: Marek Vasut <[email protected]> Tested-by: Marek Vasut <[email protected]> # R8A7791 Porter Reviewed-by: Geert Uytterhoeven <[email protected]>
2024-02-14Merge tag 'xilinx-for-v2024.04-rc3' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-microblaze Xilinx changes for v2024.04-rc3 zynqmp: - Cover missing _SE chip variants to fix fpga programming versal: - Enable LTO for mini configurations versal-net: - Enable LTO for mini configurations - Fix GIC address to aligned with real silicon xilinx: - DTs cleanup and fixups - Enable HTTP boot - Add missing spl header to zynqmp.c
2024-02-14button: qcom-pmic: demote "unknown button" message to debugCaleb Connolly
This message isn't an error (there can be a watchdog subnode for example) but it shouldn't be printed unless this driver is being debugged. Demote it to a debug print. Reviewed-by: Sumit Garg <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Signed-off-by: Caleb Connolly <[email protected]>
2024-02-14button: qcom-pmic: fix some error checkingDan Carpenter
The pmic_reg_read() function can return errors. Add a check for that. Fixes: 4e8aa0065d4b ("button: qcom-pmic: introduce Qualcomm PMIC button driver") Signed-off-by: Dan Carpenter <[email protected]> Reviewed-by: Caleb Connolly <[email protected]> Reviewed-by: Sumit Garg <[email protected]>
2024-02-13memory: ti-gpmc: Fix lock up at A53 SPL during NAND boot on AM64-EVMRoger Quadros
AM64 ES2.0 bootrom seems to enable WAIT0EDGEDETECTION interrupt. This causes a lockup at A53 SPL when accessing NAND controller or ELM registers. A good option would be to softrest GPMC block at probe but this cannot be done for AM64 as SOFTRESET bit is marked as reserved in SYSCONFIG register. Fix the issue by disabling all IRQs at probe. Signed-off-by: Roger Quadros <[email protected]>
2024-02-12net: designware: Support high memory nodesNils Le Roux
Some platforms (such as the Lichee Pi 4A) have their dwmac device addressable only in high memory space. Storing the node's base address on 32 bits is not possible in such case. Use platform's physical address type to store the base address. Signed-off-by: Nils Le Roux <[email protected]> Cc: Andre Przywara <[email protected]> Reviewed-by: Andre Przywara <[email protected]>
2024-02-12Merge tag 'u-boot-imx-master-20240212' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-imx CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/19583 - Fix the i.MX8MP SPI compatible string. - Let the SPL clock code do the configuration on Data Modul i.MX8M Plus eDM SBC. - Enable secure boot on the imx93_var_som board.
2024-02-12soc: zynqmp: Add the IDcode for dr_SE and eg_SE variantsVenkatesh Yadav Abbarapu
ID code is added for zu67dr_SE, zu11eg_SE, zu19eg_SE and zu47dr_SE variants. SE is the select edition of restricted devices with the capabilities. Signed-off-by: Venkatesh Yadav Abbarapu <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2024-02-10spi: mxc_spi: Add imx6ul-ecspi compatible stringMarek Vasut
Recent i.MX8MP DTs use new fsl,imx6ul-ecspi compatible string instead of the fsl,imx51-ecspi compatible string. Add the new compatible string to fix ECSPI operation on i.MX8MP. For details, see Linux: 48d74376fb68 ("arm64: dts: imx8mp: update ecspi compatible and clk") 8eb1252bbedf ("spi: imx: remove ERR009165 workaround on i.mx6ul") Fixes: 451799a6ceac ("arm: dts: imx8mp: Sync the DT with kernel 6.4-rc4") Reviewed-by: Fabio Estevam <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2024-02-10mtd: spi: renesas: Add R8A779H0 V4M supportHai Pham
Support RPC SPI on R8A779H0 V4M SoC. Reviewed-by: Paul Barker <[email protected]> Signed-off-by: Hai Pham <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2024-02-10pinctrl: renesas: Add R8A779H0 V4M PFC tablesHai Pham
Add pinctrl tables for R8A779H0 V4M SoC. The current version of these PFC tables is imported and squashed from: https://lore.kernel.org/linux-renesas-soc/[email protected]/ Signed-off-by: Hai Pham <[email protected]>