Commit Graph

866713 Commits

Author SHA1 Message Date
Elaine Zhang
ffbb2a9f9f mfd: rk630: add rtc regmap and irq
Change-Id: Ia21198d9806e697c6383ed7211959a3a3c6e38d9
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
2021-10-28 14:12:42 +08:00
Zhen Chen
7d79155429 MALI: bifrost: resolve error when 'make clean'
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
Change-Id: I492507877fc82c475c46d5c0c93d216ab052a48e
2021-10-27 18:40:32 +08:00
Zhen Chen
100a5af029 MALI: rockchip: upgrade bifrost DDK to g7p1-01bet0, from g6p0-01eac0
Including modifications under drivers/base/ from the new DDK.

Resolve lots of conflicts.

Change-Id: I69f9ac87d927441d0b92b8dac8b704922aeb6a0a
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
2021-10-27 18:40:32 +08:00
Zhen Chen
c2d009d203 MALI: bifrost: fix a bug that makes vdd_gpu abnormally low
Change-Id: Ic0b785ead0da551e9e640c45b73f6686a1ec5cca
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
2021-10-27 18:40:32 +08:00
Zhen Chen
84f151935f MALI: rockchip: upgrade bifrost DDK to g6p0-01eac0, from g2p0-01eac0
Include a new directory include/uapi/gpu/arm/bifrost/,
which includes some header files of bifrost device driver.
In the original part of g6, the path is include/uapi/gpu/arm/midgard/.
I changed the "midgard" to "bifrost", and modified the paths of the header files in .c files.

I resolved some conflicts between modifications form ARM and RK, manually.

In addition, introduce source files of protected_memory_allocator
that might be needed by bifrost_device_driver into build system.

Change-Id: I09d500a0fdbc5da352c81dc4fcfbffb5b7f907f5
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
2021-10-27 18:40:32 +08:00
Jianqun Xu
50bd39f727 drm: rockchip: use dma-buf-cache
Change-Id: I6a34a5a4f33e54b7459461bcfa84f03a831d2f65
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2021-10-27 18:16:42 +08:00
Jianqun Xu
36514da674 dma-buf: support to cache dma-buf-attachment
This patch try to fix this issue by caching the dma-buf attachments and
stores the cache list to dtor_data of dma-buf structor. The dma-buf
attach with cache will try to find cached attachment first and return
the valid instance.

This patch also store the deattch operation to dtor of dma-buf structor
by dma_buf_set_destructor.

Change-Id: I4778c3328825f6c04f5d2608994e62fe3478bf1b
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2021-10-27 18:16:42 +08:00
Sugar Zhang
b84613bfeb ASoC: rockchip: Kconfig: Remove unused PREALLOC_BUFFER_SIZE
This reverts part of commit 213457f1ef
("ASoC: rockchip: pcm: Adjust min/max value for pcm config").

Instead, pass module option 'prealloc_buffer_size_kbytes'
to specify it. any details please refer to:
Documentation/sound/alsa-configuration.rst

e.g. 32 kbytes prealloc buffer size:

"snd_soc_core.prealloc_buffer_size_kbytes=32"

Change-Id: I3788620807c4e94d3e9c15ef224b76266722dcc1
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2021-10-27 11:05:07 +08:00
Su Yuefu
e8ce286fac media: i2c: add sc223a sensor driver
Signed-off-by: Su Yuefu <yuefu.su@rock-chips.com>
Change-Id: Ib7b04474b80318889bc356c25506cc8e1497902a
2021-10-27 10:52:35 +08:00
Andy Yan
43f90e774d drm/rockchip: vop2: Reset plane->rotation to DRM_MODE_ROTATE_0
Some application(e.g Kwin) may use it as a default rotation.
We should set it a valid rotation here.

Change-Id: Idef8fa5097b54710e2ead32a197d5d1e6bf78d94
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
2021-10-27 10:24:32 +08:00
Finley Xiao
790f77f1a1 arm64: dts: rockchip: rk3568: Add vop-frame-bw-dmc-freq
Fix vop POST_BUF_EMPTY irq err when rotate screen.

Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Change-Id: I3c0d5c52efa8612ce6bf24f6748ccab7c1c05a57
2021-10-26 18:07:07 +08:00
Finley Xiao
4163c2ca85 PM / devfreq: rockchip_dmc: Change frequency according to vop frame bandwidth
Sometimes the vop line bandwidth is not high, the vop also report
buf empty err, and the frame bandwidth is high at this time, so change
ddr frequency according to frame bandwidth can fix the error.

Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Change-Id: Ia893a07def99aaaa4da421b6d619a8fd3eec9745
2021-10-26 18:07:07 +08:00
Sandy Huang
15201ca7b3 drm/rockchip: vop2: add calculate current frame data size
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: Ie9c92c651b8c379c77aac941d03bf3f772ed7eea
2021-10-26 18:07:04 +08:00
Yiqing Zeng
7bda16fadf media: i2c: sc5239 fix logic gain error
sc5239 have logic gain for analog, it can improve the image quality for
raw data.

Signed-off-by: Yiqing Zeng <zack.zeng@rock-chips.com>
Change-Id: I03a17f21d1457aa60a7438b4a4895493e879be28
2021-10-26 17:53:36 +08:00
Algea Cao
f4e8f555a4 drm/rockchip: dw_hdmi: Add rk356x hdmitx phy pll cfg
After testing, if use previous hdmitx pll cfg , rk356x some
chips will appear 297M tmds clock output abnormal. After
signal testing, it was decided to update the vendor
recommended pll cfg.

Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: If1ca2f9e5922c9b95b1d90055640daafcacc2301
2021-10-26 16:43:27 +08:00
Cai YiWei
05332f7eb9 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 10:15:08 +08:00
Cai YiWei
193fab7512 media: rockchip: ispp: remove tnr iir first frame skip
Change-Id: Iac599ac81059c92f929ccd0997d32e419c338642
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2021-10-26 10:14:51 +08:00
Cai YiWei
01bbe48cae 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 10:14:43 +08:00
Cai YiWei
4ab1b65d86 media: rockchip: isp/ispp to version v1.7.0
Change-Id: I3c07a83f9e5a4e7b2bfee30cc5e36c252ecc429f
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2021-10-26 10:14:21 +08:00
Cai YiWei
9539d807c2 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-25 16:07:56 +08:00
Zefa Chen
03d58d32a5 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-25 16:07:56 +08:00
Zorro Liu
ecb04d26a3 drm/rockchip: ebc_dev: release version v2.13
create independent workqueqe to do auto refresh work

Signed-off-by: Zorro Liu <lyx@rock-chips.com>
Change-Id: I71421e4391fe9c1f85023b08057d75a4e11e9c85
2021-10-25 14:24:02 +08:00
Ding Wei
570ca7f242 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-22 18:29:17 +08:00
Simon Xue
607ec674a1 PCI: rockchip: update rockchip-pcie-dma driver
1. reduce buffer size to 128KB
2. invalidate buffer cache on demand
3. reduce scantimer interval to 100us

Can improve NPU fps from 45 to 95, the main reason is that
most of data packages of NPU less than 1MB, setting buffer
size to 128KB got a well result after testing.

Signed-off-by: Simon Xue <xxm@rock-chips.com>
Change-Id: Ib9e57b95a608110f4ec00c74a84cbe6deb63caf7
2021-10-22 17:25:53 +08:00
Ding Wei
64f0c74249 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-22 17:12:09 +08:00
Sugar Zhang
d5a8a6f035 FROMGIT: ASoC: rockchip: Use generic dmaengine code
This reverts commit 75b31192fe.

The original purpose of customized pcm was to config prealloc buffer size
flexibly. but, we can do the same thing by soc-generic-dmaengine-pcm.

And the generic one can generated the better config by querying DMA
capabilities from dmaengine driver rather than the Hard-Coded one.

e.g.

the customized one:

  static const struct snd_pcm_hardware snd_rockchip_hardware = {
         .info                   = SNDRV_PCM_INFO_MMAP |
                                   SNDRV_PCM_INFO_MMAP_VALID |
                                   SNDRV_PCM_INFO_PAUSE |
                                   SNDRV_PCM_INFO_RESUME |
                                   SNDRV_PCM_INFO_INTERLEAVED,
  ...

the generic one:

  ret = dma_get_slave_caps(chan, &dma_caps);
  if (ret == 0) {
          if (dma_caps.cmd_pause && dma_caps.cmd_resume)
                  hw.info |= SNDRV_PCM_INFO_PAUSE | SNDRV_PCM_INFO_RESUME;
          if (dma_caps.residue_granularity <= DMA_RESIDUE_GRANULARITY_SEGMENT)
                  hw.info |= SNDRV_PCM_INFO_BATCH;
  ...

So, let's revert back to use the generic dmaengine pcm.

Change-Id: I30eee2e8047b69d7311fd6da0cfd2b5872b81e17
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Reviewed-by: John Keeping <john@metanate.com>
Link: https://lore.kernel.org/r/1632792957-80428-1-git-send-email-sugar.zhang@rock-chips.com
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit 5ba8ecf227
 git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-5.16)
2021-10-22 16:50:06 +08:00
Sugar Zhang
ba2cfd68f4 FROMGIT: ASoC: dmaengine: Introduce module option prealloc_buffer_size_kbytes
Currently, The fixed 512KB prealloc buffer size is too larger for
tiny memory kernel (such as 16MB memory). This patch adds the module
option "prealloc_buffer_size_kbytes" to specify prealloc buffer size.

It's suitable for cards which use the generic dmaengine pcm driver
with no config.

Change-Id: I76cc278f523d41083ba30b36d801d2839682d158
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Link: https://lore.kernel.org/r/1632394246-59341-1-git-send-email-sugar.zhang@rock-chips.com
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit b0e3b0a707
 git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-5.16)
2021-10-22 16:49:55 +08:00
Andy Yan
0c5249aab1 drm/rockchip: vop2: Adjust wait critical time zone policy when there are two pending vp
Current policy:

If there are two pending config done vp, and one of them is
at critical time zone, wait for the one wich has long time
to vsync.

This may lead a very long wait, for example: VP0 is 3840 x 2160,
VP2 is 1920 x 1080, they are all have pending cfg done bits,
and the vcnt of VP0 is 1367, the vcnt of VP2 is 995, VP2 is
at the critical time zone, we will wait VP0 vsync(almost half frame time)
according to this policy. This lead a very long wait.

The new policy:

If there are two pending config done vp, and one of them is
at critical time zone, compare the left vcnt time of the
two vp:

if (first_vp_left_time > second_vp_left_time) {
	if ((first_vp_left_time - second_vp_left_time) > first_vp_safe_time)
		wait_vp = second_done_vp;
	else
		wait_vp = first_done_vp;
} else {
	if ((second_vp_left_time - first_vp_left_time) > second_vp_safe_time)
               wait_vp = first_done_vp;
	else
		wait_vp = second_done_vp;
}

Change-Id: I7154ad716841c6c28947ddfecc845c7271cc507a
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
2021-10-22 15:58:15 +08:00
David Wu
2c264016e4 net: ethernet: stmmac: dwmac-rk: Disable delayline if it is invalid
If delayline can't get from DTB or invalid, don't enable delayline.

Signed-off-by: David Wu <david.wu@rock-chips.com>
Change-Id: I9769af42d02c67d2ea3fd24de5def45a1ec1cc17
2021-10-21 15:11:34 +08:00
Yandong Lin
8649265280 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-21 14:43:46 +08:00
Ding Wei
88ce0688ff driver core: Export symbol: device_links_read_lock/unlock
The symbols is used for rockchip video codec driver,
which located driver/rockchip/video/mpp. When mpp is build
for module, it will be error.

Error message:
ERROR: "device_links_read_unlock"
[drivers/video/rockchip/mpp/rk_vcodec.ko] undefined!
ERROR: "device_links_read_lock" [drivers/video/rockchip/mpp/rk_vcodec.ko] undefined!
make[2]: *** [__modpost] Error 1
make[1]: *** [modules] Error 2
make: *** [kernel.img] Error 2
make: *** Deleting file `kernel.img'`

Change-Id: Ie412341c03ad71d257392a22249b62bedd0be58b
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
2021-10-21 09:23:29 +08:00
Wyon Bi
2d50781c01 clk/rockchip/regmap: rk618: Bypass PLL by default
Fixes: 962d002400 ("clk/rockchip/regmap: Prepare RK628 PLL support")
Change-Id: I9d76d96f0aa73e97f8ab9ce47f5ac28f22608342
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2021-10-20 17:39:05 +08:00
Cai YiWei
8965ce1d73 media: rockchip: isp: dmatx default config with mipi sensor input
Change-Id: I51f27921b650d614e552d810995172d4ea17ef08
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2021-10-20 17:38:44 +08:00
Zefa Chen
295c091894 include: uapi/linux/rk-camera-module.h modify otp struct
1. modify af inf
2. add module info

Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I455e649c1ffe471e1b5239d95ae929ad85113248
2021-10-20 16:02:33 +08:00
William Wu
11f9c06cc3 usb: dwc3: gadget: wait for disconnect done before runtime suspend
The dwc3 gadget call pm_runtime_get in the __dwc3_gadget_ep_queue()
to increment the device's usage count, and call pm_runtime_put in
the dwc3_gadget_giveback() to decrement the device's usage count
if the request is completed successfully or disconnection happens.

Test on RK3399 IND Type-C interface with HUSB311 (Type-C port
controller chip), if plug out the USB cable, the extcon notifier
from tcpm framework comes earlier than the dwc3 disconnect event.
This cause the dwc3 fails to enter the runtime suspend immediately
in the disconnection process of __dwc3_set_mode().

This patch waits for the dwc3 disconnect event done before doing
pm_runtime_put_sync_suspend. If it takes 1000ms to wait for the
disconnect event timeout, just print warning log and still do
the pm_runtime_put_sync_suspend, and then the dwc3 can also enter
runtime suspend automatically (DWC3_DEFAULT_AUTOSUSPEND_DELAY is
5000ms) after the disconnect event done.

Signed-off-by: William Wu <william.wu@rock-chips.com>
Change-Id: Ie6086d469b5d24f841532992e4e95f0c91c37022
2021-10-20 15:55:41 +08:00
Zorro Liu
02456ae203 mfd: rk808: disable rk817 int when shutdown
rk817 int pin is connect to sleep pin on ebook hardware design,
cpu unable to pull high sleep pin to shutdown devices,
when pmic occurs interrupt, so we just disable pmic int
on shutdown process to avoid this.

TEST:Press the Power button frequently while shutting down ebook devices

Signed-off-by: Zorro Liu <lyx@rock-chips.com>
Change-Id: I2a3a45be371b78720a94b1380fbb101a5597cfc6
2021-10-20 15:16:36 +08:00
Elaine Zhang
fd5fd8b70e 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-19 15:14:10 +08:00
Elaine Zhang
e193e5488c 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-19 15:10:59 +08:00
Ding Wei
4e57d971b6 video: rockchip: mpp: rcu_read_lock/unlock -> device_links_read_lock/unlock
reason:
1. might_sleep is called by pm_runtime_xx, thus, it cannot covered by
   rcu_read_lock/unlock which is atomic context.
2. it need use device_links_read_lock/unlock when meets dev->links.suppliers.

relative call trace:
[ 1804.810833  ] mpp_rkvdec2 fdf80200.rkvdec: resetting...
[ 1804.811030  ] BUG: sleeping function called from invalid context at
drivers/base/power/runtime.c:1005
[ 1804.811090  ] in_atomic(): 0, irqs_disabled(): 0, pid: 3043, name:
[ 1804.811149  ] CPU: 2 PID: 3043 Comm: rkvdec Tainted: G        W
4.19.206 #215
[ 1804.811192  ] Hardware name: Rockchip RK3566 EVB1 DDR4 V10 Board (DT)
[ 1804.811236  ] Call trace:
[ 1804.811316  ]  dump_backtrace+0x0/0x178
[ 1804.811366  ]  show_stack+0x14/0x20
[ 1804.811421  ]  dump_stack+0x94/0xb4
[ 1804.811474  ]  ___might_sleep+0xf0/0x118
[ 1804.811505  ]  __might_sleep+0x50/0x88
[ 1804.811535  ]  __pm_runtime_idle+0x9c/0xa0
[ 1804.811681  ]  mpp_iommu_refresh+0x54/0xd0 [rk_vcodec]
[ 1804.811789  ]  rkvdec2_link_reset+0xac/0x128 [rk_vcodec]
[ 1804.811873  ]  rkvdec2_link_isr+0xe4/0x6d0 [rk_vcodec]
[ 1804.811995  ]  rkvdec2_link_worker+0xc0/0xb08 [rk_vcodec]
[ 1804.812053  ]  kthread_worker_fn+0xe8/0x1f8
[ 1804.812099  ]  kthread+0x138/0x168
[ 1804.812130  ]  ret_from_fork+0x10/0x18
[ 1804.812243  ] mpp_rkvdec2 fdf80200.rkvdec: reset done

Change-Id: Id8453483b021a092e298736640e725a8e48c862b
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
2021-10-19 14:53:20 +08:00
Jon Lin
85546e9ff7 drivers: rkflash: Support new spiflash
1.spinand: GD5F1GQ5REYIG, GD5F2GQ5REYIG, GD5F2GM7RxG, GD5F2GM7UxG,
DS35M2GA-IB, DS35Q2GB-IB, DS35M1GB-IB, TX25G01
2.spinor: GD25Q64E, GD25LQ255E, GD25LQ256C, GD25LB512MEYIG, XM25QH64C,
XM25QH128C, XM25QH256C, XM25QU128C, XM25QU64C

Change-Id: Ic9313b296528b7586a5139c13c77bd3ec477c359
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2021-10-19 14:52:28 +08:00
Zefa Chen
bc216fc845 include: uapi/linux/rk-camera-module.h otp support pdaf
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I4bcd2d1ff866059821ef1ddc7248530cd37a9062
2021-10-19 14:27:49 +08:00
Zhenke Fan
c20c1dc6bb include: uapi/linux/rk-camera-module.h modify the rkmodule_lsc_inf
Signed-off-by: Zhenke Fan <fanzy.fan@rock-chips.com>
Change-Id: I89403b779bcd6191e6fe76e1412275ad1752d414
2021-10-19 11:11:22 +08:00
Shawn Lin
0feb50f920 PCI: rockchip: dw: Fix gen switch case when link is up
L0 may be detected just in time if Gen1 training is finished.
But if EP supports higher Gen mode, Gen switch just happen
there but we keep on accessing devices, which leads unstable
link state and fail to detect the device finally.

And a bit more time before accessing devices to avoid this risky
case.

Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Change-Id: If7eddce430b4590922b5c8f765be8a240b562d92
2021-10-19 09:01:33 +08:00
Joseph Chen
00ae76eb0b mfd: rk808: correct condition check to set pm_power_off as NULL
Fixes porting:
(62e9bedcf2 UPSTREAM: mfd: rk808: Check pm_power_off pointer)

Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Change-Id: I2fdb6bf8dc40260a68fb5b1155617f6dfebb4707
2021-10-18 14:43:21 +08:00
Joseph Chen
ff3fb24350 mfd: rk808: format and imporve the coding style
Try to keep the same as develop-5.10 code for easily
compare files.

Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Change-Id: I19bf821f17d06ad9d46d3319e33c2e3c7823fdce
2021-10-18 14:43:21 +08:00
Jon Lin
b3411ad8b4 drivers: rkflash: Recheck the cache only the spinand devices in need
The operation of reading back flash cache after programing is not
universal. At present, only ESMT devices are found to have this anomaly.

Change-Id: I3ec21eebc4aa7b8a259129ed2c036e1168553f27
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2021-10-15 19:45:26 +08:00
YouMin Chen
72edc8e464 arm64: dts: rockchip: rk3568: remove ddr_timing node
Signed-off-by: YouMin Chen <cym@rock-chips.com>
Change-Id: Iaef7442a52bfadee989c507e4fb9e60d50f9c49e
2021-10-15 19:27:33 +08:00
YouMin Chen
6a53296ce8 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-15 19:26:59 +08:00
YouMin Chen
afda73facd 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-15 15:59:42 +08:00
YouMin Chen
ed286b021c 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-15 15:57:38 +08:00