Commit Graph

860739 Commits

Author SHA1 Message Date
Sudeep Holla
738c335874 UPSTREAM: firmware: arm_scmi: Skip scmi mbox channel setup for addtional devices
Now that the scmi bus supports adding multiple devices per protocol,
and since scmi_create_protocol_device calls scmi_mbox_chan_setup,
we must avoid allocating and initialising the mbox channel if it is
already initialised.

Reviewed-by: Cristian Marussi <cristian.marussi@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
(cherry picked from commit 11040889af)

Change-Id: I312846528b8e5e2251784e8c43548b895243ef54
Signed-off-by: XiaoDong Huang <derrick.huang@rock-chips.com>
2020-12-22 15:54:09 +08:00
Steven Price
b93145dca3 UPSTREAM: arm/arm64: Provide a wrapper for SMCCC 1.1 calls
SMCCC 1.1 calls may use either HVC or SMC depending on the PSCI
conduit. Rather than coding this in every call site, provide a macro
which uses the correct instruction. The macro also handles the case
where no conduit is configured/available returning a not supported error
in res, along with returning the conduit used for the call.

This allow us to remove some duplicated code and will be useful later
when adding paravirtualized time hypervisor calls.

Signed-off-by: Steven Price <steven.price@arm.com>
Acked-by: Will Deacon <will@kernel.org>
Signed-off-by: Marc Zyngier <maz@kernel.org>
(cherry picked from commit 541625ac47)

Change-Id: I870c88fae413a0d46c242f840938e1a3578a942f
Signed-off-by: XiaoDong Huang <derrick.huang@rock-chips.com>
2020-12-22 15:54:09 +08:00
Mark Rutland
62eb270452 UPSTREAM: arm/arm64: smccc/psci: add arm_smccc_1_1_get_conduit()
SMCCC callers are currently amassing a collection of enums for the SMCCC
conduit, and are having to dig into the PSCI driver's internals in order
to figure out what to do.

Let's clean this up, with common SMCCC_CONDUIT_* definitions, and an
arm_smccc_1_1_get_conduit() helper that abstracts the PSCI driver's
internal state.

We can kill off the PSCI_CONDUIT_* definitions once we've migrated users
over to the new interface.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
(cherry picked from commit 6b7fe77c33)

Change-Id: I4e2d92b6f641eedc759b2f7a7e1c576a7935b8b2
Signed-off-by: XiaoDong Huang <derrick.huang@rock-chips.com>
2020-12-22 15:54:09 +08:00
Sudeep Holla
0d0070c028 UPSTREAM: firmware: arm_scmi: Add support for multiple device per protocol
Currently only one scmi device is created for each protocol enumerated.
However, there is requirement to make use of some procotols by multiple
kernel subsystems/frameworks. One such example is SCMI PERFORMANCE
protocol which can be used by both cpufreq and devfreq drivers.
Similarly, SENSOR protocol may be used by hwmon and iio subsystems,
and POWER protocol may be used by genpd and regulator drivers.

In order to achieve that, let us extend the scmi bus to match based
not only protocol id but also the scmi device name if one is available.

Reviewed-by: Cristian Marussi <cristian.marussi@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
(cherry picked from commit ee7a9c9f67)

Change-Id: Ia371408eb8e2b26c0b3b39de9ed86baa3d2f87b9
Signed-off-by: XiaoDong Huang <derrick.huang@rock-chips.com>
2020-12-22 15:54:09 +08:00
Sudeep Holla
8a9f387931 UPSTREAM: firmware: arm_scmi: Add support for asynchronous commands and delayed response
Messages that are sent to platform, also known as commands and can be:

1. Synchronous commands that block the channel until the requested work
has been completed. The platform responds to these commands over the
same channel and hence can't be used to send another command until the
previous command has completed.

2. Asynchronous commands on the other hand, the platform schedules the
requested work to complete later in time and returns almost immediately
freeing the channel for new commands. The response indicates the success
or failure in the ability to schedule the requested work. When the work
has completed, the platform sends an additional delayed response message.

Using the same transmit buffer used for sending the asynchronous command
even for the delayed response corresponding to it simplifies handling of
the delayed response. It's the caller of asynchronous command that is
responsible for allocating the completion flag that scmi driver can
complete to indicate the arrival of delayed response.

Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
(cherry picked from commit 58ecdf03db)

Change-Id: I366d810e11789b5c1ea038e85c2cd04e5452c72b
Signed-off-by: XiaoDong Huang <derrick.huang@rock-chips.com>
2020-12-22 15:54:09 +08:00
Sudeep Holla
6dbf7b831f UPSTREAM: firmware: arm_scmi: Add mechanism to unpack message headers
In order to identify the message type when a response arrives, we need
a mechanism to unpack the message header similar to packing. Let's
add one.

Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
(cherry picked from commit 22d1f76109)

Change-Id: Ib69d24aaf3e4b8d00713a578d1647c19f3334ea8
Signed-off-by: XiaoDong Huang <derrick.huang@rock-chips.com>
2020-12-22 15:54:09 +08:00
Sudeep Holla
c66f421b53 UPSTREAM: firmware: arm_scmi: Separate out tx buffer handling and prepare to add rx
Currently we pre-allocate transmit buffers only and use the first free
slot in that pre-allocated buffer for transmitting any new message that
are generally originated from OS to the platform firmware.

Notifications or the delayed responses on the other hand are originated
from the platform firmware and consumes by the OS. It's better to have
separate and dedicated pre-allocated buffers to handle the notifications.
We can still use the transmit buffers for the delayed responses.

In addition, let's prepare existing scmi_xfer_{get,put} for acquiring
and releasing a slot to identify the right(tx/rx) buffers.

Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
(cherry picked from commit 38c927fbeb)

Change-Id: Ie6411e89580a35ea78a32eeeb74756e2d62e528f
Signed-off-by: XiaoDong Huang <derrick.huang@rock-chips.com>
2020-12-22 15:54:09 +08:00
Sudeep Holla
65b767396a UPSTREAM: firmware: arm_scmi: Add receive channel support for notifications
With scmi_mbox_chan_setup enabled to identify and setup both Tx and Rx,
let's consolidate setting up of both the channels under the function
scmi_mbox_txrx_setup.

Since some platforms may opt not to support notifications or delayed
response, they may not need support for Rx. Hence Rx is optional and
failure of setting one up is not considered fatal.

Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
(cherry picked from commit 46cc7c286c)

Change-Id: Iac0772348af94f83690c06d340f8493e92618e76
Signed-off-by: XiaoDong Huang <derrick.huang@rock-chips.com>
2020-12-22 15:54:09 +08:00
Sudeep Holla
bcc8aa7230 UPSTREAM: firmware: arm_scmi: Segregate tx channel handling and prepare to add rx
The transmit(Tx) channels are specified as the first entry and the
receive(Rx) channels are the second entry as per the device tree
bindings. Since we currently just support Tx, index 0 is hardcoded at
all required callsites.

In order to prepare for adding Rx support, let's remove those hardcoded
index and add boolean parameter to identify Tx/Rx channels when setting
them up.

Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
(cherry picked from commit 3748daf7fb)

Change-Id: Ia5ae7c7740afaba0dc2f87b50f65a9e0da91377e
Signed-off-by: XiaoDong Huang <derrick.huang@rock-chips.com>
2020-12-22 15:54:08 +08:00
Sudeep Holla
6ac6f37ceb UPSTREAM: firmware: arm_scmi: Reorder some functions to avoid forward declarations
Re-shuffling few functions to keep definitions and their usages close.
This is also needed to avoid too many unnecessary forward declarations
while adding new features(delayed response and notifications).

Keeping this separate to avoid mixing up of these trivial change that
doesn't affect functionality into the ones that does.

Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
(cherry picked from commit 2747a967c8)

Change-Id: I2e44aebdda6b29bd3739f63aba1bb755453e55d6
Signed-off-by: XiaoDong Huang <derrick.huang@rock-chips.com>
2020-12-22 15:54:08 +08:00
Sudeep Holla
cc091c4691 UPSTREAM: firmware: arm_scmi: Use the term 'message' instead of 'command'
In preparation to adding support for other two types of messages that
SCMI specification mentions, let's replace the term 'command' with the
correct term 'message'.

As per the specification the messages are of 3 types:
commands(synchronous or asynchronous), delayed responses and notifications.

Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
(cherry picked from commit 5b65af8f60)

Change-Id: I7c67371e158c1856f318e9084a78f4fe8c36c9b6
Signed-off-by: XiaoDong Huang <derrick.huang@rock-chips.com>
2020-12-22 15:54:08 +08:00
Sudeep Holla
7f3632a711 UPSTREAM: firmware: arm_scmi: Fix few trivial typos in comments
While adding new comments found couple of typos that are better fixed.

s/informfation/information/
s/statues/status/

Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
(cherry picked from commit c29a628976)

Change-Id: I674c5f34787af25febf9325b02c2c9af797641ee
Signed-off-by: XiaoDong Huang <derrick.huang@rock-chips.com>
2020-12-22 15:54:08 +08:00
Sudeep Holla
6398ceda9b UPSTREAM: firmware: arm_scmi: Remove extra check for invalid length message responses
scmi_xfer_get_init ensures both transmit and receive buffer lengths are
within the maximum limits. If receive buffer length is not supplied by
the caller, it's set to the maximum limit value. Receive buffer length
is never modified after that. So there's no need for the extra check
when receive transmit completion for a command essage.

Further, if the response header length is greater than the prescribed
receive buffer length, the response buffer is truncated to the latter.

Reported-by: Jim Quinlan <james.quinlan@broadcom.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
(cherry picked from commit 37bbffcb19)

Change-Id: I913d3fd7041b6226918840aa644f098ec43f8bf7
Signed-off-by: XiaoDong Huang <derrick.huang@rock-chips.com>
2020-12-22 15:54:08 +08:00
Aditya Pakki
92fb15b300 UPSTREAM: firmware: arm_scmi: replace of_match_device->data with of_device_get_match_data()
of_match_device can return NULL if no matching device is found though
it's highly unlikely to happen in scmi_probe as it's called only if
a valid match is found.

However we can use of_device_get_match_data() instead of
of_match_device()->data to handle NULL pointer checks and return -EINVAL
in such a scenario.

Reviewed-by: Steven Price <steven.price@arm.com>
Signed-off-by: Aditya Pakki <pakki001@umn.edu>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
(cherry picked from commit d9350f21e5)

Change-Id: Ie82ea97ae27ef08022b9326c02671378f99dfd57
Signed-off-by: XiaoDong Huang <derrick.huang@rock-chips.com>
2020-12-22 15:54:08 +08:00
YouMin Chen
ad4ff95560 PM / devfreq: rockchip_dmc: add support for rk3568
Change-Id: I64f11fefb6227805031e911910a0123e4c0f9d78
Signed-off-by: YouMin Chen <cym@rock-chips.com>
2020-12-22 15:37:47 +08:00
YouMin Chen
8a4608928a dt-bindings: memory: add header to define DRAM for rk3568
Change-Id: I3f5218a6babf2e4a6d58eb9b8680911875c1f5de
Signed-off-by: YouMin Chen <cym@rock-chips.com>
2020-12-22 15:25:28 +08:00
YouMin Chen
e94ae96d81 dt-bindings: devfreq: rockchip_dmc: add rk3568 support
Change-Id: I84acdefc9441406e2bca49549a863dd83a621bc4
Signed-off-by: YouMin Chen <cym@rock-chips.com>
2020-12-22 15:24:41 +08:00
YouMin Chen
f07627c47a PM / devfreq: rockchip-dfi: add support for rk3568 dfi
Change-Id: I62d21e31cd56e82c04de675be502b261ba3740da
Signed-off-by: YouMin Chen <cym@rock-chips.com>
2020-12-22 15:24:11 +08:00
YouMin Chen
40fd19587f dt-bindings: devfreq: rockchip_dfi: add rk3568 support
Change-Id: Id99f60a26f260ba9a4fb037fd0be12355c2d5abd
Signed-off-by: YouMin Chen <cym@rock-chips.com>
2020-12-22 15:22:04 +08:00
Ding Wei
37b4b14779 video: rockchip: mpp: fix error for clear cache
1. rkvdec2 use 3 cache.
2. cache offset is 0x500 not 0x700.

Change-Id: Ib5715750c363a9a7ffda938466eb32a0ea43b729
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
2020-12-22 10:30:48 +08:00
Jianqun Xu
d386b9cfa6 Revert "staging: ion: remove __GFP_NOWARN when use low order gfp flags"
This reverts commit d2805d7fff.

Change-Id: Id70bd22428df247703d3e4c466fe450faf680d03
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2020-12-22 09:31:29 +08:00
Shunqing Chen
b76b1f8f53 drm/bridge: synopsys: dw-hdmi: fix no display between kernel logo and android logo
def_mode picture_aspect_ratio is no HDMI_PICTURE_ASPECT_NONE,
but Android set mode, the picture_aspect_ratio is HDMI_PICTURE_ASPECT_NONE,
When comparing the new mode with the old mode, the two are inconsistent,
so the mode will be changed.

Signed-off-by: Shunqing Chen <csq@rock-chips.com>
Change-Id: Ide07f9f7251a4ad22d4c27136005be77f1dfd4e2
2020-12-21 15:53:41 +08:00
Shawn Lin
9bbced880c mmc: sdhci-of-dwcmshc: auto gate clk when changing phase in tuning
Change-Id: I24a86622cc41c58dcf6e7edd9e458fe976573954
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
2020-12-21 10:23:38 +08:00
Shawn Lin
57621d50a1 mmc: sdhci-of-dwcmshc: Set timeout broken flag for rk platform
Actually from test, it seems the expected DATA timeout is broken
for some CMD transfers which is wired, so we have to add
SDHCI_QUIRK_BROKEN_TIMEOUT_VAL for sdhci core to always set max
timeout value

Change-Id: Ib41ca137f700f939a13c9f9d0fc30cb8590f1183
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
2020-12-21 09:47:33 +08:00
Weixin Zhou
0449e66bd5 arm64: dts: rockchip: Adjust tx phase to 0x8 for rk3566 tablet
Signed-off-by: Weixin Zhou <zwx@rock-chips.com>
Change-Id: Iab71da05f6cd553d158100b5bddf53fe0028ac34
2020-12-21 09:41:58 +08:00
Hu Kejun
09cdad0647 media: rockchip: isp/ispp: release ldch/fec buffer when close video
Signed-off-by: Hu Kejun <william.hu@rock-chips.com>
Change-Id: I527e2658e69c11c415f3df4b604693d1ef18b360
2020-12-18 17:42:30 +08:00
Frank Liu
fd06e4f6d5 media: i2c: add sc500ai driver
Signed-off-by: Frank Liu <frank.liu@rock-chips.com>
Change-Id: I2c77e19dfe67e943bf18d6f775d30b4180f59b95
2020-12-18 17:34:10 +08:00
Shawn Lin
f43f195636 phy: rockchip: naneng-combphy: Adjust PCIe signal
Set SSC downward spread spectrum for PCIe and set proper
RMJ for inner 100M and external 100M refclk.

Change-Id: Ic7d9d1651f7687858e6c5e399bc98ee03b5ee964
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
2020-12-18 17:31:19 +08:00
Jianqun Xu
5a7e222b78 BACKPORT: ANDROID: staging: ion: Skip sync if not mapped
This is back from android mainline with conflict fix from
(f2bcdb43a7 ANDROID: staging: ion: Skip sync if not mapped)

Only sync the sg-list of an Ion dma-buf attachment when the attachment
is actually mapped on the device.

dma-bufs may be synced at any time. It can be reached from user space
via DMA_BUF_IOCTL_SYNC, so there are no guarantees from callers on when
syncs may be attempted, and dma_buf_end_cpu_access() and
dma_buf_begin_cpu_access() may not be paired.

Since the sg_list's dma_address isn't set up until the buffer is used
on the device, and dma_map_sg() is called on it, the dma_address will be
NULL if sync is attempted on the dma-buf before it's mapped on a device.

Change-Id: I11f7c13cfc7fa9672df803457c1708e60bf51ae7
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2020-12-18 17:21:41 +08:00
Ren Jianing
9b9650c3d5 arm64: dts: rockchip: rk3568-nvr: add usb3otg support
Signed-off-by: Ren Jianing <jianing.ren@rock-chips.com>
Change-Id: Icd68825442e89ff78ae8139b7326ad1ba253e7a9
2020-12-18 10:49:07 +08:00
Alex Zhao
e37604f00f arm64: dts: rockchip: change the wifi power-on method for rk356x evb
Signed-off-by: Alex Zhao <zzc@rock-chips.com>
Change-Id: I2859c7e701ae7f023894e19a2e9fd96f6f5df9db
2020-12-18 10:31:57 +08:00
Alex Zhao
0472b0ebac net: rfkill-wlan: set the correct gpio direction
Signed-off-by: Alex Zhao <zzc@rock-chips.com>
Change-Id: I5e3af65df302304f0b6ea4ccef86bf8572c3b9ac
2020-12-18 10:24:31 +08:00
Elaine Zhang
6866058796 arm64: dts: rockchip: set ACLK_VOP to 500M for rk3568
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: Ib96868c3a5bdebd9144d957e567318e57991cc3e
2020-12-18 10:12:29 +08:00
Shawn Lin
74cc51c949 arm64: dts: rockchip: Adjust tx phase to 0x8 for rk3568-evb
Change-Id: Ib9709f463a4fd1e0f1403e9bf0fe8fca043be537
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
2020-12-18 10:10:42 +08:00
Shawn Lin
e66979ea8b mmc: sdhci-of-dwcmshc: Don't gate bus clock for RPM
Gate bus clock will make DLL module lost tuning value.

Change-Id: I3af2d7c6601acbdeb4eb732e597d7d5725e0354b
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
2020-12-18 10:07:28 +08:00
Shawn Lin
0fa85aaa6c mmc: sdhci-of-dwcmshc: add adma_write_desc support for rk platforms
Change-Id: I44226752d0ece413be622cd5f994782b6832f2eb
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
2020-12-18 09:10:00 +08:00
Jisheng Zhang
9a89c11550 UPSTREAM: mmc: sdhci: fix __sdhci_adma_write_desc
If hosts provides ops->adma_write_desc, we should not fall back to the
general sdhci_adma_write_desc().

Change-Id: I42e14edddbf7eccecb18bbff2abd802ea8dacd43
Signed-off-by: Jisheng Zhang <Jisheng.Zhang@synaptics.com>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
(cherry picked from 07be55b567)
2020-12-18 09:00:35 +08:00
Zhihua Wang
a3c7d4b409 ARM: dts: add rv1126-evb-ddr3-v13-dualcam-tb-emmc.dts
Signed-off-by: Zhihua Wang <hogan.wang@rock-chips.com>
Change-Id: I7e2d8bbf021dea66fdf75aac9403b19fdc87a9d6
2020-12-17 18:44:21 +08:00
Jon Lin
c7270465b2 drivers: rkflash: Fixed bbt operation calculation error
Fixes: 008340a82 ("drivers: rkflash: Change to use the api which the oob area available")
Change-Id: I140aa76a2acb73271ba04b7060030dc06a2353e6
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2020-12-17 16:09:28 +08:00
Cai YiWei
77d310cf85 Revert "HACK: media: videobuf2: allow cache hints on all memory types"
This reverts commit a7b55392ab.

Signed-off-by: Cai YiWei <cyw@rock-chips.com>
Change-Id: I6eacd69327e0b64d36c8d7c69dd1f0a51ce3480a
2020-12-17 14:58:08 +08:00
Alex Zhao
1b592d162b arm64: dts: rockchip: rk3566-rk817-tablet: set sdio default sample phase to 90
Signed-off-by: Alex Zhao <zzc@rock-chips.com>
Change-Id: I8cdd54f2a6154e95c3257ee1c10dd6e1ad08158f
2020-12-17 14:55:08 +08:00
Longjian Lin
ac6bf6f045 arm64: dts: rockchip: rk3399-ind: add BT pinctrl
Signed-off-by: Longjian Lin <llj@rock-chips.com>
Change-Id: I542639f549f7932ce980f21e13f3cad022dd4272
2020-12-17 14:53:37 +08:00
Longjian Lin
1ceda43610 arm64: dts: rockchip: add BT gpio pinctrl for rk3399 excavator
Signed-off-by: Longjian Lin <llj@rock-chips.com>
Change-Id: Icb6408fed0d4f64a87a8adfd6c1a1358a6bc7ab2
2020-12-17 14:52:55 +08:00
Huang zhibao
e58ec60782 arm64: rockchip_linux_defconfig: enable CONFIG_CMA and CONFIG_DMA_CMA config
Signed-off-by: Huang zhibao <hzb@rock-chips.com>
Change-Id: I3ccdf71e8a67e93e45f6e1705d3c6b2961055ed2
2020-12-17 14:51:26 +08:00
Simon Xue
4eb691cb07 PCI: rockchip: dw: fix UDMA logic
Clear UDMA interrupt first before starting a new transfer. Otherwise,
the new interrupt corresponding to new transfer may be cleared
when clear the last interrupt which finally cause transfer timeout.

Change-Id: I4d232e41cdfaa68178cdd99942aefa717032c1b9
Signed-off-by: Simon Xue <xxm@rock-chips.com>
2020-12-17 14:38:14 +08:00
Shawn Lin
e1b9ba4215 arm64: dts: rockchip: rk3568: add aux clock for PCIe
Change-Id: I9318a8ca57b09a3fe792ac0a60f7e82f60d7ff87
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
2020-12-17 10:13:13 +08:00
Jianqun Xu
507db37b29 arm64: dts: rockchip: rk3568-android fix linux,cma reserved memory
Make linux default cma 8M and inactive

Change-Id: I1ba9da332b6dcafa51f2dc76a0ac2f2c83e20abc
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2020-12-16 18:17:04 +08:00
Binyuan Lan
bcd526456f arm64: dts: rockchip: Fixed sound card configuration for rk3566-rk817-tablet-rkg11
Signed-off-by: Binyuan Lan <lby@rock-chips.com>
Change-Id: Ic51409e9e0e05459277292b14801cdde79046230
2020-12-16 18:16:06 +08:00
Binyuan Lan
70207c5070 arm64: configs: rockchip_defconfig: enable es7210
This is needed by rk3566-rk817-tablet-rkg11 with mic array

Signed-off-by: Binyuan Lan <lby@rock-chips.com>
Change-Id: I6c1083b402273bfa1492c9a2f851a76a5c71ab7d
2020-12-16 18:16:06 +08:00
Shunqing Chen
1a41b1771a mfd: rk808: fix error of rk817 close rtc alarm
Signed-off-by: Shunqing Chen <csq@rock-chips.com>
Change-Id: I242b54485fcc5d32eca3b3cc282e82baa13e1d9a
2020-12-16 18:07:06 +08:00