summaryrefslogtreecommitdiff
path: root/arch/arm/boot/dts/vf610-colibri.dtsi
blob: 4c94254e4a607afc32f5779a02a202055c77a53c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
/*
 * Copyright 2014 Toradex AG
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 */

#include "vf610.dtsi"
#include "vf-colibri.dtsi"

/ {
	model = "Toradex Colibri VF61 COM";
	compatible = "toradex,vf610-colibri_vf61", "fsl,vf610";

	memory {
		reg = <0x80000000 0x10000000>;
	};

	sound {
		compatible = "fsl,fsl-sai-audio-wm9712";
		fsl,ac97-controller = <&sai2>;

		fsl,model = "Colibri VF61 AC97 Audio";

		fsl,audio-routing =
			"Headphone", "HPOUTL",
			"Headphone", "HPOUTR",
			"LINEINL", "LineIn",
			"LINEINR", "LineIn",
			"MIC1", "Mic";
	};
};

&sai0 {
	compatible = "fsl,vf610-sai-clk";
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_sai0>;
	status = "okay";
};

&sai2 {
	compatible = "fsl,vf610-sai-ac97";
	#sound-dai-cells = <0>;

	pinctrl-names = "default", "ac97-running", "ac97-reset",
			"ac97-warm-reset";
	pinctrl-0 = <&pinctrl_sai2_ac97_running>;
	pinctrl-1 = <&pinctrl_sai2_ac97_running>;
	pinctrl-2 = <&pinctrl_sai2_ac97_reset>;
	pinctrl-3 = <&pinctrl_sai2_ac97_reset>;
	ac97-gpios = <&gpio0 9 GPIO_ACTIVE_HIGH &gpio0 8 GPIO_ACTIVE_HIGH
		      &gpio0 13 GPIO_ACTIVE_HIGH>;
	status = "okay";
};

&L2 {
	arm,data-latency = <3 3 3>;
	arm,tag-latency = <2 2 2>;
};

&iomuxc {
	vf610-colibri {
		pinctrl_sai0: sai0grp_1 {
			fsl,pins = <
				VF610_PAD_PTB23__SAI0_TX_BCLK	0x31C3
			>;
		};
		pinctrl_sai2_ac97_reset: sai2grp_1 {
			fsl,pins = <
				/* Pen-down */
				VF610_PAD_PTA11__GPIO_4		0x22ed
				/* AC97 SData Out (test mode selection) */
				VF610_PAD_PTA18__GPIO_8		0x22ed
				/* AC97 Sync (warm reset) */
				VF610_PAD_PTA19__GPIO_9		0x22ed
				/* AC97 Reset (cold reset) */
				VF610_PAD_PTA23__GPIO_13	0x22eb
			>;
		};

		pinctrl_sai2_ac97_running: sai2grp_2 {
			fsl,pins = <
				/* AC97 Bit clock */
				VF610_PAD_PTA16__SAI2_TX_BCLK	0x31C3

				/* AC97 SData Out */
				VF610_PAD_PTA18__SAI2_TX_DATA	0x31C2

				/* AC97 Sync */
				VF610_PAD_PTA19__SAI2_TX_SYNC	0x31C3

				/* AC97 SData In */
				VF610_PAD_PTA22__SAI2_RX_DATA	0x0041

				/* AC97 Reset (cold reset, keep output buffer on) */
				VF610_PAD_PTA23__GPIO_13	0x22eb

				/* GenIRQ */
				VF610_PAD_PTB2__GPIO_24		0x22ed
			>;
		};
	};
};