Commit Graph

1267984 Commits

Author SHA1 Message Date
Tao Huang
048df626ea Merge commit '334c7192e6a968d1d6272fec5c956ae35a02a3db'
* commit '334c7192e6a968d1d6272fec5c956ae35a02a3db':
  drm/rockchip: drv: display logo when specify force output mode
  arm64: dts: rockchip: rk3588-vehicle-maxim-cameras-s66.dtsi: camera module and lens name using default
  arm64: dts: rockchip: rk3588-vehicle-evb-maxim-max9671(/2)2-d(c)phy0(/3).dtsi: camera module and lens name using default
  arm64: dts: rockchip: rk3588-vehicle-evb: move port dts to bridge node for evb20

Change-Id: I13e8ae92a8f8f9143e2ac5c0cc86b07770354a8d
2024-01-19 20:52:25 +08:00
Guochun Huang
334c7192e6 drm/rockchip: drv: display logo when specify force output mode
resolve the following error when displaying the boot logo.

 rockchip-drm display-subsystem: bound fe0a0000.hdmi (ops dw_hdmi_rockchip_ops)
 rockchip-drm display-subsystem: connector[HDMI-A-1] can't found any match mode
 [drm] HDMI-A-1 support modes:

 [drm] "1280x720": 60 74250 1280 1390 1430 1650 720 725 730 750 0x8 0x5
 [drm] "4096x2160": 60 556744 4096 4104 4136 4176 2160 2208 2216 2222 0x40 0x9
 [drm] "4096x2160": 60 556188 4096 4104 4136 4176 2160 2208 2216 2222 0x40 0x9
 [drm] "2560x1600": 60 348500 2560 2752 3032 3504 1600 1603 1609 1658 0x40 0x6
 [drm] "2560x1600": 60 268500 2560 2608 2640 2720 1600 1603 1609 1646 0x40 0x9
 [drm] "1920x1440": 60 234000 1920 2048 2256 2600 1440 1441 1444 1500 0x40 0x6
 [drm] "1856x1392": 60 218250 1856 1952 2176 2528 1392 1393 1396 1439 0x40 0x6
...
[drm] "640x480": 60 25175 640 656 752 800 480 490 492 525 0x40 0xa
 [drm] uboot set mode: h/v display[1080,1920] h/v sync_end[1180,1940] vfresh[57], flags[0x5], aspect_ratio[0]
 rockchip-vop2 fe040000.vop: [drm:vop2_crtc_atomic_disable] Crtc atomic disable vp0
 rockchip-drm display-subsystem: can't not find any logo display

Change-Id: Ia32189311d87f5d5ab5f7fdc5c14d5e2ddf24d8d
Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
2024-01-19 09:43:56 +08:00
Frank Wang
711520711d phy: rockchip: usbdp: cleanup internal apis
Cleanup internal APIs to make compatible for more SoCs.

Signed-off-by: Zhang Yubing <yubing.zhang@rock-chips.com>
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
Signed-off-by: William Wu <william.wu@rock-chips.com>
Change-Id: I6444fad8b244273f58b8cd83c63b22008046e1ed
2024-01-18 18:09:53 +08:00
Cai Wenzhong
1eef5bddea arm64: dts: rockchip: rk3588-vehicle-maxim-cameras-s66.dtsi: camera module and lens name using default
Signed-off-by: Cai Wenzhong <cwz@rock-chips.com>
Change-Id: If0d997d4f37fb0c39da7179073527dc3a363d73e
2024-01-18 15:48:17 +08:00
Cai Wenzhong
0816368cf2 arm64: dts: rockchip: rk3588-vehicle-evb-maxim-max9671(/2)2-d(c)phy0(/3).dtsi: camera module and lens name using default
Signed-off-by: Cai Wenzhong <cwz@rock-chips.com>
Change-Id: I2d24ca79fa856e7280df9d0d3d48a3d998712663
2024-01-18 15:12:49 +08:00
Luo Wei
4aacfcb8ba arm64: dts: rockchip: rk3588-vehicle-evb: move port dts to bridge node for evb20
Signed-off-by: Luo Wei <lw@rock-chips.com>
Change-Id: I220a8b1afbc4396219f98652ca27d9595ebbacf8
2024-01-18 15:12:02 +08:00
Daniel Golle
4ef310b98a UPSTREAM: mtd: spinand: macronix: use scratch buffer for DMA operation
The mx35lf1ge4ab_get_eccsr() function uses an SPI DMA operation to
read the eccsr, hence the buffer should not be on stack. Since commit
380583227c ("spi: spi-mem: Add extra sanity checks on the op param")
the kernel emmits a warning and blocks such operations.

Use the scratch buffer to get eccsr instead of trying to directly read
into a stack-allocated variable.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Reviewed-by: Dhruva Gole <d-gole@ti.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/Y8i85zM0u4XdM46z@makrotopia.org
(cherry picked from commit ebed787a0b)
Change-Id: Ifa939753c56926c07bd2bc054d81985093c078d4
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2024-01-18 15:09:53 +08:00
Tao Huang
c5472ae927 Merge commit '0d8cce351f927bad0e649c439c888821e72524a5'
Merge made by the 'ours' strategy.

* commit '0d8cce351f927bad0e649c439c888821e72524a5':
  ASoC: rockchip: i2s-tdm: Fix stuck on probe
  arm64: dts: rockchip: rk3308: Assign 'i2s-lrck-gpio' for SOF
  arm64: dts: rockchip: rk3568: Assign 'i2s-lrck-gpio' for SOF
  arm64: dts: rockchip: rk3588: Assign 'i2s-lrck-gpio' for SOF
  ASoC: rockchip: i2s-tdm: Fix channels order for TDM_ONE_FRAME
  ASoC: rockchip: i2s-tdm: Use GPIOD_ASIS for TDM_MULTI_LANES
  ASoC: rockchip: i2s-tdm: Fix warning
  ASoC: rockchip: i2s-tdm: Handle HCLK with runtime PM
  ASoC: rockchip: i2s-tdm: Simplify clk sync on TRCM mode
  ASoC: rockchip: i2s-tdm: Fix multi-channels order for TRCM
  ASoC: rockchip: Add dmaengine for TRCM mode

Change-Id: I111f0a538e8e94c4d5e0ecb419fa7bf6e27da9e3
2024-01-18 15:00:01 +08:00
Sugar Zhang
807420d04c arm64: dts: rockchip: rk3568: Assign 'i2s-lrck-gpio' for SOF
This patch assign the LRCK pin for TDM_ONE_FRAME on Slave mode.

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I0f0e1a1c778e1e42a5bb5471148358815f6d7b2a
2024-01-18 10:53:30 +08:00
Sugar Zhang
b3a199c928 arm64: dts: rockchip: rk3308: Assign 'i2s-lrck-gpio' for SOF
This patch assign the LRCK pin for TDM_ONE_FRAME on Slave mode.

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I2ef950170d6646f3d04115662099918942c3cf9d
2024-01-18 10:53:30 +08:00
Sugar Zhang
41b8e1ab54 arm64: dts: rockchip: rk3588: Assign 'i2s-lrck-gpio' for SOF
This patch assign the LRCK pin for TDM_ONE_FRAME on Slave mode.

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I28bd554d64f9c63073d2c7f67b9e101c63266c8f
2024-01-18 10:53:30 +08:00
Sugar Zhang
13dde084df ASoC: rockchip: i2s-tdm: Fix channels order for TDM_ONE_FRAME
This patch fix multi-channels order for TDM_ONE_FRAME on SLAVE
mode.

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: Ib6543cf0740516d5df1570245abf07fcce9082c3
2024-01-18 10:53:30 +08:00
Sugar Zhang
ce189549b0 ASoC: rockchip: i2s-tdm: Use GPIOD_ASIS for TDM_MULTI_LANES
Situation for 'i2s-lrck':

Should use flag GPIOD_ASIS not to reclaim LRCK pin as GPIO function,
because we use the same PIN and just read EXT_PORT value which show
the pin status.

Situation for 'tdm-fsync':

A. when the pin is a generic gpio as the ref signal pin which is drived from
   external. should use flag GPIOD_IN to reclaim as GPIO_IN function.

B. when the pin is the same pin from the 'clk-src' on the same SoC, we can
   use the 'clk-src' fsync out signal as the 'tdm-fsync' to query status.
   in this case, should use flag GPIOD_ASIS not to reclaim it as GPIO.

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I529d982a7e49cb90c02b7670a58759607f4e4f32
2024-01-18 10:53:30 +08:00
Sugar Zhang
d774d063e1 ASoC: rockchip: i2s-tdm: Fix warning
This patch fix resources from of_iomap() not released.

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I46a7f4996bc751ade34071727a350137a313b446
2024-01-18 10:53:30 +08:00
Sugar Zhang
682920cb81 ASoC: rockchip: i2s-tdm: Simplify clk sync on TRCM mode
There are clk sync issue on TRCM mode for RK3308/RK1808/PX30,
and the previous soluation is to make TX/RX reset at the same
time to fix that. Unfortunately, it fails on PX30-I2S0, because
the reset-TX and reset-RX bits can't be addressed at the same time.

Now, we use another way to fix it:

  reset_control_assert(i2s_tdm->tx_reset);
  reset_control_assert(i2s_tdm->rx_reset);
                   |
          gate the i2s src clk
                   |
  reset_control_deassert(i2s_tdm->tx_reset);
  reset_control_deassert(i2s_tdm->rx_reset);
                   |
         ungate the i2s src clk

as shown above, use the pair gate/ungate src clk to make the
TX/RX reset at the same time.

Change-Id: Ib320ad13350516100eb11c7717e1bd9005abaf39
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2024-01-18 10:53:30 +08:00
Sugar Zhang
12e4a906dc ASoC: rockchip: i2s-tdm: Fix multi-channels order for TRCM
TRCM on Master mode require TX/RX enabled at the same time,
or need the one which provide clk enabled at first. In this
situation, one direction's FIFO maybe XRUN which may break
the channels order.

This patch add dmaengine for this mode to handle this situation.

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I831aead0371228661620b54188048e4f3daa717e
2024-01-18 10:53:30 +08:00
Sugar Zhang
269ae19c7a ASoC: rockchip: Add dmaengine for TRCM mode
TRCM require TX/RX enabled at the same time, or need the one
which provide clk enabled at first. In this situation, one
direction's FIFO maybe XRUN which may break the channels order.

This patch add dmaengine for this mode to handle this situation.

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I30b4ec134b06516d80de4c1d0ccaf916513294ab
2024-01-18 10:53:30 +08:00
Sugar Zhang
0d8cce351f ASoC: rockchip: i2s-tdm: Fix stuck on probe
Fixes: 13c446a390 ("ASoC: rockchip: i2s-tdm: Handle HCLK with runtime PM")

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I07ac58ecee8488d941cf2cbec8d4433db4b18702
2024-01-18 10:35:53 +08:00
Tao Huang
94d6e37417 Merge commit 'ca4e22208b9d2053301e90ff69b526694253b989'
* commit 'ca4e22208b9d2053301e90ff69b526694253b989':
  media: i2c: sc530ai: update gain map according to datasheet
  hwspinlock: rockchip: object to unlocking someone else's lock
  hwspinlock: rockchip: support to set hwlock user in dt
  dt-bindings: hwlock: rockchip: add hwlock user id property

Change-Id: I43eec243d439257fd3d334874e60859e34f99ec3
2024-01-17 19:09:21 +08:00
Tao Huang
0f33ed4a08 Merge commit '0a30d6ee1e899f25801c651a6e7612c07cdf4922'
* commit '0a30d6ee1e899f25801c651a6e7612c07cdf4922':
  drm/rockchip: dw-dp: filter yuv420 when display mode not support

Change-Id: I3e1343baaa1cc4c7c914a6390dba6274a6ac948f
2024-01-17 19:09:07 +08:00
Zhang Yubing
5c0f10ac1c drm/rockchip: dw-dp: filter yuv420 when display mode not support
Change-Id: I1aead8dcd05dffdf89c62c162524bfde9c63f86e
Signed-off-by: Zhang Yubing <yubing.zhang@rock-chips.com>
2024-01-17 19:00:19 +08:00
Tao Huang
0d01978085 Merge commit 'f13fe816e0bb2f683b1d0da80451d6fdcc65d450'
* commit 'f13fe816e0bb2f683b1d0da80451d6fdcc65d450':
  arm64: dts: rockchip: rk3588-vehicle-evb: move port dts to bridge node for rohm
  mfd: display-serdes: fix compile errors on kernel-6.1
  media: rockchip: isp: fix isp32 lost buf
  arm64: dts: rockchip: rk3562-evb1: add rgb 1024x600p60 panel display board
  arm64: dts: rockchip: rk3588-evb: add edp 4k panel display board
  PCI: rockchip: dw-ep: Resize bar after hot reset
  mtd: spinand: unim: The nand flash does not support 84H and 34H command
  mtd: spinand: XINCUN: Fix XCSP1AAPK read id method
  arm64: dts: rockchip: rk3562-evb1: add sii902x bt1120/bt656 to hdmi board

Change-Id: Id3242f40a7d54218eba80e6dd5a5b52495c6263e
2024-01-17 18:55:13 +08:00
Tao Huang
a81d62b3eb Merge commit '1c6c2f66f3bfb9a9d1ca789c48816e283b7aa828'
Merge made by the 'ours' strategy.

* commit '1c6c2f66f3bfb9a9d1ca789c48816e283b7aa828':
  mfd: rk808: remove rtc stop for pre init

Change-Id: I301a09edee4790eab24a40fdf987eb968076f44e
2024-01-17 18:48:52 +08:00
Elaine Zhang
8276bea0c1 mfd: rk808: remove rtc stop for pre init
If RTC has been started, stop rtc in pre init will affect
the rtc function and accuracy.

Change-Id: Ic601e8e2d622de95638ca1710c1cff8c5c1a90d5
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
2024-01-17 18:38:44 +08:00
Tao Huang
b52c42154d Merge commit '289b59b0e9859ce5746b1d6411e57d49470c1608'
* commit '289b59b0e9859ce5746b1d6411e57d49470c1608':
  drm/rockchip: drv: rename drm_atomic_helper_connector_commit()
  net: rfkill-bt: add power up func when waked by bt-irq only.
  PCI: rockchip: dw: Fix NULL pointer of hot_rst_work
  spi: rockchip-sfc: Support chip select 1 extension

Change-Id: I9761124eb5791a13779230233a529e050464f7c3
2024-01-17 18:36:39 +08:00
Tao Huang
fc6fba9821 Merge commit '3aa3879e5e9d97a18cd1e735045f5ea42896d2e1'
* commit '3aa3879e5e9d97a18cd1e735045f5ea42896d2e1':
  media: i2c: maxim: local: maxim2c: driver version v3.00.00
  arm64: dts: rockchip: rk3399-evb-ind-lpddr4-v13-android-avb: add tc35874x configuration
  arm64: dts: rockchip: rk3399-evb-ind-lpddr4-android-avb: add tc35874x configuration
  arm64: dts: rockchip: rk3399-ind: tc358749x use dummy codec
  ARM: fiq_glue: save/restore r6 in fiq_glue_setup
  media: i2c: techpoint: fix tp9951 2 lane ecc error

Change-Id: Ic1705a7ccf3ad23071ab44f130754cfcd4f192cb
2024-01-17 18:34:09 +08:00
Tao Huang
11c0b921d0 Merge commit '89ba14ab7c6296c499fc3c5c22d252da0a0a4137'
Merge made by the 'ours' strategy.

* commit '89ba14ab7c6296c499fc3c5c22d252da0a0a4137':
  ASoC: rockchip: i2s: Add support for pinctrl idle state

Change-Id: I57f89f225efe91416c370a5e6aa508d9b4174e91
2024-01-17 18:32:44 +08:00
Sugar Zhang
a3d49e9543 ASoC: rockchip: i2s: 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.

This patch also try to solve clk leak for master output mode.

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

Fixes: 89e11e98f4 ("arm64: dts: rockchip: rk3588: Add pinctrl idle for I2S0/2/3")
Change-Id: I41dcdabd8e4015c7bd7285a03a24a3765a0b576f
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2024-01-17 11:14:58 +08:00
Sugar Zhang
bba2c5a220 arm64: dts: rockchip: rk3308: Assign 'i2s-lrck-gpio' for SOF
This patch assign the LRCK pin for TDM_ONE_FRAME on Slave mode.

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I2ef950170d6646f3d04115662099918942c3cf9d
2024-01-16 19:05:35 +08:00
Sugar Zhang
618ed5561f arm64: dts: rockchip: rk3568: Assign 'i2s-lrck-gpio' for SOF
This patch assign the LRCK pin for TDM_ONE_FRAME on Slave mode.

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I0f0e1a1c778e1e42a5bb5471148358815f6d7b2a
2024-01-16 19:05:35 +08:00
Sugar Zhang
9252b6c35b arm64: dts: rockchip: rk3588: Assign 'i2s-lrck-gpio' for SOF
This patch assign the LRCK pin for TDM_ONE_FRAME on Slave mode.

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I28bd554d64f9c63073d2c7f67b9e101c63266c8f
2024-01-16 19:05:35 +08:00
Sugar Zhang
9b3626c630 ASoC: rockchip: i2s-tdm: Fix channels order for TDM_ONE_FRAME
This patch fix multi-channels order for TDM_ONE_FRAME on SLAVE
mode.

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: Ib6543cf0740516d5df1570245abf07fcce9082c3
2024-01-16 19:05:35 +08:00
Sugar Zhang
16e6fedff0 ASoC: rockchip: i2s-tdm: Use GPIOD_ASIS for TDM_MULTI_LANES
Situation for 'i2s-lrck':

Should use flag GPIOD_ASIS not to reclaim LRCK pin as GPIO function,
because we use the same PIN and just read EXT_PORT value which show
the pin status.

Situation for 'tdm-fsync':

A. when the pin is a generic gpio as the ref signal pin which is drived from
   external. should use flag GPIOD_IN to reclaim as GPIO_IN function.

B. when the pin is the same pin from the 'clk-src' on the same SoC, we can
   use the 'clk-src' fsync out signal as the 'tdm-fsync' to query status.
   in this case, should use flag GPIOD_ASIS not to reclaim it as GPIO.

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I529d982a7e49cb90c02b7670a58759607f4e4f32
2024-01-16 19:05:35 +08:00
Sugar Zhang
e1d8735a43 ASoC: rockchip: i2s-tdm: Fix warning
This patch fix resources from of_iomap() not released.

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I46a7f4996bc751ade34071727a350137a313b446
2024-01-16 19:05:35 +08:00
Sugar Zhang
13c446a390 ASoC: rockchip: i2s-tdm: Handle HCLK with runtime PM
This patch handle HCLK with runtime PM to simplify code.

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I4a75b0998053e7ef1edb3ecf3bc50ab84eddce70
2024-01-16 19:05:35 +08:00
Sugar Zhang
5f7f65028a ASoC: rockchip: i2s-tdm: Simplify clk sync on TRCM mode
There are clk sync issue on TRCM mode for RK3308/RK1808/PX30,
and the previous soluation is to make TX/RX reset at the same
time to fix that. Unfortunately, it fails on PX30-I2S0, because
the reset-TX and reset-RX bits can't be addressed at the same time.

Now, we use another way to fix it:

  reset_control_assert(i2s_tdm->tx_reset);
  reset_control_assert(i2s_tdm->rx_reset);
                   |
          gate the i2s src clk
                   |
  reset_control_deassert(i2s_tdm->tx_reset);
  reset_control_deassert(i2s_tdm->rx_reset);
                   |
         ungate the i2s src clk

as shown above, use the pair gate/ungate src clk to make the
TX/RX reset at the same time.

Change-Id: Ib320ad13350516100eb11c7717e1bd9005abaf39
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2024-01-16 19:05:35 +08:00
Sugar Zhang
7ae6fd2b0e ASoC: rockchip: i2s-tdm: Fix multi-channels order for TRCM
TRCM on Master mode require TX/RX enabled at the same time,
or need the one which provide clk enabled at first. In this
situation, one direction's FIFO maybe XRUN which may break
the channels order.

This patch add dmaengine for this mode to handle this situation.

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I831aead0371228661620b54188048e4f3daa717e
2024-01-16 19:05:35 +08:00
Sugar Zhang
e99961f4af ASoC: rockchip: Add dmaengine for TRCM mode
TRCM require TX/RX enabled at the same time, or need the one
which provide clk enabled at first. In this situation, one
direction's FIFO maybe XRUN which may break the channels order.

This patch add dmaengine for this mode to handle this situation.

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I30b4ec134b06516d80de4c1d0ccaf916513294ab
2024-01-16 19:05:35 +08:00
Su Yuefu
ca4e22208b media: i2c: sc530ai: update gain map according to datasheet
Change-Id: I842a776b4f668848a81a2b928f136df1acc5227f
Signed-off-by: Su Yuefu <yuefu.su@rock-chips.com>
2024-01-16 18:26:25 +08:00
Frank Wang
99111d8fb2 hwspinlock: rockchip: object to unlocking someone else's lock
Check hwlock user id and object to unlocking someone else's lock
when invoking unlock() API.

Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
Change-Id: I46c256fd703fa56ce3d175ff2d721f53d3615ec0
2024-01-16 16:19:07 +08:00
Frank Wang
3229c7d5d5 hwspinlock: rockchip: support to set hwlock user in dt
With this commit, we can set hwlock user id in DT with
"rockchip,hwlock-user-id" property, if it is not set, the driver
use default value 0x01 instead.

Change-Id: Ib7ecc3eaf23ba79d85dc82182a9db0760c6d830c
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
2024-01-16 16:18:54 +08:00
Frank Wang
fa524e432a dt-bindings: hwlock: rockchip: add hwlock user id property
Set hwlock user id with the "rockchip,hwlock-user-id" property.

Change-Id: I46327ff4146e9c0999def48d67a3538462b82bfb
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
2024-01-16 16:18:41 +08:00
Zhang Yubing
0a30d6ee1e drm/rockchip: dw-dp: filter yuv420 when display mode not support
Change-Id: I1aead8dcd05dffdf89c62c162524bfde9c63f86e
Signed-off-by: Zhang Yubing <yubing.zhang@rock-chips.com>
2024-01-16 15:45:21 +08:00
Luo Wei
f13fe816e0 arm64: dts: rockchip: rk3588-vehicle-evb: move port dts to bridge node for rohm
Signed-off-by: Luo Wei <lw@rock-chips.com>
Change-Id: I7c51267923b82791a6f70b8086f08d5b661399fa
2024-01-16 15:44:38 +08:00
Luo Wei
5d0970aacb mfd: display-serdes: fix compile errors on kernel-6.1
Signed-off-by: Luo Wei <lw@rock-chips.com>
Change-Id: Id52ed6fe9779cef2fe08c781cbe46f68b621844f
2024-01-16 15:36:36 +08:00
Cody Xie
2d0fac2bdb gpio: nca9539: Make remove return void
Change-Id: Iea6faa2956a5fa334e43b94cf47f8c609c9e317e
Signed-off-by: Cody Xie <cody.xie@rock-chips.com>
2024-01-15 19:21:56 +08:00
Cai YiWei
81fdd2b9d6 media: rockchip: isp: fix isp32 lost buf
Change-Id: I81f32f3d1c98c30f32fb862eaa4a31bbbcbb2412
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2024-01-15 18:13:59 +08:00
Damon Ding
748a301cd4 arm64: dts: rockchip: rk3562-evb1: add rgb 1024x600p60 panel display board
RGB panel Q7050ITH2641AA1T with 24-bit color depth.

Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
Change-Id: Ieaf626a2d20c9f30640985c61d48187cf637b0fe
2024-01-15 17:58:54 +08:00
Shawn Lin
4208d76e0c PCI: dw: rockchip: Remove EP support from RC driver
EP support have been moved to pcie-dw-ep-rockchip.c since 5.10 kernel,
so remove the old EP code from RC driver now.

Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Change-Id: Ia1a5907493a38cf6be5f1a97c5690dd9ecaad3c4
2024-01-15 16:03:12 +08:00
Damon Ding
090d4f484b arm64: dts: rockchip: rk3588-evb: add edp 4k panel display board
EDP panel NV140QUM-N61 supports 3840x2160p60 with 4lanes.

Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
Change-Id: Ie21e227418c95ba0e190964716f70409505b4e71
2024-01-15 16:01:17 +08:00