aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-07-21rockchip: utilize CONFIG_DEFAULT_FDT_FILEKlaus Goger
Currently the fdtfile environment variable is set to CONFIG_DEFAULT_DEVICE_TREE which is іnternally used as U-Boot devicetree source. The OS can use a different filename and Kconfig gives us the ability to select a default devicetree via CONFIG_DEFAULT_FDT_FILE. This also gives user configuring U-Boot via menuconfig the behaviour someone would expect. Signed-off-by: Klaus Goger <klaus.goger@theobroma-systems.com> Tested-By: Vagrant Cascadian <vagrant@debian.org> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2018-07-21rockchip: veyron: Set vcc33_sd regulator valueCarlo Caione
On the veyron board the vcc33_sd regulator is used as vmmc-supply for the SD card. This regulator is powered in the MMC core during power on but its value is never actually set. In the veyron platform the reset value for the LDO output is 1.8V while the standard (min and max) value for this regulator defined in the DTS is 3.3V. When the MMC core enable the regulator without setting its value, the output is automatically set to 1.8V instead of 3.3V. With this patch we preemptively set the value to 3.3V. Signed-off-by: Carlo Caione <carlo@endlessm.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2018-07-21rk3288: Disable JTAG function from sdmmc0 IOCarlo Caione
The GRF_SOC_CON0.grf_force_jtag bit is automatically set at boot and it is preventing the SDMMC to work correctly. Disable the JTAG function on the assumption that a working SD has higher priority over JTAG. Signed-off-by: Carlo Caione <carlo@endlessm.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2018-07-21rk3288: veyron: Init boot-on regulatorsCarlo Caione
Use regulators_enable_boot_on() to init all the regulators with regulator-boot-on property. Signed-off-by: Carlo Caione <carlo@endlessm.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2018-07-21rockchip: board: lion-rk3368: increase phy autonegotiation timeoutJakob Unterwurzacher
The first dhcp command consistently fails with a timeout when the lion-rk3368 board is connected to a Zyxel GS1100-24E Gigabit Ethernet switch: ethernet@ff290000 Waiting for PHY auto negotiation to complete......... TIMEOUT ! Increasing PHY_ANEG_TIMEOUT from the default 4000 to 8000 makes the first dhcp command work reliably. Signed-off-by: Jakob Unterwurzacher <jakob.unterwurzacher@theobroma-systems.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2018-07-21rockchip: rk3399: spl: add missing \n to outputHeinrich Schuchardt
Without the patch SPL (in case of an error) creates an output like: U-Boot SPL board initMissing DTB The patch adds the missing line feed. So now we get: U-Boot SPL board init Missing DTB Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2018-07-21rockchip: doc: clarify usage of CONFIG_SPL_ROCKCHIP_BACK_TO_BROMHeinrich Schuchardt
Change the description relating to CONFIG_SPL_ROCKCHIP_BACK_TO_BROM to clarify that both RK3288 and RK3036 use CONFIG_SPL_ROCKCHIP_BACK_TO_BROM=y Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2018-07-21rockchip: evb-rk3399: correct README for board bring upHeinrich Schuchardt
%s/rkflashtool/rkdeveloptool/ We are using rkdeveloptool not rkflashtool. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2018-07-21rockchip: rk3399: change boot_target based on u-boot, spl-boot-deviceKlaus Goger
The order distroboot searches for a boot.scr is fixed at compile time. To make BIOS_DISABLE work as expected and boot from mmc1 instead of mmc0 if enabled, we need to change the environment at runtime. Especially as commit: 482cf22333 ("rockchip: rk3399-puma: add boot-on regulator to override BIOS_DISABLE") enables the eMMC in U-Boot even if BIOS_DISABLE is active. Signed-off-by: Klaus Goger <klaus.goger@theobroma-systems.com> Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2018-07-21rockchip: rk3399: inject 'u-boot, spl-boot-device' for next-stagePhilipp Tomsich
This implements the new 'spl_perform_fixups' hook for RK3399-based boards and injects the /chosen/u-boot,spl-boot-device with an ofpath corresponding to the boot device used. The intended usage is for the full U-Boot stage to evaluate this in scripts and then adapt its boot-order when using distro-boot. Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Tested-by: Klaus Goger <klaus.goger@theobroma-systems.com>
2018-07-21spl: document 'chosen/u-boot, spl-boot-device'Philipp Tomsich
To let the full U-Boot know where it was booted from (i.e. which of the entries in /chosen/u-boot,spl-boot-order' contained a valid image), we define (and document) /chosen/u-boot,spl-boot-device as the property that could/should automatically be injected by SPL. This commit only contains a documentation change, which documents the new property and the intended usage. Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Tested-by: Klaus Goger <klaus.goger@theobroma-systems.com>
2018-07-21spl: record boot_device into spl_image and call spl_perform_fixupsPhilipp Tomsich
On some boards, we want to give the board/architecture-specific code a chance to look at where the next image has been loaded from and perform fixups before starting the next image. This is of particular importance, when we probe multiple devices for bootable payloads and boot the first one found. This change adds the following: - we record the boot_device used into the spl_image structure - we provide an extension-point for boards/architectures that can perform late fixups depending on a fully populated spl_image structure (i.e. we'll know the final boot_device and have info on the image type and operating system to be booted). Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Tested-by: Klaus Goger <klaus.goger@theobroma-systems.com>
2018-07-21smartweb: use SPL_TINY_MEMSETPhilipp Tomsich
The SPL code for smartweb is close to its limit and adding a few extra instructions to SPL will cause it to overrun its sram allotement (thus causing build failures). To allow adding the 'spl_perform_fixups' extension point to SPL, we'll enable SPL_TINY_MEMSET for smartweb. Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Series-cc: trini
2018-07-21rockchip: rk3188: add rk_board_late_init() hookAlexander Kochetkov
All other rockchip boards have rk_board_late_init() hook, so add it to rk3188 boards also. Signed-off-by: Alexander Kochetkov <al.kochet@gmail.com> Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2018-07-21rockchip: i2c: enable i2c controller for rk3066 and rk3188Alexander Kochetkov
rk3066 and rk3188 has two I2C controller implementations. Current I2C driver wan't work with legacy implementation. Switching between controllers is performed using a bit inside GFR_SOC_CON1 register. The bit setting is performed by pinctrl driver. The patch ask pinctrl to do settings. Signed-off-by: Alexander Kochetkov <al.kochet@gmail.com> Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> [fix warnings by including the rk3228 variant in the compatible-list]: Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2018-07-20board/imgtec/boston: Add new defconfigs to the MAINTAINERS listTom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2018-07-20Fix README for Khadas VIM boardLoic Devulder
Explicitly add 'python' call for 'acs_tool.pyc', to avoid failed execution on some OSes. Signed-off-by: Loic Devulder <ldevulder@suse.de> Acked-by: Neil Armstrong <narmstrong@baylibre.com>
2018-07-20configs: Update Meson GX configsLoic Devulder
Enable ADC support on the Khadas VIM board. Signed-off-by: Loic Devulder <ldevulder@suse.de> Acked-by: Neil Armstrong <narmstrong@baylibre.com>
2018-07-20ARM64: meson: Sync DT with Linux 4.17.5Loic Devulder
Synchronize the Linux Device Tree for Amlogic Meson GX boards from Linux 4.17.5 (Linux commit 54fb3c180d05e9dfda892a93413514e99f0cbb19). This will enable HDMI_5V for USB Amlogic Meson GXL P212 based boards. Signed-off-by: Loic Devulder <ldevulder@suse.de>
2018-07-20test/py: add test for whitelist of variables while importing environmentQuentin Schulz
This tests that the importing of an environment with a specified whitelist works as intended. If there are variables passed as parameter to the env import command, those only should be imported in the current environment. For each variable passed as parameter, if - foo is bar in current env and bar2 in exported env, after importing exported env, foo shall be bar2, - foo does not exist in current env and foo is bar2 in exported env, after importing exported env, foo shall be bar2, - foo is bar in current env and does not exist in exported env (but is passed as parameter), after importing exported env, foo shall be empty ONLY if the -d option is passed to env import, otherwise foo shall be bar, Any variable not passed as parameter should be left untouched. Two other tests are made to test that size cannot be '-' if the checksum protection is enabled. Signed-off-by: Quentin Schulz <quentin.schulz@bootlin.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Stephen Warren <swarren@nvidia.com> Tested-by: Stephen Warren <swarren@nvidia.com>
2018-07-20cmd: nvedit: env import can now import only variables passed as parametersQuentin Schulz
While the `env export` can take as parameters variables to be exported, `env import` does not have such a mechanism of variable selection. Let's add the ability to add parameters at the end of the command for variables to be imported. Every env variable from the env to be imported passed by parameter to this command will override the value of the variable in the current env. If a variable exists in the current env but not in the imported env, if this variable is passed as a parameter to env import, the variable will be unset ONLY if the -d option is passed to env import, otherwise the current value of the variable is kept. If a variable exists in the imported env, the variable in the current env will be set to the value of the one from the imported env. All the remaining variables are left untouched. As the size parameter of env import is positional but optional, let's add the possibility to use the sentinel '-' for when we don't want to give the size parameter (when the env is '\0' terminated) but we pass a list of variables at the end of the command. env import addr env import addr - env import addr size env import addr - foo1 foo2 env import addr size foo1 foo2 are all valid. env import -c addr env import -c addr - env import -c addr - foo1 foo2 are all invalid because they don't pass the size parameter required for checking, while the following are valid. env import addr size env import addr size foo1 foo2 Nothing's changed for the other parameters or the overall behaviour. One of its use case could be to load a secure environment from the signed U-Boot binary and load only a handful of variables from an other, unsecure, environment without completely losing control of U-Boot. Signed-off-by: Quentin Schulz <quentin.schulz@bootlin.com> Tested-by: Alex Kiernan <alex.kiernan@gmail.com> Tested-by: Stephen Warren <swarren@nvidia.com>
2018-07-20hashtable: do not recreate whole hash table if vars are passed to himport_rQuentin Schulz
When vars are passed to the himport_r function with H_NOCLEAR flag, those vars will be overridden in the current environment and if one of those vars is not in the imported environment, it'll be deleted in the current environment whatever the flag passed to himport_r. The H_NOCLEAR flag is used to clear the whole environment whether vars are passed to the function or not. This leads to incoherent behaviour. If one passes vars to himport_r with the H_NOCLEAR flag, if a var in vars is not in the imported env, that var will be removed from the current env. If one passes vars to himport_r without the H_NOCLEAR flag, the whole environment will be removed and vars will be imported from the environment in RAM. It makes more sense to keep the variable that is in the current environment but not in the imported environment if the H_NOCLEAR flag is set and remove only that variable if the H_NOCLEAR flag is not set. Let's clear the whole environment only if H_NOCLEAR and vars are not passed to himport_r. Let's remove variables that are in the current environment but not in the imported env only if the H_NOCLEAR flag is not passed. Suggested-by: Wolfgang Denk <wd@denx.de> Signed-off-by: Quentin Schulz <quentin.schulz@bootlin.com>
2018-07-20test/py: remove hacks for non-zero RAM base address in testsQuentin Schulz
Some functions have different behaviour when the given address is 0 (assumed to be NULL by the function). find_ram_base() does not return 0 anymore so it's safe to remove those offsets. Suggested-by: Stephen Warren <swarren@wwwdotorg.org> Signed-off-by: Quentin Schulz <quentin.schulz@bootlin.com> Reviewed-by: Stephen Warren <swarren@nvidia.com> Tested-by: Stephen Warren <swarren@nvidia.com>
2018-07-20test/py: return a RAM address different from 0 as it can be interpreted as NULLQuentin Schulz
Some functions test that the given address is not NULL (0) and fail or have a different behaviour if that's the case (e.g. hexport_r). Let's make the RAM base address to be not zero by setting it to 2MiB if that's the case. 2MiB is chosen because it represents the size of an ARM LPAE/v8 section. Suggested-by: Stephen Warren <swarren@wwwdotorg.org> Signed-off-by: Quentin Schulz <quentin.schulz@bootlin.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Stephen Warren <swarren@nvidia.com> Tested-by: Stephen Warren <swarren@nvidia.com>
2018-07-20env: add the same prefix to error messages to make it detectable by testsQuentin Schulz
The error message should start with `## Error: ` so that it's easily detectable by tests without needing to have a complex regexp for matching all possible error message patterns. Let's add the `## Error: ` prefix to the error messages since it's the one already in use. Suggested-by: Stephen Warren <swarren@wwwdotorg.org> Signed-off-by: Quentin Schulz <quentin.schulz@bootlin.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Stephen Warren <swarren@nvidia.com> Tested-by: Stephen Warren <swarren@nvidia.com>
2018-07-20stm32mp1: clk: support digital bypassPatrick Delaunay
HSE and LSE bypass shall support both analog and digital signals. This patch add a way to select digital bypas case in the device tree and set the associated bit DIGBYP in RCC_BDCR and RCC_OCEN register during clock tree initialization. Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2018-07-20stm32mp1: clk: add ADC clock gatingPatrick Delaunay
Add ADC clock gating, that may be used by STM32 ADC. Signed-off-by: Fabrice Gasnier <fabrice.gasnier@st.com> Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2018-07-20stm32mp1: clk: update Ethernet clock gatingPatrick Delaunay
Alignment with kernel clock driver Signed-off-by: Patrice Chotard <patrice.chotard@st.com> Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2018-07-20stm32mp1: clk: add LDTC and DSI clock supportPatrick Delaunay
This patch add clk_enable/clk_disable/clk_get_rate support for - DSI_PX - LTDC_PX - DSI_K (only get rate) These clocks are needed for LTDC and DSI drivers with latest device tree. Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2018-07-20stm32mp1: clk: add common function pll_get_fvcoPatrick Delaunay
the function compute the VCO PLL freq, used in - stm32mp1_read_pll_freq() - pll_set_rate() Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> # Conflicts: # drivers/clk/clk_stm32mp1.c
2018-07-20stm32mp1: clk: define RCC_PLLNCFGR2_SHIFT macroPatrick Delaunay
This patch define RCC_PLLNCFGR2_SHIFT to reuse it in the pll function for set rate. Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> Reviewed-by: Vikas Manocha <vikas.manocha@st.com>
2018-07-20stm32mp1: clock tree updatePatrick Delaunay
Configure clock tree for all the devices. Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2018-07-20stm32mp1: activate FIXED regulatorPatrick Delaunay
Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2018-07-20stm32mp1: add support for stm32mp157c-ev1 boardPatrick Delaunay
Add support of stm32mp157c-ev1, the evaluation board with pmic stpmu1 (ev1 = mother board + daughter ed1) with device tree. EV1 is the selected board by default in basic defconfig. PS: CONFIG_PINCTRL_FULL activation avoid to increase SYS_MALLOC_F_LEN (Early malloc usage: 2034) Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2018-07-20stm32mp1: activate MISC support in SPLPatrick Delaunay
needed for RCC MISC driver and sysreset with syscon in SPL Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2018-07-20misc: stm32: Add STM32MP1 supportPatrick Delaunay
Following next kernel rcc bindings, we must use a MFD RCC driver which is able to bind both clock and reset drivers. We can reuse and adapt RCC MFD driver already available for MCU SoCs (F4/F7/H7). Signed-off-by: Patrice Chotard <patrice.chotard@st.com> Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2018-07-20dts: import stm32mp1 device tree from linux kernelPatrick Delaunay
This patch rebase the stm32mp1 device tree source from linux kernel v4.18-rc1. Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2018-07-20sysreset: syscon: update regmap access to sysconPatrick Delaunay
Use new API syscon_node_to_regmap in sysreset_syscon driver for compatible "syscon-reboot"; that's avoid the need of explicit syscon binding for "regmap" handle. Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2018-07-20drivers: rtc: correct week day for mc146818Heinrich Schuchardt
For qemu-x86 the date command produces wrong days of the week: Date: 2018-07-06 (Saturday) Time: 18:02:03 Date: 2018-07-07 (unknown day) Time: 21:02:06 According to a comment in the Linux driver the mc146818 only updates the day of the week if the register value is non-zero. Sunday is 1, saturday is 7 unlike in U-Boot (see data sheet https://www.nxp.com/docs/en/data-sheet/MC146818.pdf). So let's use our library function to determine the day of the week. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2018-07-20bootmenu: Extend BOOTDELAY help textAlex Kiernan
Extend BOOTDELAY help text to cover its additional usage within the bootmenu command. Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
2018-07-20env: Include bootdelay in environment if negativeAlex Kiernan
The test for (CONFIG_BOOTDELAY >= 0) has been in U-Boot since the beginning, but the meaning of it has changed over time. Allow the default to be set for any value, including -ve ones. This allows (for example) CONFIG_ENV_IS_NOWHERE to have values for bootdelay in its compiled in environment. The only thing this changes is where the default for bootdelay can be fetched from; before this change you get a compiled in default, after you'll pull it from the default value in the environment, but both values will be the same. Also if there's a value set in the environment then that will take precedence (as before). Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
2018-07-20fs: btrfs: Fix wrong comparison in logical to physical mappingMarek Behún
The comparison logical > item->logical + item->length in btrfs_map_logical_to_physical is wrong and should be instead logical >= item->logical + item->length For example, if item->logical = 4096 item->length = 4096 and we are looking for logical = 8192, it is not part of item (item is [4096, 8191]). But the comparison is false and we think we have found the correct item, although we should be searing in the right subtree. This fixes some bugs I encountered. Signed-off-by: Marek Behun <marek.behun@nic.cz>
2018-07-20spl: Make the spl_nand_load_image staticMichael Trimarchi
Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
2018-07-20spl: mmc: Skip RAW mode ARGS sectors if not definedYork Sun
RAW mode ARGS sector doesn't have to be used for all falcon boot. Skip loading ARGS sectors if not defined. Signed-off-by: York Sun <york.sun@nxp.com>
2018-07-19drivers: rtc: resolve year 2038 problem in rtc_to_tmHeinrich Schuchardt
Our implementation of rtc_to_tm() cannot handle dates of more than 0x7fffffff seconds after 1970-01-01. Adopt the Linux kernel implementation. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2018-07-19board/BuR/brppt1: add makerule for generating production filesHannes Schmelzer
Signed-off-by: Hannes Schmelzer <oe5hpm@oevsv.at>
2018-07-19board/BuR/brppt1: convert brppt1 boards to driver modelHannes Schmelzer
- add a devicetree for each variant (mmc, spi, nand) - drop unneeded code from board and bur/common - drop unneeded stuff from config header files - minor adaptions to be compliant with driver model (requesting gpio,..) - harmonize the commandset over all brppt1 targets Signed-off-by: Hannes Schmelzer <oe5hpm@oevsv.at>
2018-07-19dts: am33xx: add u-boot, dm-spl to ocp busHannes Schmelzer
This is needed for having access to the devices below this bus, most important is uart and boot-device (spi, mmc, ...) in SPL stage. Signed-off-by: Hannes Schmelzer <oe5hpm@oevsv.at>
2018-07-19board/BuR/brppt1: implement more flexible boot processHannes Schmelzer
With this commit we do: - set the bootdelay in all brppt1 defconfigs to 0, this makes development easier, since we can break into serial console. - move CONFIG_BOOTCOMMAND from header file to defconfig - introduce b_mode variable for selecting the final boot-target. This b_mode represents the boot-switch, which can found on most b&r targets. On the brppt1 this boot-switch is derived from some gpio and the bootcounter within the RTC block, making it so possible to force a boot-target (as example for repair-case). - refactor the environment for booting new flexible way primary we want to get some bootscr.img within the mass-storage, this script then loads everything needed for the boot. For legacy reason we implement the t30lgcy#x boot targets, booting the already delivered linux-images. - make space for the cfgscr within mtdparts on brppt1_nand Signed-off-by: Hannes Schmelzer <oe5hpm@oevsv.at>
2018-07-19board/BuR/common: refactor ft_board_setup(...)Hannes Schmelzer
On other OS, not one provided by B&R, it is not guaranteed that there are factory-settings within a devicetree. So we must not treat the absence of them as error. Further we've the fact that on different version of the device-tree files there are different namings of the factory-settings, we consider this with searching for an alternative name. changing things as following: - don't treat as error if the bootloader version cannot written into devicetree. - since the naming of the factory-settings are different in different versions of the provided device-tree we search for the alternate name "/fset" Signed-off-by: Hannes Schmelzer <oe5hpm@oevsv.at>