Commit Graph

1072263 Commits

Author SHA1 Message Date
Jianqun Xu
b8105eeb84 drm/rockchip: gem: partial sync use sg_phys instead of sg_dma_address
The sg_phys() always return the physical address of a scattergather, but
the sg_dma_address() return the iova address, for a device without iommu
that is a bad address.

Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: I83641c6af324bbaca3d27ea14de41cfca729e258
2022-07-25 14:48:59 +08:00
Tao Huang
e9753da75a rk: clang-wrapper.py: ignore tcpci.h:195
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I11883190ba049ea61e70e89f7301f273934e9b13
2022-07-25 14:31:20 +08:00
Tao Huang
78a3c0db57 dma-buf: cma_heap: Fix compile warning when !CONFIG_NO_GKI
drivers/dma-buf/heaps/cma_heap.c:444:12: warning: unused function 'cma_heap_get_phys'

Fixes: 61a32e157e ("dma-buf: dma-heap: heap ops supports get_phys")
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I206b96d402e89d2b89bdb6e4701150032647a219
2022-07-25 14:19:04 +08:00
Guochun Huang
3611136b7f drm/bridge: maxim-max96755f: Add lock irq handler
Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
Change-Id: Ieebaeadf9b051963dcba4a589a983e6188ef285d
2022-07-25 10:27:30 +08:00
Wyon Bi
69882bde7f mfd: max96752f: Add support for enable GPIO
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I6fc6933f037d7f8cc53e3c8c49233a14c9301a1f
2022-07-25 10:27:30 +08:00
Wyon Bi
9a01bbc010 drm/bridge: maxim-max96745: Add extcon support
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I3efe31517b2da16531b4afa7884247d6ce54504e
2022-07-25 10:27:30 +08:00
Wyon Bi
d9a61536e3 drm/bridge: maxim-max96745: Add lock irq handler
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: Id359495f13ccc7fda85ed7777cb72933433bda20
2022-07-25 10:27:30 +08:00
Elaine Zhang
22cb9658be clk: rockchip: px30: mark clk_rtc32k_pmu as critical
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: I6f85ebd3bea1918b6938276295780f41a4ac197e
2022-07-25 09:09:07 +08:00
Cai YiWei
a7ac5bd0e0 media: rockchip: isp: frame end config params_v32 for fast output
Change-Id: I89c399fd2ac6c49cf4bd7265d573eca1f67b5625
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2022-07-22 18:04:47 +08:00
Liang Chen
cb3920f27c arm64: dts: rockchip: rk3568: add opp-table for rkvdec
Change-Id: I354bb8fec302690c650522e6d88375a90e5ef606
Signed-off-by: Liang Chen <cl@rock-chips.com>
2022-07-22 17:39:41 +08:00
Tao Huang
9632355181 arm64: dts: rockchip: rk3568-iotest-ddr3-v10-linux: remove vdec-supply
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I62dc071aa4a51dcf60390e88fca0eedbc39a5a3c
2022-07-22 17:39:35 +08:00
Jianwei Zheng
711167d7b0 phy: rockchip: inno-usb2: support rk3326s and px30s tuning
Tuing pre-emphasis and turn off differential receiver in suspend mode
for rk3326s and px30s SoCs.

Fix some pc can not recognize the device when using 5m cable, so tuning
usb phy squelch trigger point configure to 100mv for px30s.

Signed-off-by: Jianwei Zheng <jianwei.zheng@rock-chips.com>
Change-Id: Ida216e8951c1f1dad19fa3ff4c31ede6a53b3458
2022-07-22 17:37:15 +08:00
Liang Chen
41f9bdf3cf soc: rockchip: power-domain: keep pd_gpu always on for px30s
Change-Id: Ieb81bdd80aaabb24d490c13be147cb3e1a1417dd
Signed-off-by: Liang Chen <cl@rock-chips.com>
2022-07-22 17:29:16 +08:00
Lin Jianhua
a4b711c431 arm64: dts: rockchip: rk3326-evb-lp3-v10-linux: update panel&ov5695 config
Signed-off-by: Lin Jianhua <linjh@rock-chips.com>
Change-Id: I570e64c3fa39c9997c76c0f659546dd08f56d5d9
2022-07-22 17:27:06 +08:00
David Wu
ac1e59c0c7 arm64: dts: rockchip: Fix rmii clock mode for px30-evb-ddr3-v10
Signed-off-by: David Wu <david.wu@rock-chips.com>
Change-Id: Ie5c07e88c989ed95ebea6882b6a11c13563877b0
2022-07-22 17:26:49 +08:00
Binyuan Lan
c36c33522e arm64: dts: rockchip: px30-evb-ddr3-v10: update panel/headset/bluetooth config
Signed-off-by: Binyuan Lan <lby@rock-chips.com>
Change-Id: I4861887268ca77eeb1856cebd804a170af6ef602
2022-07-22 17:26:35 +08:00
Liang Chen
f899544509 arm64: dts: rockchip: adjust regulator-min-microvolt of arm/logic for px30/rk3326 boards
From 0.95v to 0.85v.

Change-Id: Iaeaf795e112965069a8a78ba09043e5a9a832ace
Signed-off-by: Liang Chen <cl@rock-chips.com>
2022-07-22 17:26:21 +08:00
Liang Chen
54152d59c5 arm64: configs: px30-linux: enable ARM_SCMI_PROTOCOL and CLK_SCMI
Change-Id: I81ccfc295bb781e383a3815e1d5e23a9aad55b35
Signed-off-by: Liang Chen <cl@rock-chips.com>
2022-07-22 17:19:46 +08:00
Zefa Chen
0a724e69eb phy: rockchip: mipi-rx: support rk3326s mipi dphy rx
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: Ideca40caec6c7780fcc18058ea428605361c5b07
2022-07-22 17:16:29 +08:00
Jianqun Xu
7790177484 power/avs: rockchip-io-domain: px30s not support pmuio1 1v8 mode
Change-Id: I6e9a4d189788d4c0f8f900adf14bbcd4af44fb8c
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2022-07-22 17:02:55 +08:00
Elaine Zhang
3724dcef5f clk: rockchip: px30: support px30s
Change-Id: Id86199e066e254279d59a76aaed02f657b40e0c7
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
2022-07-22 17:02:55 +08:00
Shawn Lin
365ee62df1 PCI: rockchip: Add ACPI support
Native APCI support for PCIe need firmware to initialize HW and provide
ECAM vectors via Mcfg and _CRS tables via root port descriptors. We
implement UEFI as firmware to cover HW part, so this driver must be used
under UEFI environment.

DW IP isn't ECAM compatible so we provide RKCP0001 as HID to workaround
ECAM scan, so that we can get DBI(_CRS) and Cfg space(_CBA) from ACPI.
Cfg space should be different from  Mcfg table for mapping.

rk_pcie_ecam_ops is registered as quriks for accessing different cfg space
in ACPI pcie lib.

Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Change-Id: I6a34768add6fd7030a187269955bcd6ed764c9e8
2022-07-22 16:14:12 +08:00
Finley Xiao
a61b80cc7d arm64: dts: rockchip: Add opp table for rk3588m
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Change-Id: I115741fd45d22dcf6d844d3ccfced18ed4a7c6dc
2022-07-22 15:21:04 +08:00
Finley Xiao
4bb7f23f4a cpufreq: rockchip: Implement rk3588_get_soc_info()
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Change-Id: I3b8972b88917b15bd24b0d79bf28c03b796a32dc
2022-07-22 15:21:04 +08:00
Tao Huang
26fdfc8a3d fiq_debugger: Do not call get_irq_regs() when !CONFIG_NO_GKI
__irq_regs is missing from symbol list.

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: Ie16ac110fda0e223b98bd35c96e561644798ef73
2022-07-22 15:04:38 +08:00
Cai YiWei
90d1fa66e9 media: rockchip: isp: remove isp1x compatible
Change-Id: I07b4302a473685c12b809c1020504d2919725baf
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2022-07-21 20:10:23 +08:00
Felix Zeng
b2f51e925e arm64: mm: Export __dma_map_area/__dma_unmap_area to support sram cache invalid/clean
Signed-off-by: Felix Zeng <felix.zeng@rock-chips.com>
Change-Id: Iaffc599649e98112ea4561e14e8af9be4f86b6dc
2022-07-21 19:30:45 +08:00
Damon Ding
b93ccf0a10 drm/rockchip: vop: win may not support color_key
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
Change-Id: I05571f7a8d204b79d3724f45717446010cc38c5e
2022-07-21 19:04:31 +08:00
Damon Ding
6616f0235c drm/rockchip: vop: add win2 color_key support for px30
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
Change-Id: I8204f52275179d8d65102c8fd71f214e9449ea5a
2022-07-21 19:04:20 +08:00
Damon Ding
12138210a5 arm64: dts: rockchip: px30: fix vopb/vopl node
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
Change-Id: I536aad673dceb29316402cbbd7410474f16913ee
2022-07-21 19:01:41 +08:00
Liang Chen
5239012921 arm64: dts: rockchip: px30: add uart1_rts_gpio config for pinctrl
Change-Id: I67c682d1152d13b95c779bd98e8fe6fd8e212948
Signed-off-by: Liang Chen <cl@rock-chips.com>
2022-07-21 18:58:49 +08:00
Liang Chen
3fcb37924d arm64: dts: rockchip: rk3326-evb-lp3-v10: correct pinctrl-0 for tsadc
The pinctrl-0 label of tsadc is modify by the follow commit:

    2bc65fef4f arm64: dts: rockchip: rename label and nodename pinctrl subnodes that end with gpio

Change-Id: I597b49b976824b23b65b41ea6c77f2a6bd653e98
Signed-off-by: Liang Chen <cl@rock-chips.com>
2022-07-21 18:56:53 +08:00
Liang Chen
1b8f6f73c1 arm64: dts: rockchip: rk3326: update config from kernel 4.19
Change-Id: I613155e4fb6ba820dd927d6f921996441e273a0a
Signed-off-by: Liang Chen <cl@rock-chips.com>
2022-07-21 18:41:33 +08:00
Guochun Huang
5e39108372 arm64: dts: rockchip: px30: add rgb node
Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
Change-Id: I5a3f4a63279412a5f23588d8a057726caf3ccb6e
2022-07-21 18:36:48 +08:00
Guochun Huang
fc219e8866 arm64: dts: rockchip: px30: Add support for video phy
Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
Change-Id: I958bf629c901099cfeeeed9a9723d31a0f87a7a7
2022-07-21 18:12:49 +08:00
Finley Xiao
eb58d64914 soc: rockchip: power-domain: Fix delay for mem pd reset
The delay is too small under low temperature environment.
The PHP mem pd should delay 35us at minus 40 degrees.

Fixes: 8729c661d5 ("soc: rockchip: power-domain: Fix panic when reset memory domain")
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Change-Id: I8b748c8550e575cae5ca99636ce0892ddc48af40
2022-07-21 09:37:38 +08:00
Jon Lin
7e5191e265 mtd: spi-nor: boya: Add code
Support BY25Q256FSEIG.

Change-Id: I040ec8558756e21a938708e9d5752e80906502ab
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2022-07-20 19:11:49 +08:00
Sugar Zhang
478f288408 ASoC: rockchip: i2s-tdm: Add support for digital loopback
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I235e560d99d393a724df9ffc74c7cb8cb347737a
2022-07-20 18:55:54 +08:00
Sugar Zhang
9975bc50f3 ASoC: rockchip: Add support for Digital Loopback
This patch add support for DMA-based digital loopback.

BACKGROUND
Audio Products with AEC require loopback for echo cancellation.
the hardware LP is not always available on some products, maybe
the HW limitation(such as internal acodec) or HW Cost-down.

This patch add support software DLP for such products.

Enable:

  CONFIG_SND_SOC_ROCKCHIP_DLP

  &i2s {
      rockchip,digital-loopback;
  };

Mode List:

  amixer contents
  numid=2,iface=MIXER,name='Software Digital Loopback Mode'
    ; type=ENUMERATED,access=rw------,values=1,items=7
    ; Item #0 'Disabled'
    ; Item #1 '2CH: 1 Loopback + 1 Mic'
    ; Item #2 '2CH: 1 Mic + 1 Loopback'
    ; Item #3 '2CH: 1 Mic + 1 Loopback-mixed'
    ; Item #4 '2CH: 2 Loopbacks'
    ; Item #5 '4CH: 2 Mics + 2 Loopbacks'
    ; Item #6 '4CH: 2 Mics + 1 Loopback-mixed'
    : values=0

Testenv:

wired SDO0 --> SDI0 directly to get external digital loopback
as reference.

Testcase: dlp.sh

  /#!/bin/sh

  item=0
  id=`amixer contents | grep "Software Digital Loopback" | \
      awk -F ',' '{print $1}'`

  items=`amixer contents | grep -A 1 "Software Digital Loopback" | \
         grep items | awk -F 'items=' '{print $2}'`

  echo "Software Digital Loopback: $id, items: $items"

  mode_chs() {
          case $1 in
          [0-4])
                  echo "2"
                  ;;
          [5-6])
                  echo "4"
                  ;;
          *)
                  echo "2"
                  ;;
          esac
  }

  while true
  do
          ch=`mode_chs $item`
          amixer -c 0 cset $id $item
          arecord -D hw:0,0 --period-size=1024 --buffer-size=4096 -r 48000 -c $ch -f s16_le \
                  -d 15 sine/dlp_$item.wav &
          sleep 2
          for i in $(seq 1 10)
          do
                  aplay -D hw:0,0 --period-size=1024 --buffer-size=8192 $((ch))ch.wav -d 1
          done
          pid=$(ps | egrep "aplay|arecord" | grep -v grep | awk '{print $1}' | sort -r)
          for p in $pid
          do
                  wait $p 2>/dev/null
          done
          item=$((item+1))
          if [ $item -ge $items ]; then
                  sleep 1
                  break
          fi
  done
  echo "Done"

Result:

do shell test and verify dlp_x.wav:

* Alignment: ~1 samples shift (loopback <-> mics).
* Integrity: no giltch, no data lost.
* AEC: align loopback and mics sample and do simple AEC, get clean
  waveform.

Logs:
...
numid=2,iface=MIXER,name='Software Digital Loopback Mode'
  ; type=ENUMERATED,access=rw------,values=1,items=7
  ; Item #0 'Disabled'
  ; Item #1 '2CH: 1 Loopback + 1 Mic'
  ; Item #2 '2CH: 1 Mic + 1 Loopback'
  ; Item #3 '2CH: 1 Mic + 1 Loopback-mixed'
  ; Item #4 '2CH: 2 Loopbacks'
  ; Item #5 '4CH: 2 Mics + 2 Loopbacks'
  ; Item #6 '4CH: 2 Mics + 1 Loopback-mixed'
  : values=2
Recording WAVE 'sine/dlp_2.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
Playing WAVE '2ch.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
Playing WAVE '2ch.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
Playing WAVE '2ch.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
Playing WAVE '2ch.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
Playing WAVE '2ch.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
Playing WAVE '2ch.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
Playing WAVE '2ch.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
Playing WAVE '2ch.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
Playing WAVE '2ch.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
Playing WAVE '2ch.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
...
numid=2,iface=MIXER,name='Software Digital Loopback Mode'
  ; type=ENUMERATED,access=rw------,values=1,items=7
  ; Item #0 'Disabled'
  ; Item #1 '2CH: 1 Loopback + 1 Mic'
  ; Item #2 '2CH: 1 Mic + 1 Loopback'
  ; Item #3 '2CH: 1 Mic + 1 Loopback-mixed'
  ; Item #4 '2CH: 2 Loopbacks'
  ; Item #5 '4CH: 2 Mics + 2 Loopbacks'
  ; Item #6 '4CH: 2 Mics + 1 Loopback-mixed'
  : values=6
Recording WAVE 'sine/dlp_6.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Channels 4
Playing WAVE '4ch.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Channels 4
Playing WAVE '4ch.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Channels 4
Playing WAVE '4ch.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Channels 4
Playing WAVE '4ch.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Channels 4
Playing WAVE '4ch.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Channels 4
Playing WAVE '4ch.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Channels 4
Playing WAVE '4ch.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Channels 4
Playing WAVE '4ch.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Channels 4
Playing WAVE '4ch.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Channels 4
Playing WAVE '4ch.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Channels 4
Done

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I5772f0694f7a14a0f0bd1f0777b6c4cdbd781a64
2022-07-20 18:55:12 +08:00
William Wu
ba8a6e65a7 phy: rockchip: inno_usb2: only reset phy if deassert iddq for rk3588
The current code always reset the usb2 phy in the
rk3588_usb2phy_tuning(), this cause the usb core
reset the device which connected to the usb2 host
interface during pm resume. Actually, it only needs
to reset the phy when it exit from iddq mode, so
add this patch to reset phy more reasonably, and
avoid reset usb device during pm resume.

Signed-off-by: William Wu <william.wu@rock-chips.com>
Change-Id: I296636321d0cbe6b7ee7be9bd1614237a34312e9
2022-07-20 18:48:22 +08:00
Andy Yan
f5502856e3 drm/rockchip: vop2: A workaround for PD_ESMART on/off
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Change-Id: Ic7a23c62da91b5e996a9c790ea6ff48ca4e0bf2c
2022-07-20 18:44:58 +08:00
Sach Lin
26e054631c ARM: dts: rockchip: v1106-smd-cam: add ir isp pipe line.
Signed-off-by: Sach Lin <sach.lin@rock-chips.com>
Change-Id: I058055f4da926335cc0189f7fe7675610f1bc813
2022-07-20 18:40:53 +08:00
Liang Chen
bf32acea0a arm64: dts: rockchip: px30: modify node name to dwmmc for sdmmc/sdio/emmc
The name "mmc" is not match for Android config:

    RPODUCT_BOOT_DEVICE := ff390000.dwmmc.

Error log:
init: realpath failed: /dev/block/by-name/super: No such file or directory

Change-Id: Ic72ed3c083c25b2ec243ad10e4fa02e8fd7c8245
Signed-off-by: Liang Chen <cl@rock-chips.com>
2022-07-20 18:38:18 +08:00
Ziyuan Xu
6b48c7f820 mtd: spi-nor: winbond: remove w25q128 Lock/Unlock feature
Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com>
Change-Id: I54115d6464521e9d38f53d949c3ec9d5b8ff719a
2022-07-20 18:37:24 +08:00
Alex Zhao
b9160c71da net: wireless: add cyw88459 support
Signed-off-by: Alex Zhao <zzc@rock-chips.com>
Change-Id: Ifeec8d435bd9629aad92f1620ff2340a5bf9806e
2022-07-20 18:36:55 +08:00
Hu Kejun
79285baea4 media: rockchip: isp: set afen off before config af
to avoid rkisp_stats_get_rawaebig_meas_ddr fail

Signed-off-by: Hu Kejun <william.hu@rock-chips.com>
Change-Id: Ib3122448d1e756dc41bf3b082e9acffa50531d6c
2022-07-20 18:28:19 +08:00
Zhang Yubing
e16a4b0a15 drm/rockchip: vop2: filter display mode by vop aclk
When the pixelclk is more than 600MHz but aclk is equal or
less than 500MHz, it will cause error. So filter the display
mode whose pixelclk is more than 600Mhz when the aclk is
equal or less than 500MHz.

Signed-off-by: Zhang Yubing <yubing.zhang@rock-chips.com>
Change-Id: I04216b661ddfdf8aa5d6de9b14e430ecbf8c4d22
2022-07-20 18:26:15 +08:00
shengfei Xu
9302a4f61b arm64: configs: rockchip_defconfig: enable CONFIG_BATTERY_CW221X
Enable the cw221x fuelgauge driver used for rk3588s tablet

Signed-off-by: shengfei Xu <xsf@rock-chips.com>
Change-Id: I8145c91a8b8da673fdd0f0ad26b57b4647d54147
2022-07-20 18:16:56 +08:00
shengfei Xu
777f70229b arm64: configs: rockchip_defconfig: enable CONFIG_CHARGER_SC89890
Enable the sc89890 charge driver used for rk3588s tablet

Signed-off-by: shengfei Xu <xsf@rock-chips.com>
Change-Id: I224a8a4778cc974ba66e4ffb81ed3d88c8a5faac
2022-07-20 18:16:56 +08:00
shengfei Xu
897c932e94 arm64: configs: rockchip_defconfig: enable CONFIG_CHARGER_SC8551
Enable the sc8551 charge pump driver for RK3588s tablet.

Signed-off-by: shengfei Xu <xsf@rock-chips.com>
Change-Id: I8d9acc1f6456aada5acfc67ef0bf32cbd1db6a9d
2022-07-20 18:16:56 +08:00