summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Drop CONFIG_LCD_LOGOSimon Glass2022-10-308-123/+0
| | | | | | This relies on the old LCD implementation which is to be removed. Drop it. Signed-off-by: Simon Glass <sjg@chromium.org>
* api: Drop LCD implementationSimon Glass2022-10-301-22/+0
| | | | | | This relies on the old LCD implementation which is to be removed. Drop it. Signed-off-by: Simon Glass <sjg@chromium.org>
* video: Move bmp_display() prototype to video.hSimon Glass2022-10-302-10/+9
| | | | | | The lcd.h header is about to be deleted, so move this prototype. Signed-off-by: Simon Glass <sjg@chromium.org>
* video: Drop CONFIG_LCD_INFOSimon Glass2022-10-3010-178/+0
| | | | | | | This option is not used anymore since the LCD implementation is being removed. Drop it. Signed-off-by: Simon Glass <sjg@chromium.org>
* video: Drop CONFIG_LCD_INFO_BELOW_LOGOSimon Glass2022-10-305-15/+4
| | | | | | | This option is not used anymore since the LCD implementation is being removed. Drop it. Signed-off-by: Simon Glass <sjg@chromium.org>
* video: Drop CONFIG_LCD_MENUSimon Glass2022-10-307-368/+0
| | | | | | This relies on the old LCD implementation which is to be removed. Drop it. Signed-off-by: Simon Glass <sjg@chromium.org>
* video: Drop CONFIG_LCD_ALIGNMENTSimon Glass2022-10-305-27/+0
| | | | | | | This option is not needed now that the LCD implementation is being removed. Drop it. Signed-off-by: Simon Glass <sjg@chromium.org>
* video: lcd: Drop console rotationSimon Glass2022-10-303-216/+0
| | | | | | | This option is not used in U-Boot anymore. Drop it option and the associated implementation. Signed-off-by: Simon Glass <sjg@chromium.org>
* Convert CONFIG_VIDEO_LOGO_MAX_SIZE to KconfigSimon Glass2022-10-3020-33/+17
| | | | | | | This converts the following to Kconfig: CONFIG_VIDEO_LOGO_MAX_SIZE Signed-off-by: Simon Glass <sjg@chromium.org>
* video: Rename CONFIG_SYS_VIDEO_LOGO_MAX_SIZESimon Glass2022-10-3011-22/+22
| | | | | | | | | | This option should not have the SYS_ in it. Drop it so it fits in with the other video options. Also simplify the alignment code in gunzip_bmp(), since malloc() always returns a 32-bit-aligned pointer. Signed-off-by: Simon Glass <sjg@chromium.org>
* Convert CONFIG_HIDE_LOGO_VERSION to KconfigSimon Glass2022-10-308-4/+12
| | | | | | | This converts the following to Kconfig: CONFIG_HIDE_LOGO_VERSION Signed-off-by: Simon Glass <sjg@chromium.org>
* video: Split SPLASH_SCREEN_ALIGN from bmp commandSimon Glass2022-10-302-6/+5
| | | | | | | | | | The bmp command already has a way to centre the image. Using this CONFIG option to also centre it makes it impossible to control where images are placed on the screen. Drop the extra check. Simplify the Kconfig file we are here. Signed-off-by: Simon Glass <sjg@chromium.org>
* splash: get devpart from environment variableJulien Masson2022-10-301-0/+5
| | | | | | | | | | | | | | | | | | | | By default several types of splash locations are supported and the user can select one of them through environment var (splashsource). However the devpart is still hardcoded and we cannot change it from the environment. This patch add the support of "splashdevpart" which allow the user to set the devpart though this environment variable. Example: image located in splashscreen partition (MMC as raw) ``` splashsource=mmc_raw splashdevpart=0#splashscreen ``` Signed-off-by: Julien Masson <jmasson@baylibre.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* splash: support raw image from MMCJulien Masson2022-10-302-0/+32
| | | | | | | | The user has now the choice to specify the splash location in the MMC as a raw storage. Signed-off-by: Julien Masson <jmasson@baylibre.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* video: Add a way to get the default font heightSimon Glass2022-10-302-0/+20
| | | | | | | This is not as simple as it seems. Add a function to provide it so that the upcoming menu feature can space lines out correctly. Signed-off-by: Simon Glass <sjg@chromium.org>
* video: Add a function to get the dimensions of a BMP imageSimon Glass2022-10-302-4/+23
| | | | | | This is useful for some other users, so break this out into a function. Signed-off-by: Simon Glass <sjg@chromium.org>
* video: Add commands to list and change fontsSimon Glass2022-10-3011-0/+240
| | | | | | | | | | Add a new 'font' command which allows the fonts to be listed as well as selecting a different font and size. Allow the test to run on sandbox, where multiple font/size combinations are supported, as well as sandbox_flattree, where they are not. Signed-off-by: Simon Glass <sjg@chromium.org>
* video: Enable the cls command by defaultSimon Glass2022-10-301-1/+1
| | | | | | | This is enabled for LCD but not for VIDEO. Enable it since it is useful to be able to clear the screen and adds very little code. Signed-off-by: Simon Glass <sjg@chromium.org>
* video: Add a way to change the font name and sizeSimon Glass2022-10-302-0/+91
| | | | | | | It is useful to be able to support multiple fonts. Add a function to handle this as well as one to list the available fonts. Signed-off-by: Simon Glass <sjg@chromium.org>
* video: Add a function to select the truetype metricsSimon Glass2022-10-301-7/+17
| | | | | | | Move this code into a function so we can call it later when we want to change the font. Signed-off-by: Simon Glass <sjg@chromium.org>
* video: Record the truetype font nameSimon Glass2022-10-301-10/+13
| | | | | | | Add this to the metrics so we can later adjust the font size without changing the font itself. Signed-off-by: Simon Glass <sjg@chromium.org>
* video: Refactor to allow more than one font sizeSimon Glass2022-10-302-42/+113
| | | | | | | | | At present the truetype console supports only a single font and size. It is useful to be able to support different combinations. As a first step, move the metrics into there own structure and allow having multiple metrics. Signed-off-by: Simon Glass <sjg@chromium.org>
* video: Tidy up the check for valid fontsSimon Glass2022-10-301-4/+13
| | | | | | | Put this check into a function so we can use it elsewhere. Also drop the macros which do the same thing but are not actually used. Signed-off-by: Simon Glass <sjg@chromium.org>
* video: Add function to obtain the U-Boot logoSimon Glass2022-10-302-0/+12
| | | | | | | It is useful to show the logo from other code, coming in a later feature. Add a function to obtain it. Signed-off-by: Simon Glass <sjg@chromium.org>
* video: Allow filling the display with a colourSimon Glass2022-10-302-6/+27
| | | | | | | | | Generalise the video_clear() function to allow filling with a different colour. Tidy up the comments while we are here. Signed-off-by: Simon Glass <sjg@chromium.org>
* video: Move and rename DM_HX8238D optionSimon Glass2022-10-303-12/+12
| | | | | | | This is actually a panel, not a video device. Rename the option, move it into the right place and make it depend on PANEL. Signed-off-by: Simon Glass <sjg@chromium.org>
* video: Move the console commands to cmd/Simon Glass2022-10-305-58/+75
| | | | | | | | | | Move these commands and the implementation to the cmd/ directory, which is where most commands are kept. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> [agust: keep vidconsole_position_cursor() in vidconsole uclass] Signed-off-by: Anatolij Gustschin <agust@denx.de>
* video: Use vidconsole_put_string() to write a stringSimon Glass2022-10-301-4/+5
| | | | | | | Use the existing function rather that duplicating the code. Also fix up the missing error handling. Signed-off-by: Simon Glass <sjg@chromium.org>
* video: Provide a function to set the cursor positionSimon Glass2022-10-302-5/+25
| | | | | | | Add an exported function which allows the cursor position to be set to pixel granularity. Make use of this in the existing code. Signed-off-by: Simon Glass <sjg@chromium.org>
* video: Move console colours to the video uclassSimon Glass2022-10-304-108/+104
| | | | | | | | | | | | At present these are attached to vidconsole which means that the video uclass requires that a console is enabled. This is not the intention. The colours are a reasonable way of indexing common colours in any case, so move them to the video uclass instead. Rename vid_console_color() to video_index_to_colour() now that it is more generic. Also fix the inconsistent spelling in these functions. Signed-off-by: Simon Glass <sjg@chromium.org>
* video: simplefb: add rotation supportTakumi Sueda2022-10-301-1/+5
| | | | | | It introduces the way to rotate the screen for boards with rotated screen. Signed-off-by: Takumi Sueda <puhitaku@gmail.com>
* video: dw_mipi_dsi: fix [hv]sync active vs back porchJohn Keeping2022-10-301-4/+4
| | | | | | | | | | | The wrong fields are pulled out of the timings here so the values programmed into the DSI_VID_HSA_LINES/DSI_VID_HBP_LINES and DSI_VID_VSA_LINES/DSI_VID_VBP_LINES registers are swapped. Use the right fields so that the correct values are programmed. Fixes: d4f7ea83fc ("video: add MIPI DSI host controller bridge") Signed-off-by: John Keeping <john@metanate.com>
* lib: fix buggy strcmp and strncmpRasmus Villemoes2022-10-271-10/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are two problems with both strcmp and strncmp: (1) The C standard is clear that the contents should be compared as "unsigned char": The sign of a nonzero value returned by the comparison functions memcmp, strcmp, and strncmp is determined by the sign of the difference between the values of the first pair of characters (both interpreted as unsigned char) that differ in the objects being compared. (2) The difference between two char (or unsigned char) values can range from -255 to +255; so that's (due to integer promotion) the range of values we could get in the *cs-*ct expressions, but when that is then shoe-horned into an 8-bit quantity the sign may of course change. The impact is somewhat limited by the way these functions are used in practice: - Most of the time, one is only interested in equality (or for strncmp, "starts with"), and the existing functions do correctly return 0 if and only if the strings are equal [for strncmp, up to the given bound]. - Also most of the time, the strings being compared only consist of ASCII characters, i.e. have values in the range [0, 127], and in that case it doesn't matter if they are interpreted as signed or unsigned char, and the possible difference range is bounded to [-127, 127] which does fit the signed char. For size, one could implement strcmp() in terms of strncmp() - just make it "return strncmp(a, b, (size_t)-1);". However, performance of strcmp() does matter somewhat, since it is used all over when parsing and matching DT nodes and properties, so let's find some other place to save those ~30 bytes. Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
* Merge branch '2022-10-26-assorted-fixes-and-updates'Tom Rini2022-10-2625-26/+2128
|\ | | | | | | | | | | | | - Reduce memory usage in SPL in some cases, clarify some standalone API license issues, fix a Kconfig dependency, pin to a specific version of python setuptools for now, fix a signing problem in mkimage and add a memory uclass.
| * memory: Add TI GPMC driverRoger Quadros2022-10-265-0/+1561
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The GPMC is a unified memory controller dedicated for interfacing with external memory devices like - Asynchronous SRAM-like memories and ASICs - Asynchronous, synchronous, and page mode burst NOR flash - NAND flash - Pseudo-SRAM devices This driver will take care of setting up the GPMC based on the settings specified in the Device tree and then probe its children. Signed-off-by: Roger Quadros <rogerq@kernel.org>
| * dt/bindings: memory: Add bindings for TI GPMC driverRoger Quadros2022-10-262-0/+442
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GPMC stands for General Purpose Memory Controller and it is present on many Texas Instruments SoCs. It supports a number of Asynchronous and Synchronous interfaces and has various settings to configure the bus interface. The DT bindings define all the various GPMC settings. As the GPMC supports multiple devices on the bus, each device is represented as a child and the respective GPMC settings are situated there. (see ti,gpmc-child.yaml) These binding docs are picked up from the Linux kernel. Signed-off-by: Roger Quadros <rogerq@kernel.org>
| * scripts: Makefile.spl: Enable memory drivers to be built for SPLRoger Quadros2022-10-262-0/+8
| | | | | | | | | | | | | | | | Introduce CONFIG_SPL_MEMORY to allow Memory drivers to be built for SPL. Signed-off-by: Roger Quadros <rogerq@kernel.org> Reviewed-by: Simon Glass <sjg@chromium.org>
| * dm: memory: Introduce new uclassRoger Quadros2022-10-268-0/+77
| | | | | | | | | | | | | | | | Introduce UCLASS_MEMORY for future Memory Controller device drivers. Signed-off-by: Roger Quadros <rogerq@kernel.org> Reviewed-by: Simon Glass <sjg@chromium.org>
| * test: Move to a working version of setuptoolsSimon Glass2022-10-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The version used on Ubuntu 2022.04 produces a number of warnings: /usr/lib/python3/dist-packages/pkg_resources/__init__.py:116: PkgResourcesDeprecationWarning: 1.16.0-unknown is an invalid version and will not be supported in a future release Same with: 0.1.43ubuntu1 11.4.1ubuntu1 2.22.1ubuntu1 1.1build1 According to [1] this is a bug in setuptools. Employ the workaround for now. [1] https://askubuntu.com/questions/1406952/what-is-the-meaning-of-this- pkgresourcesdeprecationwarning-warning-from-pipenv Signed-off-by: Simon Glass <sjg@chromium.org>
| * examples: hello_world: Drop inclusion of common headerPaul Barker2022-10-261-1/+0
| | | | | | | | | | | | | | | | | | | | The "common.h" header is not covered by the licensing exception for standalone applications. Let's drop inclusion of this header from the hello_world example to prove that a standalone app can be built without it. Signed-off-by: Paul Barker <paul.barker@sancloud.com> Reviewed-by: Tom Rini <trini@konsulko.com>
| * Licenses: Clarify exceptions for standalone appsPaul Barker2022-10-261-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On 2010-01-27, an email [1] was sent to the mailing list by Wolfgang Denk which clarified the intended licensing exceptions for standalone applications. As the "export.h" header and the "stubs.c" source files are required to implement a standalone application, the intention was that these files be covered by the licensing exception. This is made clear in the following quotes from that email: "exports.h" should be added to the "allowed" file list; there should be no need to include "common.h". Eventually this needs fixing. Patches are welcome. "examples/standalone/stubs.c" should be added to the "allowed" file list (the ppc_*jmp.S files are LGPLed). There should be no doubts - the intention is clear, the current state may need improvement. Help (read: patches) welcome. [1]: https://lists.denx.de/pipermail/u-boot/2010-January/067174.html Signed-off-by: Paul Barker <paul.barker@sancloud.com> Cc: Wolfgang Denk <wd@denx.de> Acked-by: Wolfgang Denk <wd@denx.de>
| * crypto: hash: sw: fix Kconfig dependenciesBenjamin Bara2022-10-261-1/+2
| | | | | | | | | | | | Fix SHA512 config name and add missing SHA384 config. Signed-off-by: Benjamin Bara <Benjamin.Bara@skidata.com>
| * spl: spl_legacy: Fix NAND boot on OMAP3 BeagleBoardRoger Quadros2022-10-264-15/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | OMAP3 BeagleBoard NAND boot hangs when spl_load_legacy_img() tries to read the header into 'struct hdr' which is allocated on the stack. As the header has already been read once before by spl_nand.c, we can avoid the extra header allocation and read here by simply passing around the pointer to the header. This fixes NAND boot on OMAP3 BeagleBoard. Signed-off-by: Roger Quadros <rogerq@kernel.org> Reviewed-By: Michael Trimarchi <michael@amarulasolutions.com>
| * mkimage: fit: Fix signing of configs with external dataSean Anderson2022-10-262-5/+10
|/ | | | | | | | | | | | | Just like we exclude data-size, data-position, and data-offset from fit_config_check_sig, we must exclude them while signing as well. While we're at it, use the FIT_DATA_* defines for fit_config_check_sig as welll. Fixes: 8edecd3110e ("fit: Fix verification of images with external data") Fixes: c522949a29d ("rsa: sig: fix config signature check for fit with padding") Signed-off-by: Sean Anderson <sean.anderson@seco.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* Merge https://source.denx.de/u-boot/custodians/u-boot-pmicTom Rini2022-10-262-2/+8
|\
| * power: fan53555: Fix missing newline in error messageMichal Suchanek2022-10-261-1/+1
| | | | | | | | | | | | | | | | Avoid concatenation with following message. Signed-off-by: Michal Suchanek <msuchanek@suse.de> Reviewed-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
| * power: regulator: fix autoset error handlingJohn Keeping2022-10-261-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a regulator does not support .set_suspend_enable or .set_suspend_value then ret is set to ENOSYS early in the function. The most serious impact of this is that when no automatic setting of voltage is needed then the final regulator_set_enable() is skipped because ret has not been cleared. It seems that the error handling for regulator_set_suspend_value() is also wrong as if this succeeds then the normal boot-on checks are still required, and again ENOSYS needs special treatment here. Fixes: 11406b8f7e ("dm: regulator: support regulator more state") Signed-off-by: John Keeping <john@metanate.com>
* | Merge https://source.denx.de/u-boot/custodians/u-boot-watchdogTom Rini2022-10-2614-38/+297
|\ \ | |/ |/| | | | | | | | | - nuvoton: add expire function for generic reset (Jim) - handle watchdogs during keyed autoboot (Rasmus) - cyclic: Don't disable cylic function upon exceeding CPU time (Stefan) - ulp wdog: Updates to support iMX93 and DM (Alice)
| * watchdog: ulp_wdog: add driver model for ulp watchdog driverAlice Guo2022-10-241-7/+87
| | | | | | | | | | | | | | | | | | | | Enable driver model for ulp watchdog timer. When CONFIG_WDT=y and the status of device node is "okay", initr_watchdog will be called and finally calls ulp_wdt_probe() and ulp_wdt_start(). Signed-off-by: Alice Guo <alice.guo@nxp.com> Reviewed-by: Ye Li <ye.li@nxp.com> Reviewed-by: Stefan Roese <sr@denx.de>
| * watchdog: ulp_wdog: enable watchdog interrupt on imx93Alice Guo2022-10-241-2/+4
| | | | | | | | | | | | | | | | | | The reset source of the external PMIC on i.MX93 is WDOG_ANY PAD and the source of WDOG_ANY PAD is interrupt. Therefore, using PMIC to reset needs to enable the watchdog interrupt. Signed-off-by: Alice Guo <alice.guo@nxp.com> Reviewed-by: Stefan Roese <sr@denx.de>