xref: /OK3568_Linux_fs/kernel/arch/arm/boot/dts/dra7-evm-common.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 "dra74-ipu-dsp-common.dtsi"
7*4882a593Smuzhiyun#include <dt-bindings/gpio/gpio.h>
8*4882a593Smuzhiyun#include <dt-bindings/clock/ti-dra7-atl.h>
9*4882a593Smuzhiyun#include <dt-bindings/input/input.h>
10*4882a593Smuzhiyun
11*4882a593Smuzhiyun/ {
12*4882a593Smuzhiyun	chosen {
13*4882a593Smuzhiyun		stdout-path = &uart1;
14*4882a593Smuzhiyun	};
15*4882a593Smuzhiyun
16*4882a593Smuzhiyun	extcon_usb1: extcon_usb1 {
17*4882a593Smuzhiyun		compatible = "linux,extcon-usb-gpio";
18*4882a593Smuzhiyun		id-gpio = <&pcf_gpio_21 1 GPIO_ACTIVE_HIGH>;
19*4882a593Smuzhiyun	};
20*4882a593Smuzhiyun
21*4882a593Smuzhiyun	extcon_usb2: extcon_usb2 {
22*4882a593Smuzhiyun		compatible = "linux,extcon-usb-gpio";
23*4882a593Smuzhiyun		id-gpio = <&pcf_gpio_21 2 GPIO_ACTIVE_HIGH>;
24*4882a593Smuzhiyun	};
25*4882a593Smuzhiyun
26*4882a593Smuzhiyun	sound0: sound0 {
27*4882a593Smuzhiyun		compatible = "simple-audio-card";
28*4882a593Smuzhiyun		simple-audio-card,name = "DRA7xx-EVM";
29*4882a593Smuzhiyun		simple-audio-card,widgets =
30*4882a593Smuzhiyun			"Headphone", "Headphone Jack",
31*4882a593Smuzhiyun			"Line", "Line Out",
32*4882a593Smuzhiyun			"Microphone", "Mic Jack",
33*4882a593Smuzhiyun			"Line", "Line In";
34*4882a593Smuzhiyun		simple-audio-card,routing =
35*4882a593Smuzhiyun			"Headphone Jack",	"HPLOUT",
36*4882a593Smuzhiyun			"Headphone Jack",	"HPROUT",
37*4882a593Smuzhiyun			"Line Out",		"LLOUT",
38*4882a593Smuzhiyun			"Line Out",		"RLOUT",
39*4882a593Smuzhiyun			"MIC3L",		"Mic Jack",
40*4882a593Smuzhiyun			"MIC3R",		"Mic Jack",
41*4882a593Smuzhiyun			"Mic Jack",		"Mic Bias",
42*4882a593Smuzhiyun			"LINE1L",		"Line In",
43*4882a593Smuzhiyun			"LINE1R",		"Line In";
44*4882a593Smuzhiyun		simple-audio-card,format = "dsp_b";
45*4882a593Smuzhiyun		simple-audio-card,bitclock-master = <&sound0_master>;
46*4882a593Smuzhiyun		simple-audio-card,frame-master = <&sound0_master>;
47*4882a593Smuzhiyun		simple-audio-card,bitclock-inversion;
48*4882a593Smuzhiyun
49*4882a593Smuzhiyun		sound0_master: simple-audio-card,cpu {
50*4882a593Smuzhiyun			sound-dai = <&mcasp3>;
51*4882a593Smuzhiyun			system-clock-frequency = <5644800>;
52*4882a593Smuzhiyun		};
53*4882a593Smuzhiyun
54*4882a593Smuzhiyun		simple-audio-card,codec {
55*4882a593Smuzhiyun			sound-dai = <&tlv320aic3106>;
56*4882a593Smuzhiyun			clocks = <&atl_clkin2_ck>;
57*4882a593Smuzhiyun		};
58*4882a593Smuzhiyun	};
59*4882a593Smuzhiyun
60*4882a593Smuzhiyun	leds {
61*4882a593Smuzhiyun		compatible = "gpio-leds";
62*4882a593Smuzhiyun		led0 {
63*4882a593Smuzhiyun			label = "dra7:usr1";
64*4882a593Smuzhiyun			gpios = <&pcf_lcd 4 GPIO_ACTIVE_LOW>;
65*4882a593Smuzhiyun			default-state = "off";
66*4882a593Smuzhiyun		};
67*4882a593Smuzhiyun
68*4882a593Smuzhiyun		led1 {
69*4882a593Smuzhiyun			label = "dra7:usr2";
70*4882a593Smuzhiyun			gpios = <&pcf_lcd 5 GPIO_ACTIVE_LOW>;
71*4882a593Smuzhiyun			default-state = "off";
72*4882a593Smuzhiyun		};
73*4882a593Smuzhiyun
74*4882a593Smuzhiyun		led2 {
75*4882a593Smuzhiyun			label = "dra7:usr3";
76*4882a593Smuzhiyun			gpios = <&pcf_lcd 6 GPIO_ACTIVE_LOW>;
77*4882a593Smuzhiyun			default-state = "off";
78*4882a593Smuzhiyun		};
79*4882a593Smuzhiyun
80*4882a593Smuzhiyun		led3 {
81*4882a593Smuzhiyun			label = "dra7:usr4";
82*4882a593Smuzhiyun			gpios = <&pcf_lcd 7 GPIO_ACTIVE_LOW>;
83*4882a593Smuzhiyun			default-state = "off";
84*4882a593Smuzhiyun		};
85*4882a593Smuzhiyun	};
86*4882a593Smuzhiyun
87*4882a593Smuzhiyun	gpio_keys {
88*4882a593Smuzhiyun		compatible = "gpio-keys";
89*4882a593Smuzhiyun		#address-cells = <1>;
90*4882a593Smuzhiyun		#size-cells = <0>;
91*4882a593Smuzhiyun		autorepeat;
92*4882a593Smuzhiyun
93*4882a593Smuzhiyun		USER1 {
94*4882a593Smuzhiyun			label = "btnUser1";
95*4882a593Smuzhiyun			linux,code = <BTN_0>;
96*4882a593Smuzhiyun			gpios = <&pcf_lcd 2 GPIO_ACTIVE_LOW>;
97*4882a593Smuzhiyun		};
98*4882a593Smuzhiyun
99*4882a593Smuzhiyun		USER2 {
100*4882a593Smuzhiyun			label = "btnUser2";
101*4882a593Smuzhiyun			linux,code = <BTN_1>;
102*4882a593Smuzhiyun			gpios = <&pcf_lcd 3 GPIO_ACTIVE_LOW>;
103*4882a593Smuzhiyun		};
104*4882a593Smuzhiyun	};
105*4882a593Smuzhiyun};
106*4882a593Smuzhiyun
107*4882a593Smuzhiyun&i2c3 {
108*4882a593Smuzhiyun	status = "okay";
109*4882a593Smuzhiyun	clock-frequency = <400000>;
110*4882a593Smuzhiyun};
111*4882a593Smuzhiyun
112*4882a593Smuzhiyun&mcspi1 {
113*4882a593Smuzhiyun	status = "okay";
114*4882a593Smuzhiyun};
115*4882a593Smuzhiyun
116*4882a593Smuzhiyun&mcspi2 {
117*4882a593Smuzhiyun	status = "okay";
118*4882a593Smuzhiyun};
119*4882a593Smuzhiyun
120*4882a593Smuzhiyun&uart1 {
121*4882a593Smuzhiyun	status = "okay";
122*4882a593Smuzhiyun	interrupts-extended = <&crossbar_mpu GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>,
123*4882a593Smuzhiyun			      <&dra7_pmx_core 0x3e0>;
124*4882a593Smuzhiyun};
125*4882a593Smuzhiyun
126*4882a593Smuzhiyun&uart2 {
127*4882a593Smuzhiyun	status = "okay";
128*4882a593Smuzhiyun};
129*4882a593Smuzhiyun
130*4882a593Smuzhiyun&uart3 {
131*4882a593Smuzhiyun	status = "okay";
132*4882a593Smuzhiyun};
133*4882a593Smuzhiyun
134*4882a593Smuzhiyun&qspi {
135*4882a593Smuzhiyun	status = "okay";
136*4882a593Smuzhiyun
137*4882a593Smuzhiyun	spi-max-frequency = <76800000>;
138*4882a593Smuzhiyun	m25p80@0 {
139*4882a593Smuzhiyun		compatible = "s25fl256s1";
140*4882a593Smuzhiyun		spi-max-frequency = <76800000>;
141*4882a593Smuzhiyun		reg = <0>;
142*4882a593Smuzhiyun		spi-tx-bus-width = <1>;
143*4882a593Smuzhiyun		spi-rx-bus-width = <4>;
144*4882a593Smuzhiyun		#address-cells = <1>;
145*4882a593Smuzhiyun		#size-cells = <1>;
146*4882a593Smuzhiyun
147*4882a593Smuzhiyun		/* MTD partition table.
148*4882a593Smuzhiyun		 * The ROM checks the first four physical blocks
149*4882a593Smuzhiyun		 * for a valid file to boot and the flash here is
150*4882a593Smuzhiyun		 * 64KiB block size.
151*4882a593Smuzhiyun		 */
152*4882a593Smuzhiyun		partition@0 {
153*4882a593Smuzhiyun			label = "QSPI.SPL";
154*4882a593Smuzhiyun			reg = <0x00000000 0x000010000>;
155*4882a593Smuzhiyun		};
156*4882a593Smuzhiyun		partition@1 {
157*4882a593Smuzhiyun			label = "QSPI.SPL.backup1";
158*4882a593Smuzhiyun			reg = <0x00010000 0x00010000>;
159*4882a593Smuzhiyun		};
160*4882a593Smuzhiyun		partition@2 {
161*4882a593Smuzhiyun			label = "QSPI.SPL.backup2";
162*4882a593Smuzhiyun			reg = <0x00020000 0x00010000>;
163*4882a593Smuzhiyun		};
164*4882a593Smuzhiyun		partition@3 {
165*4882a593Smuzhiyun			label = "QSPI.SPL.backup3";
166*4882a593Smuzhiyun			reg = <0x00030000 0x00010000>;
167*4882a593Smuzhiyun		};
168*4882a593Smuzhiyun		partition@4 {
169*4882a593Smuzhiyun			label = "QSPI.u-boot";
170*4882a593Smuzhiyun			reg = <0x00040000 0x00100000>;
171*4882a593Smuzhiyun		};
172*4882a593Smuzhiyun		partition@5 {
173*4882a593Smuzhiyun			label = "QSPI.u-boot-spl-os";
174*4882a593Smuzhiyun			reg = <0x00140000 0x00080000>;
175*4882a593Smuzhiyun		};
176*4882a593Smuzhiyun		partition@6 {
177*4882a593Smuzhiyun			label = "QSPI.u-boot-env";
178*4882a593Smuzhiyun			reg = <0x001c0000 0x00010000>;
179*4882a593Smuzhiyun		};
180*4882a593Smuzhiyun		partition@7 {
181*4882a593Smuzhiyun			label = "QSPI.u-boot-env.backup1";
182*4882a593Smuzhiyun			reg = <0x001d0000 0x0010000>;
183*4882a593Smuzhiyun		};
184*4882a593Smuzhiyun		partition@8 {
185*4882a593Smuzhiyun			label = "QSPI.kernel";
186*4882a593Smuzhiyun			reg = <0x001e0000 0x0800000>;
187*4882a593Smuzhiyun		};
188*4882a593Smuzhiyun		partition@9 {
189*4882a593Smuzhiyun			label = "QSPI.file-system";
190*4882a593Smuzhiyun			reg = <0x009e0000 0x01620000>;
191*4882a593Smuzhiyun		};
192*4882a593Smuzhiyun	};
193*4882a593Smuzhiyun};
194*4882a593Smuzhiyun
195*4882a593Smuzhiyun&omap_dwc3_1 {
196*4882a593Smuzhiyun	extcon = <&extcon_usb1>;
197*4882a593Smuzhiyun};
198*4882a593Smuzhiyun
199*4882a593Smuzhiyun&usb1 {
200*4882a593Smuzhiyun	dr_mode = "otg";
201*4882a593Smuzhiyun	extcon = <&extcon_usb1>;
202*4882a593Smuzhiyun};
203*4882a593Smuzhiyun
204*4882a593Smuzhiyun&omap_dwc3_2 {
205*4882a593Smuzhiyun	extcon = <&extcon_usb2>;
206*4882a593Smuzhiyun};
207*4882a593Smuzhiyun
208*4882a593Smuzhiyun&usb2 {
209*4882a593Smuzhiyun	dr_mode = "host";
210*4882a593Smuzhiyun	extcon = <&extcon_usb2>;
211*4882a593Smuzhiyun};
212*4882a593Smuzhiyun
213*4882a593Smuzhiyun&atl {
214*4882a593Smuzhiyun	assigned-clocks = <&abe_dpll_sys_clk_mux>,
215*4882a593Smuzhiyun			  <&atl_clkctrl DRA7_ATL_ATL_CLKCTRL 26>,
216*4882a593Smuzhiyun			  <&dpll_abe_ck>,
217*4882a593Smuzhiyun			  <&dpll_abe_m2x2_ck>,
218*4882a593Smuzhiyun			  <&atl_clkin2_ck>;
219*4882a593Smuzhiyun	assigned-clock-parents = <&sys_clkin2>, <&dpll_abe_m2_ck>;
220*4882a593Smuzhiyun	assigned-clock-rates = <0>, <0>, <180633600>, <361267200>, <5644800>;
221*4882a593Smuzhiyun
222*4882a593Smuzhiyun	status = "okay";
223*4882a593Smuzhiyun
224*4882a593Smuzhiyun	atl2 {
225*4882a593Smuzhiyun		bws = <DRA7_ATL_WS_MCASP2_FSX>;
226*4882a593Smuzhiyun		aws = <DRA7_ATL_WS_MCASP3_FSX>;
227*4882a593Smuzhiyun	};
228*4882a593Smuzhiyun};
229*4882a593Smuzhiyun
230*4882a593Smuzhiyun&mcasp3 {
231*4882a593Smuzhiyun	#sound-dai-cells = <0>;
232*4882a593Smuzhiyun
233*4882a593Smuzhiyun	assigned-clocks = <&l4per2_clkctrl DRA7_L4PER2_MCASP3_CLKCTRL 24>;
234*4882a593Smuzhiyun	assigned-clock-parents = <&atl_clkin2_ck>;
235*4882a593Smuzhiyun
236*4882a593Smuzhiyun	status = "okay";
237*4882a593Smuzhiyun
238*4882a593Smuzhiyun	op-mode = <0>;          /* MCASP_IIS_MODE */
239*4882a593Smuzhiyun	tdm-slots = <2>;
240*4882a593Smuzhiyun	/* 4 serializer */
241*4882a593Smuzhiyun	serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
242*4882a593Smuzhiyun		1 2 0 0
243*4882a593Smuzhiyun	>;
244*4882a593Smuzhiyun	tx-num-evt = <32>;
245*4882a593Smuzhiyun	rx-num-evt = <32>;
246*4882a593Smuzhiyun};
247*4882a593Smuzhiyun
248*4882a593Smuzhiyun&pcie1_rc {
249*4882a593Smuzhiyun	status = "okay";
250*4882a593Smuzhiyun};
251*4882a593Smuzhiyun
252*4882a593Smuzhiyun&mmc4 {
253*4882a593Smuzhiyun	bus-width = <4>;
254*4882a593Smuzhiyun	cap-power-off-card;
255*4882a593Smuzhiyun	keep-power-in-suspend;
256*4882a593Smuzhiyun	non-removable;
257*4882a593Smuzhiyun	#address-cells = <1>;
258*4882a593Smuzhiyun	#size-cells = <0>;
259*4882a593Smuzhiyun	wifi@2 {
260*4882a593Smuzhiyun		compatible = "ti,wl1835";
261*4882a593Smuzhiyun		reg = <2>;
262*4882a593Smuzhiyun		interrupt-parent = <&gpio5>;
263*4882a593Smuzhiyun		interrupts = <7 IRQ_TYPE_EDGE_RISING>;
264*4882a593Smuzhiyun	};
265*4882a593Smuzhiyun};
266