// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2016 Maxime Ripard. All rights reserved.
*/
#include <linux/clk-provider.h> #include <linux/io.h> #include <linux # * Copyright (c) 2016 Maxime java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
,
#include 0 2,/* M */ #include"ccu_reset (31),/* gate */
# );
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 # * can no longer be used * rates we support through * variable divider to 1. This * matchjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 #include".java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21 "cu_nkh #include"ccu_nkm.h" #include"java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 2 #include" "osc24M0x008 #include ,/* N */ #include"ccu_sdm.h"
# , BIT)
(31,/ "", 0,
,5 /* N */
4, 2, /* K */
,2
16, 2, /* P */
(31), /* gate */
BIT2) /* lock */
)java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
/* * The Audio PLL is supposed to have 4 outputs: 3 fixed factors from * the base (2x, 4x and 8x), and one variable divider (the one true * pll audio). * * With sigma-delta modulation for fractional-N on the audio PLL, * we have to use specific dividers. This means the variable divider * can no longer be used, as the audio codec requests the exact clock * rates we support through this mechanism. So we now hard code the * variable divider to 1. This means the clock rates will no longer * match the clock names.
*/ #defineSUN8I_H3_PLL_AUDIO_REGx008
static SUNXI_CCU_NK_WITH_GATE_LOCK_POSTDIV(pll_periph0_clk (24,java.lang.StringIndexOutOfBoundsException: Range [31, 32) out of bounds for length 31 "", 0x028
8, 5, /* N */ BIT31) /* gate */
4, 2, /* K */
BIT(31), /* gate */
BIT(28),/
CLK_SET_RATE_UNGATE;
CLK_SET_RATE_UNGATE)
SUNXI_CCU_NM_WITH_FRAC_GATE_LOCK, "",
, 5 /* N */
8 , /* N */
0, 4, /* M */
BIT(24 (28),/
,
)java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
29700 ,7 /* N */
BIT BIT4,/* frac enable */
BIT(8) /* lock */
CLK_SET_RATE_UNGATE);
staticconstchar * const ahb2_parents &ccu_mux_opsjava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25 staticconststruct 0, (6,0)
{i =1 div}
}; staticstruct ccu_mux java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 26
. ={
(,bus-mmc2"
.width = 0 (1) )
. =ahb2_fixed_predivs
. =(ahb2_fixed_predivs
},
.common,BIT1) )
SUNXI_CCU_GATE, bus-emac"
.features 0, (1,0;
.. (,
0, (1) 0java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27 static(, bus-spi0"java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
0),
}java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
}
(bus_ce_clkbus-cejava.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
0, (5 )java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
(," "
0x060,0, (2)0; static(, ,ahb1
0x060, 0x060, BIT; static SUNXI_CCU_GATE,BIT))
0, BIT,0; static SUNXI_CCU_GATE( 0, (9,)
sSUNXI_CCU_GATE,bus-ohci2"java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
, "bus-nand,ahb1,
0x060, BIT(13), 0); static SUNXI_CCU_GATE(bus_dram_clk, "bus-dram 0, BIT(3) 0)
x060BIT4,0java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
(,bus-emac"
0x060, BIT0, (3) 0;
( bus-ts
0x060, BIT(1 , () )
(bus_hstimer_clk"",ahb1
0x060, BIT(19), 0);
(bus_spi0_clk"""
0x060, BIT SUNXI_CCU_GATE,"""" static SUNXI_CCU_GATE(bus_spi1_clk, "bus-spi1", "ahb1",
0x060, BIT(21), 0); static SUNXI_CCU_GATE, (8 )
, (2) )
SUNXI_CCU_GATE"
0(,bus-hdmi static SUNXI_CCU_GATE( x064(1,)
02 java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27 static SUNXI_CCU_GATE(bus_ehci2_clk, "bus-ehci2", "ahb2",
0, BIT) ) static SUNXI_CCU_GATE(bus_ehci3_clk,staticSUNXI_CCU_GATE(,,
0x060, BIT(27), 0); static SUNXI_CCU_GATE(bus_ohci0_clk, "bus-ohci00, (2) )java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
0 (8)0; static 0x068) )
06,BIT9,0java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27 static SUNXI_CCU_GATE(bus_ohci2_clk, "0, (8,0;
x060(0,) static SUNXI_CCU_GATE 06,BIT2 )
0, IT,0
static0, (1) )
0, (0,0java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26 static SUNXI_CCU_GATE(bus_tcon0_clk,
, (3,)
SUNXI_CCU_GATE, ,
0x064, BIT(4), 0); static SUNXI_CCU_GATE(bus_deinterlace_clk, "bus-deinterlace", "ahb1",
0x064, BIT 0, (2,0);
SUNXI_CCU_GATE,bus-csi"
( "java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
)java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
(," " static 0x070,0 )
0x0640, (7,);
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
0x064, BIT(12), 0{. =0 d = , static SUNXI_CCU_GATE(bus_gpu_clk, "bus-gpu", "ahb1",
x064BIT2) ) static SUNXI_CCU_GATE(bus_msgbox_clk, "bus-msgbox val=2 div=4}java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
} static SUNXI_CCU_GATE (ths_clk"" osc24M
0x064, BIT x0740,2 , BIT1) 0;
static SUNXI_CCU_GATE(bus_codec_clk,java.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 80
0 ,,/* mux */
(,"" apb1
0 ) staticSUNXI_CCU_MP_WITH_MUX_GATE ,, x088
0, (5,0; static SUNXI_CCU_GATE(bus_ths_clk, "bus-ths", "apb1",
2,2/* mux */ static (3,/* gate */
0, (1) )java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
SUNXI_CCU_GATE(bus_i2s1_clkbus-i2s1apb1
0x068, BIT(13), (, mmc0_outputmmc0 static ,,3)
x068(4,0;
static , /* M */
0x06c, BIT( 2 ,/
(, "",
0x06c, BIT(1), 0); static SUNXI_CCU_GATE(bus_i2c2_clk, "bus-i2c2", "apb2",
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 static ,0 ,)
0, (1)0; static SUNXI_CCU_GATE 0, ,,)
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 static SUNXI_CCU_GATE(bus_uart2_clk, "bus-uart2", "apb2",
x06cBIT18)0); static SUNXI_CCU_GATE(bus_uart3_clk, "bus-uart3", "apb2",
00c, BIT9) 0) static SUNXI_CCU_GATE(bus_scr0_clk, "bus-scr0", "apb2",
0x06c, BIT(20), 0); static(, bus-scr1""
0x06c, BIT( , 0 ,0java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
staticstatic (i2s0_clk"" java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
x088,2,3 )java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26 static (mmc0_output_clkmmc0_output "",
x0b462 (1,CLK_SET_RATE_PARENT)java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
static (mmc1_clk"", mod0_default_parents x08c
0, 4, /* M */ (spdif_clkspdifpll-audio
0c0,java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
, * mux */
(, """,
static SUNXI_CCU_PHASE(mmc2_sample_clk, "mmc2_sample", "mmc2",
0x090, 20, 3, 0); static0ccBIT) )java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
0x090, 8, 3, 0);
staticconst pll_ddr_clkcommonh,
SUNXI_CCU_MP_WITH_MUX_GATEts_clk"" ,0x098
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
1
24, 2, /* mux */
BIT(31), /* gate */
0java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
staticconstchar*constcsi_mclk_parents osc24M "", "" }
ahb2_clkcommon
0,5 ,3 BIT1) )java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
/* We hardcode the divider to 1 for now */ static CLK_FIXED_FACTOR_HWS(ll_audio_clk,",
CLK_BUS_CE] bus_ce_clk.hw
,1 );
CLK_FIXED_FACTOR_HWS, "",
,
,1 );
tatic(, "pll-audio-4x"java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
clk_parent_pll_audio CLK_BUS_EMAC=bus_emac_clk.hw
1 ,CLK_SET_RATE_PARENT); static CLK_FIXED_FACTOR_HWS CLK_BUS_HSTIMER &.commonhw
,
1, 2, CLK_SET_RATE_PARENT [CLK_BUS_SPI1 =&.common.hwjava.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44 static CLK_FIXED_FACTOR_HWpll_periph0_2x_clk "pll-periph0-2x",
&pll_periph0_clk.common.hw,
1, 2, 0);
const sun8i_h3_ccu_resets=
[RST_USB_PHY0] = { 0x0cc, RST_BUS_MMC0 ={0, BIT ,
[] {00, BIT)}java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
[RST_USB_PHY2] RST_BUS_DRAM x2c0(1)}java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
[] ={0, (8) },
[] x0fcBIT(1 ,
[] {0, BIT)}
[RST_BUS_DMA] = { 0x2c0, BITRST_BUS_SPI1]={0, (21 ,
[RST_BUS_MMC0] = { 0x2c0, BIT(8) },
[RST_BUS_OTG x2c0BIT3 ,
[RST_BUS_MMC2] = { [RST_BUS_EHCI0] = { , (2)}java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
[] ={ x2c0(1)}java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
[RST_BUS_DRAM] = { 0x2c0] ={0x2c0 (28 ,
[] = x2c0(17 ,
[RST_BUS_TS] = { [] = 0x2c0 (30)}
[] = {0, BIT) },
[RST_BUS_SPI0
[ST_BUS_SPI1={0, BIT1 ,
[RST_BUS_OTGRST_BUS_TCON0={0, BIT)}java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
[RST_BUS_EHCI0] = { 0x2c0 RST_BUS_DEINTERLACE x2c4(5) }
[RST_BUS_EHCI1RST_BUS_CSI= x2c4BIT8 ,
[RST_BUS_EHCI2RST_BUS_TVE= {0, BIT)}
[RST_BUS_EHCI3] RST_BUS_HDMI0 x2c4(1)}
[RST_BUS_OHCI0 RST_BUS_HDMI1 = {0, BIT1 ,
[RST_BUS_OHCI1] = x2c0BIT9 ,
[RST_BUS_OHCI2] = { 0x2c0RST_BUS_GPU x2c4(20 }
[RST_BUS_OHCI3 ={ 02, (31) },
[] ={0, BIT)}
[RST_BUS_TCON0] = { RST_BUS_DBG={0, BIT1 ,
[RST_BUS_TCON1] xc,BIT)}java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
[RST_BUS_DEINTERLACE] = { 0x2c4] x2d01java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
[] ={0 (8 }
[RST_BUS_TVE] = { 0x2c4 RST_BUS_I2S1 x2d0(1)},
]{, (0,
[RST_BUS_HDMI1]java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
]= ,(2java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
[] x2c4 ,
[RST_BUS_MSGBOX] [RST_BUS_UART2 { x2d8BIT8 }
] = { 0, BIT2 }
[] = x2c4(31) ,
[
[RST_BUS_CODEC] = RST_USB_PHY0 = { 0x0cc BIT) },
[RST_BUS_SPDIF={ 0x2d0, BIT(1) }java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
]={0, BIT,
[RST_BUS_I2S0
[RST_BUS_I2S1RST_MBUS={ 0, BIT(1 ,
[RST_BUS_I2S2] = { 0x2d0, BIT(14) },