Commit Graph

600712 Commits

Author SHA1 Message Date
Chen Liang
976deff0db nvmem: rockchip-efuse: add optional property to get efuse size
The exact efuse size is defined in property <reg> before, this assume
that the length of registers is equal to efuse size, but it not true
for some chips, so we need anothor property to redefine efuse size.

Change-Id: I9cdab8adc2a13b55cfcacc3c2248295c4387a806
Signed-off-by: Chen Liang <cl@rock-chips.com>
2017-04-11 16:37:57 +08:00
Jianqun Xu
8c606fb4f6 arm: dts: rk3288-evb-rk818: fix tshut prority to HIGH
Depends on hardware design, the PWR_HOLD should be high
for board with rk818 pmic.

Change-Id: Ib18f530d435f08ac98fbf6a9481eb483b7fadece
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2017-04-11 15:42:40 +08:00
Jianqun Xu
0857f01401 arm: dts: rk3288-evb-rk818: fix 32k out to xin32k
Change-Id: Ib4f0925e0b801d993bb76f1c7e9287b2b60fb919
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2017-04-11 15:41:46 +08:00
William Wu
ec42359f26 usb: dwc_otg_310: fix usb vbus power controlled by pmic
On rockchip platforms, usb vbus 5V can be controlled by
gpio or pmic while otg work as host mode. If vbus 5v is
supplied from pmic, and usb charger circuit also connect
to pmic, we need to ensure usb vbus is disconnected from
external power source (e.g. PC or USB adapter) before
power on vbus 5v from pmic, otherwise, the pmic may be
broken by the external power. It always happens with rk816
which support usb charge and usb vbus power function.

With this patch, if we use pmic for usb vbus 5v,  it needs
to add a new property 'rockchip,usb-pmic-vbus' in dts usb
node, like this:

&usb0 {
	rockchip,usb-pmic-vbus;
};

Change-Id: I1055f637e77fb5dd681994ff440293a6682b2a12
Signed-off-by: William Wu <wulf@rock-chips.com>
2017-04-11 15:40:51 +08:00
Jianqun Xu
668ac03964 arm: dts: rk3288: add mipi support
if want enable mipi,
you should to okay mipi_dsi, dsi_panel and route_mipi.
also you should to disabled edp, edp_phy and edp_panel.

Change-Id: I037cb76c7a1d08bcd09219072aeb359e0d460a1c
Signed-off-by: xubilv <xbl@rock-chips.com>
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2017-04-11 15:35:02 +08:00
Jianqun Xu
6a83e7f140 arm: dts: rk3288-evb: modify panel to edp_panel
Change-Id: I5a62c8fa933e9852d88646411d13e67075d63b02
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2017-04-11 15:33:45 +08:00
Randy Li
bec83829fe arm: dts: rk3288-evb-act8846: add power supply for eDP
Change-Id: I3928b44d91c2135c854460317f73ef8857c8ccd4
Signed-off-by: Randy Li <randy.li@rock-chips.com>
Signed-off-by: Xu Jianqun <jay.xu@rock-chips.com>
2017-04-11 15:19:55 +08:00
Rocky Hao
f357521de1 arm64: dts: rockchip: rk3368: add latency-bound property
add latency-bound property to ease user's config and debugging

Change-Id: I76fd2945e4fdecf251ea2f4b15bd6e90fd154145
Signed-off-by: Rocky Hao <rocky.hao@rock-chips.com>
2017-04-11 11:17:02 +08:00
Rocky Hao
d464c9367c thermal: rockchip: rk3368: ajust tsadc's data path according request of qos
we dynamically ajust data path according to request of qos to do
the balance between system's performance and tsadc's precision.

Change-Id: Iec6d6af6efce3932f894d9a07298daa9653cc87e
Signed-off-by: Rocky Hao <rocky.hao@rock-chips.com>
2017-04-11 11:17:01 +08:00
William Wu
e46c9b02e2 usb: dwc3: rockchip: fix possible circular deadlock
This patch aims to fix possible unsafe locking scenario when
dwc3 probe failed. The possible deadlock warning info is:

[4.254320] ======================================================
[4.254327] [ INFO: possible circular locking dependency detected ]
[4.254334] 4.4.55 #20 Not tainted
[4.254339] -------------------------------------------------------
[4.254346] kworker/4:1/47 is trying to acquire lock:
[4.254352]  (&rockchip->lock){+.+.+.}, at: [<ffffff8008730d58>] dwc3_rockchip_otg_extcon_evt_work+0x30/0x42c
[4.254382]
[4.254382] but task is already holding lock:
[4.254388]  ((&rockchip->otg_work)){+.+...}, at: [<ffffff80080b7a78>] process_one_work+0x1c4/0x6ac
[4.254411]
[4.254411] which lock already depends on the new lock.
[4.254411]
[4.254418]
[4.254418] the existing dependency chain (in reverse order) is:
[4.254424]
-> #1 ((&rockchip->otg_work)){+.+...}:
[4.254440]        [<ffffff80080f6a58>] __lock_acquire+0x15b4/0x1950
[4.254452]        [<ffffff80080f75fc>] lock_acquire+0x190/0x250
[4.254461]        [<ffffff80080b88c8>] flush_work+0x4c/0x274
[4.254471]        [<ffffff80080b8cd8>] __cancel_work_timer+0x130/0x1c0
[4.254480]        [<ffffff80080b8d78>] cancel_work_sync+0x10/0x18
[4.254489]        [<ffffff8008731648>] dwc3_rockchip_probe+0x4f4/0x59c
[4.254498]        [<ffffff8008525a9c>] platform_drv_probe+0x58/0xa4
[4.254509]        [<ffffff800852397c>] driver_probe_device+0x118/0x2b0
[4.254521]        [<ffffff8008523b80>] __driver_attach+0x6c/0x98
[4.254531]        [<ffffff80085229d8>] bus_for_each_dev+0x80/0xb0
[4.254543]        [<ffffff80085234b0>] driver_attach+0x20/0x28
[4.254554]        [<ffffff8008523040>] bus_add_driver+0xe8/0x1ec
[4.254565]        [<ffffff8008524a9c>] driver_register+0x94/0xe0
[4.254576]        [<ffffff80085259f4>] __platform_driver_register+0x48/0x50
[4.254585]        [<ffffff8009130bf4>] dwc3_rockchip_driver_init+0x18/0x20
[4.254598]        [<ffffff8008082ba8>] do_one_initcall+0x180/0x19c
[4.254609]        [<ffffff8009100e58>] kernel_init_freeable+0x208/0x2c0
[4.254621]        [<ffffff8008c00748>] kernel_init+0x10/0xf8
[4.254632]        [<ffffff80080826d0>] ret_from_fork+0x10/0x40
[4.254641]
-> #0 (&rockchip->lock){+.+.+.}:
[4.254656]        [<ffffff80080f3af8>] print_circular_bug+0x64/0x2c4
[4.254666]        [<ffffff80080f6728>] __lock_acquire+0x1284/0x1950
[4.254675]        [<ffffff80080f75fc>] lock_acquire+0x190/0x250
[4.254685]        [<ffffff8008c03aac>] mutex_lock_nested+0x80/0x3d0
[4.254695]        [<ffffff8008730d58>] dwc3_rockchip_otg_extcon_evt_work+0x30/0x42c
[4.254704]        [<ffffff80080b7bec>] process_one_work+0x338/0x6ac
[4.254714]        [<ffffff80080b90e8>] worker_thread+0x300/0x428
[4.254723]        [<ffffff80080bead8>] kthread+0xf4/0xfc
[4.254732]        [<ffffff80080826d0>] ret_from_fork+0x10/0x40
[4.254741]
[4.254741] other info that might help us debug this:
[4.254741]
[4.254749]  Possible unsafe locking scenario:
[4.254749]
[4.254755]        CPU0                    CPU1
[4.254760]        ----                    ----
[4.254765]   lock((&rockchip->otg_work));
[4.254775]                                lock(&rockchip->lock);
[4.254786]                                lock((&rockchip->otg_work));
[4.254796]   lock(&rockchip->lock);
[4.254805]
[4.254805]  *** DEADLOCK ***
[4.254805]
[4.254813] 2 locks held by kworker/4:1/47:
[4.254818]  #0:  ("events"){.+.+.+}, at: [<ffffff80080b7a78>] process_one_work+0x1c4/0x6ac
[4.254839]  #1:  ((&rockchip->otg_work)){+.+...}, at: [<ffffff80080b7a78>] process_one_work+0x1c4/0x6ac
[4.254860]
[4.254860] stack backtrace:
[4.254869] CPU: 4 PID: 47 Comm: kworker/4:1 Not tainted 4.4.55 #20
[4.254875] Hardware name: Rockchip RK3399 Evaluation Board v3 (Android) (DT)
[4.254885] Workqueue: events dwc3_rockchip_otg_extcon_evt_work
[4.254893] Call trace:
[4.254902] [<ffffff8008088a1c>] dump_backtrace+0x0/0x1c8
[4.254909] [<ffffff8008088bf8>] show_stack+0x14/0x1c
[4.254917] [<ffffff80083a5fa0>] dump_stack+0xb0/0xec
[4.254925] [<ffffff80080f3d3c>] print_circular_bug+0x2a8/0x2c4
[4.254931] [<ffffff80080f6728>] __lock_acquire+0x1284/0x1950
[4.254938] [<ffffff80080f75fc>] lock_acquire+0x190/0x250
[4.254946] [<ffffff8008c03aac>] mutex_lock_nested+0x80/0x3d0
[4.254952] [<ffffff8008730d58>] dwc3_rockchip_otg_extcon_evt_work+0x30/0x42c
[4.254960] [<ffffff80080b7bec>] process_one_work+0x338/0x6ac
[4.254967] [<ffffff80080b90e8>] worker_thread+0x300/0x428
[4.254973] [<ffffff80080bead8>] kthread+0xf4/0xfc
[4.254979] [<ffffff80080826d0>] ret_from_fork+0x10/0x40
[4.275124] rockchip-dwc3 usb@fe800000: USB peripheral connected

Change-Id: I9d34724e1c2af9b8472f79bfe4b088cbdde6394d
Signed-off-by: William Wu <wulf@rock-chips.com>
2017-04-11 11:07:40 +08:00
Xu Jianqun
70a4940e38 arm: dts: rk3288-android: add fiq-debugger support
Use irq mode for rk3288 fiq-debugger.

Change-Id: I15a5b5ac45a4f20811f97249dae77e86402f4cec
Signed-off-by: Xu Jianqun <jay.xu@rock-chips.com>
2017-04-11 11:07:03 +08:00
Mark Yao
a8fc40ce6f video/rockchip: rga2: force rga version if hardware not support
Change-Id: I95323b5f46228561266b2352815f0d15851fa6ce
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
2017-04-11 10:16:13 +08:00
Xu Jianqun
1972867db9 arm: dts: rk3288-android: add pstore support
Reserved memory start from 128M for pstore.

Change-Id: Ie61103004c4f0a7e20f3900db3c44905f7b92955
Signed-off-by: Xu Jianqun <jay.xu@rock-chips.com>
2017-04-11 09:06:41 +08:00
algea.cao
99428072b4 arm64: dts: rk3399-box-rev2: add hdmi phy config table
Change-Id: Id4a9c97c9cfba977a521d86e1ba438d8be6945d6
Signed-off-by: algea.cao <algea.cao@rock-chips.com>
2017-04-10 21:11:26 +08:00
algea.cao
ff94633d34 drm/rockchip: dw_hdmi-rockchip: get phy config from dts
Change-Id: I6903f3b9498be32f9d4936beb2d6d2aa5db43d09
Signed-off-by: algea.cao <algea.cao@rock-chips.com>
2017-04-10 21:10:07 +08:00
hero.huang
18b2b11c14 arm64: dts: rockchip: remove device out of board for RK3399 Firefly
Change-Id: I53b7ac3716dc4b005caaba7b8eb6838afa6d0c46
Signed-off-by: hero.huang <hero.huang@rock-chips.com>
2017-04-10 21:06:43 +08:00
dalong.zhang
776ad2409a arm64: dts: rockchip: update isp-flash gpio for rk3399-android-6.0
Change-Id: If4bcebe0022d0bb3d46cdb1858340082bb16b404
Signed-off-by: dalong.zhang <dalon.zhang@rock-chips.com>
2017-04-10 15:17:57 +08:00
dalong.zhang
5776aafc5b arm64: dts: rockchip: update isp-flash gpio for rk3399-android
Change-Id: I43138294c6171077fd8800b465cd07996c12f57d
Signed-off-by: dalong.zhang <dalon.zhang@rock-chips.com>
2017-04-10 15:17:50 +08:00
Xu Xuehui
0ac6417c7f arm: dts: rk3288-evb: 32.768K clk node for BT
Change-Id: Id7da26efcf59c4b1e3dc82190d7fe58854a29ee4
Signed-off-by: Xu Xuehui <xxh@rock-chips.com>
2017-04-10 14:43:11 +08:00
Sugar Zhang
e3465b7f18 clk: rockchip: rk3328: add pclk for acodec
Change-Id: Ia07f22997875e874037cb06fea6a3f25e6ab46dc
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2017-04-10 14:27:59 +08:00
Sugar Zhang
152ba302e7 dt-bindings: clock: rk3328: add pclk_acodec id
Change-Id: I3b0e2d2da5f919ed88f599823784aefa5e9a330c
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2017-04-10 14:27:14 +08:00
Sugar Zhang
25f584e048 dt-bindings: clock: rk3328: fixup HCLK_I2S1 id
Change-Id: I40e6543988e1c1a0cbb475eacbb5f3f985da55e7
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2017-04-10 14:26:54 +08:00
Elaine Zhang
c7824baec0 arm64: dts: rockchip: rk3368: init aclk_cci_pre 576M
Change-Id: Ieb53a2e3e777a5f478a0475a72dcd9c1d39ec2dc
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
2017-04-07 18:52:04 +08:00
Elaine Zhang
15e1a8fff4 clk: rockchip: rk3368: add aclk_cci_pre ID
Change-Id: I855e79023a9e244c2db37af88a075a4ef4c36aec
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
2017-04-07 18:51:15 +08:00
chenjh
4c5f4f36c7 arm64: dts: rk3328-evb: enable fiq mode
Change-Id: Ic0f6f95488b6575ebb9c4466fd43bf14f7214210
Signed-off-by: chenjh <chenjh@rock-chips.com>
2017-04-07 18:18:24 +08:00
WeiYong Bi
834b1bdd92 arm64: dts: rockchip: Add reset property for rk3368 mipi
Change-Id: I12a3bf9cdd61c6da3d0675d68d4ffd9bbfd9ffd8
Signed-off-by: WeiYong Bi <bivvy.bi@rock-chips.com>
2017-04-07 18:01:41 +08:00
Xu Jianqun
54b2fd94a4 arm: rockchip: remove setting for rk timer
Change-Id: I74200f86a5fe3cc023282b7b0e452826554dd102
Signed-off-by: Xu Jianqun <jay.xu@rock-chips.com>
2017-04-07 17:57:31 +08:00
Jianqun Xu
86a5c36cb5 arm: dts: rk3288-android: add nand support
Change-Id: I26ba461f04b79a6e86abe2998aafea00a2e367c3
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2017-04-07 14:39:03 +08:00
hero.huang
e8308567c1 drm/panel: add support for Sharp F402 2048x1536 panel
dt-bindings: consolidate display related bindings

Change-Id: I92788135d110b44185d93f3a5a54d800b4d55a1c
Signed-off-by: hero.huang <hero.huang@rock-chips.com>
2017-04-07 14:36:03 +08:00
WeiYong Bi
27dbeacd33 phy: rockchip-inno-mipi-dphy: fix code style and removed unneeded code
Change-Id: I28803c6064705baa05786cfcd817dd6f02464dcf
Signed-off-by: WeiYong Bi <bivvy.bi@rock-chips.com>
2017-04-07 14:24:02 +08:00
WeiYong Bi
7f2f388565 phy: rockchip-inno-mipi-dphy: use phy_set_bus_width() to set the lane mbps
We use phy_set_bus_width() to set the lane rate that the PHY supports.
The controller driver may then use phy_get_bus_width() to fetch the
PHY lane rate in order to properly configure the controller.

Change-Id: I116f0d82ad187806914c0d566eab92b922f143ef
Signed-off-by: WeiYong Bi <bivvy.bi@rock-chips.com>
2017-04-07 14:23:05 +08:00
WeiYong Bi
0a95d11068 drm/rockchip: dw-mipi: use phy_get_bus_width to fetch the lane_mbps for rk3368
1) If using the third part PHY, we use phy_get_bus_width() to fetch the
PHY lane rate in order to properly configure the controller.
2) Removed unneeded code.

Change-Id: I5c245e65f58665aa5fc025d6579e8bb331554458
Signed-off-by: WeiYong Bi <bivvy.bi@rock-chips.com>
2017-04-07 14:22:20 +08:00
WeiYong Bi
7f1daee88f phy: rockchip-inno-mipi-dphy: Add reset control for PHY APB
Change-Id: I02915f0c5a291a1aa13c7e3ed45421667a19940d
Signed-off-by: WeiYong Bi <bivvy.bi@rock-chips.com>
2017-04-07 14:21:23 +08:00
WeiYong Bi
5c7c3607a6 drm/rockchip: dw-mipi: Add reset control for APB
Change-Id: I740b5f6311bfaa6303870ef726be3b1a42b7c4d7
Signed-off-by: WeiYong Bi <bivvy.bi@rock-chips.com>
2017-04-07 14:15:16 +08:00
hero.huang
814502b479 input: touchscreen: add touch screen of gslx680 for rk3399-firefly-edp
Change-Id: Ic4fa205f8f71353c4703d745e96ec9056181c198
Signed-off-by: hero.huang <hero.huang@rock-chips.com>
2017-04-07 14:11:44 +08:00
Finley Xiao
b5321a15af PM / devfreq: rk3399_dmc: rename driver and internals to rockchip
In future it will be modified to support more rockchip platforms.

Change-Id: I5cd7ce555eefe08b12fbfcda8ef445c4b169e8c6
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2017-04-07 11:49:08 +08:00
Finley Xiao
b753be4327 PM / devfreq: rk3399_dmc: remove unused variable and fix code style
Change-Id: If1a49276430d2ef9dd77cadc7248096ec2ef0d17
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2017-04-07 11:47:15 +08:00
Finley Xiao
af8d874f9f PM / devfreq: rk3399_dmc: initialize min_freq and max_freq
In order to get correct results from sysfs, e.g.:
cat /sys/class/devfreq/dmc/min_freq
cat /sys/class/devfreq/dmc/max_freq

Change-Id: Id5921fdbacd0977c0b5378ccf0de068f0195b557
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2017-04-07 11:46:55 +08:00
Huang, Tao
a7859464fb ARM: rockchip_defconfig: enable ROCKCHIP_CPUINFO
Change-Id: I984c81243ff9ecbafdc242b8a8dae0bba41a2d49
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
2017-04-07 11:42:48 +08:00
Huang, Tao
f806c42f5b arm64: rockchip_defconfig: enable ROCKCHIP_CPUINFO
Change-Id: Ib66c2ae82d1b84fb82cb87db418c5ef228437878
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
2017-04-07 11:42:27 +08:00
Huang, Tao
f63140be25 arm64: dts: rockchip: add cpuinfo support for rk3399-android
Change-Id: I0eba0017a88added1a84f9c3add1705d8079cd00
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
2017-04-07 11:08:42 +08:00
Huang, Tao
c336f64cf9 soc: rockchip: add cpuinfo support
Set system_serial_low/high from eFuse ID.
Serial can read from /proc/cpuinfo.

Change-Id: If412fc5a89a5e5092b510452fc5a126fdd374ac2
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
2017-04-07 11:08:32 +08:00
Finley Xiao
7f1808a6e2 arm: dts: rk3288-android: use secure efuse
Use a new compatible to match secure interface
when kernel is in no-secure mode.

Change-Id: I3994b2c86bb9e221f102766c2d1a341930628b5d
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2017-04-07 10:41:52 +08:00
Finley Xiao
28ce472032 nvmem: rockchip-efuse: add support for rk3288 secure efuse
This adds the necessary data for handling secure efuse on the rk3288.
Need to use secure interface to access efuse when kernel is in no-secure
mode.

Change-Id: I1979f23ed8f85c9eb248de276b32adcbb165bd79
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2017-04-07 10:41:40 +08:00
Jianqun Xu
ff1bcea7f3 arm: dts: rk3288-evb: support board with rk818
Change-Id: Iea8b91289c335be8c8f620430837ccf42776abf5
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2017-04-07 10:39:36 +08:00
chenzhen
f1233ce0c6 arm64: rockchip_linux_defconfig: disable CONFIG_MALI400_DEBUG
Change-Id: I0fb379772f2f4d99a17439760fe997d0f5ab1eef
Signed-off-by: chenzhen <chenzhen@rock-chips.com>
2017-04-07 10:33:47 +08:00
Xu Xuehui
b3cc5f24d3 net: wireless: rockchip_wlan: update for ap6xxx wifi driver
fix compile warning when CONFIG_DEBUG_SECTION_MISMATCH=y

Change-Id: Iada73b82feed96279fed588adc4cbe47bd6be8f0
Signed-off-by: Xu Xuehui <xxh@rock-chips.com>
2017-04-07 10:19:51 +08:00
Tang Yun ping
3e61936275 clk: rockchip: optimizing ddrclk_scpi_recalc_rate behavior
Cat ddr frequency from rockchip_ddrclk_scpi_set_rate prior to
rockchip_ddrclk_scpi_recalc_rate, to optimizing running time and reduce
SCPI APIs usage rate.

Change-Id: Iba31d33a5920816b1cc230f639ea3a9503d451c8
Signed-off-by: Tang Yun ping <typ@rock-chips.com>
2017-04-07 10:15:55 +08:00
Tang Yun ping
6168e92bdd soc: rockchip: scpi: add new function for rk3368
1. amend return frequency for scpi_ddr_set_clk_rate.
2. add scpi_ddr_dclk_mode function for rk3368.

Change-Id: I0f3c42d74e34ccb740f2a9e68ef12bba98b7aab7
Signed-off-by: Tang Yun ping <typ@rock-chips.com>
2017-04-07 10:12:04 +08:00
Finley Xiao
f6dd9a1be5 PM / devfreq: rk3399_dmc: rename of_get_opp_table
The function doesn't get something from dts, it is more appropriate to
rename of_get_opp_table to rk3399_dmcfreq_init_freq_table.

Change-Id: I8c4994d45ff4d0654d034483e091bbb225a1ea61
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2017-04-07 10:01:06 +08:00