Commit Graph

1268779 Commits

Author SHA1 Message Date
Guochun Huang
c69c5cf7f1 misc: rk628: hdmitx: compatible with rk628f
Change-Id: I9db10ee75e1bf099d39c3926f7cd66c0bb4e3b84
Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
2024-01-19 10:11:18 +08:00
Guochun Huang
9ee4c002c1 misc: rk628: dsi: select phy which share by dsi and csi as dsi phy
Change-Id: If44f15cd23d16bd017a4740dadbf4bdc12ea20a2
Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
2024-01-19 10:11:18 +08:00
Guochun Huang
5723ff1f5e misc: rk628: hdmitx: disable/enable display when system suspend/resume
Change-Id: I7cbd1bfeff186d3333473f3944ae1d15f78ae31d
Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
2024-01-19 10:11:17 +08:00
Guochun Huang
673444991a misc: rk628: display: compatible with rk628f
Change-Id: I51e0ea03baa92e5e7083779b7a59fbe81d104ec5
Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
2024-01-19 10:11:17 +08:00
Algea Cao
c046c02467 misc: rk628: Supports different versions of the rk628
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
Change-Id: I7f5102a81648abbacfbd90caf3e186649e219d2b
2024-01-19 10:11:17 +08:00
Guochun Huang
bc81dfef6e misc: rk628: enable/disable display by fb .notifier_call helper
Change-Id: I485d374d1441f6e04a9adc20f4d5fab77782059e
Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
2024-01-19 10:11:17 +08:00
Guochun Huang
8856e9b434 misc: rk628: rgb/bt1120: optimize drivers details
Change-Id: I277649833b4394f7f8437b7453df441f3e067a45
Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
2024-01-19 10:11:17 +08:00
Guochun Huang
97776a2a9f misc: rk628: panel: make power on/off sequence delay can be configured
Change-Id: Iacfee7fc1c734a98727e34108bf6da8515f91499
Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
2024-01-19 10:11:17 +08:00
Jianwei Fan
b21f534802 arm64: dts: rockchip: rk3588-evb7-rk628: add rk628 config for evb7
Change-Id: Ibf63df6826ee0a3affbb1e139c568de3d2708aef
Signed-off-by: Jianwei Fan <jianwei.fan@rock-chips.com>
2024-01-19 09:55:12 +08:00
Chen Shunqing
83e4ca2355 arm64: dts: rockchip: rk3588-evb1-lp4-v10-rk628-hdmi2csi: set i2c rate to 400k for rk628f
Change-Id: Ib1b7c6fc3ddc95180bbf0eaa73c280993ae2eebd
Signed-off-by: Chen Shunqing <csq@rock-chips.com>
2024-01-19 09:55:12 +08:00
Jianwei Fan
c278e3df44 arm64: dts: rockchip: rk3588-evb1: modify rk628 config adapt to rk628f
Change-Id: I052b6a08f441f876235b8f8fd2b202c698b562a5
Signed-off-by: Jianwei Fan <jianwei.fan@rock-chips.com>
2024-01-19 09:55:12 +08:00
Guochun Huang
abc2b514b2 arm64: dts: rockchip: rk3568-evb-rk628: add more hdmi in route
1. hdmi2dsi(1080x1920)
2. hdmi2dsi-dual(1440x2560)
3. hdmi2lvds(800x1280)
4. hdmi2lvds-dual(1920x1080)

Change-Id: Ie69541841a90c66806ba532c1b2254d3046e0369
Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
2024-01-19 09:55:12 +08:00
Jianwei Fan
442fb91b48 arm64: dts: rockchip: add rk3568-evb-rk628-hdmi2bt1120 config
Change-Id: Iee766114453976b2bc71687ae884b977a228e3a8
Signed-off-by: Jianwei Fan <jianwei.fan@rock-chips.com>
2024-01-19 09:55:12 +08:00
Guochun Huang
4aa2482688 arm64: dts: rockchip: add support rk3568-evb-rk628-ddr4-v10 board
The PWM on the RK3568 with RK628 board has a hardware inverting
circuit to improve drive strength.

Therefore, software needs to change the PWM polarity to get
the desired PWM output.

Change-Id: I3a87d6aa16c4e09780a566117e4864d8d235038e
Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Signed-off-by: Shunhua Lan <lsh@rock-chips.com>
Signed-off-by: Chaoyi Chen <chaoyi.chen@rock-chips.com>
2024-01-19 09:51:47 +08:00
Algea Cao
3710e830ff drm/bridge: dw-hdmi-qp: Support hdmi force output
Support hdmi output specific resolution and color format
regardless of whether hdmi is connected.

Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: I3f18aeb04427846e06b6a4397a4c6df77bbbcab2
2024-01-19 09:43:56 +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
Algea Cao
6ea5afc91a dt-bindings: display: rockchip: dw_hdmi-rockchip: Add force output property
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: I3218c9f827712540fbb5daac59d660aaebc453b4
2024-01-19 09:43:56 +08:00
Algea Cao
9a139f8771 drm/bridge: synopsys: Support hdmi force output
Support hdmi output specific resolution and color format
regardless of whether hdmi is connected.

Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: I228a74d128aa818166f589798897729473d97610
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