summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2019-07-21arm: socfpga: fix 3 boards missing env var "socfpga_legacy_reset_compat"Simon Goldschmidt
This fixes 3 boards that don't use CONFIG_EXTRA_ENV_SETTINGS from socfpga_common.h. They need to enable reset manager compatibility mode unless all peripheral drivers in Linux support reset handling. Fixes: commit 4b2e32efa4e7 ("arm: socfpga: gen5: deassert peripheral reset by default") Signed-off-by: Simon Goldschmidt <[email protected]> Reported-by: Wolfgang Grandegger <[email protected]>
2019-07-20rockchip: rk3399: use common secure_timer_init() for spl/tplKever Yang
SPL/TPL share the same secure_timer_init(), update to use one copy source code and update to use CONFIG_ROCKCHIP_STIMER_BASE as base address and rename to function name to rockchip_stimer_init(). Signed-off-by: Kever Yang <[email protected]>
2019-07-20rockchip: rk3368: enable stimer for rk3368Kever Yang
Add stimer_init() for spl/tpl so that we able to switch to use arch timer. Signed-off-by: Kever Yang <[email protected]>
2019-07-20rockchip: rk3128: use ARM arch timer instead of rk_timerKever Yang
We prefer to use ARM arch timer instead of rockchip timer, so that we are using the same timer for SPL, U-Boot and Kernel, which will make things simple and easy to track to boot time. Signed-off-by: Kever Yang <[email protected]>
2019-07-20rockchip: rk3288: use ARM arch timer instead of rk_timerKever Yang
We prefer to use ARM arch timer instead of rockchip timer, so that we are using the same timer for SPL, U-Boot and Kernel, which will make things simple and easy to track to boot time. Signed-off-by: Kever Yang <[email protected]>
2019-07-20rockchip: rk3036: use ARM arch timer instead of rk_timerKever Yang
We prefer to use ARM arch timer instead of rockchip timer, so that we are using the same timer for SPL, U-Boot and Kernel, which will make things simple and easy to track the boot time. Signed-off-by: Kever Yang <[email protected]>
2019-07-20rockchip: rk322x: use ARM arch timer instead of rk_timerKever Yang
We prefer to use ARM arch timer instead of rockchip timer, so that we are using the same timer for SPL, U-Boot and Kernel, which will make things simple and easy to track to boot time. Signed-off-by: Kever Yang <[email protected]>
2019-07-20rockchip: rk3288: update u-boot raw image size for all boardsKever Yang
Some rk3288 boards are using raw image of u-boot.bin, and now it's much bigger than default 200KB, update CONFIG_SYS_MONITOR_LEN to 600KB. Signed-off-by: Kever Yang <[email protected]>
2019-07-19ARM: imx6: DHCOM i.MX6 PDK: Switch to DM for I2CLudwig Zenz
This patch enables DM I2C for DHCOM i.MX6 PDK2 boards and removes non DM I2C code. The I2C EEPROM with ethaddr (MAC) is defined in the device tree. Use UCLASS_I2C_EEPROM to find the device by fixed hardware path and read the ethaddr. Tested with DHCOM i.MX6dl and DHCOM i.MX6q. Signed-off-by: Ludwig Zenz <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2019-07-19colibri_imx6: configs: remove legacy usbboot commandIgor Opaniuk
Remove obsolete legacy usbboot wrapper, as distroboot can handle booting from USB drivers. Signed-off-by: Igor Opaniuk <[email protected]> Reviewed-by: Oleksandr Suvorov <[email protected]>
2019-07-19apalis_imx6: configs: remove legacy usbboot commandIgor Opaniuk
Remove obsolete legacy usbboot wrapper, as distroboot can handle booting from USB drivers. Signed-off-by: Igor Opaniuk <[email protected]> Reviewed-by: Oleksandr Suvorov <[email protected]>
2019-07-19colibri_imx7: introduce androidboot wrapperIgor Opaniuk
1. Introduce androidboot wrapper for booting AOSP. 2. Add partitions_android env var for simplifying the process of writing new gpt table from U-boot shell/fastboot. Signed-off-by: Igor Opaniuk <[email protected]> Reviewed-by: Oleksandr Suvorov <[email protected]>
2019-07-19colibri-imx6ull: fix vidargsMarcel Ziswiler
Unfortunately, that missing M makes the current downstream NXP BSP 4.14.98_2.0.0_ga crash early during Linux kernel boot. Fix this. Signed-off-by: Marcel Ziswiler <[email protected]> Reviewed-by: Oleksandr Suvorov <[email protected]> Reviewed-by: Igor Opaniuk <[email protected]> Tested-by: Igor Opaniuk <[email protected]>
2019-07-19ARM: imx: m53menlo: Convert WDT support to DMMarek Vasut
Enable DM Watchdog support on iMX53 M53Menlo. Signed-off-by: Marek Vasut <[email protected]> Cc: Fabio Estevam <[email protected]> Cc: Stefano Babic <[email protected]>
2019-07-19watchdog: Split WDT from SPL_WDTMarek Vasut
Use CONFIG_IS_ENABLED(WDT) to permit use of WDT in SPL without DM, while the full U-Boot can use rich DM/DT WDT driver. Signed-off-by: Marek Vasut <[email protected]> Cc: Peng Fan <[email protected]> Cc: Stefano Babic <[email protected]> Tested-by: Heiko Schocher <[email protected]> Tested-by: Suniel Mahesh <[email protected]>
2019-07-19cosmetic: display5: Remove not needed commentsLukasz Majewski
Some comments are not needed anymore after Kconfig automated conversion. Signed-off-by: Lukasz Majewski <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2019-07-19pwm: imx: add Kconfig supportHeiko Schocher
add Kconfig support for this driver. Signed-off-by: Heiko Schocher <[email protected]> Acked-by: Martyn Welch <[email protected]>
2019-07-19ARM: imx: Disable 1Gbps support on MCCMON6's KSZ9031 PHYLukasz Majewski
mccmon6 works in 10/100 MiB Ethernet environment, so disabling 1GiB support improves robustness of the network after power up (as one don't need to wait for autoneg). Signed-off-by: Lukasz Majewski <[email protected]>
2019-07-19ARM: imx: config: Disable support for USB on MCCMON6Lukasz Majewski
The IMX6Q based MCCMON6 is not using USB for any purpose. Signed-off-by: Lukasz Majewski <[email protected]>
2019-07-19ARM: imx: cosmetic: Remove not needed comment from the mccmon6.h fileLukasz Majewski
This comment is a leftover from the Kconfig CONFIG_*MTD* move. Signed-off-by: Lukasz Majewski <[email protected]>
2019-07-19Merge https://gitlab.denx.de/u-boot/custodians/u-boot-riscvTom Rini
- Update SiFive Unleashed clock driver. - Enables SiFive SPI driver and MMC SPI driver for SiFive Unleashed board
2019-07-19warp7: Specify a default CONFIG_OPTEE_LOAD_ADDR if non providedBryan O'Donoghue
If no CONFIG_OPTEE_LOAD_ADDR is provided i.e. you are not loading OPTEE into memory in u-boot, then just set the non-existent CONFIG option to zero, elsewise stringify(CONFIG_OPTEE_LOAD_ADDR) will return "CONFIG_OPTEE_LOAD_ADDR" - which looks weird in the u-boot environment. Signed-off-by: Bryan O'Donoghue <[email protected]>
2019-07-19warp7: include: configs: Specify an fdtovaddrBryan O'Donoghue
In the Mbed Linux OS bootflow OP-TEE runs before u-boot and provides a DTB overlay at 0x83100000. This overlay should subsequently be merged into the main DTB before handing over to the kernel. This patch defines fdtovaddr at 0x83100000. Signed-off-by: Bryan O'Donoghue <[email protected]>
2019-07-19warp7: include: configs: Differentiate bootscript address from loadaddrBryan O'Donoghue
Reusing the loadaddr to load the boot script breaks some of the logic we want to have around the bootscript/FIT load addresses. Making a dedicated bootscript address allows us to differentiate the bootscript load address from the Linux Kernel or OPTEE load address, thus ensuring that no matter what the load sequence the bootscript and Kernel/OPTEE binary load addresses do not conflict. Signed-off-by: Bryan O'Donoghue <[email protected]>
2019-07-19warp7: include: configs: Specify image name of bootscript in FITBryan O'Donoghue
When obtaining the bootscript from a FIT image we need to specify the name of the bootscript as defined inside of the FIT. This patch makes a define that appends a "bootscr" parameter to the source command when compiling up in FIT mode on warp7. An environment variable is supplied to enable others to use a different name than "bootscr" as the image name of the boot script in their FIT. Signed-off-by: Bryan O'Donoghue <[email protected]>
2019-07-19regulator: bd718x7: support ROHM BD71837 and BD71847 PMICsMatti Vaittinen
BD71837 and BD71847 is PMIC intended for powering single-core, dual-core, and quad-core SoC’s such as NXP-i.MX 8M. BD71847 is used for example on NXP imx8mm EVK. Add regulator driver for ROHM BD71837 and BD71847 PMICs. BD71837 contains 8 bucks and 7 LDOS. BD71847 is reduced version containing 6 bucks and 6 LDOs. Voltages for DVS bucks (1-4 on BD71837, 1 and 2 on BD71847) can be adjusted when regulators are enabled. For other bucks and LDOs we may have over- or undershooting if voltage is adjusted when regulator is enabled. Thus this is prevented by default. BD718x7 has a quirk which may leave power output disabled after reset if enable/disable state was controlled by SW. Thus the SW control is only allowed for BD71837 bucks 3 and 4 by default. The impact of this limitation must be evaluated board-by board and restrictions may need to be modified. (Linux driver get's these limitations from DT and we may want to implement same on u-Boot driver). Signed-off-by: Matti Vaittinen <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2019-07-19i.MX6: nand: add nandbcb command for imxShyam Saini
Writing/updating boot image in nand device is not straight forward in i.MX6 platform and it requires boot control block(BCB) to be configured. It becomes difficult to use uboot 'nand' command to write BCB since it requires platform specific attributes need to be taken care of. It is even difficult to use existing msx-nand.c driver by incorporating BCB attributes like mxs_dma_desc does because it requires change in mtd and nand command. So, cmd_nandbcb implemented in arch/arm/mach-imx BCB contains two data structures, Firmware Configuration Block(FCB) and Discovered Bad Block Table(DBBT). FCB has nand timings, DBBT search area, page address of firmware. On summary, nandbcb update will - erase the entire partition - create BCB by creating 2 FCB/DBBT block followed by 1 FW block based on partition size and erasesize. - fill FCB/DBBT structures - write FW/SPL on FW1 - write FCB/DBBT in first 2 blocks for nand boot, up on reset bootrom look for FCB structure in first block's if FCB found the nand timings are loaded for further reads. once FCB read done, DTTB will load and finally firmware will be loaded which is boot image. Refer section "NAND Boot" from doc/imx/common/imx6.txt for more usage information. Reviewed-by: Stefano Babic <[email protected]> Signed-off-by: Jagan Teki <[email protected]> Signed-off-by: Sergey Kubushyn <[email protected]> Signed-off-by: Shyam Saini <[email protected]>
2019-07-19clk: sandbox: Add sandbox test code for Common Clock Framework [CCF]Lukasz Majewski
This patch provides code to implement the CCF clock tree in sandbox. It uses all the introduced primitives; some generic ones are reused, some sandbox specific were developed. In that way (after introducing the real CCF tree in sandbox) the recently added to clk-uclass.c: clk_get_by_id() and clk_get_parent_rate() are tested in their natural work environment. Usage (sandbox_defconfig and sandbox_flattree_defconfig): ./u-boot --fdt arch/sandbox/dts/test.dtb --command "ut dm clk_ccf" Signed-off-by: Lukasz Majewski <[email protected]>
2019-07-19clk: sandbox: Adjust clk-mux.c to emulate reading divider value from HWLukasz Majewski
The generic mux clock code for CCF requires reading the clock multiplexer value from HW registers. As sandbox by design has readl() as no-op it was necessary to provide this value in the other way. The new field in the mux structure (accessible only when sandbox is run) has been introduced for this purpose. Signed-off-by: Lukasz Majewski <[email protected]>
2019-07-19clk: sandbox: Adjust clk-divider to emulate reading its value from HWLukasz Majewski
The generic divider clock code for CCF requires reading the divider value from HW registers. As sandbox by design has readl() as no-op it was necessary to provide this value in the other way. The new field in the divider structure (accessible only when sandbox is run) has been introduced for this purpose. Signed-off-by: Lukasz Majewski <[email protected]>
2019-07-19clk: Port Linux common clock framework [CCF] for imx6q to U-boot (tag: v5.1.12)Lukasz Majewski
This patch brings the files from Linux kernel (linux-stable/linux-5.1.y SHA1: 5752b50477da)to provide clocks support as it is used on the Linux kernel with Common Clock Framework [CCF] setup. The directory structure has been preserved. The ported code only supports reading information from PLL, MUX, Divider, etc and enabling/disabling the clocks USDHCx/ECSPIx depending on used bus. Moreover, it is agnostic to the alias numbering as the information about the clock is read from the device tree. One needs to pay attention to the comments indicating necessary for U-Boot's driver model changes. If needed, the code can be extended to support the "set" part of the clock management. Signed-off-by: Lukasz Majewski <[email protected]>
2019-07-19dm: clk: Define clk_get_by_id() for clk operationsLukasz Majewski
This commit adds the clk_get_by_id() function, which is responsible for getting the udevice with matching clk->id. Such approach allows re-usage of inherit DM list relationship for the same class (UCLASS_CLK). As a result - we don't need any other external list - it is just enough to look for UCLASS_CLK related udevices. Signed-off-by: Lukasz Majewski <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2019-07-19dm: clk: Define clk_get_parent_rate() for clk operationsLukasz Majewski
This commit adds the clk_get_parent_rate() function, which is responsible for getting the rate of parent clock. Unfortunately, u-boot's DM support for getting parent is different (the parent relationship is in udevice) than the one in Common Clock Framework [CCF] in Linux. To alleviate this problem - the clk_get_parent_rate() function has been introduced to clk-uclass.c. Signed-off-by: Lukasz Majewski <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2019-07-19dm: clk: Define clk_get_parent() for clk operationsLukasz Majewski
This commit adds the clk_get_parent() function, which is responsible for getting the parent's struct clock pointer. U-Boot's DM support for getting parent is different (the parent relationship is in udevice) than the one in Common Clock Framework [CCF] in Linux. To obtain the pointer to struct clk of parent the pdev->uclass_priv field is read via dev_get_clk_ptr() wrapper. Signed-off-by: Lukasz Majewski <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2019-07-19clk: Introduce clk-provider.h to store Common Clock Framework's internalsLukasz Majewski
This file now stores the dev_get_clk_ptr() wrapper on the dev_get_uclass_priv() function. Signed-off-by: Lukasz Majewski <[email protected]>
2019-07-19clk: Extend struct clk to provide clock type agnostic flagsLukasz Majewski
This commit extends the struct clk to provide information regarding the flags related to this devices. Those flags are clk device agnostic and indicate generic features (like e.g. CLK_GET_RATE_NOCACHE - the need to always recalculate the rate). Signed-off-by: Lukasz Majewski <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2019-07-19clk: Extend struct clk to provide information regarding clock rateLukasz Majewski
This commit extends the struct clk to provide information regarding the clock rate. As a result the clock tree traversal is performed at most once, and further reads are using the cached value. Signed-off-by: Lukasz Majewski <[email protected]>
2019-07-19dm: Fix documentation entry as there is no UCLASS_CLOCK uclassLukasz Majewski
There is no UCLASS_CLOCK uclass defined. Instead we do use the UCLASS_CLK. Signed-off-by: Lukasz Majewski <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2019-07-19clk: sifive: Sync-up DT bindings header with upstream LinuxAnup Patel
The location and license header of DT bindings header for SiFive clock driver has changed in upstream Linux hence this patch. Signed-off-by: Anup Patel <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2019-07-19clk: sifive: Sync-up WRPLL library with upstream LinuxAnup Patel
Now that SiFive clock driver is merged in upstream Linux, we sync-up WRPLL library used by SiFive clock driver with upstream Linux sources. Signed-off-by: Anup Patel <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2019-07-19clk: sifive: Factor-out PLL library as separate moduleAnup Patel
To match SiFive clock driver with latest Linux, we factor-out PLL library as separate module under drivers/clk/analogbits. Signed-off-by: Anup Patel <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2019-07-19debug_uart: Add printdecJagan Teki
Add printdec, this would help to print an output a decimalism value. Signed-off-by: Jagan Teki <[email protected]> Signed-off-by: YouMin Chen <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2019-07-18Merge branch 'master' of git://git.denx.de/u-boot-netTom Rini
2019-07-18net: unaligned copying of unsigned longHeinrich Schuchardt
The inline functions net_read_u32() and net_copy_u32() have been created to copy unaligned u32. But this is not obvious to the compiler. GCC 9.1 introduces a check -Werror=address-of-packed-member which leads to a build error on Travis CI: net/bootp.c: In function ‘dhcp_send_request_packet’: net/bootp.c:1011:27: error: taking address of packed member of ‘struct bootp_hdr’ may result in an unaligned pointer value [-Werror=address-of-packed-member] 1011 | net_copy_u32(&bp->bp_id, &bp_offer->bp_id); Change the type of the function parameters to void * to avoid the build error. Reported-by: Ramon Fried <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]> Acked-by: Joe Hershberger <[email protected]>
2019-07-18net: add MDIO_MUX DM classAlex Marginean
Adds a class for MDIO MUXes, which control access to a series of downstream child MDIOs. MDIO MUX drivers are required to implement a select function used to switch between child buses. MUX children are registered as MDIO buses and they can be used just like regular MDIOs. Signed-off-by: Alex Marginean <[email protected]> Reviewed-by: Bin Meng <[email protected]> Acked-by: Joe Hershberger <[email protected]>
2019-07-18net: add comments to phy APIsAlex Marginean
Added a comment on the limitations of phy_find_by_mask API when scanning MDIO buses with multiple PHYs present. Added short descriptions to the other APIs in phy.h for consistency. Signed-off-by: Alex Marginean <[email protected]> Acked-by: Joe Hershberger <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2019-07-18Merge branch '2019-07-17-master-imports'Tom Rini
- Various FS/disk related fixes with security implications. - Proper fix for the pci_ep test. - Assorted bugfixes - Some MediaTek updates. - 'env erase' support.
2019-07-18power-domain.h: Fix typoAnatolij Gustschin
%s/ot/to/ Signed-off-by: Anatolij Gustschin <[email protected]>
2019-07-18arm: qemu: fix failure in flash initialization if booting from TF-AAKASHI Takahiro
If U-Boot is loaded and started from TF-A (you need to change SYS_TEXT_BASE to 0x60000000), it will hang up at flash initialization. If secure mode is off (default, or -machine virt,secure=off) at qemu, it will provide dtb with two flash memory banks: flash@0 { bank-width = <0x4>; reg = <0x0 0x0 0x0 0x4000000 0x0 0x4000000 0x0 0x4000000>; compatible = "cfi-flash"; }; If secure mode is on, on the other hand, qemu provides dtb with 1 bank: flash@0 { bank-width = <0x4>; reg = <0x0 0x4000000 0x0 0x4000000>; compatible = "cfi-flash"; }; As a result, flash_init()/flash_get_size() will eventually fail. With this patch applied, relevant CONFIG values are modified. Signed-off-by: AKASHI Takahiro <[email protected]> Tested-by: Heinrich Schuchardt <[email protected]>
2019-07-18env: register erase commandFrank Wunderlich
this patch adds basic changes for adding a erase-subcommand to env with this command the environment stored on non-volatile storage written by saveenv can be cleared. Signed-off-by: Frank Wunderlich <[email protected]> squashed fixes - start message with "Erasing" - mark erase-function as optional - env: separate eraseenv from saveenv Suggested-by: Simon Goldschmidt <[email protected]> Reviewed-by: Simon Goldschmidt <[email protected]>