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>
1. change isp reset to "asynchronous system reset"
If some errors is happened, isp can not return to normal state
without "asynchronous system reset".
2. change the way of attach/detach iommu
As the modification of 1), isp will be reset by "asynchronous system reset"
when isp subdev is stop, so iommu is need to detach and reattach.
Now we detach/attach iommu not only when suspend/resume system, but also after isp is reset.
To handle the two cases together, we remove the function of detach/attach iommu
when suspend/resume system, add the function of attach iommu when first stream is opened
and detach iommu when last stream is closed.
Change-Id: If1aa191c9cf6a7f0b7e97da481922ffbae1fd87d
Signed-off-by: Hu Kejun <william.hu@rock-chips.com>
For keep other sounds card order, the aloop card index set 7.
Change-Id: I7336ac17dfeba67fc0c5c52429d9a74e9856e7e9
Signed-off-by: Cherry Chen <cherry.chen@rock-chips.com>
For keep other sounds card order, the aloop card index set 7.
Change-Id: Id54369abdd6c4e48679647fe50d84cfe5bcd061b
Signed-off-by: Cherry Chen <cherry.chen@rock-chips.com>
There are still quite a few cases where a device might want
to get to a different node of the device-tree, obtain the
resources and map them.
We have of_iomap() and of_io_request_and_map() but they both
have shortcomings, such as not returning the size of the
resource found (which can be useful) and not being "managed".
This adds a devm_of_iomap() that provides all of these and
should probably replace uses of the above in most drivers.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Joel Stanley <joel@jms.id.au>
(cherry picked from commit d5e838275c)
Change-Id: I5d68c3e23637c5e83e5f2bed3a1aa2c654d7d6a1
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
change needed min buffers of stream to 0, because we allocate dummy
buffer in advance.
Change-Id: Ib7647983b495c11dc18151b3c1f8856c49496c3a
Signed-off-by: Hu Kejun <william.hu@rock-chips.com>
From u-boot d1463f4aaddc ("tools: resource_tool: Use not stripped version").
Merge all C files to one resource_tool.c
Change-Id: I25fffb9a817c9e4e5260db3afca644cb8ba06a18
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
The video BIST function of the DP_TX generates arbitrary video formats
internally according to the specified format configuration and selection.
These BIST video formats simplify DP_TX debugging.
Change-Id: Ia019c8f40fdd4ebea3e5250be8e2c15540481a6c
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
This patch fix hw_params fail if the buffer time is too large,
anyway, we use the smaller one between vad->buffer_time and
the max buffer time.
Change-Id: I111bb835f281d717d0b5a4be7bc6b321387f31d5
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Dmac pl330 adds src_interlace_size of dma_slave_config rxconf.
If rxconf is local variable, src_interlace_size may be non zero,
which causes wrong process.
Fixes: ddd2e87ad4 ("dmaengine: pl330: add support for interlace size config")
Change-Id: Ib301c7ca4a1175bafd0631cb4deea4baa60eebc7
Signed-off-by: Huibin Hong <huibin.hong@rock-chips.com>
We need to skip resetting the digital part of ADCs during
keepping the ADCs enabled always.
Change-Id: I075d605b48a9216a84c7269ebff32f1f150ec5de
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
lpddr4 scale frequency when display on, cause the display shake and
vop POST_BUF_EMPTY
Change-Id: Idff6fe039e93a6a938e05524d7dd5ce0d9c72dee
Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
RK3308B is a enhanced variant of RK3308 with more flexible
iomux and peripherals(for example, RK3308B has 12 pwms, but
RK3308 has 4).
The CHIP_ID is stored in GRF_CHIP_ID:
RK3308: 0xcea (3306 in decimal)
RK3308B: 0x3308
Change-Id: I8f675656c012bdedb43043f5dbeea8bd11ea4ded
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Because of resample, some speaker processing(such as EQ/DRC)
cannot be done after dmix in alsa. Enable aloop driver make them
can be handled between virtual hardware to the real hardware.
Change-Id: I86242f67d89fb38361a7f8d6d8cf4294cdaba685
Signed-off-by: Cherry Chen <cherry.chen@rock-chips.com>
Because of resample, some speaker processing(such as EQ/DRC)
cannot be done after dmix in alsa. Enable aloop driver make them
can be handled between virtual hardware to the real hardware.
Change-Id: I05b92632359fabd5c1dd8b051295ad4d17dddc8c
Signed-off-by: Cherry Chen <cherry.chen@rock-chips.com>