mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-11-01 09:13:37 +00:00 
			
		
		
		
	The node name of Ethernet controller should be "ethernet" instead of
"asix" or "smsc" as required by Ethernet controller devicetree schema:
    Documentation/devicetree/bindings/net/ethernet-controller.yaml
This patch can potentially affect boot loaders patching against full
node path instead of using device aliases.
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Signed-off-by: Thierry Reding <treding@nvidia.com>
		
	
			
		
			
				
	
	
		
			776 lines
		
	
	
	
		
			19 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			776 lines
		
	
	
	
		
			19 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
// SPDX-License-Identifier: GPL-2.0
 | 
						|
#include "tegra20.dtsi"
 | 
						|
 | 
						|
/*
 | 
						|
 * Toradex Colibri T20 Module Device Tree
 | 
						|
 * Compatible for Revisions Colibri T20 256MB V1.1B, V1.2A;
 | 
						|
 * Colibri T20 256MB IT V1.2A; Colibri T20 512MB V1.1C, V1.2A;
 | 
						|
 * Colibri T20 512MB IT V1.2A
 | 
						|
 */
 | 
						|
/ {
 | 
						|
	memory@0 {
 | 
						|
		/*
 | 
						|
		 * Set memory to 256 MB to be safe as this could be used on
 | 
						|
		 * 256 or 512 MB module. It is expected from bootloader
 | 
						|
		 * to fix this up for 512 MB version.
 | 
						|
		 */
 | 
						|
		reg = <0x00000000 0x10000000>;
 | 
						|
	};
 | 
						|
 | 
						|
	host1x@50000000 {
 | 
						|
		hdmi@54280000 {
 | 
						|
			nvidia,ddc-i2c-bus = <&hdmi_ddc>;
 | 
						|
			nvidia,hpd-gpio =
 | 
						|
				<&gpio TEGRA_GPIO(N, 7) GPIO_ACTIVE_HIGH>;
 | 
						|
			pll-supply = <®_1v8_avdd_hdmi_pll>;
 | 
						|
			vdd-supply = <®_3v3_avdd_hdmi>;
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	pinmux@70000014 {
 | 
						|
		pinctrl-names = "default";
 | 
						|
		pinctrl-0 = <&state_default>;
 | 
						|
 | 
						|
		state_default: pinmux {
 | 
						|
			/* Analogue Audio AC97 to WM9712 (On-module) */
 | 
						|
			audio-refclk {
 | 
						|
				nvidia,pins = "cdev1";
 | 
						|
				nvidia,function = "plla_out";
 | 
						|
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
 | 
						|
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
 | 
						|
			};
 | 
						|
			dap3 {
 | 
						|
				nvidia,pins = "dap3";
 | 
						|
				nvidia,function = "dap3";
 | 
						|
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
 | 
						|
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
 | 
						|
			};
 | 
						|
 | 
						|
			/*
 | 
						|
			 * AC97_RESET, ULPI_RESET, AC97_INT aka WM9712 GENIRQ
 | 
						|
			 * (All on-module), SODIMM Pin 45 Wakeup
 | 
						|
			 */
 | 
						|
			gpio-uac {
 | 
						|
				nvidia,pins = "uac";
 | 
						|
				nvidia,function = "rsvd2";
 | 
						|
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
 | 
						|
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
 | 
						|
			};
 | 
						|
 | 
						|
			/*
 | 
						|
			 * Buffer Enables for nPWE and RDnWR (On-module,
 | 
						|
			 * see GPIO hogging further down below)
 | 
						|
			 */
 | 
						|
			gpio-pta {
 | 
						|
				nvidia,pins = "pta";
 | 
						|
				nvidia,function = "rsvd4";
 | 
						|
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
 | 
						|
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
 | 
						|
			};
 | 
						|
 | 
						|
			/*
 | 
						|
			 * CLK_32K_OUT, CORE_PWR_REQ, CPU_PWR_REQ, PWR_INT_N,
 | 
						|
			 * SYS_CLK_REQ (All on-module)
 | 
						|
			 */
 | 
						|
			pmc {
 | 
						|
				nvidia,pins = "pmc";
 | 
						|
				nvidia,function = "pwr_on";
 | 
						|
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
 | 
						|
			};
 | 
						|
 | 
						|
			/*
 | 
						|
			 * Colibri Address/Data Bus (GMI)
 | 
						|
			 * Note: spid and spie optionally used for SPI1
 | 
						|
			 */
 | 
						|
			gmi {
 | 
						|
				nvidia,pins = "atc", "atd", "ate", "dap1",
 | 
						|
					      "dap2", "dap4", "gmd", "gpu",
 | 
						|
					      "irrx", "irtx", "spia", "spib",
 | 
						|
					      "spic", "spid", "spie", "uca",
 | 
						|
					      "ucb";
 | 
						|
				nvidia,function = "gmi";
 | 
						|
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
 | 
						|
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
 | 
						|
			};
 | 
						|
			/* Further pins may be used as GPIOs */
 | 
						|
			gmi-gpio1 {
 | 
						|
				nvidia,pins = "lpw0", "lsc1", "lsck", "lsda";
 | 
						|
				nvidia,function = "hdmi";
 | 
						|
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
 | 
						|
			};
 | 
						|
			gmi-gpio2 {
 | 
						|
				nvidia,pins = "lcsn", "ldc", "lm0", "lsdi";
 | 
						|
				nvidia,function = "rsvd4";
 | 
						|
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
 | 
						|
			};
 | 
						|
 | 
						|
			/* Colibri BL_ON */
 | 
						|
			bl-on {
 | 
						|
				nvidia,pins = "dta";
 | 
						|
				nvidia,function = "rsvd1";
 | 
						|
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
 | 
						|
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
 | 
						|
			};
 | 
						|
 | 
						|
			/* Colibri Backlight PWM<A>, PWM<B> */
 | 
						|
			sdc {
 | 
						|
				nvidia,pins = "sdc";
 | 
						|
				nvidia,function = "pwm";
 | 
						|
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
 | 
						|
			};
 | 
						|
 | 
						|
			/* Colibri DDC */
 | 
						|
			ddc {
 | 
						|
				nvidia,pins = "ddc";
 | 
						|
				nvidia,function = "i2c2";
 | 
						|
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
 | 
						|
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
 | 
						|
			};
 | 
						|
 | 
						|
			/*
 | 
						|
			 * Colibri EXT_IO*
 | 
						|
			 * Note: dtf optionally used for I2C3
 | 
						|
			 */
 | 
						|
			ext-io {
 | 
						|
				nvidia,pins = "dtf", "spdi";
 | 
						|
				nvidia,function = "rsvd2";
 | 
						|
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
 | 
						|
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
 | 
						|
			};
 | 
						|
 | 
						|
			/*
 | 
						|
			 * Colibri Ethernet (On-module)
 | 
						|
			 * ULPI EHCI instance 1 USB2_DP/N -> AX88772B
 | 
						|
			 */
 | 
						|
			ulpi {
 | 
						|
				nvidia,pins = "uaa", "uab", "uda";
 | 
						|
				nvidia,function = "ulpi";
 | 
						|
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
 | 
						|
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
 | 
						|
			};
 | 
						|
			ulpi-refclk {
 | 
						|
				nvidia,pins = "cdev2";
 | 
						|
				nvidia,function = "pllp_out4";
 | 
						|
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
 | 
						|
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
 | 
						|
			};
 | 
						|
 | 
						|
			/* Colibri HOTPLUG_DETECT (HDMI) */
 | 
						|
			hotplug-detect {
 | 
						|
				nvidia,pins = "hdint";
 | 
						|
				nvidia,function = "hdmi";
 | 
						|
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
 | 
						|
			};
 | 
						|
 | 
						|
			/* Colibri I2C */
 | 
						|
			i2c {
 | 
						|
				nvidia,pins = "rm";
 | 
						|
				nvidia,function = "i2c1";
 | 
						|
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
 | 
						|
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
 | 
						|
			};
 | 
						|
 | 
						|
			/*
 | 
						|
			 * Colibri L_BIAS, LCD_M1 is muxed with LCD_DE
 | 
						|
			 * today's display need DE, disable LCD_M1
 | 
						|
			 */
 | 
						|
			lm1 {
 | 
						|
				nvidia,pins = "lm1";
 | 
						|
				nvidia,function = "rsvd3";
 | 
						|
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
 | 
						|
			};
 | 
						|
 | 
						|
			/* Colibri LCD (L_* resp. LDD<*>) */
 | 
						|
			lcd {
 | 
						|
				nvidia,pins = "ld0", "ld1", "ld2", "ld3",
 | 
						|
					      "ld4", "ld5", "ld6", "ld7",
 | 
						|
					      "ld8", "ld9", "ld10", "ld11",
 | 
						|
					      "ld12", "ld13", "ld14", "ld15",
 | 
						|
					      "ld16", "ld17", "lhs", "lsc0",
 | 
						|
					      "lspi", "lvs";
 | 
						|
				nvidia,function = "displaya";
 | 
						|
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
 | 
						|
			};
 | 
						|
			/* Colibri LCD (Optional 24 BPP Support) */
 | 
						|
			lcd-24 {
 | 
						|
				nvidia,pins = "ldi", "lhp0", "lhp1", "lhp2",
 | 
						|
					      "lpp", "lvp1";
 | 
						|
				nvidia,function = "displaya";
 | 
						|
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
 | 
						|
			};
 | 
						|
 | 
						|
			/* Colibri MMC */
 | 
						|
			mmc {
 | 
						|
				nvidia,pins = "atb", "gma";
 | 
						|
				nvidia,function = "sdio4";
 | 
						|
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
 | 
						|
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
 | 
						|
			};
 | 
						|
 | 
						|
			/* Colibri MMCCD */
 | 
						|
			mmccd {
 | 
						|
				nvidia,pins = "gmb";
 | 
						|
				nvidia,function = "gmi_int";
 | 
						|
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
 | 
						|
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
 | 
						|
			};
 | 
						|
 | 
						|
			/* Colibri MMC (Optional 8-bit) */
 | 
						|
			mmc-8bit {
 | 
						|
				nvidia,pins = "gme";
 | 
						|
				nvidia,function = "sdio4";
 | 
						|
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
 | 
						|
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
 | 
						|
			};
 | 
						|
 | 
						|
			/*
 | 
						|
			 * Colibri Parallel Camera (Optional)
 | 
						|
			 * pins multiplexed with others and therefore disabled
 | 
						|
			 * Note: dta used for BL_ON by default
 | 
						|
			 */
 | 
						|
			cif-mclk {
 | 
						|
				nvidia,pins = "csus";
 | 
						|
				nvidia,function = "vi_sensor_clk";
 | 
						|
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
 | 
						|
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
 | 
						|
			};
 | 
						|
			cif {
 | 
						|
				nvidia,pins = "dtb", "dtc", "dtd";
 | 
						|
				nvidia,function = "vi";
 | 
						|
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
 | 
						|
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
 | 
						|
			};
 | 
						|
 | 
						|
			/* Colibri PWM<C>, PWM<D> */
 | 
						|
			sdb_sdd {
 | 
						|
				nvidia,pins = "sdb", "sdd";
 | 
						|
				nvidia,function = "pwm";
 | 
						|
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
 | 
						|
			};
 | 
						|
 | 
						|
			/* Colibri SSP */
 | 
						|
			ssp {
 | 
						|
				nvidia,pins = "slxa", "slxc", "slxd", "slxk";
 | 
						|
				nvidia,function = "spi4";
 | 
						|
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
 | 
						|
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
 | 
						|
			};
 | 
						|
 | 
						|
			/* Colibri UART-A */
 | 
						|
			uart-a {
 | 
						|
				nvidia,pins = "sdio1";
 | 
						|
				nvidia,function = "uarta";
 | 
						|
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
 | 
						|
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
 | 
						|
			};
 | 
						|
			uart-a-dsr {
 | 
						|
				nvidia,pins = "lpw1";
 | 
						|
				nvidia,function = "rsvd3";
 | 
						|
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
 | 
						|
			};
 | 
						|
			uart-a-dcd {
 | 
						|
				nvidia,pins = "lpw2";
 | 
						|
				nvidia,function = "hdmi";
 | 
						|
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
 | 
						|
			};
 | 
						|
 | 
						|
			/* Colibri UART-B */
 | 
						|
			uart-b {
 | 
						|
				nvidia,pins = "gmc";
 | 
						|
				nvidia,function = "uartd";
 | 
						|
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
 | 
						|
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
 | 
						|
			};
 | 
						|
 | 
						|
			/* Colibri UART-C */
 | 
						|
			uart-c {
 | 
						|
				nvidia,pins = "uad";
 | 
						|
				nvidia,function = "irda";
 | 
						|
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
 | 
						|
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
 | 
						|
			};
 | 
						|
 | 
						|
			/* Colibri USB_CDET */
 | 
						|
			usb-cdet {
 | 
						|
				nvidia,pins = "spdo";
 | 
						|
				nvidia,function = "rsvd2";
 | 
						|
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
 | 
						|
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
 | 
						|
			};
 | 
						|
 | 
						|
			/* Colibri USBH_OC */
 | 
						|
			usbh-oc {
 | 
						|
				nvidia,pins = "spih";
 | 
						|
				nvidia,function = "spi2_alt";
 | 
						|
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
 | 
						|
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
 | 
						|
			};
 | 
						|
 | 
						|
			/* Colibri USBH_PEN */
 | 
						|
			usbh-pen {
 | 
						|
				nvidia,pins = "spig";
 | 
						|
				nvidia,function = "spi2_alt";
 | 
						|
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
 | 
						|
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
 | 
						|
			};
 | 
						|
 | 
						|
			/* Colibri VGA not supported */
 | 
						|
			vga {
 | 
						|
				nvidia,pins = "crtp";
 | 
						|
				nvidia,function = "crt";
 | 
						|
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
 | 
						|
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
 | 
						|
			};
 | 
						|
 | 
						|
			/* I2C3 (Optional) */
 | 
						|
			i2c3 {
 | 
						|
				nvidia,pins = "dtf";
 | 
						|
				nvidia,function = "i2c3";
 | 
						|
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
 | 
						|
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
 | 
						|
			};
 | 
						|
 | 
						|
			/* JTAG_RTCK */
 | 
						|
			jtag-rtck {
 | 
						|
				nvidia,pins = "gpu7";
 | 
						|
				nvidia,function = "rtck";
 | 
						|
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
 | 
						|
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
 | 
						|
			};
 | 
						|
 | 
						|
			/*
 | 
						|
			 * LAN_RESET, LAN_EXT_WAKEUP and LAN_PME
 | 
						|
			 * (All On-module)
 | 
						|
			 */
 | 
						|
			gpio-gpv {
 | 
						|
				nvidia,pins = "gpv";
 | 
						|
				nvidia,function = "rsvd2";
 | 
						|
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
 | 
						|
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
 | 
						|
			};
 | 
						|
 | 
						|
			/*
 | 
						|
			 * LAN_V_BUS, VDD_FAULT, BATT_FAULT, WM9712 PENDOWN
 | 
						|
			 * (All On-module); Colibri CAN_INT
 | 
						|
			 */
 | 
						|
			gpio-dte {
 | 
						|
				nvidia,pins = "dte";
 | 
						|
				nvidia,function = "rsvd1";
 | 
						|
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
 | 
						|
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
 | 
						|
			};
 | 
						|
 | 
						|
			/* NAND (On-module) */
 | 
						|
			nand {
 | 
						|
				nvidia,pins = "kbca", "kbcb", "kbcc", "kbcd",
 | 
						|
					      "kbce", "kbcf";
 | 
						|
				nvidia,function = "nand";
 | 
						|
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
 | 
						|
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
 | 
						|
			};
 | 
						|
 | 
						|
			/* Onewire (Optional) */
 | 
						|
			owr {
 | 
						|
				nvidia,pins = "owc";
 | 
						|
				nvidia,function = "owr";
 | 
						|
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
 | 
						|
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
 | 
						|
			};
 | 
						|
 | 
						|
			/* Power I2C (On-module) */
 | 
						|
			i2cp {
 | 
						|
				nvidia,pins = "i2cp";
 | 
						|
				nvidia,function = "i2cp";
 | 
						|
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
 | 
						|
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
 | 
						|
			};
 | 
						|
 | 
						|
			/* RESET_OUT */
 | 
						|
			reset-out {
 | 
						|
				nvidia,pins = "ata";
 | 
						|
				nvidia,function = "gmi";
 | 
						|
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
 | 
						|
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
 | 
						|
			};
 | 
						|
 | 
						|
			/*
 | 
						|
			 * SPI1 (Optional)
 | 
						|
			 * Note: spid and spie used for Colibri Address/Data
 | 
						|
			 *       Bus (GMI)
 | 
						|
			 */
 | 
						|
			spi1 {
 | 
						|
				nvidia,pins = "spid", "spie", "spif";
 | 
						|
				nvidia,function = "spi1";
 | 
						|
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
 | 
						|
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
 | 
						|
			};
 | 
						|
 | 
						|
			/*
 | 
						|
			 * THERMD_ALERT# (On-module), unlatched I2C address pin
 | 
						|
			 * of LM95245 temperature sensor therefore requires
 | 
						|
			 * disabling for now
 | 
						|
			 */
 | 
						|
			lvp0 {
 | 
						|
				nvidia,pins = "lvp0";
 | 
						|
				nvidia,function = "rsvd3";
 | 
						|
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
 | 
						|
			};
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	tegra_ac97: ac97@70002000 {
 | 
						|
		status = "okay";
 | 
						|
		nvidia,codec-reset-gpio =
 | 
						|
			<&gpio TEGRA_GPIO(V, 0) GPIO_ACTIVE_HIGH>;
 | 
						|
		nvidia,codec-sync-gpio =
 | 
						|
			<&gpio TEGRA_GPIO(P, 0) GPIO_ACTIVE_HIGH>;
 | 
						|
	};
 | 
						|
 | 
						|
	serial@70006040 {
 | 
						|
		compatible = "nvidia,tegra20-hsuart";
 | 
						|
		/delete-property/ reg-shift;
 | 
						|
	};
 | 
						|
 | 
						|
	serial@70006300 {
 | 
						|
		compatible = "nvidia,tegra20-hsuart";
 | 
						|
		/delete-property/ reg-shift;
 | 
						|
	};
 | 
						|
 | 
						|
	nand-controller@70008000 {
 | 
						|
		status = "okay";
 | 
						|
 | 
						|
		nand@0 {
 | 
						|
			reg = <0>;
 | 
						|
			#address-cells = <1>;
 | 
						|
			#size-cells = <1>;
 | 
						|
			nand-bus-width = <8>;
 | 
						|
			nand-on-flash-bbt;
 | 
						|
			nand-ecc-algo = "bch";
 | 
						|
			nand-is-boot-medium;
 | 
						|
			nand-ecc-maximize;
 | 
						|
			wp-gpios = <&gpio TEGRA_GPIO(S, 0) GPIO_ACTIVE_LOW>;
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	/*
 | 
						|
	 * GEN1_I2C: I2C_SDA/SCL on SODIMM pin 194/196 (e.g. RTC on carrier
 | 
						|
	 * board)
 | 
						|
	 */
 | 
						|
	i2c@7000c000 {
 | 
						|
		clock-frequency = <400000>;
 | 
						|
	};
 | 
						|
 | 
						|
	/* DDC_SCL/SDA on X3 pin 15/16 (e.g. display EDID) */
 | 
						|
	hdmi_ddc: i2c@7000c400 {
 | 
						|
		clock-frequency = <10000>;
 | 
						|
	};
 | 
						|
 | 
						|
	/* GEN2_I2C: unused */
 | 
						|
 | 
						|
	/* CAM/GEN3_I2C: used as EXT_IO1/2 GPIOs on SODIMM pin 133/127 */
 | 
						|
 | 
						|
	/* PWR_I2C: power I2C to PMIC and temperature sensor (On-module) */
 | 
						|
	i2c@7000d000 {
 | 
						|
		status = "okay";
 | 
						|
		clock-frequency = <100000>;
 | 
						|
 | 
						|
		pmic@34 {
 | 
						|
			compatible = "ti,tps6586x";
 | 
						|
			reg = <0x34>;
 | 
						|
			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
 | 
						|
			ti,system-power-controller;
 | 
						|
			#gpio-cells = <2>;
 | 
						|
			gpio-controller;
 | 
						|
			sys-supply = <®_module_3v3>;
 | 
						|
			vin-sm0-supply = <®_3v3_vsys>;
 | 
						|
			vin-sm1-supply = <®_3v3_vsys>;
 | 
						|
			vin-sm2-supply = <®_3v3_vsys>;
 | 
						|
			vinldo01-supply = <®_1v8_vdd_ddr2>;
 | 
						|
			vinldo23-supply = <®_module_3v3>;
 | 
						|
			vinldo4-supply = <®_module_3v3>;
 | 
						|
			vinldo678-supply = <®_module_3v3>;
 | 
						|
			vinldo9-supply = <®_module_3v3>;
 | 
						|
 | 
						|
			regulators {
 | 
						|
				reg_3v3_vsys: sys {
 | 
						|
					regulator-name = "VSYS_3.3V";
 | 
						|
					regulator-always-on;
 | 
						|
				};
 | 
						|
 | 
						|
				vdd_core: sm0 {
 | 
						|
					regulator-name = "VDD_CORE_1.2V";
 | 
						|
					regulator-min-microvolt = <1200000>;
 | 
						|
					regulator-max-microvolt = <1200000>;
 | 
						|
					regulator-always-on;
 | 
						|
				};
 | 
						|
 | 
						|
				sm1 {
 | 
						|
					regulator-name = "VDD_CPU_1.0V";
 | 
						|
					regulator-min-microvolt = <1000000>;
 | 
						|
					regulator-max-microvolt = <1000000>;
 | 
						|
					regulator-always-on;
 | 
						|
				};
 | 
						|
 | 
						|
				reg_1v8_vdd_ddr2: sm2 {
 | 
						|
					regulator-name = "VDD_DDR2_1.8V";
 | 
						|
					regulator-min-microvolt = <1800000>;
 | 
						|
					regulator-max-microvolt = <1800000>;
 | 
						|
					regulator-always-on;
 | 
						|
				};
 | 
						|
 | 
						|
				/* LDO0 is not connected to anything */
 | 
						|
 | 
						|
				/*
 | 
						|
				 * +3.3V_ENABLE_N switching via FET:
 | 
						|
				 * AVDD_AUDIO_S and +3.3V
 | 
						|
				 * see also +3.3V fixed supply
 | 
						|
				 */
 | 
						|
				ldo1 {
 | 
						|
					regulator-name = "AVDD_PLL_1.1V";
 | 
						|
					regulator-min-microvolt = <1100000>;
 | 
						|
					regulator-max-microvolt = <1100000>;
 | 
						|
					regulator-always-on;
 | 
						|
				};
 | 
						|
 | 
						|
				ldo2 {
 | 
						|
					regulator-name = "VDD_RTC_1.2V";
 | 
						|
					regulator-min-microvolt = <1200000>;
 | 
						|
					regulator-max-microvolt = <1200000>;
 | 
						|
				};
 | 
						|
 | 
						|
				/* LDO3 is not connected to anything */
 | 
						|
 | 
						|
				ldo4 {
 | 
						|
					regulator-name = "VDDIO_SYS_1.8V";
 | 
						|
					regulator-min-microvolt = <1800000>;
 | 
						|
					regulator-max-microvolt = <1800000>;
 | 
						|
					regulator-always-on;
 | 
						|
				};
 | 
						|
 | 
						|
				/* Switched via FET from regular +3.3V */
 | 
						|
				ldo5 {
 | 
						|
					regulator-name = "+3.3V_USB";
 | 
						|
					regulator-min-microvolt = <3300000>;
 | 
						|
					regulator-max-microvolt = <3300000>;
 | 
						|
					regulator-always-on;
 | 
						|
				};
 | 
						|
 | 
						|
				ldo6 {
 | 
						|
					regulator-name = "AVDD_VDAC_2.85V";
 | 
						|
					regulator-min-microvolt = <2850000>;
 | 
						|
					regulator-max-microvolt = <2850000>;
 | 
						|
				};
 | 
						|
 | 
						|
				reg_3v3_avdd_hdmi: ldo7 {
 | 
						|
					regulator-name = "AVDD_HDMI_3.3V";
 | 
						|
					regulator-min-microvolt = <3300000>;
 | 
						|
					regulator-max-microvolt = <3300000>;
 | 
						|
				};
 | 
						|
 | 
						|
				reg_1v8_avdd_hdmi_pll: ldo8 {
 | 
						|
					regulator-name = "AVDD_HDMI_PLL_1.8V";
 | 
						|
					regulator-min-microvolt = <1800000>;
 | 
						|
					regulator-max-microvolt = <1800000>;
 | 
						|
				};
 | 
						|
 | 
						|
				ldo9 {
 | 
						|
					regulator-name = "VDDIO_RX_DDR_2.85V";
 | 
						|
					regulator-min-microvolt = <2850000>;
 | 
						|
					regulator-max-microvolt = <2850000>;
 | 
						|
					regulator-always-on;
 | 
						|
				};
 | 
						|
 | 
						|
				ldo_rtc {
 | 
						|
					regulator-name = "VCC_BATT";
 | 
						|
					regulator-min-microvolt = <3300000>;
 | 
						|
					regulator-max-microvolt = <3300000>;
 | 
						|
					regulator-always-on;
 | 
						|
				};
 | 
						|
			};
 | 
						|
		};
 | 
						|
 | 
						|
		/* LM95245 temperature sensor */
 | 
						|
		temp-sensor@4c {
 | 
						|
			compatible = "national,lm95245";
 | 
						|
			reg = <0x4c>;
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	pmc@7000e400 {
 | 
						|
		nvidia,suspend-mode = <1>;
 | 
						|
		nvidia,cpu-pwr-good-time = <5000>;
 | 
						|
		nvidia,cpu-pwr-off-time = <5000>;
 | 
						|
		nvidia,core-pwr-good-time = <3845 3845>;
 | 
						|
		nvidia,core-pwr-off-time = <3875>;
 | 
						|
		nvidia,sys-clock-req-active-high;
 | 
						|
		core-supply = <&vdd_core>;
 | 
						|
 | 
						|
		/* Set SLEEP MODE bit in SUPPLYENE register of TPS658643 PMIC */
 | 
						|
		i2c-thermtrip {
 | 
						|
			nvidia,i2c-controller-id = <3>;
 | 
						|
			nvidia,bus-addr = <0x34>;
 | 
						|
			nvidia,reg-addr = <0x14>;
 | 
						|
			nvidia,reg-data = <0x8>;
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	memory-controller@7000f400 {
 | 
						|
		emc-table@83250 {
 | 
						|
			reg = <83250>;
 | 
						|
			compatible = "nvidia,tegra20-emc-table";
 | 
						|
			clock-frequency = <83250>;
 | 
						|
			nvidia,emc-registers =   <0x00000005 0x00000011
 | 
						|
				0x00000004 0x00000002 0x00000004 0x00000004
 | 
						|
				0x00000001 0x0000000a 0x00000002 0x00000002
 | 
						|
				0x00000001 0x00000001 0x00000003 0x00000004
 | 
						|
				0x00000003 0x00000009 0x0000000c 0x0000025f
 | 
						|
				0x00000000 0x00000003 0x00000003 0x00000002
 | 
						|
				0x00000002 0x00000001 0x00000008 0x000000c8
 | 
						|
				0x00000003 0x00000005 0x00000003 0x0000000c
 | 
						|
				0x00000002 0x00000000 0x00000000 0x00000002
 | 
						|
				0x00000000 0x00000000 0x00000083 0x00520006
 | 
						|
				0x00000010 0x00000008 0x00000000 0x00000000
 | 
						|
				0x00000000 0x00000000 0x00000000 0x00000000>;
 | 
						|
		};
 | 
						|
		emc-table@133200 {
 | 
						|
			reg = <133200>;
 | 
						|
			compatible = "nvidia,tegra20-emc-table";
 | 
						|
			clock-frequency = <133200>;
 | 
						|
			nvidia,emc-registers =   <0x00000008 0x00000019
 | 
						|
				0x00000006 0x00000002 0x00000004 0x00000004
 | 
						|
				0x00000001 0x0000000a 0x00000002 0x00000002
 | 
						|
				0x00000002 0x00000001 0x00000003 0x00000004
 | 
						|
				0x00000003 0x00000009 0x0000000c 0x0000039f
 | 
						|
				0x00000000 0x00000003 0x00000003 0x00000002
 | 
						|
				0x00000002 0x00000001 0x00000008 0x000000c8
 | 
						|
				0x00000003 0x00000007 0x00000003 0x0000000c
 | 
						|
				0x00000002 0x00000000 0x00000000 0x00000002
 | 
						|
				0x00000000 0x00000000 0x00000083 0x00510006
 | 
						|
				0x00000010 0x00000008 0x00000000 0x00000000
 | 
						|
				0x00000000 0x00000000 0x00000000 0x00000000>;
 | 
						|
		};
 | 
						|
		emc-table@166500 {
 | 
						|
			reg = <166500>;
 | 
						|
			compatible = "nvidia,tegra20-emc-table";
 | 
						|
			clock-frequency = <166500>;
 | 
						|
			nvidia,emc-registers =   <0x0000000a 0x00000021
 | 
						|
				0x00000008 0x00000003 0x00000004 0x00000004
 | 
						|
				0x00000002 0x0000000a 0x00000003 0x00000003
 | 
						|
				0x00000002 0x00000001 0x00000003 0x00000004
 | 
						|
				0x00000003 0x00000009 0x0000000c 0x000004df
 | 
						|
				0x00000000 0x00000003 0x00000003 0x00000003
 | 
						|
				0x00000003 0x00000001 0x00000009 0x000000c8
 | 
						|
				0x00000003 0x00000009 0x00000004 0x0000000c
 | 
						|
				0x00000002 0x00000000 0x00000000 0x00000002
 | 
						|
				0x00000000 0x00000000 0x00000083 0x004f0006
 | 
						|
				0x00000010 0x00000008 0x00000000 0x00000000
 | 
						|
				0x00000000 0x00000000 0x00000000 0x00000000>;
 | 
						|
		};
 | 
						|
		emc-table@333000 {
 | 
						|
			reg = <333000>;
 | 
						|
			compatible = "nvidia,tegra20-emc-table";
 | 
						|
			clock-frequency = <333000>;
 | 
						|
			nvidia,emc-registers =   <0x00000014 0x00000041
 | 
						|
				0x0000000f 0x00000005 0x00000004 0x00000005
 | 
						|
				0x00000003 0x0000000a 0x00000005 0x00000005
 | 
						|
				0x00000004 0x00000001 0x00000003 0x00000004
 | 
						|
				0x00000003 0x00000009 0x0000000c 0x000009ff
 | 
						|
				0x00000000 0x00000003 0x00000003 0x00000005
 | 
						|
				0x00000005 0x00000001 0x0000000e 0x000000c8
 | 
						|
				0x00000003 0x00000011 0x00000006 0x0000000c
 | 
						|
				0x00000002 0x00000000 0x00000000 0x00000002
 | 
						|
				0x00000000 0x00000000 0x00000083 0x00380006
 | 
						|
				0x00000010 0x00000008 0x00000000 0x00000000
 | 
						|
				0x00000000 0x00000000 0x00000000 0x00000000>;
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	/* EHCI instance 1: ULPI PHY -> AX88772B (On-module) */
 | 
						|
	usb@c5004000 {
 | 
						|
		status = "okay";
 | 
						|
		#address-cells = <1>;
 | 
						|
		#size-cells = <0>;
 | 
						|
 | 
						|
		ethernet@1 {
 | 
						|
			compatible = "usbb95,772b";
 | 
						|
			reg = <1>;
 | 
						|
			local-mac-address = [00 00 00 00 00 00];
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	usb-phy@c5004000 {
 | 
						|
		status = "okay";
 | 
						|
		nvidia,phy-reset-gpio =
 | 
						|
			<&gpio TEGRA_GPIO(V, 1) GPIO_ACTIVE_LOW>;
 | 
						|
		vbus-supply = <®_lan_v_bus>;
 | 
						|
	};
 | 
						|
 | 
						|
	clk32k_in: xtal3 {
 | 
						|
		compatible = "fixed-clock";
 | 
						|
		#clock-cells = <0>;
 | 
						|
		clock-frequency = <32768>;
 | 
						|
	};
 | 
						|
 | 
						|
	reg_lan_v_bus: regulator-lan-v-bus {
 | 
						|
		compatible = "regulator-fixed";
 | 
						|
		regulator-name = "LAN_V_BUS";
 | 
						|
		regulator-min-microvolt = <5000000>;
 | 
						|
		regulator-max-microvolt = <5000000>;
 | 
						|
		enable-active-high;
 | 
						|
		gpio = <&gpio TEGRA_GPIO(BB, 1) GPIO_ACTIVE_HIGH>;
 | 
						|
	};
 | 
						|
 | 
						|
	reg_module_3v3: regulator-module-3v3 {
 | 
						|
		compatible = "regulator-fixed";
 | 
						|
		regulator-name = "+V3.3";
 | 
						|
		regulator-min-microvolt = <3300000>;
 | 
						|
		regulator-max-microvolt = <3300000>;
 | 
						|
		regulator-always-on;
 | 
						|
	};
 | 
						|
 | 
						|
	sound {
 | 
						|
		compatible = "nvidia,tegra-audio-wm9712-colibri_t20",
 | 
						|
			     "nvidia,tegra-audio-wm9712";
 | 
						|
		nvidia,model = "Toradex Colibri T20";
 | 
						|
		nvidia,audio-routing =
 | 
						|
			"Headphone", "HPOUTL",
 | 
						|
			"Headphone", "HPOUTR",
 | 
						|
			"LineIn", "LINEINL",
 | 
						|
			"LineIn", "LINEINR",
 | 
						|
			"Mic", "MIC1";
 | 
						|
		nvidia,ac97-controller = <&tegra_ac97>;
 | 
						|
		clocks = <&tegra_car TEGRA20_CLK_PLL_A>,
 | 
						|
			 <&tegra_car TEGRA20_CLK_PLL_A_OUT0>,
 | 
						|
			 <&tegra_car TEGRA20_CLK_CDEV1>;
 | 
						|
		clock-names = "pll_a", "pll_a_out0", "mclk";
 | 
						|
	};
 | 
						|
};
 | 
						|
 | 
						|
&emc_icc_dvfs_opp_table {
 | 
						|
	/delete-node/ opp-760000000;
 | 
						|
};
 | 
						|
 | 
						|
&gpio {
 | 
						|
	lan-reset-n-hog {
 | 
						|
		gpio-hog;
 | 
						|
		gpios = <TEGRA_GPIO(V, 4) GPIO_ACTIVE_HIGH>;
 | 
						|
		output-high;
 | 
						|
		line-name = "LAN_RESET#";
 | 
						|
	};
 | 
						|
 | 
						|
	/* Tri-stating GMI_WR_N on SODIMM pin 99 nPWE */
 | 
						|
	npwe-hog {
 | 
						|
		gpio-hog;
 | 
						|
		gpios = <TEGRA_GPIO(T, 5) GPIO_ACTIVE_HIGH>;
 | 
						|
		output-high;
 | 
						|
		line-name = "Tri-state nPWE";
 | 
						|
	};
 | 
						|
 | 
						|
	/* Not tri-stating GMI_WR_N on SODIMM pin 93 RDnWR */
 | 
						|
	rdnwr-hog {
 | 
						|
		gpio-hog;
 | 
						|
		gpios = <TEGRA_GPIO(T, 6) GPIO_ACTIVE_HIGH>;
 | 
						|
		output-low;
 | 
						|
		line-name = "Not tri-state RDnWR";
 | 
						|
	};
 | 
						|
};
 |