Commit Graph

854370 Commits

Author SHA1 Message Date
Wang Panzhenzhuan
d523d6841a media: i2c: gc2155: add exposure control and fix v4l2_ctrl init issues
Signed-off-by: Wang Panzhenzhuan <randy.wang@rock-chips.com>
Change-Id: I393ba4f97d94e57f383db9b7725a6caf1e7445d0
2020-07-08 19:58:59 +08:00
Jianqun Xu
94b42d3f33 ARM: dts: rv1126: rename pinctrl subnodes that end with gpio
Change-Id: I1108f91672e16d32b0c79144c2b05e86defe6c02
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2020-07-08 19:55:12 +08:00
Sandy Huang
5189e9b511 drivers: devfreq: rockchip_dmc: export dmc symbol
EXPORT_SYMBOL rockchip_dmcfreq_vop_bandwidth_update and
rockchip_dmcfreq_vop_bandwidth_request

Change-Id: Ifb41d9e7885627a3c085fb403289bd3469d073c9
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2020-07-08 19:48:08 +08:00
Fenrir Lin
13739065c4 ARM: dts: rockchip: Add rv1126-evb-ddr3-v12-tb-emmc
Change-Id: I059d9870d01f1dca1e376f72a45a7bae08acd389
Signed-off-by: Fenrir Lin <fenrir.lin@rock-chips.com>
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-07-08 15:32:21 +08:00
Zefa Chen
22574f04d4 media: i2c: add camera driver ov02k10
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: Ie1806625548ce1c4f73991056b5efe8d3694ccaa
2020-07-08 11:53:59 +08:00
Elon Zhang
90928381ff ARM: dts: rockchip: add firmware and optee node
Add optee node to supply OP-TEE required properties.
/optee node is supposed to be below /firmware node.

Signed-off-by: Elon Zhang <zhangzj@rock-chips.com>
Change-Id: I067f12319a2ec3252655669b199ced6ab451cbd9
2020-07-08 10:49:19 +08:00
Elon Zhang
d752a21c08 arm64: dts: rockchip: add firmware and optee node
Add optee node to supply OP-TEE required properties.
/optee node is supposed to be below /firmware node.

Signed-off-by: Elon Zhang <zhangzj@rock-chips.com>
Change-Id: Ie92391131c4fe9033499dc9f18ea7f3c70f38850
2020-07-08 10:48:55 +08:00
Elon Zhang
c31ab35ad8 ARM: rockchip_defconfig: enable CONFIG_TEE and CONFIG_OPTEE
Signed-off-by: Elon Zhang <zhangzj@rock-chips.com>
Change-Id: I8965da1f5d38abcb69939e756d4639951083caf5
2020-07-08 10:48:44 +08:00
Tao Huang
cd2f3171eb soc: rockchip: power-domain: Add missing kfree in error path
If 'rockchip_pm_add_one_domain' fails, then 'qos_is_need_init[0]'
should be freed, otherwise, there is a memory leak.

Fixes: 2047231d24 ("soc: rockchip: power-domain: support qos init")
Change-Id: Id2ec5c4b7cbc53a5491f348eeba1fd526018875d
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-07-07 17:17:26 +08:00
Greg Kroah-Hartman
f236f362d1 UPSTREAM: iommu: Properly export iommu_group_get_for_dev()
In commit a7ba5c3d00 ("drivers/iommu: Export core IOMMU API symbols to
permit modular drivers") a bunch of iommu symbols were exported, all
with _GPL markings except iommu_group_get_for_dev().  That export should
also be _GPL like the others.

Change-Id: Ib1ba7236e146d4ee42e79da47e942541787a2ff9
Fixes: a7ba5c3d00 ("drivers/iommu: Export core IOMMU API symbols to permit modular drivers")
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-by: Will Deacon <will@kernel.org>
Cc: Joerg Roedel <jroedel@suse.de>
Cc: John Garry <john.garry@huawei.com>
Cc: Will Deacon <will@kernel.org>
Link: https://lore.kernel.org/r/20200430120120.2948448-1-gregkh@linuxfoundation.org
Signed-off-by: Joerg Roedel <jroedel@suse.de>
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
(cherry picked from commit ae74c19faa)
2020-07-07 17:02:06 +08:00
Heiko Stuebner
7c26a368b3 FROMGIT: clk: rockchip: convert basic pll lock_wait to use regmap_read_poll_timeout
Instead of open coding the polling of the lock status, use the
handy regmap_read_poll_timeout for this. As the pll locking is
normally blazingly fast and we don't want to incur additional
delays, we're not doing any sleeps similar to for example the imx
clk-pllv4 and define a very safe but still short timeout of 1ms.

Link: https://lore.kernel.org/r/20200129163821.1547295-2-heiko@sntech.de
(cherry picked from commit 3507df1a46
 git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git for-next)
Suggested-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
Reviewed-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: I39fe50d701580532f9a994266e088a909a98c985
2020-07-07 16:48:31 +08:00
Heiko Stuebner
d3e259e0df FROMGIT: clk: rockchip: convert rk3399 pll type to use readl_relaxed_poll_timeout
Instead of open coding the polling of the lock status, use the handy
readl_relaxed_poll_timeout for this. As the pll locking is normally
blazingly fast and we don't want to incur additional delays, we're
not doing any sleeps similar to for example the imx clk-pllv4
and define a very safe but still short timeout of 1ms.

Link: https://lore.kernel.org/r/20200129163821.1547295-1-heiko@sntech.de
(cherry picked from commit bf4237a188
 git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git for-next)
Suggested-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
Reviewed-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: I291bd7085e628a22bbe3877fd4961498c58c4d85
2020-07-07 16:48:31 +08:00
Heiko Stuebner
74d6556cf7 FROMGIT: clk: rockchip: convert rk3036 pll type to use internal lock status
The rk3036 pll type exposes its lock status in both its pllcon registers
as well as the General Register Files. To remove one dependency convert
it to the "internal" lock status, similar to how rk3399 handles it.

Link: https://lore.kernel.org/r/20200129163821.1547295-3-heiko@sntech.de
(cherry picked from commit 7f6ffbb885
 git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git for-next)
Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
Reviewed-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: I1e1d1c96dacf936b8f314ba246b4dd8bf4d8b8a9
2020-07-07 16:48:31 +08:00
Sandy Huang
14cae36363 drm/rockchip: rk3399 vop: add support more color space
add support following color space:
    V4L2_COLORSPACE_SMPTE240M
    V4L2_COLORSPACE_470_SYSTEM_M
    V4L2_COLORSPACE_470_SYSTEM_BG

now can support following color space:
bt601 limit:
    V4L2_COLORSPACE_SMPTE170M
    V4L2_COLORSPACE_470_SYSTEM_M
    V4L2_COLORSPACE_470_SYSTEM_BG
bt601 full:
    V4L2_COLORSPACE_JPEG
bt709 limit:
    V4L2_COLORSPACE_SMPTE240M
    V4L2_COLORSPACE_REC709
    V4L2_COLORSPACE_DEFAULT
bt2020:
    V4L2_COLORSPACE_BT2020

Change-Id: Ia51b7aa9959f69efdd8bad3371395b2fceaccaaa
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2020-07-07 15:57:06 +08:00
Weiwen Chen
b45bed1253 ARM: dts: rockchip: rename rv1126-evb-ddr3-v12-spi-nand.dts for V12 Board
Signed-off-by: Weiwen Chen <cww@rock-chips.com>
Change-Id: I24d79448d958888c4dd38fbbca188f7597c0af8e
2020-07-07 15:55:48 +08:00
Nickey Yang
d175a7a9f3 ARM: dts: rv11xx-evb-v10: enable dsi logo display
This patch enable the logo function of DSI.
At the same time, when the panel is initialized in uboot,
We need set the power boot on to avoid black screen.

Signed-off-by: Nickey Yang <nickey.yang@rock-chips.com>
Change-Id: I258b395ca676b8a3b41cd23e5db442c521256063
2020-07-07 11:50:14 +08:00
Jianqun Xu
554fc0d39d arm64: ARCH_ROCKCHIP remove select PINCTRL_ROCKCHIP
Change-Id: I24dd1e059fcaed7ded9457ed803edae27b83d445
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2020-07-07 10:49:08 +08:00
Cai YiWei
47c1b60431 media: rockchip: isp: fix isp no ready to read back for thunderboot mode
Change-Id: Ib42b6dee1f7cc2b891b00458a09b2dfabafef9f0
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2020-07-07 09:13:03 +08:00
Jianqun Xu
d0f4aa1f13 genirq: export irq_gc_set_wake
Change-Id: I52f43e1dff15d987532395e5151e65419b5904b2
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2020-07-06 20:34:02 +08:00
Baolin Wang
c51417f7f3 UPSTREAM: pinctrl: Export some needed symbols at module load time
Export the pin_get_name()/pinconf_generic_parse_dt_config() symbols needed
by the Spreadtrum pinctrl driver when building it as a module.

Change-Id: I9b0028e250221b3b1d48b482e90bfd4b81d1695b
Signed-off-by: Baolin Wang <baolin.wang7@gmail.com>
Link: https://lore.kernel.org/r/f4e7e20afacb23e6fa7a6b33ea4319b2b3492840.1582776447.git.baolin.wang7@gmail.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
(cherry picked from commit b88d145191)
2020-07-06 20:30:57 +08:00
Simon Xue
a38320550e iommu: rockchip: update to support module
Change-Id: I4603bf635c362b07a9a1dcab3283b1ed669b581b
Signed-off-by: Simon Xue <xxm@rock-chips.com>
2020-07-06 20:28:11 +08:00
Will Deacon
1f93fc8bd3 BACKPORT: drivers/iommu: Export core IOMMU API symbols to permit modular drivers
Building IOMMU drivers as modules requires that the core IOMMU API
symbols are exported as GPL symbols.

Signed-off-by: Will Deacon <will@kernel.org>
Tested-by: John Garry <john.garry@huawei.com> # smmu v3
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Joerg Roedel <jroedel@suse.de>

Change-Id: Ib06e99673ebcf2bf6524712c335965dca6d4bdbe
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
(cherry picked from commit a7ba5c3d00)
2020-07-06 20:22:51 +08:00
Tao Huang
6be41e0dfa ARM: dts: rockchip: Rename rockchip_tb to thunder-boot-mmc for rv1126-evb-ddr3-v10-tb
Change-Id: I590acea39d950abad144e58a419931c2b7fa4639
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-07-06 19:01:14 +08:00
Hu Kejun
8677399d80 ARM: configs: enable CONFIG_VIDEO_ROCKCHIP_THUNDER_BOOT_ISP for rv1126-evb-ddr3-v10-tb.config
Signed-off-by: Hu Kejun <william.hu@rock-chips.com>
Change-Id: I1f9ee907ad1ce9667b492a77c3557ae9485fcbe8
2020-07-06 19:00:16 +08:00
Hu Kejun
c0bf6d40cf ARM: dts: rv1126-evb-ddr3-v10-tb: support rkisp thunderboot mode
Signed-off-by: Hu Kejun <william.hu@rock-chips.com>
Change-Id: I2f7203f67c7c06e179e692428c54784873c77c53
2020-07-06 19:00:16 +08:00
Hu Kejun
5006af6e8a media: i2c: os04a10: support thunderboot mode
Signed-off-by: Hu Kejun <william.hu@rock-chips.com>
Change-Id: If1491dceee255e6e42ba7164da2364ab9933a77e
2020-07-06 19:00:16 +08:00
Hu Kejun
b9ab138ec6 media: rockchip: isp: support thunderboot mode
Signed-off-by: Hu Kejun <william.hu@rock-chips.com>
Change-Id: I7964c6cab499fd8ea914f37451155261e9f2a4a0
2020-07-06 19:00:16 +08:00
Huang zhibao
9cd8ab456d ARM: dts: rockchip: rv11xx-ai-cam: enable otp
Signed-off-by: Huang zhibao <hzb@rock-chips.com>
Change-Id: Iccc578c5e8b96c5d6dfb92187f8b4e206688b5fe
2020-07-06 15:26:47 +08:00
Jianqun Xu
8be258cb77 pinctrl: rockchip: add module informations
Change-Id: I03d844355d96408774b6a3c8458759e364db4491
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2020-07-03 18:52:31 +08:00
Cai YiWei
37842f49eb media: rockchip: isp and ispp version to v0.1.1
Change-Id: I3243d3db7216ee326028519732597ace26532823
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2020-07-03 18:51:52 +08:00
Zhichao Yu
dcc397ccec ARM: configs: disable useless cameras for rv1126-evb-ddr3-v10-tb.config
Signed-off-by: Zhichao Yu <zhichao.yu@rock-chips.com>
Change-Id: I84380d9850643137a864b3632b7df94b8c11fc6c
2020-07-03 18:07:25 +08:00
Elaine Zhang
2047231d24 soc: rockchip: power-domain: support qos init
init qos once when pd is initialized.
e.g:
	&qos_vop {
		priority-init = <0x202>;
		mode-init = <0x1>;
		bandwidth-init = <0x281>;
		saturation-init = <0x41>;
		extcontrol-init = <0x1>;
	};

Change-Id: I2ff600e97e772f209dd29400cd1fde2edb66dd2b
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
2020-07-03 17:55:55 +08:00
Nickey Yang
42aa4ad17c ARM: dts: rv1109: add rv1109 38 v10 spi nand board support
rv1109-38-v10-spi-nand is a spi nand,rmii gmac phy,os04a10 board.

Signed-off-by: Nickey Yang <nickey.yang@rock-chips.com>
Change-Id: Ie4d3de1f87aee1d630152de95b43714234d32932
2020-07-03 16:50:19 +08:00
Nickey Yang
1a68cf804a ARM: dts: rockchip: rv11xx-ipc: enable cpu tsadc and npu tsadc
Signed-off-by: Nickey Yang <nickey.yang@rock-chips.com>
Change-Id: I3e84dd8eb88cf06cbfe8f082c824ce5ab82865d1
2020-07-03 16:46:33 +08:00
Sandy Huang
8f6868e3f2 drm: Add DRM_CLIENT_CAP_SHARE_PLANES ioctl
this is only used to compatibility with old hwc code

Change-Id: Idcf2ca235d320656adf20d010dcd3a3940159c0d
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2020-07-03 10:32:23 +08:00
Sandy Huang
4400d60d25 Revert "drm: introduce share plane"
we use new method to implement vop win lite multi area support.

This reverts commit 8b19e980a6.

Change-Id: I2b5ac07ba38fdb416291635719d0634b7824268c
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2020-07-03 10:14:09 +08:00
Sandy Huang
bbcd956a03 arm64: dts: rockchip: rk3368-android: add vop multi area support
Change-Id: I9973f47823e938a15d286fe1a258725560595c73
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2020-07-03 10:14:09 +08:00
Sandy Huang
3549ca7efd arm64: dts: rockchip: px30-android: add vop multi area support
Change-Id: I89ebc27b6121354b51b17dbe412c09db9e166ffe
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2020-07-03 10:14:09 +08:00
Sandy Huang
86dc208e94 ARM: dts: rockchip: rk3288-android: add vop multi area support
Change-Id: I193bacb9a2f03beb8eb0e733dae8b3c34ca5e18f
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2020-07-03 10:14:08 +08:00
Sandy Huang
5d29b24bd5 arm64: dts: rockchip: rk3399-android: add vop multi area support
Change-Id: I02a08bcdda601aa434cc72c509fa2c85731d0ebd
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2020-07-03 10:14:08 +08:00
Sandy Huang
3063234724 drm/rockchip: add support win lite multi area
like rk3288/rk3399/px30 win lite, the hardware can support multi area,
we register them as normally plane to drm framwork, but they have some limitations:
one group a multi areas need use same zpos, they can't overlap, etc.
so we add SHARE_ID prop to identy them.

Change-Id: Ia814e6b0896f0e74a53193afe6642eff145da562
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2020-07-03 10:14:08 +08:00
Sandy Huang
d824c75d4b drm/rockchip: init subdev and registe to rockchip_drm_sub_dev_list
Change-Id: Iac3a7ab477abb987d4afd2fe39b5701c8046aae4
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2020-07-03 09:27:20 +08:00
Sandy Huang
4759d059b6 drm: remove connector and encoder port
Change-Id: Ie2bd25f133500b81d47ce6fb21ab7046fca8d9fa
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2020-07-03 09:24:29 +08:00
Sandy Huang
4d1bfde6c6 drm/bridge: synopsys: dw-hdmi: update for remove connector port
Change-Id: Ia0ca8c2fddf89f29bf4ac5703d8f4d0f68d6446a
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2020-07-03 09:23:30 +08:00
Sandy Huang
8b4333efc1 drm/bridge: analogix_dp: remove connector->port init
Change-Id: Iad8dbc8a016fa44aba7ce6eb43ecb1f2839a26ab
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2020-07-03 09:23:30 +08:00
Sandy Huang
efc84eaf70 drm/rockchip: remove connector and encoder port init
Change-Id: I6f4e79f37dfc8d59a69b1e35428adaf1d951a310
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2020-07-03 09:23:30 +08:00
Sandy Huang
74d0f7fc4b drm/rockchip: add rockchip_drm_sub_dev_list to record connector
use rockchip_drm_sub_dev_list to manage rockchip drm sub dev and record
connector, offer new method to find connector through the sub_dev_list.

Change-Id: If9508cf9ff51f6f9e1d13c42c60491f4aec4b9c1
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2020-07-03 09:23:30 +08:00
William Wu
cdd4d2410c usb: gadget: uvc: fix zero length packet xfer bug for uvc bulk
Refer to USB 2.0 spec, if a transfer with size divisible to EPs max
packet size and with req->zero field is set, which means that after
data is transfered it is also should be transfered a zero length packet
at the end.

For uvc bulk in transfer, it only sets the req->zero flag to enable
sent the zero length packet to USB Host if the video->payload_size
equal to video->max_payload_size. However, this condition is not
enough, because if the image size is more than the max_payload_size,
the image will be split to several transaction, and if the payload_size
at the last transaction is less than then max_payload_size, it will
not enable the zero length packet xfer.

This patch sets the req->zero flag if the whole image has been
transferred.

Change-Id: I9a62a8b1df0e44b4291b6add664357d148c19d1f
Signed-off-by: William Wu <william.wu@rock-chips.com>
2020-07-02 18:50:31 +08:00
Jianqun Xu
bb21ab49d6 media: rockchip: isp: assign memory for device early
The sub devices of rkisp will allocate memory from rkisp before the
reserved memory been assigned to rkisp, and will alloc from default
continuous cma memory region instead.

The current system may never do free these memory, so the issue when
to free these memory can not happen.

Fix free issue by moving the assign memory earlier.

Also return error if failed to assign reserved memory since driver
has no iommu.

Change-Id: I4bd3437e5536bda827c6ca71d630a993fcce2d8d
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2020-07-02 17:11:01 +08:00
Jianqun Xu
01575157a7 ARM: dts: rv1126-pinctrl.dtsi update nodes by newest grf.rxbb
Change-Id: Ibe188cbf861e4aba72a569729db0e37d5103c0f5
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2020-07-02 16:38:27 +08:00