Commit Graph

1060497 Commits

Author SHA1 Message Date
Finley Xiao
62a5b05abd arm64: dts: rockchip: rk3568: Add cpu bandwidth for dmc
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Change-Id: Ia29bfccacb72fa1f9f9fbeb68e23aa2b51b25563
2021-10-27 15:28:30 +08:00
Finley Xiao
e866f07afb arm64: dts: rockchip: rk3568: Add nocp device node
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Change-Id: I6b429393383588d7fc763bc0947a793c10bbb0ef
2021-10-27 15:28:30 +08:00
Finley Xiao
1400843a24 PM / devfreq: rockchip_dmc: Change frequency according to cpu bandwidth
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Change-Id: I69376a2e620292642b1118f770c50f9002c450b4
2021-10-27 15:28:30 +08:00
Finley Xiao
4ad4f153e4 PM / devfreq: rockchip-nocp: Add support for rk3568
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Change-Id: I2d311d48a54a1f254eda749aa6d9d157d106e02b
2021-10-27 15:28:30 +08:00
Finley Xiao
b3aa59c8b4 arm64: dts: rockchip: rk3568: Modify vop-bw-dmc-freq
Add support for display screen whose resolution is 1920x1200.

Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Change-Id: I22b9a8d1fbd095f08d4b58c0c41252ebbfb985f0
2021-10-27 15:28:30 +08:00
Finley Xiao
c2636d3312 PM / devfreq: rockchip_dmc: Add sysfs interface for ondemand_data
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Change-Id: I399a78aa2f63b266824a5cd302328a0d3e2aadcd
2021-10-27 15:28:30 +08:00
Finley Xiao
23333b7bbf PM / devfreq: Remove DEVFREQ_GOV_SIMPLE_ONDEMAND dependency for dmc
Change-Id: Ie08689996ee4f3554c2d0e6bef61d23029bc5d07
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2021-10-27 15:28:30 +08:00
Finley Xiao
4def68e21f PM / devfreq: rockchip_dmc: Add rockchip_simple_ondemand_data
Add a new struct rockchip_simple_ondemand_data so that rockchip_dmc.c
does not need to depend on CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND.

Change-Id: Iafe7ec8bbc9a36aaf3dffbe669a8ee927f45d3a1
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2021-10-27 15:28:30 +08:00
Kever Yang
ec4895ba14 driver: rknpu: Fix build error on Android kernel build env
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Change-Id: Ie11dde883f659318bea9665ca9a4bc5d520d4c2a
2021-10-27 15:22:52 +08:00
Wangqiang Guo
825fc1800d input: sensor: accel: support 3-Axis accelerometer: da228e
Signed-off-by: Wangqiang Guo <kay.guo@rock-chips.com>
Change-Id: I272c179d151acefcd54fa01cf25fc3790a141ecd
2021-10-27 15:16:30 +08:00
Jon Lin
5764ae855c PCI: rockchip: dw: support for RK3588 platforms
Change-Id: Icd44e65523732ffef5dac21514d8559caba07982
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2021-10-27 14:56:53 +08:00
Wangqiang Guo
81c3553f89 input: sensor: accel: support 3-Axis accelerometer: da215s
Signed-off-by: Wangqiang Guo <kay.guo@rock-chips.com>
Change-Id: Ia1c00b45fb86043c730835f95543bbd01dd882ee
2021-10-27 14:55:57 +08:00
Cai YiWei
e01e0fd967 media: rockchip: isp: sync multi vir dev stream on/off
Change-Id: I851b0390952a4f3921405a7cd24b8af7fbaff532
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2021-10-26 14:58:10 +08:00
Cai YiWei
67a3dbc5af media: rockchip: ispp: remove tnr iir first frame skip
Change-Id: Iac599ac81059c92f929ccd0997d32e419c338642
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2021-10-26 14:58:10 +08:00
Cai YiWei
0789dbffc5 media: rockchip: isp/ispp sync alloc buf with dma sg case
Change-Id: If4c80315efd9ce3ac80de3ec72d537ca1c27776d
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2021-10-26 14:58:10 +08:00
Cai YiWei
97ca039661 media: rockchip: isp/ispp to version v1.7.0
Change-Id: I3c07a83f9e5a4e7b2bfee30cc5e36c252ecc429f
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2021-10-26 14:58:10 +08:00
Cai YiWei
f871ee03ff media: rockchip: isp: dmatx default config with mipi sensor input
Change-Id: I51f27921b650d614e552d810995172d4ea17ef08
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2021-10-26 14:58:10 +08:00
Cai YiWei
96a592ab5e media: rockchip: isp: rawwr and rawrd memory mode
Three mode:
0: raw12/raw10/raw8 8bit memory compact
1: raw12/raw10 16bit memory one pixel
   big endian for rv1126/rv1109
   |15|14|13|12|11|10| 9| 8| 7| 6| 5| 4| 3| 2| 1| 0|
   | 3| 2| 1| 0| -| -| -| -|11|10| 9| 8| 7| 6| 5| 4|
   little align for rk356x
   |15|14|13|12|11|10| 9| 8| 7| 6| 5| 4| 3| 2| 1| 0|
   | -| -| -| -|11|10| 9| 8| 7| 6| 5| 4| 3| 2| 1| 0|
2: raw12/raw10 16bit memory one pixel
   big align for rv1126/rv1109/rk356x
   |15|14|13|12|11|10| 9| 8| 7| 6| 5| 4| 3| 2| 1| 0|
   |11|10| 9| 8| 7| 6| 5| 4| 3| 2| 1| 0| -| -| -| -|

Change-Id: Iabd5600d1a880057f0a20e187b15d337079a14c6
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
2021-10-26 14:58:10 +08:00
Zefa Chen
e6f02e7287 media: rockchip: cif support config memory mode
cif memory mode
 0: raw12/raw10/raw8 8bit memory compact
 1: raw12/raw10 16bit memory one pixel
    low align for rv1126/rv1109/rk356x
    |15|14|13|12|11|10| 9| 8| 7| 6| 5| 4| 3| 2| 1| 0|
    | -| -| -| -|11|10| 9| 8| 7| 6| 5| 4| 3| 2| 1| 0|
 2: raw12/raw10 16bit memory one pixel
    high align for rv1126/rv1109/rk356x
    |15|14|13|12|11|10| 9| 8| 7| 6| 5| 4| 3| 2| 1| 0|
    |11|10| 9| 8| 7| 6| 5| 4| 3| 2| 1| 0| -| -| -| -|

 note: rv1109/rv1126/rk356x dvp only support uncompact mode,
       and can be set low align or high align

Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I59d619645650dfa10c9b2c168d8c741292f9f90f
2021-10-26 14:58:10 +08:00
Xu Hongfei
01396a8e91 media: rockchip: isp: disable tmo interrupt
remove associated configuration in TMO isr

Signed-off-by: Xu Hongfei <xuhf@rock-chips.com>
Change-Id: I610bc64aaa2549d10e4383df0d8247f161bc8048
2021-10-26 14:58:10 +08:00
Cai YiWei
338398f63a media: rockchip: isp: unregister dmarx at driver remove
Change-Id: I1146e5c81445980f456bc2ff19810c0ae84d2c7b
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2021-10-26 14:58:10 +08:00
Cai YiWei
168ca89024 media: rockchip: isp: before frame start to update bridge mi
isp20 bridge will config gain and image dma address when isp
frame start interrupt event, and frame end update. But no
actual update if frame start and frame end together. One read
back is the same as the start interrupt event, so to update
bridge mi this.

Change-Id: I697128fd60c3e38eb2ed163a5a94df8c4c018241
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2021-10-26 14:58:10 +08:00
Cai YiWei
41010e1153 media: rockchip: isp: fix default params config for mode switch
Change-Id: I7946d394e0a224ef8f2e1a460b9bf89c9334d015
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2021-10-26 14:58:10 +08:00
Cai YiWei
9da4c18433 media: rockchip: isp: rawrd support uncompact mode
Change-Id: If9ff4b2043e3c9b29843b7f3562d107da597c9d8
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2021-10-26 14:58:10 +08:00
Cai YiWei
fa89913f94 media: rockchip: ispp: fix monitor no working
Change-Id: I13c410af8902f65d5fc855a32c2778e44d369851
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2021-10-26 14:58:09 +08:00
Cai YiWei
f0940894ca media: rockchip: ispp: disable scl dma write if no output buffer
Change-Id: I11bbc17dad564510c7cbd37d4ad357f81fe1ecf2
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2021-10-26 14:58:09 +08:00
Cai YiWei
9ed21d58a9 media: rockchip: ispp: add frame loss info to procfs
Change-Id: I413608060c2245809a4b1f9d908511531901608d
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2021-10-26 14:58:09 +08:00
Cai YiWei
c5650d4372 media: rockchip: ispp: frame start to check stream output buffer
Change-Id: I8ca95767705ffd705c90e22ab5d067fe7d79ad9e
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2021-10-26 14:49:49 +08:00
Cai YiWei
74b2c51e29 media: rockchip: ispp: fix monitor switch if don't power off
Change-Id: Iefe1f7df7417c84a09437d663cca3c342bf3888a
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2021-10-26 14:49:49 +08:00
Cai YiWei
70f1336023 media: rockchip: ispp: off unused interrupt
Change-Id: I72a7d6b494a5bfc9a7b265d6b8a31beb233addac
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2021-10-26 14:49:49 +08:00
Algea Cao
a7c8450f79 drm/rockchip: dw_hdmi: Call get yuv422 format interface in dw_hdmi-rockchip.c
To be compatible with GKI, dw-hdmi driver can't call interfaces in
rockchip-drm directly. In order for dp to be usable, get yuv422
format interface should define in rockchip-drm. So hdmi call
get yuv422 format interface in dw_hdmi-rockchip.c.

Fixes: dbd228a254 ("drm/bridge: synopsys: dw-hdmi: Get edid yuv422 info independently")
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: Icc879ff4420357a6becba84371b9e3317583960b
2021-10-26 10:50:21 +08:00
YouMin Chen
6570412992 arm64: dts: rockchip: rk3568: remove ddr_timing node
Signed-off-by: YouMin Chen <cym@rock-chips.com>
Change-Id: Iaef7442a52bfadee989c507e4fb9e60d50f9c49e
2021-10-26 10:45:45 +08:00
YouMin Chen
7252791b6d PM / devfreq: rockchip_dmc: remove of_get_rk3568_timings
For rk3568, ddr timings adjustment is no longer supported in dmc drive.

Signed-off-by: YouMin Chen <cym@rock-chips.com>
Change-Id: I63f0c5fea8c5acf8e6ef8f44b62968deb7bd823e
2021-10-26 10:45:45 +08:00
YouMin Chen
1bf9c26feb arm64: dts: rockchip: rk3568: add dmc_fsp node
Add dmc_fsp node for initialize dmc frequency set point on U-Boot.

Signed-off-by: YouMin Chen <cym@rock-chips.com>
Change-Id: I9fcd1ae498a64b5a4698c42ad05af96740b59e61
2021-10-26 10:45:45 +08:00
YouMin Chen
e1a47f52bf arm64: dts: rockchip: rk3568-dram-default-timing: add ddr params
Add ddr parameters for initialize dmc frequency set point.

Signed-off-by: YouMin Chen <cym@rock-chips.com>
Change-Id: I3445fa2dbabca5774306cc1052cd3c1d472b6867
2021-10-26 10:45:45 +08:00
YouMin Chen
fe28435aba include: linux: rockchip: add share mem page type for ddr fsp
Signed-off-by: YouMin Chen <cym@rock-chips.com>
Change-Id: Ie12446e746f4990287873d8ca52675f3398f45ae
2021-10-26 10:45:45 +08:00
YouMin Chen
e8c0c03fcc dt-bindings: memory: add macro definition about LPDDR4 and LPDDR4X
Signed-off-by: YouMin Chen <cym@rock-chips.com>
Change-Id: I7bcf1f8c9f1d282a68d59dcc14fecaa7c0f59090
2021-10-26 10:45:45 +08:00
Ding Wei
f4fa6b0a5e video: rockchip: mpp: fix issue for devices register to service
The device must be registered last. If there is an error, the device
should not succeed.

Change-Id: Ie342c8bbf30e8a94822dcb2e0417fe1230e4482a
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
2021-10-26 10:41:38 +08:00
Ding Wei
616eb53bf1 video: rockchip: mpp: rkvenc: probe issue for devfreq init error
When devfreq initially fails, the device can still continue to execute,
but there is no devfreq function.

Change-Id: I2a39a77e0a85cb43854b6adbe0476905abcc9a3b
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
2021-10-26 10:41:38 +08:00
Yandong Lin
d6a0a91bc4 video: rockchip: mpp: Fix report wrong dev when pagefault
On some platforms(such as px30), vepu and vdpu shared the
same mmu.So when registering the iommu handle function,
there will be overwriting.Results in the reported device mismatch
when page fault.

Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: Id07c7f3088c52fcb987797c689296154c670078c
2021-10-26 10:41:38 +08:00
Ding Wei
4cc0b13369 video: rockchip: mpp: fix issue for CONFIG_IOMMU_SUPPORT=n
if CONFIG_IOMMU_SUPPORT=n, log:
 error: 'const struct iommu_ops' has no member named 'flush_iotlb_all'
   if (domain && domain->ops && domain->ops->flush_iotlb_all)

Change-Id: I8268e0b5d5a513d1c55b0c755c479049b13bdeb7
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
2021-10-26 10:41:38 +08:00
Ding Wei
a73554c2b3 video: rockchip: mpp: Use CONFIG_CPU_XX to match build target
Using CONFIG_CPU_XX only compiles the code of matching CPU,
then it can reduce the object file.

Change-Id: Ic19345464c802939d08786ae29b34111c3c5a855
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
2021-10-26 10:41:38 +08:00
Ding Wei
a58b07b133 video: rockchip: mpp: px30: Use hack_xx.c instead workround funcs
move the workaround functions for px30 to the mpp_hack_px30.c.

Change-Id: I9f9880c28fe1d797b0551d116a66294223a5e251
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
2021-10-26 10:41:38 +08:00
Ding Wei
e39950f6fe video: rockchip: mpp: Use ROCKCHIP_MPP_PROC_FS instead of PROC_FS
For kernel-tiny, remove debug relative code, and reduce the size of module.

Change-Id: Ic78a0839a75c9cebb56fa32e87235bd97be0370a
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
2021-10-26 10:41:38 +08:00
Frank Wang
07f556c601 arm64: dts: rockchip: rk3588s: add mailbox nodes
This adds three mailbox nodes for RK3588 SoCs.

Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
Change-Id: I49edf5211a0aab183524aeb37aaed56a2cf2c3ff
2021-10-25 16:27:09 +08:00
Frank Wang
6b4eb82586 arm64: dts: rockchip: rk3588s: add hw spinlock nodes
This adds HW Spinlock nodes for RK3588 SoCs.

Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
Change-Id: I97c9c7292060b8b805353448cf6c47167bb3981d
2021-10-25 16:27:09 +08:00
Jianqun Xu
79c6a1e08b dma-buf: system_heap: adjust orders if swiotlb limit
This patch is useful for board with totalram size larger than 4GB.

Since swiotlb has memory size limitation, this will calculate the
maximum size locally, as a workaround to fix the orders[0].

With this patch:
[    3.921612] orders[0] = 6
[    3.921647] orders[1] = 4
[    3.921715] orders[2] = 0

Change-Id: I9286f6ea53f679816c9afd378a6cfe620ef1b53e
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2021-10-25 16:18:41 +08:00
Liang Chen
0bf8924272 soc: rockchip: rk_fiq_debugger: fix deadlock when printk in try_to_wake_up
Assume p is console task, try_to_wake_up(p) will hold p->pi_lock,
if printk is called in try_to_wake_up(), then printk will call
try_to_wake_up(p) again which cause deadlock on p->pi_lock.

deadlock stack:
Thread #2 2 (Name: cpu1, EL2H) (Suspended : Container)
	queued_spin_lock_slowpath() at qspinlock.c:382 0xffffffc0101359a4
	queued_spin_lock() at qspinlock.h:85 0xffffffc0111ef72c
	do_raw_spin_lock_flags() at spinlock.h:195 0xffffffc0111ef72c
	__raw_spin_lock_irqsave() at spinlock_api_smp.h:119 0xffffffc0111ef72c
	_raw_spin_lock_irqsave() at spinlock.c:159 0xffffffc0111ef72c
	try_to_wake_up() at core.c:3,070 0xffffffc0101059c0
	wake_up_process() at core.c:3,275 0xffffffc010103bcc
	console_write() at rk_fiq_debugger.c:337 0xffffffc010732a50
	fiq_debugger_console_write() at fiq_debugger.c:1,169 0xffffffc010d60004
	call_console_drivers() at printk.c:1,912 0xffffffc01013f2d4
	console_unlock() at printk.c:2,538 0xffffffc01013f2d4
	vprintk_emit() at printk.c:2,061 0xffffffc01013ed48
	vprintk_default() at printk.c:2,078 0xffffffc01013f698
	vprintk_func() at printk_safe.c:401 0xffffffc010142304
	printk() at printk.c:2,109 0xffffffc0111e50a4
	report_bug() at bug.c:193 0xffffffc01063e258
	bug_handler() at traps.c:907 0xffffffc01009415c
	call_break_hook() at debug-monitors.c:325 0xffffffc010085a40
	brk_handler() at debug-monitors.c:332 0xffffffc010085a40
	do_debug_exception() at fault.c:964 0xffffffc0100af2bc
	el1_dbg() at entry-common.c:185 0xffffffc0111e6ba8
	el1_sync_handler() at entry-common.c:222 0xffffffc0111e6a04
	el1_sync() at 0xffffffc01008240c
	brk()
	WARN_ON_ONCE()
	ttwu_queue_wakelist()
	try_to_wake_up()
	hrtimer_wakeup()
	run_hrtimer()
	usleep_range()
	console_put()
	console_thread()

Change-Id: I76dac4e2a76abb1f75e66677fb7ece2b52a83f25
Signed-off-by: Liang Chen <cl@rock-chips.com>
2021-10-25 15:52:40 +08:00
Elaine Zhang
738c7b532a regulator: rk860x: Add binding document for Rockchip Rk860x
Add rk860x-regulator.yaml document for Rockchip Rk860x Buck.

Change-Id: I374a9c3b17f0f9382d7213a5d3a1a8ece9f0ae1d
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
2021-10-25 09:35:22 +08:00
Elaine Zhang
f8805c8874 regulator: rk860x: Add RK860X dcdc support
RK860X main features:
    - 2.7V to 5.5V Input Voltage Range;
    - 2.4MHz Constant Switching Frequency;
    - 6A Available Load Current;
    - Programmable Output Voltage: 0.7125V to 1.5V in 12.5mV
      Steps(RK8600/RK8601), 0.5V to 1.5V in 6.25mV(RK8602/RK8603);
    - PFM/PWM Operation for Optimum Increased Efficiency;

Change-Id: Ib564dee94151d42c0288d2141c6b66c70bc019b9
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
2021-10-25 09:35:06 +08:00