Commit Graph

192 Commits

Author SHA1 Message Date
Sandy Huang
5babaa7e5f drm/rockchip: vop: add support rk1808 vop
rk1808 have vop lite and vop raw:
1. vop lite: support win1 for display, vop->dsi tx->dphy->lcd.
2. vop raw: transfer data from ddr to csi tx.

Change-Id: I11229b5e61e66e72e4228e7e0ac966f1f85cb49f
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2018-08-15 17:38:03 +08:00
Wyon Bi
eafd8e2fb2 drm/rockchip: rgb: Add support for RK1808
Change-Id: I60d99dea417b2708ffb2c784a0d26313e7d20fdb
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2018-08-15 17:35:48 +08:00
Wyon Bi
9f63cec05b drm/rockchip: rgb: Fix pinctrl handling
Change-Id: I473f51993b97b3f597d906044d4d61e1af2cf5a7
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2018-08-02 18:57:49 +08:00
Sandy Huang
d5890d5ff4 dt-bindings: display: rockchip: add document for px30 vop
Add the compatible values for the px30 display controllers.

Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Acked-by: Rob Herring <robh@kernel.org>
[added commit message]
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Link: https://patchwork.freedesktop.org/patch/msgid/1530003215-46593-2-git-send-email-hjc@rock-chips.com
2018-08-02 12:23:14 +02:00
Algea Cao
7690fe3886 drm/rockchip: tve: Get tve preferred mode from dts
Change-Id: I597328fd9a02ffd774d452497ae378c9d8204a21
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
2018-05-02 14:19:32 +08:00
Wyon Bi
2ad329307f drm/rockchip: lvds: clean up pinctrl handling on px30
Change-Id: I2388110526b7e6e6a9839dfee1cbcb866c93dd27
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2018-03-22 11:13:52 +08:00
Wyon Bi
9b9fea95bf drm/rockchip: rgb: Add support for PX30
Change-Id: I56f8edccdc1bca477c81c44a3bcaa7287c7dd7ba
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2018-03-22 11:13:52 +08:00
Sandy Huang
637d06bb3e drm/rockchip: rgb: add support rk3308 rgb
add support for rgb panel or rgb covert to other interface panel.

Change-Id: I190ce6e08d38f794ecabb863e0def5e74890f75a
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2018-03-09 17:48:58 +08:00
Sandy Huang
b0c948421f drm/rockchip: vop: add support rk3308
rk3308 vop support win0 and win1:
win0: yuv/rgb and scale;
win1: rgb

Change-Id: Ie95128187f92047794c47273923d231da0ab9e93
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2018-03-09 17:48:03 +08:00
Sandy Huang
23d7592936 drm/rockchip: rk3288 vop: identify vop lit and vop big
most of rk3288 vop lit is same with vop big, but some feature is
different, just like max output resolution.

vop big max output: 3840*2160
vop lit max ougput: 2560*1600

Change-Id: Ie926ed29c9d23159ccf3dd5c3e885e48a21731cb
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2018-03-01 16:04:28 +08:00
Chris Zhong
5db520e36b Documentation: bindings: add dt documentation for cdn DP controller
This patch adds a binding that describes the cdn DP controller for
rk3399.

Signed-off-by: Chris Zhong <zyw@rock-chips.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
[document the missing 3 reset-names]
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Link: https://patchwork.freedesktop.org/patch/msgid/20180213143549.15197-1-enric.balletbo@collabora.com
2018-02-14 10:05:55 +01:00
Wyon Bi
e9e837490f drm/rockchip: lvds: remove unused code
Change-Id: I88eedd97d926017a350f76085b5d4292caa6d0e4
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2018-01-30 20:59:35 +08:00
Wyon Bi
35cd525521 drm/rockchip: lvds: Add support for PX30
Change-Id: I353e76f1afdac02edd2ec78b5d107d6431c4a7d8
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2018-01-24 15:27:44 +08:00
Shunqing Chen
9ff817b7ab drm/rockchip: inno_hdmi: add support for rk618
Change-Id: Ic4fcfbc9adec378c67666455e45ae581e3a46ecd
Signed-off-by: Shunqing Chen <csq@rock-chips.com>
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2018-01-12 15:03:05 +08:00
Wyon Bi
714abae67e drm/rockchip: rk618: vif: Convert to drm_bridge
Change-Id: I124bfabf7fe67854f55aef5fec0cad00cd5e2eac
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2018-01-11 16:52:00 +08:00
Wyon Bi
faa3764d61 drm/rockchip: dsi: Add support for PX30
Change-Id: Ib7e43456d8456b1db74880710b88bdf7da4639e8
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2018-01-11 16:44:58 +08:00
Sandy Huang
a7ef991a1f dt-bindings: rockchip: drm: Document for px30 lvds
Change-Id: I7a06e71b4faef90675a6c2e512e8fa6242e2b809
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2018-01-03 10:56:22 +08:00
Sandy Huang
a49729409e drm/rockchip: vop: add support px30
PX30 have two vop(vopb and vopl), the vopb have win0, win1 and win2,
the vopl have win1.

win0: support yuv and scale;
win1: support rgbx and afbdc format(vopb only);
win2: support rgbx and four region;

Change-Id: Ibb0ec88bb6c0a5e031d21432a86734fc9267fd1d
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2018-01-02 11:49:59 +08:00
xuhuicong
4f379e1892 drm/rockchip: inno_hdmi: add rk3128 hdmi support
Change-Id: I929880020f4a72e61d21b7af4d73a98da337b10b
Signed-off-by: Huicong Xu <xhc@rock-chips.com>
2017-12-26 15:37:38 +08:00
Wyon Bi
6d51582d57 drm/rockchip: add support for rk618
RK618 provides a complete set of display interface to support
very flexible applications as follows:
- 2 RGB display input interface with double data rate
- 1 LVDS display output interface with double channels
- 1 MIPI display output interface with 4 data lanes
- 1 HDMI display output interface
- 1 RGB display output interface shared with LVDS
- 1 RGB display output interface shared with RGB display input interface

VIF is used to LCDC SDR/DDR timing reconstruction.

SCALER is a synchronous parallel RGB frame converter for different
resolution. It is used to realize dual display function from
one display source. It can be used like VIF for LCDC SDR timing
reconstruction only.

DITHER is used for converting 24bit RGB888 to 18bit RGB666 with FRC
dither down.

Change-Id: I5b25e64c283bd84f85d7d7686bee6d940df44910
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2017-12-21 10:32:02 +08:00
Sandy Huang
5926466f54 dt-bindings: add document for rk3126-vop
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Acked-by: Rob Herring <robh@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/1510658855-90223-1-git-send-email-hjc@rock-chips.com
2017-11-16 14:19:29 +08:00
Sandy Huang
e683aea575 FROMLIST: devicetree/bindings: display: Add document for rockchip RGB output
This path add support rv1108 rgb output interface driver.

(am from https://patchwork.kernel.org/patch/10035983/)

Change-Id: I571520b131688afd4591740c035c49e61ec03d52
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
2017-11-08 14:20:30 +08:00
Mark Yao
de862e8bbc drm/rockchip: vop: add rk3066 vop support
Change-Id: Icdb826c3f7b9e5dc36fd27dfa6bc401c026057ec
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
2017-11-08 10:29:09 +08:00
Wyon Bi
2a21a01636 drm/rockchip: dsi: add control of h2p bridge clock for rk3128
Change-Id: I16671a884d3d91b8f2e8cb0b11ba7ad0c0504df6
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2017-10-23 10:46:36 +08:00
Caesar Wang
6b8580eca3 drm/rockchip: inno_hdmi: support the aclk_vio clock for rk3036
The aclk_vio is the vio noc, the HDMI accessed the register need this clock
enabled first.

Change-Id: Ib3073b73020e46c7d31b09225dd2bd39a289a4cc
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
2017-10-20 16:32:46 +08:00
Wyon Bi
76d1216b2c drm/rockchip: dsi: add support for rk3128
Change-Id: Idc36a7f847a5e23568dc629c3ea70dfd5adea4e6
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2017-10-19 14:29:46 +08:00
Dave Airlie
29baa82aa5 Merge tag 'drm-misc-next-2017-09-20' of git://anongit.freedesktop.org/git/drm-misc into drm-next
UAPI Changes:

Cross-subsystem Changes:

Core Changes:
- DP SDP defines (Ville)
- polish for scdc helpers (Thierry Reding)
- fix lifetimes for connector/plane state across crtc changes (Maarten
  Lankhorst).
- sparse fixes (Ville+Thierry)
- make legacy kms ioctls all interruptible (Maarten)
- push edid override into the edid helpers (out of probe helpers)
  (Jani)
- DP ESI defines for link status (DK)

Driver Changes:
- drm-panel is now in drm-misc!
- minor panel-simple cleanups/refactoring by various folks
- drm_bridge_add cleanup (Inki Dae)
- constify a few i2c_device_id structs (Arvind Yadav)
- More patches from Noralf's fb/gem helper cleanup
- bridge/synopsis: reset fix (Philippe Cornu)
- fix tracepoint include handling in drivers (Thierry)
- rockchip: lvds support (Sandy Huang)
- move sun4i into drm-misc fold (Maxime Ripard)
- sun4i: refactor driver load + support TCON backend/layer muxing
  (Chen-Yu Tsai)
- pl111: support more pl11x variants (Linus Walleij)
- bridge/adv7511: robustify probing/edid handling (Lars-Petersen
  Clausen)

New hw support:
- S6E63J0X03 panel (Hoegeun Kwon)
- OTM8009A panel (Philippe CORNU)
- Seiko 43WVF1G panel (Marco Franchi)
- tve200 driver (Linus Walleij)

Plus assorted of tiny patches all over, including our first outreachy
patches from applicants for the winter round!

* tag 'drm-misc-next-2017-09-20' of git://anongit.freedesktop.org/git/drm-misc: (101 commits)
  drm: add backwards compatibility support for drm_kms_helper.edid_firmware
  drm: handle override and firmware EDID at drm_do_get_edid() level
  drm/dp: DPCD register defines for link status within ESI field
  drm/rockchip: Replace dev_* with DRM_DEV_*
  drm/tinydrm: Drop driver registered message
  drm/gem-fb-helper: Use debug message on gem lookup failure
  drm/imx: Use drm_gem_fb_create() and drm_gem_fb_prepare_fb()
  drm/bridge: adv7511: Constify HDMI CODEC platform data
  drm/bridge: adv7511: Enable connector polling when no interrupt is specified
  drm/bridge: adv7511: Remove private copy of the EDID
  drm/bridge: adv7511: Properly update EDID when no EDID was found
  drm/crtc: Convert setcrtc ioctl locking to interruptible.
  drm/atomic: Convert pageflip ioctl locking to interruptible.
  drm/legacy: Convert setplane ioctl locking to interruptible.
  drm/legacy: Convert cursor ioctl locking to interruptible.
  drm/atomic: Convert atomic ioctl locking to interruptible.
  drm/atomic: Prepare drm_modeset_lock infrastructure for interruptible waiting, v2.
  drm/tve200: Clean up panel bridging
  drm/doc: Update todo.rst
  drm/dp/mst: Sideband message transaction to power up/down nodes
  ...
2017-09-28 05:46:15 +10:00
Wyon Bi
11e801adcc drm/rockchip: dsi: properly check return value of some functions
Fixes: d6dfcd07b7 ("drm/rockchip: dw-mipi-dsi: analyze the platform parameters in the probe function")
Change-Id: Iecf9532f52a1b27ea063556701f840329881a2e2
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2017-09-26 15:59:22 +08:00
Sandy Huang
a5e03a48b2 dt-bindings: display: Add Document for Rockchip Soc LVDS
This patch add Document for Rockchip Soc RK3288 LVDS,
This based on the patches from Mark yao and Heiko Stuebner.

Signed-off-by: Mark yao <mark.yao@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Reviewed-by: Mark Yao <mark.yao@rock-chips.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/1504351729-135932-1-git-send-email-hjc@rock-chips.com
2017-09-08 14:54:35 +08:00
Linus Torvalds
74fee4e88f Merge tag 'devicetree-for-4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux
Pull DeviceTree updates from Rob Herring:
 "There's a few orphans in the conversion to %pOF printf specifiers
  included here that no one else picked up.

  Summary:

   - Convert more DT code to use of_property_read_* API.

   - Improve DT overlay support when adding multiple overlays

   - Convert printk's to %pOF format specifiers. Most went via subsystem
     trees, but picked up the remaining orphans

   - Correct unittests to use preferred "okay" for "status" property
     value

   - Add a KASLR seed property

   - Vendor prefixes for Mellanox, Theobroma System, Adaptrum, Moxa

   - Fix modalias buffer handling

   - Clean-up of include paths for building dtbs

   - Add bindings for amc6821, isl1208, tsl2x7x, srf02, and srf10
     devices

   - Add nvmem bindings for MediaTek MT7623 and MT7622 SoC

   - Add compatible string for Allwinner H5 Mali-450 GPU

   - Fix links to old OpenFirmware docs with new mirror on
     devicetree.org

   - Remove status property from binding doc examples"

* tag 'devicetree-for-4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (45 commits)
  devicetree: Adjust status "ok" -> "okay" under drivers/of/
  dt-bindings: Remove "status" from examples
  dt-bindings: pinctrl: sh-pfc: Use generic node name
  dt-bindings: Add vendor Mellanox
  dt-binding: net/phy: fix interrupts description
  virt: Convert to using %pOF instead of full_name
  macintosh: Convert to using %pOF instead of full_name
  ide: pmac: Convert to using %pOF instead of full_name
  microblaze: Convert to using %pOF instead of full_name
  dt-bindings: usb: musb: Grammar s/the/to/, s/is/are/
  of: Use PLATFORM_DEVID_NONE definition
  of/device: Fix of_device_get_modalias() buffer handling
  of/device: Prevent buffer overflow in of_device_modalias()
  dt-bindings: add amc6821, isl1208 trivial bindings
  dt-bindings: add vendor prefix for Theobroma Systems
  of: search scripts/dtc/include-prefixes path for both CPP and DTC
  of: remove arch/$(SRCARCH)/boot/dts from include search path for CPP
  of: remove drivers/of/testcase-data from include search path for CPP
  of: return of_get_cpu_node from of_cpu_device_node_get if CPUs are not registered
  iio: srf08: add device tree binding for srf02 and srf10
  ...
2017-09-07 14:43:33 -07:00
Rob Herring
4da722ca19 dt-bindings: Remove "status" from examples
Pretty much any node can have a status property, so it doesn't need to
be in examples.

Converted with the following command and removed examples with SoC and
board specific splits:

git grep -l -E 'status.*=.*' Documentation/devicetree/ | xargs sed -i -E '/\sstatus.*=.*"(disabled|ok|okay)/d'

Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Rob Herring <robh@kernel.org>
2017-09-05 10:03:06 -05:00
Sandy Huang
3f46fa6cdf drm/rockchip: lvds: add support rk3126 lvds
Change-Id: I30a3fe5a084d58c1427e9d5923170739f762a8ad
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2017-08-30 14:25:19 +08:00
Sandy Huang
935a7949ef drm/rockchip: vop: add rk3126 vop support
Change-Id: I6ffd9b151387e0cb5c913500098ebb7cf69153a5
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2017-08-29 10:21:41 +08:00
Mark Yao
03d6a385ab dt-bindings: rockchip: drm: add secure memory region
Change-Id: Ibbfae144d5b79972ffa913801c7054c8af4bcd41
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
2017-08-09 16:38:06 +08:00
Sandy Huang
69b4bbba55 drm/rockchip: lvds: add pinctrl for rk3288 rgb output
Change-Id: I4c483eb269d021860fe4249a3d25bcfb6c4f3f5f
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2017-08-09 16:12:47 +08:00
Jacob Chen
4fd28eafda dt-bindings: Document the Rockchip RGA bindings
Add DT bindings documentation for Rockchip RGA

Change-Id: Ie53383728c30a1245cd26a097622d3a564db7aa2
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
2017-08-04 15:39:19 +08:00
Jerry Xu
e483b75c51 drm/rockchip: dsi: Documentation: modify the dsi node
1. rename mipi_dsi to dsi0
2. add some properties, such as dual-channel
3. add dsi1 node

Change-Id: I623d31e26ce21f28036a0f665f3e69d8d60b199b
Signed-off-by: Jerry Xu <xbl@rock-chips.com>
2017-08-02 10:29:29 +08:00
Mark yao
b218dec7bb dt-bindings: display: rockchip: fill Documents for vop series
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Acked-by: Rob Herring <robh@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/1501049975-6185-1-git-send-email-mark.yao@rock-chips.com
2017-07-31 08:44:15 +08:00
WeiYong Bi
9d268a4e2b drm/rockchip: dsi: Clearly distinguish between SNPS PHY and Non-SNPS PHY
Change-Id: Ia947050f444eac75e951ddc8cd7e0b4453673094
Signed-off-by: WeiYong Bi <bivvy.bi@rock-chips.com>
2017-07-28 09:25:35 +08:00
Mark Yao
c2e4d4e9ca drm/rockchip: vop: add rk3366 vop lit support
Change-Id: Iaf869f0fbf7b703dff3c38e9df4b8570d9260bd4
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
2017-07-26 16:04:06 +08:00
Mark Yao
9589a39989 drm/rockchip: support backlight device
Change-Id: Ib793b0dec8fe62027ca8e3085089d2e431b59eb5
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
2017-07-21 12:52:08 +08:00
WeiYong Bi
925e706521 drm/rockchip: hdmi: Add support for rk3366
Change-Id: I086533ed5c94110f913ab88f4760d452beaf12d1
Signed-off-by: WeiYong Bi <bivvy.bi@rock-chips.com>
2017-07-20 14:38:47 +08:00
WeiYong Bi
d86682da2c drm/rockchip: lvds: Add support for rk3366
Change-Id: Iaf54c4667042b0b24a9083cb7ca931c1b0603804
Signed-off-by: WeiYong Bi <bivvy.bi@rock-chips.com>
2017-07-19 14:33:58 +08:00
WeiYong Bi
8e803e4c34 drm/rockchip: dsi: Add support for rk3366
Change-Id: I9edfea9652d8c56065590ea01480b49f1c432145
Signed-off-by: WeiYong Bi <bivvy.bi@rock-chips.com>
2017-07-13 09:50:30 +08:00
Mark Yao
db449c6bf5 dt-bindings: rockchip: vop: introduce registers names
Change-Id: I0df821f2582b26e26cfe3059db19a90b206df5c5
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
2017-07-12 16:04:23 +08:00
Mark Yao
8814b40bf6 drm/rockchip: dw_hdmi: introduce the pclk for grf
For RK3399's GRF module, if we want to operate the graphic related grf
registers, we need to enable the pclk_vio_grf which supply power for VIO
GRF IOs, so it's better to introduce an optional grf clock in driver.

Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Acked-by: Rob Herring <robh@kernel.org>
2017-06-23 08:52:03 +08:00
Mark Yao
5e3bc6d1ab drm/rockchip: dw_hdmi: introduce the VPLL clock setting
For RK3399 HDMI, there is an external clock need for HDMI PHY,
and it should keep the same clock rate with VOP DCLK.

VPLL have supported the clock for HDMI PHY, but there is no
clock divider bewteen VPLL and HDMI PHY. So we need to set the
VPLL rate manually in HDMI driver.

Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Acked-by: Rob Herring <robh@kernel.org>
2017-06-23 08:52:03 +08:00
Mark Yao
6445e394c5 drm/rockchip: dw_hdmi: add RK3399 HDMI support
RK3399 and RK3288 shared the same HDMI IP controller, only some light
difference with GRF configure.

Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Acked-by: Rob Herring <robh@kernel.org>
2017-06-23 08:52:03 +08:00
algea.cao
ce0eedfcb2 drm/rockchip: support rk3328 linux drm cvbs
This adds support for Rockchip CVBS found on rk3328 Linux.
The CVBS driver is based on the DRM framework.
NTSC(720x480i60hz) and PAL(720x576i50hz) modes are supported.
it's worth noting that rk3328 CVBS dclk is base on hdmi clk,so hdmi
should be enabled.

Change-Id: I059808111bfa96724eb629b6fc37915a4852e234
Signed-off-by: algea.cao <algea.cao@rock-chips.com>
2017-06-22 21:18:47 +08:00
WeiYong Bi
04f5926137 drm/rockchip: hdmi: Add support for rk3228
RK3228 uses the Synopsys DWC HDMI TX controller and the INNO HDMI PHY to
enabling the integration of a complete HDMI Transmmiter interface.

Change-Id: I90f997968fb2de4165a31216c8aee8213089eab5
Signed-off-by: WeiYong Bi <bivvy.bi@rock-chips.com>
2017-06-20 10:33:38 +08:00