- Jan 30, 2020
-
-
Tom Rini authored
In upstream libfdt, 6dcb8ba4 "libfdt: Add helpers for accessing unaligned words" introduced changes to support unaligned reads for ARM platforms and 11738cf01f15 "libfdt: Don't use memcpy to handle unaligned reads on ARM" improved the performance of these helpers. In practice however, this only occurs when the user has forced the device tree to be placed in memory in a non-aligned way, which in turn violates both our rules and the Linux Kernel rules for how things must reside in memory to function. This "in practice" part is important as handling these other cases adds visible (1 second or more) delay to boot in what would be considered the fast path of the code. Cc: Patrice CHOTARD <patrice.chotard@st.com> Cc: Patrick DELAUNAY <patrick.delaunay@st.com> Link: https://www.spinics.net/lists/devicetree-compiler/msg02972.html Signed-off-by:
Tom Rini <trini@konsulko.com> Tested-by:
Patrice Chotard <patrice.chotard@st.com>
-
Heinrich Schuchardt authored
Coreutils command nproc can be used on Linux and BSD to count the number of available CPU cores. Use this instead of relying on the parsing of the Linux specific proc file system. Signed-off-by:
Heinrich Schuchardt <xypron.glpk@gmx.de>
-
Christoph Müllner authored
As hinted by GCC 9, there is a return statement that returns an uninitialized variable in optee_copy_firmware_node(). This patch addresses this. Signed-off-by:
Christoph Müllner <christoph.muellner@theobroma-systems.com> Reviewed-by:
Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
-
Heinrich Schuchardt authored
Remove incorrect indentation. Signed-off-by:
Heinrich Schuchardt <xypron.glpk@gmx.de>
-
Ovidiu Panait authored
This removes the arch-specific checks for "checkcpu" function from the init sequence. Make "checkcpu" generic and provide a weak nop stub instead. Signed-off-by:
Ovidiu Panait <ovpanait@gmail.com>
-
Tom Rini authored
New analysis by the tool has shown that we have some cases where we weren't handling the error exit condition correctly. When we ran into the ENOMEM case we wouldn't exit the function and thus incorrect things could happen. Rework the unwinding such that we don't need a helper function now and free what we may have allocated. Fixes: 18030d04 ("GPT: fix memory leaks identified by Coverity") Reported-by: Coverity (CID: 275475, 275476) Cc: Alison Chaiken <alison@she-devel.com> Cc: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com> Cc: Jordy <jordy@simplyhacker.com> Signed-off-by:
Tom Rini <trini@konsulko.com> Reviewed-by:
Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
-
- Jan 29, 2020
-
-
https://gitlab.denx.de/u-boot/custodians/u-boot-i2cTom Rini authored
i2c changes for 2020.04 - updates the Designware I2C driver - get timings from device tree - handle units in nanoseconds - make sure that the requested bus speed is not exceeded - few smaller clean-ups - adds enums for i2c speed and update drivers which use them - global_data: remove unused mxc_i2c specific field
-
-
- Jan 28, 2020
-
-
Tom Rini authored
Signed-off-by:
Tom Rini <trini@konsulko.com>
-
https://gitlab.denx.de/u-boot/custodians/u-boot-spiTom Rini authored
- spi cs accessing slaves (Bin Meng) - spi prevent overriding established bus (Marcin Wojtas) - support speed in spi command (Marek Vasut) - add W25N01GV spinand (Robert Marko) - move cadence_qspi to use spi-mem (Vignesh Raghavendra) - add octal mode (Vignesh Raghavendra)
-
Marek Szyprowski authored
This fixes the default boot command for the SD-card boot case. Signed-off-by:
Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by:
Minkyu Kang <mk7.kang@samsung.com>
-
Tom Rini authored
- Add Dialog DA9063 PMIC support - s35392a RTC bugfix - Allow for opt-in of removal of DTB properties from the resulting binary.
-
Martin Fuzzey authored
Some PMICs (such as the DA9063) have non-contiguous register maps. Attempting to read the non implemented registers returns an error rather than a dummy value which causes 'pmic dump' to terminate prematurely. Fix this by allowing the PMIC driver to return -ENODATA for such registers, which will then be displayed as '--' by pmic dump. Use a single error code rather than any error code so that we can distinguish between a hardware failure reading the PMIC and a non implemented register known to the driver. Signed-off-by:
Martin Fuzzey <martin.fuzzey@flowbird.group>
-
Martin Fuzzey authored
Add a driver for the regulators in the the DA9063 PMIC. Robert Beckett: move regulator modes to header so board code can set modes. Correct mode mask used in ldo_set_mode. Add an option CONFIG_SPL_DM_REGULATOR_DA9063. Signed-off-by:
Martin Fuzzey <martin.fuzzey@flowbird.group> Signed-off-by:
Robert Beckett <bob.beckett@collabora.com>
-
Martin Fuzzey authored
This adds the basic register access operations and child regulator binding (if a regulator driver exists). Robert Beckett: simplify accesses by using bottom bit of address as offset overflow. This avoids the need to track which page we are on. Add an option CONFIG_SPL_DM_PMIC_DA9063. Signed-off-by:
Martin Fuzzey <martin.fuzzey@flowbird.group> Signed-off-by:
Robert Beckett <bob.beckett@collabora.com>
-
Ian Ray authored
The 3-bit "command", or register, is encoded within the device address. Configure the device accordingly, and pass command in DM I2C read/write calls correctly. Signed-off-by:
Ian Ray <ian.ray@ge.com> Signed-off-by:
Robert Beckett <bob.beckett@collabora.com>
-
Peng Ma authored
If we didn't unbind the sata from block device, the same devices would be added after sata remove, This patch is to resolve this issue as below: => sata info SATA#0: (3.0 Gbps) SATA#1: (3.0 Gbps) Device 0: Model: INTEL SSDSA2BW300G3D Firm: 4PC10362 Ser#: BTPR247005PY30 Type: Hard Disk Supports 48-bit addressing Capacity: 286168.1 MB = 279.4 GB (586072368 x 512) Device 1: Model: INTEL SSDSA2BW300G3D Firm: 4PC10362 Ser#: BTPR247005VX30 Type: Hard Disk Supports 48-bit addressing Capacity: 286168.1 MB = 279.4 GB (586072368 x 512) => sata stop => sata info SATA#0: (3.0 Gbps) SATA#1: (3.0 Gbps) Device 0: Model: INTEL SSDSA2BW300G3D Firm: 4PC10362 Ser#: BTPR247005PY300 Type: Hard Disk Supports 48-bit addressing Capacity: 286168.1 MB = 279.4 GB (586072368 x 512) Device 1: Model: INTEL SSDSA2BW300G3D Firm: 4PC10362 Ser#: BTPR247005VX300 Type: Hard Disk Supports 48-bit addressing Capacity: 286168.1 MB = 279.4 GB (586072368 x 512) Device 2: Model: INTEL SSDSA2BW300G3D Firm: 4PC10362 Ser#: BTPR247005PY300 Type: Hard Disk Supports 48-bit addressing Capacity: 286168.1 MB = 279.4 GB (586072368 x 512) Device 3: Model: INTEL SSDSA2BW300G3D Firm: 4PC10362 Ser#: BTPR247005VX300 Type: Hard Disk Supports 48-bit addressing Capacity: 286168.1 MB = 279.4 GB (586072368 x 512) Signed-off-by:
Peng Ma <peng.ma@nxp.com> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
Anatolij Gustschin authored
This shrinks the image size: all -3840.0 text -3840.0 Signed-off-by:
Anatolij Gustschin <agust@denx.de> Acked-by:
Soeren Moch <smoch@web.de>
-
Anatolij Gustschin authored
This can be used for device tree size reduction similar as CONFIG_OF_SPL_REMOVE_PROPS option. Some boards must pass the built-in DTB unchanged to the kernel, thus we may not cut it down unconditionally. Therefore enable the property removal list option only if CONFIG_OF_DTB_PROPS_REMOVE is selected. Signed-off-by:
Anatolij Gustschin <agust@denx.de>
-
Marek Szyprowski authored
XOM pins provide information for iROM bootloader about the boot device. Those pins are mapped to lower bits of OP_MODE register (0x10000008), which is common for all Exynos SoC variants. Set the default MMC device id to reflect the boot device selected by XOM[7:5] pins (2 for the SD or 0 for the eMMC). Signed-off-by:
Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by:
Minkyu Kang <mk7.kang@samsung.com>
-
- Jan 27, 2020
-
-
Vignesh Raghavendra authored
TI's AM654 SoC has a Cadence OSPI IP. Add a new compatible string for the same. Signed-off-by:
Vignesh Raghavendra <vigneshr@ti.com> Reviewed-by:
Jagan Teki <jagan@amarulasolutions.com>
-
Vignesh Raghavendra authored
Cadence OSPI is similar to QSPI IP except that it supports Octal IO (8 IO lines) flashes. Add support for Cadence OSPI IP with existing driver using new compatible Signed-off-by:
Vignesh Raghavendra <vigneshr@ti.com> Reviewed-by:
Jagan Teki <jagan@amarulasolutions.com>
-
Vignesh Raghavendra authored
Add support for Octal flash devices. Octal flash devices use 8 IO lines for data transfer. Currently only 1-1-8 Octal Read mode is supported. Signed-off-by:
Vignesh Raghavendra <vigneshr@ti.com> Reviewed-by:
Jagan Teki <jagan@amarulasolutions.com>
-
Vignesh Raghavendra authored
Add support for Direct Access Controller mode of Cadence QSPI. This allows MMIO access to SPI NOR flash providing better read performance. Direct mode is only exercised if AHB window size is greater than 8MB. Support for flash address remapping is also not supported at the moment and can be added in future. For better performance, driver uses DMA to copy data from flash in direct mode using dma_memcpy(). Signed-off-by:
Vignesh Raghavendra <vigneshr@ti.com> Tested-by:
Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com> Acked-by:
Jagan Teki <jagan@amarulasolutions.com>
-
Vignesh Raghavendra authored
Current Cadence QSPI driver has few limitations. It assumes all read operations to be in Quad mode and thus does not support SFDP parsing. Also, adding support for new mode such as Octal mode would not be possible with current configuration. Therefore move the driver over to spi-mem framework. This has added advantage that driver can be used to support SPI NAND memories too. Hence, move driver over to new spi-mem APIs. Please note that this gets rid of mode bit setting done when CONFIG_SPL_SPI_XIP is defined as there does not seem to be any user to that config option. Signed-off-by:
Vignesh Raghavendra <vigneshr@ti.com> Tested-by:
Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com> Acked-by:
Jagan Teki <jagan@amarulasolutions.com>
-
Robert Marko authored
Linux has supported W25N01GV for a long time, so lets import it. Signed-off-by:
Robert Marko <robert.marko@sartura.hr> Cc: Luka Perkov <luka.perkov@sartura.hr> Reviewed-by:
Jagan Teki <jagan@amarulasolutions.com>
-
Vignesh Raghavendra authored
Make sure corresponding setup registers are updated depending on CS. This ensures that driver can support QSPI flashes on ChipSelects other than on CS0 Reported-by:
Andreas Dannenberg <dannenberg@ti.com> Signed-off-by:
Vignesh Raghavendra <vigneshr@ti.com> Reviewed-by:
Jagan Teki <jagan@amarulasolutions.com>
-
Marcin Wojtas authored
The SPI stack relies on a proper bus speed/mode configuration by calling dm_spi_claim_bus(). However the hitherto code allowed to accidentally override those settings in the spi_get_bus_and_cs() routine. The initially established speed could be discarded by using the slave platdata, which turned out to be an issue on the platforms whose slave maximum supported frequency is not on par with the maximum frequency of the bus controller. This patch fixes above issue by configuring the bus from spi_get_bus_and_cs() only in case it was not done before. Signed-off-by:
Marcin Wojtas <mw@semihalf.com> Reviewed-by:
Simon Glass <sjg@chromium.org> Acked-by:
Jagan Teki <jagan@amarulasolutions.com>
-
Marek Vasut authored
The 'sspi' command hard-coded 1 MHz bus frequency for all transmissions. Allow changing that at runtime by specifying '@freq' bus frequency in Hz. Signed-off-by:
Marek Vasut <marex@denx.de> Cc: Tom Rini <trini@konsulko.com> Reviewed-by:
Lukasz Majewski <lukma@denx.de> Reviewed-by:
Jagan Teki <jagan@amarulasolutions.com>
-
Bin Meng authored
Per sandbox_cs_info(), sandbox spi controller only supports chip select 0. Current test case tries to locate devices on chip select 1, and any call to spi_get_bus_and_cs() or spi_cs_info() with cs number 1 should not return 0. This updates the test case to handle it correctly. Signed-off-by:
Bin Meng <bmeng.cn@gmail.com> Reviewed-by:
Jagan Teki <jagan@amarulasolutions.com>
-
Bin Meng authored
Add chip select number check in spi_find_chip_select(). Signed-off-by:
Bin Meng <bmeng.cn@gmail.com> Tested-by: Jagan Teki <jagan@amarulasolutions.com> # SoPine
-
Michael Walle authored
This is a port of the kernel's spi-nxp-fspi driver. It uses the new spi-mem interface and does not expose the more generic spi-xfer interface. The source was taken from the v5.3-rc3 tag. The port was straightforward: - remove the interrupt handling and the completion by busy polling the controller - remove locks - move the setup of the memory windows into claim_bus() - move the setup of the speed into set_speed() - port the device tree bindings from the original fspi_probe() to ofdata_to_platdata() There were only some style change fixes, no change in any logic. For example, there are busy loops where the return code is not handled correctly, eg. only prints a warning with WARN_ON(). This port intentionally left most functions unchanged to ease future bugfixes. This was tested on a custom LS1028A board. Because the LS1028A doesn't have proper clock framework support, changing the clock speed was not tested. This also means that it is not possible to change the SPI speed on LS1028A for now (neither is it possible in the linux driver). Signed-off-by:
Michael Walle <michael@walle.cc> Reviewed-by:
Jagan Teki <jagan@amarulasolutions.com> Tested-by:
Kuldeep Singh <kuldeep.singh@nxp.com>
-
https://gitlab.denx.de/u-boot/custodians/u-boot-clkTom Rini authored
- Various clock fixes and enhancements
-
Simon Glass authored
Move some of the code currently in the ofdata_to_platdata() method to probe() so that it is not executed when generating ACPI tables. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
We want to be able to calculate the speed separately from actually setting the speed, so we can generate the required ACPI tables. Split out the calculation into its own function. Drop the double underscore on __dw_i2c_set_bus_speed while we are here. That is reserved for compiler internals. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
This is used to store the speed information for a bus. We want to provide this to ACPI so that it can tell the kernel. Move this struct to the header file so it can be accessed by the ACPI i2c implementation being added later. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Fast-plus runs at 1MHz and is used by some devices. Add support for this. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Convert the obvious uses of i2c bus speeds to use the enum. Use livetree access for code changes. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Heiko Schocher <hs@denx.de>
-
Simon Glass authored
Update this driver to use the new standard enums for speed. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Patrick Delaunay <patrick.delaunay@st.com> Tested-by:
Patrick Delaunay <patrick.delaunay@st.com> Reviewed-by:
Heiko Schocher <hs@denx.de>
-
Simon Glass authored
Update this driver to use the new standard enums for speed. Note: This driver needs to move to driver model. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Heiko Schocher <hs@denx.de>
-