Commit Graph

1255428 Commits

Author SHA1 Message Date
Tao Huang
761bb33401 net: wireless: rockchip_wlan: bcmdhd: Fix out-of-srctree build
../drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/aiutils.c:25:10: fatal error: 'typedefs.h' file not found

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I425cb52776bb1b3294b8ef67c951b04afe2288a9
2023-08-02 18:21:02 +08:00
Bin Yang
504d18fc1c usb: gadget: uvc: fix list not initialized in framebased format
A panic occur if make framebased format.

[    8.272086][  T204] list_add corruption. prev is NULL.
[    8.272104][  T204] ------------[ cut here ]------------
[    8.272106][  T204] kernel BUG at lib/list_debug.c:24!
[    8.285172][  T204] Call trace:
[    8.285454][  T204]  __list_add_valid+0x78/0xb8
[    8.285858][  T204]  uvcg_frame_make+0x100/0x1a8
[    8.286262][  T204]  configfs_mkdir+0x208/0x428
[    8.286664][  T204]  vfs_mkdir+0xe8/0x170
[    8.287023][  T204]  do_mkdirat+0x98/0x1a4
[    8.287381][  T204]  __arm64_sys_mkdirat+0x20/0x2c
[    8.287806][  T204]  el0_svc_common+0xac/0x1ac
[    8.288197][  T204]  do_el0_svc+0x1c/0x28
[    8.288546][  T204]  el0_svc+0x10/0x1c
[    8.288873][  T204]  el0_sync_handler+0x68/0xac
[    8.289274][  T204]  el0_sync+0x160/0x180

Fixes: 02bfaf0477 ("FROMLIST: usb: gadget: uvc: configfs: add framebased format support")
Signed-off-by: Bin Yang <yangbin@rock-chips.com>
Change-Id: Ibbba0ac5035945398fd866a6028c4b4cce4b79f7
2023-08-01 10:06:35 +08:00
Zhen Chen
cf18504ebe MALI: bifrost: Resolve a runtime WARNING when CONFIG_FORTIFY_SOURCE is enabled
The original WARNING:
memcpy: detected field-spanning write (size 8) of single field "&trace_buffer->name" at drivers/gpu/arm/bifrost/csf/mali_kbase_csf_trace_buffer.c:267 (size 1)
WARNING: CPU: 4 PID: 341 at drivers/gpu/arm/bifrost/csf/mali_kbase_csf_trace_buffer.c:267 kbase_csf_firmware_parse_trace_buffer_entry+0x1b8/0x1c0
...

Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
Change-Id: I27da582ae033b4a89a4a5c7c3e98e636e3336df8
2023-08-01 08:54:13 +08:00
Tao Huang
7d5e496b58 video: rockchip: rga3: Import namespace DMA_BUF
ERROR: modpost: module rga3 uses symbol dma_buf_vmap from namespace DMA_BUF, but does not import it.
ERROR: modpost: module rga3 uses symbol dma_buf_vunmap from namespace DMA_BUF, but does not import it.
ERROR: modpost: module rga3 uses symbol dma_buf_attach from namespace DMA_BUF, but does not import it.
ERROR: modpost: module rga3 uses symbol dma_buf_map_attachment from namespace DMA_BUF, but does not import it.
ERROR: modpost: module rga3 uses symbol dma_buf_detach from namespace DMA_BUF, but does not import it.
ERROR: modpost: module rga3 uses symbol dma_buf_put from namespace DMA_BUF, but does not import it.
ERROR: modpost: module rga3 uses symbol dma_buf_get from namespace DMA_BUF, but does not import it.
ERROR: modpost: module rga3 uses symbol dma_buf_unmap_attachment from namespace DMA_BUF, but does not import it.

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I3fbad697bb9419f91f82d1aa5af087132c07cca7
2023-07-25 12:12:45 +08:00
Tao Huang
f951d0d766 video: rockchip: iep: Import namespace DMA_BUF
ERROR: modpost: module iep uses symbol dma_buf_put from namespace DMA_BUF, but does not import it.
ERROR: modpost: module iep uses symbol dma_buf_attach from namespace DMA_BUF, but does not import it.
ERROR: modpost: module iep uses symbol dma_buf_map_attachment from namespace DMA_BUF, but does not import it.
ERROR: modpost: module iep uses symbol dma_buf_detach from namespace DMA_BUF, but does not import it.
ERROR: modpost: module iep uses symbol dma_buf_unmap_attachment from namespace DMA_BUF, but does not import it.

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I2726f9a0d2bc960c4e986aa759a7f7c0d083628d
2023-07-25 12:12:06 +08:00
Tao Huang
5fa40cb305 rknpu: Import namespace DMA_BUF
ERROR: modpost: module rknpu uses symbol dma_buf_mmap from namespace DMA_BUF, but does not import it.

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I956ab29689da5e1089c12757a5ea73ede7c1208e
2023-07-25 12:11:12 +08:00
Tao Huang
feca3f90fb media: rockchip: ispp: Import namespace DMA_BUF
ERROR: modpost: module video_rkispp uses symbol dma_buf_fd from namespace DMA_BUF, but does not import it.
ERROR: modpost: module video_rkispp uses symbol dma_buf_put from namespace DMA_BUF, but does not import it.
ERROR: modpost: module video_rkispp uses symbol dma_buf_attach from namespace DMA_BUF, but does not import it.
ERROR: modpost: module video_rkispp uses symbol dma_buf_map_attachment from namespace DMA_BUF, but does not import it.
ERROR: modpost: module video_rkispp uses symbol dma_buf_vmap from namespace DMA_BUF, but does not import it.
ERROR: modpost: module video_rkispp uses symbol dma_buf_detach from namespace DMA_BUF, but does not import it.
ERROR: modpost: module video_rkispp uses symbol dma_buf_vunmap from namespace DMA_BUF, but does not import it.
ERROR: modpost: module video_rkispp uses symbol dma_buf_unmap_attachment from namespace DMA_BUF, but does not import it.

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: If364340011efaa4e92c9d99a50bb27da24072db5
2023-07-25 12:09:46 +08:00
Tao Huang
fdfd0f1539 media: rockchip: isp: Import namespace DMA_BUF
ERROR: modpost: module video_rkisp uses symbol dma_buf_detach from namespace DMA_BUF, but does not import it.
ERROR: modpost: module video_rkisp uses symbol dma_buf_put from namespace DMA_BUF, but does not import it.
ERROR: modpost: module video_rkisp uses symbol dma_buf_unmap_attachment from namespace DMA_BUF, but does not import it.
ERROR: modpost: module video_rkisp uses symbol dma_buf_attach from namespace DMA_BUF, but does not import it.
ERROR: modpost: module video_rkisp uses symbol dma_buf_map_attachment from namespace DMA_BUF, but does not import it.
ERROR: modpost: module video_rkisp uses symbol dma_buf_fd from namespace DMA_BUF, but does not import it.

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: Ib2615d64e349ddfcf9f2ffb0bccfa7055c0ae49c
2023-07-25 12:09:00 +08:00
Tao Huang
bf1e0ab824 media: rockchip: vicap: Import namespace DMA_BUF
ERROR: modpost: module video_rkcif uses symbol dma_buf_put from namespace DMA_BUF, but does not import it.
ERROR: modpost: module video_rkcif uses symbol dma_buf_fd from namespace DMA_BUF, but does not import it.
ERROR: modpost: module video_rkcif uses symbol dma_buf_export from namespace DMA_BUF, but does not import it.

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I1c8940e20546f965edf7438095b20a8365854b09
2023-07-25 11:46:31 +08:00
Tao Huang
b2c21c9410 crypto: rockchip: cryptodev_linux: Import namespace DMA_BUF
ERROR: modpost: module cryptodev uses symbol dma_buf_unmap_attachment from namespace DMA_BUF, but does not import it.
ERROR: modpost: module cryptodev uses symbol dma_buf_detach from namespace DMA_BUF, but does not import it.
ERROR: modpost: module cryptodev uses symbol dma_buf_put from namespace DMA_BUF, but does not import it.
ERROR: modpost: module cryptodev uses symbol dma_buf_get from namespace DMA_BUF, but does not import it.
ERROR: modpost: module cryptodev uses symbol dma_buf_attach from namespace DMA_BUF, but does not import it.
ERROR: modpost: module cryptodev uses symbol dma_buf_map_attachment from namespace DMA_BUF, but does not import it.
ERROR: modpost: module cryptodev uses symbol dma_buf_begin_cpu_access from namespace DMA_BUF, but does not import it.
ERROR: modpost: module cryptodev uses symbol dma_buf_end_cpu_access from namespace DMA_BUF, but does not import it.

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I4b456188306f1b69ca0572191a8bb1ff51221732
2023-07-25 11:41:40 +08:00
Sandy Huang
07c3daf6cb drm/rockchip: vop2: update pre_dither_down config
1. config vp1 pre_dither_down at split mode;
2. disable pre_dither_down at YUV 10/8 bit output and RGB 10 bit output;
3. enable pre_dither_down at RGB 8/6 bit output;

Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I304fc66324c97e3e4f50e03b8c8c2c1835871b1a
2023-07-21 10:24:03 +08:00
Sandy Huang
69a7a5fff6 drm/rockchip: vop2: add more plane check
1. NV12/NV16/YUYV xoffset must aligned as 2 pixel;
2. NV12/NV15 yoffset must aligned as 2 pixel;
3. NV30 xoffset must aligned as 4 pixel;
4. NV15/NV20 xoffset must aligend as 8 pixel at rk3568/rk3588/rk3528/rk3562,
   others must aligned as 4 pixel;

Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I28d69d1f8189963170ef798c12bfd60fb092ef20
2023-07-21 10:23:59 +08:00
Sandy Huang
7db648b8a9 drm/rockchip: vop2: only legacy gamma set need extra config done
The legacy api drmModeCrtcSetGammalegacy can be called independently, so it need extra config done;
and the atomic api have config done at the vop2_crtc_atomic_flush();

Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: Idca4c42f1d298ec312dc839ee526e4132d9d8b73
2023-07-21 10:23:55 +08:00
Sandy Huang
873880973a drm/rockchip: vop2: recover win state when exit psr
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I0d30042473ae84f49b4d326b31732180995b8b52
2023-07-21 10:23:51 +08:00
Sandy Huang
882bc3c824 drm/rockchip: vop2: Fix plane parameter check error at interlace mode
At interlace mode, the adjusted_mode->crtc_vdisplay will be div2 from vdisplay,
but the userspace is still set as adjusted_mode->vdisplay.

Fixes: bfc49df515 ("drm/rockchip: vop3: plane display size check use crtc_* parameter is more correct")
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I6765e5486dc4d15b0b34b75370280d48500ef4da
2023-07-21 10:23:48 +08:00
Tao Huang
c9915f7de9 ASoC: rockchip: Remove duplicated CONFIG_SND_SOC_ROCKCHIP_I2S_TDM_MULTI_LANES
Fixes: 17f6d76e32 ("Merge commit 'e74b58e2c6140fd37e40a0ac47bc9d1c7ddb219a'")
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: If21bdc00a5d205129f35176cb2e9205e8e5325d7
2023-07-20 14:26:27 +08:00
David Wu
6ea088b27e ethernet: stmmac: Fix the tx timeout issue for kernel-6.1 merged
For this case, the weight might be 0, so can't do transmit. This patch
can solve following ussue:

[   60.737783][  T147] rk_gmac-dwmac fe1b0000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[   60.737877][  T147] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   65.829085][    C5] ------------[ cut here ]------------
[   65.829150][    C5] NETDEV WATCHDOG: eth0 (rk_gmac-dwmac): transmit queue 0 timed out
[   65.829252][    C5] WARNING: CPU: 5 PID: 0 at net/sched/sch_generic.c:526 dev_watchdog+0x208/0x228
[   65.829294][    C5] Modules linked in: bcmdhd dhd_static_buf r8168
[   65.829329][    C5] CPU: 5 PID: 0 Comm: swapper/5 Not tainted 6.1.25 #65
[   65.829350][    C5] Hardware name: Rockchip RK3588 EVB1 LP4 V10 Board (DT)
[   65.829365][    C5] pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[   65.829386][    C5] pc : dev_watchdog+0x208/0x228
[   65.829410][    C5] lr : dev_watchdog+0x208/0x228
[   65.829432][    C5] sp : ffffffc00a203e10
[   65.829446][    C5] x29: ffffffc00a203e10 x28: dead000000000122 x27: 0000000000000000
[   65.829474][    C5] x26: ffffffc00a203ea0 x25: 0000000000000001 x24: ffffff82f6dadfb0
[   65.829498][    C5] x23: ffffffc009cc6000 x22: 0000000000000000 x21: ffffff810111039c
[   65.829520][    C5] x20: ffffff8101110000 x19: ffffff8101110448 x18: ffffffc00a1ed030
[   65.829542][    C5] x17: 756f2064656d6974 x16: ffffffffffffffff x15: 0000000000000004
[   65.829564][    C5] x14: ffffffc009d4d360 x13: 0000000000003fff x12: 0000000000000003
[   65.829586][    C5] x11: 00000000ffffbfff x10: c0000000ffffbfff x9 : 242a4f7b9d363e00
[   65.829610][    C5] x8 : 242a4f7b9d363e00 x7 : 205b5d3035313932 x6 : 382e35362020205b
[   65.829631][    C5] x5 : ffffffc00a16e61f x4 : ffffffc00a203b47 x3 : 0000000000000000
[   65.829652][    C5] x2 : 0000000000000000 x1 : ffffffc00a203bb0 x0 : 0000000000000041
[   65.829675][    C5] Call trace:
[   65.829687][    C5]  dev_watchdog+0x208/0x228
[   65.829711][    C5]  call_timer_fn+0x34/0x208
[   65.829738][    C5]  __run_timers+0x1a8/0x2dc
[   65.829760][    C5]  run_timer_softirq+0x24/0x48
[   65.829783][    C5]  _stext+0xe0/0x388
[   65.829803][    C5]  ____do_softirq+0x10/0x1c
[   65.829824][    C5]  call_on_irq_stack+0x40/0x58
[   65.829844][    C5]  do_softirq_own_stack+0x1c/0x28
[   65.829865][    C5]  __irq_exit_rcu+0x98/0xec
[   65.829885][    C5]  irq_exit_rcu+0x10/0x1c
[   65.829903][    C5]  el1_interrupt+0xa0/0x170
[   65.829929][    C5]  el1h_64_irq_handler+0x18/0x24
[   65.829951][    C5]  el1h_64_irq+0x78/0x7c
[   65.829968][    C5]  cpuidle_enter_state+0x17c/0x440
[   65.829993][    C5]  cpuidle_enter+0x38/0x50
[   65.830014][    C5]  do_idle+0x1ec/0x2c0
[   65.830034][    C5]  cpu_startup_entry+0x24/0x28
[   65.830052][    C5]  secondary_start_kernel+0x12c/0x1a8
[   65.830074][    C5]  __secondary_switched+0x68/0x6c

Signed-off-by: David Wu <david.wu@rock-chips.com>
Change-Id: I56bf8cfc9bf07b3bc13356ca7b3fe4cb48065d78
2023-07-20 10:21:03 +08:00
Zefa Chen
c4aa7f25c3 phy: rockchip: csi2-dphy: fixes rockchip_csi2_dphy_fwnode_parse
fixes error of:
rockchip-csi2-dphy csi2-dcphy0: Only CSI2 type is currently supported
rockchip-csi2-dphy csi2-dcphy0: driver could not parse port@1/endpoint@0 (-22)

Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: Ie559585300f30acc227df578fc41fefc5278f0ee
2023-07-07 20:10:11 +08:00
Tao Huang
17f6d76e32 Merge commit 'e74b58e2c6140fd37e40a0ac47bc9d1c7ddb219a'
* commit 'e74b58e2c6140fd37e40a0ac47bc9d1c7ddb219a': (81 commits)
  video: rockchip: rga3: add support for more Porter-Duff blend mode
  video: rockchip: rga3: remove old alpha config parameter
  video: rockchip: rga3: Modify the log printing of alpha config
  video: rockchip: rga3: remove the magic number in rga3 alpha config
  video: rockchip: rga3: remove the magic number in rga2 alpha config
  video: rockchip: rga3: print request_id and core_id when timeout
  video: rockchip: mpp: vepu2: fix multicore dispatch err
  ata: ahci: re-enabled FBS after issued software reset
  ARM: configs: rockchip_linux_defconfig: disable CONFIG_DM_VERITY
  media: rockchip: isp: no set clk if assigned-clock-rates in dts
  drm/rockchip: dsi2: Delete unused prop: USER_SPLIT_MODE
  drm/rockchip: dw_hdmi: Delete unused prop: USER_SPLIT_MODE
  drm/rockchip: vop2: rk3588 add support dual connector split mode
  drm/rockchip: drv: add split_area to identification left or right panel
  arm64: dts: rockchip: rk3399-evb: add WIFI,poweren_gpio for wifi
  mtd: spinand: gigadevice: Sync with upstream
  media: rockchip: isp: sync isp stream_on end then to start working
  arm64: dts: rockchip: rk3588-vehicle: fix gmac pinctrl-name error
  mtd: spinand: dosilicon: Modify redundant ECC status bits
  phy: rockchip: naneng-combphy: Fix swing from 250mV to 650mV for rk3562 pcie
  ...

Signed-off-by: Tao Huang <huangtao@rock-chips.com>

Conflicts:
	drivers/phy/rockchip/phy-rockchip-naneng-combphy.c
	drivers/soc/rockchip/rockchip_opp_select.c
	include/soc/rockchip/rockchip_opp_select.h
	sound/soc/rockchip/rockchip_i2s_tdm.c
	sound/soc/rockchip/rockchip_pdm.c

Ignore:
	commit ed8ff84e98 ("soc: rockchip: opp_select: Implement rockchip_set_opp_supported_hw()").
	commit 2fe4992cb6 ("soc: rockchip: opp_select: Add support to parse 'rockchip,pvtm-voltage-sel-hw'").

Change-Id: I6d806db3fce856aae87d66572dd9823525614554
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2023-07-07 15:59:00 +08:00
Jon Lin
b3a247a0ba phy: rockchip: naneng-combphy: Fix swing from 250mV to 650mV for rk3562 pcie
Fixes: 13639746fa ("phy: rockchip: naneng-combphy: Fix swing to 650mv under 100M refclk for rk3562")

Change-Id: If9bf594ec4183d4be62dd1f9edb24ecd30915f78
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2023-07-07 15:48:36 +08:00
Yu Qiaowei
e74b58e2c6 video: rockchip: rga3: add support for more Porter-Duff blend mode
add support src-in/dst-in/src-out/dst-out/src-atop/dst-atop/xor/clear.

Change-Id: Ia2d82e49ea5a8b7477350a0c60c5c1b00e21bc2b
Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
2023-07-07 14:20:19 +08:00
Yu Qiaowei
038764c6c9 video: rockchip: rga3: remove old alpha config parameter
Change-Id: Idde78fa5ab7cd6cc341538814f4b7bbfc51e1c90
Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
2023-07-07 14:20:19 +08:00
Yu Qiaowei
95eb7b7b3f video: rockchip: rga3: Modify the log printing of alpha config
Change-Id: I789463d1a20869b7f265193e1b31fc7005354ebc
Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
2023-07-07 14:20:19 +08:00
Yu Qiaowei
b9708581c2 video: rockchip: rga3: remove the magic number in rga3 alpha config
Change-Id: I8367ff38ce7d33df31a84f1cccd1926a1a912ab2
Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
2023-07-07 14:20:19 +08:00
Yu Qiaowei
a82c6b3355 video: rockchip: rga3: remove the magic number in rga2 alpha config
Change-Id: I4d52001a3ba036883b474ea68414526ee1567827
Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
2023-07-07 14:20:19 +08:00
Yu Qiaowei
c02f302451 video: rockchip: rga3: print request_id and core_id when timeout
Change-Id: I019ba59fb2ccb579bcf858a599dbe78390780ac1
Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
2023-07-07 14:20:19 +08:00
Yandong Lin
122528de46 video: rockchip: mpp: vepu2: fix multicore dispatch err
Fix 2 issue:
1.The array_index_nospec will clamp the index within the range of
  [0, size).If no core is idle, it still return core_id = 0 that will
  cause core 0 dispatch to work.

2.Disable a core dose not take effect.

Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: I939b0eee16fcec495b8cfe87aff3cb3e59044e5e
2023-07-07 14:14:17 +08:00
Yifeng Zhao
8bbf01958d ata: ahci: re-enabled FBS after issued software reset
The FBS feature may not be re-enabled if an error occurred
during soft reset. If the host supports FBS, this patch will
re-enable FBS at the end of soft reset.

Signed-off-by: Yifeng Zhao <yifeng.zhao@rock-chips.com>
Change-Id: I821bf5362c6be8ddf142823ad6b6268c797bcded
2023-07-07 14:12:13 +08:00
Caesar Wang
9cc8c48e1e ARM: configs: rockchip_linux_defconfig: disable CONFIG_DM_VERITY
1/ disable CONFIG_DM_VERITY

On Linux OS, it is not necessary to enable CONFIG_DM_VERITY by default,
only required if secureboot or security related functions are enabled.

2/ adjusting the config order

make ARCH=arm menuconfig, then make ARCH=arm savedefconfig
to check.

Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Change-Id: If0c11c32bf3ea42a36fa7fa12fbd9cc4a464e200
2023-07-07 14:10:48 +08:00
Sugar Zhang
b147d4da8f ASoC: rockchip: pdm: Fix clear on runtime resume
register PDM_SYSCONFIG is marked as volatile, and for regcache
sync policy, it will skip the registers which marked as volatile.

so, we should do it after regcache sync.

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: Ic65bc28d14fefc6e6c70e1b2c26468aa0fcd142e
2023-07-07 11:09:28 +08:00
Jon Lin
39b8455a14 mtd: spinand: gigadevice: Sync with upstream
from commit: 5b7261b mtd: spinand: winbond: Add support for Winbond W35N01JW SPI NAND flash

Change-Id: Iabca09af99d7b94150c847653faf0275228b7144
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2023-07-07 11:03:10 +08:00
Cai YiWei
c6188f5a41 media: rockchip: isp: no set clk if assigned-clock-rates in dts
Change-Id: I354adf062d05bbe62525370efd8ad43dce3347b4
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2023-07-06 20:27:12 +08:00
Sandy Huang
99976d5c8b drm/rockchip: dsi2: Delete unused prop: USER_SPLIT_MODE
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: If5607a7175e556dc515f7755d5132cc86150c443
2023-07-06 20:25:13 +08:00
Sandy Huang
37812ccba9 drm/rockchip: dw_hdmi: Delete unused prop: USER_SPLIT_MODE
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I806390230b06d28ba7691df455460114d34fa0c5
2023-07-06 20:25:13 +08:00
Sandy Huang
079bbda800 drm/rockchip: vop2: rk3588 add support dual connector split mode
example:
    VP2 -> DSI0 -> LCD(show left  half image)
        -> eDP1 -> LCD(show right half image)

Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: Ifdfb837a2b9cba198c8637a275125e25b9922f2c
2023-07-06 20:25:13 +08:00
Sandy Huang
54313858e8 drm/rockchip: drv: add split_area to identification left or right panel
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I1786ba74fb8a89684880df88de26a238042da654
2023-07-06 20:25:13 +08:00
Sugar Zhang
8f23d9cb40 ASoC: rockchip: i2s-tdm: Add support for TDM_MULTI_LANES
Example: RK3588

Use I2S2_2CH as Clk-Gen to serve TDM_MULTI_LANES

I2S2_2CH ----> BCLK,I2S_LRCK --------> I2S0_8CH_TX (Slave TRCM-TXONLY)
    |
    |--------> BCLK,TDM_SYNC --------> TDM Device (Slave)

Note:

I2S2_2CH_MCLK: BCLK
I2S2_2CH_SCLK: I2S_LRCK (GPIO2_B7)
I2S2_2CH_LRCK: TDM_SYNC (GPIO2_C0)

DT:

&i2s0_8ch {
       status = "okay";
       assigned-clocks = <&cru I2S0_8CH_MCLKOUT>;
       assigned-clock-parents = <&cru MCLK_I2S0_8CH_TX>;
       i2s-lrck-gpio = <&gpio1 RK_PC5 GPIO_ACTIVE_HIGH>;
       tdm-fsync-gpio = <&gpio1 RK_PC2 GPIO_ACTIVE_HIGH>;
       rockchip,tdm-multi-lanes;
       rockchip,tdm-tx-lanes = <2>; //e.g. TDM16 x 2
       rockchip,tdm-rx-lanes = <2>; //e.g. TDM16 x 2
       rockchip,clk-src = <&i2s2_2ch>;
       pinctrl-names = "default";
       pinctrl-0 = <&i2s0_lrck
                    &i2s0_sclk
                    &i2s0_sdi0
                    &i2s0_sdi1
                    &i2s0_sdo0
                    &i2s0_sdo1>;
};

&i2s2_2ch {
       status = "okay";
       assigned-clocks = <&cru I2S2_2CH_MCLKOUT>;
       assigned-clock-parents = <&cru MCLK_I2S2_2CH>;
       pinctrl-names = "default";
       pinctrl-0 = <&i2s2m0_mclk
                    &i2s2m0_lrck
                    &i2s2m0_sclk>;
};

Usage: TDM16 x 2 Playback

amixer contents

numid=3,iface=MIXER,name='Receive SDIx Select'
  ; type=ENUMERATED,access=rw------,values=1,items=5
  ; Item #0 'Auto'
  ; Item #1 'SDIx1'
  ; Item #2 'SDIx2'
  ; Item #3 'SDIx3'
  ; Item #4 'SDIx4'
  : values=0
numid=2,iface=MIXER,name='Transmit SDOx Select'
  ; type=ENUMERATED,access=rw------,values=1,items=5
  ; Item #0 'Auto'
  ; Item #1 'SDOx1'
  ; Item #2 'SDOx2'
  ; Item #3 'SDOx3'
  ; Item #4 'SDOx4'
  : values=0

/# amixer sset "Transmit SDOx Select" "SDOx2"
Simple mixer control 'Transmit SDOx Select',0
  Capabilities: enum
  Items: 'Auto' 'SDOx1' 'SDOx2' 'SDOx3' 'SDOx4'
  Item0: 'SDOx2'

/# aplay -D hw:0,0 --period-size=1024 --buffer-size=4096 -r 48000 \
   -c 32 -f s32_le /dev/zero

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I6996e05c73a9d68bbeb9562eb6e68e4c99b52d85
2023-07-06 15:19:28 +08:00
Alex Zhao
3b030cda11 arm64: dts: rockchip: rk3399-evb: add WIFI,poweren_gpio for wifi
Signed-off-by: Alex Zhao <zzc@rock-chips.com>
Change-Id: I3f76cc6c3eeda80ba197c71667e6d59516d86dd3
2023-07-06 10:52:26 +08:00
Jon Lin
9ce72fd947 mtd: spinand: gigadevice: Sync with upstream
from commit: 5b7261b mtd: spinand: winbond: Add support for Winbond W35N01JW SPI NAND flash

Change-Id: Iabca09af99d7b94150c847653faf0275228b7144
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2023-07-06 10:37:24 +08:00
Cai YiWei
12191bb9bd media: rockchip: isp: sync isp stream_on end then to start working
Change-Id: Ic3256dd8a8af8e1d6432d400b7a98ea7a3857d6a
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2023-07-06 10:36:51 +08:00
Luo Wei
601c236ec0 arm64: dts: rockchip: rk3588-vehicle: fix gmac pinctrl-name error
Signed-off-by: Luo Wei <lw@rock-chips.com>
Change-Id: I542bd51d414da77811a6c94d3739e29499c7215b
2023-07-06 10:36:23 +08:00
Jon Lin
f893305c91 mtd: spinand: dosilicon: Modify redundant ECC status bits
Change-Id: I80d37af0ecec18744bf6b3e1a8ef5b101330cce5
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2023-07-06 10:34:09 +08:00
Sugar Zhang
fa86218f9f ASoC: rockchip: i2s-tdm: Optimize TRCM-resume for QUIRKS_ALWAYS_ON
On the QUIRKS_ALWAYS_ON path, we bring up the clk path on probe
to achieve the clk always on function.

for this situation, the refcount always true, so, we should save
the stream dma state on pause and then do restore on resume.

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I8e45b78a475a468880ef2fb0b358dbdd1169ff08
2023-07-06 10:27:38 +08:00
Sugar Zhang
3324809cd0 ASoC: rockchip: i2s-tdm: Fix register write failed on QUIRKS_ALWAYS_ON
CLK_ALWAYS_ON should be placed after all registers write done,
because this situation will enable XFER bit which will make
some registers(depend on XFER) write failed.

Fixes: 3644caf8de ("ASoC: rockchip: i2s-tdm: Add support for clk always-on")

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: Iffcfed18d3805ee575df4e8cf267d4ef6a3fa866
2023-07-06 10:26:47 +08:00
Sugar Zhang
bd3108e757 ASoC: rockchip: i2s-tdm: Add support for pinctrl idle state
This patch switch pinctrl to idle state when runtime suspend.

At the moment, it's used for workaround for I2S0/2/3 (PD_AUDIO)
slave IO issue on RK3588 SoCs.

The issue acts like that when PD_AUDIO off, the BCLK/LRCK pin
will pull down the external clk to half-level.

The root cause is that when PD_AUDIO off, the BCLK/LRCK pin
are clamped as drive output low.

OTOH, the ASoC framework set pinctrl state first and then do
runtime PM resume (enable PD). it's reasonable, but for the
current issue, a few half-level cycles leak after resume, so,
we split pinctrl-clk out to control it separately.

  snd_pcm_open

      for_each_rtd_components(rtd, i, component)
      	pinctrl_pm_select_default_state(component->dev);

      ret = snd_soc_pcm_component_pm_runtime_get(rtd, substream);

e.g. pinctrl idle for i2s0

i2s0_gpio: i2s0-gpio {
	rockchip,pins =
		/* i2s0_lrck_gpio */
		<1 RK_PC5 0 &pcfg_pull_none>,
		/* i2s0_sclk_gpio */
		<1 RK_PC3 0 &pcfg_pull_none>;
};

&i2s0_8ch {
	pinctrl-names = "default", "idle", "clk";
	pinctrl-1 = <&i2s0_gpio>;
	pinctrl-2 = <&i2s0_lrck
		     &i2s0_sclk>;
};

cat /sys/kernel/debug/pinctrl/pinctrl-handles

device: fe470000.i2s current state: idle
  state: default
    type: MUX_GROUP controller rockchip-pinctrl group: i2s0-sdi0 (26) function: i2s0 (24)
    type: CONFIGS_PIN controller rockchip-pinctrl pin gpio1-28 (60)config 00000001
    type: MUX_GROUP controller rockchip-pinctrl group: i2s0-sdi1 (27) function: i2s0 (24)
    type: CONFIGS_PIN controller rockchip-pinctrl pin gpio1-27 (59)config 00000001
    type: MUX_GROUP controller rockchip-pinctrl group: i2s0-sdi2 (28) function: i2s0 (24)
    type: CONFIGS_PIN controller rockchip-pinctrl pin gpio1-26 (58)config 00000001
    type: MUX_GROUP controller rockchip-pinctrl group: i2s0-sdi3 (29) function: i2s0 (24)
    type: CONFIGS_PIN controller rockchip-pinctrl pin gpio1-25 (57)config 00000001
    type: MUX_GROUP controller rockchip-pinctrl group: i2s0-sdo0 (30) function: i2s0 (24)
    type: CONFIGS_PIN controller rockchip-pinctrl pin gpio1-23 (55)config 00000001
    type: MUX_GROUP controller rockchip-pinctrl group: i2s0-sdo1 (31) function: i2s0 (24)
    type: CONFIGS_PIN controller rockchip-pinctrl pin gpio1-24 (56)config 00000001
  state: idle
    type: MUX_GROUP controller rockchip-pinctrl group: i2s0-idle (23) function: i2s0 (24)
    type: CONFIGS_PIN controller rockchip-pinctrl pin gpio1-21 (53)config 00000001
    type: CONFIGS_PIN controller rockchip-pinctrl pin gpio1-19 (51)config 00000001
  state: clk
    type: MUX_GROUP controller rockchip-pinctrl group: i2s0-lrck (24) function: i2s0 (24)
    type: CONFIGS_PIN controller rockchip-pinctrl pin gpio1-21 (53)config 00000001
    type: MUX_GROUP controller rockchip-pinctrl group: i2s0-sclk (25) function: i2s0 (24)
    type: CONFIGS_PIN controller rockchip-pinctrl pin gpio1-19 (51)config 00000001

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: Ibda030dad44830f9f4eeb6448c14d4053a096fc6
2023-07-06 10:15:26 +08:00
Sugar Zhang
21bb44badd ASoC: rockchip: i2s-tdm: Reduce FIFO XRUN warning prompt
Warning once each time FIFO XRUN occurs, and then disable
it, until the next time the stream resume.

Before:
  rockchip_i2s_tdm_isr: 234 callbacks suppressed
  rockchip-i2s-tdm fe480000.i2s: TX FIFO Underrun
  rockchip-i2s-tdm fe480000.i2s: TX FIFO Underrun
  rockchip-i2s-tdm fe480000.i2s: TX FIFO Underrun
  rockchip-i2s-tdm fe480000.i2s: TX FIFO Underrun
  rockchip-i2s-tdm fe480000.i2s: TX FIFO Underrun
  rockchip-i2s-tdm fe480000.i2s: TX FIFO Underrun
  rockchip-i2s-tdm fe480000.i2s: TX FIFO Underrun
  rockchip-i2s-tdm fe480000.i2s: TX FIFO Underrun
  rockchip-i2s-tdm fe480000.i2s: TX FIFO Underrun
  rockchip-i2s-tdm fe480000.i2s: TX FIFO Underrun
  ...

  cat /proc/interrupts | grep i2s
  21:      514 0 0 0 0 0 0 0 GICv3 213 Level  i2s

After:

  rockchip-i2s-tdm fe480000.i2s: TX FIFO Underrun
  rockchip-i2s-tdm fe480000.i2s: TX FIFO Underrun
  rockchip-i2s-tdm fe480000.i2s: TX FIFO Underrun
  rockchip-i2s-tdm fe480000.i2s: TX FIFO Underrun

  cat /proc/interrupts | grep i2s
  21:        4 0 0 0 0 0 0 0 GICv3 213 Level  i2s

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: Ibe3b07d94b31f421fd637296cb137d5ba1071fcc
2023-07-06 10:12:23 +08:00
Sugar Zhang
9ab6a82fd6 ASoC: rockchip: i2s-tdm: Add support for IEC958
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I58243b194cd15b7d57e9b580d6917c2e054a1e67
2023-07-06 10:08:54 +08:00
Jon Lin
18390c37e3 phy: rockchip: naneng-combphy: Fix swing from 250mV to 650mV for rk3562 pcie
Fixes: 13639746fa ("phy: rockchip: naneng-combphy: Fix swing to 650mv under 100M refclk for rk3562")

Change-Id: If9bf594ec4183d4be62dd1f9edb24ecd30915f78
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2023-07-06 09:36:31 +08:00
Sugar Zhang
f905bac260 ASoC: rockchip: i2s-tdm: Fix error path in prepare_enable_mclk
[smatch] sound/soc/rockchip/rockchip_i2s_tdm.c:206 i2s_tdm_prepare_enable_mclk()
warn: 'i2s_tdm->mclk_rx' from clk_prepare_enable not released.

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I7af416e1a79c8fc229c5ea42b09785282d71bf10
2023-07-06 08:47:41 +08:00
Jon Lin
e52c72d489 PCI: rockchip: dw_ep: Fix wrong return value check
Fixes: c3f038c2dc ("PCI: rockchip: dw_ep: Delaying the link training after hot reset")
Change-Id: I9e14995caecce709d93d33b9e2b568a5eae91273
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2023-07-05 19:08:57 +08:00