Commit Graph

8656 Commits

Author SHA1 Message Date
Elaine Zhang
4d5e7c1061 clk: rockchip: rv1106: optimize clk registration
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: I498621bed6b6a6049b092d1aa3f2c4fd93176079
2022-03-22 18:00:54 +08:00
Weng Tao
e0f5e518d4 clk: rockchip: rk3588: Add pll rate table for 955Mhz and 785Mhz
Signed-off-by: Weng Tao <tao.weng@rock-chips.com>
Change-Id: I669f79667fce318cc0ae919a52babd3cdbb52610
2022-03-18 14:12:53 +08:00
Elaine Zhang
80f35f6e2d clk: rockchip: rk3588: modify xin_osc0_func to xin24m
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: I626410aff2c9b20bd3a865240c1b42b26b359baa
2022-03-04 16:59:16 +08:00
Wyon Bi
961bd97597 clk: rockchip: link: Add pclk_vo1_grf clock
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I3f0f46fd9580e935769335aa20f78c2ee74dbdaa
2022-03-02 20:51:03 +08:00
Wyon Bi
a80efcc59c clk: rockchip: link: Add pclk_vo0_grf clock
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I321e5dbcb4fd32f41ac85d284e511bc8ad1ed789
2022-03-01 18:18:36 +08:00
Elaine Zhang
1ce367190e clk: rockchip: rv1106: export pclk_mailbox clk id
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: I84c8d8e3987af45b72db8eccbf97b7fc842f6205
2022-03-01 11:14:02 +08:00
Tao Huang
a343e3c408 clk: rockchip: clk-ddr: Mark rockchip_ddrclk_scpi_ops as __maybe_unused
drivers/clk/rockchip/clk-ddr.c:166:29: warning: rockchip_ddrclk_scpi_ops defined but not used [-Wunused-const-variable=]

Fixes: 20d9591cb6 ("clk: rockchip: optimize static memory consume")
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: Ie90045e8a30670bd697427ea230fedaa20bfcc01
2022-02-21 15:23:04 +08:00
Elaine Zhang
20d9591cb6 clk: rockchip: optimize static memory consume
Before:
text    data     bss     dec     hex filename
   5661      24      16    5701    1645 clk.o
  10990       0      36   11026    2b12 clk-pll.o
   2288       0       0    2288     8f0 clk-cpu.o
   1856       0       0    1856     740 clk-half-divider.o
    607       0       0     607     25f clk-inverter.o
    872       0       0     872     368 clk-mmc-phase.o
    580       0       0     580     244 clk-muxgrf.o
   1524       0      12    1536     600 clk-ddr.o
   1322       0       0    1322     52a clk-dclk-divider.o
   2368     160       0    2528     9e0 clk-pvtm.o
After:
text    data     bss     dec     hex filename
   5461      24      16    5501    157d clk.o
   4864       0      36    4900    1324 clk-pll.o
   2164       0       0    2164     874 clk-cpu.o
   1856       0       0    1856     740 clk-half-divider.o
    872       0       0     872     368 clk-mmc-phase.o
    580       0       0     580     244 clk-muxgrf.o
    908       0       8     916     394 clk-ddr.o
    660       0       0     660     294 softrst.o

Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: I469229b9566af1cab6cc3a6bb9f4f8e308e0eded
2022-02-18 16:51:11 +08:00
Tao Huang
5f3de16bb2 clk: rockchip: depends on CPU config
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I0f1e0e16297ed637a0e9877fd81b912830fd54ac
2022-02-17 19:03:21 +08:00
Elaine Zhang
c1527f1566 clk: rockchip: rk3588: add flag CLK_MUX_READ_ONLY for pclk_center_root
make pclk_center_root as read only.

Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: Ie55f7fb6834cf0e51e4e1ada911f9bd031d83889
2022-01-26 10:51:44 +08:00
Elaine Zhang
f725e9df2c clk: rockchip: Add clock controller for the RV1106
Add the clock tree definition for the new RV1106 SoC.

Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: I392cccbd4a4510940c099b7911a4f4711788f8ee
2022-01-25 18:12:51 +08:00
Sugar Zhang
6783f7920e clk: rockchip: Rename CLK_RV110X to CLK_RV1108
Now RV1103/6 is coming, the original CLK_RV110X is for
RV1107/8, to avoid been mis-understood, so, make this
change.

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: Id27803b6b2863f6949ddebb9c285c21ad1ca32ef
2022-01-25 09:26:41 +08:00
Elaine Zhang
971b62dfb0 clk: rockchip: rk3588: aclk_vop not allowed set parent to aupll
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: Id66af7ceffba10cb3218626b3ca0cc408fa55fba
2022-01-24 19:23:26 +08:00
Finley Xiao
56260814ad clk: rockchip: rk3588: Fix sclk dsu src sel
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Change-Id: Iec446c279f8200b000ebdf8de5e1ee5fcd7cb1a8
2022-01-10 18:48:22 +08:00
Finley Xiao
5db5a4cf85 clk: rockchip: rk3588: Fix pll rate table for 216MHz and 96MHz
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Change-Id: I06b086dab6f1a6663804f032ad4a3ea905d4bf23
2022-01-10 18:48:22 +08:00
Elaine Zhang
9de1cee0df clk: rockchip: rk3588: remove pclk_gpu_root
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: I45f7cc56bafc0594eef7cfb6011b1ad912e3ac2e
2021-12-23 20:10:12 +08:00
Elaine Zhang
3169038e48 clk: rockchip: rk3588: modify dclk max prate to 594M
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: I3b96d53a89fd9e86a534b120b2e5f02a71c8848f
2021-12-20 18:46:22 +08:00
Tao Huang
f6909c028f Merge tag 'ASB-2021-12-05_12-5.10' of https://android.googlesource.com/kernel/common
https://source.android.com/security/bulletin/2021-12-01
CVE-2021-33909
CVE-2021-38204
CVE-2021-0961

* tag 'ASB-2021-12-05_12-5.10': (3010 commits)
  ANDROID: workqueue: export symbol of the function wq_worker_comm()
  ANDROID: GKI: Update symbols to symbol list
  ANDROID: vendor_hooks: Add hooks for binder proc transaction
  ANDROID: GKI: Add symbols abi for USB IP kernel modules.
  ANDROID: GKI: Fix file mode on mtk abi file
  UPSTREAM: erofs: fix deadlock when shrink erofs slab
  ANDROID: init_task: Init android vendor and oem data
  UPSTREAM: sched/core: Mitigate race cpus_share_cache()/update_top_cache_domain()
  ANDROID: Update symbol list for mtk
  UPSTREAM: erofs: fix unsafe pagevec reuse of hooked pclusters
  UPSTREAM: erofs: remove the occupied parameter from z_erofs_pagevec_enqueue()
  UPSTREAM: usb: dwc3: gadget: Fix null pointer exception
  ANDROID: fips140: support "evaluation testing" builds via build.sh
  FROMGIT: sched/scs: Reset task stack state in bringup_cpu()
  ANDROID: dma-buf: heaps: fix dma-buf heap pool pages stat
  ANDROID: ABI: Add several spi_mem related symbols
  UPSTREAM: spi: spi-mem: add spi_mem_dtr_supports_op()
  ANDROID: gki_defconfig: enable CONFIG_SPI_MEM
  ANDROID: ABI: Add several iio related symbols
  ANDROID: ABI: Update symbol list for IMX
  ...

Change-Id: I09cddc92fa34553b944e62cc5cbbba94a84e5437

Conflicts:
	arch/arm/boot/dts/rk322x.dtsi
	arch/arm64/boot/dts/rockchip/rk3399.dtsi
	drivers/dma-buf/heaps/system_heap.c
	drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
	drivers/gpu/drm/rockchip/rockchip_drm_vop.c
	drivers/gpu/drm/rockchip/rockchip_lvds.c
	drivers/gpu/drm/rockchip/rockchip_vop_reg.c
	drivers/mtd/nand/spi/core.c
	drivers/pci/controller/pcie-rockchip-host.c
	drivers/soc/rockchip/Kconfig
	drivers/usb/dwc3/core.c
	drivers/usb/dwc3/core.h
2021-12-14 17:09:02 +08:00
Elaine Zhang
1f57d9eb1b clk: rockchip: rk3588: export clk_phy0/1_ref_alt_p/m clk id
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: I149c43cd77f777c9d45c095be8c0c77c126b56d2
2021-12-02 18:10:18 +08:00
Elaine Zhang
dbd5f33301 clk: rockchip: rk3588: Change the clk registration sequence
Reduces clock registration time

Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: I9ee110dde6cfcae13fbec6604567c930b709d34b
2021-11-29 18:05:42 +08:00
Elaine Zhang
347e6b3e3d clk: rockchip: rk3588: fix usb3\sata\gamc\pcie aclk parent
aclk dependencies:
aclk_usb3/satax/gmac --> aclk_mmu_php --> aclk_php_root -->
aclk_pcie_root

aclk_pciex_mst --> aclk_mmu_pcie --> aclk_pcie_bridge -->
aclk_pcie_root --> aclk_php_root

Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: I51933de0e401f6fc381ea177943bde16ca00401a
2021-11-26 19:09:36 +08:00
Elaine Zhang
046268f16b clk: rockchip: rk3588: mark aclk_php_gic_its as critical
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: Ibe77113d127cb6ac1f63eb917607aef47683cf18
2021-11-26 14:21:50 +08:00
Wyon Bi
6f62dc64fe Revert "clk: rockchip: rk3588: export pclk_vopgrf id for vop"
This reverts commit 9c9db5fd41.

Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I11ef7f3e52cb7512acbc638a67e75c9295ddbbdd
2021-11-25 15:10:00 +08:00
Wyon Bi
9c9db5fd41 clk: rockchip: rk3588: export pclk_vopgrf id for vop
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I1d1d2b8d0a87763f1671ce0bc6f9933caaac3800
2021-11-23 20:59:23 +08:00
Wyon Bi
e0a703613d clk: rockchip: link: Add of clk provider support
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I8318ea3a6e582043f0f1f668502f76b063e9719b
2021-11-23 20:59:22 +08:00
Sugar Zhang
f9bd0486a1 clk: rockchip: rk3588: Add audio fracpll freq
This patch adds more audio fracpll freq around 800M.

786432000 for SR:
  8k, 16k, 24k, 48k, 96k, 192k

722534400 for SR:
  11.025k 22.05k, 44.1k, 88.2k, 176.4k

According to CRU Chapter:

+------------+---------------------------------------------------------+
| PLL Type   | Equation                                                |
+------------+---------------------------------------------------------+
| FRACPLL    | FFVCO = ((m + k / 65536) * FFIN) / p                    |
|            | FFOUT = FFVCO / 2^s                                     |
+------------+---------------------------------------------------------+

e.g. to achieve PLL rate: 786432000

step1:

equation: FFVCO = FFOUT * 2^s to get VCO as much higher as possible in
ranges for better jitter performance.

FFVCO = 786432000 * 2^2 = 3145728000

step2:

equation: ref = FFIN / P, (m + k / 65536) = FFVCO / ref
ref should be as much higher as possible for better jitter performance.

we can try to iterate from high freq to low to find the best parameter.

step3:

the final FFOUT should be measured by devices, sush as frequency
counter.

RK3588_PLL_RATE(786432000, 2, 262, 2, 9437)
RK3588_PLL_RATE(722534400, 8, 963, 2, 24850)

+------------------------------------------------------------------------+
| MHz  | 1~63 | 64~1024 | 0~6 | 0~65535 |     |  2250~4500  |  36~4500   |
+------------------------------------------------------------------------+
| FFIN |  p   |    m    |  s  |    k    | ref |    FFVCO    |   FFOUT    |
+------------------------------------------------------------------------+
| 24   |  2   |   262   |  2  |   9437  | 12  | 3145.727993 | 786.431998 |
+------------------------------------------------------------------------+
| 24   |  8   |   963   |  2  |  24850  |  3  | 2890.137560 | 722.534390 |
+------------------------------------------------------------------------+

Target freq measured by KEYSIGHT-53220A (Universal Frequency Counter)

+------------+---------------------+---------------------+-------------+
| PLL (MHz)  | Freq required (MHz) | Freq measured (MHz) | Delta (ppm) |
+------------+---------------------+---------------------+-------------+
| 786.432000 | 49.152000           | 49.151360           | 13          |
+------------+---------------------+---------------------+-------------+
| 786.432000 | 12.288000           | 12.287841           | 13          |
+------------+---------------------+---------------------+-------------+
| 722.534400 | 45.158400           | 45.157816           | 13          |
+------------+---------------------+---------------------+-------------+
| 722.534400 | 11.289600           | 11.289453           | 13          |
+------------+---------------------+---------------------+-------------+

And this patch also fix freq for 983.04M and 903.168M.

Before:

RK3588_PLL_RATE(983040000, 3, 491, 2, 34078)
RK3588_PLL_RATE(903168000, 3, 451, 2, 38272)

+------------+---------------------+---------------------+-------------+
| PLL (MHz)  | Freq required (MHz) | Freq measured (MHz) | Delta (ppm) |
+------------+---------------------+---------------------+-------------+
| 983.040000 | 49.152000           | 49.051368           | 2047        |
+------------+---------------------+---------------------+-------------+
| 983.040000 | 12.288000           | 12.262841           | 2047        |
+------------+---------------------+---------------------+-------------+
| 903.168000 | 45.158400           | 45.057819           | 2227        |
+------------+---------------------+---------------------+-------------+
| 903.168000 | 11.289600           | 11.264454           | 2227        |
+------------+---------------------+---------------------+-------------+

After:

RK3588_PLL_RATE(983040000, 4, 655, 2, 23592)
RK3588_PLL_RATE(903168000, 6, 903, 2, 11009)

+------------+---------------------+---------------------+-------------+
| PLL (MHz)  | Freq required (MHz) | Freq measured (MHz) | Delta (ppm) |
+------------+---------------------+---------------------+-------------+
| 983.040000 | 49.152000           | 49.151367           | 13          |
+------------+---------------------+---------------------+-------------+
| 983.040000 | 12.288000           | 12.287841           | 13          |
+------------+---------------------+---------------------+-------------+
| 903.168000 | 45.158400           | 45.157818           | 13          |
+------------+---------------------+---------------------+-------------+
| 903.168000 | 11.289600           | 11.289454           | 13          |
+------------+---------------------+---------------------+-------------+

Fixes: 72c304699f ("clk: rockchip: rk3588: Add audio fracpll freq")

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: Iacc74d135efacef5b6b65d30bdf235ceec0fe970
2021-11-23 15:37:09 +08:00
Elaine Zhang
cb1f0723c1 clk: rockchip: rk3588: use COMPOSITE_DCLK for dclk_vp2
div = DIV_ROUND_UP_ULL(400000000, rate);

Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: I6106b9e661db21392af3185c4d3a1f17cd5d844f
2021-11-23 11:20:24 +08:00
Elaine Zhang
dde2f927c2 clk: rockchip: rk3588: support npll/aupll/v0pll power down by auto
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: Ida2f113f6989eb9db9d97522514299d4660bbb69
2021-11-22 10:41:33 +08:00
Elaine Zhang
fd00e36819 clk: rockchip: rk3588: fix up the usbdpphy_mipidcpphy register error
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: I645d29bb87f39df4c5d76e514fbff45548ec5330
2021-11-19 17:11:27 +08:00
Wyon Bi
3a10024049 clk/rockchip: rk3588: Add CLK_SET_RATE_PARENT to dclk_vop2_src
Allow dclk_vop2_src to change parent rate.

Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I03d0b39c6b80b6c4e3859449cf66a2f43d8235be
2021-11-18 16:09:23 +08:00
Elaine Zhang
83922fcb65 clk: rockchip: rk3588: fix up some clk parents for clk-link
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: Id88179e2a852caf822f61cf79d73a4b6bbe3f893
2021-11-17 19:56:03 +08:00
Elaine Zhang
5b5186d6fe clk: rockchip: link: update the link driver for rk3588
remove unnecessary clk link.
add rkvdec clk link.

Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: I8119d8ca31c5c00375dcd85f5142642e9e304675
2021-11-17 19:56:02 +08:00
Sugar Zhang
0909f637bb clk: rockchip: rk3588: Fix digital-fracdiv signoff freq
All the digital-fracdiv signoff freq are the same, and up
to 1.5G on rk3588.

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: Id4b6b43c05b256a2b77d3c6c0603953b7340eca0
2021-11-17 18:39:40 +08:00
Sugar Zhang
72c304699f clk: rockchip: rk3588: Add audio fracpll freq
983040000 for SR:
  8k, 16k, 24k, 48k, 96k, 192k

903168000 for SR:
  11.025k 22.05k, 44.1k, 88.2k, 176.4k

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: Ibd4ab8e18cfc1e973d62b920084cfbe8d3000b0d
2021-11-17 09:37:15 +08:00
Elaine Zhang
54143c6ee3 clk: rockchip: link: use of_iomap get base
of_iomap allowed to map the same address repeatedly.

Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: I670e2f3ed564c159eed825bc388f4a9ae3a65f76
2021-11-16 10:42:01 +08:00
Elaine Zhang
150255a2ec clk: rockchip: pll: fix up rk3588 pll setting
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: Ibf78a3c9d141da2bbb17026096aadbe26ddfd293
2021-11-15 18:06:15 +08:00
Elaine Zhang
2f510ebc1f clk: rockchip: rk3588: fix up the cpu setting high freq crash
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: Ia5b825a3c8013a51973c37d45c91c7c36280e634
2021-11-14 11:38:01 +08:00
Elaine Zhang
e274955893 clk: rockchip: rk3588: fix up the armclk_l setting freq crash
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: I2e30212c2fbb7a2ee48c175543da766afc4ab985
2021-11-12 21:53:00 +08:00
Tao Huang
d89acabf06 Revert "clk: rockchip: Temporarily fix for rk3588 pll"
This reverts commit fb7d7606a1.

Change-Id: I232636a08a2c034df5ac41d1f628ad55e4e59e36
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2021-11-12 15:34:24 +08:00
Elaine Zhang
e5277633c6 clk: rockchip: rk3588: add 786M for AUPLL init
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: Ic9b76bc29cf07593a94deaeeaaecd81d5bdbd649
2021-11-12 14:30:30 +08:00
Tao Huang
fb7d7606a1 clk: rockchip: Temporarily fix for rk3588 pll
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I15819f3611556e140ec80126b990408edf260c18
2021-11-11 17:18:31 +08:00
Elaine Zhang
71aa5ad918 clk: rockchip: clk link use clk_pm_runtime
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: Ib29c9f91947d9c7940e18cfec8341444c2bc5bf3
2021-11-10 14:49:20 +08:00
Elaine Zhang
9fd1dbb405 clk: gate: add clk_always_on for debug
use:
bootargs = "earlycon=uart8250,mmio32,0xfe660000 console=ttyFIQ0 clk_gate.always_on=y";

Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: Iff38f71b31bf1de4b5e18bdaefd695d60cd2e124
2021-11-09 14:23:08 +08:00
Elaine Zhang
d3a274cb5e Revert "clk: rockchip: rk3588: export clk_gmac id"
This reverts commit de8a7dc11e.

Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: I10be8115666498baf872a40fc9c72964744f3243
2021-11-05 11:32:52 +08:00
Elaine Zhang
9528bfc14a clk: rockchip: rk3588: export clk_aux16m_x id for dp
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: Iec7deb4005d4ce3b842eccd89018a7d9f335434c
2021-10-28 16:31:46 +08:00
Tao Huang
c00db9df9e clk/rockchip/regmap: rk628: Use devm_reset_controller_register()
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I6ff802e11381bb980d55b005edfa6ed3a9c7a469
2021-10-19 18:03:40 +08:00
Shunqing Chen
4d66e9d27f clk/rockchip/regmap: rk628: compatible with MCU mode
Signed-off-by: Shunqing Chen <csq@rock-chips.com>
Change-Id: I85f2c97ac23c585fc136eb5efa4e01fde979f883
2021-10-18 16:56:49 +08:00
Wyon Bi
3082499844 clk/rockchip/regmap: rk628: Add support for clk_testout
Change-Id: I71f5ca1d4002d45438ff9d038ccc7eef5a28a857
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2021-10-18 16:56:42 +08:00
Wyon Bi
78c32c6bb6 clk/rockchip/regmap: rk628: Avoid namespace conflicts
Add a prefix for all clocks to avoid namespace conflicts,
and no functional changes.

Change-Id: I6b586ce859ecf084fe6037c10c775d6bcc78baa1
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2021-10-18 16:56:30 +08:00
Wyon Bi
ec8bb8ccf6 clk/rockchip/regmap: divider: Make round to closest divider valid
Change-Id: I6cff98ec7573f6774700bbbd2650b6e3a01b66f0
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2021-10-18 16:56:20 +08:00