xref: /OK3568_Linux_fs/kernel/arch/arm/boot/dts/dra76x.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0-only
2*4882a593Smuzhiyun/*
3*4882a593Smuzhiyun * Copyright (C) 2017 Texas Instruments Incorporated - https://www.ti.com/
4*4882a593Smuzhiyun */
5*4882a593Smuzhiyun
6*4882a593Smuzhiyun#include "dra74x.dtsi"
7*4882a593Smuzhiyun
8*4882a593Smuzhiyun/ {
9*4882a593Smuzhiyun	compatible = "ti,dra762", "ti,dra7";
10*4882a593Smuzhiyun
11*4882a593Smuzhiyun	ocp {
12*4882a593Smuzhiyun		target-module@42c01900 {
13*4882a593Smuzhiyun			compatible = "ti,sysc-dra7-mcan", "ti,sysc";
14*4882a593Smuzhiyun			ranges = <0x0 0x42c00000 0x2000>;
15*4882a593Smuzhiyun			#address-cells = <1>;
16*4882a593Smuzhiyun			#size-cells = <1>;
17*4882a593Smuzhiyun			reg = <0x42c01900 0x4>,
18*4882a593Smuzhiyun			      <0x42c01904 0x4>,
19*4882a593Smuzhiyun			      <0x42c01908 0x4>;
20*4882a593Smuzhiyun			reg-names = "rev", "sysc", "syss";
21*4882a593Smuzhiyun			ti,sysc-mask = <(SYSC_OMAP4_SOFTRESET |
22*4882a593Smuzhiyun					 SYSC_DRA7_MCAN_ENAWAKEUP)>;
23*4882a593Smuzhiyun			ti,syss-mask = <1>;
24*4882a593Smuzhiyun			clocks = <&wkupaon_clkctrl DRA7_WKUPAON_ADC_CLKCTRL 0>;
25*4882a593Smuzhiyun			clock-names = "fck";
26*4882a593Smuzhiyun
27*4882a593Smuzhiyun			m_can0: mcan@1a00 {
28*4882a593Smuzhiyun				compatible = "bosch,m_can";
29*4882a593Smuzhiyun				reg = <0x1a00 0x4000>, <0x0 0x18FC>;
30*4882a593Smuzhiyun				reg-names = "m_can", "message_ram";
31*4882a593Smuzhiyun				interrupt-parent = <&gic>;
32*4882a593Smuzhiyun				interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>,
33*4882a593Smuzhiyun					     <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
34*4882a593Smuzhiyun				interrupt-names = "int0", "int1";
35*4882a593Smuzhiyun				clocks = <&l3_iclk_div>, <&mcan_clk>;
36*4882a593Smuzhiyun				clock-names = "hclk", "cclk";
37*4882a593Smuzhiyun				bosch,mram-cfg = <0x0 0 0 32 0 0 1 1>;
38*4882a593Smuzhiyun			};
39*4882a593Smuzhiyun		};
40*4882a593Smuzhiyun	};
41*4882a593Smuzhiyun
42*4882a593Smuzhiyun};
43*4882a593Smuzhiyun
44*4882a593Smuzhiyun&l4_per3 {
45*4882a593Smuzhiyun	target-module@1b0000 {			/* 0x489b0000, ap 25 34.0 */
46*4882a593Smuzhiyun		compatible = "ti,sysc-omap4", "ti,sysc";
47*4882a593Smuzhiyun		reg = <0x1b0000 0x4>,
48*4882a593Smuzhiyun		      <0x1b0010 0x4>;
49*4882a593Smuzhiyun		reg-names = "rev", "sysc";
50*4882a593Smuzhiyun		ti,sysc-midle = <SYSC_IDLE_FORCE>,
51*4882a593Smuzhiyun				<SYSC_IDLE_NO>;
52*4882a593Smuzhiyun		ti,sysc-sidle = <SYSC_IDLE_FORCE>,
53*4882a593Smuzhiyun				<SYSC_IDLE_NO>;
54*4882a593Smuzhiyun		clocks = <&cam_clkctrl DRA7_CAM_VIP3_CLKCTRL 0>;
55*4882a593Smuzhiyun		clock-names = "fck";
56*4882a593Smuzhiyun		#address-cells = <1>;
57*4882a593Smuzhiyun		#size-cells = <1>;
58*4882a593Smuzhiyun		ranges = <0x0 0x1b0000 0x10000>;
59*4882a593Smuzhiyun
60*4882a593Smuzhiyun		cal: cal@0 {
61*4882a593Smuzhiyun			compatible = "ti,dra76-cal";
62*4882a593Smuzhiyun			reg = <0x0000 0x400>,
63*4882a593Smuzhiyun			      <0x0800 0x40>,
64*4882a593Smuzhiyun			      <0x0900 0x40>;
65*4882a593Smuzhiyun			reg-names = "cal_top",
66*4882a593Smuzhiyun				    "cal_rx_core0",
67*4882a593Smuzhiyun				    "cal_rx_core1";
68*4882a593Smuzhiyun			interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
69*4882a593Smuzhiyun			ti,camerrx-control = <&scm_conf 0x6dc>;
70*4882a593Smuzhiyun
71*4882a593Smuzhiyun			ports {
72*4882a593Smuzhiyun				#address-cells = <1>;
73*4882a593Smuzhiyun				#size-cells = <0>;
74*4882a593Smuzhiyun
75*4882a593Smuzhiyun				csi2_0: port@0 {
76*4882a593Smuzhiyun					reg = <0>;
77*4882a593Smuzhiyun				};
78*4882a593Smuzhiyun				csi2_1: port@1 {
79*4882a593Smuzhiyun					reg = <1>;
80*4882a593Smuzhiyun				};
81*4882a593Smuzhiyun			};
82*4882a593Smuzhiyun		};
83*4882a593Smuzhiyun	};
84*4882a593Smuzhiyun};
85*4882a593Smuzhiyun
86*4882a593Smuzhiyun/* MCAN interrupts are hard-wired to irqs 67, 68 */
87*4882a593Smuzhiyun&crossbar_mpu {
88*4882a593Smuzhiyun	ti,irqs-skip = <10 67 68 133 139 140>;
89*4882a593Smuzhiyun};
90*4882a593Smuzhiyun
91*4882a593Smuzhiyun&scm_conf_clocks {
92*4882a593Smuzhiyun	dpll_gmac_h14x2_ctrl_ck: dpll_gmac_h14x2_ctrl_ck@3fc {
93*4882a593Smuzhiyun		#clock-cells = <0>;
94*4882a593Smuzhiyun		compatible = "ti,divider-clock";
95*4882a593Smuzhiyun		clocks = <&dpll_gmac_x2_ck>;
96*4882a593Smuzhiyun		ti,max-div = <63>;
97*4882a593Smuzhiyun		reg = <0x03fc>;
98*4882a593Smuzhiyun		ti,bit-shift=<20>;
99*4882a593Smuzhiyun		ti,latch-bit=<26>;
100*4882a593Smuzhiyun		assigned-clocks = <&dpll_gmac_h14x2_ctrl_ck>;
101*4882a593Smuzhiyun		assigned-clock-rates = <80000000>;
102*4882a593Smuzhiyun	};
103*4882a593Smuzhiyun
104*4882a593Smuzhiyun	dpll_gmac_h14x2_ctrl_mux_ck: dpll_gmac_h14x2_ctrl_mux_ck@3fc {
105*4882a593Smuzhiyun		#clock-cells = <0>;
106*4882a593Smuzhiyun		compatible = "ti,mux-clock";
107*4882a593Smuzhiyun		clocks = <&dpll_gmac_ck>, <&dpll_gmac_h14x2_ctrl_ck>;
108*4882a593Smuzhiyun		reg = <0x3fc>;
109*4882a593Smuzhiyun		ti,bit-shift = <29>;
110*4882a593Smuzhiyun		ti,latch-bit=<26>;
111*4882a593Smuzhiyun		assigned-clocks = <&dpll_gmac_h14x2_ctrl_mux_ck>;
112*4882a593Smuzhiyun		assigned-clock-parents = <&dpll_gmac_h14x2_ctrl_ck>;
113*4882a593Smuzhiyun	};
114*4882a593Smuzhiyun
115*4882a593Smuzhiyun	mcan_clk: mcan_clk@3fc {
116*4882a593Smuzhiyun		#clock-cells = <0>;
117*4882a593Smuzhiyun		compatible = "ti,gate-clock";
118*4882a593Smuzhiyun		clocks = <&dpll_gmac_h14x2_ctrl_mux_ck>;
119*4882a593Smuzhiyun		ti,bit-shift = <27>;
120*4882a593Smuzhiyun		reg = <0x3fc>;
121*4882a593Smuzhiyun	};
122*4882a593Smuzhiyun};
123*4882a593Smuzhiyun
124*4882a593Smuzhiyun&rtctarget {
125*4882a593Smuzhiyun	status = "disabled";
126*4882a593Smuzhiyun};
127*4882a593Smuzhiyun
128*4882a593Smuzhiyun&usb4_tm {
129*4882a593Smuzhiyun	status = "disabled";
130*4882a593Smuzhiyun};
131*4882a593Smuzhiyun
132*4882a593Smuzhiyun&mmc3 {
133*4882a593Smuzhiyun	/* dra76x is not affected by i887 */
134*4882a593Smuzhiyun	max-frequency = <96000000>;
135*4882a593Smuzhiyun};
136