Elaine Zhang
f8d4d71d8d
clk: defer clk_gets on orphan clocks
...
Orphan clocks or children of orphan clocks don't have rate information at
all and can produce strange results if they're allowed to be used and the
parent becomes available later on.
This change, based on one from Stephen Boyd, defers __clk_create_clk()
calls on orphan clocks in all regular cases.
One special case that gets handled, is accessing such orphan clocks when
handling assigned-clocks configurations. In the boot-defaults it may be
the case that a clock is connected to an orphan parent which then might
be needed to get reparented to an actually usable clock using
assigned-clock-parents. In this case even orphaned clocks should be
usable, but only for the set-parent case.
The added of_clk_get_from_provider_with_orphans() is only available
to ccf internal parts to prevent abuse.
(am from https://patchwork.kernel.org/patch/7690221/ )
Change-Id: I2e603dab191fa8a431adebad1f9d482d52b7deeb
Signed-off-by: Heiko Stuebner <heiko.stuebner@collabora.com >
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com >
2017-04-11 18:29:22 +08:00
Elaine Zhang
c52fb0880c
arm64: dts: rockchip: rk3368: revert xin32k use the fixed clk
...
This reverts commit 61e585b9ef .
Change-Id: Id46aa6bf2822c1b9e53de544b349b42645cb6a5a
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com >
2017-04-11 16:53:21 +08:00
hero.huang
ab664b9398
arm64: dts: rockchip: add gsl3680 and mpu6050 for RK3399 Firefly Board
...
Change-Id: I8e6f4802d4c1b10873c655cc620e6d7be47efee7
Signed-off-by: hero.huang <hero.huang@rock-chips.com >
2017-04-11 16:40:51 +08:00
Elaine Zhang
5aad1daf21
clk: rockchip: rk3288: fix up the clk register for hclk_vio
...
Change-Id: If07e27b1f88974fa0dcb2c8f719df6ba3c35dbcd
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com >
2017-04-11 16:39:41 +08:00
Elaine Zhang
40b3da4859
clk: rockchip: add ACLK_VIO0\1 HCLK_VIO id for rk3288 vio
...
Add the needed id for the vio clock.
Change-Id: I2c4009d8214e1560da1213f224610882c2cd06e7
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com >
2017-04-11 16:39:29 +08:00
Chen Liang
e9c54637e9
ARM64: dts: rockchip: add cpuinfo support for rk3328
...
Change-Id: Iaaa400c09c2fb7c0d5e96fa4217065fa14066fc1
Signed-off-by: Chen Liang <cl@rock-chips.com >
2017-04-11 16:38:03 +08:00
Finley Xiao
914280432d
arm64: dts: rockchip: add efuse device node for rk3328
...
Add a efuse node in the device tree for the ARM64 rk3328 SoC.
Change-Id: I8610ae9e06131f042681edf68432485e8a35832f
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com >
2017-04-11 16:38:03 +08:00
Finley Xiao
33405d5aa9
nvmem: rockchip-efuse: add support for rk3328-efuse
...
This adds the necessary data for handling efuse on the rk3328.
Change-Id: Ica66635977163f380b7d96d73d3a2423d1e08298
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com >
2017-04-11 16:38:03 +08:00
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