Commit Graph

615166 Commits

Author SHA1 Message Date
Wyon Bi
85495f2245 ARM: dts: rockchip: rk3288-android: enable video phy node
Change-Id: Ifc95e3a9191229c8a5d8b95db9706aa8837b9663
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2019-01-07 15:29:29 +08:00
Wyon Bi
09f511332a ARM: dts: rockchip: rk3288: Add support for video phy
Change-Id: I07d0c74278cb60338251e5ea8bae421858b71c8e
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2019-01-07 15:29:29 +08:00
Wyon Bi
497e97cf7e ARM: dts: rockchip: clean up display nodes for rk3288 boards
Change-Id: I6f954dd48fb5674db03477941ed0481bf2e698ab
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2019-01-07 15:29:29 +08:00
Wyon Bi
e884748723 drm/rockchip: rgb: add support for rk3288
Change-Id: Ic1e3fe80cc649f39e09a707d8ead889b6c047384
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2019-01-07 15:29:29 +08:00
Wyon Bi
3e7f3dd468 dt-bindings: display: rockchip: rgb: add support for rk3288
Change-Id: I6018ef786191c1e82a6a8181c9b4e026a4da0b7a
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2019-01-07 15:29:29 +08:00
Wyon Bi
e81b7ecd1e ARM: rockchip_defconfig: enable CONFIG_PHY_ROCKCHIP_INNO_VIDEO_PHY
Change-Id: I919a667c6958e51053a1f3af1be741c5ab053c56
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2019-01-07 15:29:29 +08:00
Wyon Bi
c80c769157 phy/rockchip: Add support for INNOSILICON LVDS/TTL PHY
Innosilicon LVDS/TTL PHY implements LVDS TIA/EIA protocol.
Normally, Innosilicon LVDS/TTL PHY contains four 7-bit
parallel-load serial-out shift registers, a 7X clock PLL,
and five Low-Voltage Differential Signaling (LVDS) line drivers
in a single integrated circuit. These functions allow 28 bits
of single-ended LVTTL data to be synchronously transmitted over
five balanced-pair conductors for receipt by a compatible receiver.

In addition, Innosilicon LVDS/TTL PHY could extend from 4 lanes
to N lanes (N is required by the customer). Therefore, the TTL
lines extend respectively.

Change-Id: Ib48537c49dec919e2ed5bc6347217fe83be07371
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2019-01-07 15:29:29 +08:00
Wyon Bi
c2a21bac28 dt-bindings: phy: Document INNOSILICON LVDS/TTL video PHY bindings
Change-Id: I022306b4fe4c283b5196582b1af95c70954656ad
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2019-01-07 15:29:29 +08:00
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