Commit Graph

844147 Commits

Author SHA1 Message Date
Elaine Zhang
82c191700f clk: rockchip: rk3399: Use MUXTBL to cover Mux selects priorities
add CLK_SET_RATE_PARENT for clk_uartx_frac.

Change-Id: Ide6eab4bd76b9900a8a55f2dc3c79563fc8feda3
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
2019-09-29 11:47:34 +08:00
Elaine Zhang
35f541c5a7 clk: rockchip: rk3308: Use MUXTBL to cover Mux selects priorities
Change-Id: I14d08f3b98b1dcaf1c9e4b9114ebd103e2dc51c9
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
2019-09-29 11:47:12 +08:00
Elaine Zhang
2c6bab0663 clk: rockchip: add COMPOSITE_MUXTBL and MUXTBL variant
A clock branch consisting of a mux with non-standard
select values.
The parent in Mux table is sorted by priority.

Change-Id: Ibcaa35541cf8bc255175a62c7950b2241aac2f55
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
2019-09-29 11:46:02 +08:00
Elaine Zhang
a5ba41ceff Revert "clk: rockchip: Modify uart frac divider rule"
This reverts commit aa34d0fe71.
This rule does not cover the parent priority selection problem.

Change-Id: Id75d46548e28da378420f614b45a6b71c6601843
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
2019-09-29 11:41:42 +08:00
Elaine Zhang
abfc038343 clk: rockchip: rk1808: Fixed incorrect parameter configuration
fix up the 1G pll vco,
fix up the sdmmc gating bit.

Change-Id: I91ccc7a864e6fd1458e40965b8e5677887b8e055
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
2019-09-29 11:41:12 +08:00
Wyon Bi
91c4d7f635 clk: rockchip: rk3128: mark the hclk_vio_h2p as critical clk
Change-Id: Ib4eb985b1c3aacf6e51d593fcf71cd46e1dc0b82
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2019-09-29 11:38:44 +08:00
Sandy Huang
1b5406f5db drm/rockchip: add a debug node to dump buf from application
dump path: /data/vop_buf
debug nod: d/dri/0/ff900000.vop/vop_dump/dump
echo dump    > dump to dump one frame
echo dumpon  > dump to start vop keep dumping
echo dumpoff > dump to stop keep dumping
echo dumpn   > dump n is the number of dump times
if fd err -3 try rm -r /data/vopbuf echo dump1 > dump can fix it
if fd err -28 save needed data try rm -r /data/vopbuf

Change-Id: Id5fefa428db1b5669ceae418cd8bddfa52e52f61
Signed-off-by: Shixiang Zheng <shixiang.zheng@rock-chips.com>
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2019-09-29 10:14:56 +08:00
Huibin Hong
7b7d9ba50d spi/rockchip: add pinctrl state high_speed
Change-Id: I2c81fabab31cf5cc07590f38ae517eccd5fa93f2
Signed-off-by: Huibin Hong <huibin.hong@rock-chips.com>
2019-09-29 09:34:26 +08:00
Yifeng Zhao
0070056a94 spi: rockchip: config spi rx dma burst size depend on xfer length
Change-Id: I54c855fc2ed4ccfbed6c011ae10bebc9829dc4d7
Signed-off-by: Yifeng Zhao <zyf@rock-chips.com>
2019-09-29 09:25:58 +08:00
Yi Liu
2c2acee8f8 spi: rockchip: support to set lsb into ROCKCHIP_SPI_CTRLR0
Change-Id: I55421b4685c88fe55c928ac7d102abb7d39e902f
Signed-off-by: Yi Liu <liuyi@rock-chips.com>
Signed-off-by: Yifeng Zhao <zyf@rock-chips.com>
2019-09-29 09:25:58 +08:00
Huibin Hong
2ed90ab27d spi: rockchip: init rxconf and txconf to 0
Dmac pl330 adds src_interlace_size of dma_slave_config rxconf.
If rxconf is local variable, src_interlace_size may be non zero,
which causes wrong process.

Fixes: ddd2e87ad4 ("dmaengine: pl330: add support for interlace size config")
Change-Id: Ib301c7ca4a1175bafd0631cb4deea4baa60eebc7
Signed-off-by: Huibin Hong <huibin.hong@rock-chips.com>
Signed-off-by: Yifeng Zhao <zyf@rock-chips.com>
2019-09-29 09:25:58 +08:00
Huibin Hong
7c15863913 spi: rockchip: set dma tx burst 8
If it is 16, and DMATDLR is 15, it would cause tx fifo
overflow.

Change-Id: I14592492be2ebd65ee47e916e25a60f0905d3eca
Signed-off-by: Huibin Hong <huibin.hong@rock-chips.com>
Signed-off-by: Yifeng Zhao <zyf@rock-chips.com>
2019-09-29 09:25:58 +08:00
Huibin Hong
87dbea63d5 spi: rockchip: set higher io driver when sclk higher than 24MHz
Change-Id: I963c92eab7f7bff0b32e2ac262aa79f0667f39ee
Signed-off-by: Huibin Hong <huibin.hong@rock-chips.com>
Signed-off-by: Yifeng Zhao <zyf@rock-chips.com>
2019-09-29 09:25:58 +08:00
Huibin Hong
e13191bf15 spi: spidev: Add rockchip spidev compatible string
Change-Id: I0ba866f7f17be3063bbe405ac9d62f83e54443a4
Signed-off-by: Huibin Hong <huibin.hong@rock-chips.com>
Signed-off-by: Yifeng Zhao <zyf@rock-chips.com>
2019-09-29 09:25:58 +08:00
Huibin Hong
269e83b6fe spi: rockchip: add compatible rockchip,px30-spi for px30
Change-Id: Ibe406477b3912b482d07e5c0e7f8e2e99a51bd4a
Signed-off-by: Huibin Hong <huibin.hong@rock-chips.com>
Signed-off-by: Yifeng Zhao <zyf@rock-chips.com>
2019-09-29 09:25:53 +08:00
Nickey Yang
62a29500ee media: rockchip: isp1: increase isp clk margin
"rkisp1: MIPI mis error:" may occur when data_rate equal
to clk_rate_tbl table and actually isp clk is less
than clk rate we set.
So increase margin to fix it.

Change-Id: Icbca32cf02fb522ad74b40adc8253863b80eaec0
Signed-off-by: Nickey Yang <nickey.yang@rock-chips.com>
2019-09-27 16:35:24 +08:00
Shunqian Zheng
4318ff8e62 media: rockchip: rkisp1: cleanup buffers if start stream failed
This fix the warning:
[  109.292738] WARNING: at drivers/media/v4l2-core/videobuf2-core.c:1313
if start streaming failed.

Change-Id: Ieaff518836382121d0c79c86c57e90a8e6b97296
Signed-off-by: Shunqian Zheng <zhengsq@rock-chips.com>
2019-09-27 16:35:01 +08:00
Shunqian Zheng
9533520782 media: rockchip: rkisp1: add framesizes and frmintervals ioctl
Callbacks .vidioc_enum_frameintervals() and .vidioc_enum_framesizes()
are required for applications to obtain the frame intervals and
resolutions the driver/sensor supported.

For the frame intervals, it reads the minimum one from
current linked sensor, and set maximum to 1s.
For the frame size, it's stepwise with step equals 8,
and maximum is the isp sub-device output size.

Change-Id: I840b12a165855e7275c2fbd6f28db364ca7105d8
Signed-off-by: Shunqian Zheng <zhengsq@rock-chips.com>
2019-09-27 16:34:42 +08:00
Hu Kejun
cc8f3ee26a media: rockchip: isp1: change readx_poll_timeout to readx_poll_timeout_atomic
rkisp1_isp_stop() is called in rkisp1_isp_isr() now,
so change readx_poll_timeout in rkisp1_isp_stop() to readx_poll_timeout_atomic

Change-Id: If4cb8628e38d2c774f30d7200b0804f22d4ccc4c
Signed-off-by: Hu Kejun <william.hu@rock-chips.com>
2019-09-27 14:54:59 +08:00
Sandy Huang
6788d8d093 drm/rockchip: rgb: Add support for Rockchip Soc RGB output interface
Some Rockchip CRTCs, like rv1108, can directly output parallel and
serial RGB data to panel or conversion chip, so we add this driver to
probe encoder and connector.

Change-Id: Ieab9271205cace962b7e871becaf903b9abebd94
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Reviewed-by: Sean Paul <seanpaul@chromium.org>
Reviewed-by: Mark Yao <mark.yao@rock-chips.com>
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2019-09-27 14:14:05 +08:00
Wu Liangqing
9784385761 arm64: dts: rockchip: Add rk3399-evb-ind-lpddr4-android board
Change-Id: I3e1ff707053447244b5f39c29095ca9a729543d1
Signed-off-by: Wu Liangqing <wlq@rock-chips.com>
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2019-09-27 12:23:52 +08:00
Wu Liangqing
202a61841b arm64: dts: rockchip: rk3399: sapphire-excavator: android10 adapter
Change-Id: I74e11d8520cc23053978768a613145e545ae7311
Signed-off-by: Wu Liangqing <wlq@rock-chips.com>
2019-09-27 11:29:03 +08:00
Rafael David Tinoco
ba0401694b FROMLIST: mm/zsmalloc.c: fix zsmalloc ARM LPAE support
Since commit 02390b87a9 ("mm/zsmalloc: Prepare to variable
MAX_PHYSMEM_BITS"), an architecture has to define this value in order to
guarantee that zsmalloc will be able to encode and decode the obj value
properly.

Similar to that change, this one sets the value for ARM LPAE, fixing a
possible null-ptr-deref in zs_map_object() when using ARM LPAE and
HIGHMEM pages located above the 4GB watermark.

Link: https://bugs.linaro.org/show_bug.cgi?id=3765#c17
Signed-off-by: Rafael David Tinoco <rafael.tinoco@linaro.org>
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
(am https://patchwork.kernel.org/patch/10655319/)

Change-Id: I67a1a0b71235b23f67bc350064a5e94aebbab2be
2019-09-27 10:16:06 +08:00
Biswajit Paul
9c23eefd23 ANDROID: kernel: Restrict permissions of /proc/iomem.
The permissions of /proc/iomem currently are -r--r--r--. Everyone can
see its content. As iomem contains information about the physical memory
content of the device, restrict the information only to root.

Change-Id: If0be35c3fac5274151bea87b738a48e6ec0ae891
CRs-Fixed: 786116
Signed-off-by: Biswajit Paul <biswajitpaul@codeaurora.org>
Signed-off-by: Avijit Kanti Das <avijitnsec@codeaurora.org>
(cherry picked from https://android.googlesource.com/kernel/msm
 commit 3b1ac3a37ce5e6c31c82ca85604705575cb570d6)
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2019-09-26 20:00:46 +08:00
Tao Huang
bd67d49f2b mfd: rk808: avoid NULL pointer dereferencing when shutdown
rk808->pins maybe NULL.

Fixes: cfe40315e8 ("pinctrl: support pinctrl driver for the RK817&RK809 PMIC")
Change-Id: Ia2c25f2717498c06d0707f17d27b0a85ee23f229
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2019-09-26 20:00:21 +08:00
Tao Huang
8ace8303d0 ipv6: ip6_output: fix for Android 7.1 CTS
After commit 23287661af ("ipv6: Inhibit IPv4-mapped src address on the wire.")
Android failed to pass DatagramSocketTest#test_getRemoteSocketAddress:
fail: java.net.ConnectException: Address family not supported by protocol

Android side has patch "Fix DatagramSocketTest#test_getRemoteSocketAddress".
Unfortunately, which may not merge to Android 7.1 branch, so we have to fixes
it on kernel side.

Change-Id: I7444c7636f02485abf6ddd4d7b9cad1f4e6d06e1
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2019-09-26 18:54:17 +08:00
Shengfei Xu
e9684a4a18 arm64: configs: rockchip_defconfig: enable CONFIG_INPUT_RK805_PWRKEY
Change-Id: Ieec6f382f644ebc6da1c01eaea7b003b2d5b0ec8
Signed-off-by: Shengfei Xu <xsf@rock-chips.com>
2019-09-26 17:48:51 +08:00
Shengfei Xu
8c7cc3c1e8 mfd: rk808: replace power key driver for rk809/rk816/rk817
remove the rk8xx-pwrkey.c file, it's function is same as rk805-pwerkey.c.

Change-Id: Ie8a0559c3a105ec9806f170d0c4d32c2691558c6
Signed-off-by: Shengfei Xu <xsf@rock-chips.com>
2019-09-26 17:41:05 +08:00
Liang Chen
1a5744c324 arm64: dts: rockchip: rk3399: add power-domains for iep_mmu node
It will cause kernel halt if power-domains is not set in iep_mmu node.

Change-Id: I8752a6b777f579dfc214c5034005387d5f759aad
Signed-off-by: Liang Chen <cl@rock-chips.com>
2019-09-26 15:11:58 +08:00
Alex Zhao
2929d06045 net: rkwifi: initialize code to support rkwifi
Change-Id: Ia0724ebc628ba40afed947275d34ff5c47a410b4
Signed-off-by: Alex Zhao <zzc@rock-chips.com>
2019-09-25 15:46:49 +08:00
Sandy Huang
457d73d7b8 drm/rockchip: driver: fix compile error when disable vop
drivers/gpu/drm/panel/panel-simple.c:385: undefined reference to
`rockchip_drm_crtc_send_mcu_cmd'

Change-Id: I95f182dca7abcb1e8d8a3fc3bb6fd20db5f2db65
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2019-09-25 15:37:53 +08:00
Tao Huang
6d25a993d3 clk: Add COMMON_CLK_DEBUGFS
Make clk debugfs interface selectable.
Save about 15ms of boot time on RK1808 EVB if unselected.

Change-Id: Ie0095164d31f85491da755284f3a347dfb24cfdc
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2019-09-24 16:01:42 +08:00
Tao Huang
d2014f8b68 mm: slub: Add SLUB_SYSFS
Make slub sysfs interface selectable.
Save about 4.8ms of boot time on RK1808 EVB if unselected.

Change-Id: I2587cc259c3c31a209604d99640d8e84a4ba78f4
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2019-09-24 16:01:42 +08:00
Shunhua Lan
40094f11cb mfd: rk808: add rk817-codec cell
Change-Id: Ieea7bbeb01b5230e40285819e29f9be6e39cf8ec
Signed-off-by: Shunhua Lan <lsh@rock-chips.com>
2019-09-24 15:21:17 +08:00
Shunhua Lan
836e41ae0d ASoC: rockchip: add support for rk817 codec
Change-Id: If8c5ce04703b94f7eb91e61efeab6bf7dcfca7ff
Signed-off-by: Shunhua Lan <lsh@rock-chips.com>
2019-09-24 15:21:02 +08:00
Tao Huang
7a47fdb142 Input: gt1x - enable asynchronous probing
It takes a bit of time to go through controller power up sequence and
initialization. To not stall the overall boot progress let's probe the
controller asynchronously, given that userspace is usually prepared for
hot-plugging of input devices and thus does not rely on particular
ordering.

Save about 0.35s on RK1808 EVB.

Change-Id: I5f38ae7dd9cbebeff02a5e522f29e131d21473ba
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2019-09-24 14:47:13 +08:00
Liang Chen
469b43ee1f fiq_debugger: fix bug when define CONFIG_THREAD_INFO_IN_TASK
when define CONFIG_THREAD_INFO_IN_TASK, thread_info is in the task_struct,
and current_tread_info() is always point to the right current thread info
in irq/fiq mode, so do not change *current_tread_info().

Change-Id: Ic6476efc5f13cedb26405fd56646ee7c939dff45
Signed-off-by: Liang Chen <cl@rock-chips.com>
2019-09-24 14:42:06 +08:00
Tao Huang
9adb8639f1 mmc: core: mmc_delay 1ms in mmc_send_op_cond
For fast boot time.

Change-Id: Ia9eb483a2112bb582c3df4ba9f346d22930a8500
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2019-09-24 14:28:06 +08:00
Tao Huang
d5f6a40bd0 cpufreq: fix compile error if !CONFIG_CPU_FREQ
drivers/soc/rockchip/rockchip_system_monitor.c: In function 'rockchip_monitor_cpu_low_temp_adjust':
drivers/soc/rockchip/rockchip_system_monitor.c:684:3: error: implicit declaration of function 'cpufreq_update_policy'; [-Werror=implicit-function-declaration]

Change-Id: I0d47bdb848d22bd1e9d528a76ac0cfcf8fb62f2f
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2019-09-24 14:21:10 +08:00
San Mehat
eccf203ed1 mmc: Add new API call 'sdio_reset_comm' for resetting communication with an SDIO device
Change-Id: I955f6c753235ae65014d6ea34c9e660e92277971
Signed-off-by: San Mehat <san@android.com>
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2019-09-24 10:59:18 +08:00
Tao Huang
b7928dccbf mmc: core: export primary_sdio_host and mmc_host_rescan
Fixes: de208e40d9 ("mmc: porting legacy tactices into 4.19")
Change-Id: Ifb0118c755aa4284f59a7e281fa323cbe9d5ca3b
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2019-09-24 10:59:18 +08:00
Liang Chen
f0b246aa52 arm64: dts: rockchip: rk3328: adjust opp-table for dmc
Change-Id: I2d65e2f03519e3a98d9f9e0fe0bc10ae601237cf
Signed-off-by: Liang Chen <cl@rock-chips.com>
2019-09-23 14:24:13 +08:00
Tao Huang
52837b4ed6 drm/rockchip: Remove depends on ROCKCHIP_IOMMU
Some CPUs without IOMMU but have VOP.

Change-Id: Ic11d1438851eb4773bc94e74879a2329964d012a
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2019-09-23 14:22:30 +08:00
Wyon Bi
63b5a8b7e1 drm/dsi: Fix compilation when CONFIG_DRM_MIPI_DSI=n
drivers/gpu/drm/panel/panel-simple.o: In function `panel_simple_xfer_cmd_seq':
drivers/gpu/drm/panel/panel-simple.c:349: undefined reference to `mipi_dsi_device_transfer'
drivers/gpu/drm/panel/panel-simple.c:349:(.text+0xacc): relocation
truncated to fit: R_AARCH64_CALL26 against undefined symbol `mipi_dsi_device_transfer'

Fixes: 0f36136db1 ("drm/dsi: Export mipi_dsi_device_transfer()")
Change-Id: I34c6e4f732aa9c3fba5ef6d9ded012c53c8d107b
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2019-09-23 14:05:51 +08:00
Jon Lin
06a228c889 soc: rockchip: including linux/fs.h
Change-Id: I3f74625e169982ce6e198fdf864a1547ff2b4a07
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2019-09-17 13:21:07 +08:00
Jon Lin
bb7fe4f322 drivers: rkflash: including seq_file.h
Change-Id: I20c74547873a44853c3b928267e512819c5fe7c3
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2019-09-17 13:20:11 +08:00
Bian Jin chen
875d17e3ff arm64: configs: rockchip_defconfig: enable CONFIG_ION_SYSTEM_HEAP
Android 10 requires ion to allocate buffers for audio playback,
enable system heap by default to support it.

Change-Id: Id13e42254c7cfc2d07a33840d0dc4429e6fe7065
Signed-off-by: Bian Jin chen <kenjc.bian@rock-chips.com>
2019-09-16 11:47:34 +08:00
Bian Jin chen
6f99d8c16b arm64: dts: rockchip: Add new dts file for rk3326-863-lp3-v10 rkisp1.
Add this dts to support camera hal3 and be compatible with android 10.

Change-Id: I4594f7e3eb7407a26cbd7dc119653236c622b22d
Signed-off-by: Bian Jin chen <kenjc.bian@rock-chips.com>
2019-09-14 14:19:41 +08:00
Bian Jin chen
4784cbfe9a arm64: dts: rockchip: px30: Add an alias for reboot-mode.
Change-Id: Ib7cd022790fcc381899be97bcecb6c21a3d76157
Signed-off-by: Bian Jin chen <kenjc.bian@rock-chips.com>
2019-09-10 17:08:24 +08:00
Tao Huang
3922f84286 soc: rockchip: All Rockchip CPU default n
For small system.

Change-Id: Ib76fdf45a090b80f2e85c0ca2df611cc86308ec8
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2019-09-10 15:35:21 +08:00