According to "TX/RX Data FIFO Sizes and TX/RX Threshold Control
Register Settings" section in the DWC SuperSpeed USB 3.0 Controller
User Guide, for large latency systems, it may cause unnecessary
performance reduction, and having large TX/RX FIFOs alone is not
sufficient, to solve this issue, the controller provides a packet
threshold feature in the host mode.
For example, on rk3399 platforms, if we set aclk_perilp to 100 MHz,
the system usb bus latency is larger than 2.2 microseconds to access
a 1024-byte packet, to avoid underrun and overrun during the burst,
threshold and burst size control must be set through GTXTHRCFG and
GRXTHRCFG registers.
On rk3399 platforms, only a 4-packet TX FIFO and 3-packet RX FIFO
is implemented due to area constraints, so we can program the USB
Maximum TX Burst Size to 13 and the USB Transmit Packet Count to
4 to avoid TX FIFO underrun during an OUT burst. Similarly, set the
USB Maximum TX Burst Size to 10 and the USB Transmit Packet Count
to 2 to avoid RX FIFO overrrun. To enable the threshold control,
add "snps,gtx-threshold-cfg = <4>, <13>" in dts dwc3 node for Tx,
add "snps,grx-threshold-cfg = <2>, <10>" in dts dwc3 node for Rx.
Change-Id: I7535fe72e6527544a20c5921440b4888e1bada22
Signed-off-by: William Wu <william.wu@rock-chips.com>
Add snps,grx-threshold-cfg and snps,gtx-threshold-cfg properties
which provide values for global Rx/Tx threshold control.
Change-Id: Id470cdc8a1bcf7fe8048ecaa040f5b5662b8ce05
Signed-off-by: William Wu <william.wu@rock-chips.com>
To improve the performance of dual USB transmission.
Change-Id: Ie20d17029e54d299cddadc7a286d9bf6c96b0fbb
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Single entry is for target voltage and three entries are for
<target min max> voltages. Change cpu opp-microvolt form one entry to
three entries and set maximum acceptable voltage to a high value so that
regulator device can supply multiple consumers at the same time.
Change-Id: Id74c570afe702e879504a597a3d9fb3754125f2f
Signed-off-by: Zhangbin Tong <zebulun.tong@rock-chips.com>
This patch adds devicetree support to gmac of rk1808 with proper
devicetree compatible strings.
Change-Id: Id35523a10f987cbb9b9c33ad32ab23cb3c6d4e2b
Signed-off-by: David Wu <david.wu@rock-chips.com>
This reverts commit 46d3be8026.
This patch add a new 'regulator-early-min-microvolt' property to limit
the minimal voltage of regulator during kernel startup.
Change-Id: I580f0cceda280b9168e7f489f39785830cd28a28
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
This reverts commit a4e0323d13.
If uboot needs a high cpu rate, the voltage should be set to a high
value, and the minimal voltage of regulator will also be set to this
value during kernel startup, so it will be failed to set voltage which
is less than this value when consumers change voltage, for example pvtm.
This patch add a new 'regulator-early-min-microvolt' property to limit
the minimal voltage of regulator during kernel startup and it will no
longer be restricted by uboot.
Change-Id: Ia50920b7627f886fab5c9f65a3fc19946debdff2
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Following arch_counter_get_cntvct_mem() in arm_arch_timer.c
Change-Id: I0d44edcb2cfcf2eb70aceccc57e147fa43eba34d
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
This adds documentation of device tree bindings for the Rockchip hardware
random number generator.
Change-Id: I4548f480d5e89499f527a1f37047404b910b6c88
Signed-off-by: Lin Jinhan <troy.lin@rock-chips.com>
These two devices give the following error on detection.
Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
xhci-hcd xhci-hcd.5.auto: ERROR Transfer event for disabled endpoint
or incorrect stream ring
The same error is not seen when it is added to unusual_device
list with US_FL_NO_REPORT_OPCODES and US_FL_BROKEN_FUA passed.
Change-Id: Ia1035ea597c65ad7112f68f5cbdd792875ee2995
Signed-off-by: William Wu <william.wu@rock-chips.com>
cpll just for display no need to init. init will result in dispaly error
in next-dev uboot
Change-Id: Ie63c8d44aa6b54fb81abfb3a32d71995b8426c7d
Signed-off-by: Wu Liangqing <wlq@rock-chips.com>
This patch fixup dma transfer data lost if loop cnt is larger
than 256.
Change-Id: Id49302cdcc1ac871d03070ce07eaa7653e54408c
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
clk_disable_unprepare() already checks that the clock pointer is valid.
No need to test it before calling it.
Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit 93120eba48)
Change-Id: Ic318108658809fb54a954c688db4f6c9876c422f
Signed-off-by: David Wu <david.wu@rock-chips.com>
Split DT source files to separate out android fireware for Android Pip & Oreo
Change-Id: I6fe9ad626ea05d2f5ae29ff2e8ee314d9833bbca
Signed-off-by: Bian Jin chen <kenjc.bian@rock-chips.com>
Signed-off-by: Hao Xiaowei <hxw@rock-chips.com>
This patch add the judgement for vad stop, do nothing
if vad was stopped.
Change-Id: Iea9fa635d38644335ba30c821460c11d8526a7a6
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
This patch move vad start action into suspend process.
Change-Id: Icc1ad0b49b89e3b768bc9270da7fadd12070b758
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
This patch copy vad buffer to dma buffer and recaculate
the hw pointer to support mmap access. in the mmap mode,
the buffer is handled by userspace, leading to prefetch
the vad data is impossible, so vad buffer data should be
copied to dma buffer. the only restriction is the dma buf
size should be larger than vad buf size.
Change-Id: I2ef6156fe8a791563a4bd02962c61d4b57c5329e
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
In clk_bulk_get(), if we fail to get the clock due to probe deferal, we
shouldn't print an error message. Just be silent in this case.
Change-Id: I48eff4c17c48e336aafc0d4faf21e56d3e2e61be
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Reviewed-by: Shawn Lin <shawn.lin@rock-chips.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
(cherry picked from commit 329470f2d5)
we need it even when !CONFIG_HAVE_CLK because it allows
us to catch missing checking return values in the non-clk
compile configurations too. More test coverage.
Change-Id: Ibc620a329c849361dba72f41ff8a6f2f83d45abd
Cc: Stephen Boyd <sboyd@codeaurora.org>
Suggested-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
(cherry picked from commit 6e0d4ff458)
Some driver is using this type of DT bindings for clock (more detail,
see ${LINUX}/Documentation/devicetree/bindings/sound/simple-card.txt).
sound_soc {
...
cpu {
clocks = <&xxx>;
...
};
codec {
clocks = <&xxx>;
...
};
};
Current driver in this case uses of_clk_get() for each node, but there
is no devm_of_clk_get() today.
OTOH, the problem of having devm_of_clk_get() is that it encourages the
use of of_clk_get() when clk_get() is more desirable.
Thus, this patch adds new devm_get_clk_from_chile() which explicitly
reads as get a clock from a child node of this device.
By this function, we can also use this type of DT bindings
sound_soc {
clocks = <&xxx>, <&xxx>;
clock-names = "cpu", "codec";
clock-ranges;
...
cpu {
...
};
codec {
...
};
};
Change-Id: Ie5b3bf7bda683a47ff07bea85982e916db12a1cb
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
[sboyd@codeurora.org: Rename subject to clk + add API]
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
(cherry picked from commit 71a2f11511)
The clk notifier symbols are hidden by COMMON_CLK. However on some
platforms HAVE_CLK might be set while COMMON_CLK not which leads to
compile test build errors like:
$ make.cross ARCH=sh
drivers/devfreq/tegra-devfreq.c: In function 'tegra_actmon_rate_notify_cb':
>> drivers/devfreq/tegra-devfreq.c:391:16: error: 'POST_RATE_CHANGE' undeclared (first use in this function)
if (action != POST_RATE_CHANGE)
^
drivers/devfreq/tegra-devfreq.c: In function 'tegra_devfreq_probe':
>> drivers/devfreq/tegra-devfreq.c:654:8: error: implicit declaration of function 'clk_notifier_register' [-Werror=implicit-function-declaration]
err = clk_notifier_register(tegra->emc_clock, &tegra->rate_change_nb);
^
Export the macros and data type declarations outside of COMMON_CLK ifdef
and provide stubs to fix the compile testing.
Change-Id: I1172439272d961be2ed38f4857f1c646c9a4e651
Reported-by: kbuild test robot <lkp@intel.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Tested-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
(cherry picked from commit e81b87d22a)
When compiling with the COMPILE_TEST option set, the clps711x does not
compile because of the clk_get_sys() noop stub missing.
Change-Id: I8bf02a5725f294e59164c3674f2e480a61084517
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-by: Michael Turquette <mturquette@baylibre.com>
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
(cherry picked from commit b81ea96870)
The android 9.0 scan block device type: platform, vbd and pci.
The old nand driver create nand device uevent in "sys/devices/
virtual/", android 9.0 could not support.
update new driver create nand device uevent in "sys/devices/
platform/ff3b0000.nandc/block/rknand0" to fix the issuex.
Change-Id: Idda634cc5584fb4a8b531fbbea481d1a08c63cca
Signed-off-by: Yifeng Zhao <zyf@rock-chips.com>