summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2023-10-04rng: stm32: Implement custom RNG configuration supportGatien Chevallier
STM32 RNG configuration should best fit the requirements of the platform. Therefore, put a platform-specific RNG configuration field in the platform data. Default RNG configuration for STM32MP13 is the NIST certified configuration [1]. While there, fix and the RNG init sequence to support all RNG versions. [1] https://csrc.nist.gov/projects/cryptographic-module-validation-program/entropy-validations/certificate/53 Signed-off-by: Gatien Chevallier <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2023-10-04rng: stm32: add error concealment sequenceGatien Chevallier
Seed errors can occur when using the hardware RNG. Implement the sequences to handle them. This avoids irrecoverable RNG state. Try to conceal seed errors when possible. If, despite the error concealing tries, a seed error is still present, then return an error. A clock error does not compromise the hardware block and data can still be read from RNG_DR. Just warn that the RNG clock is too slow and clear RNG_SR. Signed-off-by: Gatien Chevallier <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2023-10-04rng: stm32: add RNG clock frequency restraintGatien Chevallier
In order to ensure a good RNG quality and compatibility with certified RNG configuration, add RNG clock frequency restraint. Signed-off-by: Gatien Chevallier <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2023-10-04rng: stm32: Implement configurable RNG clock error detectionGatien Chevallier
RNG clock error detection is now enabled if the "clock-error-detect" property is set in the device tree. Signed-off-by: Gatien Chevallier <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2023-10-04rng: stm32: rename STM32 RNG driverGatien Chevallier
Rename the RNG driver as it is usable by other STM32 platforms than the STM32MP1x ones. Rename CONFIG_RNG_STM32MP1 to CONFIG_RNG_STM32 Signed-off-by: Gatien Chevallier <[email protected]> Reviewed-by: Grzegorz Szymaszek <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2023-10-04riscv: andesv5: Prefer using the generic RISC-V timer driver in S-modeYu Chien Peter Lin
The Andes PLMT driver directly accesses the mtime MMIO region, indicating its intended use in the M-mode boot stage. However, since U-Boot proper (S-mode) also uses the PLMT driver, we need to specifically mark the region as readable through PMPCFGx (or S/U-mode read-only shared data region for Smepmp) in OpenSBI. Granting permission for this case doesn't make sense. Instead, we should use the generic RISC-V timer driver to read the mtime through the TIME CSR. Therefore, we add the SPL_ANDES_PLMT_TIMER config, which ensures that the PLMT driver is linked exclusively against M-mode U-Boot or U-Boot SPL binaries. Signed-off-by: Yu Chien Peter Lin <[email protected]> Reviewed-by: Samuel Holland <[email protected]>
2023-10-04timer: starfive: Add Starfive timer supportKuan Lim Lee
Add timer driver in Starfive SoC. It is an timer that outside of CPU core and inside Starfive SoC. Signed-off-by: Kuan Lim Lee <[email protected]> Reviewed-by: Wei Liang Lim <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-10-04timer: riscv_aclint_timer: add timer_get_boot_us for BOOTSTAGEChanho Park
timer_get_boot_us function is required to record the boot stages as us-based timestamp. To get a micro-second time from a timer tick, this converts the formula like below to avoid zero result of (tick / rate) part. From: time(us) = (tick / rate) * 1000000 To : time(us) = (tick * 1000) / (rate / 1000) Signed-off-by: Chanho Park <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2023-10-04riscv: timer: add timer_get_boot_us for BOOTSTAGEChanho Park
timer_get_boot_us function is required to record the boot stages as us-based timestamp. To get a micro-second time from a timer tick, this converts the formula like below to avoid zero result of (tick / rate) part. From: time(us) = (tick / rate) * 1000000 To : time(us) = (tick * 1000) / (rate / 1000) Signed-off-by: Chanho Park <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2023-10-02Merge branch 'next_pinctrl_sync' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-sh - pinctrl re-sync for Renesas chips
2023-10-02Merge branch 'next'Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2023-10-01clk: renesas: Synchronize R8A774E1 RZ/G2H clock tables with Linux 6.5.3Marek Vasut
Synchronize R8A774E1 RZ/G2H clock tables with Linux 6.5.3, commit 238589d0f7b421aae18c5704dc931595019fa6c7 . Signed-off-by: Marek Vasut <[email protected]>
2023-10-01clk: renesas: Synchronize R8A774C0 RZ/G2E clock tables with Linux 6.5.3Marek Vasut
Synchronize R8A774C0 RZ/G2E clock tables with Linux 6.5.3, commit 238589d0f7b421aae18c5704dc931595019fa6c7 . Signed-off-by: Marek Vasut <[email protected]>
2023-10-01clk: renesas: Synchronize R8A774B1 RZ/G2N clock tables with Linux 6.5.3Marek Vasut
Synchronize R8A774B1 RZ/G2N clock tables with Linux 6.5.3, commit 238589d0f7b421aae18c5704dc931595019fa6c7 . Signed-off-by: Marek Vasut <[email protected]>
2023-10-01clk: renesas: Synchronize R8A774A1 RZ/G2M clock tables with Linux 6.5.3Marek Vasut
Synchronize R8A774A1 RZ/G2M clock tables with Linux 6.5.3, commit 238589d0f7b421aae18c5704dc931595019fa6c7 . Signed-off-by: Marek Vasut <[email protected]>
2023-10-01clk: renesas: Synchronize R8A779G0 V4H clock tables with Linux 6.5.3Marek Vasut
Synchronize R-Car R8A779G0 V4H clock tables with Linux 6.5.3, commit 238589d0f7b421aae18c5704dc931595019fa6c7 . The PLL2_VAR is not implemented yet and PLL2 is still configured as regular PLL2 only. Signed-off-by: Marek Vasut <[email protected]>
2023-10-01clk: renesas: Synchronize R8A779F0 S4 clock tables with Linux 6.5.3Marek Vasut
Synchronize R-Car R8A779F0 S4 clock tables with Linux 6.5.3, commit 238589d0f7b421aae18c5704dc931595019fa6c7 . Signed-off-by: Marek Vasut <[email protected]>
2023-10-01clk: renesas: Synchronize R8A779A0 V3U clock tables with Linux 6.5.3Marek Vasut
Synchronize R-Car R8A779A0 V3U clock tables with Linux 6.5.3, commit 238589d0f7b421aae18c5704dc931595019fa6c7 . Signed-off-by: Marek Vasut <[email protected]>
2023-10-01clk: renesas: Synchronize R8A77995 D3 clock tables with Linux 6.5.3Marek Vasut
Synchronize R-Car R8A77995 D3 clock tables with Linux 6.5.3, commit 238589d0f7b421aae18c5704dc931595019fa6c7 . Signed-off-by: Marek Vasut <[email protected]>
2023-10-01clk: renesas: Synchronize R8A77990 E3 clock tables with Linux 6.5.3Marek Vasut
Synchronize R-Car R8A77990 E3 clock tables with Linux 6.5.3, commit 238589d0f7b421aae18c5704dc931595019fa6c7 . Signed-off-by: Marek Vasut <[email protected]>
2023-10-01clk: renesas: Synchronize R8A77980 V3H clock tables with Linux 6.5.3Marek Vasut
Synchronize R-Car R8A77980 V3H clock tables with Linux 6.5.3, commit 238589d0f7b421aae18c5704dc931595019fa6c7 . Signed-off-by: Marek Vasut <[email protected]>
2023-10-01clk: renesas: Synchronize R8A77970 V3M clock tables with Linux 6.5.3Marek Vasut
Synchronize R-Car R8A77970 V3M clock tables with Linux 6.5.3, commit 238589d0f7b421aae18c5704dc931595019fa6c7 . Signed-off-by: Marek Vasut <[email protected]>
2023-10-01clk: renesas: Synchronize R8A77965 M3-N clock tables with Linux 6.5.3Marek Vasut
Synchronize R-Car R8A77965 M3-N clock tables with Linux 6.5.3, commit 238589d0f7b421aae18c5704dc931595019fa6c7 . Signed-off-by: Marek Vasut <[email protected]>
2023-10-01clk: renesas: Synchronize R8A77960 M3-W and R8A77961 M3-W+ clock tables with ↵Marek Vasut
Linux 6.5.3 Synchronize R-Car R8A77960 M3-W and R8A77961 M3-W+ clock tables with Linux 6.5.3, commit 238589d0f7b421aae18c5704dc931595019fa6c7 . Signed-off-by: Marek Vasut <[email protected]>
2023-10-01clk: renesas: Synchronize R8A77951 H3 clock tables with Linux 6.5.3Marek Vasut
Synchronize R-Car R8A77951 H3 clock tables with Linux 6.5.3, commit 238589d0f7b421aae18c5704dc931595019fa6c7 . Signed-off-by: Marek Vasut <[email protected]>
2023-10-01clk: renesas: Synchronize R8A7794 E2 clock tables with Linux 6.5.3Marek Vasut
Synchronize R-Car R8A7794 E2 clock tables with Linux 6.5.3, commit 238589d0f7b421aae18c5704dc931595019fa6c7 . Signed-off-by: Marek Vasut <[email protected]>
2023-10-01clk: renesas: Synchronize R8A7792 V2H clock tables with Linux 6.5.3Marek Vasut
Synchronize R-Car R8A7792 V2H clock tables with Linux 6.5.3, commit 238589d0f7b421aae18c5704dc931595019fa6c7 . Signed-off-by: Marek Vasut <[email protected]>
2023-10-01clk: renesas: Synchronize R8A7791 M2-W and R8A7793 M2-N clock tables with ↵Marek Vasut
Linux 6.5.3 Synchronize R-Car R8A7791 M2-W and R8A7793 M2-N clock tables with Linux 6.5.3, commit 238589d0f7b421aae18c5704dc931595019fa6c7 . Signed-off-by: Marek Vasut <[email protected]>
2023-10-01clk: renesas: Synchronize R8A7790 H2 clock tables with Linux 6.5.3Marek Vasut
Synchronize R-Car R8A7790 H2 clock tables with Linux 6.5.3, commit 238589d0f7b421aae18c5704dc931595019fa6c7 . Signed-off-by: Marek Vasut <[email protected]>
2023-10-01pinctrl: renesas: Synchronize R8A779G0 V4H PFC tables with Linux 6.5.3Marek Vasut
Synchronize R-Car R8A779G0 V4H PFC tables with Linux 6.5.3, commit 238589d0f7b421aae18c5704dc931595019fa6c7 . Signed-off-by: Marek Vasut <[email protected]>
2023-10-01pinctrl: renesas: Synchronize R8A779F0 S4 PFC tables with Linux 6.5.3Marek Vasut
Synchronize R-Car R8A779F0 S4 PFC tables with Linux 6.5.3, commit 238589d0f7b421aae18c5704dc931595019fa6c7 . Signed-off-by: Marek Vasut <[email protected]>
2023-10-01pinctrl: renesas: Synchronize R8A779A0 V3U PFC tables with Linux 6.5.3Marek Vasut
Synchronize R-Car R8A779A0 V3U PFC tables with Linux 6.5.3, commit 238589d0f7b421aae18c5704dc931595019fa6c7 . Signed-off-by: Marek Vasut <[email protected]>
2023-10-01pinctrl: renesas: Synchronize R8A77995 D3 PFC tables with Linux 6.5.3Marek Vasut
Synchronize R-Car R8A77995 D3 PFC tables with Linux 6.5.3, commit 238589d0f7b421aae18c5704dc931595019fa6c7 . Signed-off-by: Marek Vasut <[email protected]>
2023-10-01pinctrl: renesas: Synchronize R8A77990 E3 PFC tables with Linux 6.5.3Marek Vasut
Synchronize R-Car R8A77990 E3 PFC tables with Linux 6.5.3, commit 238589d0f7b421aae18c5704dc931595019fa6c7 . Signed-off-by: Marek Vasut <[email protected]>
2023-10-01pinctrl: renesas: Synchronize R8A77980 V3H PFC tables with Linux 6.5.3Marek Vasut
Synchronize R-Car R8A77980 V3H PFC tables with Linux 6.5.3, commit 238589d0f7b421aae18c5704dc931595019fa6c7 . Signed-off-by: Marek Vasut <[email protected]>
2023-10-01pinctrl: renesas: Synchronize R8A77970 V3M PFC tables with Linux 6.5.3Marek Vasut
Synchronize R-Car R8A77970 V3M PFC tables with Linux 6.5.3, commit 238589d0f7b421aae18c5704dc931595019fa6c7 . Signed-off-by: Marek Vasut <[email protected]>
2023-10-01pinctrl: renesas: Synchronize R8A77965 M3-N PFC tables with Linux 6.5.3Marek Vasut
Synchronize R-Car R8A77965 M3-N PFC tables with Linux 6.5.3, commit 238589d0f7b421aae18c5704dc931595019fa6c7 . Signed-off-by: Marek Vasut <[email protected]>
2023-10-01pinctrl: renesas: Synchronize R8A77960 M3-W and R8A77961 M3-W+ PFC tables ↵Marek Vasut
with Linux 6.5.3 Synchronize R-Car R8A77960 M3-W and R8A77961 M3-W+ PFC tables with Linux 6.5.3, commit 238589d0f7b421aae18c5704dc931595019fa6c7 . Signed-off-by: Marek Vasut <[email protected]>
2023-10-01pinctrl: renesas: Synchronize R8A77951 H3 PFC tables with Linux 6.5.3Marek Vasut
Synchronize R-Car R8A77951 H3 PFC tables with Linux 6.5.3, commit 238589d0f7b421aae18c5704dc931595019fa6c7 . Signed-off-by: Marek Vasut <[email protected]>
2023-10-01pinctrl: renesas: Synchronize R8A7794 E2 PFC tables with Linux 6.5.3Marek Vasut
Synchronize R-Car R8A7794 E2 PFC tables with Linux 6.5.3, commit 238589d0f7b421aae18c5704dc931595019fa6c7 . Signed-off-by: Marek Vasut <[email protected]>
2023-10-01pinctrl: renesas: Synchronize R8A7792 V2H PFC tables with Linux 6.5.3Marek Vasut
Synchronize R-Car R8A7792 V2H PFC tables with Linux 6.5.3, commit 238589d0f7b421aae18c5704dc931595019fa6c7 . Signed-off-by: Marek Vasut <[email protected]>
2023-10-01pinctrl: renesas: Synchronize R8A7791 M2-W and R8A7793 M2-N PFC tables with ↵Marek Vasut
Linux 6.5.3 Synchronize R-Car R8A7791 M2-W and R8A7793 M2-N PFC tables with Linux 6.5.3, commit 238589d0f7b421aae18c5704dc931595019fa6c7 . Signed-off-by: Marek Vasut <[email protected]>
2023-10-01pinctrl: renesas: Synchronize R8A7790 H2 PFC tables with Linux 6.5.3Marek Vasut
Synchronize R-Car R8A7790 H2 PFC tables with Linux 6.5.3, commit 238589d0f7b421aae18c5704dc931595019fa6c7 . Signed-off-by: Marek Vasut <[email protected]>
2023-10-01pinctrl: renesas: Add support for 1.8V/2.5V I/O voltage levelsMarek Vasut
Currently, the Renesas pin control driver supports pins that can switch their I/O voltage levels between either 1.8V and 3.3V, or between 2.5V and 3.3V. However, some SoCs have pins that can switch between 1.8V and 2.5V. Add support for this by replacing the separate SH_PFC_PIN_CFG_IO_VOLTAGE capability and voltage level flags by a 2-bit field, to cover three possible I/O voltage switching options. Ported from Linux kernel commit by Geert Uytterhoeven: b88e733ac517 ("pinctrl: renesas: Add support for 1.8V/2.5V I/O voltage levels") Signed-off-by: Geert Uytterhoeven <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2023-10-01pinctrl: renesas: Drop R8A77950 H3 ES1.x PFC table entryMarek Vasut
Drop outstanding R8A77950 H3 ES1.x PFC table entry from sh_pfc.h . No functional change. Signed-off-by: Marek Vasut <[email protected]>
2023-10-01pinctrl: renesas: Rename RZ/A1 R7S72100 PFC tables to RZ/A1Marek Vasut
Rename pfc-r7s72100.c to pfc-rza1.c to match the file name with Linux. Rename the Kconfig symbol to match. No functional change. Signed-off-by: Marek Vasut <[email protected]>
2023-10-01pinctrl: renesas: Rename R8A7795 H3 PFC tables file name to R8A77951Marek Vasut
Rename pfc-r8a7795.c to pfc-r8a77951.c to match the file name with Linux and to indicate the PFC driver does not support R8A77950 H3 ES1.* . No functional change. Signed-off-by: Marek Vasut <[email protected]>
2023-09-29clk: at91: Fix initializing arraysFrancois Berder
Arrays are not cleared entirely because ARRAY_SIZE returns the number of elements in an array, not the size in bytes. This commit fixes the calls to memset by providing the array size in bytes instead of the number of elements in the array. Signed-off-by: Francois Berder <[email protected]>
2023-09-27mtd: nand: raw: atmel: Add error handling when rb-gpios missingAlexander Dahl
Adapt behaviour to Linux kernel driver. The return value of gpio_request_by_name_nodev() was not checked before, and thus in case 'rb-gpios' was missing in DT, rb.type was set to ATMEL_NAND_GPIO_RB nevertheless, leading to output like this for example (on sam9x60-curiosity with the line removed from dts): NAND: Could not find valid ONFI parameter page; aborting device found, Manufacturer ID: 0xc2, Chip ID: 0xdc Macronix NAND 512MiB 3,3V 8-bit 512 MiB, SLC, erase size: 256 KiB, page size: 4096, OOB size: 64 atmel-nand-controller nand-controller: NAND scan failed: -22 Failed to probe nand driver (err = -22) Failed to initialize NAND controller. (error -22) 0 MiB Note: not having that gpio assigned in dts is possible, the driver does not override nand_chip->dev_ready() then and a generic solution is used. Fixes: 6a8dfd57220d ("nand: atmel: Add DM based NAND driver") Signed-off-by: Alexander Dahl <[email protected]> Reviewed-by: Eugen Hristev <[email protected]> Acked-by: Michael Trimarchi <[email protected]>
2023-09-24Merge tag 'dm-next-23sep23' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-dm into next buildman file-keeping and build-progress improvements dm tree enhancement adjust meaning of bootph-pre-ram/sram