777 lines
19 KiB
Plaintext
777 lines
19 KiB
Plaintext
// 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";
|
|
};
|
|
};
|