Commit Graph

600631 Commits

Author SHA1 Message Date
Yakir Yang
172e5e89c3 CHROMIUM: drm: bridge/dw_hdmi: assign CD field to zero
When the color depth is 24 bits per pixel video, the CD
field in General Control Packet should be "Color Depth
not indicated", then the colordepth in register vp_pr_cd
& csc_scale should assign to zero.

Signed-off-by: Yakir Yang <ykk@rock-chips.com>

BUG=chrome-os-partner:38212
TEST=speedy board, Test with Agilent Technologies U4002A
     HDMI Protocal Analyzer

Change-Id: Ifd5767d339fdbff11e234ec0891c8f3df1dd66a5
Reviewed-on: https://chromium-review.googlesource.com/261850
Reviewed-by: Daniel Kurtz <djkurtz@chromium.org>
Tested-by: Yakir Yang <ykk@rock-chips.com>
Commit-Queue: Yakir Yang <ykk@rock-chips.com>
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
2017-04-05 15:06:12 +08:00
Hao Xiaowei
df2235a1b1 arm64: dts: rockchip: Modify rockchip_suspend config for rk3399-mid
Change-Id: I0db8c1ab12cc1e76e0e5730b65dffb4f203e5c37
Signed-off-by: Hao Xiaowei <hxw@rock-chips.com>
2017-04-05 14:07:45 +08:00
Zhangbin Tong
a735c0386b arm: dts: rockchip: add mpu6050 to rk3288-evb-act8846
The evaluation board using the mpu6050 as the sensor, which
combine a 3-axis gyroscope and a 3-axis accelerometer

Change-Id: Ia41d2c038e38de3cb6d24d81d4b018670935d39a
Signed-off-by: Zhangbin Tong <zebulun.tong@rock-chips.com>
2017-04-05 10:53:41 +08:00
Xu Jianqun
fc5c742fb2 arm: configs: rockchip_defconfig select CONFIG_RTC_DRV_HYM8563
Change-Id: I0510946469bd10a7ec2f3439505e7b3b7851f4b7
Signed-off-by: Xu Jianqun <jay.xu@rock-chips.com>
2017-04-01 18:47:29 +08:00
Randy Li
600e11061e ARM: dts: rockchip: enable 1000Mbps of rk3288
Because of the bad quality of EVB board, its phy will
fail at the GMAC mode. While I have verified the ASUS
tinker, it doesn't have such problem.

Change-Id: I3306b918363dff513e279762482f1ce1eaa30df8
Signed-off-by: Randy Li <randy.li@rock-chips.com>
2017-04-01 18:42:50 +08:00
Jianqun Xu
7f0e5b3d27 arm: dts: rk3288-android: add psci v1.0 support
Add psci v1.0 support to rk3288, support it to call into
secure world through psci APIs.

Change-Id: I1dc98fbdcc544a2bf0ec09544e946756757d2d80
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2017-04-01 18:27:19 +08:00
Mark Yao
b52e568407 drm/rockchip: fix some loader logo bugs
fix some bugs:
  1, If all connector failed to display, loader logo can't free.
  2, if first route failed to display, loder logo free unexpect,
     cause iommu crash.

Change-Id: I838c9fd6768a5ac48d8ce4175038b4620a95cd42
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
2017-04-01 18:26:31 +08:00
Mark Yao
285e2a5602 drm/rockchip: dw-mipi: add power protect for loader logo
Change-Id: I3bdd70d357324c8f526122dcab1bc44fe0ae0ff2
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
2017-04-01 18:25:28 +08:00
Mark Yao
b238376cc9 drm/rockchip: don't restore to fbdev when display kernel logo
Change-Id: Ie0f53364c51924feb589fa2e8550ef5b423bb4cd
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
2017-04-01 18:25:06 +08:00
Mark Yao
e792823fba drm/rockchip: vop: rk3328: fix overlay abnormal
It's a hardware bug, all window's overlay channel reset
value is same, hardware overlay would be die.

so we must initial difference id for each overlay channel.

Change-Id: Ic0b744b2789a5aff2f6605199e7670cac1ea7214
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
2017-04-01 18:14:13 +08:00
Mark Yao
85fc90289a drm/rockchip: vop: correct rk3328 vop windows
Rk3328 only have three windows, it's mistake add four windows.

Change-Id: I2a9495c6be407d12dbc9033f44a4cd6b2f54ff1a
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
2017-04-01 18:12:52 +08:00
Mark Yao
e0881ef2dc drm/rockchip: protect connector status with loader protect
In order to keep display not flash, we cheat all connectors status
as power on, but actually the connector's driver think it's off.

So when power off connector, we need correct connector's status first.

Change-Id: I9fa09d184197c71220d33666564876fc3b1212a7
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
2017-04-01 18:12:12 +08:00
xuhuicong
eaef6c723f Revert "drm/rockchip: fixup display reference count"
fix display abnormal when enable uboot logo display

This reverts commit 6db46c9e7e.

Change-Id: I85b60c1b90bef939427bcbb795f7dcca490cec46
Signed-off-by: xuhuicong <xhc@rock-chips.com>
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
2017-04-01 18:09:38 +08:00
Jianqun Xu
5ec72176cc arm: dts: rk3288-android: use non-secure dmac
Use non-secure dmac instead of secure one.

Change-Id: I28605b1047177e4710ef417fc36631ff8d76295a
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2017-04-01 18:00:27 +08:00
Jianqun Xu
f73494dbd1 arm: dts: rk3288-android: disable rockchip timer
Disable rockchip timer for rk3288 core dts file.

Change-Id: I684dacb78da8a40e37b9aff15eb456995c02f807
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2017-04-01 17:57:17 +08:00
Jianqun Xu
2e731ec279 arm: dts: rk3288-android: fix rga to rockchip,rga2
Fix compatible of rga to "rockchip,rga2", and modify the clock names
to work fine with current driver.

Change-Id: Idfdae4f3bc2218472261546024b331c33bd3c270
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2017-04-01 17:57:17 +08:00
Jacob Chen
dcfa807652 drm: bridge: analogix/dp: Fix the dead lock when disable bridge
dead lock :
IN --> drm_fb_helper_restore_fbdev_mode_unlocked
        1. Acquire mode_config lock
IN --> atomic commit
IN --> rockchip_atomic_commit_complete
IN --> drm_atomic_helper_commit_modeset_disables
IN --> bridge disable
IN --> analogix_dp_irq_thread
IN --> drm_helper_hpd_irq_event
	3. Acquire mode_config lock (have been acquired)

[  363.054554] INFO: task irq/54-analogix:174 blocked for more than 120 seconds.
[  363.054612]       Not tainted 4.4.55 #31
[  363.054631] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[  363.054651] irq/54-analogix D ffffff8008084f98     0   174      2 0x00000000
[  363.054691] Call trace:
[  363.054726] [<ffffff8008084f98>] __switch_to+0xb4/0xc0
[  363.054759] [<ffffff8008b21308>] __schedule+0x3f0/0x670
[  363.054785] [<ffffff8008b2160c>] schedule+0x84/0xa4
[  363.054813] [<ffffff8008b21954>] schedule_preempt_disabled+0x20/0x38
[  363.054842] [<ffffff8008b23084>] __mutex_lock_slowpath+0xfc/0x178
[  363.054869] [<ffffff8008b2312c>] mutex_lock+0x2c/0x44
[  363.054897] [<ffffff800844419c>] drm_helper_hpd_irq_event+0x34/0x154
[  363.054929] [<ffffff800848e578>] analogix_dp_irq_thread+0x30/0x58
[  363.054957] [<ffffff80080eb198>] irq_thread_fn+0x28/0x68
[  363.054991] [<ffffff80080eb3ac>] irq_thread+0x10c/0x1ec
[  363.055016] [<ffffff80080b7e58>] kthread+0xe8/0xf0
[  363.055042] [<ffffff8008082690>] ret_from_fork+0x10/0x40
[  363.055097] INFO: task surfaceflinger:240 blocked for more than 120 seconds.
[  363.055119]       Not tainted 4.4.55 #31
[  363.055136] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[  363.055155] surfaceflinger  D ffffff8008084f98     0   240      1 0x00000009
[  363.055191] Call trace:
[  363.055214] [<ffffff8008084f98>] __switch_to+0xb4/0xc0
[  363.055241] [<ffffff8008b21308>] __schedule+0x3f0/0x670
[  363.055268] [<ffffff8008b2160c>] schedule+0x84/0xa4
[  363.055292] [<ffffff80080ea61c>] synchronize_irq+0x64/0x98
[  363.055316] [<ffffff80080eb9d8>] disable_irq+0x20/0x2c
[  363.055344] [<ffffff800848e224>] analogix_dp_bridge_disable+0x70/0xa8
[  363.055370] [<ffffff800846fabc>] drm_bridge_disable+0x2c/0x38
[  363.055403] [<ffffff800844b930>] drm_atomic_helper_commit_modeset_disables+0x120/0x39c
[  363.055432] [<ffffff800847e018>] rockchip_atomic_commit_complete+0x30/0x14c
[  363.055459] [<ffffff800847e1b0>] rockchip_drm_atomic_commit+0x7c/0x9c
[  363.055484] [<ffffff800846e898>] drm_atomic_commit+0x64/0x70
[  363.055511] [<ffffff800844ae28>] drm_atomic_helper_connector_dpms+0xf4/0x154
[  363.055541] [<ffffff800846398c>] drm_mode_obj_set_property_ioctl+0x148/0x204
[  363.055575] [<ffffff8008463a88>] drm_mode_connector_property_set_ioctl+0x40/0x60
[  363.055602] [<ffffff80084541a8>] drm_ioctl+0x27c/0x400
[  363.055630] [<ffffff80081ba1d4>] do_vfs_ioctl+0x4d0/0x5c0
[  363.055655] [<ffffff80081ba324>] SyS_ioctl+0x60/0x88
[  363.055680] [<ffffff80080826f0>] el0_svc_naked+0x24/0x28

Change-Id: I6d5eeb83b9640a54b33b1cad03c2207196a56e16
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
2017-04-01 16:53:53 +08:00
Shawn Lin
221dbee30c arm64: dts: rockchip: fix sdmmc1_bus4 pinctrl for rk3328
Change-Id: I295022600b1834ca83029ae51634b90f241db432
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
2017-04-01 15:22:54 +08:00
Shawn Lin
51b1344f65 arm64: dts: rk3328-evb: add sdio and sdmmc support
Change-Id: Ic17d8aa5c2468685b7a5eb447b2578f410b0b47b
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
2017-04-01 15:21:16 +08:00
Hans Yang
260b61abd5 arm64: dts: rockchip: disable gmac support for rk3328-evb
Change-Id: I723bf633087713c3ebcfd92eb42e8c7005ecbe38
Signed-off-by: Hans Yang <yhx@rock-chips.com>
2017-04-01 15:20:22 +08:00
Xu Xuehui
e43d990499 arm64: dts add Rockchip RK3328 EVB board for wifi
Change-Id: Ia6588ebd31e34230ff137edc60cb7ffc433391e5
Signed-off-by: Xu Xuehui <xxh@rock-chips.com>
2017-04-01 15:19:34 +08:00
Jianqun Xu
a12f7d578b arm: dts: rockchip: rk3288 add android.dtsi
Change-Id: I180b59363766938ed17e10fa4c574b2613f59c9a
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2017-04-01 14:44:55 +08:00
algea.cao
18d3f3e7ce drm/bridge: dw_hdmi: set vdisplay for frame packing 3d mode
This patch is only applicable to 3d frame packing
of progressive mode.
According to HDMI Specification 1.4b 8.2.3.2,
vertical toatal line is x2 of 2D vertical toatal line
and pixel clock frequency is x2 of 2D pixel clock frequency.

vdisplay += vtotal
mpixelclock *= 2

Change-Id: I097c25cd1a930635e33f0a7bc86797ad1c7ed607
Signed-off-by: algea.cao <algea.cao@rock-chips.com>
2017-04-01 10:55:27 +08:00
algea.cao
7e5e16acbe drm/bridge: dw_hdmi: initialize hdmi i2c when system resume
Change-Id: Ie9373517e255c91ded38a4e620d15d5cfd0bd9c4
Signed-off-by: algea.cao <algea.cao@rock-chips.com>
2017-04-01 10:54:54 +08:00
xuhuicong
51e9780014 ARM64: dts: rk3399-box-rev2: enable hdmi uboot logo display
Change-Id: I90939866aafa8bac613d05528adfefcd6d88f711
Signed-off-by: xuhuicong <xhc@rock-chips.com>
2017-04-01 09:28:23 +08:00
xuhuicong
57eae3d8eb drm/rockchip: dw_hdmi: add power domain control
close pd when suspend, no when plug out because hotplug detect need it.

make hdmi probe before dp otherwise the shared power domain will be
close after dp probe and cause splash screen when starting kernel if
hdmi uboot logo display

Change-Id: I82ba1abdaf7567173df9ad900d57eca0e6be3932
Signed-off-by: xuhuicong <xhc@rock-chips.com>
2017-04-01 09:26:39 +08:00
Elaine Zhang
0f1294525b clk: rockchip: rk3399: Don't allow VPLL as aclk_cci clock source
vpll is just for dclk_vop.
Don't allow are other child under the VPLL.

Change-Id: I755348b4104b532c693c6874127a25721187a4ad
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
2017-04-01 09:24:31 +08:00
Rocky Hao
f19cbe449b thermal: rockchip: rk3368: fix efuse value of temp ajust code issue
bit 7 of efuse value of temp ajust code indecates positive or negtive.
if bit 7 is set, it indecats a negtive ajust code.

Change-Id: I2b604b6b5e566df08b871c817cf25541292575bc
Signed-off-by: Rocky Hao <rocky.hao@rock-chips.com>
2017-03-31 18:02:58 +08:00
Jung Zhao
fa9bd02d2f drivers: video: rockchip: vcodec_dma_map_sg maybe fail
switching front and rear camera, maybe cause memory exhausted.
in this case, vpu driver must print a warning.

Change-Id: I60f3bfb662f42025624988a5a09ce7f69b358ea6
Signed-off-by: Jung Zhao <jung.zhao@rock-chips.com>
2017-03-31 17:53:25 +08:00
Jung Zhao
f9efdd80e4 arm64: dts: rk3368-android: enable iep default
Change-Id: Ifcffd957c916b384c32915c4c23c1ad405e4e40e
Signed-off-by: Jung Zhao <jung.zhao@rock-chips.com>
2017-03-31 17:27:34 +08:00
Jung Zhao
5725588175 arm64: dts: rk3368: add iep device node
Change-Id: I1ce93563fdb65c74ddd6afc73a1a96ed9353cfa6
Signed-off-by: Jung Zhao <jung.zhao@rock-chips.com>
2017-03-31 17:25:57 +08:00
Jung Zhao
b69ce63817 arm64: dts: rk3399-android: enable iep default
Change-Id: Ic32c5d3f4332f5e0e548e4d0c75b8fd252ff10dc
Signed-off-by: Jung Zhao <jung.zhao@rock-chips.com>
2017-03-31 17:18:45 +08:00
Jung Zhao
c60102840e arm64: dts: rk3399-android-6.0: enable iep default
Change-Id: Icb886247d24b631c2064481b1d6840e82d60c63e
Signed-off-by: Jung Zhao <jung.zhao@rock-chips.com>
2017-03-31 17:17:59 +08:00
Jung Zhao
c7489b83f1 arm64: dts: rk3399: add iep device node
Change-Id: I725d4668fd5fa29f94055d8ce36b81bcd29c2d52
Signed-off-by: Jung Zhao <jung.zhao@rock-chips.com>
2017-03-31 17:15:44 +08:00
Jung Zhao
64f599af94 arm64: dts: rk3399-android-6.0: remove iep device node
Change-Id: I26bd7e659c929cba3d67ad623b09bfdad260b281
Signed-off-by: Jung Zhao <jung.zhao@rock-chips.com>
2017-03-31 17:14:20 +08:00
Jianqun Xu
301aee01ee arm64: dts: rockchip: rk3368 emmc add property 'mmc-hs200-1_8v'
Add property 'mmc-hs200-1_8v' for emmc, to support hs200, and
remove the unused property caps2-mmc-hs200.

Change-Id: I9040d004bf78987d5bed7e49ad891c47a47970a9
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2017-03-31 15:23:35 +08:00
Jung Zhao
adf6146890 video: rockchip: iep: add drm support
iep drm support is similar with vcodec drm support. change the allocator
part from ion to drm.

Change-Id: I67c7ac795b768c85e80817262a947a20e9804ec8
Signed-off-by: Jung Zhao <jung.zhao@rock-chips.com>
2017-03-31 15:22:39 +08:00
Mark Yao
e3656e494d video/rockchip: rga2: use axi safe reset
RGA2_SYS_CTRL bit[6] a safe reset, it would be ensure all
axi write/read operation into completion

Change-Id: I39a5a6a9f10883d355c428e9dbaa89778682c49b
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
2017-03-31 15:18:07 +08:00
Huang, Tao
8c7f8dfca2 rk: gcc-wrapper.py ignore memcontrol.c:5337
Change-Id: I3052d1659e45c7c2b36578abf3d52b97a32c8af3
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
2017-03-31 15:15:45 +08:00
Huang, Tao
77bab04357 Merge tag 'lsk-v4.4-17.03-android' of git://git.linaro.org/kernel/linux-linaro-stable.git
LSK 17.03 v4.4-android

* tag 'lsk-v4.4-17.03-android': (166 commits)
  Linux 4.4.55
  ext4: don't BUG when truncating encrypted inodes on the orphan list
  dm: flush queued bios when process blocks to avoid deadlock
  nfit, libnvdimm: fix interleave set cookie calculation
  s390/kdump: Use "LINUX" ELF note name instead of "CORE"
  KVM: s390: Fix guest migration for huge guests resulting in panic
  mvsas: fix misleading indentation
  serial: samsung: Continue to work if DMA request fails
  USB: serial: io_ti: fix information leak in completion handler
  USB: serial: io_ti: fix NULL-deref in interrupt callback
  USB: iowarrior: fix NULL-deref in write
  USB: iowarrior: fix NULL-deref at probe
  USB: serial: omninet: fix reference leaks at open
  USB: serial: safe_serial: fix information leak in completion handler
  usb: host: xhci-plat: Fix timeout on removal of hot pluggable xhci controllers
  usb: host: xhci-dbg: HCIVERSION should be a binary number
  usb: gadget: function: f_fs: pass companion descriptor along
  usb: dwc3: gadget: make Set Endpoint Configuration macros safe
  usb: gadget: dummy_hcd: clear usb_gadget region before registration
  powerpc: Emulation support for load/store instructions on LE
  ...

Change-Id: I4db95bbe5b2523e19ddf22b3f65863f7f6d46632
2017-03-31 11:43:47 +08:00
Jianqun Xu
1bc30438ca arm64: dts: rockchip: rk3368 emmc add property 'caps2-mmc-hs200'
Change-Id: I5735f2168de63abe2a00ef550495f6561bfde1cb
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2017-03-31 10:40:43 +08:00
Zheng Yang
52b44d8051 ARM64: dts: rk3399-android: set ddc scl clock rate to 50KHz
Change-Id: I2549164b5b8e0e255b87445082e173ae809ab49c
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
2017-03-31 10:21:25 +08:00
Zheng Yang
a0b524450b drm: bridge: dw-hdmi: set ddc scl clock rate according to dts
To set dw hdmi i2c bus adapter scl clock rate, we introduce two device
tree parameter, ddc-i2c-scl-high-time-ns and ddc-i2c-scl-low-time-ns.

ddc-i2c-scl-high-time-ns: how many ns SCL hold high
ddc-i2c-scl-low-time-ns: how many ns SCL hold low

After measurement, 50KHz scl clock rate recommended configuration is:

&hdmi {
	ddc-i2c-scl-high-time-ns = <9625>;
	ddc-i2c-scl-low-time-ns = <10000>;
};

100KHz recommended configuration is:
&hdmi {
        ddc-i2c-scl-high-time-ns = <4708>;
        ddc-i2c-scl-low-time-ns = <4916>;
};

If dts parameter is not available, the default scl rate is 100KHz.

Change-Id: I6f6b0bf1694ab59e70da789ead99e15a53c93e4d
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
2017-03-31 10:20:45 +08:00
Frank Wang
eee051ca31 usb: dwc_otg_310: add rk3288 usb otg support
This adds amend usb otg driver to support rk3328-evb board.

Change-Id: I152bedb64367ddf9c556e330b31c018f385c3fd7
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
2017-03-31 10:18:35 +08:00
Sugar Zhang
43021997f6 ARM64: dts: rk3328: add pdm node
Change-Id: Ib3ae44d970e889d512cb89a738b2dd633dbc9a7f
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2017-03-31 10:10:18 +08:00
Sugar Zhang
74bb3ab4ff ASoC: rockchip: add support for pdm controller
Change-Id: Id031c9a1b29fbf7b67d9feb7c8e20daabb0d32d9
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2017-03-31 10:09:12 +08:00
Mark Yao
f72e284b22 video/rockchip: rga2: retry 10 times when timeout
Change-Id: I06b55f282c73735e4a0a5fa4e96f042f8b017646
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
2017-03-31 09:09:26 +08:00
Mark Yao
325807d0a8 video/rockchip: rga2: reduce work timeout to 100ms
100ms timeout is enough, 2 second timeout is too long.

Change-Id: I02f37280733dae307e81b417d9f3f547ba50259d
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
2017-03-31 09:09:25 +08:00
Frank Wang
d66445638b arm: dts: rk3288-evb: add rockchip-relinquish-port quirk for ehci
This adds force abnormal ohci relinquish port owner
and back to ehci on rk3288 SoC.

Change-Id: I33be55c08762be7e8a239f741a8c8dbb28522306
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
2017-03-30 20:00:04 +08:00
Frank Wang
cfe6f1dd57 usb: ehci: add rockchip relinquishing port quirk support
Add a quirk to support rockchip relinquishing port from abnormal ohci
to ehci when FS/LS devices plug in.

To support this function, the rockchip-relinquish-port property must be
specified in ehci node of dt.

Change-Id: I91b58905132282ef2a836d54a1c7ace1e334d119
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
2017-03-30 19:59:44 +08:00