Commit Graph

863275 Commits

Author SHA1 Message Date
Wu Liangqing
b25c12a00a scripts: add io-domain.sh for rk356x io-domain check
Change-Id: Iac84a3236835fcc4dc686a579ef2930343885690
Signed-off-by: Wu Liangqing <wlq@rock-chips.com>
2021-05-26 09:47:22 +08:00
Wu Liangqing
e18c51f465 arm64: dts: rockchip: io-domian all default set 3.3V for rk356x boards
io-domian  default as:
&pmu_io_domains {
     status = "okay";
     pmuio1-supply = <&vcc3v3_pmu>;
     pmuio2-supply = <&vcc3v3_pmu>;
     vccio1-supply = <&vccio_acodec>;
     vccio3-supply = <&vccio_sd>;
     vccio4-supply = <&vcc_3v3>;
     vccio5-supply = <&vcc_3v3>;
     vccio6-supply = <&vcc_3v3>;
     vccio7-supply = <&vcc_3v3>;
};
TODO:
Need to be modified according to the actual hardware
for example rk3568-evb:
&pmu_io_domains {
     status = "okay";
     pmuio1-supply = <&vcc3v3_pmu>;
     pmuio2-supply = <&vcc3v3_pmu>;
     vccio1-supply = <&vccio_acodec>;
     vccio3-supply = <&vccio_sd>;
     vccio4-supply = <&vcc_1v8>;
     vccio5-supply = <&vcc_3v3>;
     vccio6-supply = <&vcc_1v8>;
     vccio7-supply = <&vcc_3v3>;
};

Signed-off-by: Wu Liangqing <wlq@rock-chips.com>
Change-Id: I296a696851c2a85618d08cce82da546c72266699
2021-05-26 09:47:01 +08:00
XiaoDong Huang
c20865f332 firmware: rockchip_sip: don't update fiq_target_cpu in sip_fiq_debugger_uart_irq_tf_init
To fix problem in redmine #297983, make some rules about fiq_target_cpu:
The default value of fiq_target_cpu is zero and
can only be updated in sip_fiq_debugger_switch_cpu
or sip_fiq_debugger_enable_fiq.

View redmine#297983 for details.

Change-Id: I947a73c3ffc0c818a611e108a343f05b8465645b
Signed-off-by: XiaoDong Huang <derrick.huang@rock-chips.com>
2021-05-25 15:16:57 +08:00
Yifeng Zhao
feea10898f arm64: dts: rockchip: change naneng combphy ref clock to 100mhz for rk3568
When using 24MHz reference clock, some devices can't identify
the SATA PM chip, And the signal quality is not as good as 100MHz.
so change the reference clock to 100MHz.

Signed-off-by: Yifeng Zhao <yifeng.zhao@rock-chips.com>
Change-Id: If7d951a0b77d503f9faf1c1f88c78a9e07471e47
2021-05-25 14:27:24 +08:00
Yiqing Zeng
b9305c6dac media: i2c: os02g10 fix set flip/mirror failed bug and fix wrong vts_def
Signed-off-by: Yiqing Zeng <zack.zeng@rock-chips.com>
Change-Id: Ie143b7311798eb328f665772caeaaf49f412b8f3
2021-05-25 11:37:28 +08:00
Zorro Liu
10f466ce6b drm/rockchip: ebc_dev: release version v1.13
EPD_A2 mode use part update to save panel power cost

Signed-off-by: Zorro Liu <lyx@rock-chips.com>
Change-Id: I65181c3ef51034b9302532f9f1276ebd2724d0ee
2021-05-25 11:35:04 +08:00
Zhenke Fan
696b4dffd4 media: i2c: ov4688: add 16x dgain, ratio = dgain/2048
Signed-off-by: Zhenke Fan <fanzy.fan@rock-chips.com>
Change-Id: Ib6b61843e0577b265f03fb0b7846573218f62046
2021-05-25 10:35:45 +08:00
Zefa Chen
d2acc3d9d9 media: i2c: imx258 support capture spd data and embedded data
usage:
csi has 4 available channels, generally id0->vc0, id1->vc1, id2->vc2, id3->vc3.
A channel can only takes one data type. When you need to collect spd data or embedded data,
you can use an idle channel and change its vc to be consistent with active data.

dts configuration:
imx258: imx258@10 {
	rockchip,spd-id = <3>;//use id3 to capture spd data
	rockchip,ebd-id = <2>;//use id2 to capture embedded data
};

Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I89a0f9472bbe475c9da368b09eaad0cd00fc69c6
2021-05-25 10:31:35 +08:00
William Wu
11bd07bda6 phy: rockchip: inno-usb2: increase hs eye height for otg port
Test on RK3568S EVB1, the otg device data eye test fail with
far end template when use 1.2 meter long cable. So tuning
the hs eye height from 400mv(default) to 437.5mv. And we
test on RK3568 EVB1, it can also benefit from this patch.

Signed-off-by: William Wu <william.wu@rock-chips.com>
Change-Id: Ie2342aba5546990838fdd6faf27a007a8843fd0d
2021-05-23 16:06:35 +08:00
Huang zhibao
f96dfe0687 arm64: dts: rockchip: rk3566-box: update io_domain
Signed-off-by: Huang zhibao <hzb@rock-chips.com>
Change-Id: I70335dd9075bafd852e78f4a99a8942f0afd0856
2021-05-21 18:05:12 +08:00
Huang zhibao
e6f173f86b arm64: dts: rockchip: rk3566-box: disable ddr auto-freq-en
Signed-off-by: Huang zhibao <hzb@rock-chips.com>
Change-Id: I9fdd665184c4ee60cd4dc4c7e5857f496f1970f2
2021-05-21 15:25:05 +08:00
Shawn Lin
d43b47a114 PCI: rockchip: dw: Reset device before enabling power
To more precisely follow the spec, we should make sure
refclk is available and stable for device only after
stable training. In previous way, if the refclk is provided
by external chip, enabling power means refclk is ready before
anything, and then we reset the device to hope the chip back
to the initial state. But we find some devices are not really
meant to do that, that being said, the spec is vague here so
we can't make any promise from the vendor that #PERST will take
everything back.

Move resetting device before enabling power to restrictly follow
the spec, no matter whether #PERST is work or not, we just rely
on the power control.

Fixes: c84a4aa411 ("PCI: rockchip: dw: Move deassert #PERST after enabling LTSSM")
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Change-Id: Ie1f4aa1a3fb7b6de813512bf4b2c025328e0c17f
2021-05-21 15:24:22 +08:00
Yiqing Zeng
9f7ed9a3df media: i2c: support sc035hgs sensor driver
Signed-off-by: Yiqing Zeng <zack.zeng@rock-chips.com>
Change-Id: Ic614e98bed0cf8610166666ae820f3fc2e51af26
2021-05-21 15:17:15 +08:00
Yiqing Zeng
375fb5e3a0 media: i2c: support sc8220 sensor driver
Signed-off-by: Yiqing Zeng <zack.zeng@rock-chips.com>
Change-Id: I14135e074bc35fa6d9438997d3750b5271777099
2021-05-21 15:15:05 +08:00
Yiqing Zeng
06c60e3d95 media: i2c: support sc2335 sensor driver
Signed-off-by: Yiqing Zeng <zack.zeng@rock-chips.com>
Change-Id: I5a54b7b2aa1fdcc7e4ce781375f77a459ec9e2ae
2021-05-21 15:00:42 +08:00
Cai YiWei
19757da2a2 media: rockchip: isp: separate rdbk from csi subdev
Change-Id: I8c5f42c7d5526634e49b2934fb28026702de17c9
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2021-05-21 09:44:18 +08:00
Cai YiWei
e1c77d9fa5 media: rockchip: isp: dmatx support embedded and shield pixels data
Change-Id: Ifb07d7a7b11d44a5843dfe3a66284e38b98fbbb6
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2021-05-21 09:44:18 +08:00
Cai YiWei
c6306a5510 media: v4l: add embedded data and shield pix data format
Change-Id: I59105c445ec5d94e5ae865bab7768ce5c6de2ec6
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2021-05-20 18:19:06 +08:00
Cai YiWei
df0ed076f0 media: uapi: Add EBD and SPD media bus format
MEDIA_BUS_FMT_EBD_1X8: embedded data
MEDIA_BUS_FMT_SPD_2X8: shield pixels data

Change-Id: I5224dd860058f0d5d78a9038c53de9c9e048cb8f
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2021-05-20 18:19:06 +08:00
Ding Wei
ff2f479da9 video: rockchip: mpp: Optimize kref_get within mem_regions
tips:
1. If fd has imported, then just copy mem_regiony struct.
2. Task is the unit for running, and mem_region is the
   internal element of task.
3. In mem_regions, it can only kref_get once with the same fd,
   instead of all fds which the same fd.

Change-Id: I7236803a5a263d6e79256036caf580b5ac2c35e9
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
2021-05-20 18:17:54 +08:00
Caesar Wang
bcd00049f4 arm64: dts: rockchip: disable afbc by default on rk3568-linux.dtsi
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Change-Id: I1dbf50e9056242991afae4df3303c739065dfb6b
2021-05-20 14:57:41 +08:00
Andy Yan
f58aa54a27 drm/rockchip: vop2: Add option to disable afbc window
Change-Id: I115a1671c0bf3a6e7af541a376fbdafa33bbb439
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
2021-05-20 14:56:18 +08:00
Algea Cao
9b9760675b drm/bridge: synopsys: dw-hdmi: Fix cec timeout when resume
Unmute cec irq when resume

Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: Ic3d83ab7721fcf525d64ac08c970af3e51ecee88
2021-05-20 11:38:39 +08:00
Wang Panzhenzhuan
7488e22d23 dt-bindings: media: i2c: Document add hi846
Signed-off-by: Wang Panzhenzhuan <randy.wang@rock-chips.com>
Change-Id: I94f48ed9d931a30d08f4af6d5c8ee203a4afbdf8
2021-05-20 11:38:07 +08:00
Wang Panzhenzhuan
d1b3204f5e media: i2c: add camera driver hynix hi846
Signed-off-by: Wang Panzhenzhuan <randy.wang@rock-chips.com>
Change-Id: I405dbd6c509cb7c3424d1f0fa6cfa355adb5a4d9
2021-05-20 11:31:28 +08:00
Wang Panzhenzhuan
4be5174ea2 dt-bindings: media: i2c: Document add hi556
Signed-off-by: Wang Panzhenzhuan <randy.wang@rock-chips.com>
Change-Id: Ib5406d9a690f27e70d0df37429c18b8ad488c7c7
2021-05-20 11:29:26 +08:00
Wang Panzhenzhuan
c81aa1af42 media: i2c: add camera driver hynix hi556
Signed-off-by: Wang Panzhenzhuan <randy.wang@rock-chips.com>
Change-Id: If069f3e11074eb7635754c47b39a7b8ca3434219
2021-05-20 11:28:36 +08:00
Elaine Zhang
5dc8c4a1bf FROMLIST: clk: rockchip: fix rk3568 cpll clk gate bits
The cpll clk gate bits had an ordering issue. This led to the loss of
the boot sdmmc controller when the gmac was shut down with:
`ip link set eth0 down`
as the cpll_100m was shut off instead of the cpll_62p5.
cpll_62p5, cpll_50m, cpll_25m were all off by one with cpll_100m
misplaced.

Fixes: e9ac850b88 ("clk: rockchip: add clock controller for rk3568")

Signed-off-by: Peter Geis <pgwipeout@gmail.com>
Link: https://patchwork.kernel.org/project/linux-clk/patch/20210519174149.3691335-1-pgwipeout@gmail.com/
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: I012bdbdc44c4e8de1b42a00c2a9bffb7bd66faef
2021-05-20 10:02:52 +08:00
Wyon Bi
94be4db841 drm/bridge: analogix_dp: Add optional LCD panel self test
Many TCON devices include an embedded LCD panel self-test mode.
This mode is designed to help system integrators identify
the root cause of abnormal display operation, without the use of
complicated debug tools.

Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I19770c7488d43e2486c5fde5cc0a5b345e5be0eb
2021-05-19 14:52:57 +08:00
Zorro Liu
4634dc6901 arm64: dts: rockchip: rk3566-eink: add more ddr freq and disabled
default

Signed-off-by: Zorro Liu <lyx@rock-chips.com>
Change-Id: If8e2d053c9d07fb539e53c72f5705cdfe74cf600
2021-05-19 14:16:27 +08:00
Yiqing Zeng
fd53503a0d media: i2c: support imx178 lvds sensor driver
Signed-off-by: Yiqing Zeng <zack.zeng@rock-chips.com>
Change-Id: I61372000e615fd3fbdaa506b9a9fd3382c01ee34
2021-05-19 14:15:23 +08:00
Sugar Zhang
22e9ac1b12 ASoC: rockchip: i2s-tdm: Fix potential deadlock
CPU0                    CPU1
     ----                    ----
lock(&(&i2s_tdm->lock)->rlock);
                             local_irq_disable();
                             lock(&(&substream->self_group.lock)->rlock);
                             lock(&(&i2s_tdm->lock)->rlock);
<Interrupt>
  lock(&(&substream->self_group.lock)->rlock);

Change-Id: I80cc2d0bc9df7e31ff23d0e5d04618ba57fd70df
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2021-05-18 22:29:14 +08:00
Ding Wei
d5b88a864f video: rockchip: mpp: remove ktime_get within a task processing
reason: mem_regions are within a task, and the differ time between
mem_region can be ignore. Thus, it can be remove when attach task fds.

Change-Id: I5986d2dca6eff41d6c6a8fa3f037e183b102e63c
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
2021-05-18 09:30:23 +08:00
Xing Zheng
cb3d52c998 dt-bindings: sound: es8311: add the optional property 'delay-pa-drv-ms'
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Change-Id: Iaaeafdccc7ce67f59e2cba95cad979cd15d24f7d
2021-05-18 09:30:06 +08:00
Xing Zheng
4ecdbad17d ASoC: es8311: add support 'delay-pa-drv-ms' property
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Change-Id: I3a7827fec9815ee407106d43d364e9c33975cb97
2021-05-18 09:30:06 +08:00
Zorro Liu
10d832d91c drm/rockchip: ebc_dev: release version v1.12
1.add debug ioctl
2.EPD_A2 mode no need to do part count

Signed-off-by: Zorro Liu <lyx@rock-chips.com>
Change-Id: I6ddfbc5683743759cb2f7be96265df06d3db7de9
2021-05-18 09:14:09 +08:00
Ding Wei
ff19001f1b video: rockchip: mpp: rkvdec2: rcb_info move to session->priv
if rcb_info not change, then the infos will not ioctl from userspace.
thus, it needs to restore infos in session.

Change-Id: I4ff3b5bcc22b033b1d7549866af7c253bf46945c
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
2021-05-17 16:40:08 +08:00
Jianqun Xu
25e9738a2b staging: android: ion: support force sync for partial sync
Change-Id: Icfe94628e524d99a36ffc49894266a9fc237e986
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2021-05-17 16:24:28 +08:00
Yu Qiaowei
0804113fa3 video/rockchip: rga2: support Y400 input.
By making the Y channel and the UV channel's access address equal,
the function of RGA input grayscale image is realized, without
need to allocate extra UV channel memory.

Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: I0110ec6935c7233905e724be3df9f4fba9ef8cf0
2021-05-17 16:21:39 +08:00
Alex Zhao
dccc696cc9 net: rockchip_wlan: rtl8821cs: disable CONFIG_ERROR_STATE_MONITOR
Signed-off-by: Alex Zhao <zzc@rock-chips.com>
Change-Id: Id9afa007304fe9a6be379e6393da66fdeda48fd0
2021-05-17 16:13:21 +08:00
Andy Yan
495049b0b7 drm/rockchip: vop2: check win_mask for each plane on crtc
win_mask is more safe than plane_mask on crtc_state,
because crtc_state may changed by many interface.

Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Change-Id: I886c8e1e1c0505e46292721de05d9be7c167d956
2021-05-17 16:05:51 +08:00
William Wu
3b9546b824 usb: gadget: f_uac1: fix ep address for get sample rate
The f_uac1 use ep address 0x81 and 0x01 to get sample rate,
so it can only support uac1 ep1-in and ep1-out to get playback
and capture sample rate, it has limitation for USB composite
device (e.g. RNDIS & UAC1). This patch use in_ep->address and
out_ep->address instead of the fixed addresses.

Signed-off-by: William Wu <william.wu@rock-chips.com>
Change-Id: Ia1a454d9738324605c00c4889b3fe187fdfcdb7d
2021-05-14 14:43:43 +08:00
William Wu
adc4b01322 usb: gadget: f_uvc: not handle alt 0 for bulk streaming intf
Because alt settings in an interface are supported only
for ISOC endpoints, so do not handle alt 0 for bulk
streaming interface.

Change-Id: Iadcf6c058023d5a3d6caa353cd783752f84a77a9
Signed-off-by: William Wu <william.wu@rock-chips.com>
2021-05-14 14:36:55 +08:00
Caesar Wang
96764dff33 arm64: dts: rockchip: remove the duplicate pmu_io_domains on rk3399-evb-ind.dtsi
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Change-Id: Id42f1e425a6015ac11851decd3a36d80b23b30e5
2021-05-14 14:27:25 +08:00
Ding Wei
b39c718938 arm64: dts: rockchip: rk3328: add normal and advanced rates for rkvdec
when pixels less then default-max-load, use normal-rates,
otherwise, use advanced-rates instead.

Change-Id: Ie2d58c05a2e8d2f5e5f9d932b3e51024b48b91d2
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
2021-05-13 18:15:14 +08:00
William Wu
573d2e1e2e usb: gadget: f_uac1: finalize wMaxPacketSize according to bandwidth
According to USB Audio Device 1.0 Spec, Ch4.6.1.1:
The wMaxPacketSize of endpoint is defined as follows:
Maximum packet size of endpoint is capable of sending
or receiving when this configuration is selected. This
is determined by the audio bandwidth constraints of
the endpoint.

In current code, the wMaxPacketSize is limited to 200,
and the bInterval is set to 4 (1ms). That is, the maximum
bandwidth over USB bus is 200 * 1000 = 200000 bytes.

We find an issue about bandwidth limitation when we try to
support UAC1 with 8ch * 16bit * 16KHz on RK3308 platform,
which needs more bandwidth than it can support.

This patch sets the wMaxPacketSize dynamically according
to the parameters of UAC1. It is similar to the same thing
done earlier for f_uac2.

Change-Id: I9af3fd7665a80b5eb0cfb5dc91ebe2c20df1dd46
Signed-off-by: William Wu <william.wu@rock-chips.com>
2021-05-13 18:12:51 +08:00
Cai YiWei
3a54d14600 media: rockchip: ispp: fix page fault due to config reg during working
Change-Id: Ie5e23fc0e79a946b692278fc28b4a7794fe1a5f4
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2021-05-13 18:12:37 +08:00
Sandy Huang
0071ffb064 drm/rockchip: vop2: fix calculation error
fix calculation error and add double check done bit

Change-Id: I23852ff0c6cca0efef2eb52257d499bb99dbe009
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2021-05-13 16:24:22 +08:00
Ruslan Bilovol
d0f1327e76 UPSTREAM: usb: gadget: f_uac2: always increase endpoint max_packet_size by one audio slot
As per UAC2 Audio Data Formats spec (2.3.1.1 USB Packets),
if the sampling rate is a constant, the allowable variation
of number of audio slots per virtual frame is +/- 1 audio slot.

It means that endpoint should be able to accept/send +1 audio
slot.

Previous endpoint max_packet_size calculation code
was adding sometimes +1 audio slot due to DIV_ROUND_UP
behaviour which was rounding up to closest integer.
However this doesn't work if the numbers are divisible.

It had no any impact with Linux hosts which ignore
this issue, but in case of more strict Windows it
caused rejected enumeration

Thus always add +1 audio slot to endpoint's max packet size

Change-Id: I3bef24e77d5d9dfc11438da24664192753e2cac4
Fixes: 913e4a90b6 ("usb: gadget: f_uac2: finalize wMaxPacketSize according to bandwidth")
Cc: Peter Chen <peter.chen@freescale.com>
Cc: <stable@vger.kernel.org> #v4.3+
Signed-off-by: Ruslan Bilovol <ruslan.bilovol@gmail.com>
Link: https://lore.kernel.org/r/1614599375-8803-2-git-send-email-ruslan.bilovol@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: William Wu <william.wu@rock-chips.com>
(cherry picked from commit 789ea77310)
2021-05-12 17:00:14 +08:00
Sandy Huang
1a81ee3e2d drm/rockchip: gem: add flag ROCKCHIP_BO_ALLOC_KMAP to assign kmap
RGA need to access CMA buffer at kernel space, so add this flag to keep kernel
line mapping for RGA.

Change-Id: Ia59acee3c904a495792229a80c42f74ae34200e3
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2021-05-12 14:40:53 +08:00