162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (c) 2021 Rockchip Electronics Co. Ltd. 462306a36Sopenharmony_ci * Author: Elaine Zhang <zhangqing@rock-chips.com> 562306a36Sopenharmony_ci */ 662306a36Sopenharmony_ci 762306a36Sopenharmony_ci#include <linux/clk-provider.h> 862306a36Sopenharmony_ci#include <linux/of.h> 962306a36Sopenharmony_ci#include <linux/of_address.h> 1062306a36Sopenharmony_ci#include <linux/platform_device.h> 1162306a36Sopenharmony_ci#include <linux/syscore_ops.h> 1262306a36Sopenharmony_ci#include <dt-bindings/clock/rockchip,rk3588-cru.h> 1362306a36Sopenharmony_ci#include "clk.h" 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci/* 1662306a36Sopenharmony_ci * Recent Rockchip SoCs have a new hardware block called Native Interface 1762306a36Sopenharmony_ci * Unit (NIU), which gates clocks to devices behind them. These effectively 1862306a36Sopenharmony_ci * need two parent clocks. 1962306a36Sopenharmony_ci * 2062306a36Sopenharmony_ci * Downstream enables the linked clock via runtime PM whenever the gate is 2162306a36Sopenharmony_ci * enabled. This implementation uses separate clock nodes for each of the 2262306a36Sopenharmony_ci * linked gate clocks, which leaks parts of the clock tree into DT. 2362306a36Sopenharmony_ci * 2462306a36Sopenharmony_ci * The GATE_LINK macro instead takes the second parent via 'linkname', but 2562306a36Sopenharmony_ci * ignores the information. Once the clock framework is ready to handle it, the 2662306a36Sopenharmony_ci * information should be passed on here. But since these clocks are required to 2762306a36Sopenharmony_ci * access multiple relevant IP blocks, such as PCIe or USB, we mark all linked 2862306a36Sopenharmony_ci * clocks critical until a better solution is available. This will waste some 2962306a36Sopenharmony_ci * power, but avoids leaking implementation details into DT or hanging the 3062306a36Sopenharmony_ci * system. 3162306a36Sopenharmony_ci */ 3262306a36Sopenharmony_ci#define GATE_LINK(_id, cname, pname, linkname, f, o, b, gf) \ 3362306a36Sopenharmony_ci GATE(_id, cname, pname, f, o, b, gf) 3462306a36Sopenharmony_ci#define RK3588_LINKED_CLK CLK_IS_CRITICAL 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ci#define RK3588_GRF_SOC_STATUS0 0x600 3862306a36Sopenharmony_ci#define RK3588_PHYREF_ALT_GATE 0xc38 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_cienum rk3588_plls { 4162306a36Sopenharmony_ci b0pll, b1pll, lpll, v0pll, aupll, cpll, gpll, npll, ppll, 4262306a36Sopenharmony_ci}; 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_cistatic struct rockchip_pll_rate_table rk3588_pll_rates[] = { 4562306a36Sopenharmony_ci /* _mhz, _p, _m, _s, _k */ 4662306a36Sopenharmony_ci RK3588_PLL_RATE(2520000000, 2, 210, 0, 0), 4762306a36Sopenharmony_ci RK3588_PLL_RATE(2496000000, 2, 208, 0, 0), 4862306a36Sopenharmony_ci RK3588_PLL_RATE(2472000000, 2, 206, 0, 0), 4962306a36Sopenharmony_ci RK3588_PLL_RATE(2448000000, 2, 204, 0, 0), 5062306a36Sopenharmony_ci RK3588_PLL_RATE(2424000000, 2, 202, 0, 0), 5162306a36Sopenharmony_ci RK3588_PLL_RATE(2400000000, 2, 200, 0, 0), 5262306a36Sopenharmony_ci RK3588_PLL_RATE(2376000000, 2, 198, 0, 0), 5362306a36Sopenharmony_ci RK3588_PLL_RATE(2352000000, 2, 196, 0, 0), 5462306a36Sopenharmony_ci RK3588_PLL_RATE(2328000000, 2, 194, 0, 0), 5562306a36Sopenharmony_ci RK3588_PLL_RATE(2304000000, 2, 192, 0, 0), 5662306a36Sopenharmony_ci RK3588_PLL_RATE(2280000000, 2, 190, 0, 0), 5762306a36Sopenharmony_ci RK3588_PLL_RATE(2256000000, 2, 376, 1, 0), 5862306a36Sopenharmony_ci RK3588_PLL_RATE(2232000000, 2, 372, 1, 0), 5962306a36Sopenharmony_ci RK3588_PLL_RATE(2208000000, 2, 368, 1, 0), 6062306a36Sopenharmony_ci RK3588_PLL_RATE(2184000000, 2, 364, 1, 0), 6162306a36Sopenharmony_ci RK3588_PLL_RATE(2160000000, 2, 360, 1, 0), 6262306a36Sopenharmony_ci RK3588_PLL_RATE(2136000000, 2, 356, 1, 0), 6362306a36Sopenharmony_ci RK3588_PLL_RATE(2112000000, 2, 352, 1, 0), 6462306a36Sopenharmony_ci RK3588_PLL_RATE(2088000000, 2, 348, 1, 0), 6562306a36Sopenharmony_ci RK3588_PLL_RATE(2064000000, 2, 344, 1, 0), 6662306a36Sopenharmony_ci RK3588_PLL_RATE(2040000000, 2, 340, 1, 0), 6762306a36Sopenharmony_ci RK3588_PLL_RATE(2016000000, 2, 336, 1, 0), 6862306a36Sopenharmony_ci RK3588_PLL_RATE(1992000000, 2, 332, 1, 0), 6962306a36Sopenharmony_ci RK3588_PLL_RATE(1968000000, 2, 328, 1, 0), 7062306a36Sopenharmony_ci RK3588_PLL_RATE(1944000000, 2, 324, 1, 0), 7162306a36Sopenharmony_ci RK3588_PLL_RATE(1920000000, 2, 320, 1, 0), 7262306a36Sopenharmony_ci RK3588_PLL_RATE(1896000000, 2, 316, 1, 0), 7362306a36Sopenharmony_ci RK3588_PLL_RATE(1872000000, 2, 312, 1, 0), 7462306a36Sopenharmony_ci RK3588_PLL_RATE(1848000000, 2, 308, 1, 0), 7562306a36Sopenharmony_ci RK3588_PLL_RATE(1824000000, 2, 304, 1, 0), 7662306a36Sopenharmony_ci RK3588_PLL_RATE(1800000000, 2, 300, 1, 0), 7762306a36Sopenharmony_ci RK3588_PLL_RATE(1776000000, 2, 296, 1, 0), 7862306a36Sopenharmony_ci RK3588_PLL_RATE(1752000000, 2, 292, 1, 0), 7962306a36Sopenharmony_ci RK3588_PLL_RATE(1728000000, 2, 288, 1, 0), 8062306a36Sopenharmony_ci RK3588_PLL_RATE(1704000000, 2, 284, 1, 0), 8162306a36Sopenharmony_ci RK3588_PLL_RATE(1680000000, 2, 280, 1, 0), 8262306a36Sopenharmony_ci RK3588_PLL_RATE(1656000000, 2, 276, 1, 0), 8362306a36Sopenharmony_ci RK3588_PLL_RATE(1632000000, 2, 272, 1, 0), 8462306a36Sopenharmony_ci RK3588_PLL_RATE(1608000000, 2, 268, 1, 0), 8562306a36Sopenharmony_ci RK3588_PLL_RATE(1584000000, 2, 264, 1, 0), 8662306a36Sopenharmony_ci RK3588_PLL_RATE(1560000000, 2, 260, 1, 0), 8762306a36Sopenharmony_ci RK3588_PLL_RATE(1536000000, 2, 256, 1, 0), 8862306a36Sopenharmony_ci RK3588_PLL_RATE(1512000000, 2, 252, 1, 0), 8962306a36Sopenharmony_ci RK3588_PLL_RATE(1488000000, 2, 248, 1, 0), 9062306a36Sopenharmony_ci RK3588_PLL_RATE(1464000000, 2, 244, 1, 0), 9162306a36Sopenharmony_ci RK3588_PLL_RATE(1440000000, 2, 240, 1, 0), 9262306a36Sopenharmony_ci RK3588_PLL_RATE(1416000000, 2, 236, 1, 0), 9362306a36Sopenharmony_ci RK3588_PLL_RATE(1392000000, 2, 232, 1, 0), 9462306a36Sopenharmony_ci RK3588_PLL_RATE(1320000000, 2, 220, 1, 0), 9562306a36Sopenharmony_ci RK3588_PLL_RATE(1200000000, 2, 200, 1, 0), 9662306a36Sopenharmony_ci RK3588_PLL_RATE(1188000000, 2, 198, 1, 0), 9762306a36Sopenharmony_ci RK3588_PLL_RATE(1100000000, 3, 550, 2, 0), 9862306a36Sopenharmony_ci RK3588_PLL_RATE(1008000000, 2, 336, 2, 0), 9962306a36Sopenharmony_ci RK3588_PLL_RATE(1000000000, 3, 500, 2, 0), 10062306a36Sopenharmony_ci RK3588_PLL_RATE(983040000, 4, 655, 2, 23592), 10162306a36Sopenharmony_ci RK3588_PLL_RATE(955520000, 3, 477, 2, 49806), 10262306a36Sopenharmony_ci RK3588_PLL_RATE(903168000, 6, 903, 2, 11009), 10362306a36Sopenharmony_ci RK3588_PLL_RATE(900000000, 2, 300, 2, 0), 10462306a36Sopenharmony_ci RK3588_PLL_RATE(850000000, 3, 425, 2, 0), 10562306a36Sopenharmony_ci RK3588_PLL_RATE(816000000, 2, 272, 2, 0), 10662306a36Sopenharmony_ci RK3588_PLL_RATE(786432000, 2, 262, 2, 9437), 10762306a36Sopenharmony_ci RK3588_PLL_RATE(786000000, 1, 131, 2, 0), 10862306a36Sopenharmony_ci RK3588_PLL_RATE(785560000, 3, 392, 2, 51117), 10962306a36Sopenharmony_ci RK3588_PLL_RATE(722534400, 8, 963, 2, 24850), 11062306a36Sopenharmony_ci RK3588_PLL_RATE(600000000, 2, 200, 2, 0), 11162306a36Sopenharmony_ci RK3588_PLL_RATE(594000000, 2, 198, 2, 0), 11262306a36Sopenharmony_ci RK3588_PLL_RATE(408000000, 2, 272, 3, 0), 11362306a36Sopenharmony_ci RK3588_PLL_RATE(312000000, 2, 208, 3, 0), 11462306a36Sopenharmony_ci RK3588_PLL_RATE(216000000, 2, 288, 4, 0), 11562306a36Sopenharmony_ci RK3588_PLL_RATE(100000000, 3, 400, 5, 0), 11662306a36Sopenharmony_ci RK3588_PLL_RATE(96000000, 2, 256, 5, 0), 11762306a36Sopenharmony_ci { /* sentinel */ }, 11862306a36Sopenharmony_ci}; 11962306a36Sopenharmony_ci 12062306a36Sopenharmony_ci#define RK3588_CLK_CORE_B0_SEL_CLEAN_MASK 0x3 12162306a36Sopenharmony_ci#define RK3588_CLK_CORE_B0_SEL_CLEAN_SHIFT 13 12262306a36Sopenharmony_ci#define RK3588_CLK_CORE_B1_SEL_CLEAN_MASK 0x3 12362306a36Sopenharmony_ci#define RK3588_CLK_CORE_B1_SEL_CLEAN_SHIFT 5 12462306a36Sopenharmony_ci#define RK3588_CLK_CORE_B0_GPLL_DIV_MASK 0x1f 12562306a36Sopenharmony_ci#define RK3588_CLK_CORE_B0_GPLL_DIV_SHIFT 1 12662306a36Sopenharmony_ci#define RK3588_CLK_CORE_L_SEL_CLEAN_MASK 0x3 12762306a36Sopenharmony_ci#define RK3588_CLK_CORE_L1_SEL_CLEAN_SHIFT 12 12862306a36Sopenharmony_ci#define RK3588_CLK_CORE_L0_SEL_CLEAN_SHIFT 5 12962306a36Sopenharmony_ci#define RK3588_CLK_DSU_SEL_DF_MASK 0x1 13062306a36Sopenharmony_ci#define RK3588_CLK_DSU_SEL_DF_SHIFT 15 13162306a36Sopenharmony_ci#define RK3588_CLK_DSU_DF_SRC_MASK 0x3 13262306a36Sopenharmony_ci#define RK3588_CLK_DSU_DF_SRC_SHIFT 12 13362306a36Sopenharmony_ci#define RK3588_CLK_DSU_DF_DIV_MASK 0x1f 13462306a36Sopenharmony_ci#define RK3588_CLK_DSU_DF_DIV_SHIFT 7 13562306a36Sopenharmony_ci#define RK3588_ACLKM_DSU_DIV_MASK 0x1f 13662306a36Sopenharmony_ci#define RK3588_ACLKM_DSU_DIV_SHIFT 1 13762306a36Sopenharmony_ci#define RK3588_ACLKS_DSU_DIV_MASK 0x1f 13862306a36Sopenharmony_ci#define RK3588_ACLKS_DSU_DIV_SHIFT 6 13962306a36Sopenharmony_ci#define RK3588_ACLKMP_DSU_DIV_MASK 0x1f 14062306a36Sopenharmony_ci#define RK3588_ACLKMP_DSU_DIV_SHIFT 11 14162306a36Sopenharmony_ci#define RK3588_PERIPH_DSU_DIV_MASK 0x1f 14262306a36Sopenharmony_ci#define RK3588_PERIPH_DSU_DIV_SHIFT 0 14362306a36Sopenharmony_ci#define RK3588_ATCLK_DSU_DIV_MASK 0x1f 14462306a36Sopenharmony_ci#define RK3588_ATCLK_DSU_DIV_SHIFT 0 14562306a36Sopenharmony_ci#define RK3588_GICCLK_DSU_DIV_MASK 0x1f 14662306a36Sopenharmony_ci#define RK3588_GICCLK_DSU_DIV_SHIFT 5 14762306a36Sopenharmony_ci 14862306a36Sopenharmony_ci#define RK3588_CORE_B0_SEL(_apllcore) \ 14962306a36Sopenharmony_ci{ \ 15062306a36Sopenharmony_ci .reg = RK3588_BIGCORE0_CLKSEL_CON(0), \ 15162306a36Sopenharmony_ci .val = HIWORD_UPDATE(_apllcore, RK3588_CLK_CORE_B0_SEL_CLEAN_MASK, \ 15262306a36Sopenharmony_ci RK3588_CLK_CORE_B0_SEL_CLEAN_SHIFT) | \ 15362306a36Sopenharmony_ci HIWORD_UPDATE(0, RK3588_CLK_CORE_B0_GPLL_DIV_MASK, \ 15462306a36Sopenharmony_ci RK3588_CLK_CORE_B0_GPLL_DIV_SHIFT), \ 15562306a36Sopenharmony_ci} 15662306a36Sopenharmony_ci 15762306a36Sopenharmony_ci#define RK3588_CORE_B1_SEL(_apllcore) \ 15862306a36Sopenharmony_ci{ \ 15962306a36Sopenharmony_ci .reg = RK3588_BIGCORE0_CLKSEL_CON(1), \ 16062306a36Sopenharmony_ci .val = HIWORD_UPDATE(_apllcore, RK3588_CLK_CORE_B1_SEL_CLEAN_MASK, \ 16162306a36Sopenharmony_ci RK3588_CLK_CORE_B1_SEL_CLEAN_SHIFT), \ 16262306a36Sopenharmony_ci} 16362306a36Sopenharmony_ci 16462306a36Sopenharmony_ci#define RK3588_CORE_B2_SEL(_apllcore) \ 16562306a36Sopenharmony_ci{ \ 16662306a36Sopenharmony_ci .reg = RK3588_BIGCORE1_CLKSEL_CON(0), \ 16762306a36Sopenharmony_ci .val = HIWORD_UPDATE(_apllcore, RK3588_CLK_CORE_B0_SEL_CLEAN_MASK, \ 16862306a36Sopenharmony_ci RK3588_CLK_CORE_B0_SEL_CLEAN_SHIFT) | \ 16962306a36Sopenharmony_ci HIWORD_UPDATE(0, RK3588_CLK_CORE_B0_GPLL_DIV_MASK, \ 17062306a36Sopenharmony_ci RK3588_CLK_CORE_B0_GPLL_DIV_SHIFT), \ 17162306a36Sopenharmony_ci} 17262306a36Sopenharmony_ci 17362306a36Sopenharmony_ci#define RK3588_CORE_B3_SEL(_apllcore) \ 17462306a36Sopenharmony_ci{ \ 17562306a36Sopenharmony_ci .reg = RK3588_BIGCORE1_CLKSEL_CON(1), \ 17662306a36Sopenharmony_ci .val = HIWORD_UPDATE(_apllcore, RK3588_CLK_CORE_B1_SEL_CLEAN_MASK, \ 17762306a36Sopenharmony_ci RK3588_CLK_CORE_B1_SEL_CLEAN_SHIFT), \ 17862306a36Sopenharmony_ci} 17962306a36Sopenharmony_ci 18062306a36Sopenharmony_ci#define RK3588_CORE_L_SEL0(_offs, _apllcore) \ 18162306a36Sopenharmony_ci{ \ 18262306a36Sopenharmony_ci .reg = RK3588_DSU_CLKSEL_CON(6 + _offs), \ 18362306a36Sopenharmony_ci .val = HIWORD_UPDATE(_apllcore, RK3588_CLK_CORE_L_SEL_CLEAN_MASK, \ 18462306a36Sopenharmony_ci RK3588_CLK_CORE_L0_SEL_CLEAN_SHIFT) | \ 18562306a36Sopenharmony_ci HIWORD_UPDATE(_apllcore, RK3588_CLK_CORE_L_SEL_CLEAN_MASK, \ 18662306a36Sopenharmony_ci RK3588_CLK_CORE_L1_SEL_CLEAN_SHIFT), \ 18762306a36Sopenharmony_ci} 18862306a36Sopenharmony_ci 18962306a36Sopenharmony_ci#define RK3588_CORE_L_SEL1(_seldsu, _divdsu) \ 19062306a36Sopenharmony_ci{ \ 19162306a36Sopenharmony_ci .reg = RK3588_DSU_CLKSEL_CON(0), \ 19262306a36Sopenharmony_ci .val = HIWORD_UPDATE(_seldsu, RK3588_CLK_DSU_DF_SRC_MASK, \ 19362306a36Sopenharmony_ci RK3588_CLK_DSU_DF_SRC_SHIFT) | \ 19462306a36Sopenharmony_ci HIWORD_UPDATE(_divdsu - 1, RK3588_CLK_DSU_DF_DIV_MASK, \ 19562306a36Sopenharmony_ci RK3588_CLK_DSU_DF_DIV_SHIFT), \ 19662306a36Sopenharmony_ci} 19762306a36Sopenharmony_ci 19862306a36Sopenharmony_ci#define RK3588_CORE_L_SEL2(_aclkm, _aclkmp, _aclks) \ 19962306a36Sopenharmony_ci{ \ 20062306a36Sopenharmony_ci .reg = RK3588_DSU_CLKSEL_CON(1), \ 20162306a36Sopenharmony_ci .val = HIWORD_UPDATE(_aclkm - 1, RK3588_ACLKM_DSU_DIV_MASK, \ 20262306a36Sopenharmony_ci RK3588_ACLKM_DSU_DIV_SHIFT) | \ 20362306a36Sopenharmony_ci HIWORD_UPDATE(_aclkmp - 1, RK3588_ACLKMP_DSU_DIV_MASK, \ 20462306a36Sopenharmony_ci RK3588_ACLKMP_DSU_DIV_SHIFT) | \ 20562306a36Sopenharmony_ci HIWORD_UPDATE(_aclks - 1, RK3588_ACLKS_DSU_DIV_MASK, \ 20662306a36Sopenharmony_ci RK3588_ACLKS_DSU_DIV_SHIFT), \ 20762306a36Sopenharmony_ci} 20862306a36Sopenharmony_ci 20962306a36Sopenharmony_ci#define RK3588_CORE_L_SEL3(_periph) \ 21062306a36Sopenharmony_ci{ \ 21162306a36Sopenharmony_ci .reg = RK3588_DSU_CLKSEL_CON(2), \ 21262306a36Sopenharmony_ci .val = HIWORD_UPDATE(_periph - 1, RK3588_PERIPH_DSU_DIV_MASK, \ 21362306a36Sopenharmony_ci RK3588_PERIPH_DSU_DIV_SHIFT), \ 21462306a36Sopenharmony_ci} 21562306a36Sopenharmony_ci 21662306a36Sopenharmony_ci#define RK3588_CORE_L_SEL4(_gicclk, _atclk) \ 21762306a36Sopenharmony_ci{ \ 21862306a36Sopenharmony_ci .reg = RK3588_DSU_CLKSEL_CON(3), \ 21962306a36Sopenharmony_ci .val = HIWORD_UPDATE(_gicclk - 1, RK3588_GICCLK_DSU_DIV_MASK, \ 22062306a36Sopenharmony_ci RK3588_GICCLK_DSU_DIV_SHIFT) | \ 22162306a36Sopenharmony_ci HIWORD_UPDATE(_atclk - 1, RK3588_ATCLK_DSU_DIV_MASK, \ 22262306a36Sopenharmony_ci RK3588_ATCLK_DSU_DIV_SHIFT), \ 22362306a36Sopenharmony_ci} 22462306a36Sopenharmony_ci 22562306a36Sopenharmony_ci#define RK3588_CPUB01CLK_RATE(_prate, _apllcore) \ 22662306a36Sopenharmony_ci{ \ 22762306a36Sopenharmony_ci .prate = _prate##U, \ 22862306a36Sopenharmony_ci .pre_muxs = { \ 22962306a36Sopenharmony_ci RK3588_CORE_B0_SEL(0), \ 23062306a36Sopenharmony_ci RK3588_CORE_B1_SEL(0), \ 23162306a36Sopenharmony_ci }, \ 23262306a36Sopenharmony_ci .post_muxs = { \ 23362306a36Sopenharmony_ci RK3588_CORE_B0_SEL(_apllcore), \ 23462306a36Sopenharmony_ci RK3588_CORE_B1_SEL(_apllcore), \ 23562306a36Sopenharmony_ci }, \ 23662306a36Sopenharmony_ci} 23762306a36Sopenharmony_ci 23862306a36Sopenharmony_ci#define RK3588_CPUB23CLK_RATE(_prate, _apllcore) \ 23962306a36Sopenharmony_ci{ \ 24062306a36Sopenharmony_ci .prate = _prate##U, \ 24162306a36Sopenharmony_ci .pre_muxs = { \ 24262306a36Sopenharmony_ci RK3588_CORE_B2_SEL(0), \ 24362306a36Sopenharmony_ci RK3588_CORE_B3_SEL(0), \ 24462306a36Sopenharmony_ci }, \ 24562306a36Sopenharmony_ci .post_muxs = { \ 24662306a36Sopenharmony_ci RK3588_CORE_B2_SEL(_apllcore), \ 24762306a36Sopenharmony_ci RK3588_CORE_B3_SEL(_apllcore), \ 24862306a36Sopenharmony_ci }, \ 24962306a36Sopenharmony_ci} 25062306a36Sopenharmony_ci 25162306a36Sopenharmony_ci#define RK3588_CPULCLK_RATE(_prate, _apllcore, _seldsu, _divdsu) \ 25262306a36Sopenharmony_ci{ \ 25362306a36Sopenharmony_ci .prate = _prate##U, \ 25462306a36Sopenharmony_ci .pre_muxs = { \ 25562306a36Sopenharmony_ci RK3588_CORE_L_SEL0(0, 0), \ 25662306a36Sopenharmony_ci RK3588_CORE_L_SEL0(1, 0), \ 25762306a36Sopenharmony_ci RK3588_CORE_L_SEL1(3, 2), \ 25862306a36Sopenharmony_ci RK3588_CORE_L_SEL2(2, 3, 3), \ 25962306a36Sopenharmony_ci RK3588_CORE_L_SEL3(4), \ 26062306a36Sopenharmony_ci RK3588_CORE_L_SEL4(4, 4), \ 26162306a36Sopenharmony_ci }, \ 26262306a36Sopenharmony_ci .post_muxs = { \ 26362306a36Sopenharmony_ci RK3588_CORE_L_SEL0(0, _apllcore), \ 26462306a36Sopenharmony_ci RK3588_CORE_L_SEL0(1, _apllcore), \ 26562306a36Sopenharmony_ci RK3588_CORE_L_SEL1(_seldsu, _divdsu), \ 26662306a36Sopenharmony_ci }, \ 26762306a36Sopenharmony_ci} 26862306a36Sopenharmony_ci 26962306a36Sopenharmony_cistatic struct rockchip_cpuclk_rate_table rk3588_cpub0clk_rates[] __initdata = { 27062306a36Sopenharmony_ci RK3588_CPUB01CLK_RATE(2496000000, 1), 27162306a36Sopenharmony_ci RK3588_CPUB01CLK_RATE(2400000000, 1), 27262306a36Sopenharmony_ci RK3588_CPUB01CLK_RATE(2304000000, 1), 27362306a36Sopenharmony_ci RK3588_CPUB01CLK_RATE(2208000000, 1), 27462306a36Sopenharmony_ci RK3588_CPUB01CLK_RATE(2184000000, 1), 27562306a36Sopenharmony_ci RK3588_CPUB01CLK_RATE(2088000000, 1), 27662306a36Sopenharmony_ci RK3588_CPUB01CLK_RATE(2040000000, 1), 27762306a36Sopenharmony_ci RK3588_CPUB01CLK_RATE(2016000000, 1), 27862306a36Sopenharmony_ci RK3588_CPUB01CLK_RATE(1992000000, 1), 27962306a36Sopenharmony_ci RK3588_CPUB01CLK_RATE(1896000000, 1), 28062306a36Sopenharmony_ci RK3588_CPUB01CLK_RATE(1800000000, 1), 28162306a36Sopenharmony_ci RK3588_CPUB01CLK_RATE(1704000000, 0), 28262306a36Sopenharmony_ci RK3588_CPUB01CLK_RATE(1608000000, 0), 28362306a36Sopenharmony_ci RK3588_CPUB01CLK_RATE(1584000000, 0), 28462306a36Sopenharmony_ci RK3588_CPUB01CLK_RATE(1560000000, 0), 28562306a36Sopenharmony_ci RK3588_CPUB01CLK_RATE(1536000000, 0), 28662306a36Sopenharmony_ci RK3588_CPUB01CLK_RATE(1512000000, 0), 28762306a36Sopenharmony_ci RK3588_CPUB01CLK_RATE(1488000000, 0), 28862306a36Sopenharmony_ci RK3588_CPUB01CLK_RATE(1464000000, 0), 28962306a36Sopenharmony_ci RK3588_CPUB01CLK_RATE(1440000000, 0), 29062306a36Sopenharmony_ci RK3588_CPUB01CLK_RATE(1416000000, 0), 29162306a36Sopenharmony_ci RK3588_CPUB01CLK_RATE(1392000000, 0), 29262306a36Sopenharmony_ci RK3588_CPUB01CLK_RATE(1368000000, 0), 29362306a36Sopenharmony_ci RK3588_CPUB01CLK_RATE(1344000000, 0), 29462306a36Sopenharmony_ci RK3588_CPUB01CLK_RATE(1320000000, 0), 29562306a36Sopenharmony_ci RK3588_CPUB01CLK_RATE(1296000000, 0), 29662306a36Sopenharmony_ci RK3588_CPUB01CLK_RATE(1272000000, 0), 29762306a36Sopenharmony_ci RK3588_CPUB01CLK_RATE(1248000000, 0), 29862306a36Sopenharmony_ci RK3588_CPUB01CLK_RATE(1224000000, 0), 29962306a36Sopenharmony_ci RK3588_CPUB01CLK_RATE(1200000000, 0), 30062306a36Sopenharmony_ci RK3588_CPUB01CLK_RATE(1104000000, 0), 30162306a36Sopenharmony_ci RK3588_CPUB01CLK_RATE(1008000000, 0), 30262306a36Sopenharmony_ci RK3588_CPUB01CLK_RATE(912000000, 0), 30362306a36Sopenharmony_ci RK3588_CPUB01CLK_RATE(816000000, 0), 30462306a36Sopenharmony_ci RK3588_CPUB01CLK_RATE(696000000, 0), 30562306a36Sopenharmony_ci RK3588_CPUB01CLK_RATE(600000000, 0), 30662306a36Sopenharmony_ci RK3588_CPUB01CLK_RATE(408000000, 0), 30762306a36Sopenharmony_ci RK3588_CPUB01CLK_RATE(312000000, 0), 30862306a36Sopenharmony_ci RK3588_CPUB01CLK_RATE(216000000, 0), 30962306a36Sopenharmony_ci RK3588_CPUB01CLK_RATE(96000000, 0), 31062306a36Sopenharmony_ci}; 31162306a36Sopenharmony_ci 31262306a36Sopenharmony_cistatic const struct rockchip_cpuclk_reg_data rk3588_cpub0clk_data = { 31362306a36Sopenharmony_ci .core_reg[0] = RK3588_BIGCORE0_CLKSEL_CON(0), 31462306a36Sopenharmony_ci .div_core_shift[0] = 8, 31562306a36Sopenharmony_ci .div_core_mask[0] = 0x1f, 31662306a36Sopenharmony_ci .core_reg[1] = RK3588_BIGCORE0_CLKSEL_CON(1), 31762306a36Sopenharmony_ci .div_core_shift[1] = 0, 31862306a36Sopenharmony_ci .div_core_mask[1] = 0x1f, 31962306a36Sopenharmony_ci .num_cores = 2, 32062306a36Sopenharmony_ci .mux_core_alt = 1, 32162306a36Sopenharmony_ci .mux_core_main = 2, 32262306a36Sopenharmony_ci .mux_core_shift = 6, 32362306a36Sopenharmony_ci .mux_core_mask = 0x3, 32462306a36Sopenharmony_ci}; 32562306a36Sopenharmony_ci 32662306a36Sopenharmony_cistatic struct rockchip_cpuclk_rate_table rk3588_cpub1clk_rates[] __initdata = { 32762306a36Sopenharmony_ci RK3588_CPUB23CLK_RATE(2496000000, 1), 32862306a36Sopenharmony_ci RK3588_CPUB23CLK_RATE(2400000000, 1), 32962306a36Sopenharmony_ci RK3588_CPUB23CLK_RATE(2304000000, 1), 33062306a36Sopenharmony_ci RK3588_CPUB23CLK_RATE(2208000000, 1), 33162306a36Sopenharmony_ci RK3588_CPUB23CLK_RATE(2184000000, 1), 33262306a36Sopenharmony_ci RK3588_CPUB23CLK_RATE(2088000000, 1), 33362306a36Sopenharmony_ci RK3588_CPUB23CLK_RATE(2040000000, 1), 33462306a36Sopenharmony_ci RK3588_CPUB23CLK_RATE(2016000000, 1), 33562306a36Sopenharmony_ci RK3588_CPUB23CLK_RATE(1992000000, 1), 33662306a36Sopenharmony_ci RK3588_CPUB23CLK_RATE(1896000000, 1), 33762306a36Sopenharmony_ci RK3588_CPUB23CLK_RATE(1800000000, 1), 33862306a36Sopenharmony_ci RK3588_CPUB23CLK_RATE(1704000000, 0), 33962306a36Sopenharmony_ci RK3588_CPUB23CLK_RATE(1608000000, 0), 34062306a36Sopenharmony_ci RK3588_CPUB23CLK_RATE(1584000000, 0), 34162306a36Sopenharmony_ci RK3588_CPUB23CLK_RATE(1560000000, 0), 34262306a36Sopenharmony_ci RK3588_CPUB23CLK_RATE(1536000000, 0), 34362306a36Sopenharmony_ci RK3588_CPUB23CLK_RATE(1512000000, 0), 34462306a36Sopenharmony_ci RK3588_CPUB23CLK_RATE(1488000000, 0), 34562306a36Sopenharmony_ci RK3588_CPUB23CLK_RATE(1464000000, 0), 34662306a36Sopenharmony_ci RK3588_CPUB23CLK_RATE(1440000000, 0), 34762306a36Sopenharmony_ci RK3588_CPUB23CLK_RATE(1416000000, 0), 34862306a36Sopenharmony_ci RK3588_CPUB23CLK_RATE(1392000000, 0), 34962306a36Sopenharmony_ci RK3588_CPUB23CLK_RATE(1368000000, 0), 35062306a36Sopenharmony_ci RK3588_CPUB23CLK_RATE(1344000000, 0), 35162306a36Sopenharmony_ci RK3588_CPUB23CLK_RATE(1320000000, 0), 35262306a36Sopenharmony_ci RK3588_CPUB23CLK_RATE(1296000000, 0), 35362306a36Sopenharmony_ci RK3588_CPUB23CLK_RATE(1272000000, 0), 35462306a36Sopenharmony_ci RK3588_CPUB23CLK_RATE(1248000000, 0), 35562306a36Sopenharmony_ci RK3588_CPUB23CLK_RATE(1224000000, 0), 35662306a36Sopenharmony_ci RK3588_CPUB23CLK_RATE(1200000000, 0), 35762306a36Sopenharmony_ci RK3588_CPUB23CLK_RATE(1104000000, 0), 35862306a36Sopenharmony_ci RK3588_CPUB23CLK_RATE(1008000000, 0), 35962306a36Sopenharmony_ci RK3588_CPUB23CLK_RATE(912000000, 0), 36062306a36Sopenharmony_ci RK3588_CPUB23CLK_RATE(816000000, 0), 36162306a36Sopenharmony_ci RK3588_CPUB23CLK_RATE(696000000, 0), 36262306a36Sopenharmony_ci RK3588_CPUB23CLK_RATE(600000000, 0), 36362306a36Sopenharmony_ci RK3588_CPUB23CLK_RATE(408000000, 0), 36462306a36Sopenharmony_ci RK3588_CPUB23CLK_RATE(312000000, 0), 36562306a36Sopenharmony_ci RK3588_CPUB23CLK_RATE(216000000, 0), 36662306a36Sopenharmony_ci RK3588_CPUB23CLK_RATE(96000000, 0), 36762306a36Sopenharmony_ci}; 36862306a36Sopenharmony_ci 36962306a36Sopenharmony_cistatic const struct rockchip_cpuclk_reg_data rk3588_cpub1clk_data = { 37062306a36Sopenharmony_ci .core_reg[0] = RK3588_BIGCORE1_CLKSEL_CON(0), 37162306a36Sopenharmony_ci .div_core_shift[0] = 8, 37262306a36Sopenharmony_ci .div_core_mask[0] = 0x1f, 37362306a36Sopenharmony_ci .core_reg[1] = RK3588_BIGCORE1_CLKSEL_CON(1), 37462306a36Sopenharmony_ci .div_core_shift[1] = 0, 37562306a36Sopenharmony_ci .div_core_mask[1] = 0x1f, 37662306a36Sopenharmony_ci .num_cores = 2, 37762306a36Sopenharmony_ci .mux_core_alt = 1, 37862306a36Sopenharmony_ci .mux_core_main = 2, 37962306a36Sopenharmony_ci .mux_core_shift = 6, 38062306a36Sopenharmony_ci .mux_core_mask = 0x3, 38162306a36Sopenharmony_ci}; 38262306a36Sopenharmony_ci 38362306a36Sopenharmony_cistatic struct rockchip_cpuclk_rate_table rk3588_cpulclk_rates[] __initdata = { 38462306a36Sopenharmony_ci RK3588_CPULCLK_RATE(2208000000, 1, 3, 1), 38562306a36Sopenharmony_ci RK3588_CPULCLK_RATE(2184000000, 1, 3, 1), 38662306a36Sopenharmony_ci RK3588_CPULCLK_RATE(2088000000, 1, 3, 1), 38762306a36Sopenharmony_ci RK3588_CPULCLK_RATE(2040000000, 1, 3, 1), 38862306a36Sopenharmony_ci RK3588_CPULCLK_RATE(2016000000, 1, 3, 1), 38962306a36Sopenharmony_ci RK3588_CPULCLK_RATE(1992000000, 1, 3, 1), 39062306a36Sopenharmony_ci RK3588_CPULCLK_RATE(1896000000, 1, 3, 1), 39162306a36Sopenharmony_ci RK3588_CPULCLK_RATE(1800000000, 1, 3, 1), 39262306a36Sopenharmony_ci RK3588_CPULCLK_RATE(1704000000, 0, 3, 1), 39362306a36Sopenharmony_ci RK3588_CPULCLK_RATE(1608000000, 0, 3, 1), 39462306a36Sopenharmony_ci RK3588_CPULCLK_RATE(1584000000, 0, 2, 1), 39562306a36Sopenharmony_ci RK3588_CPULCLK_RATE(1560000000, 0, 2, 1), 39662306a36Sopenharmony_ci RK3588_CPULCLK_RATE(1536000000, 0, 2, 1), 39762306a36Sopenharmony_ci RK3588_CPULCLK_RATE(1512000000, 0, 2, 1), 39862306a36Sopenharmony_ci RK3588_CPULCLK_RATE(1488000000, 0, 2, 1), 39962306a36Sopenharmony_ci RK3588_CPULCLK_RATE(1464000000, 0, 2, 1), 40062306a36Sopenharmony_ci RK3588_CPULCLK_RATE(1440000000, 0, 2, 1), 40162306a36Sopenharmony_ci RK3588_CPULCLK_RATE(1416000000, 0, 2, 1), 40262306a36Sopenharmony_ci RK3588_CPULCLK_RATE(1392000000, 0, 2, 1), 40362306a36Sopenharmony_ci RK3588_CPULCLK_RATE(1368000000, 0, 2, 1), 40462306a36Sopenharmony_ci RK3588_CPULCLK_RATE(1344000000, 0, 2, 1), 40562306a36Sopenharmony_ci RK3588_CPULCLK_RATE(1320000000, 0, 2, 1), 40662306a36Sopenharmony_ci RK3588_CPULCLK_RATE(1296000000, 0, 2, 1), 40762306a36Sopenharmony_ci RK3588_CPULCLK_RATE(1272000000, 0, 2, 1), 40862306a36Sopenharmony_ci RK3588_CPULCLK_RATE(1248000000, 0, 2, 1), 40962306a36Sopenharmony_ci RK3588_CPULCLK_RATE(1224000000, 0, 2, 1), 41062306a36Sopenharmony_ci RK3588_CPULCLK_RATE(1200000000, 0, 2, 1), 41162306a36Sopenharmony_ci RK3588_CPULCLK_RATE(1104000000, 0, 2, 1), 41262306a36Sopenharmony_ci RK3588_CPULCLK_RATE(1008000000, 0, 2, 1), 41362306a36Sopenharmony_ci RK3588_CPULCLK_RATE(912000000, 0, 2, 1), 41462306a36Sopenharmony_ci RK3588_CPULCLK_RATE(816000000, 0, 2, 1), 41562306a36Sopenharmony_ci RK3588_CPULCLK_RATE(696000000, 0, 2, 1), 41662306a36Sopenharmony_ci RK3588_CPULCLK_RATE(600000000, 0, 2, 1), 41762306a36Sopenharmony_ci RK3588_CPULCLK_RATE(408000000, 0, 2, 1), 41862306a36Sopenharmony_ci RK3588_CPULCLK_RATE(312000000, 0, 2, 1), 41962306a36Sopenharmony_ci RK3588_CPULCLK_RATE(216000000, 0, 2, 1), 42062306a36Sopenharmony_ci RK3588_CPULCLK_RATE(96000000, 0, 2, 1), 42162306a36Sopenharmony_ci}; 42262306a36Sopenharmony_ci 42362306a36Sopenharmony_cistatic const struct rockchip_cpuclk_reg_data rk3588_cpulclk_data = { 42462306a36Sopenharmony_ci .core_reg[0] = RK3588_DSU_CLKSEL_CON(6), 42562306a36Sopenharmony_ci .div_core_shift[0] = 0, 42662306a36Sopenharmony_ci .div_core_mask[0] = 0x1f, 42762306a36Sopenharmony_ci .core_reg[1] = RK3588_DSU_CLKSEL_CON(6), 42862306a36Sopenharmony_ci .div_core_shift[1] = 7, 42962306a36Sopenharmony_ci .div_core_mask[1] = 0x1f, 43062306a36Sopenharmony_ci .core_reg[2] = RK3588_DSU_CLKSEL_CON(7), 43162306a36Sopenharmony_ci .div_core_shift[2] = 0, 43262306a36Sopenharmony_ci .div_core_mask[2] = 0x1f, 43362306a36Sopenharmony_ci .core_reg[3] = RK3588_DSU_CLKSEL_CON(7), 43462306a36Sopenharmony_ci .div_core_shift[3] = 7, 43562306a36Sopenharmony_ci .div_core_mask[3] = 0x1f, 43662306a36Sopenharmony_ci .num_cores = 4, 43762306a36Sopenharmony_ci .mux_core_reg = RK3588_DSU_CLKSEL_CON(5), 43862306a36Sopenharmony_ci .mux_core_alt = 1, 43962306a36Sopenharmony_ci .mux_core_main = 2, 44062306a36Sopenharmony_ci .mux_core_shift = 14, 44162306a36Sopenharmony_ci .mux_core_mask = 0x3, 44262306a36Sopenharmony_ci}; 44362306a36Sopenharmony_ci 44462306a36Sopenharmony_ciPNAME(mux_pll_p) = { "xin24m", "xin32k" }; 44562306a36Sopenharmony_ciPNAME(mux_armclkl_p) = { "xin24m", "gpll", "lpll" }; 44662306a36Sopenharmony_ciPNAME(mux_armclkb01_p) = { "xin24m", "gpll", "b0pll",}; 44762306a36Sopenharmony_ciPNAME(mux_armclkb23_p) = { "xin24m", "gpll", "b1pll",}; 44862306a36Sopenharmony_ciPNAME(b0pll_b1pll_lpll_gpll_p) = { "b0pll", "b1pll", "lpll", "gpll" }; 44962306a36Sopenharmony_ciPNAME(gpll_24m_p) = { "gpll", "xin24m" }; 45062306a36Sopenharmony_ciPNAME(gpll_aupll_p) = { "gpll", "aupll" }; 45162306a36Sopenharmony_ciPNAME(gpll_lpll_p) = { "gpll", "lpll" }; 45262306a36Sopenharmony_ciPNAME(gpll_cpll_p) = { "gpll", "cpll" }; 45362306a36Sopenharmony_ciPNAME(gpll_spll_p) = { "gpll", "spll" }; 45462306a36Sopenharmony_ciPNAME(gpll_cpll_24m_p) = { "gpll", "cpll", "xin24m"}; 45562306a36Sopenharmony_ciPNAME(gpll_cpll_aupll_p) = { "gpll", "cpll", "aupll"}; 45662306a36Sopenharmony_ciPNAME(gpll_cpll_npll_p) = { "gpll", "cpll", "npll"}; 45762306a36Sopenharmony_ciPNAME(gpll_cpll_npll_v0pll_p) = { "gpll", "cpll", "npll", "v0pll"}; 45862306a36Sopenharmony_ciPNAME(gpll_cpll_24m_spll_p) = { "gpll", "cpll", "xin24m", "spll" }; 45962306a36Sopenharmony_ciPNAME(gpll_cpll_aupll_spll_p) = { "gpll", "cpll", "aupll", "spll" }; 46062306a36Sopenharmony_ciPNAME(gpll_cpll_aupll_npll_p) = { "gpll", "cpll", "aupll", "npll" }; 46162306a36Sopenharmony_ciPNAME(gpll_cpll_v0pll_aupll_p) = { "gpll", "cpll", "v0pll", "aupll" }; 46262306a36Sopenharmony_ciPNAME(gpll_cpll_v0pll_spll_p) = { "gpll", "cpll", "v0pll", "spll" }; 46362306a36Sopenharmony_ciPNAME(gpll_cpll_aupll_npll_spll_p) = { "gpll", "cpll", "aupll", "npll", "spll" }; 46462306a36Sopenharmony_ciPNAME(gpll_cpll_dmyaupll_npll_spll_p) = { "gpll", "cpll", "dummy_aupll", "npll", "spll" }; 46562306a36Sopenharmony_ciPNAME(gpll_cpll_npll_aupll_spll_p) = { "gpll", "cpll", "npll", "aupll", "spll" }; 46662306a36Sopenharmony_ciPNAME(gpll_cpll_npll_1000m_p) = { "gpll", "cpll", "npll", "clk_1000m_src" }; 46762306a36Sopenharmony_ciPNAME(mux_24m_spll_gpll_cpll_p) = { "xin24m", "spll", "gpll", "cpll" }; 46862306a36Sopenharmony_ciPNAME(mux_24m_32k_p) = { "xin24m", "xin32k" }; 46962306a36Sopenharmony_ciPNAME(mux_24m_100m_p) = { "xin24m", "clk_100m_src" }; 47062306a36Sopenharmony_ciPNAME(mux_200m_100m_p) = { "clk_200m_src", "clk_100m_src" }; 47162306a36Sopenharmony_ciPNAME(mux_100m_50m_24m_p) = { "clk_100m_src", "clk_50m_src", "xin24m" }; 47262306a36Sopenharmony_ciPNAME(mux_150m_50m_24m_p) = { "clk_150m_src", "clk_50m_src", "xin24m" }; 47362306a36Sopenharmony_ciPNAME(mux_150m_100m_24m_p) = { "clk_150m_src", "clk_100m_src", "xin24m" }; 47462306a36Sopenharmony_ciPNAME(mux_200m_150m_24m_p) = { "clk_200m_src", "clk_150m_src", "xin24m" }; 47562306a36Sopenharmony_ciPNAME(mux_150m_100m_50m_24m_p) = { "clk_150m_src", "clk_100m_src", "clk_50m_src", "xin24m" }; 47662306a36Sopenharmony_ciPNAME(mux_200m_100m_50m_24m_p) = { "clk_200m_src", "clk_100m_src", "clk_50m_src", "xin24m" }; 47762306a36Sopenharmony_ciPNAME(mux_300m_200m_100m_24m_p) = { "clk_300m_src", "clk_200m_src", "clk_100m_src", "xin24m" }; 47862306a36Sopenharmony_ciPNAME(mux_700m_400m_200m_24m_p) = { "clk_700m_src", "clk_400m_src", "clk_200m_src", "xin24m" }; 47962306a36Sopenharmony_ciPNAME(mux_500m_250m_100m_24m_p) = { "clk_500m_src", "clk_250m_src", "clk_100m_src", "xin24m" }; 48062306a36Sopenharmony_ciPNAME(mux_500m_300m_100m_24m_p) = { "clk_500m_src", "clk_300m_src", "clk_100m_src", "xin24m" }; 48162306a36Sopenharmony_ciPNAME(mux_400m_200m_100m_24m_p) = { "clk_400m_src", "clk_200m_src", "clk_100m_src", "xin24m" }; 48262306a36Sopenharmony_ciPNAME(clk_i2s2_2ch_p) = { "clk_i2s2_2ch_src", "clk_i2s2_2ch_frac", "i2s2_mclkin", "xin12m" }; 48362306a36Sopenharmony_ciPNAME(i2s2_2ch_mclkout_p) = { "mclk_i2s2_2ch", "xin12m" }; 48462306a36Sopenharmony_ciPNAME(clk_i2s3_2ch_p) = { "clk_i2s3_2ch_src", "clk_i2s3_2ch_frac", "i2s3_mclkin", "xin12m" }; 48562306a36Sopenharmony_ciPNAME(i2s3_2ch_mclkout_p) = { "mclk_i2s3_2ch", "xin12m" }; 48662306a36Sopenharmony_ciPNAME(clk_i2s0_8ch_tx_p) = { "clk_i2s0_8ch_tx_src", "clk_i2s0_8ch_tx_frac", "i2s0_mclkin", "xin12m" }; 48762306a36Sopenharmony_ciPNAME(clk_i2s0_8ch_rx_p) = { "clk_i2s0_8ch_rx_src", "clk_i2s0_8ch_rx_frac", "i2s0_mclkin", "xin12m" }; 48862306a36Sopenharmony_ciPNAME(i2s0_8ch_mclkout_p) = { "mclk_i2s0_8ch_tx", "mclk_i2s0_8ch_rx", "xin12m" }; 48962306a36Sopenharmony_ciPNAME(clk_i2s1_8ch_tx_p) = { "clk_i2s1_8ch_tx_src", "clk_i2s1_8ch_tx_frac", "i2s1_mclkin", "xin12m" }; 49062306a36Sopenharmony_ciPNAME(clk_i2s1_8ch_rx_p) = { "clk_i2s1_8ch_rx_src", "clk_i2s1_8ch_rx_frac", "i2s1_mclkin", "xin12m" }; 49162306a36Sopenharmony_ciPNAME(i2s1_8ch_mclkout_p) = { "mclk_i2s1_8ch_tx", "mclk_i2s1_8ch_rx", "xin12m" }; 49262306a36Sopenharmony_ciPNAME(clk_i2s4_8ch_tx_p) = { "clk_i2s4_8ch_tx_src", "clk_i2s4_8ch_tx_frac", "i2s4_mclkin", "xin12m" }; 49362306a36Sopenharmony_ciPNAME(clk_i2s5_8ch_tx_p) = { "clk_i2s5_8ch_tx_src", "clk_i2s5_8ch_tx_frac", "i2s5_mclkin", "xin12m" }; 49462306a36Sopenharmony_ciPNAME(clk_i2s6_8ch_tx_p) = { "clk_i2s6_8ch_tx_src", "clk_i2s6_8ch_tx_frac", "i2s6_mclkin", "xin12m" }; 49562306a36Sopenharmony_ciPNAME(clk_i2s6_8ch_rx_p) = { "clk_i2s6_8ch_rx_src", "clk_i2s6_8ch_rx_frac", "i2s6_mclkin", "xin12m" }; 49662306a36Sopenharmony_ciPNAME(i2s6_8ch_mclkout_p) = { "mclk_i2s6_8ch_tx", "mclk_i2s6_8ch_rx", "xin12m" }; 49762306a36Sopenharmony_ciPNAME(clk_i2s7_8ch_rx_p) = { "clk_i2s7_8ch_rx_src", "clk_i2s7_8ch_rx_frac", "i2s7_mclkin", "xin12m" }; 49862306a36Sopenharmony_ciPNAME(clk_i2s8_8ch_tx_p) = { "clk_i2s8_8ch_tx_src", "clk_i2s8_8ch_tx_frac", "i2s8_mclkin", "xin12m" }; 49962306a36Sopenharmony_ciPNAME(clk_i2s9_8ch_rx_p) = { "clk_i2s9_8ch_rx_src", "clk_i2s9_8ch_rx_frac", "i2s9_mclkin", "xin12m" }; 50062306a36Sopenharmony_ciPNAME(clk_i2s10_8ch_rx_p) = { "clk_i2s10_8ch_rx_src", "clk_i2s10_8ch_rx_frac", "i2s10_mclkin", "xin12m" }; 50162306a36Sopenharmony_ciPNAME(clk_spdif0_p) = { "clk_spdif0_src", "clk_spdif0_frac", "xin12m" }; 50262306a36Sopenharmony_ciPNAME(clk_spdif1_p) = { "clk_spdif1_src", "clk_spdif1_frac", "xin12m" }; 50362306a36Sopenharmony_ciPNAME(clk_spdif2_dp0_p) = { "clk_spdif2_dp0_src", "clk_spdif2_dp0_frac", "xin12m" }; 50462306a36Sopenharmony_ciPNAME(clk_spdif3_p) = { "clk_spdif3_src", "clk_spdif3_frac", "xin12m" }; 50562306a36Sopenharmony_ciPNAME(clk_spdif4_p) = { "clk_spdif4_src", "clk_spdif4_frac", "xin12m" }; 50662306a36Sopenharmony_ciPNAME(clk_spdif5_dp1_p) = { "clk_spdif5_dp1_src", "clk_spdif5_dp1_frac", "xin12m" }; 50762306a36Sopenharmony_ciPNAME(clk_uart0_p) = { "clk_uart0_src", "clk_uart0_frac", "xin24m" }; 50862306a36Sopenharmony_ciPNAME(clk_uart1_p) = { "clk_uart1_src", "clk_uart1_frac", "xin24m" }; 50962306a36Sopenharmony_ciPNAME(clk_uart2_p) = { "clk_uart2_src", "clk_uart2_frac", "xin24m" }; 51062306a36Sopenharmony_ciPNAME(clk_uart3_p) = { "clk_uart3_src", "clk_uart3_frac", "xin24m" }; 51162306a36Sopenharmony_ciPNAME(clk_uart4_p) = { "clk_uart4_src", "clk_uart4_frac", "xin24m" }; 51262306a36Sopenharmony_ciPNAME(clk_uart5_p) = { "clk_uart5_src", "clk_uart5_frac", "xin24m" }; 51362306a36Sopenharmony_ciPNAME(clk_uart6_p) = { "clk_uart6_src", "clk_uart6_frac", "xin24m" }; 51462306a36Sopenharmony_ciPNAME(clk_uart7_p) = { "clk_uart7_src", "clk_uart7_frac", "xin24m" }; 51562306a36Sopenharmony_ciPNAME(clk_uart8_p) = { "clk_uart8_src", "clk_uart8_frac", "xin24m" }; 51662306a36Sopenharmony_ciPNAME(clk_uart9_p) = { "clk_uart9_src", "clk_uart9_frac", "xin24m" }; 51762306a36Sopenharmony_ciPNAME(clk_gmac0_ptp_ref_p) = { "cpll", "clk_gmac0_ptpref_io" }; 51862306a36Sopenharmony_ciPNAME(clk_gmac1_ptp_ref_p) = { "cpll", "clk_gmac1_ptpref_io" }; 51962306a36Sopenharmony_ciPNAME(clk_hdmirx_aud_p) = { "clk_hdmirx_aud_src", "clk_hdmirx_aud_frac" }; 52062306a36Sopenharmony_ciPNAME(aclk_hdcp1_root_p) = { "gpll", "cpll", "clk_hdmitrx_refsrc" }; 52162306a36Sopenharmony_ciPNAME(aclk_vop_sub_src_p) = { "aclk_vop_root", "aclk_vop_div2_src" }; 52262306a36Sopenharmony_ciPNAME(dclk_vop0_p) = { "dclk_vop0_src", "clk_hdmiphy_pixel0", "clk_hdmiphy_pixel1" }; 52362306a36Sopenharmony_ciPNAME(dclk_vop1_p) = { "dclk_vop1_src", "clk_hdmiphy_pixel0", "clk_hdmiphy_pixel1" }; 52462306a36Sopenharmony_ciPNAME(dclk_vop2_p) = { "dclk_vop2_src", "clk_hdmiphy_pixel0", "clk_hdmiphy_pixel1" }; 52562306a36Sopenharmony_ciPNAME(pmu_200m_100m_p) = { "clk_pmu1_200m_src", "clk_pmu1_100m_src" }; 52662306a36Sopenharmony_ciPNAME(pmu_300m_24m_p) = { "clk_300m_src", "xin24m" }; 52762306a36Sopenharmony_ciPNAME(pmu_400m_24m_p) = { "clk_400m_src", "xin24m" }; 52862306a36Sopenharmony_ciPNAME(pmu_100m_50m_24m_src_p) = { "clk_pmu1_100m_src", "clk_pmu1_50m_src", "xin24m" }; 52962306a36Sopenharmony_ciPNAME(pmu_24m_32k_100m_src_p) = { "xin24m", "32k", "clk_pmu1_100m_src" }; 53062306a36Sopenharmony_ciPNAME(hclk_pmu1_root_p) = { "clk_pmu1_200m_src", "clk_pmu1_100m_src", "clk_pmu1_50m_src", "xin24m" }; 53162306a36Sopenharmony_ciPNAME(hclk_pmu_cm0_root_p) = { "clk_pmu1_400m_src", "clk_pmu1_200m_src", "clk_pmu1_100m_src", "xin24m" }; 53262306a36Sopenharmony_ciPNAME(mclk_pdm0_p) = { "clk_pmu1_300m_src", "clk_pmu1_200m_src" }; 53362306a36Sopenharmony_ciPNAME(mux_24m_ppll_spll_p) = { "xin24m", "ppll", "spll" }; 53462306a36Sopenharmony_ciPNAME(mux_24m_ppll_p) = { "xin24m", "ppll" }; 53562306a36Sopenharmony_ciPNAME(clk_ref_pipe_phy0_p) = { "clk_ref_pipe_phy0_osc_src", "clk_ref_pipe_phy0_pll_src" }; 53662306a36Sopenharmony_ciPNAME(clk_ref_pipe_phy1_p) = { "clk_ref_pipe_phy1_osc_src", "clk_ref_pipe_phy1_pll_src" }; 53762306a36Sopenharmony_ciPNAME(clk_ref_pipe_phy2_p) = { "clk_ref_pipe_phy2_osc_src", "clk_ref_pipe_phy2_pll_src" }; 53862306a36Sopenharmony_ci 53962306a36Sopenharmony_ci#define MFLAGS CLK_MUX_HIWORD_MASK 54062306a36Sopenharmony_ci#define DFLAGS CLK_DIVIDER_HIWORD_MASK 54162306a36Sopenharmony_ci#define GFLAGS (CLK_GATE_HIWORD_MASK | CLK_GATE_SET_TO_DISABLE) 54262306a36Sopenharmony_ci 54362306a36Sopenharmony_cistatic struct rockchip_clk_branch rk3588_i2s0_8ch_tx_fracmux __initdata = 54462306a36Sopenharmony_ci MUX(CLK_I2S0_8CH_TX, "clk_i2s0_8ch_tx", clk_i2s0_8ch_tx_p, CLK_SET_RATE_PARENT, 54562306a36Sopenharmony_ci RK3588_CLKSEL_CON(26), 0, 2, MFLAGS); 54662306a36Sopenharmony_ci 54762306a36Sopenharmony_cistatic struct rockchip_clk_branch rk3588_i2s0_8ch_rx_fracmux __initdata = 54862306a36Sopenharmony_ci MUX(CLK_I2S0_8CH_RX, "clk_i2s0_8ch_rx", clk_i2s0_8ch_rx_p, CLK_SET_RATE_PARENT, 54962306a36Sopenharmony_ci RK3588_CLKSEL_CON(28), 0, 2, MFLAGS); 55062306a36Sopenharmony_ci 55162306a36Sopenharmony_cistatic struct rockchip_clk_branch rk3588_i2s1_8ch_tx_fracmux __initdata = 55262306a36Sopenharmony_ci MUX(CLK_I2S1_8CH_TX, "clk_i2s1_8ch_tx", clk_i2s1_8ch_tx_p, CLK_SET_RATE_PARENT, 55362306a36Sopenharmony_ci RK3588_PMU_CLKSEL_CON(7), 0, 2, MFLAGS); 55462306a36Sopenharmony_ci 55562306a36Sopenharmony_cistatic struct rockchip_clk_branch rk3588_i2s1_8ch_rx_fracmux __initdata = 55662306a36Sopenharmony_ci MUX(CLK_I2S1_8CH_RX, "clk_i2s1_8ch_rx", clk_i2s1_8ch_rx_p, CLK_SET_RATE_PARENT, 55762306a36Sopenharmony_ci RK3588_PMU_CLKSEL_CON(9), 0, 2, MFLAGS); 55862306a36Sopenharmony_ci 55962306a36Sopenharmony_cistatic struct rockchip_clk_branch rk3588_i2s2_2ch_fracmux __initdata = 56062306a36Sopenharmony_ci MUX(CLK_I2S2_2CH, "clk_i2s2_2ch", clk_i2s2_2ch_p, CLK_SET_RATE_PARENT, 56162306a36Sopenharmony_ci RK3588_CLKSEL_CON(30), 0, 2, MFLAGS); 56262306a36Sopenharmony_ci 56362306a36Sopenharmony_cistatic struct rockchip_clk_branch rk3588_i2s3_2ch_fracmux __initdata = 56462306a36Sopenharmony_ci MUX(CLK_I2S3_2CH, "clk_i2s3_2ch", clk_i2s3_2ch_p, CLK_SET_RATE_PARENT, 56562306a36Sopenharmony_ci RK3588_CLKSEL_CON(32), 0, 2, MFLAGS); 56662306a36Sopenharmony_ci 56762306a36Sopenharmony_cistatic struct rockchip_clk_branch rk3588_i2s4_8ch_tx_fracmux __initdata = 56862306a36Sopenharmony_ci MUX(CLK_I2S4_8CH_TX, "clk_i2s4_8ch_tx", clk_i2s4_8ch_tx_p, CLK_SET_RATE_PARENT, 56962306a36Sopenharmony_ci RK3588_CLKSEL_CON(120), 0, 2, MFLAGS); 57062306a36Sopenharmony_ci 57162306a36Sopenharmony_cistatic struct rockchip_clk_branch rk3588_i2s5_8ch_tx_fracmux __initdata = 57262306a36Sopenharmony_ci MUX(CLK_I2S5_8CH_TX, "clk_i2s5_8ch_tx", clk_i2s5_8ch_tx_p, CLK_SET_RATE_PARENT, 57362306a36Sopenharmony_ci RK3588_CLKSEL_CON(142), 0, 2, MFLAGS); 57462306a36Sopenharmony_ci 57562306a36Sopenharmony_cistatic struct rockchip_clk_branch rk3588_i2s6_8ch_tx_fracmux __initdata = 57662306a36Sopenharmony_ci MUX(CLK_I2S6_8CH_TX, "clk_i2s6_8ch_tx", clk_i2s6_8ch_tx_p, CLK_SET_RATE_PARENT, 57762306a36Sopenharmony_ci RK3588_CLKSEL_CON(146), 0, 2, MFLAGS); 57862306a36Sopenharmony_ci 57962306a36Sopenharmony_cistatic struct rockchip_clk_branch rk3588_i2s6_8ch_rx_fracmux __initdata = 58062306a36Sopenharmony_ci MUX(CLK_I2S6_8CH_RX, "clk_i2s6_8ch_rx", clk_i2s6_8ch_rx_p, CLK_SET_RATE_PARENT, 58162306a36Sopenharmony_ci RK3588_CLKSEL_CON(148), 0, 2, MFLAGS); 58262306a36Sopenharmony_ci 58362306a36Sopenharmony_cistatic struct rockchip_clk_branch rk3588_i2s7_8ch_rx_fracmux __initdata = 58462306a36Sopenharmony_ci MUX(CLK_I2S7_8CH_RX, "clk_i2s7_8ch_rx", clk_i2s7_8ch_rx_p, CLK_SET_RATE_PARENT, 58562306a36Sopenharmony_ci RK3588_CLKSEL_CON(131), 0, 2, MFLAGS); 58662306a36Sopenharmony_ci 58762306a36Sopenharmony_cistatic struct rockchip_clk_branch rk3588_i2s8_8ch_tx_fracmux __initdata = 58862306a36Sopenharmony_ci MUX(CLK_I2S8_8CH_TX, "clk_i2s8_8ch_tx", clk_i2s8_8ch_tx_p, CLK_SET_RATE_PARENT, 58962306a36Sopenharmony_ci RK3588_CLKSEL_CON(122), 0, 2, MFLAGS); 59062306a36Sopenharmony_ci 59162306a36Sopenharmony_cistatic struct rockchip_clk_branch rk3588_i2s9_8ch_rx_fracmux __initdata = 59262306a36Sopenharmony_ci MUX(CLK_I2S9_8CH_RX, "clk_i2s9_8ch_rx", clk_i2s9_8ch_rx_p, CLK_SET_RATE_PARENT, 59362306a36Sopenharmony_ci RK3588_CLKSEL_CON(155), 0, 2, MFLAGS); 59462306a36Sopenharmony_ci 59562306a36Sopenharmony_cistatic struct rockchip_clk_branch rk3588_i2s10_8ch_rx_fracmux __initdata = 59662306a36Sopenharmony_ci MUX(CLK_I2S10_8CH_RX, "clk_i2s10_8ch_rx", clk_i2s10_8ch_rx_p, CLK_SET_RATE_PARENT, 59762306a36Sopenharmony_ci RK3588_CLKSEL_CON(157), 0, 2, MFLAGS); 59862306a36Sopenharmony_ci 59962306a36Sopenharmony_cistatic struct rockchip_clk_branch rk3588_spdif0_fracmux __initdata = 60062306a36Sopenharmony_ci MUX(CLK_SPDIF0, "clk_spdif0", clk_spdif0_p, CLK_SET_RATE_PARENT, 60162306a36Sopenharmony_ci RK3588_CLKSEL_CON(34), 0, 2, MFLAGS); 60262306a36Sopenharmony_ci 60362306a36Sopenharmony_cistatic struct rockchip_clk_branch rk3588_spdif1_fracmux __initdata = 60462306a36Sopenharmony_ci MUX(CLK_SPDIF1, "clk_spdif1", clk_spdif1_p, CLK_SET_RATE_PARENT, 60562306a36Sopenharmony_ci RK3588_CLKSEL_CON(36), 0, 2, MFLAGS); 60662306a36Sopenharmony_ci 60762306a36Sopenharmony_cistatic struct rockchip_clk_branch rk3588_spdif2_dp0_fracmux __initdata = 60862306a36Sopenharmony_ci MUX(CLK_SPDIF2_DP0, "clk_spdif2_dp0", clk_spdif2_dp0_p, CLK_SET_RATE_PARENT, 60962306a36Sopenharmony_ci RK3588_CLKSEL_CON(124), 0, 2, MFLAGS); 61062306a36Sopenharmony_ci 61162306a36Sopenharmony_cistatic struct rockchip_clk_branch rk3588_spdif3_fracmux __initdata = 61262306a36Sopenharmony_ci MUX(CLK_SPDIF3, "clk_spdif3", clk_spdif3_p, CLK_SET_RATE_PARENT, 61362306a36Sopenharmony_ci RK3588_CLKSEL_CON(150), 0, 2, MFLAGS); 61462306a36Sopenharmony_ci 61562306a36Sopenharmony_cistatic struct rockchip_clk_branch rk3588_spdif4_fracmux __initdata = 61662306a36Sopenharmony_ci MUX(CLK_SPDIF4, "clk_spdif4", clk_spdif4_p, CLK_SET_RATE_PARENT, 61762306a36Sopenharmony_ci RK3588_CLKSEL_CON(152), 0, 2, MFLAGS); 61862306a36Sopenharmony_ci 61962306a36Sopenharmony_cistatic struct rockchip_clk_branch rk3588_spdif5_dp1_fracmux __initdata = 62062306a36Sopenharmony_ci MUX(CLK_SPDIF5_DP1, "clk_spdif5_dp1", clk_spdif5_dp1_p, CLK_SET_RATE_PARENT, 62162306a36Sopenharmony_ci RK3588_CLKSEL_CON(126), 0, 2, MFLAGS); 62262306a36Sopenharmony_ci 62362306a36Sopenharmony_cistatic struct rockchip_clk_branch rk3588_uart0_fracmux __initdata = 62462306a36Sopenharmony_ci MUX(CLK_UART0, "clk_uart0", clk_uart0_p, CLK_SET_RATE_PARENT, 62562306a36Sopenharmony_ci RK3588_PMU_CLKSEL_CON(5), 0, 2, MFLAGS); 62662306a36Sopenharmony_ci 62762306a36Sopenharmony_cistatic struct rockchip_clk_branch rk3588_uart1_fracmux __initdata = 62862306a36Sopenharmony_ci MUX(CLK_UART1, "clk_uart1", clk_uart1_p, CLK_SET_RATE_PARENT, 62962306a36Sopenharmony_ci RK3588_CLKSEL_CON(43), 0, 2, MFLAGS); 63062306a36Sopenharmony_ci 63162306a36Sopenharmony_cistatic struct rockchip_clk_branch rk3588_uart2_fracmux __initdata = 63262306a36Sopenharmony_ci MUX(CLK_UART2, "clk_uart2", clk_uart2_p, CLK_SET_RATE_PARENT, 63362306a36Sopenharmony_ci RK3588_CLKSEL_CON(45), 0, 2, MFLAGS); 63462306a36Sopenharmony_ci 63562306a36Sopenharmony_cistatic struct rockchip_clk_branch rk3588_uart3_fracmux __initdata = 63662306a36Sopenharmony_ci MUX(CLK_UART3, "clk_uart3", clk_uart3_p, CLK_SET_RATE_PARENT, 63762306a36Sopenharmony_ci RK3588_CLKSEL_CON(47), 0, 2, MFLAGS); 63862306a36Sopenharmony_ci 63962306a36Sopenharmony_cistatic struct rockchip_clk_branch rk3588_uart4_fracmux __initdata = 64062306a36Sopenharmony_ci MUX(CLK_UART4, "clk_uart4", clk_uart4_p, CLK_SET_RATE_PARENT, 64162306a36Sopenharmony_ci RK3588_CLKSEL_CON(49), 0, 2, MFLAGS); 64262306a36Sopenharmony_ci 64362306a36Sopenharmony_cistatic struct rockchip_clk_branch rk3588_uart5_fracmux __initdata = 64462306a36Sopenharmony_ci MUX(CLK_UART5, "clk_uart5", clk_uart5_p, CLK_SET_RATE_PARENT, 64562306a36Sopenharmony_ci RK3588_CLKSEL_CON(51), 0, 2, MFLAGS); 64662306a36Sopenharmony_ci 64762306a36Sopenharmony_cistatic struct rockchip_clk_branch rk3588_uart6_fracmux __initdata = 64862306a36Sopenharmony_ci MUX(CLK_UART6, "clk_uart6", clk_uart6_p, CLK_SET_RATE_PARENT, 64962306a36Sopenharmony_ci RK3588_CLKSEL_CON(53), 0, 2, MFLAGS); 65062306a36Sopenharmony_ci 65162306a36Sopenharmony_cistatic struct rockchip_clk_branch rk3588_uart7_fracmux __initdata = 65262306a36Sopenharmony_ci MUX(CLK_UART7, "clk_uart7", clk_uart7_p, CLK_SET_RATE_PARENT, 65362306a36Sopenharmony_ci RK3588_CLKSEL_CON(55), 0, 2, MFLAGS); 65462306a36Sopenharmony_ci 65562306a36Sopenharmony_cistatic struct rockchip_clk_branch rk3588_uart8_fracmux __initdata = 65662306a36Sopenharmony_ci MUX(CLK_UART8, "clk_uart8", clk_uart8_p, CLK_SET_RATE_PARENT, 65762306a36Sopenharmony_ci RK3588_CLKSEL_CON(57), 0, 2, MFLAGS); 65862306a36Sopenharmony_ci 65962306a36Sopenharmony_cistatic struct rockchip_clk_branch rk3588_uart9_fracmux __initdata = 66062306a36Sopenharmony_ci MUX(CLK_UART9, "clk_uart9", clk_uart9_p, CLK_SET_RATE_PARENT, 66162306a36Sopenharmony_ci RK3588_CLKSEL_CON(59), 0, 2, MFLAGS); 66262306a36Sopenharmony_ci 66362306a36Sopenharmony_cistatic struct rockchip_clk_branch rk3588_hdmirx_aud_fracmux __initdata = 66462306a36Sopenharmony_ci MUX(CLK_HDMIRX_AUD_P_MUX, "clk_hdmirx_aud_mux", clk_hdmirx_aud_p, CLK_SET_RATE_PARENT, 66562306a36Sopenharmony_ci RK3588_CLKSEL_CON(140), 0, 1, MFLAGS); 66662306a36Sopenharmony_ci 66762306a36Sopenharmony_cistatic struct rockchip_pll_clock rk3588_pll_clks[] __initdata = { 66862306a36Sopenharmony_ci [b0pll] = PLL(pll_rk3588_core, PLL_B0PLL, "b0pll", mux_pll_p, 66962306a36Sopenharmony_ci CLK_IGNORE_UNUSED, RK3588_B0_PLL_CON(0), 67062306a36Sopenharmony_ci RK3588_B0_PLL_MODE_CON0, 0, 15, 0, rk3588_pll_rates), 67162306a36Sopenharmony_ci [b1pll] = PLL(pll_rk3588_core, PLL_B1PLL, "b1pll", mux_pll_p, 67262306a36Sopenharmony_ci CLK_IGNORE_UNUSED, RK3588_B1_PLL_CON(8), 67362306a36Sopenharmony_ci RK3588_B1_PLL_MODE_CON0, 0, 15, 0, rk3588_pll_rates), 67462306a36Sopenharmony_ci [lpll] = PLL(pll_rk3588_core, PLL_LPLL, "lpll", mux_pll_p, 67562306a36Sopenharmony_ci CLK_IGNORE_UNUSED, RK3588_LPLL_CON(16), 67662306a36Sopenharmony_ci RK3588_LPLL_MODE_CON0, 0, 15, 0, rk3588_pll_rates), 67762306a36Sopenharmony_ci [v0pll] = PLL(pll_rk3588, PLL_V0PLL, "v0pll", mux_pll_p, 67862306a36Sopenharmony_ci 0, RK3588_PLL_CON(88), 67962306a36Sopenharmony_ci RK3588_MODE_CON0, 4, 15, 0, rk3588_pll_rates), 68062306a36Sopenharmony_ci [aupll] = PLL(pll_rk3588, PLL_AUPLL, "aupll", mux_pll_p, 68162306a36Sopenharmony_ci 0, RK3588_PLL_CON(96), 68262306a36Sopenharmony_ci RK3588_MODE_CON0, 6, 15, 0, rk3588_pll_rates), 68362306a36Sopenharmony_ci [cpll] = PLL(pll_rk3588, PLL_CPLL, "cpll", mux_pll_p, 68462306a36Sopenharmony_ci CLK_IGNORE_UNUSED, RK3588_PLL_CON(104), 68562306a36Sopenharmony_ci RK3588_MODE_CON0, 8, 15, 0, rk3588_pll_rates), 68662306a36Sopenharmony_ci [gpll] = PLL(pll_rk3588, PLL_GPLL, "gpll", mux_pll_p, 68762306a36Sopenharmony_ci CLK_IGNORE_UNUSED, RK3588_PLL_CON(112), 68862306a36Sopenharmony_ci RK3588_MODE_CON0, 2, 15, 0, rk3588_pll_rates), 68962306a36Sopenharmony_ci [npll] = PLL(pll_rk3588, PLL_NPLL, "npll", mux_pll_p, 69062306a36Sopenharmony_ci 0, RK3588_PLL_CON(120), 69162306a36Sopenharmony_ci RK3588_MODE_CON0, 0, 15, 0, rk3588_pll_rates), 69262306a36Sopenharmony_ci [ppll] = PLL(pll_rk3588_core, PLL_PPLL, "ppll", mux_pll_p, 69362306a36Sopenharmony_ci CLK_IGNORE_UNUSED, RK3588_PMU_PLL_CON(128), 69462306a36Sopenharmony_ci RK3588_MODE_CON0, 10, 15, 0, rk3588_pll_rates), 69562306a36Sopenharmony_ci}; 69662306a36Sopenharmony_ci 69762306a36Sopenharmony_cistatic struct rockchip_clk_branch rk3588_clk_branches[] __initdata = { 69862306a36Sopenharmony_ci /* 69962306a36Sopenharmony_ci * CRU Clock-Architecture 70062306a36Sopenharmony_ci */ 70162306a36Sopenharmony_ci /* fixed */ 70262306a36Sopenharmony_ci FACTOR(0, "xin12m", "xin24m", 0, 1, 2), 70362306a36Sopenharmony_ci 70462306a36Sopenharmony_ci /* top */ 70562306a36Sopenharmony_ci COMPOSITE(CLK_50M_SRC, "clk_50m_src", gpll_cpll_p, CLK_IS_CRITICAL, 70662306a36Sopenharmony_ci RK3588_CLKSEL_CON(0), 5, 1, MFLAGS, 0, 5, DFLAGS, 70762306a36Sopenharmony_ci RK3588_CLKGATE_CON(0), 0, GFLAGS), 70862306a36Sopenharmony_ci COMPOSITE(CLK_100M_SRC, "clk_100m_src", gpll_cpll_p, CLK_IS_CRITICAL, 70962306a36Sopenharmony_ci RK3588_CLKSEL_CON(0), 11, 1, MFLAGS, 6, 5, DFLAGS, 71062306a36Sopenharmony_ci RK3588_CLKGATE_CON(0), 1, GFLAGS), 71162306a36Sopenharmony_ci COMPOSITE(CLK_150M_SRC, "clk_150m_src", gpll_cpll_p, CLK_IS_CRITICAL, 71262306a36Sopenharmony_ci RK3588_CLKSEL_CON(1), 5, 1, MFLAGS, 0, 5, DFLAGS, 71362306a36Sopenharmony_ci RK3588_CLKGATE_CON(0), 2, GFLAGS), 71462306a36Sopenharmony_ci COMPOSITE(CLK_200M_SRC, "clk_200m_src", gpll_cpll_p, CLK_IS_CRITICAL, 71562306a36Sopenharmony_ci RK3588_CLKSEL_CON(1), 11, 1, MFLAGS, 6, 5, DFLAGS, 71662306a36Sopenharmony_ci RK3588_CLKGATE_CON(0), 3, GFLAGS), 71762306a36Sopenharmony_ci COMPOSITE(CLK_250M_SRC, "clk_250m_src", gpll_cpll_p, CLK_IS_CRITICAL, 71862306a36Sopenharmony_ci RK3588_CLKSEL_CON(2), 5, 1, MFLAGS, 0, 5, DFLAGS, 71962306a36Sopenharmony_ci RK3588_CLKGATE_CON(0), 4, GFLAGS), 72062306a36Sopenharmony_ci COMPOSITE(CLK_300M_SRC, "clk_300m_src", gpll_cpll_p, CLK_IS_CRITICAL, 72162306a36Sopenharmony_ci RK3588_CLKSEL_CON(2), 11, 1, MFLAGS, 6, 5, DFLAGS, 72262306a36Sopenharmony_ci RK3588_CLKGATE_CON(0), 5, GFLAGS), 72362306a36Sopenharmony_ci COMPOSITE(CLK_350M_SRC, "clk_350m_src", gpll_spll_p, CLK_IS_CRITICAL, 72462306a36Sopenharmony_ci RK3588_CLKSEL_CON(3), 5, 1, MFLAGS, 0, 5, DFLAGS, 72562306a36Sopenharmony_ci RK3588_CLKGATE_CON(0), 6, GFLAGS), 72662306a36Sopenharmony_ci COMPOSITE(CLK_400M_SRC, "clk_400m_src", gpll_cpll_p, CLK_IS_CRITICAL, 72762306a36Sopenharmony_ci RK3588_CLKSEL_CON(3), 11, 1, MFLAGS, 6, 5, DFLAGS, 72862306a36Sopenharmony_ci RK3588_CLKGATE_CON(0), 7, GFLAGS), 72962306a36Sopenharmony_ci COMPOSITE_HALFDIV(CLK_450M_SRC, "clk_450m_src", gpll_cpll_p, 0, 73062306a36Sopenharmony_ci RK3588_CLKSEL_CON(4), 5, 1, MFLAGS, 0, 5, DFLAGS, 73162306a36Sopenharmony_ci RK3588_CLKGATE_CON(0), 8, GFLAGS), 73262306a36Sopenharmony_ci COMPOSITE(CLK_500M_SRC, "clk_500m_src", gpll_cpll_p, CLK_IS_CRITICAL, 73362306a36Sopenharmony_ci RK3588_CLKSEL_CON(4), 11, 1, MFLAGS, 6, 5, DFLAGS, 73462306a36Sopenharmony_ci RK3588_CLKGATE_CON(0), 9, GFLAGS), 73562306a36Sopenharmony_ci COMPOSITE(CLK_600M_SRC, "clk_600m_src", gpll_cpll_p, CLK_IS_CRITICAL, 73662306a36Sopenharmony_ci RK3588_CLKSEL_CON(5), 5, 1, MFLAGS, 0, 5, DFLAGS, 73762306a36Sopenharmony_ci RK3588_CLKGATE_CON(0), 10, GFLAGS), 73862306a36Sopenharmony_ci COMPOSITE(CLK_650M_SRC, "clk_650m_src", gpll_lpll_p, 0, 73962306a36Sopenharmony_ci RK3588_CLKSEL_CON(5), 11, 1, MFLAGS, 6, 5, DFLAGS, 74062306a36Sopenharmony_ci RK3588_CLKGATE_CON(0), 11, GFLAGS), 74162306a36Sopenharmony_ci COMPOSITE(CLK_700M_SRC, "clk_700m_src", gpll_spll_p, CLK_IS_CRITICAL, 74262306a36Sopenharmony_ci RK3588_CLKSEL_CON(6), 5, 1, MFLAGS, 0, 5, DFLAGS, 74362306a36Sopenharmony_ci RK3588_CLKGATE_CON(0), 12, GFLAGS), 74462306a36Sopenharmony_ci COMPOSITE(CLK_800M_SRC, "clk_800m_src", gpll_aupll_p, CLK_IS_CRITICAL, 74562306a36Sopenharmony_ci RK3588_CLKSEL_CON(6), 11, 1, MFLAGS, 6, 5, DFLAGS, 74662306a36Sopenharmony_ci RK3588_CLKGATE_CON(0), 13, GFLAGS), 74762306a36Sopenharmony_ci COMPOSITE_HALFDIV(CLK_1000M_SRC, "clk_1000m_src", gpll_cpll_npll_v0pll_p, CLK_IS_CRITICAL, 74862306a36Sopenharmony_ci RK3588_CLKSEL_CON(7), 5, 2, MFLAGS, 0, 5, DFLAGS, 74962306a36Sopenharmony_ci RK3588_CLKGATE_CON(0), 14, GFLAGS), 75062306a36Sopenharmony_ci COMPOSITE(CLK_1200M_SRC, "clk_1200m_src", gpll_cpll_p, CLK_IS_CRITICAL, 75162306a36Sopenharmony_ci RK3588_CLKSEL_CON(7), 12, 1, MFLAGS, 7, 5, DFLAGS, 75262306a36Sopenharmony_ci RK3588_CLKGATE_CON(0), 15, GFLAGS), 75362306a36Sopenharmony_ci COMPOSITE_NODIV(ACLK_TOP_M300_ROOT, "aclk_top_m300_root", mux_300m_200m_100m_24m_p, CLK_IS_CRITICAL, 75462306a36Sopenharmony_ci RK3588_CLKSEL_CON(9), 0, 2, MFLAGS, 75562306a36Sopenharmony_ci RK3588_CLKGATE_CON(1), 10, GFLAGS), 75662306a36Sopenharmony_ci COMPOSITE_NODIV(ACLK_TOP_M500_ROOT, "aclk_top_m500_root", mux_500m_300m_100m_24m_p, CLK_IS_CRITICAL, 75762306a36Sopenharmony_ci RK3588_CLKSEL_CON(9), 2, 2, MFLAGS, 75862306a36Sopenharmony_ci RK3588_CLKGATE_CON(1), 11, GFLAGS), 75962306a36Sopenharmony_ci COMPOSITE_NODIV(ACLK_TOP_M400_ROOT, "aclk_top_m400_root", mux_400m_200m_100m_24m_p, CLK_IS_CRITICAL, 76062306a36Sopenharmony_ci RK3588_CLKSEL_CON(9), 4, 2, MFLAGS, 76162306a36Sopenharmony_ci RK3588_CLKGATE_CON(1), 12, GFLAGS), 76262306a36Sopenharmony_ci COMPOSITE_NODIV(ACLK_TOP_S200_ROOT, "aclk_top_s200_root", mux_200m_100m_50m_24m_p, CLK_IS_CRITICAL, 76362306a36Sopenharmony_ci RK3588_CLKSEL_CON(9), 6, 2, MFLAGS, 76462306a36Sopenharmony_ci RK3588_CLKGATE_CON(1), 13, GFLAGS), 76562306a36Sopenharmony_ci COMPOSITE_NODIV(ACLK_TOP_S400_ROOT, "aclk_top_s400_root", mux_400m_200m_100m_24m_p, CLK_IS_CRITICAL, 76662306a36Sopenharmony_ci RK3588_CLKSEL_CON(9), 8, 2, MFLAGS, 76762306a36Sopenharmony_ci RK3588_CLKGATE_CON(1), 14, GFLAGS), 76862306a36Sopenharmony_ci COMPOSITE(ACLK_TOP_ROOT, "aclk_top_root", gpll_cpll_aupll_p, CLK_IS_CRITICAL, 76962306a36Sopenharmony_ci RK3588_CLKSEL_CON(8), 5, 2, MFLAGS, 0, 5, DFLAGS, 77062306a36Sopenharmony_ci RK3588_CLKGATE_CON(1), 0, GFLAGS), 77162306a36Sopenharmony_ci COMPOSITE_NODIV(PCLK_TOP_ROOT, "pclk_top_root", mux_100m_50m_24m_p, CLK_IS_CRITICAL, 77262306a36Sopenharmony_ci RK3588_CLKSEL_CON(8), 7, 2, MFLAGS, 77362306a36Sopenharmony_ci RK3588_CLKGATE_CON(1), 1, GFLAGS), 77462306a36Sopenharmony_ci COMPOSITE(ACLK_LOW_TOP_ROOT, "aclk_low_top_root", gpll_cpll_p, CLK_IS_CRITICAL, 77562306a36Sopenharmony_ci RK3588_CLKSEL_CON(8), 14, 1, MFLAGS, 9, 5, DFLAGS, 77662306a36Sopenharmony_ci RK3588_CLKGATE_CON(1), 2, GFLAGS), 77762306a36Sopenharmony_ci COMPOSITE(CLK_MIPI_CAMARAOUT_M0, "clk_mipi_camaraout_m0", mux_24m_spll_gpll_cpll_p, 0, 77862306a36Sopenharmony_ci RK3588_CLKSEL_CON(18), 8, 2, MFLAGS, 0, 8, DFLAGS, 77962306a36Sopenharmony_ci RK3588_CLKGATE_CON(5), 9, GFLAGS), 78062306a36Sopenharmony_ci COMPOSITE(CLK_MIPI_CAMARAOUT_M1, "clk_mipi_camaraout_m1", mux_24m_spll_gpll_cpll_p, 0, 78162306a36Sopenharmony_ci RK3588_CLKSEL_CON(19), 8, 2, MFLAGS, 0, 8, DFLAGS, 78262306a36Sopenharmony_ci RK3588_CLKGATE_CON(5), 10, GFLAGS), 78362306a36Sopenharmony_ci COMPOSITE(CLK_MIPI_CAMARAOUT_M2, "clk_mipi_camaraout_m2", mux_24m_spll_gpll_cpll_p, 0, 78462306a36Sopenharmony_ci RK3588_CLKSEL_CON(20), 8, 2, MFLAGS, 0, 8, DFLAGS, 78562306a36Sopenharmony_ci RK3588_CLKGATE_CON(5), 11, GFLAGS), 78662306a36Sopenharmony_ci COMPOSITE(CLK_MIPI_CAMARAOUT_M3, "clk_mipi_camaraout_m3", mux_24m_spll_gpll_cpll_p, 0, 78762306a36Sopenharmony_ci RK3588_CLKSEL_CON(21), 8, 2, MFLAGS, 0, 8, DFLAGS, 78862306a36Sopenharmony_ci RK3588_CLKGATE_CON(5), 12, GFLAGS), 78962306a36Sopenharmony_ci COMPOSITE(CLK_MIPI_CAMARAOUT_M4, "clk_mipi_camaraout_m4", mux_24m_spll_gpll_cpll_p, 0, 79062306a36Sopenharmony_ci RK3588_CLKSEL_CON(22), 8, 2, MFLAGS, 0, 8, DFLAGS, 79162306a36Sopenharmony_ci RK3588_CLKGATE_CON(5), 13, GFLAGS), 79262306a36Sopenharmony_ci COMPOSITE(MCLK_GMAC0_OUT, "mclk_gmac0_out", gpll_cpll_p, 0, 79362306a36Sopenharmony_ci RK3588_CLKSEL_CON(15), 7, 1, MFLAGS, 0, 7, DFLAGS, 79462306a36Sopenharmony_ci RK3588_CLKGATE_CON(5), 3, GFLAGS), 79562306a36Sopenharmony_ci COMPOSITE(REFCLKO25M_ETH0_OUT, "refclko25m_eth0_out", gpll_cpll_p, 0, 79662306a36Sopenharmony_ci RK3588_CLKSEL_CON(15), 15, 1, MFLAGS, 8, 7, DFLAGS, 79762306a36Sopenharmony_ci RK3588_CLKGATE_CON(5), 4, GFLAGS), 79862306a36Sopenharmony_ci COMPOSITE(REFCLKO25M_ETH1_OUT, "refclko25m_eth1_out", gpll_cpll_p, 0, 79962306a36Sopenharmony_ci RK3588_CLKSEL_CON(16), 7, 1, MFLAGS, 0, 7, DFLAGS, 80062306a36Sopenharmony_ci RK3588_CLKGATE_CON(5), 5, GFLAGS), 80162306a36Sopenharmony_ci COMPOSITE(CLK_CIFOUT_OUT, "clk_cifout_out", gpll_cpll_24m_spll_p, 0, 80262306a36Sopenharmony_ci RK3588_CLKSEL_CON(17), 8, 2, MFLAGS, 0, 8, DFLAGS, 80362306a36Sopenharmony_ci RK3588_CLKGATE_CON(5), 6, GFLAGS), 80462306a36Sopenharmony_ci GATE(PCLK_MIPI_DCPHY0, "pclk_mipi_dcphy0", "pclk_top_root", 0, 80562306a36Sopenharmony_ci RK3588_CLKGATE_CON(3), 14, GFLAGS), 80662306a36Sopenharmony_ci GATE(PCLK_MIPI_DCPHY1, "pclk_mipi_dcphy1", "pclk_top_root", 0, 80762306a36Sopenharmony_ci RK3588_CLKGATE_CON(4), 3, GFLAGS), 80862306a36Sopenharmony_ci GATE(PCLK_CSIPHY0, "pclk_csiphy0", "pclk_top_root", 0, 80962306a36Sopenharmony_ci RK3588_CLKGATE_CON(1), 6, GFLAGS), 81062306a36Sopenharmony_ci GATE(PCLK_CSIPHY1, "pclk_csiphy1", "pclk_top_root", 0, 81162306a36Sopenharmony_ci RK3588_CLKGATE_CON(1), 8, GFLAGS), 81262306a36Sopenharmony_ci GATE(PCLK_CRU, "pclk_cru", "pclk_top_root", CLK_IS_CRITICAL, 81362306a36Sopenharmony_ci RK3588_CLKGATE_CON(5), 0, GFLAGS), 81462306a36Sopenharmony_ci 81562306a36Sopenharmony_ci /* bigcore0 */ 81662306a36Sopenharmony_ci COMPOSITE_NODIV(PCLK_BIGCORE0_ROOT, "pclk_bigcore0_root", mux_100m_50m_24m_p, 81762306a36Sopenharmony_ci CLK_IS_CRITICAL, 81862306a36Sopenharmony_ci RK3588_BIGCORE0_CLKSEL_CON(2), 0, 2, MFLAGS, 81962306a36Sopenharmony_ci RK3588_BIGCORE0_CLKGATE_CON(0), 14, GFLAGS), 82062306a36Sopenharmony_ci GATE(PCLK_BIGCORE0_PVTM, "pclk_bigcore0_pvtm", "pclk_bigcore0_root", 0, 82162306a36Sopenharmony_ci RK3588_BIGCORE0_CLKGATE_CON(1), 0, GFLAGS), 82262306a36Sopenharmony_ci GATE(CLK_BIGCORE0_PVTM, "clk_bigcore0_pvtm", "xin24m", 0, 82362306a36Sopenharmony_ci RK3588_BIGCORE0_CLKGATE_CON(0), 12, GFLAGS), 82462306a36Sopenharmony_ci GATE(CLK_CORE_BIGCORE0_PVTM, "clk_core_bigcore0_pvtm", "armclk_b01", 0, 82562306a36Sopenharmony_ci RK3588_BIGCORE0_CLKGATE_CON(0), 13, GFLAGS), 82662306a36Sopenharmony_ci 82762306a36Sopenharmony_ci /* bigcore1 */ 82862306a36Sopenharmony_ci COMPOSITE_NODIV(PCLK_BIGCORE1_ROOT, "pclk_bigcore1_root", mux_100m_50m_24m_p, 82962306a36Sopenharmony_ci CLK_IS_CRITICAL, 83062306a36Sopenharmony_ci RK3588_BIGCORE1_CLKSEL_CON(2), 0, 2, MFLAGS, 83162306a36Sopenharmony_ci RK3588_BIGCORE1_CLKGATE_CON(0), 14, GFLAGS), 83262306a36Sopenharmony_ci GATE(PCLK_BIGCORE1_PVTM, "pclk_bigcore1_pvtm", "pclk_bigcore1_root", 0, 83362306a36Sopenharmony_ci RK3588_BIGCORE1_CLKGATE_CON(1), 0, GFLAGS), 83462306a36Sopenharmony_ci GATE(CLK_BIGCORE1_PVTM, "clk_bigcore1_pvtm", "xin24m", 0, 83562306a36Sopenharmony_ci RK3588_BIGCORE1_CLKGATE_CON(0), 12, GFLAGS), 83662306a36Sopenharmony_ci GATE(CLK_CORE_BIGCORE1_PVTM, "clk_core_bigcore1_pvtm", "armclk_b23", 0, 83762306a36Sopenharmony_ci RK3588_BIGCORE1_CLKGATE_CON(0), 13, GFLAGS), 83862306a36Sopenharmony_ci 83962306a36Sopenharmony_ci /* dsu */ 84062306a36Sopenharmony_ci COMPOSITE(0, "sclk_dsu", b0pll_b1pll_lpll_gpll_p, CLK_IS_CRITICAL, 84162306a36Sopenharmony_ci RK3588_DSU_CLKSEL_CON(0), 12, 2, MFLAGS, 0, 5, DFLAGS, 84262306a36Sopenharmony_ci RK3588_DSU_CLKGATE_CON(0), 4, GFLAGS), 84362306a36Sopenharmony_ci COMPOSITE_NOMUX(0, "atclk_dsu", "sclk_dsu", CLK_IS_CRITICAL, 84462306a36Sopenharmony_ci RK3588_DSU_CLKSEL_CON(3), 0, 5, DFLAGS | CLK_DIVIDER_READ_ONLY, 84562306a36Sopenharmony_ci RK3588_DSU_CLKGATE_CON(1), 0, GFLAGS), 84662306a36Sopenharmony_ci COMPOSITE_NOMUX(0, "gicclk_dsu", "sclk_dsu", CLK_IS_CRITICAL, 84762306a36Sopenharmony_ci RK3588_DSU_CLKSEL_CON(3), 5, 5, DFLAGS | CLK_DIVIDER_READ_ONLY, 84862306a36Sopenharmony_ci RK3588_DSU_CLKGATE_CON(1), 1, GFLAGS), 84962306a36Sopenharmony_ci COMPOSITE_NOMUX(0, "aclkmp_dsu", "sclk_dsu", CLK_IS_CRITICAL, 85062306a36Sopenharmony_ci RK3588_DSU_CLKSEL_CON(1), 11, 5, DFLAGS | CLK_DIVIDER_READ_ONLY, 85162306a36Sopenharmony_ci RK3588_DSU_CLKGATE_CON(0), 12, GFLAGS), 85262306a36Sopenharmony_ci COMPOSITE_NOMUX(0, "aclkm_dsu", "sclk_dsu", CLK_IS_CRITICAL, 85362306a36Sopenharmony_ci RK3588_DSU_CLKSEL_CON(1), 1, 5, DFLAGS | CLK_DIVIDER_READ_ONLY, 85462306a36Sopenharmony_ci RK3588_DSU_CLKGATE_CON(0), 8, GFLAGS), 85562306a36Sopenharmony_ci COMPOSITE_NOMUX(0, "aclks_dsu", "sclk_dsu", CLK_IS_CRITICAL, 85662306a36Sopenharmony_ci RK3588_DSU_CLKSEL_CON(1), 6, 5, DFLAGS | CLK_DIVIDER_READ_ONLY, 85762306a36Sopenharmony_ci RK3588_DSU_CLKGATE_CON(0), 9, GFLAGS), 85862306a36Sopenharmony_ci COMPOSITE_NOMUX(0, "periph_dsu", "sclk_dsu", CLK_IS_CRITICAL, 85962306a36Sopenharmony_ci RK3588_DSU_CLKSEL_CON(2), 0, 5, DFLAGS | CLK_DIVIDER_READ_ONLY, 86062306a36Sopenharmony_ci RK3588_DSU_CLKGATE_CON(0), 13, GFLAGS), 86162306a36Sopenharmony_ci COMPOSITE_NOMUX(0, "cntclk_dsu", "periph_dsu", CLK_IS_CRITICAL, 86262306a36Sopenharmony_ci RK3588_DSU_CLKSEL_CON(2), 5, 5, DFLAGS | CLK_DIVIDER_READ_ONLY, 86362306a36Sopenharmony_ci RK3588_DSU_CLKGATE_CON(0), 14, GFLAGS), 86462306a36Sopenharmony_ci COMPOSITE_NOMUX(0, "tsclk_dsu", "periph_dsu", CLK_IS_CRITICAL, 86562306a36Sopenharmony_ci RK3588_DSU_CLKSEL_CON(2), 10, 5, DFLAGS | CLK_DIVIDER_READ_ONLY, 86662306a36Sopenharmony_ci RK3588_DSU_CLKGATE_CON(0), 15, GFLAGS), 86762306a36Sopenharmony_ci COMPOSITE_NODIV(PCLK_DSU_S_ROOT, "pclk_dsu_s_root", mux_100m_50m_24m_p, CLK_IS_CRITICAL, 86862306a36Sopenharmony_ci RK3588_DSU_CLKSEL_CON(4), 11, 2, MFLAGS, 86962306a36Sopenharmony_ci RK3588_DSU_CLKGATE_CON(2), 2, GFLAGS), 87062306a36Sopenharmony_ci COMPOSITE(PCLK_DSU_ROOT, "pclk_dsu_root", b0pll_b1pll_lpll_gpll_p, CLK_IS_CRITICAL, 87162306a36Sopenharmony_ci RK3588_DSU_CLKSEL_CON(4), 5, 2, MFLAGS, 0, 5, DFLAGS, 87262306a36Sopenharmony_ci RK3588_DSU_CLKGATE_CON(1), 3, GFLAGS), 87362306a36Sopenharmony_ci COMPOSITE_NODIV(PCLK_DSU_NS_ROOT, "pclk_dsu_ns_root", mux_100m_50m_24m_p, CLK_IS_CRITICAL, 87462306a36Sopenharmony_ci RK3588_DSU_CLKSEL_CON(4), 7, 2, MFLAGS, 87562306a36Sopenharmony_ci RK3588_DSU_CLKGATE_CON(1), 4, GFLAGS), 87662306a36Sopenharmony_ci GATE(PCLK_LITCORE_PVTM, "pclk_litcore_pvtm", "pclk_dsu_ns_root", 0, 87762306a36Sopenharmony_ci RK3588_DSU_CLKGATE_CON(2), 6, GFLAGS), 87862306a36Sopenharmony_ci GATE(PCLK_DBG, "pclk_dbg", "pclk_dsu_root", CLK_IS_CRITICAL, 87962306a36Sopenharmony_ci RK3588_DSU_CLKGATE_CON(1), 7, GFLAGS), 88062306a36Sopenharmony_ci GATE(PCLK_DSU, "pclk_dsu", "pclk_dsu_root", CLK_IS_CRITICAL, 88162306a36Sopenharmony_ci RK3588_DSU_CLKGATE_CON(1), 6, GFLAGS), 88262306a36Sopenharmony_ci GATE(PCLK_S_DAPLITE, "pclk_s_daplite", "pclk_dsu_ns_root", CLK_IGNORE_UNUSED, 88362306a36Sopenharmony_ci RK3588_DSU_CLKGATE_CON(1), 8, GFLAGS), 88462306a36Sopenharmony_ci GATE(PCLK_M_DAPLITE, "pclk_m_daplite", "pclk_dsu_root", CLK_IGNORE_UNUSED, 88562306a36Sopenharmony_ci RK3588_DSU_CLKGATE_CON(1), 9, GFLAGS), 88662306a36Sopenharmony_ci GATE(CLK_LITCORE_PVTM, "clk_litcore_pvtm", "xin24m", 0, 88762306a36Sopenharmony_ci RK3588_DSU_CLKGATE_CON(2), 0, GFLAGS), 88862306a36Sopenharmony_ci GATE(CLK_CORE_LITCORE_PVTM, "clk_core_litcore_pvtm", "armclk_l", 0, 88962306a36Sopenharmony_ci RK3588_DSU_CLKGATE_CON(2), 1, GFLAGS), 89062306a36Sopenharmony_ci 89162306a36Sopenharmony_ci /* audio */ 89262306a36Sopenharmony_ci COMPOSITE_NODIV(HCLK_AUDIO_ROOT, "hclk_audio_root", mux_200m_100m_50m_24m_p, 0, 89362306a36Sopenharmony_ci RK3588_CLKSEL_CON(24), 0, 2, MFLAGS, 89462306a36Sopenharmony_ci RK3588_CLKGATE_CON(7), 0, GFLAGS), 89562306a36Sopenharmony_ci COMPOSITE_NODIV(PCLK_AUDIO_ROOT, "pclk_audio_root", mux_100m_50m_24m_p, 0, 89662306a36Sopenharmony_ci RK3588_CLKSEL_CON(24), 2, 2, MFLAGS, 89762306a36Sopenharmony_ci RK3588_CLKGATE_CON(7), 1, GFLAGS), 89862306a36Sopenharmony_ci GATE(HCLK_I2S2_2CH, "hclk_i2s2_2ch", "hclk_audio_root", 0, 89962306a36Sopenharmony_ci RK3588_CLKGATE_CON(7), 12, GFLAGS), 90062306a36Sopenharmony_ci GATE(HCLK_I2S3_2CH, "hclk_i2s3_2ch", "hclk_audio_root", 0, 90162306a36Sopenharmony_ci RK3588_CLKGATE_CON(7), 13, GFLAGS), 90262306a36Sopenharmony_ci COMPOSITE(CLK_I2S2_2CH_SRC, "clk_i2s2_2ch_src", gpll_aupll_p, 0, 90362306a36Sopenharmony_ci RK3588_CLKSEL_CON(28), 9, 1, MFLAGS, 4, 5, DFLAGS, 90462306a36Sopenharmony_ci RK3588_CLKGATE_CON(7), 14, GFLAGS), 90562306a36Sopenharmony_ci COMPOSITE_FRACMUX(CLK_I2S2_2CH_FRAC, "clk_i2s2_2ch_frac", "clk_i2s2_2ch_src", 90662306a36Sopenharmony_ci CLK_SET_RATE_PARENT, 90762306a36Sopenharmony_ci RK3588_CLKSEL_CON(29), 0, 90862306a36Sopenharmony_ci RK3588_CLKGATE_CON(7), 15, GFLAGS, 90962306a36Sopenharmony_ci &rk3588_i2s2_2ch_fracmux), 91062306a36Sopenharmony_ci GATE(MCLK_I2S2_2CH, "mclk_i2s2_2ch", "clk_i2s2_2ch", 0, 91162306a36Sopenharmony_ci RK3588_CLKGATE_CON(8), 0, GFLAGS), 91262306a36Sopenharmony_ci MUX(I2S2_2CH_MCLKOUT, "i2s2_2ch_mclkout", i2s2_2ch_mclkout_p, CLK_SET_RATE_PARENT, 91362306a36Sopenharmony_ci RK3588_CLKSEL_CON(30), 2, 1, MFLAGS), 91462306a36Sopenharmony_ci 91562306a36Sopenharmony_ci COMPOSITE(CLK_I2S3_2CH_SRC, "clk_i2s3_2ch_src", gpll_aupll_p, 0, 91662306a36Sopenharmony_ci RK3588_CLKSEL_CON(30), 8, 1, MFLAGS, 3, 5, DFLAGS, 91762306a36Sopenharmony_ci RK3588_CLKGATE_CON(8), 1, GFLAGS), 91862306a36Sopenharmony_ci COMPOSITE_FRACMUX(CLK_I2S3_2CH_FRAC, "clk_i2s3_2ch_frac", "clk_i2s3_2ch_src", 91962306a36Sopenharmony_ci CLK_SET_RATE_PARENT, 92062306a36Sopenharmony_ci RK3588_CLKSEL_CON(31), 0, 92162306a36Sopenharmony_ci RK3588_CLKGATE_CON(8), 2, GFLAGS, 92262306a36Sopenharmony_ci &rk3588_i2s3_2ch_fracmux), 92362306a36Sopenharmony_ci GATE(MCLK_I2S3_2CH, "mclk_i2s3_2ch", "clk_i2s3_2ch", 0, 92462306a36Sopenharmony_ci RK3588_CLKGATE_CON(8), 3, GFLAGS), 92562306a36Sopenharmony_ci GATE(CLK_DAC_ACDCDIG, "clk_dac_acdcdig", "mclk_i2s3_2ch", 0, 92662306a36Sopenharmony_ci RK3588_CLKGATE_CON(8), 4, GFLAGS), 92762306a36Sopenharmony_ci MUX(I2S3_2CH_MCLKOUT, "i2s3_2ch_mclkout", i2s3_2ch_mclkout_p, CLK_SET_RATE_PARENT, 92862306a36Sopenharmony_ci RK3588_CLKSEL_CON(32), 2, 1, MFLAGS), 92962306a36Sopenharmony_ci GATE(PCLK_ACDCDIG, "pclk_acdcdig", "pclk_audio_root", 0, 93062306a36Sopenharmony_ci RK3588_CLKGATE_CON(7), 11, GFLAGS), 93162306a36Sopenharmony_ci GATE(HCLK_I2S0_8CH, "hclk_i2s0_8ch", "hclk_audio_root", 0, 93262306a36Sopenharmony_ci RK3588_CLKGATE_CON(7), 4, GFLAGS), 93362306a36Sopenharmony_ci 93462306a36Sopenharmony_ci COMPOSITE(CLK_I2S0_8CH_TX_SRC, "clk_i2s0_8ch_tx_src", gpll_aupll_p, 0, 93562306a36Sopenharmony_ci RK3588_CLKSEL_CON(24), 9, 1, MFLAGS, 4, 5, DFLAGS, 93662306a36Sopenharmony_ci RK3588_CLKGATE_CON(7), 5, GFLAGS), 93762306a36Sopenharmony_ci COMPOSITE_FRACMUX(CLK_I2S0_8CH_TX_FRAC, "clk_i2s0_8ch_tx_frac", "clk_i2s0_8ch_tx_src", 93862306a36Sopenharmony_ci CLK_SET_RATE_PARENT, 93962306a36Sopenharmony_ci RK3588_CLKSEL_CON(25), 0, 94062306a36Sopenharmony_ci RK3588_CLKGATE_CON(7), 6, GFLAGS, 94162306a36Sopenharmony_ci &rk3588_i2s0_8ch_tx_fracmux), 94262306a36Sopenharmony_ci GATE(MCLK_I2S0_8CH_TX, "mclk_i2s0_8ch_tx", "clk_i2s0_8ch_tx", 0, 94362306a36Sopenharmony_ci RK3588_CLKGATE_CON(7), 7, GFLAGS), 94462306a36Sopenharmony_ci 94562306a36Sopenharmony_ci COMPOSITE(CLK_I2S0_8CH_RX_SRC, "clk_i2s0_8ch_rx_src", gpll_aupll_p, 0, 94662306a36Sopenharmony_ci RK3588_CLKSEL_CON(26), 7, 1, MFLAGS, 2, 5, DFLAGS, 94762306a36Sopenharmony_ci RK3588_CLKGATE_CON(7), 8, GFLAGS), 94862306a36Sopenharmony_ci COMPOSITE_FRACMUX(CLK_I2S0_8CH_RX_FRAC, "clk_i2s0_8ch_rx_frac", "clk_i2s0_8ch_rx_src", 94962306a36Sopenharmony_ci CLK_SET_RATE_PARENT, 95062306a36Sopenharmony_ci RK3588_CLKSEL_CON(27), 0, 95162306a36Sopenharmony_ci RK3588_CLKGATE_CON(7), 9, GFLAGS, 95262306a36Sopenharmony_ci &rk3588_i2s0_8ch_rx_fracmux), 95362306a36Sopenharmony_ci GATE(MCLK_I2S0_8CH_RX, "mclk_i2s0_8ch_rx", "clk_i2s0_8ch_rx", 0, 95462306a36Sopenharmony_ci RK3588_CLKGATE_CON(7), 10, GFLAGS), 95562306a36Sopenharmony_ci MUX(I2S0_8CH_MCLKOUT, "i2s0_8ch_mclkout", i2s0_8ch_mclkout_p, CLK_SET_RATE_PARENT, 95662306a36Sopenharmony_ci RK3588_CLKSEL_CON(28), 2, 2, MFLAGS), 95762306a36Sopenharmony_ci 95862306a36Sopenharmony_ci GATE(HCLK_PDM1, "hclk_pdm1", "hclk_audio_root", 0, 95962306a36Sopenharmony_ci RK3588_CLKGATE_CON(9), 6, GFLAGS), 96062306a36Sopenharmony_ci COMPOSITE(MCLK_PDM1, "mclk_pdm1", gpll_cpll_aupll_p, 0, 96162306a36Sopenharmony_ci RK3588_CLKSEL_CON(36), 7, 2, MFLAGS, 2, 5, DFLAGS, 96262306a36Sopenharmony_ci RK3588_CLKGATE_CON(9), 7, GFLAGS), 96362306a36Sopenharmony_ci 96462306a36Sopenharmony_ci GATE(HCLK_SPDIF0, "hclk_spdif0", "hclk_audio_root", 0, 96562306a36Sopenharmony_ci RK3588_CLKGATE_CON(8), 14, GFLAGS), 96662306a36Sopenharmony_ci COMPOSITE(CLK_SPDIF0_SRC, "clk_spdif0_src", gpll_aupll_p, 0, 96762306a36Sopenharmony_ci RK3588_CLKSEL_CON(32), 8, 1, MFLAGS, 3, 5, DFLAGS, 96862306a36Sopenharmony_ci RK3588_CLKGATE_CON(8), 15, GFLAGS), 96962306a36Sopenharmony_ci COMPOSITE_FRACMUX(CLK_SPDIF0_FRAC, "clk_spdif0_frac", "clk_spdif0_src", 97062306a36Sopenharmony_ci CLK_SET_RATE_PARENT, 97162306a36Sopenharmony_ci RK3588_CLKSEL_CON(33), 0, 97262306a36Sopenharmony_ci RK3588_CLKGATE_CON(9), 0, GFLAGS, 97362306a36Sopenharmony_ci &rk3588_spdif0_fracmux), 97462306a36Sopenharmony_ci GATE(MCLK_SPDIF0, "mclk_spdif0", "clk_spdif0", 0, 97562306a36Sopenharmony_ci RK3588_CLKGATE_CON(9), 1, GFLAGS), 97662306a36Sopenharmony_ci 97762306a36Sopenharmony_ci GATE(HCLK_SPDIF1, "hclk_spdif1", "hclk_audio_root", 0, 97862306a36Sopenharmony_ci RK3588_CLKGATE_CON(9), 2, GFLAGS), 97962306a36Sopenharmony_ci COMPOSITE(CLK_SPDIF1_SRC, "clk_spdif1_src", gpll_aupll_p, 0, 98062306a36Sopenharmony_ci RK3588_CLKSEL_CON(34), 7, 1, MFLAGS, 2, 5, DFLAGS, 98162306a36Sopenharmony_ci RK3588_CLKGATE_CON(9), 3, GFLAGS), 98262306a36Sopenharmony_ci COMPOSITE_FRACMUX(CLK_SPDIF1_FRAC, "clk_spdif1_frac", "clk_spdif1_src", 98362306a36Sopenharmony_ci CLK_SET_RATE_PARENT, 98462306a36Sopenharmony_ci RK3588_CLKSEL_CON(35), 0, 98562306a36Sopenharmony_ci RK3588_CLKGATE_CON(9), 4, GFLAGS, 98662306a36Sopenharmony_ci &rk3588_spdif1_fracmux), 98762306a36Sopenharmony_ci GATE(MCLK_SPDIF1, "mclk_spdif1", "clk_spdif1", 0, 98862306a36Sopenharmony_ci RK3588_CLKGATE_CON(9), 5, GFLAGS), 98962306a36Sopenharmony_ci 99062306a36Sopenharmony_ci COMPOSITE(ACLK_AV1_ROOT, "aclk_av1_root", gpll_cpll_aupll_p, 0, 99162306a36Sopenharmony_ci RK3588_CLKSEL_CON(163), 5, 2, MFLAGS, 0, 5, DFLAGS, 99262306a36Sopenharmony_ci RK3588_CLKGATE_CON(68), 0, GFLAGS), 99362306a36Sopenharmony_ci COMPOSITE_NODIV(PCLK_AV1_ROOT, "pclk_av1_root", mux_200m_100m_50m_24m_p, 0, 99462306a36Sopenharmony_ci RK3588_CLKSEL_CON(163), 7, 2, MFLAGS, 99562306a36Sopenharmony_ci RK3588_CLKGATE_CON(68), 3, GFLAGS), 99662306a36Sopenharmony_ci 99762306a36Sopenharmony_ci /* bus */ 99862306a36Sopenharmony_ci COMPOSITE(ACLK_BUS_ROOT, "aclk_bus_root", gpll_cpll_p, CLK_IS_CRITICAL, 99962306a36Sopenharmony_ci RK3588_CLKSEL_CON(38), 5, 1, MFLAGS, 0, 5, DFLAGS, 100062306a36Sopenharmony_ci RK3588_CLKGATE_CON(10), 0, GFLAGS), 100162306a36Sopenharmony_ci 100262306a36Sopenharmony_ci GATE(PCLK_MAILBOX0, "pclk_mailbox0", "pclk_top_root", 0, 100362306a36Sopenharmony_ci RK3588_CLKGATE_CON(16), 11, GFLAGS), 100462306a36Sopenharmony_ci GATE(PCLK_MAILBOX1, "pclk_mailbox1", "pclk_top_root", 0, 100562306a36Sopenharmony_ci RK3588_CLKGATE_CON(16), 12, GFLAGS), 100662306a36Sopenharmony_ci GATE(PCLK_MAILBOX2, "pclk_mailbox2", "pclk_top_root", 0, 100762306a36Sopenharmony_ci RK3588_CLKGATE_CON(16), 13, GFLAGS), 100862306a36Sopenharmony_ci GATE(PCLK_PMU2, "pclk_pmu2", "pclk_top_root", CLK_IS_CRITICAL, 100962306a36Sopenharmony_ci RK3588_CLKGATE_CON(19), 3, GFLAGS), 101062306a36Sopenharmony_ci GATE(PCLK_PMUCM0_INTMUX, "pclk_pmucm0_intmux", "pclk_top_root", CLK_IS_CRITICAL, 101162306a36Sopenharmony_ci RK3588_CLKGATE_CON(19), 4, GFLAGS), 101262306a36Sopenharmony_ci GATE(PCLK_DDRCM0_INTMUX, "pclk_ddrcm0_intmux", "pclk_top_root", CLK_IS_CRITICAL, 101362306a36Sopenharmony_ci RK3588_CLKGATE_CON(19), 5, GFLAGS), 101462306a36Sopenharmony_ci 101562306a36Sopenharmony_ci GATE(PCLK_PWM1, "pclk_pwm1", "pclk_top_root", 0, 101662306a36Sopenharmony_ci RK3588_CLKGATE_CON(15), 3, GFLAGS), 101762306a36Sopenharmony_ci COMPOSITE_NODIV(CLK_PWM1, "clk_pwm1", mux_100m_50m_24m_p, 0, 101862306a36Sopenharmony_ci RK3588_CLKSEL_CON(59), 12, 2, MFLAGS, 101962306a36Sopenharmony_ci RK3588_CLKGATE_CON(15), 4, GFLAGS), 102062306a36Sopenharmony_ci GATE(CLK_PWM1_CAPTURE, "clk_pwm1_capture", "xin24m", 0, 102162306a36Sopenharmony_ci RK3588_CLKGATE_CON(15), 5, GFLAGS), 102262306a36Sopenharmony_ci GATE(PCLK_PWM2, "pclk_pwm2", "pclk_top_root", 0, 102362306a36Sopenharmony_ci RK3588_CLKGATE_CON(15), 6, GFLAGS), 102462306a36Sopenharmony_ci COMPOSITE_NODIV(CLK_PWM2, "clk_pwm2", mux_100m_50m_24m_p, 0, 102562306a36Sopenharmony_ci RK3588_CLKSEL_CON(59), 14, 2, MFLAGS, 102662306a36Sopenharmony_ci RK3588_CLKGATE_CON(15), 7, GFLAGS), 102762306a36Sopenharmony_ci GATE(CLK_PWM2_CAPTURE, "clk_pwm2_capture", "xin24m", 0, 102862306a36Sopenharmony_ci RK3588_CLKGATE_CON(15), 8, GFLAGS), 102962306a36Sopenharmony_ci GATE(PCLK_PWM3, "pclk_pwm3", "pclk_top_root", 0, 103062306a36Sopenharmony_ci RK3588_CLKGATE_CON(15), 9, GFLAGS), 103162306a36Sopenharmony_ci COMPOSITE_NODIV(CLK_PWM3, "clk_pwm3", mux_100m_50m_24m_p, 0, 103262306a36Sopenharmony_ci RK3588_CLKSEL_CON(60), 0, 2, MFLAGS, 103362306a36Sopenharmony_ci RK3588_CLKGATE_CON(15), 10, GFLAGS), 103462306a36Sopenharmony_ci GATE(CLK_PWM3_CAPTURE, "clk_pwm3_capture", "xin24m", 0, 103562306a36Sopenharmony_ci RK3588_CLKGATE_CON(15), 11, GFLAGS), 103662306a36Sopenharmony_ci 103762306a36Sopenharmony_ci GATE(PCLK_BUSTIMER0, "pclk_bustimer0", "pclk_top_root", 0, 103862306a36Sopenharmony_ci RK3588_CLKGATE_CON(15), 12, GFLAGS), 103962306a36Sopenharmony_ci GATE(PCLK_BUSTIMER1, "pclk_bustimer1", "pclk_top_root", 0, 104062306a36Sopenharmony_ci RK3588_CLKGATE_CON(15), 13, GFLAGS), 104162306a36Sopenharmony_ci COMPOSITE_NODIV(CLK_BUS_TIMER_ROOT, "clk_bus_timer_root", mux_24m_100m_p, 0, 104262306a36Sopenharmony_ci RK3588_CLKSEL_CON(60), 2, 1, MFLAGS, 104362306a36Sopenharmony_ci RK3588_CLKGATE_CON(15), 14, GFLAGS), 104462306a36Sopenharmony_ci GATE(CLK_BUSTIMER0, "clk_bustimer0", "clk_bus_timer_root", 0, 104562306a36Sopenharmony_ci RK3588_CLKGATE_CON(15), 15, GFLAGS), 104662306a36Sopenharmony_ci GATE(CLK_BUSTIMER1, "clk_bustimer1", "clk_bus_timer_root", 0, 104762306a36Sopenharmony_ci RK3588_CLKGATE_CON(16), 0, GFLAGS), 104862306a36Sopenharmony_ci GATE(CLK_BUSTIMER2, "clk_bustimer2", "clk_bus_timer_root", 0, 104962306a36Sopenharmony_ci RK3588_CLKGATE_CON(16), 1, GFLAGS), 105062306a36Sopenharmony_ci GATE(CLK_BUSTIMER3, "clk_bustimer3", "clk_bus_timer_root", 0, 105162306a36Sopenharmony_ci RK3588_CLKGATE_CON(16), 2, GFLAGS), 105262306a36Sopenharmony_ci GATE(CLK_BUSTIMER4, "clk_bustimer4", "clk_bus_timer_root", 0, 105362306a36Sopenharmony_ci RK3588_CLKGATE_CON(16), 3, GFLAGS), 105462306a36Sopenharmony_ci GATE(CLK_BUSTIMER5, "clk_bustimer5", "clk_bus_timer_root", 0, 105562306a36Sopenharmony_ci RK3588_CLKGATE_CON(16), 4, GFLAGS), 105662306a36Sopenharmony_ci GATE(CLK_BUSTIMER6, "clk_bustimer6", "clk_bus_timer_root", 0, 105762306a36Sopenharmony_ci RK3588_CLKGATE_CON(16), 5, GFLAGS), 105862306a36Sopenharmony_ci GATE(CLK_BUSTIMER7, "clk_bustimer7", "clk_bus_timer_root", 0, 105962306a36Sopenharmony_ci RK3588_CLKGATE_CON(16), 6, GFLAGS), 106062306a36Sopenharmony_ci GATE(CLK_BUSTIMER8, "clk_bustimer8", "clk_bus_timer_root", 0, 106162306a36Sopenharmony_ci RK3588_CLKGATE_CON(16), 7, GFLAGS), 106262306a36Sopenharmony_ci GATE(CLK_BUSTIMER9, "clk_bustimer9", "clk_bus_timer_root", 0, 106362306a36Sopenharmony_ci RK3588_CLKGATE_CON(16), 8, GFLAGS), 106462306a36Sopenharmony_ci GATE(CLK_BUSTIMER10, "clk_bustimer10", "clk_bus_timer_root", 0, 106562306a36Sopenharmony_ci RK3588_CLKGATE_CON(16), 9, GFLAGS), 106662306a36Sopenharmony_ci GATE(CLK_BUSTIMER11, "clk_bustimer11", "clk_bus_timer_root", 0, 106762306a36Sopenharmony_ci RK3588_CLKGATE_CON(16), 10, GFLAGS), 106862306a36Sopenharmony_ci 106962306a36Sopenharmony_ci GATE(PCLK_WDT0, "pclk_wdt0", "pclk_top_root", 0, 107062306a36Sopenharmony_ci RK3588_CLKGATE_CON(15), 0, GFLAGS), 107162306a36Sopenharmony_ci GATE(TCLK_WDT0, "tclk_wdt0", "xin24m", 0, 107262306a36Sopenharmony_ci RK3588_CLKGATE_CON(15), 1, GFLAGS), 107362306a36Sopenharmony_ci 107462306a36Sopenharmony_ci GATE(PCLK_CAN0, "pclk_can0", "pclk_top_root", 0, 107562306a36Sopenharmony_ci RK3588_CLKGATE_CON(11), 8, GFLAGS), 107662306a36Sopenharmony_ci COMPOSITE(CLK_CAN0, "clk_can0", gpll_cpll_p, 0, 107762306a36Sopenharmony_ci RK3588_CLKSEL_CON(39), 5, 1, MFLAGS, 0, 5, DFLAGS, 107862306a36Sopenharmony_ci RK3588_CLKGATE_CON(11), 9, GFLAGS), 107962306a36Sopenharmony_ci GATE(PCLK_CAN1, "pclk_can1", "pclk_top_root", 0, 108062306a36Sopenharmony_ci RK3588_CLKGATE_CON(11), 10, GFLAGS), 108162306a36Sopenharmony_ci COMPOSITE(CLK_CAN1, "clk_can1", gpll_cpll_p, 0, 108262306a36Sopenharmony_ci RK3588_CLKSEL_CON(39), 11, 1, MFLAGS, 6, 5, DFLAGS, 108362306a36Sopenharmony_ci RK3588_CLKGATE_CON(11), 11, GFLAGS), 108462306a36Sopenharmony_ci GATE(PCLK_CAN2, "pclk_can2", "pclk_top_root", 0, 108562306a36Sopenharmony_ci RK3588_CLKGATE_CON(11), 12, GFLAGS), 108662306a36Sopenharmony_ci COMPOSITE(CLK_CAN2, "clk_can2", gpll_cpll_p, 0, 108762306a36Sopenharmony_ci RK3588_CLKSEL_CON(40), 5, 1, MFLAGS, 0, 5, DFLAGS, 108862306a36Sopenharmony_ci RK3588_CLKGATE_CON(11), 13, GFLAGS), 108962306a36Sopenharmony_ci 109062306a36Sopenharmony_ci GATE(ACLK_DECOM, "aclk_decom", "aclk_bus_root", 0, 109162306a36Sopenharmony_ci RK3588_CLKGATE_CON(17), 6, GFLAGS), 109262306a36Sopenharmony_ci GATE(PCLK_DECOM, "pclk_decom", "pclk_top_root", 0, 109362306a36Sopenharmony_ci RK3588_CLKGATE_CON(17), 7, GFLAGS), 109462306a36Sopenharmony_ci COMPOSITE(DCLK_DECOM, "dclk_decom", gpll_spll_p, 0, 109562306a36Sopenharmony_ci RK3588_CLKSEL_CON(62), 5, 1, MFLAGS, 0, 5, DFLAGS, 109662306a36Sopenharmony_ci RK3588_CLKGATE_CON(17), 8, GFLAGS), 109762306a36Sopenharmony_ci GATE(ACLK_DMAC0, "aclk_dmac0", "aclk_bus_root", 0, 109862306a36Sopenharmony_ci RK3588_CLKGATE_CON(10), 5, GFLAGS), 109962306a36Sopenharmony_ci GATE(ACLK_DMAC1, "aclk_dmac1", "aclk_bus_root", 0, 110062306a36Sopenharmony_ci RK3588_CLKGATE_CON(10), 6, GFLAGS), 110162306a36Sopenharmony_ci GATE(ACLK_DMAC2, "aclk_dmac2", "aclk_bus_root", 0, 110262306a36Sopenharmony_ci RK3588_CLKGATE_CON(10), 7, GFLAGS), 110362306a36Sopenharmony_ci GATE(ACLK_GIC, "aclk_gic", "aclk_bus_root", CLK_IS_CRITICAL, 110462306a36Sopenharmony_ci RK3588_CLKGATE_CON(10), 3, GFLAGS), 110562306a36Sopenharmony_ci 110662306a36Sopenharmony_ci GATE(PCLK_GPIO1, "pclk_gpio1", "pclk_top_root", 0, 110762306a36Sopenharmony_ci RK3588_CLKGATE_CON(16), 14, GFLAGS), 110862306a36Sopenharmony_ci COMPOSITE(DBCLK_GPIO1, "dbclk_gpio1", mux_24m_32k_p, 0, 110962306a36Sopenharmony_ci RK3588_CLKSEL_CON(60), 8, 1, MFLAGS, 3, 5, DFLAGS, 111062306a36Sopenharmony_ci RK3588_CLKGATE_CON(16), 15, GFLAGS), 111162306a36Sopenharmony_ci GATE(PCLK_GPIO2, "pclk_gpio2", "pclk_top_root", 0, 111262306a36Sopenharmony_ci RK3588_CLKGATE_CON(17), 0, GFLAGS), 111362306a36Sopenharmony_ci COMPOSITE(DBCLK_GPIO2, "dbclk_gpio2", mux_24m_32k_p, 0, 111462306a36Sopenharmony_ci RK3588_CLKSEL_CON(60), 14, 1, MFLAGS, 9, 5, DFLAGS, 111562306a36Sopenharmony_ci RK3588_CLKGATE_CON(17), 1, GFLAGS), 111662306a36Sopenharmony_ci GATE(PCLK_GPIO3, "pclk_gpio3", "pclk_top_root", 0, 111762306a36Sopenharmony_ci RK3588_CLKGATE_CON(17), 2, GFLAGS), 111862306a36Sopenharmony_ci COMPOSITE(DBCLK_GPIO3, "dbclk_gpio3", mux_24m_32k_p, 0, 111962306a36Sopenharmony_ci RK3588_CLKSEL_CON(61), 5, 1, MFLAGS, 0, 5, DFLAGS, 112062306a36Sopenharmony_ci RK3588_CLKGATE_CON(17), 3, GFLAGS), 112162306a36Sopenharmony_ci GATE(PCLK_GPIO4, "pclk_gpio4", "pclk_top_root", 0, 112262306a36Sopenharmony_ci RK3588_CLKGATE_CON(17), 4, GFLAGS), 112362306a36Sopenharmony_ci COMPOSITE(DBCLK_GPIO4, "dbclk_gpio4", mux_24m_32k_p, 0, 112462306a36Sopenharmony_ci RK3588_CLKSEL_CON(61), 11, 1, MFLAGS, 6, 5, DFLAGS, 112562306a36Sopenharmony_ci RK3588_CLKGATE_CON(17), 5, GFLAGS), 112662306a36Sopenharmony_ci 112762306a36Sopenharmony_ci GATE(PCLK_I2C1, "pclk_i2c1", "pclk_top_root", 0, 112862306a36Sopenharmony_ci RK3588_CLKGATE_CON(10), 8, GFLAGS), 112962306a36Sopenharmony_ci GATE(PCLK_I2C2, "pclk_i2c2", "pclk_top_root", 0, 113062306a36Sopenharmony_ci RK3588_CLKGATE_CON(10), 9, GFLAGS), 113162306a36Sopenharmony_ci GATE(PCLK_I2C3, "pclk_i2c3", "pclk_top_root", 0, 113262306a36Sopenharmony_ci RK3588_CLKGATE_CON(10), 10, GFLAGS), 113362306a36Sopenharmony_ci GATE(PCLK_I2C4, "pclk_i2c4", "pclk_top_root", 0, 113462306a36Sopenharmony_ci RK3588_CLKGATE_CON(10), 11, GFLAGS), 113562306a36Sopenharmony_ci GATE(PCLK_I2C5, "pclk_i2c5", "pclk_top_root", 0, 113662306a36Sopenharmony_ci RK3588_CLKGATE_CON(10), 12, GFLAGS), 113762306a36Sopenharmony_ci GATE(PCLK_I2C6, "pclk_i2c6", "pclk_top_root", 0, 113862306a36Sopenharmony_ci RK3588_CLKGATE_CON(10), 13, GFLAGS), 113962306a36Sopenharmony_ci GATE(PCLK_I2C7, "pclk_i2c7", "pclk_top_root", 0, 114062306a36Sopenharmony_ci RK3588_CLKGATE_CON(10), 14, GFLAGS), 114162306a36Sopenharmony_ci GATE(PCLK_I2C8, "pclk_i2c8", "pclk_top_root", 0, 114262306a36Sopenharmony_ci RK3588_CLKGATE_CON(10), 15, GFLAGS), 114362306a36Sopenharmony_ci COMPOSITE_NODIV(CLK_I2C1, "clk_i2c1", mux_200m_100m_p, 0, 114462306a36Sopenharmony_ci RK3588_CLKSEL_CON(38), 6, 1, MFLAGS, 114562306a36Sopenharmony_ci RK3588_CLKGATE_CON(11), 0, GFLAGS), 114662306a36Sopenharmony_ci COMPOSITE_NODIV(CLK_I2C2, "clk_i2c2", mux_200m_100m_p, 0, 114762306a36Sopenharmony_ci RK3588_CLKSEL_CON(38), 7, 1, MFLAGS, 114862306a36Sopenharmony_ci RK3588_CLKGATE_CON(11), 1, GFLAGS), 114962306a36Sopenharmony_ci COMPOSITE_NODIV(CLK_I2C3, "clk_i2c3", mux_200m_100m_p, 0, 115062306a36Sopenharmony_ci RK3588_CLKSEL_CON(38), 8, 1, MFLAGS, 115162306a36Sopenharmony_ci RK3588_CLKGATE_CON(11), 2, GFLAGS), 115262306a36Sopenharmony_ci COMPOSITE_NODIV(CLK_I2C4, "clk_i2c4", mux_200m_100m_p, 0, 115362306a36Sopenharmony_ci RK3588_CLKSEL_CON(38), 9, 1, MFLAGS, 115462306a36Sopenharmony_ci RK3588_CLKGATE_CON(11), 3, GFLAGS), 115562306a36Sopenharmony_ci COMPOSITE_NODIV(CLK_I2C5, "clk_i2c5", mux_200m_100m_p, 0, 115662306a36Sopenharmony_ci RK3588_CLKSEL_CON(38), 10, 1, MFLAGS, 115762306a36Sopenharmony_ci RK3588_CLKGATE_CON(11), 4, GFLAGS), 115862306a36Sopenharmony_ci COMPOSITE_NODIV(CLK_I2C6, "clk_i2c6", mux_200m_100m_p, 0, 115962306a36Sopenharmony_ci RK3588_CLKSEL_CON(38), 11, 1, MFLAGS, 116062306a36Sopenharmony_ci RK3588_CLKGATE_CON(11), 5, GFLAGS), 116162306a36Sopenharmony_ci COMPOSITE_NODIV(CLK_I2C7, "clk_i2c7", mux_200m_100m_p, 0, 116262306a36Sopenharmony_ci RK3588_CLKSEL_CON(38), 12, 1, MFLAGS, 116362306a36Sopenharmony_ci RK3588_CLKGATE_CON(11), 6, GFLAGS), 116462306a36Sopenharmony_ci COMPOSITE_NODIV(CLK_I2C8, "clk_i2c8", mux_200m_100m_p, 0, 116562306a36Sopenharmony_ci RK3588_CLKSEL_CON(38), 13, 1, MFLAGS, 116662306a36Sopenharmony_ci RK3588_CLKGATE_CON(11), 7, GFLAGS), 116762306a36Sopenharmony_ci 116862306a36Sopenharmony_ci GATE(PCLK_OTPC_NS, "pclk_otpc_ns", "pclk_top_root", 0, 116962306a36Sopenharmony_ci RK3588_CLKGATE_CON(18), 9, GFLAGS), 117062306a36Sopenharmony_ci GATE(CLK_OTPC_NS, "clk_otpc_ns", "xin24m", 0, 117162306a36Sopenharmony_ci RK3588_CLKGATE_CON(18), 10, GFLAGS), 117262306a36Sopenharmony_ci GATE(CLK_OTPC_ARB, "clk_otpc_arb", "xin24m", 0, 117362306a36Sopenharmony_ci RK3588_CLKGATE_CON(18), 11, GFLAGS), 117462306a36Sopenharmony_ci GATE(CLK_OTP_PHY_G, "clk_otp_phy_g", "xin24m", 0, 117562306a36Sopenharmony_ci RK3588_CLKGATE_CON(18), 13, GFLAGS), 117662306a36Sopenharmony_ci GATE(CLK_OTPC_AUTO_RD_G, "clk_otpc_auto_rd_g", "xin24m", 0, 117762306a36Sopenharmony_ci RK3588_CLKGATE_CON(18), 12, GFLAGS), 117862306a36Sopenharmony_ci 117962306a36Sopenharmony_ci GATE(PCLK_SARADC, "pclk_saradc", "pclk_top_root", 0, 118062306a36Sopenharmony_ci RK3588_CLKGATE_CON(11), 14, GFLAGS), 118162306a36Sopenharmony_ci COMPOSITE(CLK_SARADC, "clk_saradc", gpll_24m_p, 0, 118262306a36Sopenharmony_ci RK3588_CLKSEL_CON(40), 14, 1, MFLAGS, 6, 8, DFLAGS, 118362306a36Sopenharmony_ci RK3588_CLKGATE_CON(11), 15, GFLAGS), 118462306a36Sopenharmony_ci 118562306a36Sopenharmony_ci GATE(PCLK_SPI0, "pclk_spi0", "pclk_top_root", 0, 118662306a36Sopenharmony_ci RK3588_CLKGATE_CON(14), 6, GFLAGS), 118762306a36Sopenharmony_ci GATE(PCLK_SPI1, "pclk_spi1", "pclk_top_root", 0, 118862306a36Sopenharmony_ci RK3588_CLKGATE_CON(14), 7, GFLAGS), 118962306a36Sopenharmony_ci GATE(PCLK_SPI2, "pclk_spi2", "pclk_top_root", 0, 119062306a36Sopenharmony_ci RK3588_CLKGATE_CON(14), 8, GFLAGS), 119162306a36Sopenharmony_ci GATE(PCLK_SPI3, "pclk_spi3", "pclk_top_root", 0, 119262306a36Sopenharmony_ci RK3588_CLKGATE_CON(14), 9, GFLAGS), 119362306a36Sopenharmony_ci GATE(PCLK_SPI4, "pclk_spi4", "pclk_top_root", 0, 119462306a36Sopenharmony_ci RK3588_CLKGATE_CON(14), 10, GFLAGS), 119562306a36Sopenharmony_ci COMPOSITE_NODIV(CLK_SPI0, "clk_spi0", mux_200m_150m_24m_p, 0, 119662306a36Sopenharmony_ci RK3588_CLKSEL_CON(59), 2, 2, MFLAGS, 119762306a36Sopenharmony_ci RK3588_CLKGATE_CON(14), 11, GFLAGS), 119862306a36Sopenharmony_ci COMPOSITE_NODIV(CLK_SPI1, "clk_spi1", mux_200m_150m_24m_p, 0, 119962306a36Sopenharmony_ci RK3588_CLKSEL_CON(59), 4, 2, MFLAGS, 120062306a36Sopenharmony_ci RK3588_CLKGATE_CON(14), 12, GFLAGS), 120162306a36Sopenharmony_ci COMPOSITE_NODIV(CLK_SPI2, "clk_spi2", mux_200m_150m_24m_p, 0, 120262306a36Sopenharmony_ci RK3588_CLKSEL_CON(59), 6, 2, MFLAGS, 120362306a36Sopenharmony_ci RK3588_CLKGATE_CON(14), 13, GFLAGS), 120462306a36Sopenharmony_ci COMPOSITE_NODIV(CLK_SPI3, "clk_spi3", mux_200m_150m_24m_p, 0, 120562306a36Sopenharmony_ci RK3588_CLKSEL_CON(59), 8, 2, MFLAGS, 120662306a36Sopenharmony_ci RK3588_CLKGATE_CON(14), 14, GFLAGS), 120762306a36Sopenharmony_ci COMPOSITE_NODIV(CLK_SPI4, "clk_spi4", mux_200m_150m_24m_p, 0, 120862306a36Sopenharmony_ci RK3588_CLKSEL_CON(59), 10, 2, MFLAGS, 120962306a36Sopenharmony_ci RK3588_CLKGATE_CON(14), 15, GFLAGS), 121062306a36Sopenharmony_ci 121162306a36Sopenharmony_ci GATE(ACLK_SPINLOCK, "aclk_spinlock", "aclk_bus_root", CLK_IGNORE_UNUSED, 121262306a36Sopenharmony_ci RK3588_CLKGATE_CON(18), 6, GFLAGS), 121362306a36Sopenharmony_ci GATE(PCLK_TSADC, "pclk_tsadc", "pclk_top_root", 0, 121462306a36Sopenharmony_ci RK3588_CLKGATE_CON(12), 0, GFLAGS), 121562306a36Sopenharmony_ci COMPOSITE(CLK_TSADC, "clk_tsadc", gpll_24m_p, 0, 121662306a36Sopenharmony_ci RK3588_CLKSEL_CON(41), 8, 1, MFLAGS, 0, 8, DFLAGS, 121762306a36Sopenharmony_ci RK3588_CLKGATE_CON(12), 1, GFLAGS), 121862306a36Sopenharmony_ci 121962306a36Sopenharmony_ci GATE(PCLK_UART1, "pclk_uart1", "pclk_top_root", 0, 122062306a36Sopenharmony_ci RK3588_CLKGATE_CON(12), 2, GFLAGS), 122162306a36Sopenharmony_ci GATE(PCLK_UART2, "pclk_uart2", "pclk_top_root", 0, 122262306a36Sopenharmony_ci RK3588_CLKGATE_CON(12), 3, GFLAGS), 122362306a36Sopenharmony_ci GATE(PCLK_UART3, "pclk_uart3", "pclk_top_root", 0, 122462306a36Sopenharmony_ci RK3588_CLKGATE_CON(12), 4, GFLAGS), 122562306a36Sopenharmony_ci GATE(PCLK_UART4, "pclk_uart4", "pclk_top_root", 0, 122662306a36Sopenharmony_ci RK3588_CLKGATE_CON(12), 5, GFLAGS), 122762306a36Sopenharmony_ci GATE(PCLK_UART5, "pclk_uart5", "pclk_top_root", 0, 122862306a36Sopenharmony_ci RK3588_CLKGATE_CON(12), 6, GFLAGS), 122962306a36Sopenharmony_ci GATE(PCLK_UART6, "pclk_uart6", "pclk_top_root", 0, 123062306a36Sopenharmony_ci RK3588_CLKGATE_CON(12), 7, GFLAGS), 123162306a36Sopenharmony_ci GATE(PCLK_UART7, "pclk_uart7", "pclk_top_root", 0, 123262306a36Sopenharmony_ci RK3588_CLKGATE_CON(12), 8, GFLAGS), 123362306a36Sopenharmony_ci GATE(PCLK_UART8, "pclk_uart8", "pclk_top_root", 0, 123462306a36Sopenharmony_ci RK3588_CLKGATE_CON(12), 9, GFLAGS), 123562306a36Sopenharmony_ci GATE(PCLK_UART9, "pclk_uart9", "pclk_top_root", 0, 123662306a36Sopenharmony_ci RK3588_CLKGATE_CON(12), 10, GFLAGS), 123762306a36Sopenharmony_ci 123862306a36Sopenharmony_ci COMPOSITE(CLK_UART1_SRC, "clk_uart1_src", gpll_cpll_p, 0, 123962306a36Sopenharmony_ci RK3588_CLKSEL_CON(41), 14, 1, MFLAGS, 9, 5, DFLAGS, 124062306a36Sopenharmony_ci RK3588_CLKGATE_CON(12), 11, GFLAGS), 124162306a36Sopenharmony_ci COMPOSITE_FRACMUX(CLK_UART1_FRAC, "clk_uart1_frac", "clk_uart1_src", CLK_SET_RATE_PARENT, 124262306a36Sopenharmony_ci RK3588_CLKSEL_CON(42), 0, 124362306a36Sopenharmony_ci RK3588_CLKGATE_CON(12), 12, GFLAGS, 124462306a36Sopenharmony_ci &rk3588_uart1_fracmux), 124562306a36Sopenharmony_ci GATE(SCLK_UART1, "sclk_uart1", "clk_uart1", 0, 124662306a36Sopenharmony_ci RK3588_CLKGATE_CON(12), 13, GFLAGS), 124762306a36Sopenharmony_ci COMPOSITE(CLK_UART2_SRC, "clk_uart2_src", gpll_cpll_p, 0, 124862306a36Sopenharmony_ci RK3588_CLKSEL_CON(43), 7, 1, MFLAGS, 2, 5, DFLAGS, 124962306a36Sopenharmony_ci RK3588_CLKGATE_CON(12), 14, GFLAGS), 125062306a36Sopenharmony_ci COMPOSITE_FRACMUX(CLK_UART2_FRAC, "clk_uart2_frac", "clk_uart2_src", CLK_SET_RATE_PARENT, 125162306a36Sopenharmony_ci RK3588_CLKSEL_CON(44), 0, 125262306a36Sopenharmony_ci RK3588_CLKGATE_CON(12), 15, GFLAGS, 125362306a36Sopenharmony_ci &rk3588_uart2_fracmux), 125462306a36Sopenharmony_ci GATE(SCLK_UART2, "sclk_uart2", "clk_uart2", 0, 125562306a36Sopenharmony_ci RK3588_CLKGATE_CON(13), 0, GFLAGS), 125662306a36Sopenharmony_ci COMPOSITE(CLK_UART3_SRC, "clk_uart3_src", gpll_cpll_p, 0, 125762306a36Sopenharmony_ci RK3588_CLKSEL_CON(45), 7, 1, MFLAGS, 2, 5, DFLAGS, 125862306a36Sopenharmony_ci RK3588_CLKGATE_CON(13), 1, GFLAGS), 125962306a36Sopenharmony_ci COMPOSITE_FRACMUX(CLK_UART3_FRAC, "clk_uart3_frac", "clk_uart3_src", CLK_SET_RATE_PARENT, 126062306a36Sopenharmony_ci RK3588_CLKSEL_CON(46), 0, 126162306a36Sopenharmony_ci RK3588_CLKGATE_CON(13), 2, GFLAGS, 126262306a36Sopenharmony_ci &rk3588_uart3_fracmux), 126362306a36Sopenharmony_ci GATE(SCLK_UART3, "sclk_uart3", "clk_uart3", 0, 126462306a36Sopenharmony_ci RK3588_CLKGATE_CON(13), 3, GFLAGS), 126562306a36Sopenharmony_ci COMPOSITE(CLK_UART4_SRC, "clk_uart4_src", gpll_cpll_p, 0, 126662306a36Sopenharmony_ci RK3588_CLKSEL_CON(47), 7, 1, MFLAGS, 2, 5, DFLAGS, 126762306a36Sopenharmony_ci RK3588_CLKGATE_CON(13), 4, GFLAGS), 126862306a36Sopenharmony_ci COMPOSITE_FRACMUX(CLK_UART4_FRAC, "clk_uart4_frac", "clk_uart4_src", CLK_SET_RATE_PARENT, 126962306a36Sopenharmony_ci RK3588_CLKSEL_CON(48), 0, 127062306a36Sopenharmony_ci RK3588_CLKGATE_CON(13), 5, GFLAGS, 127162306a36Sopenharmony_ci &rk3588_uart4_fracmux), 127262306a36Sopenharmony_ci GATE(SCLK_UART4, "sclk_uart4", "clk_uart4", 0, 127362306a36Sopenharmony_ci RK3588_CLKGATE_CON(13), 6, GFLAGS), 127462306a36Sopenharmony_ci COMPOSITE(CLK_UART5_SRC, "clk_uart5_src", gpll_cpll_p, 0, 127562306a36Sopenharmony_ci RK3588_CLKSEL_CON(49), 7, 1, MFLAGS, 2, 5, DFLAGS, 127662306a36Sopenharmony_ci RK3588_CLKGATE_CON(13), 7, GFLAGS), 127762306a36Sopenharmony_ci COMPOSITE_FRACMUX(CLK_UART5_FRAC, "clk_uart5_frac", "clk_uart5_src", CLK_SET_RATE_PARENT, 127862306a36Sopenharmony_ci RK3588_CLKSEL_CON(50), 0, 127962306a36Sopenharmony_ci RK3588_CLKGATE_CON(13), 8, GFLAGS, 128062306a36Sopenharmony_ci &rk3588_uart5_fracmux), 128162306a36Sopenharmony_ci GATE(SCLK_UART5, "sclk_uart5", "clk_uart5", 0, 128262306a36Sopenharmony_ci RK3588_CLKGATE_CON(13), 9, GFLAGS), 128362306a36Sopenharmony_ci COMPOSITE(CLK_UART6_SRC, "clk_uart6_src", gpll_cpll_p, 0, 128462306a36Sopenharmony_ci RK3588_CLKSEL_CON(51), 7, 1, MFLAGS, 2, 5, DFLAGS, 128562306a36Sopenharmony_ci RK3588_CLKGATE_CON(13), 10, GFLAGS), 128662306a36Sopenharmony_ci COMPOSITE_FRACMUX(CLK_UART6_FRAC, "clk_uart6_frac", "clk_uart6_src", CLK_SET_RATE_PARENT, 128762306a36Sopenharmony_ci RK3588_CLKSEL_CON(52), 0, 128862306a36Sopenharmony_ci RK3588_CLKGATE_CON(13), 11, GFLAGS, 128962306a36Sopenharmony_ci &rk3588_uart6_fracmux), 129062306a36Sopenharmony_ci GATE(SCLK_UART6, "sclk_uart6", "clk_uart6", 0, 129162306a36Sopenharmony_ci RK3588_CLKGATE_CON(13), 12, GFLAGS), 129262306a36Sopenharmony_ci COMPOSITE(CLK_UART7_SRC, "clk_uart7_src", gpll_cpll_p, 0, 129362306a36Sopenharmony_ci RK3588_CLKSEL_CON(53), 7, 1, MFLAGS, 2, 5, DFLAGS, 129462306a36Sopenharmony_ci RK3588_CLKGATE_CON(13), 13, GFLAGS), 129562306a36Sopenharmony_ci COMPOSITE_FRACMUX(CLK_UART7_FRAC, "clk_uart7_frac", "clk_uart7_src", CLK_SET_RATE_PARENT, 129662306a36Sopenharmony_ci RK3588_CLKSEL_CON(54), 0, 129762306a36Sopenharmony_ci RK3588_CLKGATE_CON(13), 14, GFLAGS, 129862306a36Sopenharmony_ci &rk3588_uart7_fracmux), 129962306a36Sopenharmony_ci GATE(SCLK_UART7, "sclk_uart7", "clk_uart7", 0, 130062306a36Sopenharmony_ci RK3588_CLKGATE_CON(13), 15, GFLAGS), 130162306a36Sopenharmony_ci COMPOSITE(CLK_UART8_SRC, "clk_uart8_src", gpll_cpll_p, 0, 130262306a36Sopenharmony_ci RK3588_CLKSEL_CON(55), 7, 1, MFLAGS, 2, 5, DFLAGS, 130362306a36Sopenharmony_ci RK3588_CLKGATE_CON(14), 0, GFLAGS), 130462306a36Sopenharmony_ci COMPOSITE_FRACMUX(CLK_UART8_FRAC, "clk_uart8_frac", "clk_uart8_src", CLK_SET_RATE_PARENT, 130562306a36Sopenharmony_ci RK3588_CLKSEL_CON(56), 0, 130662306a36Sopenharmony_ci RK3588_CLKGATE_CON(14), 1, GFLAGS, 130762306a36Sopenharmony_ci &rk3588_uart8_fracmux), 130862306a36Sopenharmony_ci GATE(SCLK_UART8, "sclk_uart8", "clk_uart8", 0, 130962306a36Sopenharmony_ci RK3588_CLKGATE_CON(14), 2, GFLAGS), 131062306a36Sopenharmony_ci COMPOSITE(CLK_UART9_SRC, "clk_uart9_src", gpll_cpll_p, 0, 131162306a36Sopenharmony_ci RK3588_CLKSEL_CON(57), 7, 1, MFLAGS, 2, 5, DFLAGS, 131262306a36Sopenharmony_ci RK3588_CLKGATE_CON(14), 3, GFLAGS), 131362306a36Sopenharmony_ci COMPOSITE_FRACMUX(CLK_UART9_FRAC, "clk_uart9_frac", "clk_uart9_src", CLK_SET_RATE_PARENT, 131462306a36Sopenharmony_ci RK3588_CLKSEL_CON(58), 0, 131562306a36Sopenharmony_ci RK3588_CLKGATE_CON(14), 4, GFLAGS, 131662306a36Sopenharmony_ci &rk3588_uart9_fracmux), 131762306a36Sopenharmony_ci GATE(SCLK_UART9, "sclk_uart9", "clk_uart9", 0, 131862306a36Sopenharmony_ci RK3588_CLKGATE_CON(14), 5, GFLAGS), 131962306a36Sopenharmony_ci 132062306a36Sopenharmony_ci /* center */ 132162306a36Sopenharmony_ci COMPOSITE_NODIV(ACLK_CENTER_ROOT, "aclk_center_root", mux_700m_400m_200m_24m_p, 132262306a36Sopenharmony_ci CLK_IS_CRITICAL, 132362306a36Sopenharmony_ci RK3588_CLKSEL_CON(165), 0, 2, MFLAGS, 132462306a36Sopenharmony_ci RK3588_CLKGATE_CON(69), 0, GFLAGS), 132562306a36Sopenharmony_ci COMPOSITE_NODIV(ACLK_CENTER_LOW_ROOT, "aclk_center_low_root", mux_500m_250m_100m_24m_p, 132662306a36Sopenharmony_ci CLK_IS_CRITICAL, 132762306a36Sopenharmony_ci RK3588_CLKSEL_CON(165), 2, 2, MFLAGS, 132862306a36Sopenharmony_ci RK3588_CLKGATE_CON(69), 1, GFLAGS), 132962306a36Sopenharmony_ci COMPOSITE_NODIV(HCLK_CENTER_ROOT, "hclk_center_root", mux_400m_200m_100m_24m_p, 133062306a36Sopenharmony_ci CLK_IS_CRITICAL, 133162306a36Sopenharmony_ci RK3588_CLKSEL_CON(165), 4, 2, MFLAGS, 133262306a36Sopenharmony_ci RK3588_CLKGATE_CON(69), 2, GFLAGS), 133362306a36Sopenharmony_ci COMPOSITE_NODIV(PCLK_CENTER_ROOT, "pclk_center_root", mux_200m_100m_50m_24m_p, 133462306a36Sopenharmony_ci CLK_IS_CRITICAL, 133562306a36Sopenharmony_ci RK3588_CLKSEL_CON(165), 6, 2, MFLAGS | CLK_MUX_READ_ONLY, 133662306a36Sopenharmony_ci RK3588_CLKGATE_CON(69), 3, GFLAGS), 133762306a36Sopenharmony_ci GATE(ACLK_DMA2DDR, "aclk_dma2ddr", "aclk_center_root", CLK_IS_CRITICAL, 133862306a36Sopenharmony_ci RK3588_CLKGATE_CON(69), 5, GFLAGS), 133962306a36Sopenharmony_ci GATE(ACLK_DDR_SHAREMEM, "aclk_ddr_sharemem", "aclk_center_low_root", CLK_IS_CRITICAL, 134062306a36Sopenharmony_ci RK3588_CLKGATE_CON(69), 6, GFLAGS), 134162306a36Sopenharmony_ci COMPOSITE_NODIV(ACLK_CENTER_S200_ROOT, "aclk_center_s200_root", mux_200m_100m_50m_24m_p, 134262306a36Sopenharmony_ci CLK_IS_CRITICAL, 134362306a36Sopenharmony_ci RK3588_CLKSEL_CON(165), 8, 2, MFLAGS, 134462306a36Sopenharmony_ci RK3588_CLKGATE_CON(69), 8, GFLAGS), 134562306a36Sopenharmony_ci COMPOSITE_NODIV(ACLK_CENTER_S400_ROOT, "aclk_center_s400_root", mux_400m_200m_100m_24m_p, 134662306a36Sopenharmony_ci CLK_IS_CRITICAL, 134762306a36Sopenharmony_ci RK3588_CLKSEL_CON(165), 10, 2, MFLAGS, 134862306a36Sopenharmony_ci RK3588_CLKGATE_CON(69), 9, GFLAGS), 134962306a36Sopenharmony_ci GATE(FCLK_DDR_CM0_CORE, "fclk_ddr_cm0_core", "hclk_center_root", CLK_IS_CRITICAL, 135062306a36Sopenharmony_ci RK3588_CLKGATE_CON(69), 14, GFLAGS), 135162306a36Sopenharmony_ci COMPOSITE_NODIV(CLK_DDR_TIMER_ROOT, "clk_ddr_timer_root", mux_24m_100m_p, CLK_IGNORE_UNUSED, 135262306a36Sopenharmony_ci RK3588_CLKSEL_CON(165), 12, 1, MFLAGS, 135362306a36Sopenharmony_ci RK3588_CLKGATE_CON(69), 15, GFLAGS), 135462306a36Sopenharmony_ci GATE(CLK_DDR_TIMER0, "clk_ddr_timer0", "clk_ddr_timer_root", 0, 135562306a36Sopenharmony_ci RK3588_CLKGATE_CON(70), 0, GFLAGS), 135662306a36Sopenharmony_ci GATE(CLK_DDR_TIMER1, "clk_ddr_timer1", "clk_ddr_timer_root", 0, 135762306a36Sopenharmony_ci RK3588_CLKGATE_CON(70), 1, GFLAGS), 135862306a36Sopenharmony_ci GATE(TCLK_WDT_DDR, "tclk_wdt_ddr", "xin24m", 0, 135962306a36Sopenharmony_ci RK3588_CLKGATE_CON(70), 2, GFLAGS), 136062306a36Sopenharmony_ci COMPOSITE(CLK_DDR_CM0_RTC, "clk_ddr_cm0_rtc", mux_24m_32k_p, CLK_IS_CRITICAL, 136162306a36Sopenharmony_ci RK3588_CLKSEL_CON(166), 5, 1, MFLAGS, 0, 5, DFLAGS, 136262306a36Sopenharmony_ci RK3588_CLKGATE_CON(70), 4, GFLAGS), 136362306a36Sopenharmony_ci GATE(PCLK_WDT, "pclk_wdt", "pclk_center_root", 0, 136462306a36Sopenharmony_ci RK3588_CLKGATE_CON(70), 7, GFLAGS), 136562306a36Sopenharmony_ci GATE(PCLK_TIMER, "pclk_timer", "pclk_center_root", 0, 136662306a36Sopenharmony_ci RK3588_CLKGATE_CON(70), 8, GFLAGS), 136762306a36Sopenharmony_ci GATE(PCLK_DMA2DDR, "pclk_dma2ddr", "pclk_center_root", CLK_IS_CRITICAL, 136862306a36Sopenharmony_ci RK3588_CLKGATE_CON(70), 9, GFLAGS), 136962306a36Sopenharmony_ci GATE(PCLK_SHAREMEM, "pclk_sharemem", "pclk_center_root", CLK_IS_CRITICAL, 137062306a36Sopenharmony_ci RK3588_CLKGATE_CON(70), 10, GFLAGS), 137162306a36Sopenharmony_ci 137262306a36Sopenharmony_ci /* gpu */ 137362306a36Sopenharmony_ci COMPOSITE(CLK_GPU_SRC, "clk_gpu_src", gpll_cpll_aupll_npll_spll_p, 0, 137462306a36Sopenharmony_ci RK3588_CLKSEL_CON(158), 5, 3, MFLAGS, 0, 5, DFLAGS, 137562306a36Sopenharmony_ci RK3588_CLKGATE_CON(66), 1, GFLAGS), 137662306a36Sopenharmony_ci GATE(CLK_GPU, "clk_gpu", "clk_gpu_src", 0, 137762306a36Sopenharmony_ci RK3588_CLKGATE_CON(66), 4, GFLAGS), 137862306a36Sopenharmony_ci GATE(CLK_GPU_COREGROUP, "clk_gpu_coregroup", "clk_gpu_src", 0, 137962306a36Sopenharmony_ci RK3588_CLKGATE_CON(66), 6, GFLAGS), 138062306a36Sopenharmony_ci COMPOSITE_NOMUX(CLK_GPU_STACKS, "clk_gpu_stacks", "clk_gpu_src", 0, 138162306a36Sopenharmony_ci RK3588_CLKSEL_CON(159), 0, 5, DFLAGS, 138262306a36Sopenharmony_ci RK3588_CLKGATE_CON(66), 7, GFLAGS), 138362306a36Sopenharmony_ci GATE(CLK_GPU_PVTM, "clk_gpu_pvtm", "xin24m", 0, 138462306a36Sopenharmony_ci RK3588_CLKGATE_CON(67), 0, GFLAGS), 138562306a36Sopenharmony_ci GATE(CLK_CORE_GPU_PVTM, "clk_core_gpu_pvtm", "clk_gpu_src", 0, 138662306a36Sopenharmony_ci RK3588_CLKGATE_CON(67), 1, GFLAGS), 138762306a36Sopenharmony_ci 138862306a36Sopenharmony_ci /* isp1 */ 138962306a36Sopenharmony_ci COMPOSITE(ACLK_ISP1_ROOT, "aclk_isp1_root", gpll_cpll_aupll_spll_p, 0, 139062306a36Sopenharmony_ci RK3588_CLKSEL_CON(67), 5, 2, MFLAGS, 0, 5, DFLAGS, 139162306a36Sopenharmony_ci RK3588_CLKGATE_CON(26), 0, GFLAGS), 139262306a36Sopenharmony_ci COMPOSITE_NODIV(HCLK_ISP1_ROOT, "hclk_isp1_root", mux_200m_100m_50m_24m_p, 0, 139362306a36Sopenharmony_ci RK3588_CLKSEL_CON(67), 7, 2, MFLAGS, 139462306a36Sopenharmony_ci RK3588_CLKGATE_CON(26), 1, GFLAGS), 139562306a36Sopenharmony_ci COMPOSITE(CLK_ISP1_CORE, "clk_isp1_core", gpll_cpll_aupll_spll_p, 0, 139662306a36Sopenharmony_ci RK3588_CLKSEL_CON(67), 14, 2, MFLAGS, 9, 5, DFLAGS, 139762306a36Sopenharmony_ci RK3588_CLKGATE_CON(26), 2, GFLAGS), 139862306a36Sopenharmony_ci GATE(CLK_ISP1_CORE_MARVIN, "clk_isp1_core_marvin", "clk_isp1_core", 0, 139962306a36Sopenharmony_ci RK3588_CLKGATE_CON(26), 3, GFLAGS), 140062306a36Sopenharmony_ci GATE(CLK_ISP1_CORE_VICAP, "clk_isp1_core_vicap", "clk_isp1_core", 0, 140162306a36Sopenharmony_ci RK3588_CLKGATE_CON(26), 4, GFLAGS), 140262306a36Sopenharmony_ci 140362306a36Sopenharmony_ci /* npu */ 140462306a36Sopenharmony_ci COMPOSITE_NODIV(HCLK_NPU_ROOT, "hclk_npu_root", mux_200m_100m_50m_24m_p, 0, 140562306a36Sopenharmony_ci RK3588_CLKSEL_CON(73), 0, 2, MFLAGS, 140662306a36Sopenharmony_ci RK3588_CLKGATE_CON(29), 0, GFLAGS), 140762306a36Sopenharmony_ci COMPOSITE(CLK_NPU_DSU0, "clk_npu_dsu0", gpll_cpll_aupll_npll_spll_p, 0, 140862306a36Sopenharmony_ci RK3588_CLKSEL_CON(73), 7, 3, MFLAGS, 2, 5, DFLAGS, 140962306a36Sopenharmony_ci RK3588_CLKGATE_CON(29), 1, GFLAGS), 141062306a36Sopenharmony_ci COMPOSITE_NODIV(PCLK_NPU_ROOT, "pclk_npu_root", mux_100m_50m_24m_p, 0, 141162306a36Sopenharmony_ci RK3588_CLKSEL_CON(74), 1, 2, MFLAGS, 141262306a36Sopenharmony_ci RK3588_CLKGATE_CON(29), 4, GFLAGS), 141362306a36Sopenharmony_ci GATE(ACLK_NPU1, "aclk_npu1", "clk_npu_dsu0", 0, 141462306a36Sopenharmony_ci RK3588_CLKGATE_CON(27), 0, GFLAGS), 141562306a36Sopenharmony_ci GATE(HCLK_NPU1, "hclk_npu1", "hclk_npu_root", 0, 141662306a36Sopenharmony_ci RK3588_CLKGATE_CON(27), 2, GFLAGS), 141762306a36Sopenharmony_ci GATE(ACLK_NPU2, "aclk_npu2", "clk_npu_dsu0", 0, 141862306a36Sopenharmony_ci RK3588_CLKGATE_CON(28), 0, GFLAGS), 141962306a36Sopenharmony_ci GATE(HCLK_NPU2, "hclk_npu2", "hclk_npu_root", 0, 142062306a36Sopenharmony_ci RK3588_CLKGATE_CON(28), 2, GFLAGS), 142162306a36Sopenharmony_ci COMPOSITE_NODIV(HCLK_NPU_CM0_ROOT, "hclk_npu_cm0_root", mux_400m_200m_100m_24m_p, 0, 142262306a36Sopenharmony_ci RK3588_CLKSEL_CON(74), 5, 2, MFLAGS, 142362306a36Sopenharmony_ci RK3588_CLKGATE_CON(30), 1, GFLAGS), 142462306a36Sopenharmony_ci GATE(FCLK_NPU_CM0_CORE, "fclk_npu_cm0_core", "hclk_npu_cm0_root", 0, 142562306a36Sopenharmony_ci RK3588_CLKGATE_CON(30), 3, GFLAGS), 142662306a36Sopenharmony_ci COMPOSITE(CLK_NPU_CM0_RTC, "clk_npu_cm0_rtc", mux_24m_32k_p, 0, 142762306a36Sopenharmony_ci RK3588_CLKSEL_CON(74), 12, 1, MFLAGS, 7, 5, DFLAGS, 142862306a36Sopenharmony_ci RK3588_CLKGATE_CON(30), 5, GFLAGS), 142962306a36Sopenharmony_ci GATE(PCLK_NPU_PVTM, "pclk_npu_pvtm", "pclk_npu_root", 0, 143062306a36Sopenharmony_ci RK3588_CLKGATE_CON(29), 12, GFLAGS), 143162306a36Sopenharmony_ci GATE(PCLK_NPU_GRF, "pclk_npu_grf", "pclk_npu_root", CLK_IGNORE_UNUSED, 143262306a36Sopenharmony_ci RK3588_CLKGATE_CON(29), 13, GFLAGS), 143362306a36Sopenharmony_ci GATE(CLK_NPU_PVTM, "clk_npu_pvtm", "xin24m", 0, 143462306a36Sopenharmony_ci RK3588_CLKGATE_CON(29), 14, GFLAGS), 143562306a36Sopenharmony_ci GATE(CLK_CORE_NPU_PVTM, "clk_core_npu_pvtm", "clk_npu_dsu0", 0, 143662306a36Sopenharmony_ci RK3588_CLKGATE_CON(29), 15, GFLAGS), 143762306a36Sopenharmony_ci GATE(ACLK_NPU0, "aclk_npu0", "clk_npu_dsu0", 0, 143862306a36Sopenharmony_ci RK3588_CLKGATE_CON(30), 6, GFLAGS), 143962306a36Sopenharmony_ci GATE(HCLK_NPU0, "hclk_npu0", "hclk_npu_root", 0, 144062306a36Sopenharmony_ci RK3588_CLKGATE_CON(30), 8, GFLAGS), 144162306a36Sopenharmony_ci GATE(PCLK_NPU_TIMER, "pclk_npu_timer", "pclk_npu_root", 0, 144262306a36Sopenharmony_ci RK3588_CLKGATE_CON(29), 6, GFLAGS), 144362306a36Sopenharmony_ci COMPOSITE_NODIV(CLK_NPUTIMER_ROOT, "clk_nputimer_root", mux_24m_100m_p, 0, 144462306a36Sopenharmony_ci RK3588_CLKSEL_CON(74), 3, 1, MFLAGS, 144562306a36Sopenharmony_ci RK3588_CLKGATE_CON(29), 7, GFLAGS), 144662306a36Sopenharmony_ci GATE(CLK_NPUTIMER0, "clk_nputimer0", "clk_nputimer_root", 0, 144762306a36Sopenharmony_ci RK3588_CLKGATE_CON(29), 8, GFLAGS), 144862306a36Sopenharmony_ci GATE(CLK_NPUTIMER1, "clk_nputimer1", "clk_nputimer_root", 0, 144962306a36Sopenharmony_ci RK3588_CLKGATE_CON(29), 9, GFLAGS), 145062306a36Sopenharmony_ci GATE(PCLK_NPU_WDT, "pclk_npu_wdt", "pclk_npu_root", 0, 145162306a36Sopenharmony_ci RK3588_CLKGATE_CON(29), 10, GFLAGS), 145262306a36Sopenharmony_ci GATE(TCLK_NPU_WDT, "tclk_npu_wdt", "xin24m", 0, 145362306a36Sopenharmony_ci RK3588_CLKGATE_CON(29), 11, GFLAGS), 145462306a36Sopenharmony_ci 145562306a36Sopenharmony_ci /* nvm */ 145662306a36Sopenharmony_ci COMPOSITE_NODIV(HCLK_NVM_ROOT, "hclk_nvm_root", mux_200m_100m_50m_24m_p, 0, 145762306a36Sopenharmony_ci RK3588_CLKSEL_CON(77), 0, 2, MFLAGS, 145862306a36Sopenharmony_ci RK3588_CLKGATE_CON(31), 0, GFLAGS), 145962306a36Sopenharmony_ci COMPOSITE(ACLK_NVM_ROOT, "aclk_nvm_root", gpll_cpll_p, RK3588_LINKED_CLK, 146062306a36Sopenharmony_ci RK3588_CLKSEL_CON(77), 7, 1, MFLAGS, 2, 5, DFLAGS, 146162306a36Sopenharmony_ci RK3588_CLKGATE_CON(31), 1, GFLAGS), 146262306a36Sopenharmony_ci GATE(ACLK_EMMC, "aclk_emmc", "aclk_nvm_root", 0, 146362306a36Sopenharmony_ci RK3588_CLKGATE_CON(31), 5, GFLAGS), 146462306a36Sopenharmony_ci COMPOSITE(CCLK_EMMC, "cclk_emmc", gpll_cpll_24m_p, 0, 146562306a36Sopenharmony_ci RK3588_CLKSEL_CON(77), 14, 2, MFLAGS, 8, 6, DFLAGS, 146662306a36Sopenharmony_ci RK3588_CLKGATE_CON(31), 6, GFLAGS), 146762306a36Sopenharmony_ci COMPOSITE(BCLK_EMMC, "bclk_emmc", gpll_cpll_p, 0, 146862306a36Sopenharmony_ci RK3588_CLKSEL_CON(78), 5, 1, MFLAGS, 0, 5, DFLAGS, 146962306a36Sopenharmony_ci RK3588_CLKGATE_CON(31), 7, GFLAGS), 147062306a36Sopenharmony_ci GATE(TMCLK_EMMC, "tmclk_emmc", "xin24m", 0, 147162306a36Sopenharmony_ci RK3588_CLKGATE_CON(31), 8, GFLAGS), 147262306a36Sopenharmony_ci 147362306a36Sopenharmony_ci COMPOSITE(SCLK_SFC, "sclk_sfc", gpll_cpll_24m_p, 0, 147462306a36Sopenharmony_ci RK3588_CLKSEL_CON(78), 12, 2, MFLAGS, 6, 6, DFLAGS, 147562306a36Sopenharmony_ci RK3588_CLKGATE_CON(31), 9, GFLAGS), 147662306a36Sopenharmony_ci 147762306a36Sopenharmony_ci /* php */ 147862306a36Sopenharmony_ci COMPOSITE(CLK_GMAC0_PTP_REF, "clk_gmac0_ptp_ref", clk_gmac0_ptp_ref_p, 0, 147962306a36Sopenharmony_ci RK3588_CLKSEL_CON(81), 6, 1, MFLAGS, 0, 6, DFLAGS, 148062306a36Sopenharmony_ci RK3588_CLKGATE_CON(34), 10, GFLAGS), 148162306a36Sopenharmony_ci COMPOSITE(CLK_GMAC1_PTP_REF, "clk_gmac1_ptp_ref", clk_gmac1_ptp_ref_p, 0, 148262306a36Sopenharmony_ci RK3588_CLKSEL_CON(81), 13, 1, MFLAGS, 7, 6, DFLAGS, 148362306a36Sopenharmony_ci RK3588_CLKGATE_CON(34), 11, GFLAGS), 148462306a36Sopenharmony_ci COMPOSITE(CLK_GMAC_125M, "clk_gmac_125m", gpll_cpll_p, 0, 148562306a36Sopenharmony_ci RK3588_CLKSEL_CON(83), 15, 1, MFLAGS, 8, 7, DFLAGS, 148662306a36Sopenharmony_ci RK3588_CLKGATE_CON(35), 5, GFLAGS), 148762306a36Sopenharmony_ci COMPOSITE(CLK_GMAC_50M, "clk_gmac_50m", gpll_cpll_p, 0, 148862306a36Sopenharmony_ci RK3588_CLKSEL_CON(84), 7, 1, MFLAGS, 0, 7, DFLAGS, 148962306a36Sopenharmony_ci RK3588_CLKGATE_CON(35), 6, GFLAGS), 149062306a36Sopenharmony_ci 149162306a36Sopenharmony_ci COMPOSITE(ACLK_PCIE_ROOT, "aclk_pcie_root", gpll_cpll_p, CLK_IS_CRITICAL, 149262306a36Sopenharmony_ci RK3588_CLKSEL_CON(80), 7, 1, MFLAGS, 2, 5, DFLAGS, 149362306a36Sopenharmony_ci RK3588_CLKGATE_CON(32), 6, GFLAGS), 149462306a36Sopenharmony_ci COMPOSITE(ACLK_PHP_ROOT, "aclk_php_root", gpll_cpll_p, CLK_IS_CRITICAL, 149562306a36Sopenharmony_ci RK3588_CLKSEL_CON(80), 13, 1, MFLAGS, 8, 5, DFLAGS, 149662306a36Sopenharmony_ci RK3588_CLKGATE_CON(32), 7, GFLAGS), 149762306a36Sopenharmony_ci COMPOSITE_NODIV(PCLK_PHP_ROOT, "pclk_php_root", mux_150m_50m_24m_p, 0, 149862306a36Sopenharmony_ci RK3588_CLKSEL_CON(80), 0, 2, MFLAGS, 149962306a36Sopenharmony_ci RK3588_CLKGATE_CON(32), 0, GFLAGS), 150062306a36Sopenharmony_ci GATE(ACLK_PHP_GIC_ITS, "aclk_php_gic_its", "aclk_pcie_root", CLK_IS_CRITICAL, 150162306a36Sopenharmony_ci RK3588_CLKGATE_CON(34), 6, GFLAGS), 150262306a36Sopenharmony_ci GATE(ACLK_PCIE_BRIDGE, "aclk_pcie_bridge", "aclk_pcie_root", 0, 150362306a36Sopenharmony_ci RK3588_CLKGATE_CON(32), 8, GFLAGS), 150462306a36Sopenharmony_ci GATE(ACLK_MMU_PCIE, "aclk_mmu_pcie", "aclk_pcie_bridge", 0, 150562306a36Sopenharmony_ci RK3588_CLKGATE_CON(34), 7, GFLAGS), 150662306a36Sopenharmony_ci GATE(ACLK_MMU_PHP, "aclk_mmu_php", "aclk_php_root", 0, 150762306a36Sopenharmony_ci RK3588_CLKGATE_CON(34), 8, GFLAGS), 150862306a36Sopenharmony_ci GATE(ACLK_PCIE_4L_DBI, "aclk_pcie_4l_dbi", "aclk_php_root", 0, 150962306a36Sopenharmony_ci RK3588_CLKGATE_CON(32), 13, GFLAGS), 151062306a36Sopenharmony_ci GATE(ACLK_PCIE_2L_DBI, "aclk_pcie_2l_dbi", "aclk_php_root", 0, 151162306a36Sopenharmony_ci RK3588_CLKGATE_CON(32), 14, GFLAGS), 151262306a36Sopenharmony_ci GATE(ACLK_PCIE_1L0_DBI, "aclk_pcie_1l0_dbi", "aclk_php_root", 0, 151362306a36Sopenharmony_ci RK3588_CLKGATE_CON(32), 15, GFLAGS), 151462306a36Sopenharmony_ci GATE(ACLK_PCIE_1L1_DBI, "aclk_pcie_1l1_dbi", "aclk_php_root", 0, 151562306a36Sopenharmony_ci RK3588_CLKGATE_CON(33), 0, GFLAGS), 151662306a36Sopenharmony_ci GATE(ACLK_PCIE_1L2_DBI, "aclk_pcie_1l2_dbi", "aclk_php_root", 0, 151762306a36Sopenharmony_ci RK3588_CLKGATE_CON(33), 1, GFLAGS), 151862306a36Sopenharmony_ci GATE(ACLK_PCIE_4L_MSTR, "aclk_pcie_4l_mstr", "aclk_mmu_pcie", 0, 151962306a36Sopenharmony_ci RK3588_CLKGATE_CON(33), 2, GFLAGS), 152062306a36Sopenharmony_ci GATE(ACLK_PCIE_2L_MSTR, "aclk_pcie_2l_mstr", "aclk_mmu_pcie", 0, 152162306a36Sopenharmony_ci RK3588_CLKGATE_CON(33), 3, GFLAGS), 152262306a36Sopenharmony_ci GATE(ACLK_PCIE_1L0_MSTR, "aclk_pcie_1l0_mstr", "aclk_mmu_pcie", 0, 152362306a36Sopenharmony_ci RK3588_CLKGATE_CON(33), 4, GFLAGS), 152462306a36Sopenharmony_ci GATE(ACLK_PCIE_1L1_MSTR, "aclk_pcie_1l1_mstr", "aclk_mmu_pcie", 0, 152562306a36Sopenharmony_ci RK3588_CLKGATE_CON(33), 5, GFLAGS), 152662306a36Sopenharmony_ci GATE(ACLK_PCIE_1L2_MSTR, "aclk_pcie_1l2_mstr", "aclk_mmu_pcie", 0, 152762306a36Sopenharmony_ci RK3588_CLKGATE_CON(33), 6, GFLAGS), 152862306a36Sopenharmony_ci GATE(ACLK_PCIE_4L_SLV, "aclk_pcie_4l_slv", "aclk_php_root", 0, 152962306a36Sopenharmony_ci RK3588_CLKGATE_CON(33), 7, GFLAGS), 153062306a36Sopenharmony_ci GATE(ACLK_PCIE_2L_SLV, "aclk_pcie_2l_slv", "aclk_php_root", 0, 153162306a36Sopenharmony_ci RK3588_CLKGATE_CON(33), 8, GFLAGS), 153262306a36Sopenharmony_ci GATE(ACLK_PCIE_1L0_SLV, "aclk_pcie_1l0_slv", "aclk_php_root", 0, 153362306a36Sopenharmony_ci RK3588_CLKGATE_CON(33), 9, GFLAGS), 153462306a36Sopenharmony_ci GATE(ACLK_PCIE_1L1_SLV, "aclk_pcie_1l1_slv", "aclk_php_root", 0, 153562306a36Sopenharmony_ci RK3588_CLKGATE_CON(33), 10, GFLAGS), 153662306a36Sopenharmony_ci GATE(ACLK_PCIE_1L2_SLV, "aclk_pcie_1l2_slv", "aclk_php_root", 0, 153762306a36Sopenharmony_ci RK3588_CLKGATE_CON(33), 11, GFLAGS), 153862306a36Sopenharmony_ci GATE(PCLK_PCIE_4L, "pclk_pcie_4l", "pclk_php_root", 0, 153962306a36Sopenharmony_ci RK3588_CLKGATE_CON(33), 12, GFLAGS), 154062306a36Sopenharmony_ci GATE(PCLK_PCIE_2L, "pclk_pcie_2l", "pclk_php_root", 0, 154162306a36Sopenharmony_ci RK3588_CLKGATE_CON(33), 13, GFLAGS), 154262306a36Sopenharmony_ci GATE(PCLK_PCIE_1L0, "pclk_pcie_1l0", "pclk_php_root", 0, 154362306a36Sopenharmony_ci RK3588_CLKGATE_CON(33), 14, GFLAGS), 154462306a36Sopenharmony_ci GATE(PCLK_PCIE_1L1, "pclk_pcie_1l1", "pclk_php_root", 0, 154562306a36Sopenharmony_ci RK3588_CLKGATE_CON(33), 15, GFLAGS), 154662306a36Sopenharmony_ci GATE(PCLK_PCIE_1L2, "pclk_pcie_1l2", "pclk_php_root", 0, 154762306a36Sopenharmony_ci RK3588_CLKGATE_CON(34), 0, GFLAGS), 154862306a36Sopenharmony_ci GATE(CLK_PCIE_AUX0, "clk_pcie_aux0", "xin24m", 0, 154962306a36Sopenharmony_ci RK3588_CLKGATE_CON(34), 1, GFLAGS), 155062306a36Sopenharmony_ci GATE(CLK_PCIE_AUX1, "clk_pcie_aux1", "xin24m", 0, 155162306a36Sopenharmony_ci RK3588_CLKGATE_CON(34), 2, GFLAGS), 155262306a36Sopenharmony_ci GATE(CLK_PCIE_AUX2, "clk_pcie_aux2", "xin24m", 0, 155362306a36Sopenharmony_ci RK3588_CLKGATE_CON(34), 3, GFLAGS), 155462306a36Sopenharmony_ci GATE(CLK_PCIE_AUX3, "clk_pcie_aux3", "xin24m", 0, 155562306a36Sopenharmony_ci RK3588_CLKGATE_CON(34), 4, GFLAGS), 155662306a36Sopenharmony_ci GATE(CLK_PCIE_AUX4, "clk_pcie_aux4", "xin24m", 0, 155762306a36Sopenharmony_ci RK3588_CLKGATE_CON(34), 5, GFLAGS), 155862306a36Sopenharmony_ci GATE(CLK_PIPEPHY0_REF, "clk_pipephy0_ref", "xin24m", 0, 155962306a36Sopenharmony_ci RK3588_CLKGATE_CON(37), 0, GFLAGS), 156062306a36Sopenharmony_ci GATE(CLK_PIPEPHY1_REF, "clk_pipephy1_ref", "xin24m", 0, 156162306a36Sopenharmony_ci RK3588_CLKGATE_CON(37), 1, GFLAGS), 156262306a36Sopenharmony_ci GATE(CLK_PIPEPHY2_REF, "clk_pipephy2_ref", "xin24m", 0, 156362306a36Sopenharmony_ci RK3588_CLKGATE_CON(37), 2, GFLAGS), 156462306a36Sopenharmony_ci GATE(PCLK_GMAC0, "pclk_gmac0", "pclk_php_root", 0, 156562306a36Sopenharmony_ci RK3588_CLKGATE_CON(32), 3, GFLAGS), 156662306a36Sopenharmony_ci GATE(PCLK_GMAC1, "pclk_gmac1", "pclk_php_root", 0, 156762306a36Sopenharmony_ci RK3588_CLKGATE_CON(32), 4, GFLAGS), 156862306a36Sopenharmony_ci GATE(ACLK_GMAC0, "aclk_gmac0", "aclk_mmu_php", 0, 156962306a36Sopenharmony_ci RK3588_CLKGATE_CON(32), 10, GFLAGS), 157062306a36Sopenharmony_ci GATE(ACLK_GMAC1, "aclk_gmac1", "aclk_mmu_php", 0, 157162306a36Sopenharmony_ci RK3588_CLKGATE_CON(32), 11, GFLAGS), 157262306a36Sopenharmony_ci GATE(CLK_PMALIVE0, "clk_pmalive0", "xin24m", 0, 157362306a36Sopenharmony_ci RK3588_CLKGATE_CON(37), 4, GFLAGS), 157462306a36Sopenharmony_ci GATE(CLK_PMALIVE1, "clk_pmalive1", "xin24m", 0, 157562306a36Sopenharmony_ci RK3588_CLKGATE_CON(37), 5, GFLAGS), 157662306a36Sopenharmony_ci GATE(CLK_PMALIVE2, "clk_pmalive2", "xin24m", 0, 157762306a36Sopenharmony_ci RK3588_CLKGATE_CON(37), 6, GFLAGS), 157862306a36Sopenharmony_ci GATE(ACLK_SATA0, "aclk_sata0", "aclk_mmu_php", 0, 157962306a36Sopenharmony_ci RK3588_CLKGATE_CON(37), 7, GFLAGS), 158062306a36Sopenharmony_ci GATE(ACLK_SATA1, "aclk_sata1", "aclk_mmu_php", 0, 158162306a36Sopenharmony_ci RK3588_CLKGATE_CON(37), 8, GFLAGS), 158262306a36Sopenharmony_ci GATE(ACLK_SATA2, "aclk_sata2", "aclk_mmu_php", 0, 158362306a36Sopenharmony_ci RK3588_CLKGATE_CON(37), 9, GFLAGS), 158462306a36Sopenharmony_ci COMPOSITE(CLK_RXOOB0, "clk_rxoob0", gpll_cpll_p, 0, 158562306a36Sopenharmony_ci RK3588_CLKSEL_CON(82), 7, 1, MFLAGS, 0, 7, DFLAGS, 158662306a36Sopenharmony_ci RK3588_CLKGATE_CON(37), 10, GFLAGS), 158762306a36Sopenharmony_ci COMPOSITE(CLK_RXOOB1, "clk_rxoob1", gpll_cpll_p, 0, 158862306a36Sopenharmony_ci RK3588_CLKSEL_CON(82), 15, 1, MFLAGS, 8, 7, DFLAGS, 158962306a36Sopenharmony_ci RK3588_CLKGATE_CON(37), 11, GFLAGS), 159062306a36Sopenharmony_ci COMPOSITE(CLK_RXOOB2, "clk_rxoob2", gpll_cpll_p, 0, 159162306a36Sopenharmony_ci RK3588_CLKSEL_CON(83), 7, 1, MFLAGS, 0, 7, DFLAGS, 159262306a36Sopenharmony_ci RK3588_CLKGATE_CON(37), 12, GFLAGS), 159362306a36Sopenharmony_ci GATE(ACLK_USB3OTG2, "aclk_usb3otg2", "aclk_mmu_php", 0, 159462306a36Sopenharmony_ci RK3588_CLKGATE_CON(35), 7, GFLAGS), 159562306a36Sopenharmony_ci GATE(SUSPEND_CLK_USB3OTG2, "suspend_clk_usb3otg2", "xin24m", 0, 159662306a36Sopenharmony_ci RK3588_CLKGATE_CON(35), 8, GFLAGS), 159762306a36Sopenharmony_ci GATE(REF_CLK_USB3OTG2, "ref_clk_usb3otg2", "xin24m", 0, 159862306a36Sopenharmony_ci RK3588_CLKGATE_CON(35), 9, GFLAGS), 159962306a36Sopenharmony_ci COMPOSITE(CLK_UTMI_OTG2, "clk_utmi_otg2", mux_150m_50m_24m_p, 0, 160062306a36Sopenharmony_ci RK3588_CLKSEL_CON(84), 12, 2, MFLAGS, 8, 4, DFLAGS, 160162306a36Sopenharmony_ci RK3588_CLKGATE_CON(35), 10, GFLAGS), 160262306a36Sopenharmony_ci GATE(PCLK_PCIE_COMBO_PIPE_PHY0, "pclk_pcie_combo_pipe_phy0", "pclk_top_root", 0, 160362306a36Sopenharmony_ci RK3588_PHP_CLKGATE_CON(0), 5, GFLAGS), 160462306a36Sopenharmony_ci GATE(PCLK_PCIE_COMBO_PIPE_PHY1, "pclk_pcie_combo_pipe_phy1", "pclk_top_root", 0, 160562306a36Sopenharmony_ci RK3588_PHP_CLKGATE_CON(0), 6, GFLAGS), 160662306a36Sopenharmony_ci GATE(PCLK_PCIE_COMBO_PIPE_PHY2, "pclk_pcie_combo_pipe_phy2", "pclk_top_root", 0, 160762306a36Sopenharmony_ci RK3588_PHP_CLKGATE_CON(0), 7, GFLAGS), 160862306a36Sopenharmony_ci GATE(PCLK_PCIE_COMBO_PIPE_PHY, "pclk_pcie_combo_pipe_phy", "pclk_top_root", 0, 160962306a36Sopenharmony_ci RK3588_PHP_CLKGATE_CON(0), 8, GFLAGS), 161062306a36Sopenharmony_ci 161162306a36Sopenharmony_ci /* rga */ 161262306a36Sopenharmony_ci COMPOSITE(CLK_RGA3_1_CORE, "clk_rga3_1_core", gpll_cpll_aupll_spll_p, 0, 161362306a36Sopenharmony_ci RK3588_CLKSEL_CON(174), 14, 2, MFLAGS, 9, 5, DFLAGS, 161462306a36Sopenharmony_ci RK3588_CLKGATE_CON(76), 6, GFLAGS), 161562306a36Sopenharmony_ci COMPOSITE(ACLK_RGA3_ROOT, "aclk_rga3_root", gpll_cpll_aupll_p, 0, 161662306a36Sopenharmony_ci RK3588_CLKSEL_CON(174), 5, 2, MFLAGS, 0, 5, DFLAGS, 161762306a36Sopenharmony_ci RK3588_CLKGATE_CON(76), 0, GFLAGS), 161862306a36Sopenharmony_ci COMPOSITE_NODIV(HCLK_RGA3_ROOT, "hclk_rga3_root", mux_200m_100m_50m_24m_p, 0, 161962306a36Sopenharmony_ci RK3588_CLKSEL_CON(174), 7, 2, MFLAGS, 162062306a36Sopenharmony_ci RK3588_CLKGATE_CON(76), 1, GFLAGS), 162162306a36Sopenharmony_ci GATE(HCLK_RGA3_1, "hclk_rga3_1", "hclk_rga3_root", 0, 162262306a36Sopenharmony_ci RK3588_CLKGATE_CON(76), 4, GFLAGS), 162362306a36Sopenharmony_ci GATE(ACLK_RGA3_1, "aclk_rga3_1", "aclk_rga3_root", 0, 162462306a36Sopenharmony_ci RK3588_CLKGATE_CON(76), 5, GFLAGS), 162562306a36Sopenharmony_ci 162662306a36Sopenharmony_ci /* vdec */ 162762306a36Sopenharmony_ci COMPOSITE_NODIV(0, "hclk_rkvdec0_root", mux_200m_100m_50m_24m_p, 0, 162862306a36Sopenharmony_ci RK3588_CLKSEL_CON(89), 0, 2, MFLAGS, 162962306a36Sopenharmony_ci RK3588_CLKGATE_CON(40), 0, GFLAGS), 163062306a36Sopenharmony_ci COMPOSITE(0, "aclk_rkvdec0_root", gpll_cpll_aupll_spll_p, 0, 163162306a36Sopenharmony_ci RK3588_CLKSEL_CON(89), 7, 2, MFLAGS, 2, 5, DFLAGS, 163262306a36Sopenharmony_ci RK3588_CLKGATE_CON(40), 1, GFLAGS), 163362306a36Sopenharmony_ci COMPOSITE(ACLK_RKVDEC_CCU, "aclk_rkvdec_ccu", gpll_cpll_aupll_spll_p, 0, 163462306a36Sopenharmony_ci RK3588_CLKSEL_CON(89), 14, 2, MFLAGS, 9, 5, DFLAGS, 163562306a36Sopenharmony_ci RK3588_CLKGATE_CON(40), 2, GFLAGS), 163662306a36Sopenharmony_ci COMPOSITE(CLK_RKVDEC0_CA, "clk_rkvdec0_ca", gpll_cpll_p, 0, 163762306a36Sopenharmony_ci RK3588_CLKSEL_CON(90), 5, 1, MFLAGS, 0, 5, DFLAGS, 163862306a36Sopenharmony_ci RK3588_CLKGATE_CON(40), 7, GFLAGS), 163962306a36Sopenharmony_ci COMPOSITE(CLK_RKVDEC0_HEVC_CA, "clk_rkvdec0_hevc_ca", gpll_cpll_npll_1000m_p, 0, 164062306a36Sopenharmony_ci RK3588_CLKSEL_CON(90), 11, 2, MFLAGS, 6, 5, DFLAGS, 164162306a36Sopenharmony_ci RK3588_CLKGATE_CON(40), 8, GFLAGS), 164262306a36Sopenharmony_ci COMPOSITE(CLK_RKVDEC0_CORE, "clk_rkvdec0_core", gpll_cpll_p, 0, 164362306a36Sopenharmony_ci RK3588_CLKSEL_CON(91), 5, 1, MFLAGS, 0, 5, DFLAGS, 164462306a36Sopenharmony_ci RK3588_CLKGATE_CON(40), 9, GFLAGS), 164562306a36Sopenharmony_ci COMPOSITE_NODIV(0, "hclk_rkvdec1_root", mux_200m_100m_50m_24m_p, 0, 164662306a36Sopenharmony_ci RK3588_CLKSEL_CON(93), 0, 2, MFLAGS, 164762306a36Sopenharmony_ci RK3588_CLKGATE_CON(41), 0, GFLAGS), 164862306a36Sopenharmony_ci COMPOSITE(0, "aclk_rkvdec1_root", gpll_cpll_aupll_npll_p, 0, 164962306a36Sopenharmony_ci RK3588_CLKSEL_CON(93), 7, 2, MFLAGS, 2, 5, DFLAGS, 165062306a36Sopenharmony_ci RK3588_CLKGATE_CON(41), 1, GFLAGS), 165162306a36Sopenharmony_ci COMPOSITE(CLK_RKVDEC1_CA, "clk_rkvdec1_ca", gpll_cpll_p, 0, 165262306a36Sopenharmony_ci RK3588_CLKSEL_CON(93), 14, 1, MFLAGS, 9, 5, DFLAGS, 165362306a36Sopenharmony_ci RK3588_CLKGATE_CON(41), 6, GFLAGS), 165462306a36Sopenharmony_ci COMPOSITE(CLK_RKVDEC1_HEVC_CA, "clk_rkvdec1_hevc_ca", gpll_cpll_npll_1000m_p, 0, 165562306a36Sopenharmony_ci RK3588_CLKSEL_CON(94), 5, 2, MFLAGS, 0, 5, DFLAGS, 165662306a36Sopenharmony_ci RK3588_CLKGATE_CON(41), 7, GFLAGS), 165762306a36Sopenharmony_ci COMPOSITE(CLK_RKVDEC1_CORE, "clk_rkvdec1_core", gpll_cpll_p, 0, 165862306a36Sopenharmony_ci RK3588_CLKSEL_CON(94), 12, 1, MFLAGS, 7, 5, DFLAGS, 165962306a36Sopenharmony_ci RK3588_CLKGATE_CON(41), 8, GFLAGS), 166062306a36Sopenharmony_ci 166162306a36Sopenharmony_ci /* sdio */ 166262306a36Sopenharmony_ci COMPOSITE_NODIV(0, "hclk_sdio_root", mux_200m_100m_50m_24m_p, 0, 166362306a36Sopenharmony_ci RK3588_CLKSEL_CON(172), 0, 2, MFLAGS, 166462306a36Sopenharmony_ci RK3588_CLKGATE_CON(75), 0, GFLAGS), 166562306a36Sopenharmony_ci COMPOSITE(CCLK_SRC_SDIO, "cclk_src_sdio", gpll_cpll_24m_p, 0, 166662306a36Sopenharmony_ci RK3588_CLKSEL_CON(172), 8, 2, MFLAGS, 2, 6, DFLAGS, 166762306a36Sopenharmony_ci RK3588_CLKGATE_CON(75), 3, GFLAGS), 166862306a36Sopenharmony_ci MMC(SCLK_SDIO_DRV, "sdio_drv", "cclk_src_sdio", RK3588_SDIO_CON0, 1), 166962306a36Sopenharmony_ci MMC(SCLK_SDIO_SAMPLE, "sdio_sample", "cclk_src_sdio", RK3588_SDIO_CON1, 1), 167062306a36Sopenharmony_ci 167162306a36Sopenharmony_ci /* usb */ 167262306a36Sopenharmony_ci COMPOSITE(ACLK_USB_ROOT, "aclk_usb_root", gpll_cpll_p, 0, 167362306a36Sopenharmony_ci RK3588_CLKSEL_CON(96), 5, 1, MFLAGS, 0, 5, DFLAGS, 167462306a36Sopenharmony_ci RK3588_CLKGATE_CON(42), 0, GFLAGS), 167562306a36Sopenharmony_ci COMPOSITE_NODIV(HCLK_USB_ROOT, "hclk_usb_root", mux_150m_100m_50m_24m_p, 0, 167662306a36Sopenharmony_ci RK3588_CLKSEL_CON(96), 6, 2, MFLAGS, 167762306a36Sopenharmony_ci RK3588_CLKGATE_CON(42), 1, GFLAGS), 167862306a36Sopenharmony_ci GATE(SUSPEND_CLK_USB3OTG0, "suspend_clk_usb3otg0", "xin24m", 0, 167962306a36Sopenharmony_ci RK3588_CLKGATE_CON(42), 5, GFLAGS), 168062306a36Sopenharmony_ci GATE(REF_CLK_USB3OTG0, "ref_clk_usb3otg0", "xin24m", 0, 168162306a36Sopenharmony_ci RK3588_CLKGATE_CON(42), 6, GFLAGS), 168262306a36Sopenharmony_ci GATE(SUSPEND_CLK_USB3OTG1, "suspend_clk_usb3otg1", "xin24m", 0, 168362306a36Sopenharmony_ci RK3588_CLKGATE_CON(42), 8, GFLAGS), 168462306a36Sopenharmony_ci GATE(REF_CLK_USB3OTG1, "ref_clk_usb3otg1", "xin24m", 0, 168562306a36Sopenharmony_ci RK3588_CLKGATE_CON(42), 9, GFLAGS), 168662306a36Sopenharmony_ci 168762306a36Sopenharmony_ci /* vdpu */ 168862306a36Sopenharmony_ci COMPOSITE(ACLK_VDPU_ROOT, "aclk_vdpu_root", gpll_cpll_aupll_p, RK3588_LINKED_CLK, 168962306a36Sopenharmony_ci RK3588_CLKSEL_CON(98), 5, 2, MFLAGS, 0, 5, DFLAGS, 169062306a36Sopenharmony_ci RK3588_CLKGATE_CON(44), 0, GFLAGS), 169162306a36Sopenharmony_ci COMPOSITE_NODIV(ACLK_VDPU_LOW_ROOT, "aclk_vdpu_low_root", mux_400m_200m_100m_24m_p, 0, 169262306a36Sopenharmony_ci RK3588_CLKSEL_CON(98), 7, 2, MFLAGS, 169362306a36Sopenharmony_ci RK3588_CLKGATE_CON(44), 1, GFLAGS), 169462306a36Sopenharmony_ci COMPOSITE_NODIV(HCLK_VDPU_ROOT, "hclk_vdpu_root", mux_200m_100m_50m_24m_p, RK3588_LINKED_CLK, 169562306a36Sopenharmony_ci RK3588_CLKSEL_CON(98), 9, 2, MFLAGS, 169662306a36Sopenharmony_ci RK3588_CLKGATE_CON(44), 2, GFLAGS), 169762306a36Sopenharmony_ci COMPOSITE(ACLK_JPEG_DECODER_ROOT, "aclk_jpeg_decoder_root", gpll_cpll_aupll_spll_p, 0, 169862306a36Sopenharmony_ci RK3588_CLKSEL_CON(99), 5, 2, MFLAGS, 0, 5, DFLAGS, 169962306a36Sopenharmony_ci RK3588_CLKGATE_CON(44), 3, GFLAGS), 170062306a36Sopenharmony_ci GATE(HCLK_IEP2P0, "hclk_iep2p0", "hclk_vdpu_root", 0, 170162306a36Sopenharmony_ci RK3588_CLKGATE_CON(45), 4, GFLAGS), 170262306a36Sopenharmony_ci COMPOSITE(CLK_IEP2P0_CORE, "clk_iep2p0_core", gpll_cpll_p, 0, 170362306a36Sopenharmony_ci RK3588_CLKSEL_CON(99), 12, 1, MFLAGS, 7, 5, DFLAGS, 170462306a36Sopenharmony_ci RK3588_CLKGATE_CON(45), 6, GFLAGS), 170562306a36Sopenharmony_ci GATE(HCLK_JPEG_ENCODER0, "hclk_jpeg_encoder0", "hclk_vdpu_root", 0, 170662306a36Sopenharmony_ci RK3588_CLKGATE_CON(44), 11, GFLAGS), 170762306a36Sopenharmony_ci GATE(HCLK_JPEG_ENCODER1, "hclk_jpeg_encoder1", "hclk_vdpu_root", 0, 170862306a36Sopenharmony_ci RK3588_CLKGATE_CON(44), 13, GFLAGS), 170962306a36Sopenharmony_ci GATE(HCLK_JPEG_ENCODER2, "hclk_jpeg_encoder2", "hclk_vdpu_root", 0, 171062306a36Sopenharmony_ci RK3588_CLKGATE_CON(44), 15, GFLAGS), 171162306a36Sopenharmony_ci GATE(HCLK_JPEG_ENCODER3, "hclk_jpeg_encoder3", "hclk_vdpu_root", 0, 171262306a36Sopenharmony_ci RK3588_CLKGATE_CON(45), 1, GFLAGS), 171362306a36Sopenharmony_ci GATE(HCLK_JPEG_DECODER, "hclk_jpeg_decoder", "hclk_vdpu_root", 0, 171462306a36Sopenharmony_ci RK3588_CLKGATE_CON(45), 3, GFLAGS), 171562306a36Sopenharmony_ci GATE(HCLK_RGA2, "hclk_rga2", "hclk_vdpu_root", 0, 171662306a36Sopenharmony_ci RK3588_CLKGATE_CON(45), 7, GFLAGS), 171762306a36Sopenharmony_ci GATE(ACLK_RGA2, "aclk_rga2", "aclk_vdpu_root", 0, 171862306a36Sopenharmony_ci RK3588_CLKGATE_CON(45), 8, GFLAGS), 171962306a36Sopenharmony_ci COMPOSITE(CLK_RGA2_CORE, "clk_rga2_core", gpll_cpll_npll_aupll_spll_p, 0, 172062306a36Sopenharmony_ci RK3588_CLKSEL_CON(100), 5, 3, MFLAGS, 0, 5, DFLAGS, 172162306a36Sopenharmony_ci RK3588_CLKGATE_CON(45), 9, GFLAGS), 172262306a36Sopenharmony_ci GATE(HCLK_RGA3_0, "hclk_rga3_0", "hclk_vdpu_root", 0, 172362306a36Sopenharmony_ci RK3588_CLKGATE_CON(45), 10, GFLAGS), 172462306a36Sopenharmony_ci GATE(ACLK_RGA3_0, "aclk_rga3_0", "aclk_vdpu_root", 0, 172562306a36Sopenharmony_ci RK3588_CLKGATE_CON(45), 11, GFLAGS), 172662306a36Sopenharmony_ci COMPOSITE(CLK_RGA3_0_CORE, "clk_rga3_0_core", gpll_cpll_npll_aupll_spll_p, 0, 172762306a36Sopenharmony_ci RK3588_CLKSEL_CON(100), 13, 3, MFLAGS, 8, 5, DFLAGS, 172862306a36Sopenharmony_ci RK3588_CLKGATE_CON(45), 12, GFLAGS), 172962306a36Sopenharmony_ci GATE(HCLK_VPU, "hclk_vpu", "hclk_vdpu_root", 0, 173062306a36Sopenharmony_ci RK3588_CLKGATE_CON(44), 9, GFLAGS), 173162306a36Sopenharmony_ci 173262306a36Sopenharmony_ci /* venc */ 173362306a36Sopenharmony_ci COMPOSITE_NODIV(HCLK_RKVENC1_ROOT, "hclk_rkvenc1_root", mux_200m_100m_50m_24m_p, 0, 173462306a36Sopenharmony_ci RK3588_CLKSEL_CON(104), 0, 2, MFLAGS, 173562306a36Sopenharmony_ci RK3588_CLKGATE_CON(48), 0, GFLAGS), 173662306a36Sopenharmony_ci COMPOSITE(ACLK_RKVENC1_ROOT, "aclk_rkvenc1_root", gpll_cpll_npll_p, 0, 173762306a36Sopenharmony_ci RK3588_CLKSEL_CON(104), 7, 2, MFLAGS, 2, 5, DFLAGS, 173862306a36Sopenharmony_ci RK3588_CLKGATE_CON(48), 1, GFLAGS), 173962306a36Sopenharmony_ci COMPOSITE_NODIV(HCLK_RKVENC0_ROOT, "hclk_rkvenc0_root", mux_200m_100m_50m_24m_p, 0, 174062306a36Sopenharmony_ci RK3588_CLKSEL_CON(102), 0, 2, MFLAGS, 174162306a36Sopenharmony_ci RK3588_CLKGATE_CON(47), 0, GFLAGS), 174262306a36Sopenharmony_ci COMPOSITE(ACLK_RKVENC0_ROOT, "aclk_rkvenc0_root", gpll_cpll_npll_p, 0, 174362306a36Sopenharmony_ci RK3588_CLKSEL_CON(102), 7, 2, MFLAGS, 2, 5, DFLAGS, 174462306a36Sopenharmony_ci RK3588_CLKGATE_CON(47), 1, GFLAGS), 174562306a36Sopenharmony_ci GATE(HCLK_RKVENC0, "hclk_rkvenc0", "hclk_rkvenc0_root", RK3588_LINKED_CLK, 174662306a36Sopenharmony_ci RK3588_CLKGATE_CON(47), 4, GFLAGS), 174762306a36Sopenharmony_ci GATE(ACLK_RKVENC0, "aclk_rkvenc0", "aclk_rkvenc0_root", RK3588_LINKED_CLK, 174862306a36Sopenharmony_ci RK3588_CLKGATE_CON(47), 5, GFLAGS), 174962306a36Sopenharmony_ci COMPOSITE(CLK_RKVENC0_CORE, "clk_rkvenc0_core", gpll_cpll_aupll_npll_p, 0, 175062306a36Sopenharmony_ci RK3588_CLKSEL_CON(102), 14, 2, MFLAGS, 9, 5, DFLAGS, 175162306a36Sopenharmony_ci RK3588_CLKGATE_CON(47), 6, GFLAGS), 175262306a36Sopenharmony_ci COMPOSITE(CLK_RKVENC1_CORE, "clk_rkvenc1_core", gpll_cpll_aupll_npll_p, 0, 175362306a36Sopenharmony_ci RK3588_CLKSEL_CON(104), 14, 2, MFLAGS, 9, 5, DFLAGS, 175462306a36Sopenharmony_ci RK3588_CLKGATE_CON(48), 6, GFLAGS), 175562306a36Sopenharmony_ci 175662306a36Sopenharmony_ci /* vi */ 175762306a36Sopenharmony_ci COMPOSITE(ACLK_VI_ROOT, "aclk_vi_root", gpll_cpll_npll_aupll_spll_p, RK3588_LINKED_CLK, 175862306a36Sopenharmony_ci RK3588_CLKSEL_CON(106), 5, 3, MFLAGS, 0, 5, DFLAGS, 175962306a36Sopenharmony_ci RK3588_CLKGATE_CON(49), 0, GFLAGS), 176062306a36Sopenharmony_ci COMPOSITE_NODIV(HCLK_VI_ROOT, "hclk_vi_root", mux_200m_100m_50m_24m_p, RK3588_LINKED_CLK, 176162306a36Sopenharmony_ci RK3588_CLKSEL_CON(106), 8, 2, MFLAGS, 176262306a36Sopenharmony_ci RK3588_CLKGATE_CON(49), 1, GFLAGS), 176362306a36Sopenharmony_ci COMPOSITE_NODIV(PCLK_VI_ROOT, "pclk_vi_root", mux_100m_50m_24m_p, 0, 176462306a36Sopenharmony_ci RK3588_CLKSEL_CON(106), 10, 2, MFLAGS, 176562306a36Sopenharmony_ci RK3588_CLKGATE_CON(49), 2, GFLAGS), 176662306a36Sopenharmony_ci COMPOSITE_NODIV(ICLK_CSIHOST01, "iclk_csihost01", mux_400m_200m_100m_24m_p, 0, 176762306a36Sopenharmony_ci RK3588_CLKSEL_CON(108), 14, 2, MFLAGS, 176862306a36Sopenharmony_ci RK3588_CLKGATE_CON(51), 10, GFLAGS), 176962306a36Sopenharmony_ci GATE(ICLK_CSIHOST0, "iclk_csihost0", "iclk_csihost01", 0, 177062306a36Sopenharmony_ci RK3588_CLKGATE_CON(51), 11, GFLAGS), 177162306a36Sopenharmony_ci GATE(ICLK_CSIHOST1, "iclk_csihost1", "iclk_csihost01", 0, 177262306a36Sopenharmony_ci RK3588_CLKGATE_CON(51), 12, GFLAGS), 177362306a36Sopenharmony_ci GATE(PCLK_CSI_HOST_0, "pclk_csi_host_0", "pclk_vi_root", 0, 177462306a36Sopenharmony_ci RK3588_CLKGATE_CON(50), 4, GFLAGS), 177562306a36Sopenharmony_ci GATE(PCLK_CSI_HOST_1, "pclk_csi_host_1", "pclk_vi_root", 0, 177662306a36Sopenharmony_ci RK3588_CLKGATE_CON(50), 5, GFLAGS), 177762306a36Sopenharmony_ci GATE(PCLK_CSI_HOST_2, "pclk_csi_host_2", "pclk_vi_root", 0, 177862306a36Sopenharmony_ci RK3588_CLKGATE_CON(50), 6, GFLAGS), 177962306a36Sopenharmony_ci GATE(PCLK_CSI_HOST_3, "pclk_csi_host_3", "pclk_vi_root", 0, 178062306a36Sopenharmony_ci RK3588_CLKGATE_CON(50), 7, GFLAGS), 178162306a36Sopenharmony_ci GATE(PCLK_CSI_HOST_4, "pclk_csi_host_4", "pclk_vi_root", 0, 178262306a36Sopenharmony_ci RK3588_CLKGATE_CON(50), 8, GFLAGS), 178362306a36Sopenharmony_ci GATE(PCLK_CSI_HOST_5, "pclk_csi_host_5", "pclk_vi_root", 0, 178462306a36Sopenharmony_ci RK3588_CLKGATE_CON(50), 9, GFLAGS), 178562306a36Sopenharmony_ci GATE(ACLK_FISHEYE0, "aclk_fisheye0", "aclk_vi_root", 0, 178662306a36Sopenharmony_ci RK3588_CLKGATE_CON(49), 14, GFLAGS), 178762306a36Sopenharmony_ci GATE(HCLK_FISHEYE0, "hclk_fisheye0", "hclk_vi_root", 0, 178862306a36Sopenharmony_ci RK3588_CLKGATE_CON(49), 15, GFLAGS), 178962306a36Sopenharmony_ci COMPOSITE(CLK_FISHEYE0_CORE, "clk_fisheye0_core", gpll_cpll_aupll_spll_p, 0, 179062306a36Sopenharmony_ci RK3588_CLKSEL_CON(108), 5, 2, MFLAGS, 0, 5, DFLAGS, 179162306a36Sopenharmony_ci RK3588_CLKGATE_CON(50), 0, GFLAGS), 179262306a36Sopenharmony_ci GATE(ACLK_FISHEYE1, "aclk_fisheye1", "aclk_vi_root", 0, 179362306a36Sopenharmony_ci RK3588_CLKGATE_CON(50), 1, GFLAGS), 179462306a36Sopenharmony_ci GATE(HCLK_FISHEYE1, "hclk_fisheye1", "hclk_vi_root", 0, 179562306a36Sopenharmony_ci RK3588_CLKGATE_CON(50), 2, GFLAGS), 179662306a36Sopenharmony_ci COMPOSITE(CLK_FISHEYE1_CORE, "clk_fisheye1_core", gpll_cpll_aupll_spll_p, 0, 179762306a36Sopenharmony_ci RK3588_CLKSEL_CON(108), 12, 2, MFLAGS, 7, 5, DFLAGS, 179862306a36Sopenharmony_ci RK3588_CLKGATE_CON(50), 3, GFLAGS), 179962306a36Sopenharmony_ci COMPOSITE(CLK_ISP0_CORE, "clk_isp0_core", gpll_cpll_aupll_spll_p, 0, 180062306a36Sopenharmony_ci RK3588_CLKSEL_CON(107), 11, 2, MFLAGS, 6, 5, DFLAGS, 180162306a36Sopenharmony_ci RK3588_CLKGATE_CON(49), 9, GFLAGS), 180262306a36Sopenharmony_ci GATE(CLK_ISP0_CORE_MARVIN, "clk_isp0_core_marvin", "clk_isp0_core", 0, 180362306a36Sopenharmony_ci RK3588_CLKGATE_CON(49), 10, GFLAGS), 180462306a36Sopenharmony_ci GATE(CLK_ISP0_CORE_VICAP, "clk_isp0_core_vicap", "clk_isp0_core", 0, 180562306a36Sopenharmony_ci RK3588_CLKGATE_CON(49), 11, GFLAGS), 180662306a36Sopenharmony_ci GATE(ACLK_ISP0, "aclk_isp0", "aclk_vi_root", 0, 180762306a36Sopenharmony_ci RK3588_CLKGATE_CON(49), 12, GFLAGS), 180862306a36Sopenharmony_ci GATE(HCLK_ISP0, "hclk_isp0", "hclk_vi_root", 0, 180962306a36Sopenharmony_ci RK3588_CLKGATE_CON(49), 13, GFLAGS), 181062306a36Sopenharmony_ci COMPOSITE(DCLK_VICAP, "dclk_vicap", gpll_cpll_p, 0, 181162306a36Sopenharmony_ci RK3588_CLKSEL_CON(107), 5, 1, MFLAGS, 0, 5, DFLAGS, 181262306a36Sopenharmony_ci RK3588_CLKGATE_CON(49), 6, GFLAGS), 181362306a36Sopenharmony_ci GATE(ACLK_VICAP, "aclk_vicap", "aclk_vi_root", 0, 181462306a36Sopenharmony_ci RK3588_CLKGATE_CON(49), 7, GFLAGS), 181562306a36Sopenharmony_ci GATE(HCLK_VICAP, "hclk_vicap", "hclk_vi_root", 0, 181662306a36Sopenharmony_ci RK3588_CLKGATE_CON(49), 8, GFLAGS), 181762306a36Sopenharmony_ci 181862306a36Sopenharmony_ci /* vo0 */ 181962306a36Sopenharmony_ci COMPOSITE(ACLK_VO0_ROOT, "aclk_vo0_root", gpll_cpll_p, 0, 182062306a36Sopenharmony_ci RK3588_CLKSEL_CON(116), 5, 1, MFLAGS, 0, 5, DFLAGS, 182162306a36Sopenharmony_ci RK3588_CLKGATE_CON(55), 0, GFLAGS), 182262306a36Sopenharmony_ci COMPOSITE_NODIV(HCLK_VO0_ROOT, "hclk_vo0_root", mux_200m_100m_50m_24m_p, 0, 182362306a36Sopenharmony_ci RK3588_CLKSEL_CON(116), 6, 2, MFLAGS, 182462306a36Sopenharmony_ci RK3588_CLKGATE_CON(55), 1, GFLAGS), 182562306a36Sopenharmony_ci COMPOSITE_NODIV(HCLK_VO0_S_ROOT, "hclk_vo0_s_root", mux_200m_100m_50m_24m_p, 0, 182662306a36Sopenharmony_ci RK3588_CLKSEL_CON(116), 8, 2, MFLAGS, 182762306a36Sopenharmony_ci RK3588_CLKGATE_CON(55), 2, GFLAGS), 182862306a36Sopenharmony_ci COMPOSITE_NODIV(PCLK_VO0_ROOT, "pclk_vo0_root", mux_100m_50m_24m_p, 0, 182962306a36Sopenharmony_ci RK3588_CLKSEL_CON(116), 10, 2, MFLAGS, 183062306a36Sopenharmony_ci RK3588_CLKGATE_CON(55), 3, GFLAGS), 183162306a36Sopenharmony_ci COMPOSITE_NODIV(PCLK_VO0_S_ROOT, "pclk_vo0_s_root", mux_100m_50m_24m_p, 0, 183262306a36Sopenharmony_ci RK3588_CLKSEL_CON(116), 12, 2, MFLAGS, 183362306a36Sopenharmony_ci RK3588_CLKGATE_CON(55), 4, GFLAGS), 183462306a36Sopenharmony_ci GATE(PCLK_DP0, "pclk_dp0", "pclk_vo0_root", 0, 183562306a36Sopenharmony_ci RK3588_CLKGATE_CON(56), 4, GFLAGS), 183662306a36Sopenharmony_ci GATE(PCLK_DP1, "pclk_dp1", "pclk_vo0_root", 0, 183762306a36Sopenharmony_ci RK3588_CLKGATE_CON(56), 5, GFLAGS), 183862306a36Sopenharmony_ci GATE(PCLK_S_DP0, "pclk_s_dp0", "pclk_vo0_s_root", 0, 183962306a36Sopenharmony_ci RK3588_CLKGATE_CON(56), 6, GFLAGS), 184062306a36Sopenharmony_ci GATE(PCLK_S_DP1, "pclk_s_dp1", "pclk_vo0_s_root", 0, 184162306a36Sopenharmony_ci RK3588_CLKGATE_CON(56), 7, GFLAGS), 184262306a36Sopenharmony_ci GATE(CLK_DP0, "clk_dp0", "aclk_vo0_root", 0, 184362306a36Sopenharmony_ci RK3588_CLKGATE_CON(56), 8, GFLAGS), 184462306a36Sopenharmony_ci GATE(CLK_DP1, "clk_dp1", "aclk_vo0_root", 0, 184562306a36Sopenharmony_ci RK3588_CLKGATE_CON(56), 9, GFLAGS), 184662306a36Sopenharmony_ci GATE(HCLK_HDCP_KEY0, "hclk_hdcp_key0", "hclk_vo0_s_root", 0, 184762306a36Sopenharmony_ci RK3588_CLKGATE_CON(55), 11, GFLAGS), 184862306a36Sopenharmony_ci GATE(PCLK_HDCP0, "pclk_hdcp0", "pclk_vo0_root", 0, 184962306a36Sopenharmony_ci RK3588_CLKGATE_CON(55), 14, GFLAGS), 185062306a36Sopenharmony_ci GATE(ACLK_TRNG0, "aclk_trng0", "aclk_vo0_root", 0, 185162306a36Sopenharmony_ci RK3588_CLKGATE_CON(56), 0, GFLAGS), 185262306a36Sopenharmony_ci GATE(PCLK_TRNG0, "pclk_trng0", "pclk_vo0_root", 0, 185362306a36Sopenharmony_ci RK3588_CLKGATE_CON(56), 1, GFLAGS), 185462306a36Sopenharmony_ci GATE(PCLK_VO0GRF, "pclk_vo0grf", "pclk_vo0_root", CLK_IGNORE_UNUSED, 185562306a36Sopenharmony_ci RK3588_CLKGATE_CON(55), 10, GFLAGS), 185662306a36Sopenharmony_ci COMPOSITE(CLK_I2S4_8CH_TX_SRC, "clk_i2s4_8ch_tx_src", gpll_aupll_p, 0, 185762306a36Sopenharmony_ci RK3588_CLKSEL_CON(118), 5, 1, MFLAGS, 0, 5, DFLAGS, 185862306a36Sopenharmony_ci RK3588_CLKGATE_CON(56), 11, GFLAGS), 185962306a36Sopenharmony_ci COMPOSITE_FRACMUX(CLK_I2S4_8CH_TX_FRAC, "clk_i2s4_8ch_tx_frac", "clk_i2s4_8ch_tx_src", 186062306a36Sopenharmony_ci CLK_SET_RATE_PARENT, 186162306a36Sopenharmony_ci RK3588_CLKSEL_CON(119), 0, 186262306a36Sopenharmony_ci RK3588_CLKGATE_CON(56), 12, GFLAGS, 186362306a36Sopenharmony_ci &rk3588_i2s4_8ch_tx_fracmux), 186462306a36Sopenharmony_ci GATE(MCLK_I2S4_8CH_TX, "mclk_i2s4_8ch_tx", "clk_i2s4_8ch_tx", 0, 186562306a36Sopenharmony_ci RK3588_CLKGATE_CON(56), 13, GFLAGS), 186662306a36Sopenharmony_ci COMPOSITE(CLK_I2S8_8CH_TX_SRC, "clk_i2s8_8ch_tx_src", gpll_aupll_p, 0, 186762306a36Sopenharmony_ci RK3588_CLKSEL_CON(120), 8, 1, MFLAGS, 3, 5, DFLAGS, 186862306a36Sopenharmony_ci RK3588_CLKGATE_CON(56), 15, GFLAGS), 186962306a36Sopenharmony_ci COMPOSITE_FRACMUX(CLK_I2S8_8CH_TX_FRAC, "clk_i2s8_8ch_tx_frac", "clk_i2s8_8ch_tx_src", 187062306a36Sopenharmony_ci CLK_SET_RATE_PARENT, 187162306a36Sopenharmony_ci RK3588_CLKSEL_CON(121), 0, 187262306a36Sopenharmony_ci RK3588_CLKGATE_CON(57), 0, GFLAGS, 187362306a36Sopenharmony_ci &rk3588_i2s8_8ch_tx_fracmux), 187462306a36Sopenharmony_ci GATE(MCLK_I2S8_8CH_TX, "mclk_i2s8_8ch_tx", "clk_i2s8_8ch_tx", 0, 187562306a36Sopenharmony_ci RK3588_CLKGATE_CON(57), 1, GFLAGS), 187662306a36Sopenharmony_ci COMPOSITE(CLK_SPDIF2_DP0_SRC, "clk_spdif2_dp0_src", gpll_aupll_p, 0, 187762306a36Sopenharmony_ci RK3588_CLKSEL_CON(122), 8, 1, MFLAGS, 3, 5, DFLAGS, 187862306a36Sopenharmony_ci RK3588_CLKGATE_CON(57), 3, GFLAGS), 187962306a36Sopenharmony_ci COMPOSITE_FRACMUX(CLK_SPDIF2_DP0_FRAC, "clk_spdif2_dp0_frac", "clk_spdif2_dp0_src", 188062306a36Sopenharmony_ci CLK_SET_RATE_PARENT, 188162306a36Sopenharmony_ci RK3588_CLKSEL_CON(123), 0, 188262306a36Sopenharmony_ci RK3588_CLKGATE_CON(57), 4, GFLAGS, 188362306a36Sopenharmony_ci &rk3588_spdif2_dp0_fracmux), 188462306a36Sopenharmony_ci GATE(MCLK_SPDIF2_DP0, "mclk_spdif2_dp0", "clk_spdif2_dp0", 0, 188562306a36Sopenharmony_ci RK3588_CLKGATE_CON(57), 5, GFLAGS), 188662306a36Sopenharmony_ci GATE(MCLK_SPDIF2, "mclk_spdif2", "clk_spdif2_dp0", 0, 188762306a36Sopenharmony_ci RK3588_CLKGATE_CON(57), 6, GFLAGS), 188862306a36Sopenharmony_ci COMPOSITE(CLK_SPDIF5_DP1_SRC, "clk_spdif5_dp1_src", gpll_aupll_p, 0, 188962306a36Sopenharmony_ci RK3588_CLKSEL_CON(124), 7, 1, MFLAGS, 2, 5, DFLAGS, 189062306a36Sopenharmony_ci RK3588_CLKGATE_CON(57), 8, GFLAGS), 189162306a36Sopenharmony_ci COMPOSITE_FRACMUX(CLK_SPDIF5_DP1_FRAC, "clk_spdif5_dp1_frac", "clk_spdif5_dp1_src", 189262306a36Sopenharmony_ci CLK_SET_RATE_PARENT, 189362306a36Sopenharmony_ci RK3588_CLKSEL_CON(125), 0, 189462306a36Sopenharmony_ci RK3588_CLKGATE_CON(57), 9, GFLAGS, 189562306a36Sopenharmony_ci &rk3588_spdif5_dp1_fracmux), 189662306a36Sopenharmony_ci GATE(MCLK_SPDIF5_DP1, "mclk_spdif5_dp1", "clk_spdif5_dp1", 0, 189762306a36Sopenharmony_ci RK3588_CLKGATE_CON(57), 10, GFLAGS), 189862306a36Sopenharmony_ci GATE(MCLK_SPDIF5, "mclk_spdif5", "clk_spdif5_dp1", 0, 189962306a36Sopenharmony_ci RK3588_CLKGATE_CON(57), 11, GFLAGS), 190062306a36Sopenharmony_ci COMPOSITE_NOMUX(CLK_AUX16M_0, "clk_aux16m_0", "gpll", 0, 190162306a36Sopenharmony_ci RK3588_CLKSEL_CON(117), 0, 8, DFLAGS, 190262306a36Sopenharmony_ci RK3588_CLKGATE_CON(56), 2, GFLAGS), 190362306a36Sopenharmony_ci COMPOSITE_NOMUX(CLK_AUX16M_1, "clk_aux16m_1", "gpll", 0, 190462306a36Sopenharmony_ci RK3588_CLKSEL_CON(117), 8, 8, DFLAGS, 190562306a36Sopenharmony_ci RK3588_CLKGATE_CON(56), 3, GFLAGS), 190662306a36Sopenharmony_ci 190762306a36Sopenharmony_ci /* vo1 */ 190862306a36Sopenharmony_ci COMPOSITE_HALFDIV(CLK_HDMITRX_REFSRC, "clk_hdmitrx_refsrc", gpll_cpll_p, 0, 190962306a36Sopenharmony_ci RK3588_CLKSEL_CON(157), 7, 1, MFLAGS, 2, 5, DFLAGS, 191062306a36Sopenharmony_ci RK3588_CLKGATE_CON(65), 9, GFLAGS), 191162306a36Sopenharmony_ci COMPOSITE(ACLK_HDCP1_ROOT, "aclk_hdcp1_root", aclk_hdcp1_root_p, 0, 191262306a36Sopenharmony_ci RK3588_CLKSEL_CON(128), 5, 2, MFLAGS, 0, 5, DFLAGS, 191362306a36Sopenharmony_ci RK3588_CLKGATE_CON(59), 0, GFLAGS), 191462306a36Sopenharmony_ci COMPOSITE(ACLK_HDMIRX_ROOT, "aclk_hdmirx_root", gpll_cpll_p, 0, 191562306a36Sopenharmony_ci RK3588_CLKSEL_CON(128), 12, 1, MFLAGS, 7, 5, DFLAGS, 191662306a36Sopenharmony_ci RK3588_CLKGATE_CON(59), 1, GFLAGS), 191762306a36Sopenharmony_ci COMPOSITE_NODIV(HCLK_VO1_ROOT, "hclk_vo1_root", mux_200m_100m_50m_24m_p, 0, 191862306a36Sopenharmony_ci RK3588_CLKSEL_CON(128), 13, 2, MFLAGS, 191962306a36Sopenharmony_ci RK3588_CLKGATE_CON(59), 2, GFLAGS), 192062306a36Sopenharmony_ci COMPOSITE_NODIV(HCLK_VO1_S_ROOT, "hclk_vo1_s_root", mux_200m_100m_50m_24m_p, 0, 192162306a36Sopenharmony_ci RK3588_CLKSEL_CON(129), 0, 2, MFLAGS, 192262306a36Sopenharmony_ci RK3588_CLKGATE_CON(59), 3, GFLAGS), 192362306a36Sopenharmony_ci COMPOSITE_NODIV(PCLK_VO1_ROOT, "pclk_vo1_root", mux_150m_100m_24m_p, 0, 192462306a36Sopenharmony_ci RK3588_CLKSEL_CON(129), 2, 2, MFLAGS, 192562306a36Sopenharmony_ci RK3588_CLKGATE_CON(59), 4, GFLAGS), 192662306a36Sopenharmony_ci COMPOSITE_NODIV(PCLK_VO1_S_ROOT, "pclk_vo1_s_root", mux_100m_50m_24m_p, 0, 192762306a36Sopenharmony_ci RK3588_CLKSEL_CON(129), 4, 2, MFLAGS, 192862306a36Sopenharmony_ci RK3588_CLKGATE_CON(59), 5, GFLAGS), 192962306a36Sopenharmony_ci COMPOSITE(ACLK_VOP_ROOT, "aclk_vop_root", gpll_cpll_dmyaupll_npll_spll_p, 0, 193062306a36Sopenharmony_ci RK3588_CLKSEL_CON(110), 5, 3, MFLAGS, 0, 5, DFLAGS, 193162306a36Sopenharmony_ci RK3588_CLKGATE_CON(52), 0, GFLAGS), 193262306a36Sopenharmony_ci COMPOSITE_NODIV(ACLK_VOP_LOW_ROOT, "aclk_vop_low_root", mux_400m_200m_100m_24m_p, RK3588_LINKED_CLK, 193362306a36Sopenharmony_ci RK3588_CLKSEL_CON(110), 8, 2, MFLAGS, 193462306a36Sopenharmony_ci RK3588_CLKGATE_CON(52), 1, GFLAGS), 193562306a36Sopenharmony_ci COMPOSITE_NODIV(HCLK_VOP_ROOT, "hclk_vop_root", mux_200m_100m_50m_24m_p, RK3588_LINKED_CLK, 193662306a36Sopenharmony_ci RK3588_CLKSEL_CON(110), 10, 2, MFLAGS, 193762306a36Sopenharmony_ci RK3588_CLKGATE_CON(52), 2, GFLAGS), 193862306a36Sopenharmony_ci COMPOSITE_NODIV(PCLK_VOP_ROOT, "pclk_vop_root", mux_100m_50m_24m_p, 0, 193962306a36Sopenharmony_ci RK3588_CLKSEL_CON(110), 12, 2, MFLAGS, 194062306a36Sopenharmony_ci RK3588_CLKGATE_CON(52), 3, GFLAGS), 194162306a36Sopenharmony_ci COMPOSITE(ACLK_VO1USB_TOP_ROOT, "aclk_vo1usb_top_root", gpll_cpll_p, CLK_IS_CRITICAL, 194262306a36Sopenharmony_ci RK3588_CLKSEL_CON(170), 5, 1, MFLAGS, 0, 5, DFLAGS, 194362306a36Sopenharmony_ci RK3588_CLKGATE_CON(74), 0, GFLAGS), 194462306a36Sopenharmony_ci COMPOSITE_NODIV(HCLK_VO1USB_TOP_ROOT, "hclk_vo1usb_top_root", mux_200m_100m_50m_24m_p, CLK_IS_CRITICAL, 194562306a36Sopenharmony_ci RK3588_CLKSEL_CON(170), 6, 2, MFLAGS, 194662306a36Sopenharmony_ci RK3588_CLKGATE_CON(74), 2, GFLAGS), 194762306a36Sopenharmony_ci MUX(ACLK_VOP_SUB_SRC, "aclk_vop_sub_src", aclk_vop_sub_src_p, CLK_SET_RATE_PARENT, 194862306a36Sopenharmony_ci RK3588_CLKSEL_CON(115), 9, 1, MFLAGS), 194962306a36Sopenharmony_ci GATE(PCLK_EDP0, "pclk_edp0", "pclk_vo1_root", 0, 195062306a36Sopenharmony_ci RK3588_CLKGATE_CON(62), 0, GFLAGS), 195162306a36Sopenharmony_ci GATE(CLK_EDP0_24M, "clk_edp0_24m", "xin24m", 0, 195262306a36Sopenharmony_ci RK3588_CLKGATE_CON(62), 1, GFLAGS), 195362306a36Sopenharmony_ci COMPOSITE_NODIV(CLK_EDP0_200M, "clk_edp0_200m", mux_200m_100m_50m_24m_p, 0, 195462306a36Sopenharmony_ci RK3588_CLKSEL_CON(140), 1, 2, MFLAGS, 195562306a36Sopenharmony_ci RK3588_CLKGATE_CON(62), 2, GFLAGS), 195662306a36Sopenharmony_ci GATE(PCLK_EDP1, "pclk_edp1", "pclk_vo1_root", 0, 195762306a36Sopenharmony_ci RK3588_CLKGATE_CON(62), 3, GFLAGS), 195862306a36Sopenharmony_ci GATE(CLK_EDP1_24M, "clk_edp1_24m", "xin24m", 0, 195962306a36Sopenharmony_ci RK3588_CLKGATE_CON(62), 4, GFLAGS), 196062306a36Sopenharmony_ci COMPOSITE_NODIV(CLK_EDP1_200M, "clk_edp1_200m", mux_200m_100m_50m_24m_p, 0, 196162306a36Sopenharmony_ci RK3588_CLKSEL_CON(140), 3, 2, MFLAGS, 196262306a36Sopenharmony_ci RK3588_CLKGATE_CON(62), 5, GFLAGS), 196362306a36Sopenharmony_ci GATE(HCLK_HDCP_KEY1, "hclk_hdcp_key1", "hclk_vo1_s_root", 0, 196462306a36Sopenharmony_ci RK3588_CLKGATE_CON(60), 4, GFLAGS), 196562306a36Sopenharmony_ci GATE(PCLK_HDCP1, "pclk_hdcp1", "pclk_vo1_root", 0, 196662306a36Sopenharmony_ci RK3588_CLKGATE_CON(60), 7, GFLAGS), 196762306a36Sopenharmony_ci GATE(ACLK_HDMIRX, "aclk_hdmirx", "aclk_hdmirx_root", 0, 196862306a36Sopenharmony_ci RK3588_CLKGATE_CON(61), 9, GFLAGS), 196962306a36Sopenharmony_ci GATE(PCLK_HDMIRX, "pclk_hdmirx", "pclk_vo1_root", 0, 197062306a36Sopenharmony_ci RK3588_CLKGATE_CON(61), 10, GFLAGS), 197162306a36Sopenharmony_ci GATE(CLK_HDMIRX_REF, "clk_hdmirx_ref", "aclk_hdcp1_root", 0, 197262306a36Sopenharmony_ci RK3588_CLKGATE_CON(61), 11, GFLAGS), 197362306a36Sopenharmony_ci COMPOSITE(CLK_HDMIRX_AUD_SRC, "clk_hdmirx_aud_src", gpll_aupll_p, 0, 197462306a36Sopenharmony_ci RK3588_CLKSEL_CON(138), 8, 1, MFLAGS, 0, 8, DFLAGS, 197562306a36Sopenharmony_ci RK3588_CLKGATE_CON(61), 12, GFLAGS), 197662306a36Sopenharmony_ci COMPOSITE_FRACMUX(CLK_HDMIRX_AUD_FRAC, "clk_hdmirx_aud_frac", "clk_hdmirx_aud_src", 197762306a36Sopenharmony_ci CLK_SET_RATE_PARENT, 197862306a36Sopenharmony_ci RK3588_CLKSEL_CON(139), 0, 197962306a36Sopenharmony_ci RK3588_CLKGATE_CON(61), 13, GFLAGS, 198062306a36Sopenharmony_ci &rk3588_hdmirx_aud_fracmux), 198162306a36Sopenharmony_ci GATE(CLK_HDMIRX_AUD, "clk_hdmirx_aud", "clk_hdmirx_aud_mux", 0, 198262306a36Sopenharmony_ci RK3588_CLKGATE_CON(61), 14, GFLAGS), 198362306a36Sopenharmony_ci GATE(PCLK_HDMITX0, "pclk_hdmitx0", "pclk_vo1_root", 0, 198462306a36Sopenharmony_ci RK3588_CLKGATE_CON(60), 11, GFLAGS), 198562306a36Sopenharmony_ci COMPOSITE(CLK_HDMITX0_EARC, "clk_hdmitx0_earc", gpll_cpll_p, 0, 198662306a36Sopenharmony_ci RK3588_CLKSEL_CON(133), 6, 1, MFLAGS, 1, 5, DFLAGS, 198762306a36Sopenharmony_ci RK3588_CLKGATE_CON(60), 15, GFLAGS), 198862306a36Sopenharmony_ci GATE(CLK_HDMITX0_REF, "clk_hdmitx0_ref", "aclk_hdcp1_root", 0, 198962306a36Sopenharmony_ci RK3588_CLKGATE_CON(61), 0, GFLAGS), 199062306a36Sopenharmony_ci GATE(PCLK_HDMITX1, "pclk_hdmitx1", "pclk_vo1_root", 0, 199162306a36Sopenharmony_ci RK3588_CLKGATE_CON(61), 2, GFLAGS), 199262306a36Sopenharmony_ci COMPOSITE(CLK_HDMITX1_EARC, "clk_hdmitx1_earc", gpll_cpll_p, 0, 199362306a36Sopenharmony_ci RK3588_CLKSEL_CON(136), 6, 1, MFLAGS, 1, 5, DFLAGS, 199462306a36Sopenharmony_ci RK3588_CLKGATE_CON(61), 6, GFLAGS), 199562306a36Sopenharmony_ci GATE(CLK_HDMITX1_REF, "clk_hdmitx1_ref", "aclk_hdcp1_root", 0, 199662306a36Sopenharmony_ci RK3588_CLKGATE_CON(61), 7, GFLAGS), 199762306a36Sopenharmony_ci GATE(ACLK_TRNG1, "aclk_trng1", "aclk_hdcp1_root", 0, 199862306a36Sopenharmony_ci RK3588_CLKGATE_CON(60), 9, GFLAGS), 199962306a36Sopenharmony_ci GATE(PCLK_TRNG1, "pclk_trng1", "pclk_vo1_root", 0, 200062306a36Sopenharmony_ci RK3588_CLKGATE_CON(60), 10, GFLAGS), 200162306a36Sopenharmony_ci GATE(0, "pclk_vo1grf", "pclk_vo1_root", CLK_IGNORE_UNUSED, 200262306a36Sopenharmony_ci RK3588_CLKGATE_CON(59), 12, GFLAGS), 200362306a36Sopenharmony_ci GATE(PCLK_S_EDP0, "pclk_s_edp0", "pclk_vo1_s_root", 0, 200462306a36Sopenharmony_ci RK3588_CLKGATE_CON(59), 14, GFLAGS), 200562306a36Sopenharmony_ci GATE(PCLK_S_EDP1, "pclk_s_edp1", "pclk_vo1_s_root", 0, 200662306a36Sopenharmony_ci RK3588_CLKGATE_CON(59), 15, GFLAGS), 200762306a36Sopenharmony_ci GATE(PCLK_S_HDMIRX, "pclk_s_hdmirx", "pclk_vo1_s_root", 0, 200862306a36Sopenharmony_ci RK3588_CLKGATE_CON(65), 8, GFLAGS), 200962306a36Sopenharmony_ci COMPOSITE(CLK_I2S10_8CH_RX_SRC, "clk_i2s10_8ch_rx_src", gpll_aupll_p, 0, 201062306a36Sopenharmony_ci RK3588_CLKSEL_CON(155), 8, 1, MFLAGS, 3, 5, DFLAGS, 201162306a36Sopenharmony_ci RK3588_CLKGATE_CON(65), 5, GFLAGS), 201262306a36Sopenharmony_ci COMPOSITE_FRACMUX(CLK_I2S10_8CH_RX_FRAC, "clk_i2s10_8ch_rx_frac", "clk_i2s10_8ch_rx_src", 201362306a36Sopenharmony_ci CLK_SET_RATE_PARENT, 201462306a36Sopenharmony_ci RK3588_CLKSEL_CON(156), 0, 201562306a36Sopenharmony_ci RK3588_CLKGATE_CON(65), 6, GFLAGS, 201662306a36Sopenharmony_ci &rk3588_i2s10_8ch_rx_fracmux), 201762306a36Sopenharmony_ci GATE(MCLK_I2S10_8CH_RX, "mclk_i2s10_8ch_rx", "clk_i2s10_8ch_rx", 0, 201862306a36Sopenharmony_ci RK3588_CLKGATE_CON(65), 7, GFLAGS), 201962306a36Sopenharmony_ci COMPOSITE(CLK_I2S7_8CH_RX_SRC, "clk_i2s7_8ch_rx_src", gpll_aupll_p, 0, 202062306a36Sopenharmony_ci RK3588_CLKSEL_CON(129), 11, 1, MFLAGS, 6, 5, DFLAGS, 202162306a36Sopenharmony_ci RK3588_CLKGATE_CON(60), 1, GFLAGS), 202262306a36Sopenharmony_ci COMPOSITE_FRACMUX(CLK_I2S7_8CH_RX_FRAC, "clk_i2s7_8ch_rx_frac", "clk_i2s7_8ch_rx_src", 202362306a36Sopenharmony_ci CLK_SET_RATE_PARENT, 202462306a36Sopenharmony_ci RK3588_CLKSEL_CON(130), 0, 202562306a36Sopenharmony_ci RK3588_CLKGATE_CON(60), 2, GFLAGS, 202662306a36Sopenharmony_ci &rk3588_i2s7_8ch_rx_fracmux), 202762306a36Sopenharmony_ci GATE(MCLK_I2S7_8CH_RX, "mclk_i2s7_8ch_rx", "clk_i2s7_8ch_rx", 0, 202862306a36Sopenharmony_ci RK3588_CLKGATE_CON(60), 3, GFLAGS), 202962306a36Sopenharmony_ci COMPOSITE(CLK_I2S9_8CH_RX_SRC, "clk_i2s9_8ch_rx_src", gpll_aupll_p, 0, 203062306a36Sopenharmony_ci RK3588_CLKSEL_CON(153), 12, 1, MFLAGS, 7, 5, DFLAGS, 203162306a36Sopenharmony_ci RK3588_CLKGATE_CON(65), 1, GFLAGS), 203262306a36Sopenharmony_ci COMPOSITE_FRACMUX(CLK_I2S9_8CH_RX_FRAC, "clk_i2s9_8ch_rx_frac", "clk_i2s9_8ch_rx_src", 203362306a36Sopenharmony_ci CLK_SET_RATE_PARENT, 203462306a36Sopenharmony_ci RK3588_CLKSEL_CON(154), 0, 203562306a36Sopenharmony_ci RK3588_CLKGATE_CON(65), 2, GFLAGS, 203662306a36Sopenharmony_ci &rk3588_i2s9_8ch_rx_fracmux), 203762306a36Sopenharmony_ci GATE(MCLK_I2S9_8CH_RX, "mclk_i2s9_8ch_rx", "clk_i2s9_8ch_rx", 0, 203862306a36Sopenharmony_ci RK3588_CLKGATE_CON(65), 3, GFLAGS), 203962306a36Sopenharmony_ci COMPOSITE(CLK_I2S5_8CH_TX_SRC, "clk_i2s5_8ch_tx_src", gpll_aupll_p, 0, 204062306a36Sopenharmony_ci RK3588_CLKSEL_CON(140), 10, 1, MFLAGS, 5, 5, DFLAGS, 204162306a36Sopenharmony_ci RK3588_CLKGATE_CON(62), 6, GFLAGS), 204262306a36Sopenharmony_ci COMPOSITE_FRACMUX(CLK_I2S5_8CH_TX_FRAC, "clk_i2s5_8ch_tx_frac", "clk_i2s5_8ch_tx_src", 0, 204362306a36Sopenharmony_ci RK3588_CLKSEL_CON(141), 0, 204462306a36Sopenharmony_ci RK3588_CLKGATE_CON(62), 7, GFLAGS, 204562306a36Sopenharmony_ci &rk3588_i2s5_8ch_tx_fracmux), 204662306a36Sopenharmony_ci GATE(MCLK_I2S5_8CH_TX, "mclk_i2s5_8ch_tx", "clk_i2s5_8ch_tx", 0, 204762306a36Sopenharmony_ci RK3588_CLKGATE_CON(62), 8, GFLAGS), 204862306a36Sopenharmony_ci COMPOSITE(CLK_I2S6_8CH_TX_SRC, "clk_i2s6_8ch_tx_src", gpll_aupll_p, 0, 204962306a36Sopenharmony_ci RK3588_CLKSEL_CON(144), 8, 1, MFLAGS, 3, 5, DFLAGS, 205062306a36Sopenharmony_ci RK3588_CLKGATE_CON(62), 13, GFLAGS), 205162306a36Sopenharmony_ci COMPOSITE_FRACMUX(CLK_I2S6_8CH_TX_FRAC, "clk_i2s6_8ch_tx_frac", "clk_i2s6_8ch_tx_src", 205262306a36Sopenharmony_ci CLK_SET_RATE_PARENT, 205362306a36Sopenharmony_ci RK3588_CLKSEL_CON(145), 0, 205462306a36Sopenharmony_ci RK3588_CLKGATE_CON(62), 14, GFLAGS, 205562306a36Sopenharmony_ci &rk3588_i2s6_8ch_tx_fracmux), 205662306a36Sopenharmony_ci GATE(MCLK_I2S6_8CH_TX, "mclk_i2s6_8ch_tx", "clk_i2s6_8ch_tx", 0, 205762306a36Sopenharmony_ci RK3588_CLKGATE_CON(62), 15, GFLAGS), 205862306a36Sopenharmony_ci COMPOSITE(CLK_I2S6_8CH_RX_SRC, "clk_i2s6_8ch_rx_src", gpll_aupll_p, 0, 205962306a36Sopenharmony_ci RK3588_CLKSEL_CON(146), 7, 1, MFLAGS, 2, 5, DFLAGS, 206062306a36Sopenharmony_ci RK3588_CLKGATE_CON(63), 0, GFLAGS), 206162306a36Sopenharmony_ci COMPOSITE_FRACMUX(CLK_I2S6_8CH_RX_FRAC, "clk_i2s6_8ch_rx_frac", "clk_i2s6_8ch_rx_src", 0, 206262306a36Sopenharmony_ci RK3588_CLKSEL_CON(147), 0, 206362306a36Sopenharmony_ci RK3588_CLKGATE_CON(63), 1, GFLAGS, 206462306a36Sopenharmony_ci &rk3588_i2s6_8ch_rx_fracmux), 206562306a36Sopenharmony_ci GATE(MCLK_I2S6_8CH_RX, "mclk_i2s6_8ch_rx", "clk_i2s6_8ch_rx", 0, 206662306a36Sopenharmony_ci RK3588_CLKGATE_CON(63), 2, GFLAGS), 206762306a36Sopenharmony_ci MUX(I2S6_8CH_MCLKOUT, "i2s6_8ch_mclkout", i2s6_8ch_mclkout_p, CLK_SET_RATE_PARENT, 206862306a36Sopenharmony_ci RK3588_CLKSEL_CON(148), 2, 2, MFLAGS), 206962306a36Sopenharmony_ci COMPOSITE(CLK_SPDIF3_SRC, "clk_spdif3_src", gpll_aupll_p, 0, 207062306a36Sopenharmony_ci RK3588_CLKSEL_CON(148), 9, 1, MFLAGS, 4, 5, DFLAGS, 207162306a36Sopenharmony_ci RK3588_CLKGATE_CON(63), 5, GFLAGS), 207262306a36Sopenharmony_ci COMPOSITE_FRACMUX(CLK_SPDIF3_FRAC, "clk_spdif3_frac", "clk_spdif3_src", 207362306a36Sopenharmony_ci CLK_SET_RATE_PARENT, 207462306a36Sopenharmony_ci RK3588_CLKSEL_CON(149), 0, 207562306a36Sopenharmony_ci RK3588_CLKGATE_CON(63), 6, GFLAGS, 207662306a36Sopenharmony_ci &rk3588_spdif3_fracmux), 207762306a36Sopenharmony_ci GATE(MCLK_SPDIF3, "mclk_spdif3", "clk_spdif3", 0, 207862306a36Sopenharmony_ci RK3588_CLKGATE_CON(63), 7, GFLAGS), 207962306a36Sopenharmony_ci COMPOSITE(CLK_SPDIF4_SRC, "clk_spdif4_src", gpll_aupll_p, 0, 208062306a36Sopenharmony_ci RK3588_CLKSEL_CON(150), 7, 1, MFLAGS, 2, 5, DFLAGS, 208162306a36Sopenharmony_ci RK3588_CLKGATE_CON(63), 9, GFLAGS), 208262306a36Sopenharmony_ci COMPOSITE_FRACMUX(CLK_SPDIF4_FRAC, "clk_spdif4_frac", "clk_spdif4_src", 208362306a36Sopenharmony_ci CLK_SET_RATE_PARENT, 208462306a36Sopenharmony_ci RK3588_CLKSEL_CON(151), 0, 208562306a36Sopenharmony_ci RK3588_CLKGATE_CON(63), 10, GFLAGS, 208662306a36Sopenharmony_ci &rk3588_spdif4_fracmux), 208762306a36Sopenharmony_ci GATE(MCLK_SPDIF4, "mclk_spdif4", "clk_spdif4", 0, 208862306a36Sopenharmony_ci RK3588_CLKGATE_CON(63), 11, GFLAGS), 208962306a36Sopenharmony_ci COMPOSITE(MCLK_SPDIFRX0, "mclk_spdifrx0", gpll_cpll_aupll_p, 0, 209062306a36Sopenharmony_ci RK3588_CLKSEL_CON(152), 7, 2, MFLAGS, 2, 5, DFLAGS, 209162306a36Sopenharmony_ci RK3588_CLKGATE_CON(63), 13, GFLAGS), 209262306a36Sopenharmony_ci COMPOSITE(MCLK_SPDIFRX1, "mclk_spdifrx1", gpll_cpll_aupll_p, 0, 209362306a36Sopenharmony_ci RK3588_CLKSEL_CON(152), 14, 2, MFLAGS, 9, 5, DFLAGS, 209462306a36Sopenharmony_ci RK3588_CLKGATE_CON(63), 15, GFLAGS), 209562306a36Sopenharmony_ci COMPOSITE(MCLK_SPDIFRX2, "mclk_spdifrx2", gpll_cpll_aupll_p, 0, 209662306a36Sopenharmony_ci RK3588_CLKSEL_CON(153), 5, 2, MFLAGS, 0, 5, DFLAGS, 209762306a36Sopenharmony_ci RK3588_CLKGATE_CON(64), 1, GFLAGS), 209862306a36Sopenharmony_ci GATE(CLK_HDMIHDP0, "clk_hdmihdp0", "xin24m", 0, 209962306a36Sopenharmony_ci RK3588_CLKGATE_CON(73), 12, GFLAGS), 210062306a36Sopenharmony_ci GATE(CLK_HDMIHDP1, "clk_hdmihdp1", "xin24m", 0, 210162306a36Sopenharmony_ci RK3588_CLKGATE_CON(73), 13, GFLAGS), 210262306a36Sopenharmony_ci GATE(PCLK_HDPTX0, "pclk_hdptx0", "pclk_top_root", 0, 210362306a36Sopenharmony_ci RK3588_CLKGATE_CON(72), 5, GFLAGS), 210462306a36Sopenharmony_ci GATE(PCLK_HDPTX1, "pclk_hdptx1", "pclk_top_root", 0, 210562306a36Sopenharmony_ci RK3588_CLKGATE_CON(72), 6, GFLAGS), 210662306a36Sopenharmony_ci GATE(PCLK_USBDPPHY0, "pclk_usbdpphy0", "pclk_top_root", 0, 210762306a36Sopenharmony_ci RK3588_CLKGATE_CON(72), 2, GFLAGS), 210862306a36Sopenharmony_ci GATE(PCLK_USBDPPHY1, "pclk_usbdpphy1", "pclk_top_root", 0, 210962306a36Sopenharmony_ci RK3588_CLKGATE_CON(72), 4, GFLAGS), 211062306a36Sopenharmony_ci GATE(HCLK_VOP, "hclk_vop", "hclk_vop_root", 0, 211162306a36Sopenharmony_ci RK3588_CLKGATE_CON(52), 8, GFLAGS), 211262306a36Sopenharmony_ci GATE(ACLK_VOP, "aclk_vop", "aclk_vop_sub_src", 0, 211362306a36Sopenharmony_ci RK3588_CLKGATE_CON(52), 9, GFLAGS), 211462306a36Sopenharmony_ci COMPOSITE(DCLK_VOP0_SRC, "dclk_vop0_src", gpll_cpll_v0pll_aupll_p, 0, 211562306a36Sopenharmony_ci RK3588_CLKSEL_CON(111), 7, 2, MFLAGS, 0, 7, DFLAGS, 211662306a36Sopenharmony_ci RK3588_CLKGATE_CON(52), 10, GFLAGS), 211762306a36Sopenharmony_ci COMPOSITE(DCLK_VOP1_SRC, "dclk_vop1_src", gpll_cpll_v0pll_aupll_p, 0, 211862306a36Sopenharmony_ci RK3588_CLKSEL_CON(111), 14, 2, MFLAGS, 9, 5, DFLAGS, 211962306a36Sopenharmony_ci RK3588_CLKGATE_CON(52), 11, GFLAGS), 212062306a36Sopenharmony_ci COMPOSITE(DCLK_VOP2_SRC, "dclk_vop2_src", gpll_cpll_v0pll_aupll_p, CLK_SET_RATE_PARENT | CLK_SET_RATE_NO_REPARENT, 212162306a36Sopenharmony_ci RK3588_CLKSEL_CON(112), 5, 2, MFLAGS, 0, 5, DFLAGS, 212262306a36Sopenharmony_ci RK3588_CLKGATE_CON(52), 12, GFLAGS), 212362306a36Sopenharmony_ci COMPOSITE_NODIV(DCLK_VOP0, "dclk_vop0", dclk_vop0_p, 212462306a36Sopenharmony_ci CLK_SET_RATE_PARENT | CLK_SET_RATE_NO_REPARENT, 212562306a36Sopenharmony_ci RK3588_CLKSEL_CON(112), 7, 2, MFLAGS, 212662306a36Sopenharmony_ci RK3588_CLKGATE_CON(52), 13, GFLAGS), 212762306a36Sopenharmony_ci COMPOSITE_NODIV(DCLK_VOP1, "dclk_vop1", dclk_vop1_p, 212862306a36Sopenharmony_ci CLK_SET_RATE_PARENT | CLK_SET_RATE_NO_REPARENT, 212962306a36Sopenharmony_ci RK3588_CLKSEL_CON(112), 9, 2, MFLAGS, 213062306a36Sopenharmony_ci RK3588_CLKGATE_CON(53), 0, GFLAGS), 213162306a36Sopenharmony_ci COMPOSITE_NODIV(DCLK_VOP2, "dclk_vop2", dclk_vop2_p, 213262306a36Sopenharmony_ci CLK_SET_RATE_PARENT | CLK_SET_RATE_NO_REPARENT, 213362306a36Sopenharmony_ci RK3588_CLKSEL_CON(112), 11, 2, MFLAGS, 213462306a36Sopenharmony_ci RK3588_CLKGATE_CON(53), 1, GFLAGS), 213562306a36Sopenharmony_ci COMPOSITE(DCLK_VOP3, "dclk_vop3", gpll_cpll_v0pll_aupll_p, 0, 213662306a36Sopenharmony_ci RK3588_CLKSEL_CON(113), 7, 2, MFLAGS, 0, 7, DFLAGS, 213762306a36Sopenharmony_ci RK3588_CLKGATE_CON(53), 2, GFLAGS), 213862306a36Sopenharmony_ci GATE(PCLK_DSIHOST0, "pclk_dsihost0", "pclk_vop_root", 0, 213962306a36Sopenharmony_ci RK3588_CLKGATE_CON(53), 4, GFLAGS), 214062306a36Sopenharmony_ci GATE(PCLK_DSIHOST1, "pclk_dsihost1", "pclk_vop_root", 0, 214162306a36Sopenharmony_ci RK3588_CLKGATE_CON(53), 5, GFLAGS), 214262306a36Sopenharmony_ci COMPOSITE(CLK_DSIHOST0, "clk_dsihost0", gpll_cpll_v0pll_spll_p, 0, 214362306a36Sopenharmony_ci RK3588_CLKSEL_CON(114), 7, 2, MFLAGS, 0, 7, DFLAGS, 214462306a36Sopenharmony_ci RK3588_CLKGATE_CON(53), 6, GFLAGS), 214562306a36Sopenharmony_ci COMPOSITE(CLK_DSIHOST1, "clk_dsihost1", gpll_cpll_v0pll_spll_p, 0, 214662306a36Sopenharmony_ci RK3588_CLKSEL_CON(115), 7, 2, MFLAGS, 0, 7, DFLAGS, 214762306a36Sopenharmony_ci RK3588_CLKGATE_CON(53), 7, GFLAGS), 214862306a36Sopenharmony_ci GATE(CLK_VOP_PMU, "clk_vop_pmu", "xin24m", CLK_IGNORE_UNUSED, 214962306a36Sopenharmony_ci RK3588_CLKGATE_CON(53), 8, GFLAGS), 215062306a36Sopenharmony_ci GATE(ACLK_VOP_DOBY, "aclk_vop_doby", "aclk_vop_root", 0, 215162306a36Sopenharmony_ci RK3588_CLKGATE_CON(53), 10, GFLAGS), 215262306a36Sopenharmony_ci GATE(CLK_USBDP_PHY0_IMMORTAL, "clk_usbdp_phy0_immortal", "xin24m", CLK_IGNORE_UNUSED, 215362306a36Sopenharmony_ci RK3588_CLKGATE_CON(2), 8, GFLAGS), 215462306a36Sopenharmony_ci GATE(CLK_USBDP_PHY1_IMMORTAL, "clk_usbdp_phy1_immortal", "xin24m", CLK_IGNORE_UNUSED, 215562306a36Sopenharmony_ci RK3588_CLKGATE_CON(2), 15, GFLAGS), 215662306a36Sopenharmony_ci 215762306a36Sopenharmony_ci GATE(CLK_REF_PIPE_PHY0_OSC_SRC, "clk_ref_pipe_phy0_osc_src", "xin24m", 0, 215862306a36Sopenharmony_ci RK3588_CLKGATE_CON(77), 0, GFLAGS), 215962306a36Sopenharmony_ci GATE(CLK_REF_PIPE_PHY1_OSC_SRC, "clk_ref_pipe_phy1_osc_src", "xin24m", 0, 216062306a36Sopenharmony_ci RK3588_CLKGATE_CON(77), 1, GFLAGS), 216162306a36Sopenharmony_ci GATE(CLK_REF_PIPE_PHY2_OSC_SRC, "clk_ref_pipe_phy2_osc_src", "xin24m", 0, 216262306a36Sopenharmony_ci RK3588_CLKGATE_CON(77), 2, GFLAGS), 216362306a36Sopenharmony_ci COMPOSITE_NOMUX(CLK_REF_PIPE_PHY0_PLL_SRC, "clk_ref_pipe_phy0_pll_src", "ppll", 0, 216462306a36Sopenharmony_ci RK3588_CLKSEL_CON(176), 0, 6, DFLAGS, 216562306a36Sopenharmony_ci RK3588_CLKGATE_CON(77), 3, GFLAGS), 216662306a36Sopenharmony_ci COMPOSITE_NOMUX(CLK_REF_PIPE_PHY1_PLL_SRC, "clk_ref_pipe_phy1_pll_src", "ppll", 0, 216762306a36Sopenharmony_ci RK3588_CLKSEL_CON(176), 6, 6, DFLAGS, 216862306a36Sopenharmony_ci RK3588_CLKGATE_CON(77), 4, GFLAGS), 216962306a36Sopenharmony_ci COMPOSITE_NOMUX(CLK_REF_PIPE_PHY2_PLL_SRC, "clk_ref_pipe_phy2_pll_src", "ppll", 0, 217062306a36Sopenharmony_ci RK3588_CLKSEL_CON(177), 0, 6, DFLAGS, 217162306a36Sopenharmony_ci RK3588_CLKGATE_CON(77), 5, GFLAGS), 217262306a36Sopenharmony_ci MUX(CLK_REF_PIPE_PHY0, "clk_ref_pipe_phy0", clk_ref_pipe_phy0_p, CLK_SET_RATE_PARENT, 217362306a36Sopenharmony_ci RK3588_CLKSEL_CON(177), 6, 1, MFLAGS), 217462306a36Sopenharmony_ci MUX(CLK_REF_PIPE_PHY1, "clk_ref_pipe_phy1", clk_ref_pipe_phy1_p, CLK_SET_RATE_PARENT, 217562306a36Sopenharmony_ci RK3588_CLKSEL_CON(177), 7, 1, MFLAGS), 217662306a36Sopenharmony_ci MUX(CLK_REF_PIPE_PHY2, "clk_ref_pipe_phy2", clk_ref_pipe_phy2_p, CLK_SET_RATE_PARENT, 217762306a36Sopenharmony_ci RK3588_CLKSEL_CON(177), 8, 1, MFLAGS), 217862306a36Sopenharmony_ci 217962306a36Sopenharmony_ci /* pmu */ 218062306a36Sopenharmony_ci COMPOSITE(CLK_PMU1_300M_SRC, "clk_pmu1_300m_src", pmu_300m_24m_p, 0, 218162306a36Sopenharmony_ci RK3588_PMU_CLKSEL_CON(0), 15, 1, MFLAGS, 10, 5, DFLAGS, 218262306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(0), 3, GFLAGS), 218362306a36Sopenharmony_ci COMPOSITE(CLK_PMU1_400M_SRC, "clk_pmu1_400m_src", pmu_400m_24m_p, 0, 218462306a36Sopenharmony_ci RK3588_PMU_CLKSEL_CON(1), 5, 1, MFLAGS, 0, 5, DFLAGS, 218562306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(0), 4, GFLAGS), 218662306a36Sopenharmony_ci COMPOSITE_NOMUX(CLK_PMU1_50M_SRC, "clk_pmu1_50m_src", "clk_pmu1_400m_src", 0, 218762306a36Sopenharmony_ci RK3588_PMU_CLKSEL_CON(0), 0, 4, DFLAGS, 218862306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(0), 0, GFLAGS), 218962306a36Sopenharmony_ci COMPOSITE_NOMUX(CLK_PMU1_100M_SRC, "clk_pmu1_100m_src", "clk_pmu1_400m_src", 0, 219062306a36Sopenharmony_ci RK3588_PMU_CLKSEL_CON(0), 4, 3, DFLAGS, 219162306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(0), 1, GFLAGS), 219262306a36Sopenharmony_ci COMPOSITE_NOMUX(CLK_PMU1_200M_SRC, "clk_pmu1_200m_src", "clk_pmu1_400m_src", 0, 219362306a36Sopenharmony_ci RK3588_PMU_CLKSEL_CON(0), 7, 3, DFLAGS, 219462306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(0), 2, GFLAGS), 219562306a36Sopenharmony_ci COMPOSITE_NODIV(HCLK_PMU1_ROOT, "hclk_pmu1_root", hclk_pmu1_root_p, CLK_IS_CRITICAL, 219662306a36Sopenharmony_ci RK3588_PMU_CLKSEL_CON(1), 6, 2, MFLAGS, 219762306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(0), 5, GFLAGS), 219862306a36Sopenharmony_ci COMPOSITE_NODIV(PCLK_PMU1_ROOT, "pclk_pmu1_root", pmu_100m_50m_24m_src_p, CLK_IS_CRITICAL, 219962306a36Sopenharmony_ci RK3588_PMU_CLKSEL_CON(1), 8, 2, MFLAGS, 220062306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(0), 7, GFLAGS), 220162306a36Sopenharmony_ci GATE(PCLK_PMU0_ROOT, "pclk_pmu0_root", "pclk_pmu1_root", CLK_IS_CRITICAL, 220262306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(5), 0, GFLAGS), 220362306a36Sopenharmony_ci COMPOSITE_NODIV(HCLK_PMU_CM0_ROOT, "hclk_pmu_cm0_root", hclk_pmu_cm0_root_p, CLK_IS_CRITICAL, 220462306a36Sopenharmony_ci RK3588_PMU_CLKSEL_CON(1), 10, 2, MFLAGS, 220562306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(0), 8, GFLAGS), 220662306a36Sopenharmony_ci GATE(CLK_PMU0, "clk_pmu0", "xin24m", CLK_IS_CRITICAL, 220762306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(5), 1, GFLAGS), 220862306a36Sopenharmony_ci GATE(PCLK_PMU0, "pclk_pmu0", "pclk_pmu0_root", CLK_IS_CRITICAL, 220962306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(5), 2, GFLAGS), 221062306a36Sopenharmony_ci GATE(PCLK_PMU0IOC, "pclk_pmu0ioc", "pclk_pmu0_root", CLK_IS_CRITICAL, 221162306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(5), 4, GFLAGS), 221262306a36Sopenharmony_ci GATE(PCLK_GPIO0, "pclk_gpio0", "pclk_pmu0_root", 0, 221362306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(5), 5, GFLAGS), 221462306a36Sopenharmony_ci COMPOSITE_NODIV(DBCLK_GPIO0, "dbclk_gpio0", mux_24m_32k_p, 0, 221562306a36Sopenharmony_ci RK3588_PMU_CLKSEL_CON(17), 0, 1, MFLAGS, 221662306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(5), 6, GFLAGS), 221762306a36Sopenharmony_ci GATE(PCLK_I2C0, "pclk_i2c0", "pclk_pmu0_root", 0, 221862306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(2), 1, GFLAGS), 221962306a36Sopenharmony_ci COMPOSITE_NODIV(CLK_I2C0, "clk_i2c0", pmu_200m_100m_p, 0, 222062306a36Sopenharmony_ci RK3588_PMU_CLKSEL_CON(3), 6, 1, MFLAGS, 222162306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(2), 2, GFLAGS), 222262306a36Sopenharmony_ci GATE(HCLK_I2S1_8CH, "hclk_i2s1_8ch", "hclk_pmu1_root", 0, 222362306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(2), 7, GFLAGS), 222462306a36Sopenharmony_ci COMPOSITE_NOMUX(CLK_I2S1_8CH_TX_SRC, "clk_i2s1_8ch_tx_src", "cpll", 0, 222562306a36Sopenharmony_ci RK3588_PMU_CLKSEL_CON(5), 2, 5, DFLAGS, 222662306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(2), 8, GFLAGS), 222762306a36Sopenharmony_ci COMPOSITE_FRACMUX(CLK_I2S1_8CH_TX_FRAC, "clk_i2s1_8ch_tx_frac", "clk_i2s1_8ch_tx_src", 222862306a36Sopenharmony_ci CLK_SET_RATE_PARENT, 222962306a36Sopenharmony_ci RK3588_PMU_CLKSEL_CON(6), 0, 223062306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(2), 9, GFLAGS, 223162306a36Sopenharmony_ci &rk3588_i2s1_8ch_tx_fracmux), 223262306a36Sopenharmony_ci GATE(MCLK_I2S1_8CH_TX, "mclk_i2s1_8ch_tx", "clk_i2s1_8ch_tx", 0, 223362306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(2), 10, GFLAGS), 223462306a36Sopenharmony_ci COMPOSITE_NOMUX(CLK_I2S1_8CH_RX_SRC, "clk_i2s1_8ch_rx_src", "cpll", 0, 223562306a36Sopenharmony_ci RK3588_PMU_CLKSEL_CON(7), 2, 5, DFLAGS, 223662306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(2), 11, GFLAGS), 223762306a36Sopenharmony_ci COMPOSITE_FRACMUX(CLK_I2S1_8CH_RX_FRAC, "clk_i2s1_8ch_rx_frac", "clk_i2s1_8ch_rx_src", 223862306a36Sopenharmony_ci CLK_SET_RATE_PARENT, 223962306a36Sopenharmony_ci RK3588_PMU_CLKSEL_CON(8), 0, 224062306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(2), 12, GFLAGS, 224162306a36Sopenharmony_ci &rk3588_i2s1_8ch_rx_fracmux), 224262306a36Sopenharmony_ci GATE(MCLK_I2S1_8CH_RX, "mclk_i2s1_8ch_rx", "clk_i2s1_8ch_rx", 0, 224362306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(2), 13, GFLAGS), 224462306a36Sopenharmony_ci MUX(I2S1_8CH_MCLKOUT, "i2s1_8ch_mclkout", i2s1_8ch_mclkout_p, CLK_SET_RATE_PARENT, 224562306a36Sopenharmony_ci RK3588_PMU_CLKSEL_CON(9), 2, 2, MFLAGS), 224662306a36Sopenharmony_ci GATE(PCLK_PMU1, "pclk_pmu1", "pclk_pmu0_root", CLK_IS_CRITICAL, 224762306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(1), 0, GFLAGS), 224862306a36Sopenharmony_ci GATE(CLK_DDR_FAIL_SAFE, "clk_ddr_fail_safe", "clk_pmu0", CLK_IGNORE_UNUSED, 224962306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(1), 1, GFLAGS), 225062306a36Sopenharmony_ci GATE(CLK_PMU1, "clk_pmu1", "clk_pmu0", CLK_IS_CRITICAL, 225162306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(1), 3, GFLAGS), 225262306a36Sopenharmony_ci GATE(HCLK_PDM0, "hclk_pdm0", "hclk_pmu1_root", 0, 225362306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(2), 14, GFLAGS), 225462306a36Sopenharmony_ci COMPOSITE_NODIV(MCLK_PDM0, "mclk_pdm0", mclk_pdm0_p, 0, 225562306a36Sopenharmony_ci RK3588_PMU_CLKSEL_CON(9), 4, 1, MFLAGS, 225662306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(2), 15, GFLAGS), 225762306a36Sopenharmony_ci GATE(HCLK_VAD, "hclk_vad", "hclk_pmu1_root", 0, 225862306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(3), 0, GFLAGS), 225962306a36Sopenharmony_ci GATE(FCLK_PMU_CM0_CORE, "fclk_pmu_cm0_core", "hclk_pmu_cm0_root", CLK_IS_CRITICAL, 226062306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(0), 13, GFLAGS), 226162306a36Sopenharmony_ci COMPOSITE(CLK_PMU_CM0_RTC, "clk_pmu_cm0_rtc", mux_24m_32k_p, CLK_IS_CRITICAL, 226262306a36Sopenharmony_ci RK3588_PMU_CLKSEL_CON(2), 5, 1, MFLAGS, 0, 5, DFLAGS, 226362306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(0), 15, GFLAGS), 226462306a36Sopenharmony_ci GATE(PCLK_PMU1_IOC, "pclk_pmu1_ioc", "pclk_pmu0_root", CLK_IGNORE_UNUSED, 226562306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(1), 5, GFLAGS), 226662306a36Sopenharmony_ci GATE(PCLK_PMU1PWM, "pclk_pmu1pwm", "pclk_pmu0_root", 0, 226762306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(1), 12, GFLAGS), 226862306a36Sopenharmony_ci COMPOSITE_NODIV(CLK_PMU1PWM, "clk_pmu1pwm", pmu_100m_50m_24m_src_p, 0, 226962306a36Sopenharmony_ci RK3588_PMU_CLKSEL_CON(2), 9, 2, MFLAGS, 227062306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(1), 13, GFLAGS), 227162306a36Sopenharmony_ci GATE(CLK_PMU1PWM_CAPTURE, "clk_pmu1pwm_capture", "xin24m", 0, 227262306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(1), 14, GFLAGS), 227362306a36Sopenharmony_ci GATE(PCLK_PMU1TIMER, "pclk_pmu1timer", "pclk_pmu0_root", 0, 227462306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(1), 8, GFLAGS), 227562306a36Sopenharmony_ci COMPOSITE_NODIV(CLK_PMU1TIMER_ROOT, "clk_pmu1timer_root", pmu_24m_32k_100m_src_p, 0, 227662306a36Sopenharmony_ci RK3588_PMU_CLKSEL_CON(2), 7, 2, MFLAGS, 227762306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(1), 9, GFLAGS), 227862306a36Sopenharmony_ci GATE(CLK_PMU1TIMER0, "clk_pmu1timer0", "clk_pmu1timer_root", 0, 227962306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(1), 10, GFLAGS), 228062306a36Sopenharmony_ci GATE(CLK_PMU1TIMER1, "clk_pmu1timer1", "clk_pmu1timer_root", 0, 228162306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(1), 11, GFLAGS), 228262306a36Sopenharmony_ci COMPOSITE_NOMUX(CLK_UART0_SRC, "clk_uart0_src", "cpll", 0, 228362306a36Sopenharmony_ci RK3588_PMU_CLKSEL_CON(3), 7, 5, DFLAGS, 228462306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(2), 3, GFLAGS), 228562306a36Sopenharmony_ci COMPOSITE_FRACMUX(CLK_UART0_FRAC, "clk_uart0_frac", "clk_uart0_src", CLK_SET_RATE_PARENT, 228662306a36Sopenharmony_ci RK3588_PMU_CLKSEL_CON(4), 0, 228762306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(2), 4, GFLAGS, 228862306a36Sopenharmony_ci &rk3588_uart0_fracmux), 228962306a36Sopenharmony_ci GATE(SCLK_UART0, "sclk_uart0", "clk_uart0", 0, 229062306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(2), 5, GFLAGS), 229162306a36Sopenharmony_ci GATE(PCLK_UART0, "pclk_uart0", "pclk_pmu0_root", 0, 229262306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(2), 6, GFLAGS), 229362306a36Sopenharmony_ci GATE(PCLK_PMU1WDT, "pclk_pmu1wdt", "pclk_pmu0_root", 0, 229462306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(1), 6, GFLAGS), 229562306a36Sopenharmony_ci COMPOSITE_NODIV(TCLK_PMU1WDT, "tclk_pmu1wdt", mux_24m_32k_p, 0, 229662306a36Sopenharmony_ci RK3588_PMU_CLKSEL_CON(2), 6, 1, MFLAGS, 229762306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(1), 7, GFLAGS), 229862306a36Sopenharmony_ci COMPOSITE(CLK_CR_PARA, "clk_cr_para", mux_24m_ppll_spll_p, 0, 229962306a36Sopenharmony_ci RK3588_PMU_CLKSEL_CON(15), 5, 2, MFLAGS, 0, 5, DFLAGS, 230062306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(4), 11, GFLAGS), 230162306a36Sopenharmony_ci COMPOSITE(CLK_USB2PHY_HDPTXRXPHY_REF, "clk_usb2phy_hdptxrxphy_ref", mux_24m_ppll_p, 230262306a36Sopenharmony_ci CLK_IS_CRITICAL, 230362306a36Sopenharmony_ci RK3588_PMU_CLKSEL_CON(14), 14, 1, MFLAGS, 9, 5, DFLAGS, 230462306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(4), 7, GFLAGS), 230562306a36Sopenharmony_ci COMPOSITE(CLK_USBDPPHY_MIPIDCPPHY_REF, "clk_usbdpphy_mipidcpphy_ref", mux_24m_ppll_spll_p, 230662306a36Sopenharmony_ci CLK_IS_CRITICAL, 230762306a36Sopenharmony_ci RK3588_PMU_CLKSEL_CON(14), 7, 2, MFLAGS, 0, 7, DFLAGS, 230862306a36Sopenharmony_ci RK3588_PMU_CLKGATE_CON(4), 3, GFLAGS), 230962306a36Sopenharmony_ci 231062306a36Sopenharmony_ci GATE(CLK_PHY0_REF_ALT_P, "clk_phy0_ref_alt_p", "ppll", 0, 231162306a36Sopenharmony_ci RK3588_PHYREF_ALT_GATE, 0, GFLAGS), 231262306a36Sopenharmony_ci GATE(CLK_PHY0_REF_ALT_M, "clk_phy0_ref_alt_m", "ppll", 0, 231362306a36Sopenharmony_ci RK3588_PHYREF_ALT_GATE, 1, GFLAGS), 231462306a36Sopenharmony_ci GATE(CLK_PHY1_REF_ALT_P, "clk_phy1_ref_alt_p", "ppll", 0, 231562306a36Sopenharmony_ci RK3588_PHYREF_ALT_GATE, 2, GFLAGS), 231662306a36Sopenharmony_ci GATE(CLK_PHY1_REF_ALT_M, "clk_phy1_ref_alt_m", "ppll", 0, 231762306a36Sopenharmony_ci RK3588_PHYREF_ALT_GATE, 3, GFLAGS), 231862306a36Sopenharmony_ci 231962306a36Sopenharmony_ci GATE(HCLK_SPDIFRX0, "hclk_spdifrx0", "hclk_vo1", 0, 232062306a36Sopenharmony_ci RK3588_CLKGATE_CON(63), 12, GFLAGS), 232162306a36Sopenharmony_ci GATE(HCLK_SPDIFRX1, "hclk_spdifrx1", "hclk_vo1", 0, 232262306a36Sopenharmony_ci RK3588_CLKGATE_CON(63), 14, GFLAGS), 232362306a36Sopenharmony_ci GATE(HCLK_SPDIFRX2, "hclk_spdifrx2", "hclk_vo1", 0, 232462306a36Sopenharmony_ci RK3588_CLKGATE_CON(64), 0, GFLAGS), 232562306a36Sopenharmony_ci GATE(HCLK_SPDIF4, "hclk_spdif4", "hclk_vo1", 0, 232662306a36Sopenharmony_ci RK3588_CLKGATE_CON(63), 8, GFLAGS), 232762306a36Sopenharmony_ci GATE(HCLK_SPDIF3, "hclk_spdif3", "hclk_vo1", 0, 232862306a36Sopenharmony_ci RK3588_CLKGATE_CON(63), 4, GFLAGS), 232962306a36Sopenharmony_ci GATE(HCLK_I2S6_8CH, "hclk_i2s6_8ch", "hclk_vo1", 0, 233062306a36Sopenharmony_ci RK3588_CLKGATE_CON(63), 3, GFLAGS), 233162306a36Sopenharmony_ci GATE(HCLK_I2S5_8CH, "hclk_i2s5_8ch", "hclk_vo1", 0, 233262306a36Sopenharmony_ci RK3588_CLKGATE_CON(62), 12, GFLAGS), 233362306a36Sopenharmony_ci GATE(HCLK_I2S9_8CH, "hclk_i2s9_8ch", "hclk_vo1", 0, 233462306a36Sopenharmony_ci RK3588_CLKGATE_CON(65), 0, GFLAGS), 233562306a36Sopenharmony_ci GATE(HCLK_I2S7_8CH, "hclk_i2s7_8ch", "hclk_vo1", 0, 233662306a36Sopenharmony_ci RK3588_CLKGATE_CON(60), 0, GFLAGS), 233762306a36Sopenharmony_ci GATE(HCLK_I2S10_8CH, "hclk_i2s10_8ch", "hclk_vo1", 0, 233862306a36Sopenharmony_ci RK3588_CLKGATE_CON(65), 4, GFLAGS), 233962306a36Sopenharmony_ci GATE(ACLK_HDCP1, "aclk_hdcp1", "aclk_hdcp1_pre", 0, 234062306a36Sopenharmony_ci RK3588_CLKGATE_CON(60), 5, GFLAGS), 234162306a36Sopenharmony_ci GATE(HCLK_HDCP1, "hclk_hdcp1", "hclk_vo1", 0, 234262306a36Sopenharmony_ci RK3588_CLKGATE_CON(60), 6, GFLAGS), 234362306a36Sopenharmony_ci GATE(HCLK_SPDIF5_DP1, "hclk_spdif5_dp1", "hclk_vo0", 0, 234462306a36Sopenharmony_ci RK3588_CLKGATE_CON(57), 7, GFLAGS), 234562306a36Sopenharmony_ci GATE(HCLK_SPDIF2_DP0, "hclk_spdif2_dp0", "hclk_vo0", 0, 234662306a36Sopenharmony_ci RK3588_CLKGATE_CON(57), 2, GFLAGS), 234762306a36Sopenharmony_ci GATE(HCLK_I2S8_8CH, "hclk_i2s8_8ch", "hclk_vo0", 0, 234862306a36Sopenharmony_ci RK3588_CLKGATE_CON(56), 14, GFLAGS), 234962306a36Sopenharmony_ci GATE(HCLK_I2S4_8CH, "hclk_i2s4_8ch", "hclk_vo0", 0, 235062306a36Sopenharmony_ci RK3588_CLKGATE_CON(56), 10, GFLAGS), 235162306a36Sopenharmony_ci GATE(ACLK_HDCP0, "aclk_hdcp0", "aclk_hdcp0_pre", 0, 235262306a36Sopenharmony_ci RK3588_CLKGATE_CON(55), 12, GFLAGS), 235362306a36Sopenharmony_ci GATE(HCLK_HDCP0, "hclk_hdcp0", "hclk_vo0", 0, 235462306a36Sopenharmony_ci RK3588_CLKGATE_CON(55), 13, GFLAGS), 235562306a36Sopenharmony_ci GATE(HCLK_RKVENC1, "hclk_rkvenc1", "hclk_rkvenc1_pre", 0, 235662306a36Sopenharmony_ci RK3588_CLKGATE_CON(48), 4, GFLAGS), 235762306a36Sopenharmony_ci GATE(ACLK_RKVENC1, "aclk_rkvenc1", "aclk_rkvenc1_pre", 0, 235862306a36Sopenharmony_ci RK3588_CLKGATE_CON(48), 5, GFLAGS), 235962306a36Sopenharmony_ci GATE(ACLK_VPU, "aclk_vpu", "aclk_vdpu_low_pre", 0, 236062306a36Sopenharmony_ci RK3588_CLKGATE_CON(44), 8, GFLAGS), 236162306a36Sopenharmony_ci GATE(ACLK_IEP2P0, "aclk_iep2p0", "aclk_vdpu_low_pre", 0, 236262306a36Sopenharmony_ci RK3588_CLKGATE_CON(45), 5, GFLAGS), 236362306a36Sopenharmony_ci GATE(ACLK_JPEG_ENCODER0, "aclk_jpeg_encoder0", "aclk_vdpu_low_pre", 0, 236462306a36Sopenharmony_ci RK3588_CLKGATE_CON(44), 10, GFLAGS), 236562306a36Sopenharmony_ci GATE(ACLK_JPEG_ENCODER1, "aclk_jpeg_encoder1", "aclk_vdpu_low_pre", 0, 236662306a36Sopenharmony_ci RK3588_CLKGATE_CON(44), 12, GFLAGS), 236762306a36Sopenharmony_ci GATE(ACLK_JPEG_ENCODER2, "aclk_jpeg_encoder2", "aclk_vdpu_low_pre", 0, 236862306a36Sopenharmony_ci RK3588_CLKGATE_CON(44), 14, GFLAGS), 236962306a36Sopenharmony_ci GATE(ACLK_JPEG_ENCODER3, "aclk_jpeg_encoder3", "aclk_vdpu_low_pre", 0, 237062306a36Sopenharmony_ci RK3588_CLKGATE_CON(45), 0, GFLAGS), 237162306a36Sopenharmony_ci GATE(ACLK_JPEG_DECODER, "aclk_jpeg_decoder", "aclk_jpeg_decoder_pre", 0, 237262306a36Sopenharmony_ci RK3588_CLKGATE_CON(45), 2, GFLAGS), 237362306a36Sopenharmony_ci GATE(ACLK_USB3OTG1, "aclk_usb3otg1", "aclk_usb", 0, 237462306a36Sopenharmony_ci RK3588_CLKGATE_CON(42), 7, GFLAGS), 237562306a36Sopenharmony_ci GATE(HCLK_HOST0, "hclk_host0", "hclk_usb", 0, 237662306a36Sopenharmony_ci RK3588_CLKGATE_CON(42), 10, GFLAGS), 237762306a36Sopenharmony_ci GATE(HCLK_HOST_ARB0, "hclk_host_arb0", "hclk_usb", 0, 237862306a36Sopenharmony_ci RK3588_CLKGATE_CON(42), 11, GFLAGS), 237962306a36Sopenharmony_ci GATE(HCLK_HOST1, "hclk_host1", "hclk_usb", 0, 238062306a36Sopenharmony_ci RK3588_CLKGATE_CON(42), 12, GFLAGS), 238162306a36Sopenharmony_ci GATE(HCLK_HOST_ARB1, "hclk_host_arb1", "hclk_usb", 0, 238262306a36Sopenharmony_ci RK3588_CLKGATE_CON(42), 13, GFLAGS), 238362306a36Sopenharmony_ci GATE(ACLK_USB3OTG0, "aclk_usb3otg0", "aclk_usb", 0, 238462306a36Sopenharmony_ci RK3588_CLKGATE_CON(42), 4, GFLAGS), 238562306a36Sopenharmony_ci MMC(SCLK_SDMMC_DRV, "sdmmc_drv", "scmi_cclk_sd", RK3588_SDMMC_CON0, 1), 238662306a36Sopenharmony_ci MMC(SCLK_SDMMC_SAMPLE, "sdmmc_sample", "scmi_cclk_sd", RK3588_SDMMC_CON1, 1), 238762306a36Sopenharmony_ci GATE(HCLK_SDIO, "hclk_sdio", "hclk_sdio_pre", 0, 238862306a36Sopenharmony_ci RK3588_CLKGATE_CON(75), 2, GFLAGS), 238962306a36Sopenharmony_ci GATE(HCLK_RKVDEC1, "hclk_rkvdec1", "hclk_rkvdec1_pre", 0, 239062306a36Sopenharmony_ci RK3588_CLKGATE_CON(41), 2, GFLAGS), 239162306a36Sopenharmony_ci GATE(ACLK_RKVDEC1, "aclk_rkvdec1", "aclk_rkvdec1_pre", 0, 239262306a36Sopenharmony_ci RK3588_CLKGATE_CON(41), 3, GFLAGS), 239362306a36Sopenharmony_ci GATE(HCLK_RKVDEC0, "hclk_rkvdec0", "hclk_rkvdec0_pre", 0, 239462306a36Sopenharmony_ci RK3588_CLKGATE_CON(40), 3, GFLAGS), 239562306a36Sopenharmony_ci GATE(ACLK_RKVDEC0, "aclk_rkvdec0", "aclk_rkvdec0_pre", 0, 239662306a36Sopenharmony_ci RK3588_CLKGATE_CON(40), 4, GFLAGS), 239762306a36Sopenharmony_ci GATE(CLK_PCIE4L_PIPE, "clk_pcie4l_pipe", "clk_pipe30phy_pipe0_i", 0, 239862306a36Sopenharmony_ci RK3588_CLKGATE_CON(39), 0, GFLAGS), 239962306a36Sopenharmony_ci GATE(CLK_PCIE2L_PIPE, "clk_pcie2l_pipe", "clk_pipe30phy_pipe2_i", 0, 240062306a36Sopenharmony_ci RK3588_CLKGATE_CON(39), 1, GFLAGS), 240162306a36Sopenharmony_ci GATE(CLK_PIPEPHY0_PIPE_G, "clk_pipephy0_pipe_g", "clk_pipephy0_pipe_i", 0, 240262306a36Sopenharmony_ci RK3588_CLKGATE_CON(38), 3, GFLAGS), 240362306a36Sopenharmony_ci GATE(CLK_PIPEPHY1_PIPE_G, "clk_pipephy1_pipe_g", "clk_pipephy1_pipe_i", 0, 240462306a36Sopenharmony_ci RK3588_CLKGATE_CON(38), 4, GFLAGS), 240562306a36Sopenharmony_ci GATE(CLK_PIPEPHY2_PIPE_G, "clk_pipephy2_pipe_g", "clk_pipephy2_pipe_i", 0, 240662306a36Sopenharmony_ci RK3588_CLKGATE_CON(38), 5, GFLAGS), 240762306a36Sopenharmony_ci GATE(CLK_PIPEPHY0_PIPE_ASIC_G, "clk_pipephy0_pipe_asic_g", "clk_pipephy0_pipe_i", 0, 240862306a36Sopenharmony_ci RK3588_CLKGATE_CON(38), 6, GFLAGS), 240962306a36Sopenharmony_ci GATE(CLK_PIPEPHY1_PIPE_ASIC_G, "clk_pipephy1_pipe_asic_g", "clk_pipephy1_pipe_i", 0, 241062306a36Sopenharmony_ci RK3588_CLKGATE_CON(38), 7, GFLAGS), 241162306a36Sopenharmony_ci GATE(CLK_PIPEPHY2_PIPE_ASIC_G, "clk_pipephy2_pipe_asic_g", "clk_pipephy2_pipe_i", 0, 241262306a36Sopenharmony_ci RK3588_CLKGATE_CON(38), 8, GFLAGS), 241362306a36Sopenharmony_ci GATE(CLK_PIPEPHY2_PIPE_U3_G, "clk_pipephy2_pipe_u3_g", "clk_pipephy2_pipe_i", 0, 241462306a36Sopenharmony_ci RK3588_CLKGATE_CON(38), 9, GFLAGS), 241562306a36Sopenharmony_ci GATE(CLK_PCIE1L2_PIPE, "clk_pcie1l2_pipe", "clk_pipephy0_pipe_g", 0, 241662306a36Sopenharmony_ci RK3588_CLKGATE_CON(38), 13, GFLAGS), 241762306a36Sopenharmony_ci GATE(CLK_PCIE1L0_PIPE, "clk_pcie1l0_pipe", "clk_pipephy1_pipe_g", 0, 241862306a36Sopenharmony_ci RK3588_CLKGATE_CON(38), 14, GFLAGS), 241962306a36Sopenharmony_ci GATE(CLK_PCIE1L1_PIPE, "clk_pcie1l1_pipe", "clk_pipephy2_pipe_g", 0, 242062306a36Sopenharmony_ci RK3588_CLKGATE_CON(38), 15, GFLAGS), 242162306a36Sopenharmony_ci GATE(HCLK_SFC, "hclk_sfc", "hclk_nvm", 0, 242262306a36Sopenharmony_ci RK3588_CLKGATE_CON(31), 10, GFLAGS), 242362306a36Sopenharmony_ci GATE(HCLK_SFC_XIP, "hclk_sfc_xip", "hclk_nvm", 0, 242462306a36Sopenharmony_ci RK3588_CLKGATE_CON(31), 11, GFLAGS), 242562306a36Sopenharmony_ci GATE(HCLK_EMMC, "hclk_emmc", "hclk_nvm", 0, 242662306a36Sopenharmony_ci RK3588_CLKGATE_CON(31), 4, GFLAGS), 242762306a36Sopenharmony_ci GATE(ACLK_ISP1, "aclk_isp1", "aclk_isp1_pre", 0, 242862306a36Sopenharmony_ci RK3588_CLKGATE_CON(26), 5, GFLAGS), 242962306a36Sopenharmony_ci GATE(HCLK_ISP1, "hclk_isp1", "hclk_isp1_pre", 0, 243062306a36Sopenharmony_ci RK3588_CLKGATE_CON(26), 7, GFLAGS), 243162306a36Sopenharmony_ci GATE(PCLK_AV1, "pclk_av1", "pclk_av1_pre", 0, 243262306a36Sopenharmony_ci RK3588_CLKGATE_CON(68), 5, GFLAGS), 243362306a36Sopenharmony_ci GATE(ACLK_AV1, "aclk_av1", "aclk_av1_pre", 0, 243462306a36Sopenharmony_ci RK3588_CLKGATE_CON(68), 2, GFLAGS), 243562306a36Sopenharmony_ci 243662306a36Sopenharmony_ci GATE_LINK(ACLK_ISP1_PRE, "aclk_isp1_pre", "aclk_isp1_root", "aclk_vi_root", 0, RK3588_CLKGATE_CON(26), 6, GFLAGS), 243762306a36Sopenharmony_ci GATE_LINK(HCLK_ISP1_PRE, "hclk_isp1_pre", "hclk_isp1_root", "hclk_vi_root", 0, RK3588_CLKGATE_CON(26), 8, GFLAGS), 243862306a36Sopenharmony_ci GATE_LINK(HCLK_NVM, "hclk_nvm", "hclk_nvm_root", "aclk_nvm_root", RK3588_LINKED_CLK, RK3588_CLKGATE_CON(31), 2, GFLAGS), 243962306a36Sopenharmony_ci GATE_LINK(ACLK_USB, "aclk_usb", "aclk_usb_root", "aclk_vo1usb_top_root", 0, RK3588_CLKGATE_CON(42), 2, GFLAGS), 244062306a36Sopenharmony_ci GATE_LINK(HCLK_USB, "hclk_usb", "hclk_usb_root", "hclk_vo1usb_top_root", 0, RK3588_CLKGATE_CON(42), 3, GFLAGS), 244162306a36Sopenharmony_ci GATE_LINK(ACLK_JPEG_DECODER_PRE, "aclk_jpeg_decoder_pre", "aclk_jpeg_decoder_root", "aclk_vdpu_root", 0, RK3588_CLKGATE_CON(44), 7, GFLAGS), 244262306a36Sopenharmony_ci GATE_LINK(ACLK_VDPU_LOW_PRE, "aclk_vdpu_low_pre", "aclk_vdpu_low_root", "aclk_vdpu_root", 0, RK3588_CLKGATE_CON(44), 5, GFLAGS), 244362306a36Sopenharmony_ci GATE_LINK(ACLK_RKVENC1_PRE, "aclk_rkvenc1_pre", "aclk_rkvenc1_root", "aclk_rkvenc0", 0, RK3588_CLKGATE_CON(48), 3, GFLAGS), 244462306a36Sopenharmony_ci GATE_LINK(HCLK_RKVENC1_PRE, "hclk_rkvenc1_pre", "hclk_rkvenc1_root", "hclk_rkvenc0", 0, RK3588_CLKGATE_CON(48), 2, GFLAGS), 244562306a36Sopenharmony_ci GATE_LINK(HCLK_RKVDEC0_PRE, "hclk_rkvdec0_pre", "hclk_rkvdec0_root", "hclk_vdpu_root", 0, RK3588_CLKGATE_CON(40), 5, GFLAGS), 244662306a36Sopenharmony_ci GATE_LINK(ACLK_RKVDEC0_PRE, "aclk_rkvdec0_pre", "aclk_rkvdec0_root", "aclk_vdpu_root", 0, RK3588_CLKGATE_CON(40), 6, GFLAGS), 244762306a36Sopenharmony_ci GATE_LINK(HCLK_RKVDEC1_PRE, "hclk_rkvdec1_pre", "hclk_rkvdec1_root", "hclk_vdpu_root", 0, RK3588_CLKGATE_CON(41), 4, GFLAGS), 244862306a36Sopenharmony_ci GATE_LINK(ACLK_RKVDEC1_PRE, "aclk_rkvdec1_pre", "aclk_rkvdec1_root", "aclk_vdpu_root", 0, RK3588_CLKGATE_CON(41), 5, GFLAGS), 244962306a36Sopenharmony_ci GATE_LINK(ACLK_HDCP0_PRE, "aclk_hdcp0_pre", "aclk_vo0_root", "aclk_vop_low_root", 0, RK3588_CLKGATE_CON(55), 9, GFLAGS), 245062306a36Sopenharmony_ci GATE_LINK(HCLK_VO0, "hclk_vo0", "hclk_vo0_root", "hclk_vop_root", 0, RK3588_CLKGATE_CON(55), 5, GFLAGS), 245162306a36Sopenharmony_ci GATE_LINK(ACLK_HDCP1_PRE, "aclk_hdcp1_pre", "aclk_hdcp1_root", "aclk_vo1usb_top_root", 0, RK3588_CLKGATE_CON(59), 6, GFLAGS), 245262306a36Sopenharmony_ci GATE_LINK(HCLK_VO1, "hclk_vo1", "hclk_vo1_root", "hclk_vo1usb_top_root", 0, RK3588_CLKGATE_CON(59), 9, GFLAGS), 245362306a36Sopenharmony_ci GATE_LINK(ACLK_AV1_PRE, "aclk_av1_pre", "aclk_av1_root", "aclk_vdpu_root", 0, RK3588_CLKGATE_CON(68), 1, GFLAGS), 245462306a36Sopenharmony_ci GATE_LINK(PCLK_AV1_PRE, "pclk_av1_pre", "pclk_av1_root", "hclk_vdpu_root", 0, RK3588_CLKGATE_CON(68), 4, GFLAGS), 245562306a36Sopenharmony_ci GATE_LINK(HCLK_SDIO_PRE, "hclk_sdio_pre", "hclk_sdio_root", "hclk_nvm", 0, RK3588_CLKGATE_CON(75), 1, GFLAGS), 245662306a36Sopenharmony_ci}; 245762306a36Sopenharmony_ci 245862306a36Sopenharmony_cistatic void __init rk3588_clk_init(struct device_node *np) 245962306a36Sopenharmony_ci{ 246062306a36Sopenharmony_ci struct rockchip_clk_provider *ctx; 246162306a36Sopenharmony_ci void __iomem *reg_base; 246262306a36Sopenharmony_ci 246362306a36Sopenharmony_ci reg_base = of_iomap(np, 0); 246462306a36Sopenharmony_ci if (!reg_base) { 246562306a36Sopenharmony_ci pr_err("%s: could not map cru region\n", __func__); 246662306a36Sopenharmony_ci return; 246762306a36Sopenharmony_ci } 246862306a36Sopenharmony_ci 246962306a36Sopenharmony_ci ctx = rockchip_clk_init(np, reg_base, CLK_NR_CLKS); 247062306a36Sopenharmony_ci if (IS_ERR(ctx)) { 247162306a36Sopenharmony_ci pr_err("%s: rockchip clk init failed\n", __func__); 247262306a36Sopenharmony_ci iounmap(reg_base); 247362306a36Sopenharmony_ci return; 247462306a36Sopenharmony_ci } 247562306a36Sopenharmony_ci 247662306a36Sopenharmony_ci rockchip_clk_register_plls(ctx, rk3588_pll_clks, 247762306a36Sopenharmony_ci ARRAY_SIZE(rk3588_pll_clks), 247862306a36Sopenharmony_ci RK3588_GRF_SOC_STATUS0); 247962306a36Sopenharmony_ci 248062306a36Sopenharmony_ci rockchip_clk_register_armclk(ctx, ARMCLK_L, "armclk_l", 248162306a36Sopenharmony_ci mux_armclkl_p, ARRAY_SIZE(mux_armclkl_p), 248262306a36Sopenharmony_ci &rk3588_cpulclk_data, rk3588_cpulclk_rates, 248362306a36Sopenharmony_ci ARRAY_SIZE(rk3588_cpulclk_rates)); 248462306a36Sopenharmony_ci rockchip_clk_register_armclk(ctx, ARMCLK_B01, "armclk_b01", 248562306a36Sopenharmony_ci mux_armclkb01_p, ARRAY_SIZE(mux_armclkb01_p), 248662306a36Sopenharmony_ci &rk3588_cpub0clk_data, rk3588_cpub0clk_rates, 248762306a36Sopenharmony_ci ARRAY_SIZE(rk3588_cpub0clk_rates)); 248862306a36Sopenharmony_ci rockchip_clk_register_armclk(ctx, ARMCLK_B23, "armclk_b23", 248962306a36Sopenharmony_ci mux_armclkb23_p, ARRAY_SIZE(mux_armclkb23_p), 249062306a36Sopenharmony_ci &rk3588_cpub1clk_data, rk3588_cpub1clk_rates, 249162306a36Sopenharmony_ci ARRAY_SIZE(rk3588_cpub1clk_rates)); 249262306a36Sopenharmony_ci 249362306a36Sopenharmony_ci rockchip_clk_register_branches(ctx, rk3588_clk_branches, 249462306a36Sopenharmony_ci ARRAY_SIZE(rk3588_clk_branches)); 249562306a36Sopenharmony_ci 249662306a36Sopenharmony_ci rk3588_rst_init(np, reg_base); 249762306a36Sopenharmony_ci 249862306a36Sopenharmony_ci rockchip_register_restart_notifier(ctx, RK3588_GLB_SRST_FST, NULL); 249962306a36Sopenharmony_ci 250062306a36Sopenharmony_ci rockchip_clk_of_add_provider(np, ctx); 250162306a36Sopenharmony_ci} 250262306a36Sopenharmony_ci 250362306a36Sopenharmony_ciCLK_OF_DECLARE(rk3588_cru, "rockchip,rk3588-cru", rk3588_clk_init); 250462306a36Sopenharmony_ci 250562306a36Sopenharmony_cistruct clk_rk3588_inits { 250662306a36Sopenharmony_ci void (*inits)(struct device_node *np); 250762306a36Sopenharmony_ci}; 250862306a36Sopenharmony_ci 250962306a36Sopenharmony_cistatic const struct clk_rk3588_inits clk_3588_cru_init = { 251062306a36Sopenharmony_ci .inits = rk3588_clk_init, 251162306a36Sopenharmony_ci}; 251262306a36Sopenharmony_ci 251362306a36Sopenharmony_cistatic const struct of_device_id clk_rk3588_match_table[] = { 251462306a36Sopenharmony_ci { 251562306a36Sopenharmony_ci .compatible = "rockchip,rk3588-cru", 251662306a36Sopenharmony_ci .data = &clk_3588_cru_init, 251762306a36Sopenharmony_ci }, 251862306a36Sopenharmony_ci { } 251962306a36Sopenharmony_ci}; 252062306a36Sopenharmony_ci 252162306a36Sopenharmony_cistatic int __init clk_rk3588_probe(struct platform_device *pdev) 252262306a36Sopenharmony_ci{ 252362306a36Sopenharmony_ci const struct clk_rk3588_inits *init_data; 252462306a36Sopenharmony_ci struct device *dev = &pdev->dev; 252562306a36Sopenharmony_ci 252662306a36Sopenharmony_ci init_data = device_get_match_data(dev); 252762306a36Sopenharmony_ci if (!init_data) 252862306a36Sopenharmony_ci return -EINVAL; 252962306a36Sopenharmony_ci 253062306a36Sopenharmony_ci if (init_data->inits) 253162306a36Sopenharmony_ci init_data->inits(dev->of_node); 253262306a36Sopenharmony_ci 253362306a36Sopenharmony_ci return 0; 253462306a36Sopenharmony_ci} 253562306a36Sopenharmony_ci 253662306a36Sopenharmony_cistatic struct platform_driver clk_rk3588_driver = { 253762306a36Sopenharmony_ci .driver = { 253862306a36Sopenharmony_ci .name = "clk-rk3588", 253962306a36Sopenharmony_ci .of_match_table = clk_rk3588_match_table, 254062306a36Sopenharmony_ci .suppress_bind_attrs = true, 254162306a36Sopenharmony_ci }, 254262306a36Sopenharmony_ci}; 254362306a36Sopenharmony_cibuiltin_platform_driver_probe(clk_rk3588_driver, clk_rk3588_probe); 2544