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";
1724d4d422SStefan Agner		sdhci0 = "/sdhci@78000600";
1824d4d422SStefan Agner		sdhci1 = "/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";
3624d4d422SStefan Agner		clock-frequency = <100000>;
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";
4624d4d422SStefan Agner		clock-frequency = <100000>;
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>;
67*2b2b50bcSSimon Glass		cd-gpios = <&gpio TEGRA_GPIO(C, 7) GPIO_ACTIVE_LOW>;
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";
7924d4d422SStefan Agner		dr_mode = "peripheral";
8024d4d422SStefan Agner	};
8124d4d422SStefan Agner
8224d4d422SStefan Agner	/* EHCI instance 1: USB2_DP/N -> AX88772B */
8324d4d422SStefan Agner	usb@7d004000 {
8424d4d422SStefan Agner		status = "okay";
8524d4d422SStefan Agner		phy_type = "utmi";
86*2b2b50bcSSimon 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";
92*2b2b50bcSSimon Glass		nvidia,vbus-gpio = <&gpio TEGRA_GPIO(W, 2) GPIO_ACTIVE_LOW>;
9324d4d422SStefan Agner	};
9424d4d422SStefan Agner};
95