Commit Graph

604675 Commits

Author SHA1 Message Date
Zheng Yang
fe10dc7aae drm/rockchip: hdmi: add hdmi output colorimetry property
This patch add hdmi_output_colorimetry to support modify
hdmi output colorimetry. It could be following value:
	- None
	- IUT_2020
Default value is None, which means normal hdmi outout
colorimetry.

Change-Id: Ib4883fd0553d9d4193c7295812d2c1433724fe63
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
2017-11-21 17:04:49 +08:00
Zheng Yang
d4d8a3a789 drm/rockchip: hdmi: support set eotf and colorimetry
HDMI will set vop eotf and color space according to display mode.

Change-Id: I469d03dd1f14a2bcd75ed5c8e3227cd1d34eb354
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
2017-11-21 17:04:23 +08:00
Jason Song
82b9b65c36 arm64: dts: rockchip: px5: do not verify system and vendor
in order to speed up boottime.

Change-Id: I826e46518994f8f94acb4e48928d21cdcc8cf935
Signed-off-by: Jason Song <sxj@rock-chips.com>
2017-11-21 17:00:48 +08:00
Alex Zhao
96f622feda net: wireless: rockchip_wlan: add WEXT support for wifi pcba test
Change-Id: Id340b4765f623415384129d7f031d322c8789187
Signed-off-by: Alex Zhao <zzc@rock-chips.com>
2017-11-21 16:58:11 +08:00
Jianqun Xu
9db3188abd ARM: dts: rk312x-android: fix for reserved memory
1. remove "linux,cma-default", which used by cma default region
2. use size=< > to define region size

Change-Id: Ie801b3ecebf7c8b4118700f83c4284c42337b0c2
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2017-11-21 16:57:01 +08:00
Wu Liangqing
6ea1fbc8be ARM: dts: rk312x: add power-domains for vop/rga/mipi
Change-Id: I7ec9e10a858c51b210842fec1e5b5a35ef2f27d8
Signed-off-by: Wu Liangqing <wlq@rock-chips.com>
2017-11-21 16:38:44 +08:00
Finley Xiao
07f4ab81bf ARM: dts: rk312x: Assign clock usb480m to usb480m_phy
Change-Id: Ia5d6310a1ea37d946c4459965e72bddfe7807aba
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2017-11-20 21:22:35 +08:00
Tao Huang
4eef96a320 rk_fiq_debugger: use kthread_run
Use kthread_run instead of kthread_create when create kconsole thread.
We should call wake_up_process after kthread_create, otherwise kconsole
will keep in TASK_UNINTERRUPTIBLE state when loglevel=0. Then kconsole
will become hung task, and will trigger hung task timeout.

Change-Id: I440f6bed4ace755d51d6a91600735aaa7ee5925d
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2017-11-20 16:42:44 +08:00
Tao Huang
3735237f41 rk_serial: use kthread_run
Use kthread_run instead of kthread_create when create kconsole thread.
We should call wake_up_process after kthread_create, otherwise kconsole
will keep in TASK_UNINTERRUPTIBLE state when loglevel=0. Then kconsole
will become hung task, and will trigger hung task timeout.

Change-Id: I6b9edfc60a96202b356d0fe519073ea4665ae32a
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2017-11-20 16:16:16 +08:00
Zhen Chen
1919e3d736 MALI Utgard: RK: fix some potential problems about pm_runtime
Including:
	not to call pm_runtime_suspend() in mali_runtime_idle();
	make it more strict to power off the GPU.

Change-Id: I8c49dd13f57826f28606fd7a4e451707978b2906
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
2017-11-20 14:23:36 +08:00
Xinhuang Li
ac1e80931c arm64: rockchip_defconfig: enable PHY_ROCKCHIP_INNO_HDMI_PHY
hdmi driver need enable PHY_ROCKCHIP_INNO_HDMI_PHY

Change-Id: Ib09230b277b37e19aa35f2444212bcebd1cdc40e
Signed-off-by: Xinhuang Li <buluess.li@rock-chips.com>
2017-11-20 14:00:36 +08:00
Sandy Huang
353f10ebe7 drm/rockchip: init color space and eotf for LVDS/DP/eDP/MIPI
Change-Id: Ic874e5a9aef5e1ce965a824502e5909d25e39529
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2017-11-17 18:11:29 +08:00
Sandy Huang
6d31d15507 drm/rockchip: vop: add more debug message
Change-Id: I7a6a3ae556c5c83c4f045c979bf2a0343df57675
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2017-11-17 18:11:19 +08:00
Sandy Huang
1d4084c945 drm/rockchip: vop: add support color space convert
the CSC path include:
	1. plane color space convert;
	2. post BCSH module color space convert.

Change-Id: Ibfa7bccdb7d57a09a8d0147db65658627326262a
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2017-11-17 18:11:13 +08:00
Finley Xiao
6ecf7915f6 clk: rockchip: rk3036: leave apll for core, mac and lcdc only
In order not to affect other clocks, remove the apll from the
parent list of other clocks and only core, mac and lcdc can
select apll as parent.

Change-Id: I58b995f8ccf69c6564f74b5823f618a186030d70
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2017-11-17 18:02:56 +08:00
Caesar Wang
3ee9576c62 clk: rockchip: protect the armclk for rk3036
Some clocks may get disabled as a side effect of another clock
being disabled, because have no consumers. Says the dclk_hdmi's parent may
change from apll to gpll, but the apll's son clocks are very less.

Change-Id: I4fb4e5fdf83a8f73979b50dbcf4f3e4543896fcf
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
2017-11-17 18:01:59 +08:00
Jianqun Xu
66a11945da ARM: dts: rk312x-android: add "shared-dma-pool" for cma region
Without the "shared-dma-pool" compatible, the region reserved is
not an dma region.

Support system-heap.

Change-Id: I25aa3df38db2522bf3e580e96ed6e0f5ecd4f5fe
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2017-11-17 17:56:37 +08:00
Chris Zhong
e5b7f1019a ARM: dts: rockchip: add nandc node for rk3066a/rk3188
Change-Id: I496f76e9aef91f35c2b7fde285b67add7d5f90ae
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
2017-11-17 17:52:50 +08:00
Chris Zhong
4858faa662 rk_nand: change the nandc clk to optional
RK3066 NANDC has not clk, there is only a hclk, the working frequency of
nandc is same as this hclk, so change it to optional.

Change-Id: I638c26f33a3ff9eaa5c532168e05590ed048bcf9
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
2017-11-17 17:51:59 +08:00
Huibin Hong
81b7922b21 spi: spidev: Add rockchip spidev compatible string
Change-Id: I0ba866f7f17be3063bbe405ac9d62f83e54443a4
Signed-off-by: Huibin Hong <huibin.hong@rock-chips.com>
2017-11-17 17:49:18 +08:00
Huibin Hong
10f3a3f774 arm64: rockchip_defconfig: add spi dev for user space
Change-Id: I6678f3fb3f81948be1295c5784b2dd3b4de5981a
Signed-off-by: Huibin Hong <huibin.hong@rock-chips.com>
2017-11-17 17:48:51 +08:00
Huibin Hong
d9d2e8495c arm: rockchip_defconfig: add spi dev for user space
Change-Id: Ib8d7e934ee87cfc7d5b3dbce7c3e8e0ae8789cc7
Signed-off-by: Huibin Hong <huibin.hong@rock-chips.com>
2017-11-17 17:48:46 +08:00
Caesar Wang
bdad857f1b ARM: dts: rockchip: Assigned the i2s sclk from i2s_frac for rk3036
As the HDMI-audio/codec will cause the hang on bootup, the root
cause that kylin get the invalid master clock from i2s.

$cat/sys/kernel/debug/clk/clk_summary
..
i2s_pre     0 0 0 0 0
    sclk_i2s       0 0 0 0 0
        i2s_clkout     0 0 0 0 0

Since i2s clock selects io input clock by default, but the hardware
didn't supply the clock.

This patch will fix the sclk_i2s's parent on i2s_frac.

As following:
$cat/sys/kernel/debug/clk/clk_summary
..
    i2s_src     1 1 594000000 0 0
        i2s_frac    1 1 22579200 0 0
            i2s_pre     2 2 22579200 0 0
                sclk_i2s 1 1 22579200 0 0

As far, the audio can work with aplay/record on kylin.dts

Says:
(aplay /dev/urandom)

/* recording */
arecord -f cd -d 10 /tmp/audio.wav
/* playback */
aplay /tmp/audio.wav

Change-Id: I73534a0d763eb02fb55e000ce068d9d604bf20ed
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
2017-11-17 17:45:48 +08:00
Caesar Wang
90318ccf19 clk: rockchip: export SCLK_I2S_PRE and SCLK_I2S_FRAC of i2s on rk3036
Change-Id: I627c8c2582be2b27414e7b82e9d56dd560f68e64
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
2017-11-17 17:44:52 +08:00
Caesar Wang
2586696eee clk: rockchip: export the i2s sclk parent clocks for rk3036
Add the SCLK_I2S_PRE and SCLK_I2S_FRAC id for i2s sclk.

Change-Id: Ic66291f2a76ec5c2a47e9721ad6f37922264fd42
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
2017-11-17 17:44:17 +08:00
Tao Huang
f5fe2b71a5 rk: rm include/linux/rockchip/common.h
Change-Id: I94147f5517a0bb83c677b5d9005c590e14d58762
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2017-11-17 14:55:40 +08:00
Peng Zhou
6df2642ed7 arm64: dts: rockchip: rk3368-android: move cif-sensor from dtsi to dts
Move cif-sonsor from rk3368-android.dtsi to rk3368-px5-evb-android.dts

Change-Id: If3c0f8db0e15b2d28ef18d7c48e6e63eb2c00d47
Signed-off-by: Peng Zhou <benjo.zhou@rock-chips.com>
2017-11-17 10:17:07 +08:00
Tao Huang
28628bb291 rockchip/vcodec: add support for rk3128
Also move set clk_sel from vpu_service_power_on to vcodec_subdev_probe.
It only need set one time.

Fixes: 1cace329a8 ("video: rockchip: vpu: use device tree to find out target SoC")
Change-Id: I41aed6296188ed2fb5eb26a2430b19dcc2916b22
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2017-11-16 16:43:40 +08:00
Zheng Yang
06fa21989e drm/rockchip: dw-hdmi: fix color depth check in YCBCR420 mode
If sink does't support YCBCR420 deep color, we return default
8bit.

In YCBCR420 mode, tmdsclock is half of RGB444 mode.

Change-Id: Ie3a1f8ca4bbe4b3bae5d7c9ea823fc798721a73a
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
2017-11-16 14:40:45 +08:00
Zheng Yang
c9ed636f38 drm: bridge: dw-hdmi: fix phy cpce setting in YCBCR420 mode
To support YCBCR420 10bit, we need to enable mpll output divider.
It is also compatible with YCBCR420 8bit mode.

Change-Id: I6028cfb045efd05c2cb2b9920e32901ea5aa95dc
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
2017-11-16 14:40:33 +08:00
Zheng Yang
55c75a9da2 drm: bridge: dw-hdmi: fix GCP default phase in deep color mode
According to HDMI 1.4b specification: If the transmitted video
format has timing such that the phase of the first pixel of
every Video Data Period corresponds to pixel packing phase 0
(e.g. 10P0, 12P0, 16P0), the Source may set the Default_Phase
bit in the GCP. The Sink may use this bit to optimize its filtering
or handling of the PP field.

This means that for 10-bit mode the Htotal must be dividable by 4;
for 12-bit mode, the Htotal must be divisible by 2.

Change-Id: I02e632d095141cbabcba06dc1321ae0dc69dc736
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
2017-11-16 14:40:23 +08:00
Zheng Yang
0df3354f3a drm/rockchip: vop: introduce vop_update_csc
After supportting atomic update flush for connector, output color
may be changed in the atomic update flush. It is need to separate
vop color configuration into a new function vop_update_csc, and
update output color both in atomic flush and vop_crtc_enable.

Change-Id: Ie530aaba846ddac0c68f114e081a12968b783476
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
2017-11-16 14:40:14 +08:00
Zheng Yang
d2e0476319 drm: bridge: dw-hdmi: Implement connector atomic_flush
Introduce dw_hdmi_connector_atomic_flush to implement connector
atomic_flush.

Only when enc_in_encoding/enc_out_encoding/enc_in_bus_format/
enc_out_bus_format changed, dw_hdmi_setup is called.

Introduce previous_pixelclock/previous_tmdsclock/mtmdsclock to
determine whether PHY needs initialization. If phy is power off,
or mpixelclock/mtmdsclock is different to previous value, phy is
neet to be reinitialized.

Change-Id: I1984fb188ba486de18f6d51b7a51320bbf2bc27d
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
2017-11-16 14:39:39 +08:00
Mark Yao
8eb3838532 drm: support atomic update flush for connector
Change-Id: I101111c489b769244f9ef5e1c1ba78d31b272ae8
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
2017-11-16 14:39:25 +08:00
Zorro Liu
c9f2fcd388 arm64: rockchip_defconfig: add gyro mpu6500 sensor
Change-Id: Ia6351af3884b21f6d1c7a8297493d127c4270338
Signed-off-by: Zorro Liu <lyx@rock-chips.com>
2017-11-16 14:38:37 +08:00
Zorro Liu
ab372c6336 driver: input: sensor: calibration data store in vendor storage
Change-Id: I338475309e716774c0b9ef81d9cbb425088b58a2
Signed-off-by: Zorro Liu <lyx@rock-chips.com>
2017-11-16 14:38:32 +08:00
Yankun Zheng
4451e1457b ARM: dts: rockchip: rk3229-at-common.dtsi: modify pmic interrupt
pin for android things SOM

Change-Id: I035899301f1766999ff3ca74eedc545661fce968
Signed-off-by: Yankun Zheng <zyk@rock-chips.com>
2017-11-16 14:07:45 +08:00
Tao Huang
d123dfc168 rk: rm include/linux/rockchip/cru.h
Change-Id: I2fb8ea2911598959763b9ded6c204f4743b77108
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2017-11-16 11:02:35 +08:00
Yang Shi
15ade53d8f UPSTREAM: arm64: disable kasan when accessing frame->fp in unwind_frame
When boot arm64 kernel with KASAN enabled, the below error is reported by
kasan:

BUG: KASAN: out-of-bounds in unwind_frame+0xec/0x260 at addr ffffffc064d57ba0
Read of size 8 by task pidof/499
page:ffffffbdc39355c0 count:0 mapcount:0 mapping:          (null) index:0x0
flags: 0x0()
page dumped because: kasan: bad access detected
CPU: 2 PID: 499 Comm: pidof Not tainted 4.5.0-rc1 #119
Hardware name: Freescale Layerscape 2085a RDB Board (DT)
Call trace:
[<ffffffc00008d078>] dump_backtrace+0x0/0x290
[<ffffffc00008d32c>] show_stack+0x24/0x30
[<ffffffc0006a981c>] dump_stack+0x8c/0xd8
[<ffffffc0002e4400>] kasan_report_error+0x558/0x588
[<ffffffc0002e4958>] kasan_report+0x60/0x70
[<ffffffc0002e3188>] __asan_load8+0x60/0x78
[<ffffffc00008c92c>] unwind_frame+0xec/0x260
[<ffffffc000087e60>] get_wchan+0x110/0x160
[<ffffffc0003b647c>] do_task_stat+0xb44/0xb68
[<ffffffc0003b7730>] proc_tgid_stat+0x40/0x50
[<ffffffc0003ac840>] proc_single_show+0x88/0xd8
[<ffffffc000345be8>] seq_read+0x370/0x770
[<ffffffc00030aba0>] __vfs_read+0xc8/0x1d8
[<ffffffc00030c0ec>] vfs_read+0x94/0x168
[<ffffffc00030d458>] SyS_read+0xb8/0x128
[<ffffffc000086530>] el0_svc_naked+0x24/0x28
Memory state around the buggy address:
 ffffffc064d57a80: 00 00 00 00 00 00 00 00 f1 f1 f1 f1 00 00 f4 f4
 ffffffc064d57b00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
>ffffffc064d57b80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
                                  ^
 ffffffc064d57c00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 ffffffc064d57c80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Since the shadow byte pointed by the report is 0, so it may mean it is just hit
oob in non-current task. So, disable the instrumentation to silence these
warnings.

Change-Id: I8ec400370efa3ae63e99d459f50a319685a7b150
Acked-by: Andrey Ryabinin <aryabinin@virtuozzo.com>
Signed-off-by: Yang Shi <yang.shi@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
(cherry picked from commit bcaf669b4b)
2017-11-16 10:32:03 +08:00
Tao Huang
e85d7dbaa0 rk: rm include/linux/rockchip/iomap.h
Change-Id: If3323fba5bfd820e526db5f863d7ba05b56672d5
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2017-11-16 10:15:02 +08:00
Tao Huang
347ead41d8 arm64: rockchip_cros_defconfig: remove CONFIG_RK31XX_LVDS
Change-Id: I8dae3b7ed056c203c1f21ff6a1517625f6f44dd9
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2017-11-16 10:15:02 +08:00
Tao Huang
d853b87248 ASoC: rk312x_codec: remove references to RK_GRF_VIRT
Change-Id: I43f8ae6beee64a0feaa8a43a1cc3d0ef9e8d0635
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2017-11-16 10:01:41 +08:00
Jianqun Xu
835c1e8cbb ARM: dts: rockchip: rk312x-android: add ion node
Support cma use reserved memory region.

Change-Id: I4675a30ab3b4440245bab32c3d0ee20d615eda5d
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2017-11-16 09:59:42 +08:00
Jianqun Xu
a23fb9ee19 staging: ion: rockchip: reserve memory region for ion
Support to reserve memory region for ion device.

Change-Id: Ib951abd2f24560a204de94f3d51b79c7c1ad75da
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2017-11-16 09:54:31 +08:00
Xinhuang Li
f99830dc70 video: rockchip: iep: increase the compatibility of rk3126c
Change-Id: I4a2def80d91d43cafc056ec1a6a64bca8ab372c4
Signed-off-by: Xinhuang Li <buluess.li@rock-chips.com>
2017-11-16 09:52:03 +08:00
Xinhuang Li
a32eab7ce7 ARM: dts: rockchip: rk3126c-bnd-d708: enabled iep iep_mmu
Change-Id: Iee4c3c5d108f514ca6c0e371d3427d78c4a785cd
Signed-off-by: Wu Liangqing <wlq@rock-chips.com>
Signed-off-by: Xinhuang Li <buluess.li@rock-chips.com>
2017-11-16 09:48:53 +08:00
Zorro Liu
2b5d85d7b2 driver: input: sensor: fix unbalanced enable for some sensor irq
[   31.190438] Unbalanced enable for IRQ 163
[   31.190481] ------------[ cut here ]------------
[   31.190495] WARNING: at kernel/irq/manage.c:513
[   31.190505] Modules linked in: bcmdhd
[   31.190525]
[   31.190544] CPU: 1 PID: 270 Comm: sensors@1.0-ser Not tainted 4.4.93 #175
[   31.190561] Hardware name: Rockchip rk3368 xkp board (DT)
[   31.190575] task: ffffffc076ac2700 task.stack: ffffffc076b28000
[   31.190601] PC is at __enable_irq+0x34/0x74
[   31.190614] LR is at __enable_irq+0x34/0x74
...
[   31.198173] [<ffffff80080f5d84>] __enable_irq+0x34/0x74
[   31.198188] [<ffffff80080f5e30>] enable_irq+0x6c/0x94
[   31.198207] [<ffffff800868e11c>] sensor_enable+0x78/0x13c
[   31.198222] [<ffffff800868e8a8>] light_dev_ioctl+0x1a4/0x1d4
[   31.198240] [<ffffff80081c71d4>] do_vfs_ioctl+0x5e4/0x720
[   31.198254] [<ffffff80081c7370>] SyS_ioctl+0x60/0x88
[   31.198270] [<ffffff8008082930>] el0_svc_naked+0x24/0x28

Change-Id: Ieba4a76910fde7381ea4b8113cca20fa068fabbd
Signed-off-by: Zorro Liu <lyx@rock-chips.com>
2017-11-16 09:43:05 +08:00
Zhou weixin
024b72d737 mfd: rk808: set buck4 output ripple voltage 3%
Change-Id: I6db5db62edb0a8e1e543f8ff6c021b6dbca475b2
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Signed-off-by: Zhou weixin <zwx@rock-chips.com>
2017-11-16 09:37:09 +08:00
Peng Zhou
00b6248f20 rockchip: vip: remove unused head-file
Add deinit gpiod for camera sensor when probe failed.
The video_device->ctrl_handler = NULL in soc_camera, in order to
VIDIOC_CTRL call v4l2_ioctl_ops.

Change-Id: Idf2d8bf2c8d56ec921084dcd74220ed3c5541427
Signed-off-by: Peng Zhou <benjo.zhou@rock-chips.com>
2017-11-15 20:37:10 +08:00
Chris Zhong
12e3fb626f ARM: dts: rk3066a-rayeager: bring up wifi
Change-Id: Iffcf4970fdd5bf1976860a9be695452a748bdc2a
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
2017-11-15 20:04:22 +08:00