summaryrefslogtreecommitdiff
path: root/board/toradex/apalis_t30/apalis_t30.dts
blob: 4004e494c820df623a6cd7586c4684911fb13780 (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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
/dts-v1/;

/memreserve/ 0x1c000000 0x04000000;
/include/ "../../nvidia/cardhu/tegra30.dtsi"

/ {
	model = "Toradex Apalis T30";
	compatible = "toradex,apalis_t30", "nvidia,tegra30";

	config {
		machine-arch-id = <4513>;
	};

	aliases {
		console = "/serial@70006000";
		usb0 = "/usb@0x7d000000";
		usb1 = "/usb@0x7d004000";
		usb2 = "/usb@0x7d008000";

		sdmmc0 = "/sdhci@78000600";
		sdmmc1 = "/sdhci@78000400";
		sdmmc2 = "/sdhci@78000000";

		i2c0 = "/i2c@0x7000d000";
		i2c1 = "/i2c@0x7000c000";
		i2c2 = "/i2c@0x7000c400";
		i2c3 = "/i2c@0x7000c500";
		i2c4 = "/i2c@0x7000c700";
	};

	memory {
		device_type = "memory";
		reg = <0x80000000 0x80000000>;
	};

	serial@70006000 {
		status = "ok";
		/*
		 * TBD - use CONFIG_SYS_PLLP_BASE_IS_408MHZ somehow here.
		 * Currently I put this back to 216MHz in fdt_decode.c
		 */
		clock-frequency = <408000000>;
	};

	/* SD - SDMMC1 */
	sdhci@78000000 {
		status = "ok";
		width = <4>;	/* width of SDIO port */
		removable = <1>;
		/* Parameter 3 bit 0:1=output, 0=input; bit 1:1=high, 0=low */
		cd-gpio = <&gpio 229 0>; /* card detect, gpio PCC5, SD1_CD_N */
	};

	/* MMC - SDMMC3 */
//8-bit support broken
	sdhci@78000400 {
		status = "ok";
		width = <4>;	/* width of SDIO port */
		removable = <1>;
		/* Parameter 3 bit 0:1=output, 0=input; bit 1:1=high, 0=low */
		cd-gpio = <&gpio 171 0>; /* card detect, gpio PV3, MMC1_CD_N */
	};

	/* Internal eMMC - SDMMC4 */
//8-bit support broken
	emmc: sdhci@78000600 {
		status = "ok";
		width = <4>;	/* width of SDIO port */
		removable = <0>;
	};

	lcd {
		compatible = "nvidia,tegra2-lcd";
		width = <640>;
		height = <480>;
		bits_per_pixel = <16>;
		pwfm = <&pwfm0>;
		display = <&display1>;
                /* frame-buffer location = top of memory - carveout - fb */
		frame-buffer = <0xbfb00000>;

		pixel_clock = <25175000>;

		/* Timing: ref_to_sync, sync_width, back_porch, front_porch */
		horiz_timing = <0 96 48 16>;
		vert_timing = <1 2 31 11>;

		/* 800x480@60 (e.g. EDT ET070080DH6)
		pixel_clock = <32460000>;
		width = <800>;
		height = <480>;
		horiz_timing = <1 64 128 64>;
		vert_timing = <1 3 22 20>;
		*/

		/* 1024x768 timings
		pixel_clock = <72000000>;
		width = <1024>;
		height = <768>;
		horiz_timing = <0 136 160 24>;
		vert_timing = <1 6 29 3>;
		*/

		/* Parameter 3 bit 0:1=output, 0=input; bit 1:1=high, 0=low */
		backlight-enable = <&gpio 170 1>; /* PV2 - SODIMM 71: BL_ON */
		backlight-vdd = <&gpio 255 1>;
		lvds-shutdown = <&gpio 255 1>;
		panel-vdd = <&gpio 255 1>;

		/*
		 * Panel required timings
		 * Timing 1: delay between panel_vdd-rise and data-rise
		 * Timing 2: delay between data-rise and backlight_vdd-rise
		 * Timing 3: delay between backlight_vdd and pwm-rise
		 * Timing 4: delay between pwm-rise and backlight_en-rise
		 */
		panel-timings = <0 0 0 0>;
	};

	/* EHCI instance 0: USB1_DP/N -> USBO1_DP/N */
//currently broken
	usb@0x7d000000 {
		status = "ok";
		host-mode = <1>;
		vbus-gpio = <&gpio 157 3>;	/* PT5, USBO1_EN */
	};

	usbphya: usbphy@0 {
		compatible = "smsc,usb3315";
		status = "ok";
	};

	/* EHCI instance 1: USB2_DP/N -> USBH2_DP/N */
	usb@0x7d004000 {
		status = "ok";
		utmi = <&usbphya>;
		host-mode = <0>;
		vbus-gpio = <&gpio 233 3>;	/* PDD1, USBH_EN */
	};

	usbphyb: usbphy@0 {
		compatible = "smsc,usb3315";
		status = "ok";
	};

	/* EHCI instance 2: USB3_DP/N -> USBH3_DP/N */
	usb@0x7d008000 {
		status = "ok";
		utmi = <&usbphyb>;
		host-mode = <0>;
	};
};