162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Device Tree Source for OMAP2420 clock data
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (C) 2014 Texas Instruments, Inc.
662306a36Sopenharmony_ci */
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci&prcm_clocks {
962306a36Sopenharmony_ci	sys_clkout2_src_gate: sys_clkout2_src_gate@70 {
1062306a36Sopenharmony_ci		#clock-cells = <0>;
1162306a36Sopenharmony_ci		compatible = "ti,composite-no-wait-gate-clock";
1262306a36Sopenharmony_ci		clocks = <&core_ck>;
1362306a36Sopenharmony_ci		ti,bit-shift = <15>;
1462306a36Sopenharmony_ci		reg = <0x0070>;
1562306a36Sopenharmony_ci	};
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci	sys_clkout2_src_mux: sys_clkout2_src_mux@70 {
1862306a36Sopenharmony_ci		#clock-cells = <0>;
1962306a36Sopenharmony_ci		compatible = "ti,composite-mux-clock";
2062306a36Sopenharmony_ci		clocks = <&core_ck>, <&sys_ck>, <&func_96m_ck>, <&func_54m_ck>;
2162306a36Sopenharmony_ci		ti,bit-shift = <8>;
2262306a36Sopenharmony_ci		reg = <0x0070>;
2362306a36Sopenharmony_ci	};
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci	sys_clkout2_src: sys_clkout2_src {
2662306a36Sopenharmony_ci		#clock-cells = <0>;
2762306a36Sopenharmony_ci		compatible = "ti,composite-clock";
2862306a36Sopenharmony_ci		clocks = <&sys_clkout2_src_gate>, <&sys_clkout2_src_mux>;
2962306a36Sopenharmony_ci	};
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci	sys_clkout2: sys_clkout2@70 {
3262306a36Sopenharmony_ci		#clock-cells = <0>;
3362306a36Sopenharmony_ci		compatible = "ti,divider-clock";
3462306a36Sopenharmony_ci		clocks = <&sys_clkout2_src>;
3562306a36Sopenharmony_ci		ti,bit-shift = <11>;
3662306a36Sopenharmony_ci		ti,max-div = <64>;
3762306a36Sopenharmony_ci		reg = <0x0070>;
3862306a36Sopenharmony_ci		ti,index-power-of-two;
3962306a36Sopenharmony_ci	};
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci	dsp_gate_ick: dsp_gate_ick@810 {
4262306a36Sopenharmony_ci		#clock-cells = <0>;
4362306a36Sopenharmony_ci		compatible = "ti,composite-interface-clock";
4462306a36Sopenharmony_ci		clocks = <&dsp_fck>;
4562306a36Sopenharmony_ci		ti,bit-shift = <1>;
4662306a36Sopenharmony_ci		reg = <0x0810>;
4762306a36Sopenharmony_ci	};
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ci	dsp_div_ick: dsp_div_ick@840 {
5062306a36Sopenharmony_ci		#clock-cells = <0>;
5162306a36Sopenharmony_ci		compatible = "ti,composite-divider-clock";
5262306a36Sopenharmony_ci		clocks = <&dsp_fck>;
5362306a36Sopenharmony_ci		ti,bit-shift = <5>;
5462306a36Sopenharmony_ci		ti,max-div = <3>;
5562306a36Sopenharmony_ci		reg = <0x0840>;
5662306a36Sopenharmony_ci		ti,index-starts-at-one;
5762306a36Sopenharmony_ci	};
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ci	dsp_ick: dsp_ick {
6062306a36Sopenharmony_ci		#clock-cells = <0>;
6162306a36Sopenharmony_ci		compatible = "ti,composite-clock";
6262306a36Sopenharmony_ci		clocks = <&dsp_gate_ick>, <&dsp_div_ick>;
6362306a36Sopenharmony_ci	};
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ci	iva1_gate_ifck: iva1_gate_ifck@800 {
6662306a36Sopenharmony_ci		#clock-cells = <0>;
6762306a36Sopenharmony_ci		compatible = "ti,composite-gate-clock";
6862306a36Sopenharmony_ci		clocks = <&core_ck>;
6962306a36Sopenharmony_ci		ti,bit-shift = <10>;
7062306a36Sopenharmony_ci		reg = <0x0800>;
7162306a36Sopenharmony_ci	};
7262306a36Sopenharmony_ci
7362306a36Sopenharmony_ci	iva1_div_ifck: iva1_div_ifck@840 {
7462306a36Sopenharmony_ci		#clock-cells = <0>;
7562306a36Sopenharmony_ci		compatible = "ti,composite-divider-clock";
7662306a36Sopenharmony_ci		clocks = <&core_ck>;
7762306a36Sopenharmony_ci		ti,bit-shift = <8>;
7862306a36Sopenharmony_ci		reg = <0x0840>;
7962306a36Sopenharmony_ci		ti,dividers = <0>, <1>, <2>, <3>, <4>, <0>, <6>, <0>, <8>, <0>, <0>, <0>, <12>;
8062306a36Sopenharmony_ci	};
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_ci	iva1_ifck: iva1_ifck {
8362306a36Sopenharmony_ci		#clock-cells = <0>;
8462306a36Sopenharmony_ci		compatible = "ti,composite-clock";
8562306a36Sopenharmony_ci		clocks = <&iva1_gate_ifck>, <&iva1_div_ifck>;
8662306a36Sopenharmony_ci	};
8762306a36Sopenharmony_ci
8862306a36Sopenharmony_ci	iva1_ifck_div: iva1_ifck_div {
8962306a36Sopenharmony_ci		#clock-cells = <0>;
9062306a36Sopenharmony_ci		compatible = "fixed-factor-clock";
9162306a36Sopenharmony_ci		clocks = <&iva1_ifck>;
9262306a36Sopenharmony_ci		clock-mult = <1>;
9362306a36Sopenharmony_ci		clock-div = <2>;
9462306a36Sopenharmony_ci	};
9562306a36Sopenharmony_ci
9662306a36Sopenharmony_ci	iva1_mpu_int_ifck: iva1_mpu_int_ifck@800 {
9762306a36Sopenharmony_ci		#clock-cells = <0>;
9862306a36Sopenharmony_ci		compatible = "ti,wait-gate-clock";
9962306a36Sopenharmony_ci		clocks = <&iva1_ifck_div>;
10062306a36Sopenharmony_ci		ti,bit-shift = <8>;
10162306a36Sopenharmony_ci		reg = <0x0800>;
10262306a36Sopenharmony_ci	};
10362306a36Sopenharmony_ci
10462306a36Sopenharmony_ci	wdt3_ick: wdt3_ick@210 {
10562306a36Sopenharmony_ci		#clock-cells = <0>;
10662306a36Sopenharmony_ci		compatible = "ti,omap3-interface-clock";
10762306a36Sopenharmony_ci		clocks = <&l4_ck>;
10862306a36Sopenharmony_ci		ti,bit-shift = <28>;
10962306a36Sopenharmony_ci		reg = <0x0210>;
11062306a36Sopenharmony_ci	};
11162306a36Sopenharmony_ci
11262306a36Sopenharmony_ci	wdt3_fck: wdt3_fck@200 {
11362306a36Sopenharmony_ci		#clock-cells = <0>;
11462306a36Sopenharmony_ci		compatible = "ti,wait-gate-clock";
11562306a36Sopenharmony_ci		clocks = <&func_32k_ck>;
11662306a36Sopenharmony_ci		ti,bit-shift = <28>;
11762306a36Sopenharmony_ci		reg = <0x0200>;
11862306a36Sopenharmony_ci	};
11962306a36Sopenharmony_ci
12062306a36Sopenharmony_ci	mmc_ick: mmc_ick@210 {
12162306a36Sopenharmony_ci		#clock-cells = <0>;
12262306a36Sopenharmony_ci		compatible = "ti,omap3-interface-clock";
12362306a36Sopenharmony_ci		clocks = <&l4_ck>;
12462306a36Sopenharmony_ci		ti,bit-shift = <26>;
12562306a36Sopenharmony_ci		reg = <0x0210>;
12662306a36Sopenharmony_ci	};
12762306a36Sopenharmony_ci
12862306a36Sopenharmony_ci	mmc_fck: mmc_fck@200 {
12962306a36Sopenharmony_ci		#clock-cells = <0>;
13062306a36Sopenharmony_ci		compatible = "ti,wait-gate-clock";
13162306a36Sopenharmony_ci		clocks = <&func_96m_ck>;
13262306a36Sopenharmony_ci		ti,bit-shift = <26>;
13362306a36Sopenharmony_ci		reg = <0x0200>;
13462306a36Sopenharmony_ci	};
13562306a36Sopenharmony_ci
13662306a36Sopenharmony_ci	eac_ick: eac_ick@210 {
13762306a36Sopenharmony_ci		#clock-cells = <0>;
13862306a36Sopenharmony_ci		compatible = "ti,omap3-interface-clock";
13962306a36Sopenharmony_ci		clocks = <&l4_ck>;
14062306a36Sopenharmony_ci		ti,bit-shift = <24>;
14162306a36Sopenharmony_ci		reg = <0x0210>;
14262306a36Sopenharmony_ci	};
14362306a36Sopenharmony_ci
14462306a36Sopenharmony_ci	eac_fck: eac_fck@200 {
14562306a36Sopenharmony_ci		#clock-cells = <0>;
14662306a36Sopenharmony_ci		compatible = "ti,wait-gate-clock";
14762306a36Sopenharmony_ci		clocks = <&func_96m_ck>;
14862306a36Sopenharmony_ci		ti,bit-shift = <24>;
14962306a36Sopenharmony_ci		reg = <0x0200>;
15062306a36Sopenharmony_ci	};
15162306a36Sopenharmony_ci
15262306a36Sopenharmony_ci	i2c1_fck: i2c1_fck@200 {
15362306a36Sopenharmony_ci		#clock-cells = <0>;
15462306a36Sopenharmony_ci		compatible = "ti,wait-gate-clock";
15562306a36Sopenharmony_ci		clocks = <&func_12m_ck>;
15662306a36Sopenharmony_ci		ti,bit-shift = <19>;
15762306a36Sopenharmony_ci		reg = <0x0200>;
15862306a36Sopenharmony_ci	};
15962306a36Sopenharmony_ci
16062306a36Sopenharmony_ci	i2c2_fck: i2c2_fck@200 {
16162306a36Sopenharmony_ci		#clock-cells = <0>;
16262306a36Sopenharmony_ci		compatible = "ti,wait-gate-clock";
16362306a36Sopenharmony_ci		clocks = <&func_12m_ck>;
16462306a36Sopenharmony_ci		ti,bit-shift = <20>;
16562306a36Sopenharmony_ci		reg = <0x0200>;
16662306a36Sopenharmony_ci	};
16762306a36Sopenharmony_ci
16862306a36Sopenharmony_ci	vlynq_ick: vlynq_ick@210 {
16962306a36Sopenharmony_ci		#clock-cells = <0>;
17062306a36Sopenharmony_ci		compatible = "ti,omap3-interface-clock";
17162306a36Sopenharmony_ci		clocks = <&core_l3_ck>;
17262306a36Sopenharmony_ci		ti,bit-shift = <3>;
17362306a36Sopenharmony_ci		reg = <0x0210>;
17462306a36Sopenharmony_ci	};
17562306a36Sopenharmony_ci
17662306a36Sopenharmony_ci	vlynq_gate_fck: vlynq_gate_fck@200 {
17762306a36Sopenharmony_ci		#clock-cells = <0>;
17862306a36Sopenharmony_ci		compatible = "ti,composite-gate-clock";
17962306a36Sopenharmony_ci		clocks = <&core_ck>;
18062306a36Sopenharmony_ci		ti,bit-shift = <3>;
18162306a36Sopenharmony_ci		reg = <0x0200>;
18262306a36Sopenharmony_ci	};
18362306a36Sopenharmony_ci
18462306a36Sopenharmony_ci	core_d18_ck: core_d18_ck {
18562306a36Sopenharmony_ci		#clock-cells = <0>;
18662306a36Sopenharmony_ci		compatible = "fixed-factor-clock";
18762306a36Sopenharmony_ci		clocks = <&core_ck>;
18862306a36Sopenharmony_ci		clock-mult = <1>;
18962306a36Sopenharmony_ci		clock-div = <18>;
19062306a36Sopenharmony_ci	};
19162306a36Sopenharmony_ci
19262306a36Sopenharmony_ci	vlynq_mux_fck: vlynq_mux_fck@240 {
19362306a36Sopenharmony_ci		#clock-cells = <0>;
19462306a36Sopenharmony_ci		compatible = "ti,composite-mux-clock";
19562306a36Sopenharmony_ci		clocks = <&func_96m_ck>, <&core_ck>, <&core_d2_ck>, <&core_d3_ck>, <&core_d4_ck>, <&dummy_ck>, <&core_d6_ck>, <&dummy_ck>, <&core_d8_ck>, <&core_d9_ck>, <&dummy_ck>, <&dummy_ck>, <&core_d12_ck>, <&dummy_ck>, <&dummy_ck>, <&dummy_ck>, <&core_d16_ck>, <&dummy_ck>, <&core_d18_ck>;
19662306a36Sopenharmony_ci		ti,bit-shift = <15>;
19762306a36Sopenharmony_ci		reg = <0x0240>;
19862306a36Sopenharmony_ci	};
19962306a36Sopenharmony_ci
20062306a36Sopenharmony_ci	vlynq_fck: vlynq_fck {
20162306a36Sopenharmony_ci		#clock-cells = <0>;
20262306a36Sopenharmony_ci		compatible = "ti,composite-clock";
20362306a36Sopenharmony_ci		clocks = <&vlynq_gate_fck>, <&vlynq_mux_fck>;
20462306a36Sopenharmony_ci	};
20562306a36Sopenharmony_ci};
20662306a36Sopenharmony_ci
20762306a36Sopenharmony_ci&prcm_clockdomains {
20862306a36Sopenharmony_ci	gfx_clkdm: gfx_clkdm {
20962306a36Sopenharmony_ci		compatible = "ti,clockdomain";
21062306a36Sopenharmony_ci		clocks = <&gfx_ick>;
21162306a36Sopenharmony_ci	};
21262306a36Sopenharmony_ci
21362306a36Sopenharmony_ci	core_l3_clkdm: core_l3_clkdm {
21462306a36Sopenharmony_ci		compatible = "ti,clockdomain";
21562306a36Sopenharmony_ci		clocks = <&cam_fck>, <&vlynq_ick>, <&usb_fck>;
21662306a36Sopenharmony_ci	};
21762306a36Sopenharmony_ci
21862306a36Sopenharmony_ci	wkup_clkdm: wkup_clkdm {
21962306a36Sopenharmony_ci		compatible = "ti,clockdomain";
22062306a36Sopenharmony_ci		clocks = <&dpll_ck>, <&emul_ck>, <&gpt1_ick>, <&gpios_ick>,
22162306a36Sopenharmony_ci			 <&gpios_fck>, <&mpu_wdt_ick>, <&mpu_wdt_fck>,
22262306a36Sopenharmony_ci			 <&sync_32k_ick>, <&wdt1_ick>, <&omapctrl_ick>;
22362306a36Sopenharmony_ci	};
22462306a36Sopenharmony_ci
22562306a36Sopenharmony_ci	iva1_clkdm: iva1_clkdm {
22662306a36Sopenharmony_ci		compatible = "ti,clockdomain";
22762306a36Sopenharmony_ci		clocks = <&iva1_mpu_int_ifck>;
22862306a36Sopenharmony_ci	};
22962306a36Sopenharmony_ci
23062306a36Sopenharmony_ci	dss_clkdm: dss_clkdm {
23162306a36Sopenharmony_ci		compatible = "ti,clockdomain";
23262306a36Sopenharmony_ci		clocks = <&dss_ick>, <&dss_54m_fck>;
23362306a36Sopenharmony_ci	};
23462306a36Sopenharmony_ci
23562306a36Sopenharmony_ci	core_l4_clkdm: core_l4_clkdm {
23662306a36Sopenharmony_ci		compatible = "ti,clockdomain";
23762306a36Sopenharmony_ci		clocks = <&ssi_l4_ick>, <&gpt2_ick>, <&gpt3_ick>, <&gpt4_ick>,
23862306a36Sopenharmony_ci			 <&gpt5_ick>, <&gpt6_ick>, <&gpt7_ick>, <&gpt8_ick>,
23962306a36Sopenharmony_ci			 <&gpt9_ick>, <&gpt10_ick>, <&gpt11_ick>, <&gpt12_ick>,
24062306a36Sopenharmony_ci			 <&mcbsp1_ick>, <&mcbsp2_ick>, <&mcspi1_ick>,
24162306a36Sopenharmony_ci			 <&mcspi1_fck>, <&mcspi2_ick>, <&mcspi2_fck>,
24262306a36Sopenharmony_ci			 <&uart1_ick>, <&uart1_fck>, <&uart2_ick>, <&uart2_fck>,
24362306a36Sopenharmony_ci			 <&uart3_ick>, <&uart3_fck>, <&cam_ick>,
24462306a36Sopenharmony_ci			 <&mailboxes_ick>, <&wdt4_ick>, <&wdt4_fck>,
24562306a36Sopenharmony_ci			 <&wdt3_ick>, <&wdt3_fck>, <&mspro_ick>, <&mspro_fck>,
24662306a36Sopenharmony_ci			 <&mmc_ick>, <&mmc_fck>, <&fac_ick>, <&fac_fck>,
24762306a36Sopenharmony_ci			 <&eac_ick>, <&eac_fck>, <&hdq_ick>, <&hdq_fck>,
24862306a36Sopenharmony_ci			 <&i2c1_ick>, <&i2c1_fck>, <&i2c2_ick>, <&i2c2_fck>,
24962306a36Sopenharmony_ci			 <&des_ick>, <&sha_ick>, <&rng_ick>, <&aes_ick>,
25062306a36Sopenharmony_ci			 <&pka_ick>;
25162306a36Sopenharmony_ci	};
25262306a36Sopenharmony_ci};
25362306a36Sopenharmony_ci
25462306a36Sopenharmony_ci&func_96m_ck {
25562306a36Sopenharmony_ci	compatible = "fixed-factor-clock";
25662306a36Sopenharmony_ci	clocks = <&apll96_ck>;
25762306a36Sopenharmony_ci	clock-mult = <1>;
25862306a36Sopenharmony_ci	clock-div = <1>;
25962306a36Sopenharmony_ci};
26062306a36Sopenharmony_ci
26162306a36Sopenharmony_ci&dsp_div_fck {
26262306a36Sopenharmony_ci	ti,dividers = <0>, <1>, <2>, <3>, <4>, <0>, <6>, <0>, <8>, <0>, <0>, <0>, <12>;
26362306a36Sopenharmony_ci};
26462306a36Sopenharmony_ci
26562306a36Sopenharmony_ci&ssi_ssr_sst_div_fck {
26662306a36Sopenharmony_ci	ti,dividers = <0>, <1>, <2>, <3>, <4>, <0>, <6>, <0>, <8>;
26762306a36Sopenharmony_ci};
268