xref: /openbmc/u-boot/arch/arm/dts/dm8168-evm.dts (revision 821560fd)
1*708ca4daSTom Rini/*
2*708ca4daSTom Rini * This program is free software; you can redistribute it and/or modify
3*708ca4daSTom Rini * it under the terms of the GNU General Public License version 2 as
4*708ca4daSTom Rini * published by the Free Software Foundation.
5*708ca4daSTom Rini */
6*708ca4daSTom Rini/dts-v1/;
7*708ca4daSTom Rini
8*708ca4daSTom Rini#include "dm816x.dtsi"
9*708ca4daSTom Rini#include <dt-bindings/interrupt-controller/irq.h>
10*708ca4daSTom Rini
11*708ca4daSTom Rini/ {
12*708ca4daSTom Rini	model = "DM8168 EVM";
13*708ca4daSTom Rini	compatible = "ti,dm8168-evm", "ti,dm8168";
14*708ca4daSTom Rini
15*708ca4daSTom Rini	memory@80000000 {
16*708ca4daSTom Rini		device_type = "memory";
17*708ca4daSTom Rini		reg = <0x80000000 0x40000000	/* 1 GB */
18*708ca4daSTom Rini		       0xc0000000 0x40000000>;	/* 1 GB */
19*708ca4daSTom Rini	};
20*708ca4daSTom Rini
21*708ca4daSTom Rini	/* FDC6331L controlled by SD_POW pin */
22*708ca4daSTom Rini	vmmcsd_fixed: fixedregulator0 {
23*708ca4daSTom Rini		compatible = "regulator-fixed";
24*708ca4daSTom Rini		regulator-name = "vmmcsd_fixed";
25*708ca4daSTom Rini		regulator-min-microvolt = <3300000>;
26*708ca4daSTom Rini		regulator-max-microvolt = <3300000>;
27*708ca4daSTom Rini	};
28*708ca4daSTom Rini};
29*708ca4daSTom Rini
30*708ca4daSTom Rini&dm816x_pinmux {
31*708ca4daSTom Rini	mcspi1_pins: pinmux_mcspi1_pins {
32*708ca4daSTom Rini		pinctrl-single,pins = <
33*708ca4daSTom Rini			DM816X_IOPAD(0x0a94, MUX_MODE0)			/* SPI_SCLK */
34*708ca4daSTom Rini			DM816X_IOPAD(0x0a98, MUX_MODE0)			/* SPI_SCS0 */
35*708ca4daSTom Rini			DM816X_IOPAD(0x0aa8, MUX_MODE0)			/* SPI_D0 */
36*708ca4daSTom Rini			DM816X_IOPAD(0x0aac, MUX_MODE0)			/* SPI_D1 */
37*708ca4daSTom Rini		>;
38*708ca4daSTom Rini	};
39*708ca4daSTom Rini
40*708ca4daSTom Rini	mmc_pins: pinmux_mmc_pins {
41*708ca4daSTom Rini		pinctrl-single,pins = <
42*708ca4daSTom Rini			DM816X_IOPAD(0x0a70, MUX_MODE0)			/* SD_POW */
43*708ca4daSTom Rini			DM816X_IOPAD(0x0a74, MUX_MODE0)			/* SD_CLK */
44*708ca4daSTom Rini			DM816X_IOPAD(0x0a78, MUX_MODE0)			/* SD_CMD */
45*708ca4daSTom Rini			DM816X_IOPAD(0x0a7C, MUX_MODE0)			/* SD_DAT0 */
46*708ca4daSTom Rini			DM816X_IOPAD(0x0a80, MUX_MODE0)			/* SD_DAT1 */
47*708ca4daSTom Rini			DM816X_IOPAD(0x0a84, MUX_MODE0)			/* SD_DAT2 */
48*708ca4daSTom Rini			DM816X_IOPAD(0x0a88, MUX_MODE0)			/* SD_DAT2 */
49*708ca4daSTom Rini			DM816X_IOPAD(0x0a8c, MUX_MODE2)			/* GP1[7] */
50*708ca4daSTom Rini			DM816X_IOPAD(0x0a90, MUX_MODE2)			/* GP1[8] */
51*708ca4daSTom Rini		>;
52*708ca4daSTom Rini	};
53*708ca4daSTom Rini
54*708ca4daSTom Rini	usb0_pins: pinmux_usb0_pins {
55*708ca4daSTom Rini		pinctrl-single,pins = <
56*708ca4daSTom Rini			DM816X_IOPAD(0x0d04, MUX_MODE0)			/* USB0_DRVVBUS */
57*708ca4daSTom Rini		>;
58*708ca4daSTom Rini	};
59*708ca4daSTom Rini
60*708ca4daSTom Rini	usb1_pins: pinmux_usb1_pins {
61*708ca4daSTom Rini		pinctrl-single,pins = <
62*708ca4daSTom Rini			DM816X_IOPAD(0x0d08, MUX_MODE0)			/* USB1_DRVVBUS */
63*708ca4daSTom Rini		>;
64*708ca4daSTom Rini	};
65*708ca4daSTom Rini};
66*708ca4daSTom Rini
67*708ca4daSTom Rini&i2c1 {
68*708ca4daSTom Rini	extgpio0: pcf8575@20 {
69*708ca4daSTom Rini		compatible = "nxp,pcf8575";
70*708ca4daSTom Rini		reg = <0x20>;
71*708ca4daSTom Rini		gpio-controller;
72*708ca4daSTom Rini		#gpio-cells = <2>;
73*708ca4daSTom Rini	};
74*708ca4daSTom Rini};
75*708ca4daSTom Rini
76*708ca4daSTom Rini&i2c2 {
77*708ca4daSTom Rini	extgpio1: pcf8575@20 {
78*708ca4daSTom Rini		compatible = "nxp,pcf8575";
79*708ca4daSTom Rini		reg = <0x20>;
80*708ca4daSTom Rini		gpio-controller;
81*708ca4daSTom Rini		#gpio-cells = <2>;
82*708ca4daSTom Rini	};
83*708ca4daSTom Rini};
84*708ca4daSTom Rini
85*708ca4daSTom Rini&gpmc {
86*708ca4daSTom Rini	ranges = <0 0 0x04000000 0x01000000>;	/* CS0: 16MB for NAND */
87*708ca4daSTom Rini
88*708ca4daSTom Rini	nand@0,0 {
89*708ca4daSTom Rini		compatible = "ti,omap2-nand";
90*708ca4daSTom Rini		linux,mtd-name= "micron,mt29f2g16aadwp";
91*708ca4daSTom Rini		reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
92*708ca4daSTom Rini		interrupt-parent = <&gpmc>;
93*708ca4daSTom Rini		interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
94*708ca4daSTom Rini			     <1 IRQ_TYPE_NONE>; /* termcount */
95*708ca4daSTom Rini		#address-cells = <1>;
96*708ca4daSTom Rini		#size-cells = <1>;
97*708ca4daSTom Rini		ti,nand-ecc-opt = "bch8";
98*708ca4daSTom Rini		nand-bus-width = <16>;
99*708ca4daSTom Rini		gpmc,device-width = <2>;
100*708ca4daSTom Rini		gpmc,sync-clk-ps = <0>;
101*708ca4daSTom Rini		gpmc,cs-on-ns = <0>;
102*708ca4daSTom Rini		gpmc,cs-rd-off-ns = <44>;
103*708ca4daSTom Rini		gpmc,cs-wr-off-ns = <44>;
104*708ca4daSTom Rini		gpmc,adv-on-ns = <6>;
105*708ca4daSTom Rini		gpmc,adv-rd-off-ns = <34>;
106*708ca4daSTom Rini		gpmc,adv-wr-off-ns = <44>;
107*708ca4daSTom Rini		gpmc,we-on-ns = <0>;
108*708ca4daSTom Rini		gpmc,we-off-ns = <40>;
109*708ca4daSTom Rini		gpmc,oe-on-ns = <0>;
110*708ca4daSTom Rini		gpmc,oe-off-ns = <54>;
111*708ca4daSTom Rini		gpmc,access-ns = <64>;
112*708ca4daSTom Rini		gpmc,rd-cycle-ns = <82>;
113*708ca4daSTom Rini		gpmc,wr-cycle-ns = <82>;
114*708ca4daSTom Rini		gpmc,bus-turnaround-ns = <0>;
115*708ca4daSTom Rini		gpmc,cycle2cycle-delay-ns = <0>;
116*708ca4daSTom Rini		gpmc,clk-activation-ns = <0>;
117*708ca4daSTom Rini		gpmc,wr-access-ns = <40>;
118*708ca4daSTom Rini		gpmc,wr-data-mux-bus-ns = <0>;
119*708ca4daSTom Rini		partition@0 {
120*708ca4daSTom Rini			label = "X-Loader";
121*708ca4daSTom Rini			reg = <0 0x80000>;
122*708ca4daSTom Rini		};
123*708ca4daSTom Rini		partition@0x80000 {
124*708ca4daSTom Rini			label = "U-Boot";
125*708ca4daSTom Rini			reg = <0x80000 0x1c0000>;
126*708ca4daSTom Rini		};
127*708ca4daSTom Rini		partition@0x1c0000 {
128*708ca4daSTom Rini			label = "Environment";
129*708ca4daSTom Rini			reg = <0x240000 0x40000>;
130*708ca4daSTom Rini		};
131*708ca4daSTom Rini		partition@0x280000 {
132*708ca4daSTom Rini			label = "Kernel";
133*708ca4daSTom Rini			reg = <0x280000 0x500000>;
134*708ca4daSTom Rini		};
135*708ca4daSTom Rini		partition@0x780000 {
136*708ca4daSTom Rini			label = "Filesystem";
137*708ca4daSTom Rini			reg = <0x780000 0xf880000>;
138*708ca4daSTom Rini		};
139*708ca4daSTom Rini	};
140*708ca4daSTom Rini};
141*708ca4daSTom Rini
142*708ca4daSTom Rini&mcspi1 {
143*708ca4daSTom Rini	pinctrl-names = "default";
144*708ca4daSTom Rini	pinctrl-0 = <&mcspi1_pins>;
145*708ca4daSTom Rini
146*708ca4daSTom Rini	m25p80@0 {
147*708ca4daSTom Rini		compatible = "w25x32";
148*708ca4daSTom Rini		spi-max-frequency = <48000000>;
149*708ca4daSTom Rini		reg = <0>;
150*708ca4daSTom Rini		#address-cells = <1>;
151*708ca4daSTom Rini		#size-cells = <1>;
152*708ca4daSTom Rini	};
153*708ca4daSTom Rini};
154*708ca4daSTom Rini
155*708ca4daSTom Rini&mmc1 {
156*708ca4daSTom Rini	pinctrl-names = "default";
157*708ca4daSTom Rini	pinctrl-0 = <&mmc_pins>;
158*708ca4daSTom Rini	vmmc-supply = <&vmmcsd_fixed>;
159*708ca4daSTom Rini	bus-width = <4>;
160*708ca4daSTom Rini	cd-gpios = <&gpio2 7 GPIO_ACTIVE_LOW>;
161*708ca4daSTom Rini	wp-gpios = <&gpio2 8 GPIO_ACTIVE_LOW>;
162*708ca4daSTom Rini};
163*708ca4daSTom Rini
164*708ca4daSTom Rini/* At least dm8168-evm rev c won't support multipoint, later may */
165*708ca4daSTom Rini&usb0 {
166*708ca4daSTom Rini	pinctrl-names = "default";
167*708ca4daSTom Rini	pinctrl-0 = <&usb0_pins>;
168*708ca4daSTom Rini	mentor,multipoint = <0>;
169*708ca4daSTom Rini};
170*708ca4daSTom Rini
171*708ca4daSTom Rini&usb1 {
172*708ca4daSTom Rini	pinctrl-names = "default";
173*708ca4daSTom Rini	pinctrl-0 = <&usb1_pins>;
174*708ca4daSTom Rini	mentor,multipoint = <0>;
175*708ca4daSTom Rini};
176