xref: /freebsd/sys/contrib/device-tree/src/arm/ti/keystone/keystone-k2e-clocks.dtsi (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2*f126890aSEmmanuel Vadot/*
3*f126890aSEmmanuel Vadot * Keystone 2 Edison SoC specific device tree
4*f126890aSEmmanuel Vadot *
5*f126890aSEmmanuel Vadot * Copyright (C) 2014-2017 Texas Instruments Incorporated - http://www.ti.com/
6*f126890aSEmmanuel Vadot */
7*f126890aSEmmanuel Vadot
8*f126890aSEmmanuel Vadotclocks {
9*f126890aSEmmanuel Vadot	mainpllclk: mainpllclk@2310110 {
10*f126890aSEmmanuel Vadot		#clock-cells = <0>;
11*f126890aSEmmanuel Vadot		compatible = "ti,keystone,main-pll-clock";
12*f126890aSEmmanuel Vadot		clocks = <&refclksys>;
13*f126890aSEmmanuel Vadot		reg = <0x02620350 4>, <0x02310110 4>, <0x02310108 4>;
14*f126890aSEmmanuel Vadot		reg-names = "control", "multiplier", "post-divider";
15*f126890aSEmmanuel Vadot	};
16*f126890aSEmmanuel Vadot
17*f126890aSEmmanuel Vadot	papllclk: papllclk@2620358 {
18*f126890aSEmmanuel Vadot		#clock-cells = <0>;
19*f126890aSEmmanuel Vadot		compatible = "ti,keystone,pll-clock";
20*f126890aSEmmanuel Vadot		clocks = <&refclkpass>;
21*f126890aSEmmanuel Vadot		clock-output-names = "papllclk";
22*f126890aSEmmanuel Vadot		reg = <0x02620358 4>;
23*f126890aSEmmanuel Vadot		reg-names = "control";
24*f126890aSEmmanuel Vadot	};
25*f126890aSEmmanuel Vadot
26*f126890aSEmmanuel Vadot	ddr3apllclk: ddr3apllclk@2620360 {
27*f126890aSEmmanuel Vadot		#clock-cells = <0>;
28*f126890aSEmmanuel Vadot		compatible = "ti,keystone,pll-clock";
29*f126890aSEmmanuel Vadot		clocks = <&refclkddr3a>;
30*f126890aSEmmanuel Vadot		clock-output-names = "ddr-3a-pll-clk";
31*f126890aSEmmanuel Vadot		reg = <0x02620360 4>;
32*f126890aSEmmanuel Vadot		reg-names = "control";
33*f126890aSEmmanuel Vadot	};
34*f126890aSEmmanuel Vadot
35*f126890aSEmmanuel Vadot	clkusb1: clkusb1@2350004 {
36*f126890aSEmmanuel Vadot		#clock-cells = <0>;
37*f126890aSEmmanuel Vadot		compatible = "ti,keystone,psc-clock";
38*f126890aSEmmanuel Vadot		clocks = <&chipclk16>;
39*f126890aSEmmanuel Vadot		clock-output-names = "usb1";
40*f126890aSEmmanuel Vadot		reg = <0x02350004 0xb00>, <0x02350000 0x400>;
41*f126890aSEmmanuel Vadot		reg-names = "control", "domain";
42*f126890aSEmmanuel Vadot		domain-id = <0>;
43*f126890aSEmmanuel Vadot	};
44*f126890aSEmmanuel Vadot
45*f126890aSEmmanuel Vadot	clkhyperlink0: clkhyperlink0@2350030 {
46*f126890aSEmmanuel Vadot		#clock-cells = <0>;
47*f126890aSEmmanuel Vadot		compatible = "ti,keystone,psc-clock";
48*f126890aSEmmanuel Vadot		clocks = <&chipclk12>;
49*f126890aSEmmanuel Vadot		clock-output-names = "hyperlink-0";
50*f126890aSEmmanuel Vadot		reg = <0x02350030 0xb00>, <0x02350014 0x400>;
51*f126890aSEmmanuel Vadot		reg-names = "control", "domain";
52*f126890aSEmmanuel Vadot		domain-id = <5>;
53*f126890aSEmmanuel Vadot	};
54*f126890aSEmmanuel Vadot
55*f126890aSEmmanuel Vadot	clkpcie1: clkpcie1@235006c {
56*f126890aSEmmanuel Vadot		#clock-cells = <0>;
57*f126890aSEmmanuel Vadot		compatible = "ti,keystone,psc-clock";
58*f126890aSEmmanuel Vadot		clocks = <&chipclk12>;
59*f126890aSEmmanuel Vadot		clock-output-names = "pcie1";
60*f126890aSEmmanuel Vadot		reg = <0x0235006c 0xb00>, <0x02350048 0x400>;
61*f126890aSEmmanuel Vadot		reg-names = "control", "domain";
62*f126890aSEmmanuel Vadot		domain-id = <18>;
63*f126890aSEmmanuel Vadot	};
64*f126890aSEmmanuel Vadot
65*f126890aSEmmanuel Vadot	clkxge: clkxge@23500c8 {
66*f126890aSEmmanuel Vadot		#clock-cells = <0>;
67*f126890aSEmmanuel Vadot		compatible = "ti,keystone,psc-clock";
68*f126890aSEmmanuel Vadot		clocks = <&chipclk13>;
69*f126890aSEmmanuel Vadot		clock-output-names = "xge";
70*f126890aSEmmanuel Vadot		reg = <0x023500c8 0xb00>, <0x02350074 0x400>;
71*f126890aSEmmanuel Vadot		reg-names = "control", "domain";
72*f126890aSEmmanuel Vadot		domain-id = <29>;
73*f126890aSEmmanuel Vadot	};
74*f126890aSEmmanuel Vadot
75*f126890aSEmmanuel Vadot	/*
76*f126890aSEmmanuel Vadot	 * Below are set of fixed, input clocks definitions,
77*f126890aSEmmanuel Vadot	 * for which real frequencies have to be defined in board files.
78*f126890aSEmmanuel Vadot	 * Those clocks can be used as reference clocks for some HW modules
79*f126890aSEmmanuel Vadot	 * (as cpts, for example) by configuring corresponding clock muxes.
80*f126890aSEmmanuel Vadot	 */
81*f126890aSEmmanuel Vadot	tsipclka: tsipclka {
82*f126890aSEmmanuel Vadot		#clock-cells = <0>;
83*f126890aSEmmanuel Vadot		compatible = "fixed-clock";
84*f126890aSEmmanuel Vadot		clock-frequency = <0>;
85*f126890aSEmmanuel Vadot		clock-output-names = "tsipclka";
86*f126890aSEmmanuel Vadot	};
87*f126890aSEmmanuel Vadot
88*f126890aSEmmanuel Vadot	tsipclkb: tsipclkb {
89*f126890aSEmmanuel Vadot		#clock-cells = <0>;
90*f126890aSEmmanuel Vadot		compatible = "fixed-clock";
91*f126890aSEmmanuel Vadot		clock-frequency = <0>;
92*f126890aSEmmanuel Vadot		clock-output-names = "tsipclkb";
93*f126890aSEmmanuel Vadot	};
94*f126890aSEmmanuel Vadot};
95