firefly-linux-kernel-4.4.55.git
7 years agoMALI: rockchip: adjust code about thermal for kernel 4.4
chenzhen [Mon, 18 Apr 2016 08:18:17 +0000 (16:18 +0800)]
MALI: rockchip: adjust code about thermal for kernel 4.4

Change-Id: Ic5f3947b032deaaa800ee316636a8cc61259ba5d
Signed-off-by: chenzhen <chenzhen@rock-chips.com>
7 years agoARM64: rockchip_defconfig: enable pwm regulator
Elaine Zhang [Fri, 22 Apr 2016 07:28:35 +0000 (15:28 +0800)]
ARM64: rockchip_defconfig: enable pwm regulator

Change-Id: Id46711f5fd2de5b85e380c146ed77682aaae5376
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
7 years agoUPSTREAM: ASoC: da7219: Disallow unsupported 32KHz clock setting in set_dai_sysclk()
Adam Thomson [Tue, 19 Apr 2016 14:19:03 +0000 (15:19 +0100)]
UPSTREAM: ASoC: da7219: Disallow unsupported 32KHz clock setting in set_dai_sysclk()

The PLL function was updated to disallow 32KHz in
commit 501f72e9c520 ("ASoC: da7219: Remove support for 32KHz PLL mode"),
but set_dai_sysclk() was missed and still permits it. This patch resolves
that discrepancy.

Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from git.kernel.org kernel/git/broonie/sound.git
topic/da7219 commit fb137ba64a6415ddf231495f6d1a82de1cd69ed0)

Change-Id: I1cf8242745f39ac5ae3cb1aa30989bf4ab8f7f93
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
7 years agoUPSTREAM: ASoC: da7219: Update PLL ranges and dividers to improve locking
Adam Thomson [Tue, 19 Apr 2016 14:19:02 +0000 (15:19 +0100)]
UPSTREAM: ASoC: da7219: Update PLL ranges and dividers to improve locking

The expected MCLK frequency ranges and the associated dividers
are updated to improve PLL locking in a corner scenario, with low
MCLK frequency near an input divider change boundary.

Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from git.kernel.org kernel/git/broonie/sound.git
topic/da7219 commit 63a450aa4d08ccf4f53e9fa59144e746e2288319)

Change-Id: I7b830ef2ea1e25600365872802924f617b6e0274
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
7 years agoARM64: dts: rk3399: evb1-cros: disabled eDP device node
Yakir Yang [Fri, 22 Apr 2016 03:13:30 +0000 (11:13 +0800)]
ARM64: dts: rk3399: evb1-cros: disabled eDP device node

There is a pull up resistor connected to eDP HPD pin on EVB1
hardware, and then eDP controller would always reported that
eDP panel is connected, even if no panel connected.

That would cause driver keep failed on eDP AUX communication,
and lots of annoying error messages would be printed out.

Beside actually the primary panel on EVB1 board is MIPI panel,
few people would have the eDP panel. So let's just disabled
the eDP device on EVB1 board.

Change-Id: Ic2f8b94360821f91e3607c2bfde7d8399fd0080f
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
7 years agoinput: touchscreen: fix kernel crash in fb_notifier_callback function
Yakir Yang [Fri, 22 Apr 2016 02:47:39 +0000 (10:47 +0800)]
input: touchscreen: fix kernel crash in fb_notifier_callback function

fb_event would only carry the data number in some special notify action,
other actions wouldn't carry an valid data number, and in this case
kernel would crash, logs like:

[    4.129846] Unable to handle kernel paging request at virtual address 200000000000
......
[    4.164618] Hardware name: Rockchip RK3399 Evaluation Board v1 (Chrome OS) (DT)
[    4.184624] PC is at fb_notifier_callback+0x28/0xac
[    4.189497] LR is at notifier_call_chain+0x74/0xb4
[    4.194279] pc : [<ffffffc0005e1468>] lr : [<ffffffc0000b5ba4>] pstate: 20000045
......
[    5.703780] [<ffffffc0005e1468>] fb_notifier_callback+0x28/0xac
[    5.709690] [<ffffffc0000b5ba4>] notifier_call_chain+0x74/0xb4
[    5.715504] [<ffffffc0000b5e70>] __blocking_notifier_call_chain+0x48/0x64
[    5.722280] [<ffffffc0000b5ea0>] blocking_notifier_call_chain+0x14/0x1c
[    5.728885] [<ffffffc00036fd98>] fb_notifier_call_chain+0x20/0x28
[    5.734969] [<ffffffc0003726c0>] register_framebuffer+0x218/0x250
[    5.741054] [<ffffffc0003b7598>] drm_fb_helper_initial_config+0x2f8/0x374
[    5.747832] [<ffffffc0003e056c>] rockchip_drm_fbdev_init+0xa8/0xe8
[    5.754002] [<ffffffc0003dba24>] rockchip_drm_load+0x1e4/0x25c

Change-Id: I3314315a31bbab43489fca85dabc4c6511fc9dee
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
7 years agoUPSTREAM: soc: rockchip: power-domain: support qos save and restore
Elaine Zhang [Thu, 14 Apr 2016 06:20:20 +0000 (14:20 +0800)]
UPSTREAM: soc: rockchip: power-domain: support qos save and restore

support qos save and restore when power domain on/off.

Change-Id: I5cecf9755467290bc153eeeb75dfd009e7736820
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from git.kernel.org mmind/linux-rockchip.git v4.7-armsoc/drivers
 commit 074c6a422d86fff76e05cf31be25e0eb752e1bd4)

7 years agoUPSTREAM: dt-bindings: modify document of Rockchip power domains
Elaine Zhang [Thu, 14 Apr 2016 06:20:19 +0000 (14:20 +0800)]
UPSTREAM: dt-bindings: modify document of Rockchip power domains

Rockchip Socs contain quality of service (qos) blocks managing priority,
bandwidth, etc of the connection of each domain to the interconnect.
These blocks loose state when their domain gets disabled and therefore
need to be saved when disabling and restored when enabling a power-domain.

These qos blocks also are similar over all currently available Rockchip
SoCs.

Change-Id: I03c80e01ae0fd1a66a67db15f24869047862f13f
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from git.kernel.org mmind/linux-rockchip.git v4.7-armsoc/drivers
 commit 71daabca344b503f98c59e4bdd53a818cd01f2af)

7 years agoUPSTREAM: soc: rockchip: power-domain: check the existing of regmap
Shawn Lin [Mon, 15 Feb 2016 03:33:57 +0000 (11:33 +0800)]
UPSTREAM: soc: rockchip: power-domain: check the existing of regmap

Check return value of syscon_node_to_regmap for
rockchip_pm_domain_probe. If err value is returned, probe
procedure should abort.

Change-Id: I8b6f2a62d383c5cae5b69e030a8a8e2ad9cc18c1
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from git.kernel.org mmind/linux-rockchip.git v4.7-armsoc/drivers
 commit 4506697d9f8537a8d33e9e002f8efceb32d10757)

7 years agoARM64: dts: rockchip: rk3366: assign parent for gpu and wifi.
Finley Xiao [Thu, 21 Apr 2016 11:56:37 +0000 (19:56 +0800)]
ARM64: dts: rockchip: rk3366: assign parent for gpu and wifi.

Gpu's 480MHz need to select usbphy_480m as parent.
The jitter will be lower, if sclk_wifidsp is supplied by pll_wifi.

Change-Id: I13e5077d55ab80e5224bac36b469e39d556bd347
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
7 years agoclk: rockchip: rk3366: modify the parent's name of usbphy480m
Finley Xiao [Thu, 21 Apr 2016 11:54:53 +0000 (19:54 +0800)]
clk: rockchip: rk3366: modify the parent's name of usbphy480m

Change-Id: I6a628a96acba4e73405ffc58fbd9a8f6e4544e4f
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
7 years agoUPSTREAM: clk: Add clk_composite_set_rate_and_parent
Finley Xiao [Tue, 12 Apr 2016 08:43:39 +0000 (16:43 +0800)]
UPSTREAM: clk: Add clk_composite_set_rate_and_parent

When changing the clock-rate, currently a new parent is set first and a
divider adapted thereafter. This may result in the clock-rate overflowing
its target rate for a short time if the new parent has a higher rate than
the old parent.

While this often doesn't produce negative effects, it can affect components
in a voltage-scaling environment, like the GPU on the rk3399 socs, where
the voltage than simply is to low for the temporarily to high clock rate.

For general clock hirarchies this may need more extensive adaptions to
the common clock-framework, but at least for composite clocks having
both parent and rate settings it is easy to create a short-term solution to
make sure the clock-rate does not overflow the target.

Change-Id: Iceb40b24ef13db6947be3d797ea90b3e1055b9df
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
(cherry picked from git.kernel.org clk/linux.git clk-next
 commit 9e52cec04fd3b9b686f9256151b47fe61f7c28ef)

7 years agoUPSTREAM: clk: rockchip: reign in some overly long lines in the rk3399 controller
Heiko Stuebner [Tue, 19 Apr 2016 19:07:01 +0000 (21:07 +0200)]
UPSTREAM: clk: rockchip: reign in some overly long lines in the rk3399 controller

We allow overlong lines in the array portitions describing the clock
trees to ease readability by having each element always at the same
position. But the rest of the code should honor the 80 char limit.

Fix the newly added rk3399 clock code to respect that.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from git.kernel.org kernel/git/mmind/linux-rockchip.git
v4.7-clk/next commit 995d3fdeb2f2d362b1b6bf26656c417452939a1a)

Conflicts:

drivers/clk/rockchip/clk-rk3399.c
[
zx: this patch is based on the old version by Heiko on the upstream:
commit de4939f7fc0a282a4a630e7fcc517ba241340ea0
Author: Xing Zheng <zhengxing@rock-chips.com>
Date:   Fri Mar 25 19:33:48 2016 +0800

    clk: rockchip: rk3399: add some aclk/dclk IDs for vop0/vop1
]

Change-Id: I6aeda93a54ab96ab885f9bf04a5f21b07d1c9a89
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
7 years agoARM64: dts: rk3399-fb: include mipi_dsi.h for mipi command mode of timing file
Xubilv [Wed, 20 Apr 2016 02:29:29 +0000 (10:29 +0800)]
ARM64: dts: rk3399-fb: include mipi_dsi.h for mipi command mode of timing file

Change-Id: I4426ff9f47abfa7de99b79078370740226871f44
Signed-off-by: Xubilv <xbl@rock-chips.com>
7 years agoARM64: dts: rk3368: include mipi_dsi.h for mipi command mode of timing file
Xubilv [Wed, 20 Apr 2016 02:24:52 +0000 (10:24 +0800)]
ARM64: dts: rk3368: include mipi_dsi.h for mipi command mode of timing file

Change-Id: Id80b519c7c45678d6163828f4d500f1fc5742343
Signed-off-by: Xubilv <xbl@rock-chips.com>
7 years agoARM64: dts: rk3366: include mipi_dsi.h for mipi command mode of timing file
Xubilv [Wed, 20 Apr 2016 02:13:31 +0000 (10:13 +0800)]
ARM64: dts: rk3366: include mipi_dsi.h for mipi command mode of timing file

Change-Id: Ib1e43d4df5735c2364138423d9622fd906ff5349
Signed-off-by: Xubilv <xbl@rock-chips.com>
7 years agoARM64: configs: rockchip_defconfig: enable DRM RGA support
Yakir Yang [Tue, 19 Apr 2016 06:01:24 +0000 (14:01 +0800)]
ARM64: configs: rockchip_defconfig: enable DRM RGA support

Change-Id: I8516f9ad6c4c539839135449b36d74649443adf9
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
7 years agoARM64: configs: rockchip_cros_defconfig: enable DRM RGA driver support
Yakir Yang [Tue, 19 Apr 2016 05:50:49 +0000 (13:50 +0800)]
ARM64: configs: rockchip_cros_defconfig: enable DRM RGA driver support

Change-Id: I4da9799d9e7fc824893b9b19b0e62cc03156ab54
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
7 years agoARM64: dts: rk3399: add RGA device node
Yakir Yang [Sun, 20 Mar 2016 09:54:45 +0000 (17:54 +0800)]
ARM64: dts: rk3399: add RGA device node

Change-Id: Ia8bc692fb7395b8dc1bff339aa18282ae91b2024
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
7 years agodt-bindings: add document for Rockchip RGA module
Yakir Yang [Wed, 20 Apr 2016 06:04:13 +0000 (14:04 +0800)]
dt-bindings: add document for Rockchip RGA module

RGA is a separate 2D raster graphic acceleration unit.

Change-Id: I510a4799e6c69afe01b2f2adfd6be84e322ff9f2
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
7 years agodrm/rockchip: add RGA driver support
Yakir Yang [Sun, 20 Mar 2016 09:43:41 +0000 (17:43 +0800)]
drm/rockchip: add RGA driver support

Rockchip RGA is a separate 2D raster graphic acceleration unit. It
accelerates 2D graphics operations, such as point/line drawing, image
scaling, rotation, BitBLT, alpha blending and image blur/sharpness.

Change-Id: I9be8d683ea04802affb973b8b1ada646afe411d7
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
7 years agodrm/rockchip: add a common subdrv interfaces
Yakir Yang [Fri, 18 Mar 2016 08:42:25 +0000 (16:42 +0800)]
drm/rockchip: add a common subdrv interfaces

Introduce a common subdrv register/unregister interfaces, help
sub-driver to hook the drm open/close event.

Change-Id: I42a563504dd8d8e26f34946067e6e60f1ee88379
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
7 years agoARM64: dts: rk3399-fb: enable vop iommu
Huang Jiachai [Tue, 19 Apr 2016 13:03:16 +0000 (21:03 +0800)]
ARM64: dts: rk3399-fb: enable vop iommu

Change-Id: I42fd20b89205d53f539ab37ce65347d3c7b4ce9e
Signed-off-by: Huang Jiachai <hjc@rock-chips.com>
7 years agovideo: rockchip: vop: 3399: update for AFBDC
Huang Jiachai [Mon, 18 Apr 2016 12:10:36 +0000 (20:10 +0800)]
video: rockchip: vop: 3399: update for AFBDC

1.gpu afbc default in yuv color;
2.mb width and hight is equal to xvir and yvir.

Change-Id: I905d90c8a75c0b5136ff883fbcf7128ca954e425
Signed-off-by: Huang Jiachai <hjc@rock-chips.com>
7 years agovideo: rockchip: fb: add vopid for screen switch uevent
Huang Jiachai [Mon, 18 Apr 2016 03:36:38 +0000 (11:36 +0800)]
video: rockchip: fb: add vopid for screen switch uevent

Change-Id: Ib51af94397758a2118b6a41e1c736ac454e12b85
Signed-off-by: Huang Jiachai <hjc@rock-chips.com>
7 years agoregulator: mp8865: update mp8865 driver
Zain Wang [Wed, 6 Apr 2016 03:32:06 +0000 (11:32 +0800)]
regulator: mp8865: update mp8865 driver

set slew rate 1.6mV/uS, set switch_frequency 1.1MHz,
support enable_time 100us and add regmap cache.

Change-Id: I8fb2147b5a574ab96f5e3601cb5ac24412676045
Signed-off-by: Zain Wang <wzz@rock-chips.com>
7 years agoARM64: dts: rk3399: add dts files for evb rev2
Jianqun Xu [Mon, 18 Apr 2016 11:13:03 +0000 (19:13 +0800)]
ARM64: dts: rk3399: add dts files for evb rev2

Change-Id: I40abefbae2377f4f86a54b5b752b831acd592d10
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
7 years agoARM64: dts: rk3399: rename dts files
Jianqun Xu [Mon, 18 Apr 2016 10:48:17 +0000 (18:48 +0800)]
ARM64: dts: rk3399: rename dts files

Rename the rk3399 dts files:
    rk3399-monkey.dts -> rk3399-evb1-android.dts
    rk3399-chrome.dts -> rk3399-evb1-cros.dts
    rk3399-tb.dtsi -> rk3399-evb.dtsi

Change-Id: Ie1f61d63b8fefc263a64d713d70947ceee8472c5
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
7 years agoclk: rockchip: rk3399: Export isp clock IDs
Xing Zheng [Tue, 19 Apr 2016 01:24:33 +0000 (09:24 +0800)]
clk: rockchip: rk3399: Export isp clock IDs

Change-Id: I6f8a2192d6f69b23ba4fa3ad6e973aba9120399a
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
7 years agoclk: rockchip: rk3399: Add and export SCLK_RGA_CORE clock id
Xing Zheng [Tue, 19 Apr 2016 01:13:29 +0000 (09:13 +0800)]
clk: rockchip: rk3399: Add and export SCLK_RGA_CORE clock id

Change-Id: Ia64289f565e7b4570c6b55810bda5d4711a7381a
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
7 years agousb: gadget: composite: don't queue OS desc request if req length is invalid
Wu Liang feng [Mon, 18 Apr 2016 06:16:14 +0000 (14:16 +0800)]
usb: gadget: composite: don't queue OS desc request if req length is invalid

In OS descriptors handling, if ctrl->bRequestType is USB_RECIP_DEVICE
and w_index != 0x4 or (w_value >> 8) is true, it will not reset
req->length, but use the default value(-EOPNOTSUPP), and queue an
OS desc request with an invalid req->length. It always happens
on the platforms which use os_desc(for example: rk3366,rk3399),
and cause kernel panic as follows(use dwc3 driver):

Unable to handle kernel paging request at virtual address ffffffc0f7e00000
Internal error: Oops: 96000146 [#1] PREEMPT SMP
PC is at __dma_clean_range+0x18/0x30
LR is at __swiotlb_map_page+0x50/0x64
Call trace:
 [<ffffffc0000930f8>] __dma_clean_range+0x18/0x30
 [<ffffffc00062214c>] usb_gadget_map_request+0x134/0x1b0
 [<ffffffc0005c289c>] __dwc3_ep0_do_control_data+0x110/0x14c
 [<ffffffc0005c2d38>] __dwc3_gadget_ep0_queue+0x198/0x1b8
 [<ffffffc0005c2e18>] dwc3_gadget_ep0_queue+0xc0/0xe8
 [<ffffffc00061cfec>] composite_ep0_queue.constprop.14+0x34/0x98
 [<ffffffc00061dfb0>] composite_setup+0xf60/0x100c
 [<ffffffc0006204dc>] android_setup+0xd8/0x138
 [<ffffffc0005c29a4>] dwc3_ep0_delegate_req+0x34/0x50
 [<ffffffc0005c3534>] dwc3_ep0_interrupt+0x5dc/0xb58
 [<ffffffc0005c0c3c>] dwc3_thread_interrupt+0x15c/0xa24

With this patch, the gadget driver will not queue a request and
return immediately if req->length is invalid. And the usb controller
driver can handle the unsupport request correctly.

Change-Id: I60270d7c12fa190a99cd1079880a2f7167e7af27
Signed-off-by: Wu Liang feng <wulf@rock-chips.com>
8 years agovideo: rockchip: mipi: rk3399: add power domain control
Xubilv [Mon, 18 Apr 2016 06:42:43 +0000 (14:42 +0800)]
video: rockchip: mipi: rk3399: add power domain control

Change-Id: I61c2ad075417a716b1ba7c73baf4fd5889b402e9
Signed-off-by: Xubilv <xbl@rock-chips.com>
8 years agovideo: rockchip: vop: 3399: fix afbdc abnormal
Mark Yao [Mon, 18 Apr 2016 10:28:27 +0000 (18:28 +0800)]
video: rockchip: vop: 3399: fix afbdc abnormal

The vop mask write need use u64 value.

Change-Id: I020fdf4e7115b2763dd732be6542589f61190f4a
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
8 years agoFROMLIST: thermal: rockchip: disable thermal->clk in err case
Shawn Lin [Mon, 18 Apr 2016 03:35:53 +0000 (11:35 +0800)]
FROMLIST: thermal: rockchip: disable thermal->clk in err case

Disable thermal->clk when enabling pclk fails in
resume routine.

Change-Id: I7d8780be04891bf4cddf1ba970eae2a2f14ec7ac
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Reviewed-by: Caesar Wang <wxt@rock-chips.com>
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
(am from https://patchwork.kernel.org/patch/8867151/)

8 years agousb: dwc3: fix compile failure if config host only mode
Wu Liang feng [Mon, 18 Apr 2016 03:37:13 +0000 (11:37 +0800)]
usb: dwc3: fix compile failure if config host only mode

This patch fixes following compile error in dwc3 if select
CONFIG_USB_DWC3_HOST.

drivers/usb/dwc3/core.c:874: undefined reference to `dwc3_gadget_restart'
drivers/usb/dwc3/core.c:880: undefined reference to `dwc3_gadget_restart'

which was caused by commit
commit 9607f47dfec23c5773d74e45ed561859eabce2b7
usb: dwc3: add functions to set force mode

Change-Id: Id0abaf89fba006609dbf2e7a771149453465b371
Signed-off-by: Wu Liang feng <wulf@rock-chips.com>
8 years agovideo: rockchip: vop: 3399: add power domain control
Huang Jiachai [Fri, 15 Apr 2016 02:36:48 +0000 (10:36 +0800)]
video: rockchip: vop: 3399: add power domain control

Change-Id: Ie10029456b2a62a30c5571131c142e0468f86d48
Signed-off-by: Huang Jiachai <hjc@rock-chips.com>
8 years agoARM64: dts: rk3399: update cpu and gpu opp tables
Rocky Hao [Fri, 15 Apr 2016 03:25:42 +0000 (11:25 +0800)]
ARM64: dts: rk3399: update cpu and gpu opp tables

Change-Id: Ic27e5e0f9e74db8eb3fb2048127e7e0d6ca1bd92
Signed-off-by: Rocky Hao <rocky.hao@rock-chips.com>
8 years agoARM64: dts: rockchip: add thermal zone node for rk3399 SoCs
Caesar Wang [Fri, 15 Apr 2016 08:25:52 +0000 (16:25 +0800)]
ARM64: dts: rockchip: add thermal zone node for rk3399 SoCs

This adds thermal zone node to rk3399 dtsi, rk3399 thermal data is
including the cpu and gpu sensor zone node.
At the moment, remove the rk3368 thermal data from rk399 dtsi.

The thermal zone node is the node containing all the required info
for describing a thermal zone, including its cooling device bindings. The
thermal zone node must contain, apart from its own properties, one sub-node
containing trip nodes and one sub-node containing all the zone cooling maps

The following is the parameter is introduced:

* polling-delay:
The maximum number of milliseconds to wait between polls

* polling-delay-passive:
The maximum number of milliseconds to wait between polls when performing
passive cooling.

* trips:
A sub-node which is a container of only trip point nodes required to describe
the thermal zone.

* cooling-maps:
A sub-node which is a container of only cooling device map nodes, used to
describe the relation between trips and cooling devices.

* cooling-device:
A phandle of a cooling device with its specifier, referring to which cooling
device is used in this cooling specifier binding. In the cooling specifier,
the first cell is the minimum cooling state and the second cell is the maximum
cooling state used in this map.

Change-Id: I76c5829fdc120cd5da078e2937abeee720ee379c
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
8 years agothermal: rockchip: add the set_trips function
Caesar Wang [Mon, 11 Apr 2016 06:08:26 +0000 (14:08 +0800)]
thermal: rockchip: add the set_trips function

Whenever the current temperature is updated, the trip points immediately
below and above the current temperature are found. A sensor driver
callback `set_trips' is then called with the temperatures.
Lastly, The sensor will trigger the hardware high temperature interrupts
to increase the sampleing rate and throttle frequency to limit the temperature
rising When performing passive cooling.

Change-Id: I43d37a8431240cb7b62da7bff83464aba3c8983e
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
8 years agoCHROMIUM: thermal: of: Add support for hardware-tracked trip points
Mikko Perttunen [Tue, 29 Jul 2014 00:33:55 +0000 (17:33 -0700)]
CHROMIUM: thermal: of: Add support for hardware-tracked trip points

This adds support for hardware-tracked trip points to the device tree
thermal sensor framework.

The framework supports an arbitrary number of trip points. Whenever
the current temperature is updated, the trip points immediately
below and above the current temperature are found. A sensor driver
callback `set_trips' is then called with the temperatures.
If there is no trip point above or below the current temperature,
the passed trip temperature will be LONG_MAX or LONG_MIN respectively.
In this callback, the driver should program the hardware such that
it is notified when either of these trip points are triggered.
When a trip point is triggered, the driver should call
`thermal_zone_device_update' for the respective thermal zone. This
will cause the trip points to be updated again.

If the `set_trips' callback is not implemented (is NULL), the framework
behaves as before.

CQ-DEPEND=CL:*210768
BUG=chrome-os-partner:30834
TEST=None

Change-Id: I33226d2b80f3e71a0c3ca3fbc5718db4e461268f
Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com>
Signed-off-by: Paul Walmsley <pwalmsley@nvidia.com>
Signed-off-by: Wei Ni <wni@nvidia.com>
Reviewed-on: https://chromium-review.googlesource.com/212425
Reviewed-by: Olof Johansson <olofj@chromium.org>
Commit-Queue: Olof Johansson <olofj@chromium.org>
Tested-by: Olof Johansson <olofj@chromium.org>
Reviewed-on: https://chrome-internal-review.googlesource.com/210454
Reviewed-by: Dylan Reid <dgreid@chromium.org>
Tested-by: Dylan Reid <dgreid@chromium.org>
Commit-Queue: Dylan Reid <dgreid@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/267514
Tested-by: David Riley <davidriley@chromium.org>
Reviewed-by: David Riley <davidriley@chromium.org>
Commit-Queue: David Riley <davidriley@chromium.org>
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
(cherry-picked from https://chromium.googlesource.com/chromiumos/
 third_party/kernel/+/v3.18 commit 397befabb2a52fc16586509a970f8c98268b8040)

8 years agoARM64: config: add the thermal needed configure for rockchip
Caesar Wang [Fri, 15 Apr 2016 03:45:11 +0000 (11:45 +0800)]
ARM64: config: add the thermal needed configure for rockchip

We need the cpu throttle and IPA function for rockchip.
Also enable the writable trips function.

Let's enable the needed config for thermal.

Change-Id: Ibd43aa4ef3cc5e0a325e376d753cffc8bcdb8c02
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
8 years agoclk: rockchip: rk3399: add 216M and 96M for armclkb and armclkl
Huang, Tao [Fri, 15 Apr 2016 11:25:52 +0000 (19:25 +0800)]
clk: rockchip: rk3399: add 216M and 96M for armclkb and armclkl

support 216M/96M for armclkb and armclkl

Change-Id: I26bf94ab0b27863a438b52be29e1a3aa208fa6ff
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
8 years agoARM64: dts: rk3399: don't let VOP LIT first to select eDP device
Yakir Yang [Thu, 14 Apr 2016 01:29:23 +0000 (09:29 +0800)]
ARM64: dts: rk3399: don't let VOP LIT first to select eDP device

The endpoint order would decide the priority of connector devices,
the higher the priority ranking.

For now eDP can't light up with VOP Lit, so we need to cut down
the priority that eDP in VOP Lit, and raise up the priority that
MIPI in VOP Lit.

Change-Id: Ide4e321f03cf7ad5080c6db7f9230962963a3eb8
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
8 years agoARM64: dts: rk3399: gru: Let VOP Big first to select connector device
Yakir Yang [Thu, 14 Apr 2016 02:56:05 +0000 (10:56 +0800)]
ARM64: dts: rk3399: gru: Let VOP Big first to select connector device

This is a hack way to let VOP Big to select eDP device when VOP
Big and Lit all enabled.

Change-Id: Ia2bc91ff903bbc7d00deed57aab315328ce54378
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
8 years agoclk: rockchip: rk3399: fix clk_cifout setting clk error
Elaine Zhang [Fri, 15 Apr 2016 01:13:32 +0000 (09:13 +0800)]
clk: rockchip: rk3399: fix clk_cifout setting clk error

Fix a typo making the clk_cifout access a
wrong clk tree to handle its mux and div.

Change-Id: Ief20e684eadd10b75cf36120df16f13c7581d303
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
8 years agoARM64: dts: rk3399: gru: add backlight and eDP panel device nodes
Yakir Yang [Sat, 9 Apr 2016 08:14:31 +0000 (16:14 +0800)]
ARM64: dts: rk3399: gru: add backlight and eDP panel device nodes

Panel brightness is controller by EC, the AP just enable/disable the
backlight power through GPIO1_C1.

Change-Id: I46e1f3b5098159cb07f86ba203ef8cfa102dd385
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
8 years agoARM64: dts: rk3399: chrome: enable eDP support
Yakir Yang [Sat, 9 Apr 2016 04:28:56 +0000 (12:28 +0800)]
ARM64: dts: rk3399: chrome: enable eDP support

The RK3399 EVB board is using the LG LP097QX1-SPA1
9.7" 2048x1536 eDP panel.

Change-Id: I837b0a569605591756918b12f56dbaa0b1f3f8d4
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
8 years agoHACK: ARM64: dts: rockchip: Hack out PWM regulators on gru
Douglas Anderson [Tue, 12 Apr 2016 21:07:11 +0000 (14:07 -0700)]
HACK: ARM64: dts: rockchip: Hack out PWM regulators on gru

Until we get PWM regulator solid, let's hack it out and just keep
whatever the firmware set for us.

Note that when the kernel boots it appears that it does some reparenting
of clocks and the PWM frequency actually changes.  ...but the voltage
seems OK ish.

Change-Id: I3be6ea4460f685e4a75a0f7f31f767f09b908442
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Reviewed-on: https://chrome-internal-review.googlesource.com/254650
Reviewed-by: Stephen Barber <smbarber@google.com>
Tested-by: Doug Anderson <dianders@google.com>
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
(Fixes the typo)

8 years agoARM64: dts: rockchip: rk808: set the dvs2 gpio pull down
Elaine Zhang [Wed, 13 Apr 2016 21:48:47 +0000 (05:48 +0800)]
ARM64: dts: rockchip: rk808: set the dvs2 gpio pull down

the hw default of the dvs2 is pull up which is not correct.
set the dvs2 gpio pull down.

Change-Id: I0d296cecc422456cb72630d5ce64a5c7e5dad283
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
8 years agoHACK: clk: rockchip: rk3399: Mark the PWM clock as critical
Douglas Anderson [Tue, 12 Apr 2016 20:55:37 +0000 (13:55 -0700)]
HACK: clk: rockchip: rk3399: Mark the PWM clock as critical

Until we get all the magic PWM regulator stuff solved with Boris's
wonderful upstream patches, let's just hack the PWM clock to be critical
so it never turns off.  Nuff said.

Change-Id: I99660b0b188413eb08030a3ae87c045c338b30db
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Reviewed-on: https://chrome-internal-review.googlesource.com/254649
Reviewed-by: Stephen Barber <smbarber@google.com>
Tested-by: Doug Anderson <dianders@google.com>
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
(Fixes the pclk_rkpwm_pmu into pmucru_critical_clock)

8 years agoARM64: rockchip_cros_defconfig: cleanup for defconfig
Caesar Wang [Thu, 14 Apr 2016 10:11:12 +0000 (18:11 +0800)]
ARM64: rockchip_cros_defconfig: cleanup for defconfig

We should make sure the config generate from the savedefconfig.
Okay, anyway cleanup the config with run 'make ARCH=arm64 savedefconfig'.

Change-Id: Ia094322870d378183760e32b7177971342e48439
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
8 years agoARM64: dts: rk3399: gru: enable GPU device node
Yakir Yang [Thu, 7 Apr 2016 03:43:04 +0000 (11:43 +0800)]
ARM64: dts: rk3399: gru: enable GPU device node

Change-Id: I2edad7d66cf655cb96ac6c933fdece9734eda469
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
8 years agoARM64: rockchip_cros_defconfig: enable GPIO BACKLIGHT
Yakir Yang [Thu, 14 Apr 2016 03:33:52 +0000 (11:33 +0800)]
ARM64: rockchip_cros_defconfig: enable GPIO BACKLIGHT

The eDP panel of Kevin board only have a AP GPIO to control
the backlight power, so we need to enable the GPIO backlight
type for it.

Change-Id: I939e1c658b56ee5d889af820985f9ffd46f50485
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
8 years agodt-bindings: add Samsung LSN122DL01-C01 panel binding
Yakir Yang [Thu, 14 Apr 2016 03:24:03 +0000 (11:24 +0800)]
dt-bindings: add Samsung LSN122DL01-C01 panel binding

The Samsung LSN122DL01-C01 is an 12.2" 2560x1600 (WQXGA) TFT-LCD
panel connected using eDP interfaces.

Change-Id: Ib5164763d18c5cffcc83b38715f559a4a0c02638
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
8 years agodrm/panel: simple: Add support for Samsung LSN122DL01-C01 2560x1600 panel
Yakir Yang [Sat, 9 Apr 2016 07:57:20 +0000 (15:57 +0800)]
drm/panel: simple: Add support for Samsung LSN122DL01-C01 2560x1600 panel

The Samsung LSN122DL01-C01 is an 12.2" 2560x1600 (WQXGA) TFT-LCD panel
connected using eDP interfaces.

Change-Id: I3c2208fc45b53b0fab328fcb9ba204f610a9f9f6
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
8 years agoARM: dts: rk3366-tb: adjust tx & rx delayline for 1000BT ethernet
roger [Thu, 14 Apr 2016 07:45:33 +0000 (15:45 +0800)]
ARM: dts: rk3366-tb: adjust tx & rx delayline for 1000BT ethernet

Change-Id: I4d5f7150178d8f6f7e78f9109e49c73956aefaee
Signed-off-by: roger <roger.chen@rock-chips.com>
8 years agoARM64: dts: rockchip: fixes the hw-tshut-polarity for rk3399
Caesar Wang [Thu, 14 Apr 2016 03:40:29 +0000 (11:40 +0800)]
ARM64: dts: rockchip: fixes the hw-tshut-polarity for rk3399

AFAIK, the hardware designed that TSHUT should be set the active high.

Since rk3399 evb designed the over-temperature protection pin is
connected to PMIC that active high vaild.
Also, as gru/kevin designed the over-temperature protection pin is
connected to EC control that active high to prevent leakage.

Change-Id: Ib7b15d115d2ea4e474918fc416dde273b040e740
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
8 years agodrm: rockchip: analogix_dp: update the comments about why need to hardcode VOP output...
Yakir Yang [Wed, 13 Apr 2016 04:15:39 +0000 (12:15 +0800)]
drm: rockchip: analogix_dp: update the comments about why need to hardcode VOP output mode

The hardware IC designed that VOP must output the RGB10 video format to
eDP contoller, and if eDP panel only support RGB8, then eDP contoller
should cut down the video data, not via VOP contoller, that's why we need
to hardcode the VOP output mode to RGA10 here.

Change-Id: I733eae8a5dda51c0288d8627ceffb39a2f804e62
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
8 years agodrm: rockchip: analogix_dp: correct the connector display color format and bpc
Yakir Yang [Wed, 13 Apr 2016 04:06:59 +0000 (12:06 +0800)]
drm: rockchip: analogix_dp: correct the connector display color format and bpc

Rockchip VOP couldn't output YUV video format for eDP controller, so
when driver detect connector support YUV video format, we could hack
it down to RGB888.

Change-Id: Ia876bb49e772f85bef201af2b62dd558d6b99257
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
8 years agodrm/bridge: analogix_dp: introduce connector mode_valid callback to plat driver
Yakir Yang [Wed, 13 Apr 2016 04:02:48 +0000 (12:02 +0800)]
drm/bridge: analogix_dp: introduce connector mode_valid callback to plat driver

It's helpful to expand the mode_valid callback to platform driver,
so they could valid the display mode or informations.

Change-Id: Icfd7593bd10c93fc9045acf04a8d0ed6336ffb85
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
8 years agodrm/rockchip: analogix_dp: make panel detect to an optional action
Yakir Yang [Tue, 5 Apr 2016 07:38:45 +0000 (15:38 +0800)]
drm/rockchip: analogix_dp: make panel detect to an optional action

Some boards don't need to declare a panel device node, like the
display interface is DP monitors, so it's necessary to make the
panel detect to an optional action.

Change-Id: I0146e9f9fb2e35b5878ab114e8aa1df35ba4843d
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
8 years agoRevert "drm/bridge: analogix_dp: hardcode input video format to RGB10 for Rockchip...
Yakir Yang [Wed, 13 Apr 2016 04:17:59 +0000 (12:17 +0800)]
Revert "drm/bridge: analogix_dp: hardcode input video format to RGB10 for Rockchip platform"

On RK3399 EVB board, the LG panel only support RGB888. so with previous
changes, VOP would send the RGB10 video format to panel, and then panel
just display abnormally.

This reverts commit 144e62cef352d9670f09de3ac1da53ca6182835c.

Change-Id: I09a5ab0aa8758e87e8b7f2fc20fbbaa113fe1d33
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
8 years agoARM64: dts: rockchip: Remove default sample phase from gru
Douglas Anderson [Mon, 11 Apr 2016 23:59:04 +0000 (16:59 -0700)]
ARM64: dts: rockchip: Remove default sample phase from gru

It looks like the addition of default-sample-phase to the GRU dts is
what was causing my periodic boot failures.  After removing it I found
that I could get 25+ reboots with no failures.  Calling it good.

BUG=None
TEST=Reboot many times; see successful boot each time.

Change-Id: Id200957da9d9a2eb81ce63dcb57c4f0f5e94e72d
Signed-off-by: Douglas Anderson <dianders@chromium.org>
8 years agoUPSTREAM: drm: prime: Honour O_RDWR during prime-handle-to-fd
Daniel Thompson [Tue, 22 Dec 2015 21:36:44 +0000 (19:36 -0200)]
UPSTREAM: drm: prime: Honour O_RDWR during prime-handle-to-fd

Currently DRM_IOCTL_PRIME_HANDLE_TO_FD rejects all flags except
(DRM|O)_CLOEXEC making it difficult (maybe impossible) for userspace
to mmap() the resulting dma-buf even when this is supported by the
DRM driver.

It is trivial to relax the restriction and permit read/write access.
This is safe because the flags are seldom touched by drm; mostly they
are passed verbatim to dma_buf calls.

v3 (Tiago): removed unused flags variable from drm_prime_handle_to_fd_ioctl.

Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1450820214-12509-2-git-send-email-tiago.vignatti@intel.com
(cherry picked from commit bfe981a0952880df43d08a050bf3ae44aaebd795)
Signed-off-by: Brian Norris <briannorris@chromium.org>
Change-Id: Ieb3c547b1a08bd9c90fe72e0a1df1757d100aa8e
Reviewed-on: https://chrome-internal-review.googlesource.com/255266
Tested-by: Brian Norris <briannorris@google.com>
Reviewed-by: Doug Anderson <dianders@google.com>
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
8 years agoARM64: dts: rk3399-tb: adjust tx & rx delayline for 1000BT ethernet
roger [Wed, 13 Apr 2016 11:14:51 +0000 (19:14 +0800)]
ARM64: dts: rk3399-tb: adjust tx & rx delayline for 1000BT ethernet

Change-Id: I36dfc4d1289e388c7a955f3ba0e7f974b39d28fd
Signed-off-by: roger <roger.chen@rock-chips.com>
8 years agothermal: rockchip: add the notes for better reading
Caesar Wang [Sun, 10 Apr 2016 10:00:46 +0000 (18:00 +0800)]
thermal: rockchip: add the notes for better reading

To update the notes for keeping in mind that quickly in case
someone re-read this driver in the future.

Change-Id: Ic752ed1d6a818f21560befd981383e8b532dff36
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
8 years agothermal: rockchip: add the interleave value setting
Rocky Hao [Sun, 10 Apr 2016 06:55:07 +0000 (14:55 +0800)]
thermal: rockchip: add the interleave value setting

The interleave is between power down and start of conversion,
This patch adds to workaround ic time sync issue for control.

Change-Id: Ib9f28fd92bcecf8ddaa8a69d47ced87fef04e7c6
Signed-off-by: Rocky Hao <rocky.hao@rock-chips.com>
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
8 years agothermal: rockchip: Support RK3366 SoCs in the thermal driver
Elaine Zhang [Sun, 28 Feb 2016 04:16:38 +0000 (12:16 +0800)]
thermal: rockchip: Support RK3366 SoCs in the thermal driver

The RK3366 SoCs have two Temperature Sensors, channel 0 is for CPU
channel 1 is for GPU.

Change-Id: I71324c65e82804f52d464b986e1d86127f8dc040
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
8 years agoARM64: rockchip_cros_defconfig: enable /proc/config.gz
Brian Norris [Tue, 12 Apr 2016 22:03:51 +0000 (15:03 -0700)]
ARM64: rockchip_cros_defconfig: enable /proc/config.gz

This helps to be absolutely sure of what CONFIG_* switches are enabled
for your build.

Change-Id: Ic1043d78b01502af9f5a2d4776672c66fc152f5c
Signed-off-by: Brian Norris <briannorris@chromium.org>
Reviewed-on: https://chrome-internal-review.googlesource.com/254936
Commit-Queue: Brian Norris <briannorris@google.com>
Tested-by: Brian Norris <briannorris@google.com>
Reviewed-by: Stephen Barber <smbarber@google.com>
8 years agoARM64: dts: rockchip: Force pp3300_disp regulator to stay on
Brian Norris [Tue, 12 Apr 2016 19:59:29 +0000 (12:59 -0700)]
ARM64: dts: rockchip: Force pp3300_disp regulator to stay on

Normally, the display regulator would be kept powered on by the
display/backlight driver, but we don't yet have a DT representation or
driver for this, as the PWM is controlled by the EC. Just force the
regulator on for now.

This wasn't needed on some boards yet, since they were forcing this
regulator "on." But for those where we might be controlling it, we need
this. (And it's harmless otherwise.)

This is necessary but not sufficient for getting UI up on my board.

Change-Id: I30650c178dd42d76542f8f2491e22d9bf548363e
Signed-off-by: Brian Norris <briannorris@chromium.org>
Reviewed-on: https://chrome-internal-review.googlesource.com/254935
Commit-Queue: Brian Norris <briannorris@google.com>
Tested-by: Brian Norris <briannorris@google.com>
Reviewed-by: Stephen Barber <smbarber@google.com>
8 years agoARM64: rockchip_cros_defcofnig: enable DA7219 manchine driver and codec
Xing Zheng [Tue, 12 Apr 2016 11:10:14 +0000 (19:10 +0800)]
ARM64: rockchip_cros_defcofnig: enable DA7219 manchine driver and codec

Change-Id: Iaf0f1f63b6f1b8f0e3f391b1d900b201d59b9660
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
8 years agoARM64: dts: gru: Add support machine driver for DA7219
Xing Zheng [Tue, 12 Apr 2016 10:57:29 +0000 (18:57 +0800)]
ARM64: dts: gru: Add support machine driver for DA7219

Now, we can playback and capture via DA7219 machine driver call the
da7219_aad_jack_det (simple-card can not do this).

Change-Id: I8b1be189031f875b1c5328e9357115761a5f4da3
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
8 years agoASoC: rockchip: Add support machine driver for DA7219
Xing Zheng [Tue, 12 Apr 2016 10:00:30 +0000 (18:00 +0800)]
ASoC: rockchip: Add support machine driver for DA7219

The DA7219 only support headphone playback, we may not call the
da7219_aad_jack_det when we use the simple-card.

Therefore, the machine driver may be need to submit upstream.

Change-Id: Iecf53fa62fcaf43175bbbcd2b7c8b0d5c67655ac
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
8 years agoclk: rockchip: rk3399: Add CLK_SET_RATE_PARENT for main VOP0
Xing Zheng [Thu, 7 Apr 2016 12:22:31 +0000 (20:22 +0800)]
clk: rockchip: rk3399: Add CLK_SET_RATE_PARENT for main VOP0

We recommend, VOP0 is the main screen, VOP1 is a sub screen,
only VOP0 is able to re-set parent (VPLL) rate.

Change-Id: If40f95ce18e73477df8f7f031013333a603d5eb2
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
8 years agoclk: rockchip: rk3399: Modify dummy clock for VOP dclks
Xing Zheng [Thu, 7 Apr 2016 05:39:08 +0000 (13:39 +0800)]
clk: rockchip: rk3399: Modify dummy clock for VOP dclks

Because frac div need to more than 20 multiple between the numerator
and denominator, but we need to be fit many HDMI/DP freqs and may
bring serious jitter when the dclk_vopx below the dclk_vopx_frac.

Therefore, we can select dclk_vopx below the dclk_vopx_div directly.

Change-Id: If3d9051211f0b160a507f0942667796f043f4ec2
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
8 years agoUPSTREAM: ASoC: da7219: Correct BCLK inversion for DSP DAI format mode
Adam Thomson [Tue, 5 Jan 2016 15:05:36 +0000 (15:05 +0000)]
UPSTREAM: ASoC: da7219: Correct BCLK inversion for DSP DAI format mode

By default the device latches data on the falling edge of the
BCLK in DSP mode, whereas the expectation for normal BCLK is to
latch on the rising edge. This updates the driver to invert the
BCLK configuration for DSP mode, to align with expected behaviour.

Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit 4acfa36be618eb8ac3aa39f473e7550710216435)

Change-Id: I646f6ec9fb377ce95d90d57c80dc05f13b6696f2
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
8 years agoUPSTREAM: ASoC: da7219: Add regmap patch to support old silicon
Adam Thomson [Wed, 23 Dec 2015 13:50:04 +0000 (13:50 +0000)]
UPSTREAM: ASoC: da7219: Add regmap patch to support old silicon

Initial silicon did not have master bias enabled by default, unlike
later HW, so use regmap patch to align with newer defaults.

Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit abd7c894fc41a9a674354e10ed6c55413e1db077)

Change-Id: I1b941c779320b58110b78c2c127bb08629c7a3fa
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
8 years agoUPSTREAM: ASoC: da7219: Remove support for 32KHz PLL mode
Adam Thomson [Tue, 22 Dec 2015 18:27:56 +0000 (18:27 +0000)]
UPSTREAM: ASoC: da7219: Remove support for 32KHz PLL mode

PLL mode based on 32KHz master clock not supported in
AB silicon so remove support from the driver.

Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit 501f72e9c5205b9d70d5d61e9b186ae7ba873f73)

Change-Id: Ie3e3388af33a74fca6bf60405e1b54b860b43f18
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
8 years agoUPSTREAM: ASoC: da7219: Add support for 1.6V micbias level
Adam Thomson [Tue, 22 Dec 2015 18:27:55 +0000 (18:27 +0000)]
UPSTREAM: ASoC: da7219: Add support for 1.6V micbias level

HW can provide 1.6V micbias level as well the existing levels
already provided in the driver. This patch adds support for 1.6V
to the DT binding.

Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit 0aed64c1766d354c819a13a57d8673adaf2266eb)

Change-Id: I714fb76154242aa6392143ebe8db20a7510b45a3
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
8 years agoUPSTREAM: ASoC: da7219: Remove internal LDO features of codec
Adam Thomson [Tue, 22 Dec 2015 18:27:54 +0000 (18:27 +0000)]
UPSTREAM: ASoC: da7219: Remove internal LDO features of codec

In AB silicon, the internal LDO is not supported so remove
DT and driver references to this (digital voltage direct from
'VDD' supply)

Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit d8ef140dccc1645aa37a140ed7585458294210b8)

Change-Id: I540c28a7dd0994c5dd94889c2cc0f566f8fddb63
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
8 years agoUPSTREAM: ASoC: da7219: Update REFERENCES reg default, in-line with HW
Adam Thomson [Tue, 22 Dec 2015 18:27:53 +0000 (18:27 +0000)]
UPSTREAM: ASoC: da7219: Update REFERENCES reg default, in-line with HW

In current AB silicon, BIAS_EN field is enabled by default in the
REFERENCES register, so the regmap default value should reflect
this.

Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit 9ff099790412cb46536efba02039b36d81300976)

Change-Id: I8eabb89f669e02c6bda6ecee0b4253367082a59f
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
8 years agoUPSTREAM: ASoC: da7219: Disable regulators on probe() failure
Adam Thomson [Tue, 22 Dec 2015 18:27:51 +0000 (18:27 +0000)]
UPSTREAM: ASoC: da7219: Disable regulators on probe() failure

If codec probe() function fails after supplies have been enabled
it should really tidy up and disable them again. This patch updates
the probe function to do just that.

Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit 9069bf9bc839d97e07fe17c336eab095c1065cec)

Change-Id: I3eebc1ff3af1b4f07fd564cc5d054ab0d6c43ad0
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
8 years agoUPSTREAM: ASoC: da7219: Fix Sidetone to work regardless of DAI capture
Adam Thomson [Tue, 22 Dec 2015 18:27:52 +0000 (18:27 +0000)]
UPSTREAM: ASoC: da7219: Fix Sidetone to work regardless of DAI capture

Previously Sidetone would operate only when capture to DAI was in
progress, due to DAPM path configuration. There is no reason why
this should not operate without DAI capture, so this patch updates
the DAPM path accordingly.

Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit fdd50a8086422caa456b5f8abb631dda6c551744)

Change-Id: I167dfe2bf18d696a01b8261b0fb0bb7a7569ec21
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
8 years agoUPSTREAM: ASoC: da7219: Use logical instead of bitwise OR for boolean expression
Axel Lin [Sat, 24 Oct 2015 06:28:33 +0000 (14:28 +0800)]
UPSTREAM: ASoC: da7219: Use logical instead of bitwise OR for boolean expression

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit a737447d080929c54c664adc9c62eadab9e86d3e)

Change-Id: I7b41ffe3d8144b1d4fa43dbf13e324f2f8d409ad
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
8 years agodt/bindings: rockchip-thermal: Support the RK3366 SoCs compatible
Elaine Zhang [Sat, 30 Jan 2016 02:22:22 +0000 (10:22 +0800)]
dt/bindings: rockchip-thermal: Support the RK3366 SoCs compatible

This patchset attempts to new compatible for thermal founding
on RK3366 SoCs.

Change-Id: Ida2a46f0c8dfb8f9e99c8c7ba488be07dac8a5e8
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
8 years agoARM64: dts: rockchip: Change PWM regulators to 300kHz for gru base
Douglas Anderson [Tue, 12 Apr 2016 00:51:56 +0000 (17:51 -0700)]
ARM64: dts: rockchip: Change PWM regulators to 300kHz for gru base

Apparently the time constant for for the PWM regulator circuit on
gru-based devices is different than EVB.  Let's run at 300kHz which
should make us work well.

BUG=None
TEST=None

Change-Id: I0973f416d026de27908c3ef527c1e9274b967fc8
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Reviewed-on: https://chrome-internal-review.googlesource.com/254648
Reviewed-by: Stephen Barber <smbarber@google.com>
Tested-by: Doug Anderson <dianders@google.com>
8 years agovideo: rockchip: vop: 3399: enable auto gating
Huang Jiachai [Tue, 12 Apr 2016 10:09:49 +0000 (18:09 +0800)]
video: rockchip: vop: 3399: enable auto gating

Change-Id: I78e1f2b0c90545f0bb9e33b98979f8c102b123b5
Signed-off-by: Huang Jiachai <hjc@rock-chips.com>
8 years agoARM64: dts: rk3399: add "rockchip,grf" for i2s0
Sugar Zhang [Tue, 12 Apr 2016 07:42:50 +0000 (15:42 +0800)]
ARM64: dts: rk3399: add "rockchip,grf" for i2s0

Change-Id: I8f275e960db8fe180d769fd7f081a379f8ace1a2
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
8 years agoUPSTREAM: ASoC: rockchip: i2s: configure the sdio pins' iomux mode
Sugar Zhang [Mon, 11 Apr 2016 09:26:03 +0000 (17:26 +0800)]
UPSTREAM: ASoC: rockchip: i2s: configure the sdio pins' iomux mode

There are 3 i2s sdio pins, which iomux mode is as follows:

 - sdi3_sdo1
 - sdi2_sdo2
 - sdi1_sdo3

we need to configure these pins' iomux mode via the GRF register
when use multi channel playback/capture.

Change-Id: I95f01f425931d8fb826f33d5dad87ef8aa2b8b6e
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from git.kernel.org broonie/sound.git topic/rockchip
 commit 72b7ba1f1477f1b9b0a3ddf2dd4b5392ce88a8a3)

8 years agoUPSTREAM: ASoC: rockchip: add playback property
Sugar Zhang [Tue, 10 Nov 2015 07:32:08 +0000 (15:32 +0800)]
UPSTREAM: ASoC: rockchip: add playback property

rockchip,playback-channels: max playback channels, 8 channels default.

Change-Id: I0db92ad3d3270e46bb98a2977163869251c32f2d
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit 7fd9093a7570f5d8bbdc8014c0a349da2afea97e)

8 years agoclk: rockchip: rk3399: add softreset ID for gpu
Elaine Zhang [Tue, 12 Apr 2016 07:10:28 +0000 (15:10 +0800)]
clk: rockchip: rk3399: add softreset ID for gpu

Change-Id: I19613ee4a35f3a61c4f02f30449ce9e389bb7162
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
8 years agousb: dwc3: add functions to set force mode
Wu Liang feng [Thu, 7 Apr 2016 10:31:50 +0000 (18:31 +0800)]
usb: dwc3: add functions to set force mode

Add functions to set force mode for host and device.
These functions will check the current mode and only
force if needed thus avoiding unnecessary force mode
delays. It's useful for dwc3 controller on some platforms
which don't support otg mode but support drd mode,
like rk3399 platform.

TEST=config dr_mode = "otg" in dts first, and do
"echo device > mode" on usb debugfs dir to force device mode,
do "echo host > mode" on usb debugfs dir to force host mode.

Change-Id: I1f90ac9d1ee3daa19c1046b0e52fdfb8f2d2ad62
Signed-off-by: Wu Liang feng <wulf@rock-chips.com>
8 years agodrm/panel: simple: Add support for LG LP097QX1-SPA1 2048x1536 panel
Yakir Yang [Sat, 9 Apr 2016 04:17:20 +0000 (12:17 +0800)]
drm/panel: simple: Add support for LG LP097QX1-SPA1 2048x1536 panel

The LG LP097QX1-SPA1 is an 9.7", 2048x1536 (QXGA) TFT-LCD panel
connected using eDP interfaces.

Change-Id: I3a279ff9e4dde421832e2f9fe8152ddfbadab2ae
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
8 years agodt-bindings: add LG LP097QX1-SPA1 panle binding
Yakir Yang [Tue, 12 Apr 2016 01:14:15 +0000 (09:14 +0800)]
dt-bindings: add LG LP097QX1-SPA1 panle binding

The LG LP097QX1-SPA1 is an 9.7", 2048x1536 (QXGA) TFT-LCD panel
connected using eDP interfaces.

Change-Id: I09554d0c2afcce744e959878c7cd9d9950b35a17
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
8 years agoARM64: dts: rk3399: assign VOP parent and rate for ACLK/HCLK
Xing Zheng [Thu, 7 Apr 2016 09:29:44 +0000 (17:29 +0800)]
ARM64: dts: rk3399: assign VOP parent and rate for ACLK/HCLK

Change-Id: Ifcce7764eb709386e40140c58299468ea835fd8c
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
8 years agoUPSTREAM: [media] media/core: Replace ctrl_class with which
Ricardo Ribalda [Thu, 29 Oct 2015 10:10:28 +0000 (08:10 -0200)]
UPSTREAM: [media] media/core: Replace ctrl_class with which

Replace the obsolete field ctrl_class with "which".

Make sure it not used in future modules by commenting out the field with
ifndef __KERNEL_ .

The field cannot be simply removed because that would be change on the
kenel API to the userspace (and we don't like that).

Change-Id: I21bfb7c2a4b553e74765213fd99c381d8b609cc0
Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Signed-off-by: Alpha Lin <alpha.lin@rock-chips.com>
(cherry picked from commit 0f8017bebf3efd3dcb115bf8a3f883b3123019ee)

8 years agoUPSTREAM: [media] videodev2.h: Extend struct v4l2_ext_controls
Ricardo Ribalda [Thu, 29 Oct 2015 10:10:27 +0000 (08:10 -0200)]
UPSTREAM: [media] videodev2.h: Extend struct v4l2_ext_controls

So it can be used to get the default value of a control.

Without this change it is not possible to get the
default value of array controls.

Change-Id: I4370b7f2a40a08f28648f8dcaa3d84405db12523
Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Signed-off-by: Alpha Lin <alpha.lin@rock-chips.com>
(cherry picked from commit 35ec2a2fa5a362b07b590ae1568dc35e47a7b846)

8 years agovideo: rockchip: vop: 3399: fix win lite disp size error
Huang Jiachai [Sat, 9 Apr 2016 09:07:22 +0000 (17:07 +0800)]
video: rockchip: vop: 3399: fix win lite disp size error

Change-Id: I8874026dfd75353c129418a29d860499773e2ebb
Signed-off-by: Huang Jiachai <hjc@rock-chips.com>
8 years agovideo: rockchip: vop: 3399: update for dsp output mode
Huang Jiachai [Wed, 6 Apr 2016 07:15:29 +0000 (15:15 +0800)]
video: rockchip: vop: 3399: update for dsp output mode

Change-Id: I3558b90bea9cdad7954d17004c08cfc2c2c53aa0
Signed-off-by: Huang Jiachai <hjc@rock-chips.com>
8 years agovideo: rockchip: vop: 3399: update for CABC
Huang Jiachai [Wed, 6 Apr 2016 06:59:12 +0000 (14:59 +0800)]
video: rockchip: vop: 3399: update for CABC

Change-Id: I6e93d0e8daedf8a1c671ebbc28719da0296083da
Signed-off-by: Huang Jiachai <hjc@rock-chips.com>