firefly-linux-kernel-4.4.55.git
7 years agophy: rockchip-inno-usb2: rm phy_power_on/off in suspend/resume cases.
Frank Wang [Fri, 16 Dec 2016 01:09:23 +0000 (09:09 +0800)]
phy: rockchip-inno-usb2: rm phy_power_on/off in suspend/resume cases.

Usb-controller can invoke phy_power_on/off in its suspend/resume
process, so usb-phy need not do it again.

This adds remove phy_power_on/off in its suspend/resume cases.

Change-Id: Ice30e79ffba8116ca9bfae344c7ea232f6580130
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
7 years agousb: dwc3: rockchip: power off usb2 phy in suspend
William Wu [Thu, 15 Dec 2016 06:46:53 +0000 (14:46 +0800)]
usb: dwc3: rockchip: power off usb2 phy in suspend

DWC3 use extcon notifier to manage USB cable detection
and mode switch. For host mode, if USB device connected,
it requires to reset the whole DWC3 controller to make
sure that pipe power state in P2 before power on USB3 PHY,
after do DWC3 reset we will do phy power on in extcon evt
work, however, the DWC3 core will do phy power on again
in runtime resume process (dwc3_runtime_resume() ->
dwc3_core_init() -> phy_power_on()). This will cause PHY
power off failure during suspend because we just do once
phy power off in suspend(dwc3_suspend() -> dwc3_core_exit()
-> phy_power_off()).

This patch does phy power off in suspend to make sure that
USB2 PHY enter suspend in HOST mode. And because USB3 PHY
power on operation need to be done while the pipe is in P2
state, but after resume the pipe is in P0 state, so we just
put USB3 PHY in power on state.

Change-Id: I643ba0abeb015be9285fd29d59fa0e006131c39b
Signed-off-by: William Wu <wulf@rock-chips.com>
7 years agoarm64: dts: rockchip: keep vbus always on for usb2.0 host of rk3399
Frank Wang [Fri, 16 Dec 2016 00:38:11 +0000 (08:38 +0800)]
arm64: dts: rockchip: keep vbus always on for usb2.0 host of rk3399

One basic condition of usb remote wakeup is vbus on, so we add
regulator-always-on property for vcc5v0_host regulator in this adds.

In the previous codes, ehci/ohci-platform did not power off
vcc5v0_host regulator due to some oddish codes, and we have fixed it
at commit b5a0a9e8794d.

Change-Id: I95c225c9c3aeec6e346d62e61fdcde5e5e02d143
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
7 years agoarm64: rockchip_cros_defconfig: enable Type-C PHY and DP config
Kever Yang [Wed, 23 Mar 2016 09:42:48 +0000 (17:42 +0800)]
arm64: rockchip_cros_defconfig: enable Type-C PHY and DP config

Change-Id: Iac8930ad5c229e385889fa8b042973730a5aea2b
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
7 years agoASoC: Add driver for codec cx2072x
zhangjun [Thu, 8 Dec 2016 07:54:37 +0000 (15:54 +0800)]
ASoC: Add driver for codec cx2072x

Change-Id: I9a0eb611a4e0d861b7d47d4944b93203f823738b
Signed-off-by: zhangjun <zhangjun@rock-chips.com>
7 years agoarm64: dts: rockchip: modify logo-mode as center for rk3399 mid
Hao Xiaowei [Tue, 20 Dec 2016 01:27:53 +0000 (09:27 +0800)]
arm64: dts: rockchip: modify logo-mode as center for rk3399 mid

Change-Id: I529a1063efd6475d49f6eb738e4612cfb711ced1
Signed-off-by: Hao Xiaowei <hxw@rock-chips.com>
7 years agovideo: rockchip: vcodec: add log message in iommu drm
Jung Zhao [Tue, 20 Dec 2016 00:50:28 +0000 (08:50 +0800)]
video: rockchip: vcodec: add log message in iommu drm

Change-Id: If66e7654d87c790977378630824d582f2f4c4ffa
Signed-off-by: Jung Zhao <jung.zhao@rock-chips.com>
7 years agovideo: rockchip: vcodec: add buffer recycle mechanism in vpu
Jung Zhao [Mon, 19 Dec 2016 07:11:39 +0000 (15:11 +0800)]
video: rockchip: vcodec: add buffer recycle mechanism in vpu

when info change, vpu driver doesn't know when to release
buffers. with this mechanism, vpu driver will auto release
when buffer nums bigger than BUFFER_LIST_MAX_NUMS.

Change-Id: Id4fb91257d260bfd2e18388731941c4f0cc191b0
Signed-off-by: Jung Zhao <jung.zhao@rock-chips.com>
7 years agovideo: rockchip: vcodec: fix fd import error
Jung Zhao [Mon, 19 Dec 2016 06:35:35 +0000 (14:35 +0800)]
video: rockchip: vcodec: fix fd import error

Since fd will be reused even if dma buffer doesn't release,
this will cause output buffer error when use usb camera
with mjpeg or h264 format.

Change-Id: I2baeb2c5d9127df0a0eb362b8c577c05ceca470d
Signed-off-by: Jung Zhao <jung.zhao@rock-chips.com>
7 years agoarm64: dts: rockchip: enable cdn-dp for rk3399-evb-cros
Chris Zhong [Fri, 25 Nov 2016 05:16:39 +0000 (13:16 +0800)]
arm64: dts: rockchip: enable cdn-dp for rk3399-evb-cros

Signed-off-by: Chris Zhong <zyw@rock-chips.com>
Change-Id: I7f86533a5890edd1fc113bf9553764ab3dee7640

7 years agoUPSTREAM: ASoC: rockchip: i2s: restore register during runtime_suspend/resume cycle
Sugar Zhang [Wed, 7 Sep 2016 06:27:33 +0000 (14:27 +0800)]
UPSTREAM: ASoC: rockchip: i2s: restore register during runtime_suspend/resume cycle

when step into runtime_suspend, i2s pd will be disabled and loss state.
so need to restore register when runtime_resume.

Change-Id: Ie37aba46f6ee21be2af404da24ba667e3ca86d6c
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Douglas Anderson <dianders@chromium.org>
(cherry picked from git.kernel.org broonie/sound.git topic/rockchip
 commit f0447f6cbb202e1be8244d15aee390a96d65e490)

7 years agoarm64: dts: rockchip: add cdn-dp node for rk3399
Chris Zhong [Thu, 24 Nov 2016 06:28:08 +0000 (14:28 +0800)]
arm64: dts: rockchip: add cdn-dp node for rk3399

Add a node for the cdn DP controller which is embedded in the rk3399
SoC.

Signed-off-by: Chris Zhong <zyw@rock-chips.com>
Reviewed-by: Guenter Roeck <groeck@chromium.org>
Change-Id: I253bb9b9d6c1b8a407f7c49503ec666bb8b64d4d

7 years agodrm/rockchip: cdn-dp: add hdmi-codec jack event
Chris Zhong [Thu, 24 Nov 2016 06:22:51 +0000 (14:22 +0800)]
drm/rockchip: cdn-dp: add hdmi-codec jack event

Use HDMI connection / disconnection notifications to update an ALSA
jack object.

Change-Id: Ia18537be1ddb899b7ac490560bf91d7de83eae02
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
7 years agoFROMLIST: ASoC: hdmi-codec: Use HDMI notifications to add jack support
Philipp Zabel [Wed, 20 Apr 2016 09:00:00 +0000 (11:00 +0200)]
FROMLIST: ASoC: hdmi-codec: Use HDMI notifications to add jack support

Use HDMI connection / disconnection notifications to update an ALSA
jack object. Also make a copy of the ELD block after every change.

Conflicts:
sound/soc/codecs/Kconfig
sound/soc/codecs/hdmi-codec.c

(am from https://patchwork.kernel.org/patch/8887251/)
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
Change-Id: I5f4a931c3b91c2b230ce5a61b60f191628d93105

7 years agoFROMLIST: video: rmk's HDMI notification prototype
Philipp Zabel [Wed, 20 Apr 2016 08:59:59 +0000 (10:59 +0200)]
FROMLIST: video: rmk's HDMI notification prototype

This is Russell's HDMI notification prototype [1], currently waiting
for the HDMI CEC situation to resolve.

The use case for the notifications on MediaTek MT8173 is to let the
(dis)connection notifications control an ALSA jack object.

No Signed-off-by since this is not my code, and still up for discussion.

[1] https://patchwork.kernel.org/patch/8351501/

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

Signed-off-by: Chris Zhong <zyw@rock-chips.com>
Change-Id: I87daa156de6cfa7ff8db9df9d8ecc8c42d76798f

7 years agoFROMLIST: drm/rockchip: cdn-dp: Do not run worker while suspended
Guenter Roeck [Tue, 22 Nov 2016 20:50:07 +0000 (15:50 -0500)]
FROMLIST: drm/rockchip: cdn-dp: Do not run worker while suspended

If the driver is in suspended mode, the dp block may be disabled, and
chip registers may not be accessible. Yet, the worker may be triggered
in this situation by an extcon event. If that happens, the following crash
will be seen.

cdn-dp fec00000.dp: [drm:cdn_dp_pd_event_work] *ERROR* Enable dp failed -19
cdn-dp fec00000.dp: [drm:cdn_dp_pd_event_work] Connected, not enabled. Enabling cdn
Bad mode in Error handler detected, code 0xbf000002 -- SError
CPU: 1 PID: 10357 Comm: kworker/1:2 Not tainted 4.4.21-05903-ge0514ea #1
Hardware name: Google Kevin (DT)
Workqueue: events cdn_dp_pd_event_work
task: ffffffc0cda67080 ti: ffffffc0b9b80000 task.ti: ffffffc0b9b80000
PC is at cdn_dp_clock_reset+0x30/0xa8
LR is at cdn_dp_enable+0x1e0/0x69c
...
Call trace:
[<ffffffc0005a7e24>] cdn_dp_pd_event_work+0x58/0x3f4
[<ffffffc0002397f0>] process_one_work+0x240/0x424
[<ffffffc00023a28c>] worker_thread+0x2fc/0x424
[<ffffffc00023f5fc>] kthread+0x10c/0x114
[<ffffffc000203dd0>] ret_from_fork+0x10/0x40

Problem is two-fold: The worker should not run while suspended, and the
suspend function should not call cdn_dp_disable() while the worker is
running.

Signed-off-by: Guenter Roeck <groeck@chromium.org>
Signed-off-by: Sean Paul <seanpaul@chromium.org>
(am from https://patchwork.kernel.org/patch/9442149)
Change-Id: Ic01c6f793281a47c36a90c1be34a5e479ebabb3e

7 years agoFROMLIST: drm/rockchip: cdn-dp: Load firmware if no monitor connected
Guenter Roeck [Tue, 22 Nov 2016 20:50:06 +0000 (15:50 -0500)]
FROMLIST: drm/rockchip: cdn-dp: Load firmware if no monitor connected

If no monitor is connected, suspend/resume cycles result in firmware
load errors because the driver attempts to load the firmware while
the system is in suspend state. This results in a kernel warning and
traceback.

Loading the firmware during boot fixes the problem. Note that we can not
just call schedule_work conditionally in cdn_dp_pd_event() if the insertion
status changed. The problem would still be seen if a monitor is connected
for the first time during suspend.

(am from https://patchwork.kernel.org/patch/9442145)
Signed-off-by: Guenter Roeck <groeck@chromium.org>
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Change-Id: I86eb7c41624be1a8f5952ba7709e623a70941b8c

7 years agodrm/rockchip: cdn-dp: fix some error
Chris Zhong [Tue, 22 Nov 2016 20:50:05 +0000 (15:50 -0500)]
drm/rockchip: cdn-dp: fix some error

This commit is for fixing some error, according to the comments from
CL:5442
1. correct the use of rate
2. remove the phy switch from DP driver, it is controlled in PHY driver
3. add some const keyword
4. clear int_mask to 0
5. modify spelling errors

Change-Id: I239a9e7183593b85485abb6d288d6cb1558c65f7
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
7 years agoFROMLIST: drm/rockchip: cdn-dp: add cdn DP support for rk3399
Chris Zhong [Tue, 22 Nov 2016 20:50:05 +0000 (15:50 -0500)]
FROMLIST: drm/rockchip: cdn-dp: add cdn DP support for rk3399

Add support for cdn DP controller which is embedded in the rk3399
SoCs. The DP is compliant with DisplayPort Specification,
Version 1.3, This IP is compatible with the rockchip type-c PHY IP.
There is a uCPU in DP controller, it need a firmware to work,
please put the firmware file to /lib/firmware/rockchip/dptx.bin. The
uCPU in charge of aux communication and link training, the host use
mailbox to communicate with the ucpu.
The dclk pin_pol of vop must not be invert for DP.

Change-Id: I64aee564f782db9943a92ca07cb20e2111d7921f
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
[seanpaul fixed up some races between the worker and modeset]
[seanpaul squashed ~15 commits from chromium.org gerrit]
Signed-off-by: Sean Paul <seanpaul@chromium.org>
[groeck fixed compilation errors when building as module]
Signed-off-by: Guenter Roeck <groeck@chromium.org>
(am from https://patchwork.kernel.org/patch/9442143)

7 years agovideo: rockchip: dp: modify get edid method and modify get dpcd retry times.
wjh [Fri, 16 Dec 2016 07:57:13 +0000 (15:57 +0800)]
video: rockchip: dp: modify get edid method and modify get dpcd retry times.

Change-Id: I69c7b91b78707b40126f2366f28ff6256eabe4fb
Signed-off-by: wjh <wjh@rock-chips.com>
7 years agovideo: vcodec: fix warning when enable ion in arm32
Jacob Chen [Fri, 16 Dec 2016 08:54:34 +0000 (16:54 +0800)]
video: vcodec: fix warning when enable ion in arm32

Change-Id: Ia409365aa780badbaa64539ebc3d5679dda49a7a
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
7 years agoarm: dts: rockchip: add allocator type inside vpu & hevc for rk3288-linux
Jacob Chen [Fri, 16 Dec 2016 09:48:09 +0000 (17:48 +0800)]
arm: dts: rockchip: add allocator type inside vpu & hevc for rk3288-linux

Change-Id: I6e9a72fb287f963be78c4dc6f375fa12991394f2
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
7 years agoARM: configs: enable vcodec driver for rockchip linux
Jacob Chen [Fri, 9 Dec 2016 07:06:50 +0000 (15:06 +0800)]
ARM: configs: enable vcodec driver for rockchip linux

Change-Id: I5533054d9fdde1d7700f127ce4b6248d709f7588
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
7 years agoarm: dts: rockchip: switch to vpu-service in rk3288 linux boards
Jacob Chen [Thu, 15 Dec 2016 03:15:07 +0000 (11:15 +0800)]
arm: dts: rockchip: switch to vpu-service in rk3288 linux boards

We decide to back to old vcodec driver until getting a better v4l2 solution

Change-Id: Iec3f5b3aba86866a0b0fc7aab5b6c2b28bc268d9
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
7 years agoarm: dts: enable rga for rk3288 linux boards
Jacob Chen [Thu, 15 Dec 2016 07:48:07 +0000 (15:48 +0800)]
arm: dts: enable rga for rk3288 linux boards

we will use rga to speed xserver and wayland.

Change-Id: Ic975b1bbeb6afd8a3a15ba41afc1d8ff10c6d3b4
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
7 years agoarm: dts: rk3288: add drm rga node
Jacob Chen [Thu, 15 Dec 2016 03:32:37 +0000 (11:32 +0800)]
arm: dts: rk3288: add drm rga node

Change-Id: I3c88a695922d3e2245d6b406860db97de9d47244
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
7 years agoarm: dts: correct rk3288-evb gmac node
Jacob Chen [Thu, 15 Dec 2016 03:06:11 +0000 (11:06 +0800)]
arm: dts: correct rk3288-evb gmac node

remove repetition

Change-Id: I1140ce9cbf259eb827b7e2aa03a2e263e81735ea
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
7 years agoarm64: dts: rockchip: add mmc dt-bindings for rk3328 and evb board
Shawn Lin [Thu, 15 Dec 2016 01:06:23 +0000 (09:06 +0800)]
arm64: dts: rockchip: add mmc dt-bindings for rk3328 and evb board

Add dt-bindings for sdio/sdmmc(+ext)/emmc controllers

Change-Id: I1c52b803110c499c58c2c27a1c7488a98b0ca870
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
7 years agoUPSTREAM: drm: Introduce DRM_DEV_* log messages
Sean Paul [Mon, 15 Aug 2016 23:18:04 +0000 (16:18 -0700)]
UPSTREAM: drm: Introduce DRM_DEV_* log messages

This patch consolidates all the various log functions/macros into
one uber function, drm_log. It also introduces some new DRM_DEV_*
variants that print the device name to delineate multiple devices
of the same type.

Change-Id: Ic213cce1d775cc7b820473ee5263458a001f9558
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Link: http://patchwork.freedesktop.org/patch/msgid/1471303084-3757-1-git-send-email-seanpaul@chromium.org
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
(cherry picked from commit c4e68a5832021cf8c2f9a2f3419452470ca60bd8)

7 years agoUPSTREAM: drm: Add ratelimited versions of the DRM_DEBUG* macros
Lyude [Sat, 6 Aug 2016 00:30:38 +0000 (20:30 -0400)]
UPSTREAM: drm: Add ratelimited versions of the DRM_DEBUG* macros

There's a couple of places where this would be useful for drivers (such
as reporting DP aux transaction timeouts).

Change-Id: I027648bacec5e23890f6743207d66858f91c05df
Signed-off-by: Lyude <cpaul@redhat.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1470443443-27252-7-git-send-email-cpaul@redhat.com
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
(cherry picked from commit 27528c667a210845b35a1f49c810dba469bced52)

7 years agoARM64: dts: rk3399: add bq25700 support for tve1205g
Shunqing Chen [Thu, 15 Dec 2016 12:53:00 +0000 (20:53 +0800)]
ARM64: dts: rk3399: add bq25700 support for tve1205g

Change-Id: I74119a51d2557e86f3c579645db2b2b8dc71989c
Signed-off-by: Shunqing Chen <csq@rock-chips.com>
7 years agoarm64: rockchip_defconfig: enable bq25700
Shengfei xu [Mon, 19 Dec 2016 08:15:21 +0000 (16:15 +0800)]
arm64: rockchip_defconfig: enable bq25700

Change-Id: I96edac95110516c6f6747128fd50251cb3e37e7b
Signed-off-by: Shengfei xu <xsf@rock-chips.com>
7 years agousb: ehci/ohci-platform: assigned hcd phy phandle at platform probe
Frank Wang [Thu, 15 Dec 2016 02:50:54 +0000 (10:50 +0800)]
usb: ehci/ohci-platform: assigned hcd phy phandle at platform probe

In ehci/ohci-platform, phy_power_on() gets called twice at probe time,
one is at pdata->power_on(); another is in usb_add_hcd(). However,
phy_power_off() is only invoked one time when ehci/ohci-platform goes
to PM suspend. As a result, the phy power count become inconsistent.

This adds assigned phy phandle to hcd-phy at ehci/ohci-platform probe
time to prevent hcd invoking generic phy methods again when phy-cells
is 0 in DT.

Change-Id: I2f0cca622d31a46dea0b805b83b676cc78e4d67c
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
7 years agocpufreq: dt: fix the warning when use opp_v1
Finley Xiao [Thu, 15 Dec 2016 11:54:07 +0000 (19:54 +0800)]
cpufreq: dt: fix the warning when use opp_v1

Change-Id: I02c7a3cc68536b707baaa8a61f21ac4961184dda
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
7 years agoarm64: dts: rockchip: fix gic node name for rk3328
Huang, Tao [Mon, 19 Dec 2016 07:14:29 +0000 (15:14 +0800)]
arm64: dts: rockchip: fix gic node name for rk3328

The unit-address should be ff811000.

Change-Id: Id363731458bf2210ca5d92d679c00bbfdd3f9de4
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
7 years agoARM64: dts: rockchip: add max-link-speed for rk3399
Shawn Lin [Fri, 16 Dec 2016 09:27:59 +0000 (17:27 +0800)]
ARM64: dts: rockchip: add max-link-speed for rk3399

Per the errata of TRM, rk3399 won't support gen2 from
now on, so let's set max-link-speed to 1 in order not
to doing training for gen2.

Change-Id: I3fd455dc2427f2c67dc2dce8e8fabc4b521a49dd
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
7 years agousb: gadget: composite: fix double freeing of freed memory
William Wu [Fri, 16 Dec 2016 08:39:47 +0000 (16:39 +0800)]
usb: gadget: composite: fix double freeing of freed memory

The following message can be observed on rk3399 nougat board
when switch MTP/charge mode with KASan backported :

=============================================================================
BUG kmalloc-192 (Not tainted): Object already free
-----------------------------------------------------------------------------

Disabling lock debugging due to kernel taint
INFO: Allocated in dwc3_gadget_ep_alloc_request+0x2c/0xf4 age=977 cpu=4 pid=1
alloc_debug_processing+0x128/0x17c
___slab_alloc.constprop.56+0x520/0x604
__slab_alloc.isra.53.constprop.55+0x24/0x34
kmem_cache_alloc_trace+0xa4/0x210
dwc3_gadget_ep_alloc_request+0x2c/0xf4
__ffs_func_bind_do_descs+0x15c/0x1b0
ffs_do_descs+0x50/0x180
ffs_func_bind+0x3e4/0x634
usb_add_function+0x78/0xe8
configfs_composite_bind+0x240/0x2d8
udc_bind_to_driver+0x38/0xcc
usb_udc_attach_driver+0x80/0xa8
gadget_dev_desc_UDC_store+0xa0/0xe4
configfs_write_file+0xfc/0x14c
__vfs_write+0x38/0xfc
vfs_write+0xac/0x174
INFO: Freed in dwc3_gadget_ep_free_request+0x84/0xbc age=4 cpu=4 pid=1
free_debug_processing+0x29c/0x36c
__slab_free+0x60/0x388
kfree+0x210/0x27c
dwc3_gadget_ep_free_request+0x84/0xbc
ffs_func_unbind+0x88/0xe4
purge_configs_funcs+0xa8/0x100
configfs_composite_unbind+0x34/0x5c
usb_gadget_remove_driver+0x74/0xa0
usb_gadget_unregister_driver+0x60/0xa4
unregister_gadget+0x24/0x48
gadget_dev_desc_UDC_store+0x7c/0xe4
configfs_write_file+0xfc/0x14c
__vfs_write+0x38/0xfc
vfs_write+0xac/0x174
SyS_write+0x54/0xa4
el0_svc_naked+0x24/0x28
Hardware name: Rockchip RK3399 Evaluation Board v3 edp (Android) (DT)
Call trace:
[<ffffff9008088490>] dump_backtrace+0x0/0x1c8
[<ffffff900808866c>] show_stack+0x14/0x1c
[<ffffff900835cbe4>] dump_stack+0x8c/0xac
[<ffffff900819f840>] print_trailer+0x188/0x198
[<ffffff900819f9bc>] object_err+0x3c/0x4c
[<ffffff90081a1fb8>] free_debug_processing+0x27c/0x36c
[<ffffff90081a2108>] __slab_free+0x60/0x388
[<ffffff90081a2c88>] kfree+0x210/0x27c
[<ffffff9008645a58>] composite_dev_cleanup+0x74/0xfc
[<ffffff900864789c>] configfs_composite_bind+0x2b8/0x2d8
[<ffffff900864953c>] udc_bind_to_driver+0x38/0xcc
[<ffffff9008649650>] usb_udc_attach_driver+0x80/0xa8
[<ffffff900864835c>] gadget_dev_desc_UDC_store+0xa0/0xe4
[<ffffff9008218144>] configfs_write_file+0xfc/0x14c
[<ffffff90081ac958>] __vfs_write+0x38/0xfc
[<ffffff90081ad290>] vfs_write+0xac/0x174
[<ffffff90081adc4c>] SyS_write+0x54/0xa4
[<ffffff90080826f0>] el0_svc_naked+0x24/0x28

This patch sets the usb_request pointer to NULL after the
free the usb_request buf. And the composite_dev_cleanup()
will check if the usb_request pointer is NULL before do
kfree and avoid double freeing freed menory.

Change-Id: I69df57553cb14d046b8b8206becd342a5e5fb7ba
Signed-off-by: William Wu <wulf@rock-chips.com>
7 years agopower_supply: Add support for TI BQ25700 charger chip
Shengfei xu [Fri, 9 Dec 2016 07:27:11 +0000 (15:27 +0800)]
power_supply: Add support for TI BQ25700 charger chip

Change-Id: I362b5bb06455c2ddb9583bb5882ee349438ba799
Signed-off-by: Shengfei xu <xsf@rock-chips.com>
7 years agomfd: fusb302: add USB_FAST to notify PD information
Shunqing Chen [Wed, 7 Dec 2016 08:57:35 +0000 (16:57 +0800)]
mfd: fusb302: add USB_FAST to notify PD information

Change-Id: I1d0e244ad087d83935953efb3fff095e5d36cc24
Signed-off-by: Shunqing Chen <csq@rock-chips.com>
7 years agoUPSTREAM: clk: rockchip: validity should be checked prior to cpu clock rate change
Elaine Zhang [Tue, 8 Nov 2016 09:10:14 +0000 (17:10 +0800)]
UPSTREAM: clk: rockchip: validity should be checked prior to cpu clock rate change

If validity is not checked prior to clock rate change, clk_set_rate(
cpu_clk, unsupported_rate) will return success, but the real clock rate
change operation is prohibited in post clock change event. Alough post
clock change event will report error due to unsupported clock rate is
set, but this error message is ignored by clock framework.

Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Tested-by: Rocky Hao <rocky.hao@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(am from mmind/linux-rockchip.git branch v4.10-clk/next
 commit a554bb5fb01804a38fde3782831c9567d997939e)

Change-Id: I521700f86fe1d9bf2d1bef4ebe0350cd6f558c0a
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
7 years agoARM64: dts: rk3399: add some device support for tve1205g
Zhou weixin [Wed, 14 Dec 2016 12:08:11 +0000 (20:08 +0800)]
ARM64: dts: rk3399: add some device support for tve1205g

1.add hid i2c toucpad
2.add hid i2c keyboard
3.add battery fuel gauge
4.add hall sensor
5.modify backlight polarity

Change-Id: I648d568a595324505f08684308197350a73d763e
Signed-off-by: Zhou weixin <zwx@rock-chips.com>
7 years agoARM64: dts: rk3399-tve1205g: use simple-panel for edp panel
Mark Yao [Thu, 15 Dec 2016 02:34:04 +0000 (10:34 +0800)]
ARM64: dts: rk3399-tve1205g: use simple-panel for edp panel

Edp controller support get timing from edid, so we can simple use
a dummy panel for display, so bootloader and kernel all can use same
timing from edid

Change-Id: I0cf19817aa1c38cae25603814c3605e6c16fe0f6
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
7 years agodrm/panel: support get bus_format from device-tree
Mark Yao [Thu, 15 Dec 2016 02:27:20 +0000 (10:27 +0800)]
drm/panel: support get bus_format from device-tree

copy include/uapi/linux/media-bus-format.h to include/dt-bindings/display/media-bus-format.h
So we can use media bus format on device-tree.

Change-Id: I8f63856c4d61c77958c24cd5a4436050b85a093c
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
7 years agoARM64: dts: rk3399: fix coding style for tve1205g
Zhou weixin [Wed, 14 Dec 2016 07:26:50 +0000 (15:26 +0800)]
ARM64: dts: rk3399: fix coding style for tve1205g

Change-Id: I88ec89d500142f4292fba6cd94fb8802d960dcc1
Signed-off-by: Zhou weixin <zwx@rock-chips.com>
7 years agodrm/rockchip: update pre dither down config
Huang Jiachai [Mon, 12 Dec 2016 07:18:44 +0000 (15:18 +0800)]
drm/rockchip: update pre dither down config

between vop big and hdmi/edp/dp connect mode is 10bit, so we disable
pre dither down, otherwise enable pre dither down.

Change-Id: If18ed05647d2eb3c6d5c159dd365ea66e55cd408
Signed-off-by: Huang Jiachai <hjc@rock-chips.com>
7 years agodrm/rockchip: boot_logo: add vop loader power protect
Mark Yao [Wed, 14 Dec 2016 10:30:24 +0000 (18:30 +0800)]
drm/rockchip: boot_logo: add vop loader power protect

Change-Id: I018aef21831b7df05393cfe6dd4782bc1f4a8938
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
7 years agoarm64: dts add Rockchip RK3328 core dtsi and dts for EVB board
Chen Liang [Mon, 5 Dec 2016 12:18:52 +0000 (20:18 +0800)]
arm64: dts add Rockchip RK3328 core dtsi and dts for EVB board

Change-Id: I7b0af1eff050262d38716ce83ec7debb6538b010
Signed-off-by: Chen Liang <cl@rock-chips.com>
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Signed-off-by: David Wu <david.wu@rock-chips.com>
7 years agophy: rockchip-inno-usb2: usb remote wakeup support
Frank Wang [Sun, 18 Sep 2016 07:07:37 +0000 (15:07 +0800)]
phy: rockchip-inno-usb2: usb remote wakeup support

This adds support usb remote wakeup both host-port and otg-port,
each port can detect linestate irq then wakeup the whole system.

Change-Id: I5efcf958131827548954deb9360b9e98aa4bd0bc
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
7 years agodrm/rockchip: fix compile warning unused private
Mark Yao [Wed, 14 Dec 2016 03:47:21 +0000 (11:47 +0800)]
drm/rockchip: fix compile warning unused private

Fix warning:
drivers/gpu/drm/rockchip/rockchip_drm_fb.c: In function 'rockchip_drm_fb_destroy':
drivers/gpu/drm/rockchip/rockchip_drm_fb.c:50:31:
      warning: unused variable 'private' [-Wunused-variable]

Change-Id: Id120d86173823a68b9136a99f17fe5415041e471
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
7 years agodrm/panel: simple: Add support for INNOLUX N125HCE-GPA 1920x1080 panel
WeiYong Bi [Mon, 12 Dec 2016 08:36:07 +0000 (16:36 +0800)]
drm/panel: simple: Add support for INNOLUX N125HCE-GPA 1920x1080 panel

The INNOLUX N125HCE-GPA is a 12.5' TFT Liquid Crystal Display NB module
with LED Backlight unit and 30 pins eDP interface. This module supports
1920x1080 FHD mode and can display 16.7M colors.

Change-Id: I72318ac3317cd03e2301a1cab61cf126cd2a401b
Signed-off-by: WeiYong Bi <bivvy.bi@rock-chips.com>
7 years agophy: rockchip-inno-usb2: support otg vbus always powered on
William Wu [Tue, 13 Dec 2016 09:29:24 +0000 (17:29 +0800)]
phy: rockchip-inno-usb2: support otg vbus always powered on

Some platforms (e.g. RK3399 BOX board) otg port connector
interface is not standard, that is a Type-A connector with
vbus always powered on, looks like to work as host mode,
however, the otg port still need to support DRD mode.

In the current code, if otg vbus is always powered on, it
will cause USB2 PHY to detect a floating charger in error
case and power off USB2 PHY. This patch adds a new property
"rockchip,vbus-always-on" to fix this issue. With this patch,
we handle this case as otg host only mode, and avoid to do
charger detection and power off USB2 PHY.

Change-Id: I69e5e87021f3f2d654793e547264aec55ac664ef
Signed-off-by: William Wu <wulf@rock-chips.com>
7 years agoARM64: dts: rockchip: move rk3399 pmu-io-domain nodes to the pmugrf
Jianqun Xu [Tue, 13 Dec 2016 09:29:34 +0000 (17:29 +0800)]
ARM64: dts: rockchip: move rk3399 pmu-io-domain nodes to the pmugrf

Afer the "PM / AVS: rockchip-io: make io-domains a child of the GRF",
the pmu-io-domains should be a sub-node of the pmugrf simple-mfd.

Change-Id: Iebfe9041a604580ce3e5b028d7a143fcdbbdff25
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
7 years agoARM64: dts: rockchip: move rk3399 io-domain nodes to the grf
Jianqun Xu [Fri, 9 Dec 2016 10:59:34 +0000 (18:59 +0800)]
ARM64: dts: rockchip: move rk3399 io-domain nodes to the grf

Afer the "PM / AVS: rockchip-io: make io-domains a child of the GRF",
the io-domains should be a sub-node of the grf simple-mfd.

Change-Id: Ic2a40726bccee8b795b5249e07f2537fd30b3f7b
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
7 years agork: gcc-wrapper.py ignore memcontrol.c:5355
Huang, Tao [Tue, 13 Dec 2016 11:08:20 +0000 (19:08 +0800)]
rk: gcc-wrapper.py ignore memcontrol.c:5355

Change-Id: Ic55a0e167d8158069efe136b5af61d49be17c17d
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
7 years agoARM64: dts: rockchip: remove isp support for rk3399 evb3
Jianqun Xu [Tue, 13 Dec 2016 09:12:20 +0000 (17:12 +0800)]
ARM64: dts: rockchip: remove isp support for rk3399 evb3

Enable isp will cause system to halt on android booting, which
is caused by wrong voltage for vdd_gpu.

isp will set gpio directly, unfortunatly, it sets the enable gpio
of dc-dc for gpu.

There has no good solution for isp to fix this issue, so let's
disable the isp node for rk3399 evb3 firstly to make board works
well.

Change-Id: I5dd8c367a192ce793ed388aaf143125550e90621
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
7 years agodrm/panel: simple: Add support for AUO B125HAN03.1 1920x1080 panel
WeiYong Bi [Mon, 12 Dec 2016 08:40:21 +0000 (16:40 +0800)]
drm/panel: simple: Add support for AUO B125HAN03.1 1920x1080 panel

The AUO B125HAN03.1 panel is a 12.5' FHD 16:9 Color TFT-LCD
and 30 pins eDP interface.

Change-Id: Ic2be5f1d5a3e25d805e0752c1c1fad0decc4f2d0
Signed-off-by: WeiYong Bi <bivvy.bi@rock-chips.com>
7 years agodrm/panel: simple: Add support for BOE NV124FHM-N73 1920x1080 panel
WeiYong Bi [Mon, 12 Dec 2016 08:46:21 +0000 (16:46 +0800)]
drm/panel: simple: Add support for BOE NV124FHM-N73 1920x1080 panel

The BOE NV125FHM-N73 panel is a 12.5' FHD 16:9 Color TFT-LCD
and 30 pins eDP interface.

Change-Id: Idc15fb7126bf778fd23a766b01c2d5cf9760d4f3
Signed-off-by: WeiYong Bi <bivvy.bi@rock-chips.com>
7 years agoARM64: dts: rk3399: add new dts for tve1205g
Zhou weixin [Tue, 6 Dec 2016 03:53:31 +0000 (11:53 +0800)]
ARM64: dts: rk3399: add new dts for tve1205g

Change-Id: I698a0cb3efa998c3c5cd53e238c656fba82e15cc
Signed-off-by: Zhou weixin <zwx@rock-chips.com>
7 years agoiommu/rockchip: Ignore isp reset when isp mmu attach
Simon [Thu, 1 Dec 2016 01:40:28 +0000 (09:40 +0800)]
iommu/rockchip: Ignore isp reset when isp mmu attach

Reset isp mmu would failed when attach,just ignore reset operation

Change-Id: Ib323db151e7313635524526d5304e16b9b504201
Signed-off-by: Simon <xxm@rock-chips.com>
7 years agocpufreq: dt: fix the warning occurred when upped cpu5 before cpu4
Finley Xiao [Mon, 12 Dec 2016 01:46:29 +0000 (09:46 +0800)]
cpufreq: dt: fix the warning occurred when upped cpu5 before cpu4

root@rk3399:/ # echo 0 > /sys/devices/system/cpu/cpu4/online
CPU4: shutdown
psci: CPU4 killed.
root@rk3399:/ # echo 0 > /sys/devices/system/cpu/cpu5/online
IRQ17 no longer affine to CPU5
CPU5: shutdown
psci: CPU5 killed.
root@rk3399:/ # echo 1 > /sys/devices/system/cpu/cpu5/online
Detected PIPT I-cache on CPU5
CPU5: found redistributor 101 region 0:0x00000000fefa0000
CPU5: update cpu_capacity 1024
CPU5: Booted secondary processor [410fd082]
cpu cpu5: opp_list_debug_create_link: Failed to create link
cpu cpu5: _add_opp_dev: Failed to register opp debugfs (-12)
cpu cpu5: dev_pm_opp_get_max_volt_latency: Invalid regulator (-6)

Change-Id: I9b066f9712b7f8426561e03a538a9a5c45138ab0
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
7 years agodrm/rockchip: vop: fix win ext config offset
Mark Yao [Mon, 12 Dec 2016 10:19:58 +0000 (18:19 +0800)]
drm/rockchip: vop: fix win ext config offset

Use win->offset for window ext config is wrong,
cause yuv color space display abnormal.

Change-Id: I425c412767ad1014cff0707e549d17534fa8059b
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
7 years agoUPSTREAM: dt-bindings: add bindings for Rockchip grf
Jianqun Xu [Tue, 23 Feb 2016 07:01:01 +0000 (15:01 +0800)]
UPSTREAM: dt-bindings: add bindings for Rockchip grf

Add devicetree bindings for Rockchip grf which found on
Rockchip SoCs.

Change-Id: Iac0913b71925f7ddc0edd10b34024b049aace964
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from commit fe95effb4c381355e38f5bffced4917a2b6dc7d3)

7 years agovideo: rockchip: fb: add more debug message
Huang Jiachai [Mon, 14 Nov 2016 01:07:17 +0000 (09:07 +0800)]
video: rockchip: fb: add more debug message

Change-Id: Id096dec3a60cee14fecd16f37407fa10f8d8b90e
Signed-off-by: Huang Jiachai <hjc@rock-chips.com>
7 years agopinctrl: rockchip: Add rk3328 pinctrl support
David Wu [Fri, 9 Dec 2016 03:38:17 +0000 (11:38 +0800)]
pinctrl: rockchip: Add rk3328 pinctrl support

Change-Id: I3b5b69e46b555ab3578d611e5d480ced9c493666
Signed-off-by: David Wu <david.wu@rock-chips.com>
7 years agoPM / AVS: check initial rate only once
Finley Xiao [Fri, 9 Dec 2016 03:41:02 +0000 (11:41 +0800)]
PM / AVS: check initial rate only once

The patch fixes the warring when rk3399-vr resume:

CPU4: found redistributor 100 region 0:0x00000000fef80000
CPU4: update cpu_capacity 1024
CPU4: Booted secondary processor [410fd082]
rk3x-i2c ff3c0000.i2c: timeout, ipd: 0x10, state: 1
rk3x-i2c ff3c0000.i2c: timeout, ipd: 0x10, state: 1
rk3x-i2c ff3c0000.i2c: timeout, ipd: 0x10, state: 1
cpu cpu4: _set_opp_voltage:
failed to set voltage (800000 800000 800000 mV): -110
cpu cpu4: failed to set volt 800000
CPU4 is up
Detected PIPT I-cache on CPU5
CPU5: found redistributor 101 region 0:0x00000000fefa0000
CPU5: update cpu_capacity 1024
CPU5: Booted secondary processor [410fd082]
CPU5 is up

Change-Id: I36f1b5d23c8d2436e20765d699dfde9eb8cf74fa
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
7 years agoPM / OPP: fix the errors occurred during getting or setting voltage
Finley Xiao [Fri, 9 Dec 2016 03:34:03 +0000 (11:34 +0800)]
PM / OPP: fix the errors occurred during getting or setting voltage

Change-Id: Iae0695d780b7f8f75c6d49bde5ee09beb04e1d80
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
7 years agoarm64: dts: rk3399-android-next: Use original rga
Zikim,Wei [Wed, 7 Dec 2016 04:34:08 +0000 (12:34 +0800)]
arm64: dts: rk3399-android-next: Use original rga

Change-Id: Ie3d5de2158e888546102bf131a9bd16f8701693e
Signed-off-by: Zikim,Wei <wzq@rock-chips.com>
7 years agoi2c: rk3x: Add i2c support for rk3328
David Wu [Fri, 9 Dec 2016 03:41:20 +0000 (11:41 +0800)]
i2c: rk3x: Add i2c support for rk3328

Change-Id: I04597a8acde38699b910cd7f3a688c501a0cf571
Signed-off-by: David Wu <david.wu@rock-chips.com>
7 years agoclk: rockchip: add clock controller for rk3328
Elaine Zhang [Wed, 7 Dec 2016 07:23:35 +0000 (15:23 +0800)]
clk: rockchip: add clock controller for rk3328

Add the clock tree definition for the new rk3328 SoC.
Fix up the pll setting to support rk3328 SoC.

Change-Id: Icf887625697515cf3e2cd2f7da7956a57c7e558a
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
7 years agoclk: rockchip: add dt-binding header for rk3328
Elaine Zhang [Wed, 7 Dec 2016 07:15:24 +0000 (15:15 +0800)]
clk: rockchip: add dt-binding header for rk3328

Add the dt-bindings header for the rk3328, that gets shared between
the clock controller and the clock references in the dts.
Add softreset ID for rk3328.

Change-Id: I8e6301fd854fe5c9a820fe76d7826db2c1c08b4e
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
7 years agoarm64: dts: rk3399-android-next: add iommu_enabled property in vpu&rkvdec node
Jung Zhao [Fri, 9 Dec 2016 13:11:25 +0000 (21:11 +0800)]
arm64: dts: rk3399-android-next: add iommu_enabled property in vpu&rkvdec node

camera will query this property, this is historical issue!!!

Change-Id: Ida221e9f5781dcc5562cad69e2ac437290b946bb
Signed-off-by: Jung Zhao <jung.zhao@rock-chips.com>
7 years agovideo: rockchip: fb: add dataspace for hdr
Huang Jiachai [Thu, 20 Oct 2016 08:23:05 +0000 (16:23 +0800)]
video: rockchip: fb: add dataspace for hdr

Change-Id: I65fb95a550d6afecf6b45f65afbd24047e8d5097
Signed-off-by: Huang Jiachai <hjc@rock-chips.com>
7 years agoUPSTREAM: ARM: dts: rockchip: Setup rk3288 ethernet0 alias for u-boot
Jacob Chen [Fri, 9 Dec 2016 06:43:36 +0000 (14:43 +0800)]
UPSTREAM: ARM: dts: rockchip: Setup rk3288 ethernet0 alias for u-boot

Add an ethernet0 alias for the RK3288 mac interface so
that u-boot can find the device-node and fill in the mac address on
boards that support a wired network interface.

Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Change-Id: Ie8c4e0d90b62278485446f614fce0c95145432d9
(cherry picked from commit 85ef8d611f4b0216bc4f96487a0408d5c887f6f9)
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
7 years agoUPSTREAM: ARM: dts: rockchip: add interrupt for Wake-on-Lan on RK3288
Jacob Chen [Fri, 9 Dec 2016 06:43:22 +0000 (14:43 +0800)]
UPSTREAM: ARM: dts: rockchip: add interrupt for Wake-on-Lan on RK3288

In order to use Wake-on-Lan on RK3288 integrated MAC, we need to wake-up
the CPU on the PMT interrupt when the MAC and the PHY are in low power mode.
Adding the interrupt declaration.

Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Change-Id: Iec2637cc0448b6d93b895ca8f4176bab0a1f2dfb
(cherry picked from commit d5bfbeb80973010dc87c82dc56f66e99c3e8c4da)
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
7 years agoUPSTREAM: ARM: dts: rockchip: drop unneeded properties from mipi node
Jacob Chen [Fri, 9 Dec 2016 06:43:07 +0000 (14:43 +0800)]
UPSTREAM: ARM: dts: rockchip: drop unneeded properties from mipi node

The mipi controller node does contain an unused reg property as well as
unnecessary #address-cells and #size-cells properties for subnodes
not using addresses, so remove those to also make dtc happy.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Acked-by: Rob Herring <robh@kernel.org>
Change-Id: I48166c93f7746fa88fe2b35c3a040048926cadf7
(cherry picked from commit 6b241fcccb42ab96b3cdca7066cebd0f5cdd44e0)
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
7 years agoUPSTREAM: ARM: dts: rockchip: add mipi_dsi to VIO power domain on rk3288
Jacob Chen [Fri, 9 Dec 2016 06:42:53 +0000 (14:42 +0800)]
UPSTREAM: ARM: dts: rockchip: add mipi_dsi to VIO power domain on rk3288

The MIPI controllers are part of the VIO power domain so add the
necessary property to indicate this for the controller we support.

Signed-off-by: John Keeping <john@metanate.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Change-Id: I1d51ba1b91dcacb4dfbd6a23d3e609cb66b9426e
 (cherry picked from commit 1946a201b3963b78a9e2123aedbdd11c4c4849dd)
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
7 years agoUPSTREAM: ARM: dts: rockchip: add channels properties for i2s
Jacob Chen [Fri, 9 Dec 2016 06:42:36 +0000 (14:42 +0800)]
UPSTREAM: ARM: dts: rockchip: add channels properties for i2s

add playback and capture properties to compatible various chips.

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Change-Id: I7bc186f631212b0b2f3355aa2e371c52a0a99ede
 (cherry picked from commit e241657de0ced9b40cad126f461b23a8d6c1b563)
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
7 years agoUPSTREAM: ARM: dts: rockchip: move the rk3288 thermal data into rk3288.dtsi
Jacob Chen [Fri, 9 Dec 2016 06:42:21 +0000 (14:42 +0800)]
UPSTREAM: ARM: dts: rockchip: move the rk3288 thermal data into rk3288.dtsi

In order to be standard to manage for rockchip SoCs,  move the thermal
data into rk3288 dtsi, we needn't to add a new file for thermal.

Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Cc: Zhang Rui <rui.zhang@intel.com>
Cc: Eduardo Valentin <edubezval@gmail.com>
Cc: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Change-Id: I2b11b46d1cfb9b70882d1062dedc5b8ff1bd5adf
(cherry picked from commit f87305fa00b1d0633d2dc5fd7fb4995bed6a59e8)
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
7 years agoUPSTREAM: ARM: dts: rockchip: fix rk3288 power-domain unit names
Jacob Chen [Fri, 9 Dec 2016 06:42:03 +0000 (14:42 +0800)]
UPSTREAM: ARM: dts: rockchip: fix rk3288 power-domain unit names

The power-domain sub-nodes do have reg properties, but so far are
missing the expected unit names. So add the missing ones.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Acked-by: Rob Herring <robh@kernel.org>
Change-Id: I03d82afdc2f170c7ecce9685e15b418ca5d30d5a
(cherry picked from commit 95cface95b6a6a8de6e95de2c8a25a64fd0f3558)
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
7 years agoUPSTREAM: ARM: dts: rockchip: fix missing usbphy unit-names
Jacob Chen [Fri, 9 Dec 2016 06:41:36 +0000 (14:41 +0800)]
UPSTREAM: ARM: dts: rockchip: fix missing usbphy unit-names

The usbphy subnodes do have a reg property but no unitname, add them.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Acked-by: Rob Herring <robh@kernel.org>
Change-Id: I5b48e289b332397ab7c383b839b875aeefa9f114
 (cherry picked from commit a8f0fa2764626d2dd808cfbe1a160f2939a36c88)
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
7 years agoUPSTREAM: phy: rockchip-usb: should be a child device of the GRF
Jacob Chen [Fri, 9 Dec 2016 06:41:10 +0000 (14:41 +0800)]
UPSTREAM: phy: rockchip-usb: should be a child device of the GRF

The usb-phy is fully enclosed in the general register files (GRF).
Therefore as seen from the device-tree it shouldn't be a separate
platform-device but instead a sub-device of the GRF - using the
simply-mfd mechanism.

As the usb-phy is part of the kernel for some releases now, we keep
the old (and now deprecated) binding for compatibility purposes.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Change-Id: I747a18fba361d6c6f161b6572e43955e18593a34
 (cherry picked from commit a0da445aabe49c31093ecf3930f531e3c63e0b83)
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
7 years agoUPSTREAM: phy: rockchip-dp: should be a child device of the GRF
Jacob Chen [Fri, 9 Dec 2016 06:40:51 +0000 (14:40 +0800)]
UPSTREAM: phy: rockchip-dp: should be a child device of the GRF

The displayport-phy is fully enclosed in the general register files (GRF).
Therefore as seen from the device-tree it shouldn't be a separate platform-
device but instead a sub-device of the GRF - using the simply-mfd mechanism.

The driver entered the kernel in the current merge-window, so we can still
adapt the binding without needing a fallback, as the binding hasn't been
released with a full kernel yet.

While the edp phy is fully part of the GRF, it doesn't have any separate
register set there, so doesn't get any register-area assigned.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Acked-by: Rob Herring <robh@kernel.org>
Reviewed-by: Yakir Yang <ykk@rock-chips.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Change-Id: I44a857051be195386fc888b2c713bedc948d5c95
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
 (cherry picked from commit 0311c76e4722b8d6e5fa47eaee63c6552bcc74f5)

7 years agoUPSTREAM: PM / AVS: rockchip-io: make io-domains a child of the GRF
Jacob Chen [Fri, 9 Dec 2016 06:40:33 +0000 (14:40 +0800)]
UPSTREAM: PM / AVS: rockchip-io: make io-domains a child of the GRF

IO-domain handling is part of the general register files, so should live
under the grf directly. This change allows the grf to be a simple-mfd and
the io-domains fetching the syscon regmap from that parent-node.

The old binding is of course preserved, though deprecated.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Acked-by: Kevin Hilman <khilman@baylibre.com>
Tested-by: David Wu <david.wu@rock-chips.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Change-Id: I562e293fc96283edc868771851f15dba0e80d3bc
(cherry picked from commit bc19b9a81da009fd1d797d756d41b518ac7e5f14)
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
7 years agoUPSTREAM: arm: dts: rockchip: add reset node for the exist saradc SoCs
Jacob Chen [Fri, 9 Dec 2016 06:40:18 +0000 (14:40 +0800)]
UPSTREAM: arm: dts: rockchip: add reset node for the exist saradc SoCs

SARADC controller needs to be reset before programming it, otherwise
it will not function properly.

Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Acked-by: Heiko Stuebner <heiko@sntech.de>
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Change-Id: Iaafd41b163ebd853278baea5c1c10dc82c54792b
 (cherry picked from commit 3d4267a5a3a4b7619b80ad1839d8b3bedd8b7a8d)
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
7 years agoUPSTREAM: ARM: dts: rockchip: move rk3288 usbphy under the GRF node
Jacob Chen [Fri, 9 Dec 2016 06:40:03 +0000 (14:40 +0800)]
UPSTREAM: ARM: dts: rockchip: move rk3288 usbphy under the GRF node

The rk3288 usbphy is completely enclosed in the general register files
and the updated binding allows it to be a subnode of the GRF now.
So move the node appropriately.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Change-Id: I85ca27786da0cd388ef6b4fddb11747761a579a3
(cherry picked from commit 546a3521f251462128d877e48fb3544c74976ce4)
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
7 years agoUPSTREAM: ARM: dts: rockchip: move rk3288 io-domain nodes to the grf
Jacob Chen [Fri, 9 Dec 2016 06:39:47 +0000 (14:39 +0800)]
UPSTREAM: ARM: dts: rockchip: move rk3288 io-domain nodes to the grf

io-voltage control is actually part of the grf, so move the node under the
newly available grf simple-mfd.

To minimize duplicate code, the core node and compatible property
gets placed in the core rk3288.dtsi while the individual boards
now only need to enable it and add the necessary supply properties.
cherry picked from commit 4b91545072ad7ca1963d2a89c8b42fc2eb561484)

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Conflicts:
arch/arm/boot/dts/rk3288-miqi.dts
arch/arm/boot/dts/rk3288-rock2-som.dtsi

Change-Id: I4f5ecc16524c52e8ac6f04cf8b9cdc0e1b7d937f
 (cherry picked from commit 3445b2fae55f1a232e6e4843f4f74de074d8c07f)
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
7 years agoUPSTREAM: ARM: dts: rockchip: move rk3288 edp phy under the GRF
Jacob Chen [Fri, 9 Dec 2016 06:39:34 +0000 (14:39 +0800)]
UPSTREAM: ARM: dts: rockchip: move rk3288 edp phy under the GRF

The edp-phy control is a part of the General Register Files and
with a recent patch in 4.6 the phy driver can now also handle this
correctly, so move the dts node under the GRF as well.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Change-Id: I6be6270739520f758dbe388cdbd50896c1d7d6f1
(cherry picked from commit 4b91545072ad7ca1963d2a89c8b42fc2eb561484)
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
7 years agoUPSTREAM: ARM: dts: rockchip: make rk3288-grf a simple-mfd
Jacob Chen [Fri, 9 Dec 2016 06:39:20 +0000 (14:39 +0800)]
UPSTREAM: ARM: dts: rockchip: make rk3288-grf a simple-mfd

Similar to the pmu, the general register files contain a lot of different
setting bits grouped into general registers, but also some somewhat special
entities like the controls for some phy-blocks or the io-voltage control.
To be able to move these blocks under the grf node where they actually
belong, make it a simple-mfd.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Change-Id: I2c7f9d6f4411ea05520515a45acbaa689814c872
(cherry picked from commit 6e38e6b26e590b21247c1dd5238be35e7b056ef9)
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
7 years agoarm64: dts: rk3399: enabled rkvdec and vpu on android next board
wlq [Fri, 9 Dec 2016 07:55:41 +0000 (15:55 +0800)]
arm64: dts: rk3399: enabled rkvdec and vpu on android next board

Change-Id: I418b1065de8e078f1cf25f24889ca78006a98a4e
Signed-off-by: huang zufang <hzf@rock-chips.com>
Signed-off-by: zhangjun <jung.zhao@rock-chips.com>
Signed-off-by: liangqing wu <wlq@rock-chips.com>
7 years agovideo: rockchip: rkvdec: add drm&ion allocator support
Randy Li [Mon, 31 Oct 2016 08:58:28 +0000 (16:58 +0800)]
video: rockchip: rkvdec: add drm&ion allocator support

Now vpu driver support both drm and ion allocator. And have
test on rk3399-mid(drm android 7.1), rk3399-mid(ion android
6.0), rk3288(linux mini arm) platform.

Change-Id: I0096c3928849b1f11a62378675f4559b4f101445
Signed-off-by: Jung Zhao <jung.zhao@rock-chips.com>
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Signed-off-by: Randy Li <randy.li@rock-chips.com>
7 years agoARM64: dts: rockchip: add rkvpu & vpu node in rk3399 android next dtsi
Jung Zhao [Thu, 8 Dec 2016 06:43:24 +0000 (14:43 +0800)]
ARM64: dts: rockchip: add rkvpu & vpu node in rk3399 android next dtsi

Change-Id: I8151e5dbc428c6a0eb2bcdba5edb193ca304249c
Signed-off-by: Jung Zhao <jung.zhao@rock-chips.com>
7 years agoarm64: dts: rockchip: add allocator type inside vpu & rkvdec for rk3399-android
Jung Zhao [Thu, 8 Dec 2016 06:39:26 +0000 (14:39 +0800)]
arm64: dts: rockchip: add allocator type inside vpu & rkvdec for rk3399-android

Change-Id: Idecb0b1f360173955531fed0eac32407eeb33366
Signed-off-by: Jung Zhao <jung.zhao@rock-chips.com>
7 years agodrm/rockchip: fb: allow big framebuffer
Mark Yao [Fri, 9 Dec 2016 07:07:54 +0000 (15:07 +0800)]
drm/rockchip: fb: allow big framebuffer

Change-Id: I2893ebbd616b79dfa6a1fcd1b98576097cbe4cb3
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
7 years agodrm/rockchip: add dither config for connected panel
Huang Jiachai [Thu, 8 Dec 2016 13:03:54 +0000 (21:03 +0800)]
drm/rockchip: add dither config for connected panel

Change-Id: Ia57d2ab75718d0a7a8b386a7d50e2e23011baeb2
Signed-off-by: Huang Jiachai <hjc@rock-chips.com>
7 years agodrm/rockchip: fix iommu_map_sg check
Mark Yao [Fri, 9 Dec 2016 01:03:10 +0000 (09:03 +0800)]
drm/rockchip: fix iommu_map_sg check

The return value of iommu_map_sg is size_t, it's unsigned

Change-Id: Ib06f61c020510673bc513e1a8fde6fd3980a7ca3
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
7 years agodrm/rockchip: fix iommu page fault when use boot logo
Mark Yao [Thu, 8 Dec 2016 09:00:30 +0000 (17:00 +0800)]
drm/rockchip: fix iommu page fault when use boot logo

Since (cacb6f5 FROMLIST: drm/rockchip: Use common IOMMU API to attach
devices), rockchip drm use common IOMMU API, the boot logo buffer
mapping need change to new api.

Change-Id: Ifa2c886e05d2de65de53a868458c56859519a0f2
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
7 years agopower: reset: reboot-mode: treat unrecognized reboot mode as normal mode
Andy Yan [Thu, 8 Dec 2016 08:58:07 +0000 (16:58 +0800)]
power: reset: reboot-mode: treat unrecognized reboot mode as normal mode

Some bootloader will check the reboot mode to take different action, so
we treat unrecognized reboot mode as normal mode to prevent the system
run into abnormal case.

Change-Id: I88063a5b41e4e645443229fa490b2b55db5ccf27
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
7 years agovideo/rockchip: rga2 support dma fd
Zikim,Wei [Wed, 7 Dec 2016 02:21:48 +0000 (10:21 +0800)]
video/rockchip: rga2 support dma fd

in drm mode ion is not support dma fd, in order
to support drm fd rga driver need fix, and user
also need set the buf type by the macro

Change-Id: I3d0eaf7fbefda5aaf715772649d972b9a9d5c06d
Signed-off-by: Zikim,Wei <wzq@rock-chips.com>
7 years agoARM: dts: rk3288: add isp node
Jacob Chen [Thu, 8 Dec 2016 04:34:16 +0000 (12:34 +0800)]
ARM: dts: rk3288: add isp node

Change-Id: Iadb1bb9afae66a935b0498986c3ee83a0fb487c9
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
7 years agoclk: rockchip: rk3288: export isp and cif clk
Jacob Chen [Thu, 8 Dec 2016 04:31:06 +0000 (12:31 +0800)]
clk: rockchip: rk3288: export isp and cif clk

Change-Id: I2d9e46383f94cbd8023ad042f3921364c191f852
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>