124d4d422SStefan Agner/dts-v1/;
224d4d422SStefan Agner
324d4d422SStefan Agner#include "tegra30.dtsi"
424d4d422SStefan Agner
524d4d422SStefan Agner/ {
624d4d422SStefan Agner	model = "Toradex Colibri T30";
724d4d422SStefan Agner	compatible = "toradex,colibri_t30", "nvidia,tegra30";
824d4d422SStefan Agner
9f38aaa28SMarcel Ziswiler	chosen {
10f38aaa28SMarcel Ziswiler		stdout-path = &uarta;
11f38aaa28SMarcel Ziswiler	};
12f38aaa28SMarcel Ziswiler
1324d4d422SStefan Agner	aliases {
1424d4d422SStefan Agner		i2c0 = "/i2c@7000d000";
1524d4d422SStefan Agner		i2c1 = "/i2c@7000c000";
1624d4d422SStefan Agner		i2c2 = "/i2c@7000c700";
1767748a73SStephen Warren		mmc0 = "/sdhci@78000600";
1867748a73SStephen Warren		mmc1 = "/sdhci@78000200";
19d2f60f93SSimon Glass		spi0 = "/spi@7000d400";
2024d4d422SStefan Agner		usb0 = "/usb@7d000000";
2124d4d422SStefan Agner		usb1 = "/usb@7d004000"; /* on module only, for ASIX */
2224d4d422SStefan Agner		usb2 = "/usb@7d008000";
2324d4d422SStefan Agner	};
2424d4d422SStefan Agner
2524d4d422SStefan Agner	memory {
2624d4d422SStefan Agner		device_type = "memory";
2724d4d422SStefan Agner		reg = <0x80000000 0x40000000>;
2824d4d422SStefan Agner	};
2924d4d422SStefan Agner
30839e4f7cSMarcel Ziswiler	/*
31839e4f7cSMarcel Ziswiler	 * GEN1_I2C: I2C_SDA/SCL on SODIMM pin 194/196 (e.g. RTC on carrier
32839e4f7cSMarcel Ziswiler	 * board)
33839e4f7cSMarcel Ziswiler	 */
3424d4d422SStefan Agner	i2c@7000c000 {
3524d4d422SStefan Agner		status = "okay";
36*33848eb5SMarcel Ziswiler		clock-frequency = <400000>;
3724d4d422SStefan Agner	};
3824d4d422SStefan Agner
3924d4d422SStefan Agner	/* GEN2_I2C: unused */
4024d4d422SStefan Agner
4124d4d422SStefan Agner	/* CAM_I2C: unused */
4224d4d422SStefan Agner
4324d4d422SStefan Agner	/* DDC_CLOCK/DATA on X3 pin 15/16 (e.g. display EDID) */
4424d4d422SStefan Agner	i2c@7000c700 {
4524d4d422SStefan Agner		status = "okay";
46*33848eb5SMarcel Ziswiler		clock-frequency = <10000>;
4724d4d422SStefan Agner	};
4824d4d422SStefan Agner
49839e4f7cSMarcel Ziswiler	/*
50839e4f7cSMarcel Ziswiler	 * PWR_I2C: power I2C to audio codec, PMIC, temperature sensor and
51839e4f7cSMarcel Ziswiler	 * touch screen controller
52839e4f7cSMarcel Ziswiler	 */
5324d4d422SStefan Agner	i2c@7000d000 {
5424d4d422SStefan Agner		status = "okay";
5524d4d422SStefan Agner		clock-frequency = <100000>;
5624d4d422SStefan Agner	};
5724d4d422SStefan Agner
5824d4d422SStefan Agner	/* SPI1: Colibri SSP */
5924d4d422SStefan Agner	spi@7000d400 {
6024d4d422SStefan Agner		status = "okay";
6124d4d422SStefan Agner		spi-max-frequency = <25000000>;
6224d4d422SStefan Agner	};
6324d4d422SStefan Agner
6424d4d422SStefan Agner	sdhci@78000200 {
6524d4d422SStefan Agner		status = "okay";
6624d4d422SStefan Agner		bus-width = <4>;
6772731118SMarcel Ziswiler		cd-gpios = <&gpio TEGRA_GPIO(C, 7) GPIO_ACTIVE_LOW>; /* MMCD */
6824d4d422SStefan Agner	};
6924d4d422SStefan Agner
7024d4d422SStefan Agner	sdhci@78000600 {
7124d4d422SStefan Agner		status = "okay";
7224d4d422SStefan Agner		bus-width = <8>;
7324d4d422SStefan Agner		non-removable;
7424d4d422SStefan Agner	};
7524d4d422SStefan Agner
7624d4d422SStefan Agner	/* EHCI instance 0: USB1_DP/N -> USBC_P/N */
7724d4d422SStefan Agner	usb@7d000000 {
7824d4d422SStefan Agner		status = "okay";
7929ce9995SMarcel Ziswiler		dr_mode = "otg";
8024d4d422SStefan Agner	};
8124d4d422SStefan Agner
8224d4d422SStefan Agner	/* EHCI instance 1: USB2_DP/N -> AX88772B */
8324d4d422SStefan Agner	usb@7d004000 {
8424d4d422SStefan Agner		status = "okay";
8572731118SMarcel Ziswiler		/* VBUS_LAN */
862b2b50bcSSimon Glass		nvidia,vbus-gpio = <&gpio TEGRA_GPIO(DD, 2) GPIO_ACTIVE_HIGH>;
8724d4d422SStefan Agner	};
8824d4d422SStefan Agner
8924d4d422SStefan Agner	/* EHCI instance 2: USB3_DP/N -> USBH_P/N */
9024d4d422SStefan Agner	usb@7d008000 {
9124d4d422SStefan Agner		status = "okay";
9272731118SMarcel Ziswiler		/* USBH_PEN */
932b2b50bcSSimon Glass		nvidia,vbus-gpio = <&gpio TEGRA_GPIO(W, 2) GPIO_ACTIVE_LOW>;
9424d4d422SStefan Agner	};
95ce2f2d2aSStephen Warren
96ce2f2d2aSStephen Warren	clocks {
97ce2f2d2aSStephen Warren		compatible = "simple-bus";
98ce2f2d2aSStephen Warren		#address-cells = <1>;
99ce2f2d2aSStephen Warren		#size-cells = <0>;
100ce2f2d2aSStephen Warren
101ce2f2d2aSStephen Warren		clk32k_in: clk@0 {
102ce2f2d2aSStephen Warren			compatible = "fixed-clock";
103ce2f2d2aSStephen Warren			reg=<0>;
104ce2f2d2aSStephen Warren			#clock-cells = <0>;
105ce2f2d2aSStephen Warren			clock-frequency = <32768>;
106ce2f2d2aSStephen Warren		};
107ce2f2d2aSStephen Warren	};
10824d4d422SStefan Agner};
109f53dcc0eSSimon Glass
110f53dcc0eSSimon Glass&uarta {
111f53dcc0eSSimon Glass	status = "okay";
112f53dcc0eSSimon Glass};
113