- Jul 19, 2019
-
-
The clock subsystem needs active maintenance as it steadily grows. I do offer my help for this task. Signed-off-by:
Lukasz Majewski <lukma@denx.de>
-
Enable by default the Common Clock Framework [CCF] clock code for sandbox. Signed-off-by:
Lukasz Majewski <lukma@denx.de>
-
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 <lukma@denx.de>
-
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 <lukma@denx.de>
-
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 <lukma@denx.de>
-
This patch adds the 'osc' fixed clock to facilitate the CCF testing in the sandbox U-Boot. It is a starting point for building CCF hierarchy of clocks. Signed-off-by:
Lukasz Majewski <lukma@denx.de>
-
If the CLK_GET_RATE_NOCACHE flag is set - the clk_get_parent_rate() provides recalculated clock value without considering the cache setting. This may be necessary for some clocks tightly coupled with power domains (i.e. imx8), and prevents from reading invalid cached values. Signed-off-by:
Lukasz Majewski <lukma@denx.de> Reviewed-by:
Peng Fan <peng.fan@nxp.com>
-
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 <lukma@denx.de>
-
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 <lukma@denx.de> Reviewed-by:
Peng Fan <peng.fan@nxp.com>
-
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 <lukma@denx.de> Reviewed-by:
Peng Fan <peng.fan@nxp.com>
-
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 <lukma@denx.de> Reviewed-by:
Peng Fan <peng.fan@nxp.com>
-
This file now stores the dev_get_clk_ptr() wrapper on the dev_get_uclass_priv() function. Signed-off-by:
Lukasz Majewski <lukma@denx.de>
-
Up till now the fixed rate clock ('osc') has been added to UCLASS_CLK without declaring struct clk. As a result it was only accessible by iterating the udevice's uclass list. This is a problem for clock code, which operates on pointers to struct clk (like clk_get_rate()), not udevices. After this change struct clk is accessible from udevice and udevice from struct clk. Signed-off-by:
Lukasz Majewski <lukma@denx.de> Reviewed-by:
Peng Fan <peng.fan@nxp.com>
-
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 <lukma@denx.de> Reviewed-by:
Peng Fan <peng.fan@nxp.com>
-
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 <lukma@denx.de>
-
This check requires the struct clk passed to .get_rate() to be always cleared out as any clock with valid ID causes -EINVAL return value. The return code of fixed clocks shall always be returned. Signed-off-by:
Lukasz Majewski <lukma@denx.de> Reviewed-by:
Peng Fan <peng.fan@nxp.com>
-
There is no UCLASS_CLOCK uclass defined. Instead we do use the UCLASS_CLK. Signed-off-by:
Lukasz Majewski <lukma@denx.de> Reviewed-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Peng Fan <peng.fan@nxp.com>
-
This patch describes the design decisions considerations and taken approach for porting in a separate documentation entry. Signed-off-by:
Lukasz Majewski <lukma@denx.de>
-
- Jul 18, 2019
-
-
Tom Rini authored
- Various FS/disk related fixes with security implications. - Proper fix for the pci_ep test. - Assorted bugfixes - Some MediaTek updates. - 'env erase' support.
-
Tom Rini authored
We now have a proper fix for this test, stop disabling it in CI. This reverts commit ae8d23a6. Signed-off-by:
Tom Rini <trini@konsulko.com>
-
barno was mistakely readed from the target structure, resulting in undefined behavious depending on the previous memory content. fix that. Fixes: bb413337 ("pci_ep: add pci endpoint sandbox driver") Signed-off-by:
Ramon Fried <rfried.dev@gmail.com> [trini: Drop unused bar_idx] Signed-off-by:
Tom Rini <trini@konsulko.com>
-
Removed one of the defconfig(obsoleted) file and unused CONFIG_MMC_SPI definition to avoid confusion about if this board using non-DM stuff or not. uCP1020 is completely DM free board, tested and runs well. Signed-off-by:
Oleksandr Zhadan <oleks@arcturusnetworks.com> Signed-off-by:
Michael Durrant <mdurrant@arcturusnetworks.com> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com>
-
Some storage devices have multiple hw partitions and both address from zero, for example eMMC. However currently block cache invalidation only applies to block write/erase. This can cause a problem that data of current hw partition is cached before switching to another hw partition. And the following read operation of the latter hw partition will get wrong data when reading from the addresses that have been cached previously. To solve this problem, invalidate block cache after a successful select_hwpart operation. Signed-off-by:
Weijie Gao <weijie.gao@mediatek.com>
-
This patch removes tick-timer as all mt7629 boards should use arch timer. Signed-off-by:
Weijie Gao <weijie.gao@mediatek.com>
-
This patch changes mt7629_rfb to use ARM's generic arch timer instead of MediaTek's soc timer. Signed-off-by:
Weijie Gao <weijie.gao@mediatek.com>
-
The timer0 node has its two clocks written in reversed order. The timer0 is used as the tick timer which causes a problem that the time a delay function used is 4 times longer. This patch reverses these two clocks to solve this issue. Signed-off-by:
Weijie Gao <weijie.gao@mediatek.com>
-
We don't need a full checkout of Chrome OS to build U-Boot with Chromium OS verified boot. Update the instructions accordingly and fix a typo which joins the output directory and defconfig. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
This patch sets CNTVOFF of ARM CP15 timer to zero to make sure the virtual counter is fully usable for linux kernel. Cc: Albert Aribaud <albert.u.boot@aribaud.net> Signed-off-by:
Weijie Gao <weijie.gao@mediatek.com>
-
%s/ot/to/ Signed-off-by:
Anatolij Gustschin <agust@denx.de>
-
In ext4fs_read_file in ext4fs.c, a memset can overwrite the bounds of the destination memory region. This patch adds a check to disallow this. Signed-off-by:
Paul Emge <paulemge@forallsecure.com>
-
This patch checks for 0 in several ext4 headers and gracefully fails instead of raising a divide-by-0 exception. Signed-off-by:
Paul Emge <paulemge@forallsecure.com>
-
in ext4fs_read_file, it is possible for a broken/malicious file system to cause a memcpy of a negative number of bytes, which overflows all memory. This patch fixes the issue by checking for a negative length. Signed-off-by:
Paul Emge <paulemge@forallsecure.com>
-
ext_cache_read doesn't null cache->buf, after freeing, which results in a later function double-freeing it. This patch fixes ext_cache_read to call ext_cache_fini instead of free. Signed-off-by:
Paul Emge <paulemge@forallsecure.com>
-
part_get_info_extended and print_partition_extended can recurse infinitely while parsing a self-referential filesystem or one with a silly number of extended partitions. This patch adds a limit to the number of recursive partitions. Signed-off-by:
Paul Emge <paulemge@forallsecure.com>
-
libvirt v.5.3.0 with QEMU 4.0.0 or above uses PCI automatically and thus devices (network, storage, etc) are connected via PCI. Signed-off-by:
David Abdurachmanov <david.abdurachmanov@sifive.com> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com>
-
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 <takahiro.akashi@linaro.org> Tested-by:
Heinrich Schuchardt <xypron.glpk@gmx.de>
-
Currently, CONFIG_TFABOOT is located in armv8/fsl-layerscape Kconfig, but it will be also useful for other targets if some additional configuration are necessary. So move it to arch/arm/Kconfig. Please note that CONFIG_TFABOOT still depends on CONFIG_ARCH_SUPPORT_TFABOOT and so the menu won't come up if any target doesn't need its own customization for TF-A boot. This will maintain the compatibility. Signed-off-by:
AKASHI Takahiro <takahiro.akashi@linaro.org> Cc: Rajesh Bhagat <rajesh.bhagat@nxp.com> Cc: York Sun <york.sun@nxp.com> Cc: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com> Cc: Priyanka Jain <priyanka.jain@nxp.com> Cc: Sriram Dash <sriram.dash@nxp.com> Cc: Hou Zhiqiang <Zhiqiang.Hou@nxp.com> Cc: Peng Ma <peng.ma@nxp.com> Cc: Yuantian Tang <andy.tang@nxp.com> Cc: Pankit Garg <pankit.garg@nxp.com>
-
Signed-off-by:
Sam Protsenko <semen.protsenko@linaro.org>
-
This command fills the memory with data produced by rand(). Signed-off-by:
Jean-Jacques Hiblot <jjhiblot@ti.com>
-
At the moment mkenvimage has two separate read paths: One to read from a potential pipe, while dynamically increasing the buffer size, and a second one using mmap(2), using the input file's size. This is problematic for two reasons: - The "pipe" path will be chosen if the input filename is missing or "-". Any named, but non-regular file will use the other path, which typically will cause mmap() to fail: $ mkenvimage -s 256 -o out <(echo "foo=bar") - There is no reason to have *two* ways of reading a file, since the "pipe way" will always work, even for regular files. Fix this (and simplify the code on the way) by always using the method of dynamically resizing the buffer. The existing distinction between the two cases will merely be used to use the open() syscall or not. Signed-off-by:
Andre Przywara <andre.przywara@arm.com>
-