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>
As npll rate may be changed according to vopl dclk rate on px30.
Change-Id: I4abc042b49ee06436ba5d69dc8adfa9460da37f7
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
NPLL should provide clock for vopl dclk on px30, and its rate will be
changed according to vopl dclk rate, so GPU can't use npll as parent
on px30.
Change-Id: Ib2c8c57020405bcd14070dcd7bc71cbfe18230e3
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
As npll rate may be changed when enable vopl in uboot, so we can't
change npll rate in kernel on px30.
Change-Id: If62da5bb77cdd411a550b2dc6250d654134474e3
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
With features AVB / dm-verity enabled, cmdline content is about to
exceed previous maximum 2048 bytes. printk can not support long line
exceed LOG_LINE_MAX which less than 1024. So loop printk until all
content are printed in init/main.c.
Change-Id: I4c40b5302d82122b93161fe30082f5abcfcad069
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
With features AVB / dm-verity enabled, cmdline content is about to
exceed previous maximum 2048 bytes. Increase the cmdline buffer size
(COMMAND_LINE_SIZE) to 4096 bytes for other features to use.
Change-Id: I73baf92e5dce1a341d523b1a976d387e794b3998
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
With features AVB / dm-verity enabled, cmdline content is about to
exceed previous maximum 2048 bytes. Increase the cmdline buffer size
(COMMAND_LINE_SIZE) to 4096 bytes for other features to use.
Bug: 62188243
Bug: 36339395
Change-Id: Ib0ad43b1d4596cfd965a659ffc7953f4ef221aec
Signed-off-by: Woody Lin <woody_lin@htc.com>
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
(cherry picked from https://android.googlesource.com/kernel/msm
commit 532fc475a103cc9968827c1cba851fe2b3100aba)
Fix pin conflicts when gpio4c7 is used for hdmi_cec and edp_hpd. CEC is an
optional function for HDMI. Thus the hdmi_cec pin should be specified
in the board .dts.
Without this patch we see below pin conflict when both hdmi and edp enabled.
[ 0.969331] rockchip-pinctrl pinctrl: pin gpio4-23 already requested by
ff940000.hdmi; cannot claim for ff970000.edp
[ 0.969350] rockchip-pinctrl pinctrl: pin-151 (ff970000.edp) status -22
[ 0.969361] rockchip-pinctrl pinctrl: could not request pin 151 (gpio4-23)
from group edp-hpd on device rockchip-pinctrl
[ 0.969371] rockchip-dp ff970000.edp: Error applying setting,
reverse things back
Change-Id: Id3e9d7fadb6a4cfd65827be9c4b55336406995f7
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
This modification is to solve the problem that the SD card
is inserted after starting up, and the hot plug fails because
the det pin is initialized to GPIO
Change-Id: Id0d88259f7b30a75c07d7c2980563fc0d4148449
Signed-off-by: Lei Chen <lei.chen@rock-chips.com>