Commit Graph

615158 Commits

Author SHA1 Message Date
Shunqian Zheng
a22801bdf9 arm64: defconfig: enable pvtm config for px30
Enable pvtm and nvmem_otp for px30.

Change-Id: I9b79429bdefb80a6ce672142c88cc4ca234fe83e
Signed-off-by: Shunqian Zheng <zhengsq@rock-chips.com>
2019-01-07 15:10:23 +08:00
Lin Huang
c0cc9bafe4 FROMLIST: drm/rockchip: cnd-dp: adjust spdif register setting
We use jitter bypass mode for spdif, so do not need to set jitter mode
related bit in SPDIF_CTRL_ADDR register. Also, we need to enable
SPDIF_ENABLE bit.

(am from https://patchwork.kernel.org/patch/10417647/)
Change-Id: Ieab2803435d8747ebc3890edaf9682dca9e3a3f3
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
Signed-off-by: Lin Huang <hl@rock-chips.com>
2019-01-07 12:50:21 +08:00
Shengfei Xu
34eb464a24 arm64: dts: rockchip: fix iomux function of the gpio0_a4 for rk1808-evb
The rk809 sleep pin connect to rk1808 gpio0_a4.
The reserved function of the gpio0_a4 caused rk809 reset.

Change-Id: Iee36da1f67831b7e58076a614929cfac6675a99d
Signed-off-by: Shengfei Xu <xsf@rock-chips.com>
2019-01-07 11:29:43 +08:00
William Wu
8a5c4862c4 Revert "HACK: usb: devio: add delay to fix ss bulk transfer issue"
This reverts commit f26098251d.

Change-Id: Ieda0de52a8852f5efb991a1f71a882c8855c662b
Signed-off-by: William Wu <william.wu@rock-chips.com>
2019-01-04 20:57:03 +08:00
William Wu
fdc8aea2c0 arm64: dts: rockchip: add xhci trb ent quirk for rockchip SoCs
This patch adds "snps,xhci-trb-ent-quirk" for DWC3 controllers
in RK1808/RK3328/RK3399/RK3399pro-npu.

Change-Id: I708f62747150316d66459f02b399d7c9b2667636
Signed-off-by: William Wu <william.wu@rock-chips.com>
2019-01-04 20:57:03 +08:00
William Wu
302fae181d usb: dwc3: add a new xhci trb ent quirk for xHCI
On some xHCI controllers (e.g. Rockchip RK3399/RK3328/RK1808),
which are integrated in DWC3 IP, need to enable the Evaluate
Next TRB(ENT) flag in the TRB data structure to force xHC to
pre-fetch the next TRB of a TD. It's useful for the stability
of xHCI when transfer large data.

I have verify this patch on the following three cases:

Case 1:
On RK3399/RK3399Pro platforms, I found that when USB 3.0
read/write at the same time in the following test case,
it may easily fail without this patch.

Host transfer: 1024B, 4MB, 4MB, 4MB
Device transfer: 1024B, 4MB, 4MB, 4MB

Both Host and Device transfer "24B, 4MB, 4MB, 4M" Repeatedly
until transfer fail.

Case 2:
On RK3399 platform, Type-C1 USB 3.0 port connects with HUB
and Orbbec USB 3.0 Camera with the enumeration information:

usb 5-1: new high-speed USB device number 2 using xhci-hcd
usb 5-1: New USB device found, idVendor=05e3, idProduct=0610
usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 5-1: Product: USB2.1 Hub
usb 5-1: Manufacturer: GenesysLogic
hub 5-1:1.0: USB hub found
hub 5-1:1.0: 2 ports detected
usb 6-1: new SuperSpeed USB device number 2 using xhci-hcd
usb 6-1: New USB device found, idVendor=05e3, idProduct=0620
usb 6-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 6-1: Product: USB3.1 Hub
usb 6-1: Manufacturer: GenesysLogic
hub 6-1:1.0: USB hub found
hub 6-1:1.0: 2 ports detected
usb 5-1.2: new high-speed USB device number 3 using xhci-hcd
usb 5-1.2: New USB device found, idVendor=2bc5, idProduct=050d
usb 5-1.2: New USB device strings: Mfr=2, Product=1, SerialNumber=3
usb 5-1.2: Product: USB
usb 5-1.2: Manufacturer: USB
usb 5-1.2: SerialNumber: USB
uvcvideo: Found UVC 1.00 device USB (2bc5:050d)
usb 6-1.2: new SuperSpeed USB device number 3 using xhci-hcd
usb 6-1.2: New USB device found, idVendor=2bc5, idProduct=060d
usb 6-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 6-1.2: Product: Orbbec(R) Astra(TM)
usb 6-1.2: Manufacturer: Orbbec(R)

Without this patch, it's possible to fail to open the Orbbec USB 3.0
camera or fail to preview image.

Case3:
On RK3399Pro platform, transfer the NPU data between the NPU USB 3.0
device and RK3399 USB 3.0 host.

Change-Id: I87b1d8b8b6912d77b988362f2f6dcd7766da8b0e
Signed-off-by: William Wu <william.wu@rock-chips.com>
2019-01-04 20:57:03 +08:00
William Wu
c0bd48bb3e usb: xhci: set xhci trb ent quirk based on platform data
If an xhci platform needs to enable the ENT flag in the TRB
to force the xHC to pre-fetch the next TRB of a TD, then
add the XHCI_TRB_ENT_QUIRK flag.

Change-Id: Ib7cc095a848f0846ad995529ad703ae4e4ee4d44
Signed-off-by: William Wu <william.wu@rock-chips.com>
2019-01-04 20:57:03 +08:00
William Wu
18bd7e7c4d usb: xhci: set the trb max transfer length to 4KB
According to the "6.4 Transfer Request Block (TRB)" in xHCI
Specification, the max transfer length of a TRB is 64KB.
However, on Rockchip platforms which support xHCI in DWC3 IP
have problem if transfer more then 4KB in one TRB.

We don't know the root cause, maybe it's the DWC3 Tx/Rx FIFO
related, such as RK3399, it only support Tx FIFO 4136 Bytes
and Rx FIFO 3072 Bytes for SS Bus instance.

With the patch, it can make the xHCI transfer more stable on
Rockchip platforms, but it also cause transfer performance
loss. I test on RK3399 EVB Type-C USB 3.0 port with UAS USB 3.0
SSD, it cause 10% performance loss when use dd command to read/
write the UAS USB 3.0 SSD (350MBps -> 315MBps).

Change-Id: I11b10f6618d54d4cb0a778e5c0b4216227184e47
Signed-off-by: William Wu <william.wu@rock-chips.com>
2019-01-04 20:57:03 +08:00
Wyon Bi
a21125375e dt-bindings: phy: phy-rockchip-inno-mipi-dphy: Remove support for rk3128
Change-Id: I3b09d88daa5864a9343a730f5f5ef850d0f168f6
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2019-01-04 20:42:53 +08:00
Wyon Bi
ec3e26f716 phy/rockchip: mipi-dphy: Remove support for rk3128
Change-Id: Ib4cc4e1f25e37a40bc975a796bd92c92ce56a89a
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2019-01-04 20:42:53 +08:00
Wyon Bi
7b0aa89214 ARM: dts: rockchip: rk3126-bnd-m88-emmc: Update display nodes
Change-Id: Ib465fea01ba83df0b8c6f9d4b39c3de6cae671fe
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2019-01-04 20:42:53 +08:00
Wyon Bi
6985ae269c ARM: dts: rockchip: rk3126-evb: Update display nodes
Change-Id: Iba1dd8143d28c2e9a27f7ef7b826562f60f6667e
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2019-01-04 20:42:53 +08:00
Wyon Bi
9ec34b4f6c ARM: dts: rockchip: rk312x-android: enable video phy
Change-Id: I52f8fc367839ae9f4b26bc1aefde52f94fcea379
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2019-01-04 20:42:53 +08:00
Wyon Bi
51dd34c75b ARM: dts: rockchip: rk312x: Add support for video phy
Change-Id: I5f1ecd780a4bc8b1cf9cecf12b279bdfc102761e
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2019-01-04 20:42:53 +08:00
Wyon Bi
b5aaea950e ARM: dts: rockchip: Update and clean up display nodes for rk3126/rk3128/px3se boards
Change-Id: Ia9f5cf9db93e14e5539b2f0c91470c62b52a2b3d
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2019-01-04 20:42:53 +08:00
Wyon Bi
a11d7cbb6d drm/rockchip: lvds: clean up rk3126 phy code
Change-Id: Ie4b39acb18b2a99f4fa37eb283ad2dbe34cfa99f
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2019-01-04 20:42:53 +08:00
Wyon Bi
c0a4f82de1 ARM: rockchip_defconfig: enable CONFIG_ROCKCHIP_RGB
Change-Id: I0d6219c57bee9dd30eca228c4882c820117b428f
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2019-01-04 20:42:53 +08:00
Wyon Bi
9a3c18fbb8 ARM: rockchip_defconfig: enable CONFIG_PHY_ROCKCHIP_INNO_VIDEO_COMBO_PHY
Change-Id: I06321bb4d6ea229bd8dae3f8314bd299c630e281
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2019-01-04 20:42:53 +08:00
Wyon Bi
0d4b66f493 drm/rockchip: rgb: Add support for rk3128
Change-Id: I567b3f559ea94842445c1ca703dc8a70f37a150c
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2019-01-04 20:42:53 +08:00
Wyon Bi
445e6f3f2c dt-bindings: display: rockchip: rgb: add rk3128 compatible string
Change-Id: I600ff82678d8de1158071936704a8cff783730c7
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2019-01-04 20:42:53 +08:00
Wyon Bi
3dbac6ed7e arm64: dts: rockchip: px30-evb-ext-rk618: Update display nodes
Change-Id: I67abbc5206d2bd06beb3eb93223ce0f67ccdb20a
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2019-01-03 23:31:44 +08:00
Wyon Bi
9a17c25478 arm64: dts: rockchip: px30-z7-a0-rk618-dsi: Update display nodes
Change-Id: I525b47446abe480c14175f6ea43226d298f71648
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2019-01-03 20:41:56 +08:00
Wyon Bi
68d1bdc962 arm64: dts: rockchip: px30-ad-r35-mb: Move common nodes into dtsi
Change-Id: I4b8332cdc51f9dc0033da1c2318defd968c2578c
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2019-01-03 20:38:45 +08:00
Wyon Bi
8ff4ca1aa0 arm64: dts: rockchip: Add support for rk3326 W7 board
Change-Id: I7b6ceadebc1be803e2ea2e8c6d39be79071adf73
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2019-01-03 20:25:18 +08:00
Wyon Bi
c57f0bbc87 drm/rockchip/rk618: rgb: Add dithering support for RGB666 LCD panels
Change-Id: I359cb841b14ba56d68d42e5bf2f40dae05ff9f62
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2019-01-03 19:11:42 +08:00
Wyon Bi
7b2a7b73e4 drm/bridge: Add support for Chipone ICN6211
ICN6211 is a bridge chip which receives MIPI-DSI inputs and
sends RGB outputs.

MIPI-DSI supports up to 4 lanes and each lane operates at
1Gbps maximum; the totally maximum input bandwidth is 4Gbps;
and the MIPI defined ULPS(ultra-low-power state) is also supported.
ICN6211 decodes MIPI-DSI 16bpp RGB565 and 18bpp RGB666 and
24bpp RGB888 packets.

The RGB output 18 or 24 bits pixel with pixel clock range of
2MHz to 154MHz.

ICN6211 support video resolution up to FHD (1920x1080) and
WUXGA(1920x1200).

Change-Id: I85cc0dbc8e628b9b1a09371df1d92975202c5c10
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2019-01-03 19:11:42 +08:00
Wyon Bi
4d076eca04 dt-bindings: display: bridge: Document Chipone ICN6211 MIPI-DSI to RGB bridge bindings
Change-Id: I2e4cac28a704416858ae8ef3e4b57d48aec84d65
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2019-01-03 19:11:42 +08:00
Cai YiWei
b25f7aefe0 media: i2c: tc35874x: support interlace output
Change-Id: I62025a9fcea726791aeed8a5e993e74f2e748d1c
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2019-01-03 19:04:50 +08:00
Cai YiWei
70f89eed1a media: rockchip: isp1: selfpath support interlace input
Change-Id: I4a69abac4cc2627e6899e4f49123e8f875524487
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2019-01-03 19:04:50 +08:00
Cai YiWei
c955146087 media: rockchip: isp1: isp v12/v13 add raw stream
stream raw support sensor bayer raw to
mipi to dmatx to ddr.

Change-Id: Ide24b6e9b2e5d95a6627cf046979ad62eeb9dea9
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2019-01-03 19:04:50 +08:00
Algea Cao
725bdaa024 drm: bridge: dw-hdmi: Check whether hdmi is initialized when hdmi suspend or resume
Hdmi suspend or resume may be called before hdmi initialization. We must
verify that hdmi is initialized first.

Change-Id: I2a680209e64b9c1aebc2d9ee19d543927137afd0
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
2019-01-03 18:06:52 +08:00
Wyon Bi
90988f0da1 dt-bindings: phy: phy-rockchip-inno-mipi-dphy: Remove support for rk3366
Change-Id: I149c86dd06bfbacdad7c168ffac7707e3ca78e75
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2019-01-03 17:32:50 +08:00
Wyon Bi
f4ec2e722a phy/rockchip: mipi-dphy: Remove support for rk3366
Change-Id: Ic7674fa599282672fa56234a24c7087ffa3585e0
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2019-01-03 17:32:29 +08:00
Wyon Bi
b3eb6dcb73 dt-bindings: display: rockchip: lvds: Remove support for rk3366
Change-Id: I72c4d335315315d666806eea4eab70d9d7d5a183
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2019-01-03 17:32:23 +08:00
Wyon Bi
e2413679c9 drm/rockchip: lvds: Remove support for rk3366
Change-Id: I7e118d86eb219740b2a817501c322cd39ae5bf03
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2019-01-03 17:32:18 +08:00
Wyon Bi
15a2dc7adf arm64: dts: rockchip: rk3368-sziauto-rk618: Update and clean up display nodes
Change-Id: I7eb05bf38d7020b79a510df0cb7fdf59f917f9fd
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2019-01-03 17:25:49 +08:00
Wyon Bi
16105c43b2 arm64: dts: rockchip: rk3368-r88: Update display nodes
Change-Id: I7e0ee1f516de330002229fb95a84ba8192f9f04a
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2019-01-03 17:22:53 +08:00
Wyon Bi
d40a05c1a8 arm64: dts: rockchip: rk3368-android: enable video phy node
Change-Id: I33f85b81c3290cd2d735d91c10120804ec6c59b4
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2019-01-03 17:22:53 +08:00
Wyon Bi
b40321ad74 arm64: dts: rockchip: rk3368: Add support for video phy
Change-Id: I89d4d9d01ee896bd5ad2f142c266f1da3e99ba20
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2019-01-03 17:22:53 +08:00
Wyon Bi
d7450831a2 arm64: dts: rockchip: Update and clean up display nodes for rk3368 boards
Change-Id: Ibe4e76bfe5d96517810bb28154076c453528777b
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2019-01-03 17:22:53 +08:00
Wyon Bi
2ece7c824f dt-bindings: phy: phy-rockchip-inno-mipi-dphy: Remove support for rk3368
Change-Id: I72b4017625c41b15b15d34123f2acdd60a1d7650
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2019-01-03 17:22:53 +08:00
Wyon Bi
f9fcd7f37a phy/rockchip: mipi-dphy: Remove support for rk3368
Change-Id: If624a4b4ea6ac6d5d3264eafced54251a1bdc124
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2019-01-03 17:22:53 +08:00
Wyon Bi
3ff2d490f2 drm/rockchip: lvds: clean up rk3368 phy code
Change-Id: Icfcbd554146c0104bf0c156cbdec4d29ef007106
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2019-01-03 17:22:53 +08:00
Finley Xiao
6c0edd8c06 arm64: dts: rockchip: rk3308: Fix rockchip,pvtm-temp-prop
Change-Id: Iadb4b2b27a46dd869efc7d8add9098ebb4716def
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2019-01-03 16:44:42 +08:00
Wyon Bi
bf96f69970 drm/rockchip: rgb: Add support for rk3368
Change-Id: I1987b4df5128006f0a0162eedc1a98d7002c00cf
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2019-01-03 10:36:05 +08:00
Wyon Bi
0ffced2e17 dt-bindings: display: rockchip: rgb: add rk3368 compatible string
Change-Id: I105319043f8d67943aa0d8ac70cadc5441065e2f
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2019-01-03 10:35:54 +08:00
Wyon Bi
496b550894 phy/rockchip: inno-video-combo-phy: Only reverse sample clock direction in lvds mode
Change-Id: Ieff673dcf8d0459127d9ebe0f4c65818590b28ea
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2019-01-03 08:40:18 +08:00
Sean Young
06311511c2 UPSTREAM: kfifo: DECLARE_KIFO_PTR(fifo, u64) does not work on arm 32 bit
If you try to store u64 in a kfifo (or a struct with u64 members),
then the buf member of __STRUCT_KFIFO_PTR will cause 4 bytes
padding due to alignment (note that struct __kfifo is 20 bytes
on 32 bit).

That in turn causes the __is_kfifo_ptr() to fail, which is caught
by kfifo_alloc(), which now returns EINVAL.

So, ensure that __is_kfifo_ptr() compares to the right structure.

Change-Id: I7b5c8415a6bb8f54bbc8ec50fa98e1803cda3ce8
Signed-off-by: Sean Young <sean@mess.org>
Acked-by: Stefani Seibold <stefani@seibold.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
(cherry picked from commit 8a866fee39)
Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com>
2019-01-02 19:16:19 +08:00
Randy Li
7feaeeb9ff iommu/rockchip: assign driver iommu ops to domain
It would help the other driver to install the DMA ops for
itself.

Change-Id: I4c7283bbd8889650684630e169696133fdc6801a
Signed-off-by: Randy Li <randy.li@rock-chips.com>
2019-01-02 18:53:02 +08:00
Liang Chen
fad451203d MALI: bifrost_for_linux: optimize opp-table for rockchip SoCs
Change-Id: I33e029a58880c3a54f36e9c5d7d94ce2394404b7
Signed-off-by: Liang Chen <cl@rock-chips.com>
2019-01-02 18:52:27 +08:00