We can configurate phy setting in dts node "rockchip,phy_table"
with following format:
<maxfreq pre-emphasis slopeboost clklevel data0level data1level data2level>
Phy setting table must list from low freq to high freq and cover
all supported frequency, for example:
&hdmi {
status = "okay";
rockchip,phy_table =
<165000000 0 0 17 17 17 17>,
<340000000 0 0 14 17 17 17>,
<594000000 0 0 9 17 17 17>;
};
If dts node is not exist, we use default setting defined in code.
Signed-off-by: Firefly <service@t-firefly.com>
fdtdec_get_addr for aarch64 error has been fixed by uboot master,
so rkplat using fdtdec_get_addr instead of fdtdec_get_reg.
Signed-off-by: Firefly <service@t-firefly.com>
fdtdec_get_addr_size() hard-codes the number of cells used to represent
an address or size in DT. This is incorrect in many cases depending on
the DT binding for a particular node or property (e.g. it is incorrect
for the "reg" property). In most cases, DT parsing code must use the
properties #address-cells and #size-cells to parse addres properties.
This change splits up the implementation of fdtdec_get_addr_size() so
that the core logic can be used for both hard-coded and non-hard-coded
cases. Various wrapper functions are implemented that support cases
where hard-coded cell counts should or should not be used, and where
the client does and doesn't know the parent node ID that contains the
properties #address-cells and #size-cells.
dev_get_addr() is updated to use the new functions.
Core functionality in fdtdec_get_addr_size_fixed() is widely tested via
fdtdec_get_addr_size(). I tested fdtdec_get_addr_size_auto_noparent() and
dev_get_addr() by manually modifying the Tegra I2C driver to invoke them.
Much of the core implementation of fdtdec_get_addr_size_fixed(),
fdtdec_get_addr_size_auto_parent(), and
fdtdec_get_addr_size_auto_noparent() comes from Thierry Reding's
previous commit "fdt: Fix fdtdec_get_addr_size() for 64-bit".
Based-on-work-by: Firefly <service@t-firefly.com>
Cc: Firefly <service@t-firefly.com>
Cc: Firefly <service@t-firefly.com>
Cc: Firefly <service@t-firefly.com>
Signed-off-by: Firefly <service@t-firefly.com>
Acked-by: Firefly <service@t-firefly.com>
Dropped #define DEBUG at the top of fdtdec.c:
Signed-off-by: Firefly <service@t-firefly.com>
Signed-off-by: Firefly <service@t-firefly.com>
Conflicts:
drivers/core/device.c
1. CONFIG_SECURE_RSA_KEY_IN_RAM config key get from ddr.
2. CONFIG_SECURE_RSA_KEY_ADDR config key address.
3. Secureboot change for support key in ddr.
4. bl31 v1.6 for crypto module error.
Signed-off-by: Firefly <service@t-firefly.com>
This patch fixes USB storage capacity detection breakage on 64-bit systems
which arises due to 'unsigned long' length difference. Old code assumes that
to be 32 bit and breaks because of inappropriate response buffer layout.
Also this fixes a number of build warnings and changes big-endian values
treatment style to be architecture-independent
Signed-off-by: Firefly <service@t-firefly.com>
Signed-off-by: Firefly <service@t-firefly.com>
Tested-by: Firefly <service@t-firefly.com>
1. fix crypto and efuse platform support for rk3368.
2. fix crypto dma error when cache writeback enable.
3. fix compile warnings when aarch64 platform.
If we don't add lvds_format on the display timing, the lvds_format
value may be -1, means 0xffffffff when do register write, that is
wrong and display not works.
Signed-off-by: Firefly <service@t-firefly.com>
While generating the page tables, a running integer index is shifted by
SECTION_SHIFT (29) and causes overflow for any integer bigger than 7.
The page tables therefore alias to the same 8 sections and cause U-Boot
to hang once the MMU is enabled.
Fix this by making the index a 64-bit unsigned integer and so avoid the
overflow.
swarren notes: currently "i" ranges from 0..8191 on all ARM64 boards, and
"j" varies depending on RAM size; from 4 to 11 for a board with 4GB at
physical address 2GB, as some Tegra boards have.
Signed-off-by: Firefly <service@t-firefly.com>
Signed-off-by: Firefly <service@t-firefly.com>
Signed-off-by: Firefly <service@t-firefly.com>
Reviewed-by: Firefly <service@t-firefly.com>
Signed-off-by: Firefly <service@t-firefly.com>
fdtdec_get_addr for aarch64 error has been fixed by uboot master,
so rkplat using fdtdec_get_addr instead of fdtdec_get_reg.
Signed-off-by: Firefly <service@t-firefly.com>
Split out the code in fdtdec which finds a number at the end of a string. It
can be useful in other situations.
Signed-off-by: Firefly <service@t-firefly.com>
Signed-off-by: Firefly <service@t-firefly.com>
Conflicts:
include/vsprintf.h
Currently, this function returns a positive value on error,
so we never know whether this function has succeeded or failed.
For example, if the given property is not found, fdt_getprop()
returns -FDT_ERR_NOTFOUND, and then this function inverts it,
i.e., returns FDT_ERR_NOTFOUND (=1).
Signed-off-by: Firefly <service@t-firefly.com>
Fixes: bc4147ab2d69 ("fdt: Add a function to count strings")
Acked-by: Firefly <service@t-firefly.com>