ARM: tegra: Device tree changes for v4.20-rc1
This contains a massive amount of changes from Marcel Ziswiler for various boards by Toradex. -----BEGIN PGP SIGNATURE----- iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAlutQ+UTHHRyZWRpbmdA bnZpZGlhLmNvbQAKCRDdI6zXfz6zoap9EACWCtuZX1sqPHrU3qNIlqgb2GTFq9IR DOt+J0kxbVHddvgnaxnHdXq25nQ7fSCIx+k06C1Gs4/PmhMm4wLkJhaE7l80Ru5i 5hKMlp/4mf4GN+aEqsLje6QndbUMUhVWTEk7U/OIybE4DeVq50ApKBP5lbuurAa/ T/EeMUWzfsgbH64AXgLMrgQ8i9sM+FuGWGvIBPIwvOXJiyEcOwoO5/c7BkQngQkZ eglydbt9TWlWkdB4C9OM4/TGCHbnC8gO9XqBMniMI5mCTVpihPQ/O3RPfp8iWy83 hfpxzyWK2w0LY2nyn4UdUhlc4YKD/piu290BHlx0HBEv0ovJrktlAYghhvQWbgIz 7LHn8BV4jid23vn8tPhbmaWRZfXEwCviUqVVroKNuz6cJzNktXuXJQYI2QcSYCvf BQmynXWrcdMH8zFzXDSKUAIbgnj17kWSk0BACqdutj21GPhBJA7NbFhYpNUVngYU 0JfVV14plzvZff4FIZCExH46zaHz5hlszrlNVI+wqRIGnpOvE9FZBTNbnZlm+e6x KHhUqyGA8dlMidgtb/kSKAfKsqWKwC5CsXkmFJeaVrfUcaBftY5zmVmkv4KCVL8u c7j3N8PjeSJR+Pf9yE7YwzZJttegiljw5VwFjVR5Z7nEtTYD2U9WGtHu1OgqgKm+ 8wJFaLJ/psinfw== =XdYT -----END PGP SIGNATURE----- Merge tag 'tegra-for-4.20-arm-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/dt ARM: tegra: Device tree changes for v4.20-rc1 This contains a massive amount of changes from Marcel Ziswiler for various boards by Toradex. * tag 'tegra-for-4.20-arm-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: (129 commits) ARM: dts: paz00: fix wakeup gpio keycode ARM: tegra: tegra20: Fix mixed tabs-spaces indentation ARM: tegra: colibri_t20: add eval board device tree ARM: tegra: colibri_t20: rename ac97 label to tegra_ac97 ARM: tegra: colibri_t20: get rid of fake clocks simple bus ARM: tegra: colibri_t20: rename tps6586x@34 and drop unused pmic label ARM: tegra: colibri_t20: iris: drop unused i2c_ddc label ARM: tegra: colibri_t20: rename i2c_ddc to hdmi_ddc ARM: tegra: colibri_t20: drop module level model and compatible ARM: tegra: colibri_t20: iris: add colibri ssp support ARM: tegra: colibri_t20: iris: simplify model and compatible properties ARM: tegra: colibri_t20: simplify model and compatible properties ARM: tegra: colibri_t20: add compatibility comment ARM: tegra: colibri_t20: annotate/move sd card detect ARM: tegra: colibri_t20: add gpio hogs for gmi_wr_n buffers ARM: tegra: colibri_t20: add gpio hog to unreset usb ethernet chip ARM: tegra: colibri_t20: add i2c-thermtrip ARM: tegra: colibri_t20: annotate/rename lm95245 temperature sensor ARM: tegra: colibri_t20: iris: add dr_mode property ARM: tegra: colibri_t20: iris: add gpio wakeup key ... Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
commit
d4db2b19eb
|
@ -47,12 +47,17 @@ board-specific compatible values:
|
|||
nvidia,ventana
|
||||
toradex,apalis_t30
|
||||
toradex,apalis_t30-eval
|
||||
toradex,apalis_t30-v1.1
|
||||
toradex,apalis_t30-v1.1-eval
|
||||
toradex,apalis-tk1
|
||||
toradex,apalis-tk1-eval
|
||||
toradex,colibri_t20-512
|
||||
toradex,apalis-tk1-v1.2
|
||||
toradex,apalis-tk1-v1.2-eval
|
||||
toradex,colibri_t20
|
||||
toradex,colibri_t20-eval-v3
|
||||
toradex,colibri_t20-iris
|
||||
toradex,colibri_t30
|
||||
toradex,colibri_t30-eval-v3
|
||||
toradex,iris
|
||||
|
||||
Trusted Foundations
|
||||
-------------------------------------------
|
||||
|
|
|
@ -298,6 +298,7 @@ pine64 Pine64
|
|||
pixcir PIXCIR MICROELECTRONICS Co., Ltd
|
||||
plathome Plat'Home Co., Ltd.
|
||||
plda PLDA
|
||||
plx Broadcom Corporation (formerly PLX Technology)
|
||||
portwell Portwell Inc.
|
||||
poslab Poslab Technology Co., Ltd.
|
||||
powervr PowerVR (deprecated, use img)
|
||||
|
|
|
@ -1063,6 +1063,7 @@ dtb-$(CONFIG_ARCH_TANGO) += \
|
|||
tango4-vantage-1172.dtb
|
||||
dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += \
|
||||
tegra20-harmony.dtb \
|
||||
tegra20-colibri-eval-v3.dtb \
|
||||
tegra20-colibri-iris.dtb \
|
||||
tegra20-medcom-wide.dtb \
|
||||
tegra20-paz00.dtb \
|
||||
|
@ -1073,6 +1074,7 @@ dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += \
|
|||
tegra20-ventana.dtb
|
||||
dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += \
|
||||
tegra30-apalis-eval.dtb \
|
||||
tegra30-apalis-v1.1-eval.dtb \
|
||||
tegra30-beaver.dtb \
|
||||
tegra30-cardhu-a02.dtb \
|
||||
tegra30-cardhu-a04.dtb \
|
||||
|
|
|
@ -72,6 +72,7 @@ pci@1,0 {
|
|||
host1x@50000000 {
|
||||
hdmi@54280000 {
|
||||
status = "okay";
|
||||
hdmi-supply = <®_5v0>;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -122,7 +123,7 @@ rtc@68 {
|
|||
/*
|
||||
* GEN2_I2C: I2C2_SDA/SCL (DDC) on MXM3 pin 205/207 (e.g. display EDID)
|
||||
*/
|
||||
hdmi_ddc: i2c@7000c400 {
|
||||
i2c@7000c400 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -141,29 +142,19 @@ i2c@7000c500 {
|
|||
spi@7000d400 {
|
||||
status = "okay";
|
||||
spi-max-frequency = <50000000>;
|
||||
|
||||
spidev0: spidev@0 {
|
||||
compatible = "spidev";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <50000000>;
|
||||
};
|
||||
};
|
||||
|
||||
/* SPI4: Apalis SPI2 */
|
||||
spi@7000da00 {
|
||||
status = "okay";
|
||||
spi-max-frequency = <50000000>;
|
||||
|
||||
spidev1: spidev@0 {
|
||||
compatible = "spidev";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <50000000>;
|
||||
};
|
||||
};
|
||||
|
||||
/* Apalis Serial ATA */
|
||||
sata@70020000 {
|
||||
status = "okay";
|
||||
target-5v-supply = <®_5v0>;
|
||||
target-12v-supply = <®_12v0>;
|
||||
};
|
||||
|
||||
hda@70030000 {
|
||||
|
@ -177,18 +168,18 @@ usb@70090000 {
|
|||
/* Apalis MMC1 */
|
||||
sdhci@700b0000 {
|
||||
status = "okay";
|
||||
bus-width = <4>;
|
||||
/* MMC1_CD# */
|
||||
cd-gpios = <&gpio TEGRA_GPIO(V, 3) GPIO_ACTIVE_LOW>;
|
||||
bus-width = <4>;
|
||||
vqmmc-supply = <&vddio_sdmmc1>;
|
||||
};
|
||||
|
||||
/* Apalis SD1 */
|
||||
sdhci@700b0400 {
|
||||
status = "okay";
|
||||
bus-width = <4>;
|
||||
/* SD1_CD# */
|
||||
cd-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_LOW>;
|
||||
bus-width = <4>;
|
||||
vqmmc-supply = <&vddio_sdmmc3>;
|
||||
};
|
||||
|
||||
|
@ -225,11 +216,12 @@ usb-phy@7d008000 {
|
|||
|
||||
backlight: backlight {
|
||||
compatible = "pwm-backlight";
|
||||
pwms = <&pwm 3 5000000>; /* BKL1_PWM */
|
||||
brightness-levels = <255 231 223 207 191 159 127 0>;
|
||||
default-brightness-level = <6>;
|
||||
/* BKL1_ON */
|
||||
enable-gpios = <&gpio TEGRA_GPIO(BB, 5) GPIO_ACTIVE_HIGH>;
|
||||
power-supply = <®_3v3>;
|
||||
pwms = <&pwm 3 5000000>; /* BKL1_PWM */
|
||||
};
|
||||
|
||||
gpio-keys {
|
||||
|
@ -244,6 +236,13 @@ wakeup {
|
|||
};
|
||||
};
|
||||
|
||||
reg_3v3: regulator-3v3 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "3.3V_SW";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
reg_5v0: regulator-5v0 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "5V_SW";
|
||||
|
@ -251,6 +250,13 @@ reg_5v0: regulator-5v0 {
|
|||
regulator-max-microvolt = <5000000>;
|
||||
};
|
||||
|
||||
reg_12v0: regulator-12v0 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "12V_SW";
|
||||
regulator-min-microvolt = <12000000>;
|
||||
regulator-max-microvolt = <12000000>;
|
||||
};
|
||||
|
||||
/* USBO1_EN */
|
||||
reg_usbo1_vbus: regulator-usbo1-vbus {
|
||||
compatible = "regulator-fixed";
|
||||
|
@ -276,7 +282,7 @@ reg_usbh_vbus: regulator-usbh-vbus {
|
|||
|
||||
&gpio {
|
||||
/* Apalis GPIO7 MXM3 pin 15 PLX PEX 8605 PCIe Switch Reset */
|
||||
pex_perst_n {
|
||||
pex-perst-n {
|
||||
gpio-hog;
|
||||
gpios = <TEGRA_GPIO(DD, 1) GPIO_ACTIVE_HIGH>;
|
||||
output-high;
|
||||
|
|
|
@ -11,7 +11,8 @@
|
|||
/ {
|
||||
model = "Toradex Apalis TK1 on Apalis Evaluation Board";
|
||||
compatible = "toradex,apalis-tk1-v1.2-eval", "toradex,apalis-tk1-eval",
|
||||
"toradex,apalis-tk1", "nvidia,tegra124";
|
||||
"toradex,apalis-tk1-v1.2", "toradex,apalis-tk1",
|
||||
"nvidia,tegra124";
|
||||
|
||||
aliases {
|
||||
rtc0 = "/i2c@7000c000/rtc@68";
|
||||
|
@ -36,6 +37,7 @@ pci@1,0 {
|
|||
host1x@50000000 {
|
||||
hdmi@54280000 {
|
||||
status = "okay";
|
||||
hdmi-supply = <®_5v0>;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -98,7 +100,7 @@ i2c@7000c500 {
|
|||
* I2C4 (DDC): I2C4_SDA/SCL (DDC) on MXM3 pin 205/207
|
||||
* (e.g. display EDID)
|
||||
*/
|
||||
hdmi_ddc: i2c@7000c700 {
|
||||
i2c@7000c700 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -106,29 +108,19 @@ hdmi_ddc: i2c@7000c700 {
|
|||
spi@7000d400 {
|
||||
status = "okay";
|
||||
spi-max-frequency = <50000000>;
|
||||
|
||||
spidev0: spidev@0 {
|
||||
compatible = "spidev";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <50000000>;
|
||||
};
|
||||
};
|
||||
|
||||
/* SPI4: Apalis SPI2 */
|
||||
spi@7000da00 {
|
||||
status = "okay";
|
||||
spi-max-frequency = <50000000>;
|
||||
|
||||
spidev1: spidev@0 {
|
||||
compatible = "spidev";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <50000000>;
|
||||
};
|
||||
};
|
||||
|
||||
/* Apalis Serial ATA */
|
||||
sata@70020000 {
|
||||
status = "okay";
|
||||
target-5v-supply = <®_5v0>;
|
||||
target-12v-supply = <®_12v0>;
|
||||
};
|
||||
|
||||
hda@70030000 {
|
||||
|
@ -142,18 +134,18 @@ usb@70090000 {
|
|||
/* Apalis MMC1 */
|
||||
sdhci@700b0000 {
|
||||
status = "okay";
|
||||
bus-width = <4>;
|
||||
/* MMC1_CD# */
|
||||
cd-gpios = <&gpio TEGRA_GPIO(V, 3) GPIO_ACTIVE_LOW>;
|
||||
bus-width = <4>;
|
||||
vqmmc-supply = <&vddio_sdmmc1>;
|
||||
};
|
||||
|
||||
/* Apalis SD1 */
|
||||
sdhci@700b0400 {
|
||||
status = "okay";
|
||||
bus-width = <4>;
|
||||
/* SD1_CD# */
|
||||
cd-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_LOW>;
|
||||
bus-width = <4>;
|
||||
vqmmc-supply = <&vddio_sdmmc3>;
|
||||
};
|
||||
|
||||
|
@ -190,11 +182,12 @@ usb-phy@7d008000 {
|
|||
|
||||
backlight: backlight {
|
||||
compatible = "pwm-backlight";
|
||||
pwms = <&pwm 3 5000000>; /* BKL1_PWM */
|
||||
brightness-levels = <255 231 223 207 191 159 127 0>;
|
||||
default-brightness-level = <6>;
|
||||
/* BKL1_ON */
|
||||
enable-gpios = <&gpio TEGRA_GPIO(BB, 5) GPIO_ACTIVE_HIGH>;
|
||||
power-supply = <®_3v3>;
|
||||
pwms = <&pwm 3 5000000>; /* BKL1_PWM */
|
||||
};
|
||||
|
||||
gpio-keys {
|
||||
|
@ -209,6 +202,13 @@ wakeup {
|
|||
};
|
||||
};
|
||||
|
||||
reg_3v3: regulator-3v3 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "3.3V_SW";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
reg_5v0: regulator-5v0 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "5V_SW";
|
||||
|
@ -216,6 +216,13 @@ reg_5v0: regulator-5v0 {
|
|||
regulator-max-microvolt = <5000000>;
|
||||
};
|
||||
|
||||
reg_12v0: regulator-12v0 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "12V_SW";
|
||||
regulator-min-microvolt = <12000000>;
|
||||
regulator-max-microvolt = <12000000>;
|
||||
};
|
||||
|
||||
/* USBO1_EN */
|
||||
reg_usbo1_vbus: regulator-usbo1-vbus {
|
||||
compatible = "regulator-fixed";
|
||||
|
@ -241,7 +248,7 @@ reg_usbh_vbus: regulator-usbh-vbus {
|
|||
|
||||
&gpio {
|
||||
/* Apalis GPIO7 MXM3 pin 15 PLX PEX 8605 PCIe Switch Reset */
|
||||
pex_perst_n {
|
||||
pex-perst-n {
|
||||
gpio-hog;
|
||||
gpios = <TEGRA_GPIO(DD, 1) GPIO_ACTIVE_HIGH>;
|
||||
output-high;
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,262 @@
|
|||
// SPDX-License-Identifier: GPL-2.0 OR MIT
|
||||
/dts-v1/;
|
||||
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include "tegra20-colibri.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Toradex Colibri T20 on Colibri Evaluation Board";
|
||||
compatible = "toradex,colibri_t20-eval-v3", "toradex,colibri_t20",
|
||||
"nvidia,tegra20";
|
||||
|
||||
aliases {
|
||||
rtc0 = "/i2c@7000c000/rtc@68";
|
||||
rtc1 = "/i2c@7000d000/pmic@34";
|
||||
rtc2 = "/rtc@7000e000";
|
||||
serial0 = &uarta;
|
||||
serial1 = &uartd;
|
||||
serial2 = &uartb;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
host1x@50000000 {
|
||||
dc@54200000 {
|
||||
rgb {
|
||||
status = "okay";
|
||||
nvidia,panel = <&panel>;
|
||||
};
|
||||
};
|
||||
|
||||
hdmi@54280000 {
|
||||
status = "okay";
|
||||
hdmi-supply = <®_5v0>;
|
||||
};
|
||||
};
|
||||
|
||||
pinmux@70000014 {
|
||||
state_default: pinmux {
|
||||
bl-on {
|
||||
nvidia,tristate = <TEGRA_PIN_DISABLE>;
|
||||
};
|
||||
|
||||
ddc {
|
||||
nvidia,tristate = <TEGRA_PIN_DISABLE>;
|
||||
};
|
||||
|
||||
hotplug-detect {
|
||||
nvidia,tristate = <TEGRA_PIN_DISABLE>;
|
||||
};
|
||||
|
||||
i2c {
|
||||
nvidia,tristate = <TEGRA_PIN_DISABLE>;
|
||||
};
|
||||
|
||||
lcd {
|
||||
nvidia,tristate = <TEGRA_PIN_DISABLE>;
|
||||
};
|
||||
|
||||
lm1 {
|
||||
nvidia,tristate = <TEGRA_PIN_DISABLE>;
|
||||
};
|
||||
|
||||
mmc {
|
||||
nvidia,tristate = <TEGRA_PIN_DISABLE>;
|
||||
};
|
||||
|
||||
mmccd {
|
||||
nvidia,tristate = <TEGRA_PIN_DISABLE>;
|
||||
};
|
||||
|
||||
pwm-a-b {
|
||||
nvidia,tristate = <TEGRA_PIN_DISABLE>;
|
||||
};
|
||||
|
||||
pwm-c-d {
|
||||
nvidia,tristate = <TEGRA_PIN_DISABLE>;
|
||||
};
|
||||
|
||||
ssp {
|
||||
nvidia,tristate = <TEGRA_PIN_DISABLE>;
|
||||
};
|
||||
|
||||
uart-a {
|
||||
nvidia,tristate = <TEGRA_PIN_DISABLE>;
|
||||
};
|
||||
|
||||
uart-b {
|
||||
nvidia,tristate = <TEGRA_PIN_DISABLE>;
|
||||
};
|
||||
|
||||
uart-c {
|
||||
nvidia,tristate = <TEGRA_PIN_DISABLE>;
|
||||
};
|
||||
|
||||
usbh-pen {
|
||||
nvidia,tristate = <TEGRA_PIN_DISABLE>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/* Colibri UART-A */
|
||||
serial@70006000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Colibri UART-C */
|
||||
serial@70006040 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Colibri UART-B */
|
||||
serial@70006300 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
pwm@7000a000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/*
|
||||
* GEN1_I2C: I2C_SDA/SCL on SODIMM pin 194/196 (e.g. RTC on carrier
|
||||
* board)
|
||||
*/
|
||||
i2c@7000c000 {
|
||||
status = "okay";
|
||||
clock-frequency = <400000>;
|
||||
|
||||
/* M41T0M6 real time clock on carrier board */
|
||||
rtc@68 {
|
||||
compatible = "st,m41t0";
|
||||
reg = <0x68>;
|
||||
};
|
||||
};
|
||||
|
||||
/* GEN2_I2C: unused */
|
||||
|
||||
/* CAM_I2C (I2C3): unused */
|
||||
|
||||
/* DDC_CLOCK/DATA on X3 pin 15/16 (e.g. display EDID) */
|
||||
i2c@7000c400 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* EHCI instance 0: USB1_DP/N -> USBC_P/N */
|
||||
usb@c5000000 {
|
||||
status = "okay";
|
||||
dr_mode = "otg";
|
||||
};
|
||||
|
||||
usb-phy@c5000000 {
|
||||
status = "okay";
|
||||
vbus-supply = <®_usbc_vbus>;
|
||||
};
|
||||
|
||||
/* EHCI instance 2: USB3_DP/N -> USBH_P/N */
|
||||
usb@c5008000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
usb-phy@c5008000 {
|
||||
status = "okay";
|
||||
vbus-supply = <®_usbh_vbus>;
|
||||
};
|
||||
|
||||
/* SPI4: Colibri SSP */
|
||||
spi@7000da00 {
|
||||
status = "okay";
|
||||
spi-max-frequency = <25000000>;
|
||||
|
||||
can@0 {
|
||||
compatible = "microchip,mcp2515";
|
||||
reg = <0>;
|
||||
clocks = <&clk16m>;
|
||||
interrupt-parent = <&gpio>;
|
||||
/* CAN_INT */
|
||||
interrupts = <TEGRA_GPIO(A, 0) IRQ_TYPE_EDGE_FALLING>;
|
||||
spi-max-frequency = <10000000>;
|
||||
vdd-supply = <®_3v3>;
|
||||
xceiver-supply = <®_5v0>;
|
||||
};
|
||||
};
|
||||
|
||||
/* SD/MMC */
|
||||
sdhci@c8000600 {
|
||||
status = "okay";
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&gpio TEGRA_GPIO(C, 7) GPIO_ACTIVE_LOW>; /* MMCD */
|
||||
no-1-8-v;
|
||||
};
|
||||
|
||||
backlight: backlight {
|
||||
compatible = "pwm-backlight";
|
||||
brightness-levels = <255 128 64 32 16 8 4 0>;
|
||||
default-brightness-level = <6>;
|
||||
/* BL_ON */
|
||||
enable-gpios = <&gpio TEGRA_GPIO(T, 4) GPIO_ACTIVE_HIGH>;
|
||||
power-supply = <®_3v3>;
|
||||
pwms = <&pwm 0 5000000>; /* PWM<A> */
|
||||
};
|
||||
|
||||
clk16m: osc3 {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <16000000>;
|
||||
};
|
||||
|
||||
gpio-keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
wakeup {
|
||||
label = "SODIMM pin 45 wakeup";
|
||||
gpios = <&gpio TEGRA_GPIO(V, 3) GPIO_ACTIVE_HIGH>;
|
||||
linux,code = <KEY_WAKEUP>;
|
||||
debounce-interval = <10>;
|
||||
wakeup-source;
|
||||
};
|
||||
};
|
||||
|
||||
panel: panel {
|
||||
/*
|
||||
* edt,et057090dhu: EDT 5.7" LCD TFT
|
||||
* edt,et070080dh6: EDT 7.0" LCD TFT
|
||||
*/
|
||||
compatible = "edt,et057090dhu", "simple-panel";
|
||||
backlight = <&backlight>;
|
||||
power-supply = <®_3v3>;
|
||||
};
|
||||
|
||||
reg_3v3: regulator-3v3 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "3.3V_SW";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
reg_5v0: regulator-5v0 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "5V_SW";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
};
|
||||
|
||||
reg_usbc_vbus: regulator-usbc-vbus {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "VCC_USB5";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
vin-supply = <®_5v0>;
|
||||
};
|
||||
|
||||
/* USBH_PEN resp. USB_P_EN */
|
||||
reg_usbh_vbus: regulator-usbh-vbus {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "VCC_USB[1-4]";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
gpio = <&gpio TEGRA_GPIO(W, 2) GPIO_ACTIVE_LOW>;
|
||||
vin-supply = <®_5v0>;
|
||||
};
|
||||
};
|
|
@ -1,15 +1,21 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
/dts-v1/;
|
||||
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include "tegra20-colibri.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Toradex Colibri T20 256/512 MB on Iris";
|
||||
compatible = "toradex,iris", "toradex,colibri_t20-512", "nvidia,tegra20";
|
||||
model = "Toradex Colibri T20 on Iris";
|
||||
compatible = "toradex,colibri_t20-iris", "toradex,colibri_t20",
|
||||
"nvidia,tegra20";
|
||||
|
||||
aliases {
|
||||
rtc0 = "/i2c@7000c000/rtc@68";
|
||||
rtc1 = "/i2c@7000d000/pmic@34";
|
||||
rtc2 = "/rtc@7000e000";
|
||||
serial0 = &uarta;
|
||||
serial1 = &uartd;
|
||||
serial2 = &uartb;
|
||||
};
|
||||
|
||||
chosen {
|
||||
|
@ -17,90 +23,222 @@ chosen {
|
|||
};
|
||||
|
||||
host1x@50000000 {
|
||||
dc@54200000 {
|
||||
rgb {
|
||||
status = "okay";
|
||||
nvidia,panel = <&panel>;
|
||||
};
|
||||
};
|
||||
|
||||
hdmi@54280000 {
|
||||
status = "okay";
|
||||
hdmi-supply = <®_5v0>;
|
||||
};
|
||||
};
|
||||
|
||||
pinmux@70000014 {
|
||||
state_default: pinmux {
|
||||
hdint {
|
||||
bl-on {
|
||||
nvidia,tristate = <TEGRA_PIN_DISABLE>;
|
||||
};
|
||||
|
||||
i2cddc {
|
||||
ddc {
|
||||
nvidia,tristate = <TEGRA_PIN_DISABLE>;
|
||||
};
|
||||
|
||||
sdio4 {
|
||||
hotplug-detect {
|
||||
nvidia,tristate = <TEGRA_PIN_DISABLE>;
|
||||
};
|
||||
|
||||
uarta {
|
||||
i2c {
|
||||
nvidia,tristate = <TEGRA_PIN_DISABLE>;
|
||||
};
|
||||
|
||||
uartd {
|
||||
lcd {
|
||||
nvidia,tristate = <TEGRA_PIN_DISABLE>;
|
||||
};
|
||||
|
||||
lm1 {
|
||||
nvidia,tristate = <TEGRA_PIN_DISABLE>;
|
||||
};
|
||||
|
||||
mmc {
|
||||
nvidia,tristate = <TEGRA_PIN_DISABLE>;
|
||||
};
|
||||
|
||||
mmccd {
|
||||
nvidia,tristate = <TEGRA_PIN_DISABLE>;
|
||||
};
|
||||
|
||||
pwm-a-b {
|
||||
nvidia,tristate = <TEGRA_PIN_DISABLE>;
|
||||
};
|
||||
|
||||
pwm-c-d {
|
||||
nvidia,tristate = <TEGRA_PIN_DISABLE>;
|
||||
};
|
||||
|
||||
ssp {
|
||||
nvidia,tristate = <TEGRA_PIN_DISABLE>;
|
||||
};
|
||||
|
||||
uart-a {
|
||||
nvidia,tristate = <TEGRA_PIN_DISABLE>;
|
||||
};
|
||||
|
||||
uart-b {
|
||||
nvidia,tristate = <TEGRA_PIN_DISABLE>;
|
||||
};
|
||||
|
||||
uart-c {
|
||||
nvidia,tristate = <TEGRA_PIN_DISABLE>;
|
||||
};
|
||||
|
||||
usbh-pen {
|
||||
nvidia,tristate = <TEGRA_PIN_DISABLE>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/* Colibri UART-A */
|
||||
serial@70006000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Colibri UART-C */
|
||||
serial@70006040 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Colibri UART-B */
|
||||
serial@70006300 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
i2c_ddc: i2c@7000c400 {
|
||||
pwm@7000a000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/*
|
||||
* GEN1_I2C: I2C_SDA/SCL on SODIMM pin 194/196 (e.g. RTC on carrier
|
||||
* board)
|
||||
*/
|
||||
i2c@7000c000 {
|
||||
status = "okay";
|
||||
clock-frequency = <400000>;
|
||||
|
||||
/* M41T0M6 real time clock on carrier board */
|
||||
rtc@68 {
|
||||
compatible = "st,m41t0";
|
||||
reg = <0x68>;
|
||||
};
|
||||
};
|
||||
|
||||
/* GEN2_I2C: unused */
|
||||
|
||||
/* CAM_I2C (I2C3): unused */
|
||||
|
||||
/* DDC_CLOCK/DATA on X3 pin 15/16 (e.g. display EDID) */
|
||||
i2c@7000c400 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* EHCI instance 0: USB1_DP/N -> USBC_P/N */
|
||||
usb@c5000000 {
|
||||
status = "okay";
|
||||
dr_mode = "otg";
|
||||
};
|
||||
|
||||
usb-phy@c5000000 {
|
||||
status = "okay";
|
||||
vbus-supply = <®_usbc_vbus>;
|
||||
};
|
||||
|
||||
/* EHCI instance 2: USB3_DP/N -> USBH_P/N */
|
||||
usb@c5008000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
usb-phy@c5008000 {
|
||||
status = "okay";
|
||||
vbus-supply = <®_usbh_vbus>;
|
||||
};
|
||||
|
||||
/* SPI4: Colibri SSP */
|
||||
spi@7000da00 {
|
||||
status = "okay";
|
||||
spi-max-frequency = <25000000>;
|
||||
};
|
||||
|
||||
/* SD/MMC */
|
||||
sdhci@c8000600 {
|
||||
status = "okay";
|
||||
bus-width = <4>;
|
||||
vmmc-supply = <&vcc_sd_reg>;
|
||||
vqmmc-supply = <&vcc_sd_reg>;
|
||||
cd-gpios = <&gpio TEGRA_GPIO(C, 7) GPIO_ACTIVE_LOW>; /* MMCD */
|
||||
no-1-8-v;
|
||||
};
|
||||
|
||||
regulators {
|
||||
regulator@0 {
|
||||
compatible = "regulator-fixed";
|
||||
reg = <0>;
|
||||
regulator-name = "usb_host_vbus";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
gpio = <&gpio TEGRA_GPIO(W, 2) GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
backlight: backlight {
|
||||
compatible = "pwm-backlight";
|
||||
brightness-levels = <255 128 64 32 16 8 4 0>;
|
||||
default-brightness-level = <6>;
|
||||
/* BL_ON */
|
||||
enable-gpios = <&gpio TEGRA_GPIO(T, 4) GPIO_ACTIVE_HIGH>;
|
||||
power-supply = <®_3v3>;
|
||||
pwms = <&pwm 0 5000000>; /* PWM<A> */
|
||||
};
|
||||
|
||||
vcc_sd_reg: regulator@1 {
|
||||
compatible = "regulator-fixed";
|
||||
reg = <1>;
|
||||
regulator-name = "vcc_sd";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
gpio-keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
wakeup {
|
||||
label = "SODIMM pin 45 wakeup";
|
||||
gpios = <&gpio TEGRA_GPIO(V, 3) GPIO_ACTIVE_HIGH>;
|
||||
linux,code = <KEY_WAKEUP>;
|
||||
debounce-interval = <10>;
|
||||
wakeup-source;
|
||||
};
|
||||
};
|
||||
|
||||
panel: panel {
|
||||
/*
|
||||
* edt,et057090dhu: EDT 5.7" LCD TFT
|
||||
* edt,et070080dh6: EDT 7.0" LCD TFT
|
||||
*/
|
||||
compatible = "edt,et057090dhu", "simple-panel";
|
||||
backlight = <&backlight>;
|
||||
power-supply = <®_3v3>;
|
||||
};
|
||||
|
||||
reg_3v3: regulator-3v3 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "3.3V";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
reg_5v0: regulator-5v0 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "5V";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
};
|
||||
|
||||
reg_usbc_vbus: regulator-usbc-vbus {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "VCC_USB2";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
vin-supply = <®_5v0>;
|
||||
};
|
||||
|
||||
/* USBH_PEN resp. USB_P_EN */
|
||||
reg_usbh_vbus: regulator-usbh-vbus {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "VCC_USB1";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
gpio = <&gpio TEGRA_GPIO(W, 2) GPIO_ACTIVE_LOW>;
|
||||
vin-supply = <®_5v0>;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,15 +1,13 @@
|
|||
// 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
|
||||
*/
|
||||
/ {
|
||||
model = "Toradex Colibri T20 256/512 MB";
|
||||
compatible = "toradex,colibri_t20-512", "nvidia,tegra20";
|
||||
|
||||
aliases {
|
||||
rtc0 = "/i2c@7000d000/tps6586x@34";
|
||||
rtc1 = "/rtc@7000e000";
|
||||
};
|
||||
|
||||
memory@0 {
|
||||
/*
|
||||
* Set memory to 256 MB to be safe as this could be used on
|
||||
|
@ -21,12 +19,11 @@ memory@0 {
|
|||
|
||||
host1x@50000000 {
|
||||
hdmi@54280000 {
|
||||
vdd-supply = <&hdmi_vdd_reg>;
|
||||
pll-supply = <&hdmi_pll_reg>;
|
||||
|
||||
nvidia,ddc-i2c-bus = <&i2c_ddc>;
|
||||
nvidia,hpd-gpio = <&gpio TEGRA_GPIO(N, 7)
|
||||
GPIO_ACTIVE_HIGH>;
|
||||
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>;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -35,187 +32,406 @@ pinmux@70000014 {
|
|||
pinctrl-0 = <&state_default>;
|
||||
|
||||
state_default: pinmux {
|
||||
audio_refclk {
|
||||
/* 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>;
|
||||
};
|
||||
crt {
|
||||
nvidia,pins = "crtp";
|
||||
nvidia,function = "crt";
|
||||
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
|
||||
nvidia,tristate = <TEGRA_PIN_ENABLE>;
|
||||
};
|
||||
dap3 {
|
||||
nvidia,pins = "dap3";
|
||||
nvidia,function = "dap3";
|
||||
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
|
||||
nvidia,tristate = <TEGRA_PIN_DISABLE>;
|
||||
};
|
||||
displaya {
|
||||
nvidia,pins = "ld0", "ld1", "ld2", "ld3",
|
||||
"ld4", "ld5", "ld6", "ld7", "ld8",
|
||||
"ld9", "ld10", "ld11", "ld12", "ld13",
|
||||
"ld14", "ld15", "ld16", "ld17",
|
||||
"lhs", "lpw0", "lpw2", "lsc0",
|
||||
"lsc1", "lsck", "lsda", "lspi", "lvs";
|
||||
nvidia,function = "displaya";
|
||||
nvidia,tristate = <TEGRA_PIN_ENABLE>;
|
||||
};
|
||||
gpio_dte {
|
||||
nvidia,pins = "dte";
|
||||
nvidia,function = "rsvd1";
|
||||
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
|
||||
nvidia,tristate = <TEGRA_PIN_DISABLE>;
|
||||
};
|
||||
gpio_gmi {
|
||||
nvidia,pins = "ata", "atc", "atd", "ate",
|
||||
"dap1", "dap2", "dap4", "gpu", "irrx",
|
||||
"irtx", "spia", "spib", "spic";
|
||||
nvidia,function = "gmi";
|
||||
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
|
||||
nvidia,tristate = <TEGRA_PIN_DISABLE>;
|
||||
};
|
||||
gpio_pta {
|
||||
nvidia,pins = "pta";
|
||||
nvidia,function = "rsvd4";
|
||||
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
|
||||
nvidia,tristate = <TEGRA_PIN_DISABLE>;
|
||||
};
|
||||
gpio_uac {
|
||||
|
||||
/*
|
||||
* 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>;
|
||||
};
|
||||
hdint {
|
||||
nvidia,pins = "hdint";
|
||||
nvidia,function = "hdmi";
|
||||
nvidia,tristate = <TEGRA_PIN_ENABLE>;
|
||||
};
|
||||
i2c1 {
|
||||
nvidia,pins = "rm";
|
||||
nvidia,function = "i2c1";
|
||||
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
|
||||
nvidia,tristate = <TEGRA_PIN_ENABLE>;
|
||||
};
|
||||
i2c3 {
|
||||
nvidia,pins = "dtf";
|
||||
nvidia,function = "i2c3";
|
||||
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
|
||||
nvidia,tristate = <TEGRA_PIN_ENABLE>;
|
||||
};
|
||||
i2cddc {
|
||||
nvidia,pins = "ddc";
|
||||
nvidia,function = "i2c2";
|
||||
nvidia,pull = <TEGRA_PIN_PULL_UP>;
|
||||
nvidia,tristate = <TEGRA_PIN_ENABLE>;
|
||||
};
|
||||
i2cp {
|
||||
nvidia,pins = "i2cp";
|
||||
nvidia,function = "i2cp";
|
||||
|
||||
/*
|
||||
* 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>;
|
||||
};
|
||||
irda {
|
||||
nvidia,pins = "uad";
|
||||
nvidia,function = "irda";
|
||||
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
|
||||
nvidia,tristate = <TEGRA_PIN_ENABLE>;
|
||||
};
|
||||
nand {
|
||||
nvidia,pins = "kbca", "kbcc", "kbcd",
|
||||
"kbce", "kbcf";
|
||||
nvidia,function = "nand";
|
||||
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
|
||||
nvidia,tristate = <TEGRA_PIN_DISABLE>;
|
||||
};
|
||||
owc {
|
||||
nvidia,pins = "owc";
|
||||
nvidia,function = "owr";
|
||||
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
|
||||
nvidia,tristate = <TEGRA_PIN_ENABLE>;
|
||||
};
|
||||
|
||||
/*
|
||||
* 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>;
|
||||
};
|
||||
pwm {
|
||||
nvidia,pins = "sdb", "sdc", "sdd";
|
||||
|
||||
/*
|
||||
* 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> */
|
||||
pwm-a-b {
|
||||
nvidia,pins = "sdc";
|
||||
nvidia,function = "pwm";
|
||||
nvidia,tristate = <TEGRA_PIN_ENABLE>;
|
||||
};
|
||||
sdio4 {
|
||||
nvidia,pins = "atb", "gma", "gme";
|
||||
nvidia,function = "sdio4";
|
||||
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
|
||||
nvidia,tristate = <TEGRA_PIN_ENABLE>;
|
||||
};
|
||||
spi1 {
|
||||
nvidia,pins = "spid", "spie", "spif";
|
||||
nvidia,function = "spi1";
|
||||
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
|
||||
nvidia,tristate = <TEGRA_PIN_ENABLE>;
|
||||
};
|
||||
spi4 {
|
||||
nvidia,pins = "slxa", "slxc", "slxd", "slxk";
|
||||
nvidia,function = "spi4";
|
||||
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
|
||||
nvidia,tristate = <TEGRA_PIN_ENABLE>;
|
||||
};
|
||||
uarta {
|
||||
nvidia,pins = "sdio1";
|
||||
nvidia,function = "uarta";
|
||||
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
|
||||
nvidia,tristate = <TEGRA_PIN_ENABLE>;
|
||||
};
|
||||
uartd {
|
||||
nvidia,pins = "gmc";
|
||||
nvidia,function = "uartd";
|
||||
|
||||
/* 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 {
|
||||
ulpi-refclk {
|
||||
nvidia,pins = "cdev2";
|
||||
nvidia,function = "pllp_out4";
|
||||
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
|
||||
nvidia,tristate = <TEGRA_PIN_DISABLE>;
|
||||
};
|
||||
usb_gpio {
|
||||
nvidia,pins = "spig", "spih";
|
||||
nvidia,function = "spi2_alt";
|
||||
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>;
|
||||
};
|
||||
vi {
|
||||
nvidia,pins = "dta", "dtb", "dtc", "dtd";
|
||||
nvidia,function = "vi";
|
||||
|
||||
/* Colibri I2C */
|
||||
i2c {
|
||||
nvidia,pins = "rm";
|
||||
nvidia,function = "i2c1";
|
||||
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
|
||||
nvidia,tristate = <TEGRA_PIN_ENABLE>;
|
||||
};
|
||||
vi_sc {
|
||||
|
||||
/*
|
||||
* 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> */
|
||||
pwm-c-d {
|
||||
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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
ac97: ac97@70002000 {
|
||||
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>;
|
||||
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";
|
||||
};
|
||||
|
||||
serial@70006300 {
|
||||
compatible = "nvidia,tegra20-hsuart";
|
||||
};
|
||||
|
||||
nand-controller@70008000 {
|
||||
|
@ -243,7 +459,7 @@ i2c@7000c000 {
|
|||
};
|
||||
|
||||
/* DDC_SCL/SDA on X3 pin 15/16 (e.g. display EDID) */
|
||||
i2c_ddc: i2c@7000c400 {
|
||||
hdmi_ddc: i2c@7000c400 {
|
||||
clock-frequency = <10000>;
|
||||
};
|
||||
|
||||
|
@ -256,59 +472,45 @@ i2c@7000d000 {
|
|||
status = "okay";
|
||||
clock-frequency = <100000>;
|
||||
|
||||
pmic: tps6586x@34 {
|
||||
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 = <&vdd_3v3_reg>;
|
||||
vin-sm0-supply = <&sys_reg>;
|
||||
vin-sm1-supply = <&sys_reg>;
|
||||
vin-sm2-supply = <&sys_reg>;
|
||||
vinldo01-supply = <&sm2_reg>;
|
||||
vinldo23-supply = <&vdd_3v3_reg>;
|
||||
vinldo4-supply = <&vdd_3v3_reg>;
|
||||
vinldo678-supply = <&vdd_3v3_reg>;
|
||||
vinldo9-supply = <&vdd_3v3_reg>;
|
||||
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 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
sys_reg: regulator@0 {
|
||||
reg = <0>;
|
||||
regulator-compatible = "sys";
|
||||
regulator-name = "vdd_sys";
|
||||
reg_3v3_vsys: sys {
|
||||
regulator-name = "VSYS_3.3V";
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
regulator@1 {
|
||||
reg = <1>;
|
||||
regulator-compatible = "sm0";
|
||||
regulator-name = "vdd_sm0,vdd_core";
|
||||
sm0 {
|
||||
regulator-name = "VDD_CORE_1.2V";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
regulator@2 {
|
||||
reg = <2>;
|
||||
regulator-compatible = "sm1";
|
||||
regulator-name = "vdd_sm1,vdd_cpu";
|
||||
sm1 {
|
||||
regulator-name = "VDD_CPU_1.0V";
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <1000000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
sm2_reg: regulator@3 {
|
||||
reg = <3>;
|
||||
regulator-compatible = "sm2";
|
||||
regulator-name = "vdd_sm2,vin_ldo*";
|
||||
reg_1v8_vdd_ddr2: sm2 {
|
||||
regulator-name = "VDD_DDR2_1.8V";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
|
@ -316,80 +518,68 @@ sm2_reg: regulator@3 {
|
|||
|
||||
/* LDO0 is not connected to anything */
|
||||
|
||||
regulator@5 {
|
||||
reg = <5>;
|
||||
regulator-compatible = "ldo1";
|
||||
regulator-name = "vdd_ldo1,avdd_pll*";
|
||||
/*
|
||||
* +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;
|
||||
};
|
||||
|
||||
regulator@6 {
|
||||
reg = <6>;
|
||||
regulator-compatible = "ldo2";
|
||||
regulator-name = "vdd_ldo2,vdd_rtc";
|
||||
ldo2 {
|
||||
regulator-name = "VDD_RTC_1.2V";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
};
|
||||
|
||||
/* LDO3 is not connected to anything */
|
||||
|
||||
regulator@8 {
|
||||
reg = <8>;
|
||||
regulator-compatible = "ldo4";
|
||||
regulator-name = "vdd_ldo4,avdd_osc,vddio_sys";
|
||||
ldo4 {
|
||||
regulator-name = "VDDIO_SYS_1.8V";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo5_reg: regulator@9 {
|
||||
reg = <9>;
|
||||
regulator-compatible = "ldo5";
|
||||
regulator-name = "vdd_ldo5,vdd_fuse";
|
||||
/* Switched via FET from regular +3.3V */
|
||||
ldo5 {
|
||||
regulator-name = "+3.3V_USB";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
regulator@10 {
|
||||
reg = <10>;
|
||||
regulator-compatible = "ldo6";
|
||||
regulator-name = "vdd_ldo6,avdd_vdac,vddio_vi,vddio_cam";
|
||||
ldo6 {
|
||||
regulator-name = "AVDD_VDAC_2.85V";
|
||||
regulator-min-microvolt = <2850000>;
|
||||
regulator-max-microvolt = <2850000>;
|
||||
};
|
||||
|
||||
hdmi_vdd_reg: regulator@11 {
|
||||
reg = <11>;
|
||||
regulator-compatible = "ldo7";
|
||||
regulator-name = "vdd_ldo7,avdd_hdmi";
|
||||
reg_3v3_avdd_hdmi: ldo7 {
|
||||
regulator-name = "AVDD_HDMI_3.3V";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
hdmi_pll_reg: regulator@12 {
|
||||
reg = <12>;
|
||||
regulator-compatible = "ldo8";
|
||||
regulator-name = "vdd_ldo8,avdd_hdmi_pll";
|
||||
reg_1v8_avdd_hdmi_pll: ldo8 {
|
||||
regulator-name = "AVDD_HDMI_PLL_1.8V";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
|
||||
regulator@13 {
|
||||
reg = <13>;
|
||||
regulator-compatible = "ldo9";
|
||||
regulator-name = "vdd_ldo9,avdd_2v85,vdd_ddr_rx";
|
||||
ldo9 {
|
||||
regulator-name = "VDDIO_RX_DDR_2.85V";
|
||||
regulator-min-microvolt = <2850000>;
|
||||
regulator-max-microvolt = <2850000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
regulator@14 {
|
||||
reg = <14>;
|
||||
regulator-compatible = "ldo_rtc";
|
||||
regulator-name = "vdd_rtc_out,vdd_cell";
|
||||
ldo_rtc {
|
||||
regulator-name = "VCC_BATT";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
|
@ -397,7 +587,8 @@ regulator@14 {
|
|||
};
|
||||
};
|
||||
|
||||
temperature-sensor@4c {
|
||||
/* LM95245 temperature sensor */
|
||||
temp-sensor@4c {
|
||||
compatible = "national,lm95245";
|
||||
reg = <0x4c>;
|
||||
};
|
||||
|
@ -410,6 +601,14 @@ pmc@7000e400 {
|
|||
nvidia,core-pwr-good-time = <3845 3845>;
|
||||
nvidia,core-pwr-off-time = <3875>;
|
||||
nvidia,sys-clock-req-active-high;
|
||||
|
||||
/* 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 {
|
||||
|
@ -483,79 +682,87 @@ emc-table@333000 {
|
|||
};
|
||||
};
|
||||
|
||||
/* EHCI instance 1: ULPI PHY -> AX88772B (On-module) */
|
||||
usb@c5004000 {
|
||||
status = "okay";
|
||||
nvidia,phy-reset-gpio = <&gpio TEGRA_GPIO(V, 1)
|
||||
GPIO_ACTIVE_LOW>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
asix@1 {
|
||||
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>;
|
||||
nvidia,phy-reset-gpio =
|
||||
<&gpio TEGRA_GPIO(V, 1) GPIO_ACTIVE_LOW>;
|
||||
vbus-supply = <®_lan_v_bus>;
|
||||
};
|
||||
|
||||
sdhci@c8000600 {
|
||||
cd-gpios = <&gpio TEGRA_GPIO(C, 7) GPIO_ACTIVE_LOW>;
|
||||
clk32k_in: xtal3 {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <32768>;
|
||||
};
|
||||
|
||||
clocks {
|
||||
compatible = "simple-bus";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
clk32k_in: clock@0 {
|
||||
compatible = "fixed-clock";
|
||||
reg = <0>;
|
||||
#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>;
|
||||
};
|
||||
|
||||
regulators {
|
||||
compatible = "simple-bus";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
vdd_3v3_reg: regulator@100 {
|
||||
compatible = "regulator-fixed";
|
||||
reg = <100>;
|
||||
regulator-name = "vdd_3v3";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
regulator@101 {
|
||||
compatible = "regulator-fixed";
|
||||
reg = <101>;
|
||||
regulator-name = "internal_usb";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
enable-active-high;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
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 = "Colibri T20 AC97 Audio";
|
||||
|
||||
"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 = <&ac97>;
|
||||
|
||||
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";
|
||||
};
|
||||
};
|
||||
|
||||
&gpio {
|
||||
lan-reset-n {
|
||||
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 {
|
||||
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 {
|
||||
gpio-hog;
|
||||
gpios = <TEGRA_GPIO(T, 6) GPIO_ACTIVE_HIGH>;
|
||||
output-low;
|
||||
line-name = "Not tri-state RDnWR";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -303,7 +303,7 @@ nvec@7000c500 {
|
|||
request-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_HIGH>;
|
||||
slave-addr = <138>;
|
||||
clocks = <&tegra_car TEGRA20_CLK_I2C3>,
|
||||
<&tegra_car TEGRA20_CLK_PLL_P_OUT3>;
|
||||
<&tegra_car TEGRA20_CLK_PLL_P_OUT3>;
|
||||
clock-names = "div-clk", "fast-clk";
|
||||
resets = <&tegra_car 67>;
|
||||
reset-names = "i2c";
|
||||
|
@ -524,10 +524,10 @@ clk32k_in: clock@0 {
|
|||
gpio-keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
power {
|
||||
label = "Power";
|
||||
wakeup {
|
||||
label = "Wakeup";
|
||||
gpios = <&gpio TEGRA_GPIO(J, 7) GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_POWER>;
|
||||
linux,code = <KEY_WAKEUP>;
|
||||
wakeup-source;
|
||||
};
|
||||
};
|
||||
|
@ -599,8 +599,8 @@ sound {
|
|||
GPIO_ACTIVE_HIGH>;
|
||||
|
||||
clocks = <&tegra_car TEGRA20_CLK_PLL_A>,
|
||||
<&tegra_car TEGRA20_CLK_PLL_A_OUT0>,
|
||||
<&tegra_car TEGRA20_CLK_CDEV1>;
|
||||
<&tegra_car TEGRA20_CLK_PLL_A_OUT0>,
|
||||
<&tegra_car TEGRA20_CLK_CDEV1>;
|
||||
clock-names = "pll_a", "pll_a_out0", "mclk";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -419,19 +419,6 @@ uarte: serial@70006400 {
|
|||
status = "disabled";
|
||||
};
|
||||
|
||||
gmi@70009000 {
|
||||
compatible = "nvidia,tegra20-gmi";
|
||||
reg = <0x70009000 0x1000>;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0 0 0xd0000000 0xfffffff>;
|
||||
clocks = <&tegra_car TEGRA20_CLK_NOR>;
|
||||
clock-names = "gmi";
|
||||
resets = <&tegra_car 42>;
|
||||
reset-names = "gmi";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
nand-controller@70008000 {
|
||||
compatible = "nvidia,tegra20-nand";
|
||||
reg = <0x70008000 0x100>;
|
||||
|
@ -447,6 +434,19 @@ nand-controller@70008000 {
|
|||
status = "disabled";
|
||||
};
|
||||
|
||||
gmi@70009000 {
|
||||
compatible = "nvidia,tegra20-gmi";
|
||||
reg = <0x70009000 0x1000>;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0 0 0xd0000000 0xfffffff>;
|
||||
clocks = <&tegra_car TEGRA20_CLK_NOR>;
|
||||
clock-names = "gmi";
|
||||
resets = <&tegra_car 42>;
|
||||
reset-names = "gmi";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
pwm: pwm@7000a000 {
|
||||
compatible = "nvidia,tegra20-pwm";
|
||||
reg = <0x7000a000 0x100>;
|
||||
|
@ -865,5 +865,7 @@ pmu {
|
|||
compatible = "arm,cortex-a9-pmu";
|
||||
interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-affinity = <&{/cpus/cpu@0}>,
|
||||
<&{/cpus/cpu@1}>;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -6,11 +6,12 @@
|
|||
|
||||
/ {
|
||||
model = "Toradex Apalis T30 on Apalis Evaluation Board";
|
||||
compatible = "toradex,apalis_t30-eval", "toradex,apalis_t30", "nvidia,tegra30";
|
||||
compatible = "toradex,apalis_t30-eval", "toradex,apalis_t30",
|
||||
"nvidia,tegra30";
|
||||
|
||||
aliases {
|
||||
rtc0 = "/i2c@7000c000/rtc@68";
|
||||
rtc1 = "/i2c@7000d000/tps65911@2d";
|
||||
rtc1 = "/i2c@7000d000/pmic@2d";
|
||||
rtc2 = "/rtc@7000e000";
|
||||
serial0 = &uarta;
|
||||
serial1 = &uartb;
|
||||
|
@ -23,8 +24,6 @@ chosen {
|
|||
};
|
||||
|
||||
pcie@3000 {
|
||||
status = "okay";
|
||||
|
||||
pci@1,0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -32,10 +31,6 @@ pci@1,0 {
|
|||
pci@2,0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
pci@3,0 {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
host1x@50000000 {
|
||||
|
@ -45,27 +40,30 @@ rgb {
|
|||
nvidia,panel = <&panel>;
|
||||
};
|
||||
};
|
||||
|
||||
hdmi@54280000 {
|
||||
status = "okay";
|
||||
hdmi-supply = <®_5v0>;
|
||||
};
|
||||
};
|
||||
|
||||
/* Apalis UART1 */
|
||||
serial@70006000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Apalis UART2 */
|
||||
serial@70006040 {
|
||||
compatible = "nvidia,tegra30-hsuart";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Apalis UART3 */
|
||||
serial@70006200 {
|
||||
compatible = "nvidia,tegra30-hsuart";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Apalis UART4 */
|
||||
serial@70006300 {
|
||||
compatible = "nvidia,tegra30-hsuart";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -99,13 +97,13 @@ rtc@68 {
|
|||
* CAM_I2C: I2C3_SDA/SCL on MXM3 pin 201/203 (e.g. camera sensor on
|
||||
* carrier board)
|
||||
*/
|
||||
cami2c: i2c@7000c500 {
|
||||
i2c@7000c500 {
|
||||
status = "okay";
|
||||
clock-frequency = <400000>;
|
||||
};
|
||||
|
||||
/* DDC: I2C2_SDA/SCL on MXM3 pin 205/207 (e.g. display EDID) */
|
||||
hdmiddc: i2c@7000c700 {
|
||||
i2c@7000c700 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -113,29 +111,16 @@ hdmiddc: i2c@7000c700 {
|
|||
spi@7000d400 {
|
||||
status = "okay";
|
||||
spi-max-frequency = <25000000>;
|
||||
spidev0: spidev@1 {
|
||||
compatible = "spidev";
|
||||
reg = <1>;
|
||||
spi-max-frequency = <25000000>;
|
||||
};
|
||||
};
|
||||
|
||||
/* SPI5: Apalis SPI2 */
|
||||
spi@7000dc00 {
|
||||
status = "okay";
|
||||
spi-max-frequency = <25000000>;
|
||||
spidev1: spidev@2 {
|
||||
compatible = "spidev";
|
||||
reg = <2>;
|
||||
spi-max-frequency = <25000000>;
|
||||
};
|
||||
};
|
||||
|
||||
hda@70030000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
sd1: sdhci@78000000 {
|
||||
/* Apalis SD1 */
|
||||
sdhci@78000000 {
|
||||
status = "okay";
|
||||
bus-width = <4>;
|
||||
/* SD1_CD# */
|
||||
|
@ -143,7 +128,8 @@ sd1: sdhci@78000000 {
|
|||
no-1-8-v;
|
||||
};
|
||||
|
||||
mmc1: sdhci@78000400 {
|
||||
/* Apalis MMC1 */
|
||||
sdhci@78000400 {
|
||||
status = "okay";
|
||||
bus-width = <8>;
|
||||
/* MMC1_CD# */
|
||||
|
@ -154,12 +140,12 @@ mmc1: sdhci@78000400 {
|
|||
/* EHCI instance 0: USB1_DP/N -> USBO1_DP/N */
|
||||
usb@7d000000 {
|
||||
status = "okay";
|
||||
dr_mode = "otg";
|
||||
};
|
||||
|
||||
usb-phy@7d000000 {
|
||||
status = "okay";
|
||||
dr_mode = "otg";
|
||||
vbus-supply = <&usbo1_vbus_reg>;
|
||||
vbus-supply = <®_usbo1_vbus>;
|
||||
};
|
||||
|
||||
/* EHCI instance 1: USB2_DP/N -> USBH2_DP/N */
|
||||
|
@ -169,7 +155,7 @@ usb@7d004000 {
|
|||
|
||||
usb-phy@7d004000 {
|
||||
status = "okay";
|
||||
vbus-supply = <&usbh_vbus_reg>;
|
||||
vbus-supply = <®_usbh_vbus>;
|
||||
};
|
||||
|
||||
/* EHCI instance 2: USB3_DP/N -> USBH3_DP/N */
|
||||
|
@ -179,18 +165,17 @@ usb@7d008000 {
|
|||
|
||||
usb-phy@7d008000 {
|
||||
status = "okay";
|
||||
vbus-supply = <&usbh_vbus_reg>;
|
||||
vbus-supply = <®_usbh_vbus>;
|
||||
};
|
||||
|
||||
backlight: backlight {
|
||||
compatible = "pwm-backlight";
|
||||
|
||||
/* PWM_BKL1 */
|
||||
pwms = <&pwm 0 5000000>;
|
||||
brightness-levels = <255 231 223 207 191 159 127 0>;
|
||||
default-brightness-level = <6>;
|
||||
/* BKL1_ON */
|
||||
enable-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_HIGH>;
|
||||
power-supply = <®_3v3>;
|
||||
pwms = <&pwm 0 5000000>; /* BKL1_PWM */
|
||||
};
|
||||
|
||||
gpio-keys {
|
||||
|
@ -211,64 +196,53 @@ panel: panel {
|
|||
* edt,et070080dh6: EDT 7.0" LCD TFT
|
||||
*/
|
||||
compatible = "edt,et057090dhu", "simple-panel";
|
||||
|
||||
backlight = <&backlight>;
|
||||
power-supply = <®_3v3>;
|
||||
};
|
||||
|
||||
pwmleds {
|
||||
compatible = "pwm-leds";
|
||||
|
||||
pwm1 {
|
||||
label = "PWM1";
|
||||
pwms = <&pwm 3 19600>;
|
||||
max-brightness = <255>;
|
||||
};
|
||||
|
||||
pwm2 {
|
||||
label = "PWM2";
|
||||
pwms = <&pwm 2 19600>;
|
||||
max-brightness = <255>;
|
||||
};
|
||||
|
||||
pwm3 {
|
||||
label = "PWM3";
|
||||
pwms = <&pwm 1 19600>;
|
||||
max-brightness = <255>;
|
||||
};
|
||||
reg_3v3: regulator-3v3 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "3.3V_SW";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
regulators {
|
||||
sys_5v0_reg: regulator@1 {
|
||||
compatible = "regulator-fixed";
|
||||
reg = <1>;
|
||||
regulator-name = "5v0";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
reg_5v0: regulator-5v0 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "5V_SW";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
};
|
||||
|
||||
/* USBO1_EN */
|
||||
usbo1_vbus_reg: regulator@2 {
|
||||
compatible = "regulator-fixed";
|
||||
reg = <2>;
|
||||
regulator-name = "usbo1_vbus";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
gpio = <&gpio TEGRA_GPIO(T, 5) GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
vin-supply = <&sys_5v0_reg>;
|
||||
};
|
||||
/* USBO1_EN */
|
||||
reg_usbo1_vbus: regulator-usbo1-vbus {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "VCC_USBO1";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
gpio = <&gpio TEGRA_GPIO(T, 5) GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
vin-supply = <®_5v0>;
|
||||
};
|
||||
|
||||
/* USBH_EN */
|
||||
usbh_vbus_reg: regulator@3 {
|
||||
compatible = "regulator-fixed";
|
||||
reg = <3>;
|
||||
regulator-name = "usbh_vbus";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
gpio = <&gpio TEGRA_GPIO(DD, 1) GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
vin-supply = <&sys_5v0_reg>;
|
||||
};
|
||||
/* USBH_EN */
|
||||
reg_usbh_vbus: regulator-usbh-vbus {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "VCC_USBH(2A|2C|2D|3|4)";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
gpio = <&gpio TEGRA_GPIO(DD, 1) GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
vin-supply = <®_5v0>;
|
||||
};
|
||||
};
|
||||
|
||||
&gpio {
|
||||
/* Apalis GPIO7 MXM3 pin 15 PLX PEX 8605 PCIe Switch Reset */
|
||||
pex-perst-n {
|
||||
gpio-hog;
|
||||
gpios = <TEGRA_GPIO(S, 7) GPIO_ACTIVE_HIGH>;
|
||||
output-high;
|
||||
line-name = "PEX_PERST_N";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -0,0 +1,266 @@
|
|||
// SPDX-License-Identifier: GPL-2.0 OR MIT
|
||||
/dts-v1/;
|
||||
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include "tegra30-apalis-v1.1.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Toradex Apalis T30 on Apalis Evaluation Board";
|
||||
compatible = "toradex,apalis_t30-v1.1-eval", "toradex,apalis_t30-eval",
|
||||
"toradex,apalis_t30-v1.1", "toradex,apalis_t30",
|
||||
"nvidia,tegra30";
|
||||
|
||||
aliases {
|
||||
rtc0 = "/i2c@7000c000/rtc@68";
|
||||
rtc1 = "/i2c@7000d000/pmic@2d";
|
||||
rtc2 = "/rtc@7000e000";
|
||||
serial0 = &uarta;
|
||||
serial1 = &uartb;
|
||||
serial2 = &uartc;
|
||||
serial3 = &uartd;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
pcie@3000 {
|
||||
pci@1,0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
pci@2,0 {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
host1x@50000000 {
|
||||
dc@54200000 {
|
||||
rgb {
|
||||
status = "okay";
|
||||
nvidia,panel = <&panel>;
|
||||
};
|
||||
};
|
||||
|
||||
hdmi@54280000 {
|
||||
status = "okay";
|
||||
hdmi-supply = <®_5v0>;
|
||||
};
|
||||
};
|
||||
|
||||
/* Apalis UART1 */
|
||||
serial@70006000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Apalis UART2 */
|
||||
serial@70006040 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Apalis UART3 */
|
||||
serial@70006200 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Apalis UART4 */
|
||||
serial@70006300 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
pwm@7000a000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/*
|
||||
* GEN1_I2C: I2C1_SDA/SCL on MXM3 pin 209/211 (e.g. RTC on carrier
|
||||
* board)
|
||||
*/
|
||||
i2c@7000c000 {
|
||||
status = "okay";
|
||||
clock-frequency = <400000>;
|
||||
|
||||
pcie-switch@58 {
|
||||
compatible = "plx,pex8605";
|
||||
reg = <0x58>;
|
||||
};
|
||||
|
||||
/* M41T0M6 real time clock on carrier board */
|
||||
rtc@68 {
|
||||
compatible = "st,m41t0";
|
||||
reg = <0x68>;
|
||||
};
|
||||
};
|
||||
|
||||
/* GEN2_I2C: unused */
|
||||
|
||||
/*
|
||||
* CAM_I2C: I2C3_SDA/SCL on MXM3 pin 201/203 (e.g. camera sensor on
|
||||
* carrier board)
|
||||
*/
|
||||
i2c@7000c500 {
|
||||
status = "okay";
|
||||
clock-frequency = <400000>;
|
||||
};
|
||||
|
||||
/* DDC: I2C2_SDA/SCL on MXM3 pin 205/207 (e.g. display EDID) */
|
||||
i2c@7000c700 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* SPI1: Apalis SPI1 */
|
||||
spi@7000d400 {
|
||||
status = "okay";
|
||||
spi-max-frequency = <25000000>;
|
||||
};
|
||||
|
||||
/* SPI5: Apalis SPI2 */
|
||||
spi@7000dc00 {
|
||||
status = "okay";
|
||||
spi-max-frequency = <25000000>;
|
||||
};
|
||||
|
||||
/* Apalis SD1 */
|
||||
sdhci@78000000 {
|
||||
status = "okay";
|
||||
bus-width = <4>;
|
||||
/* SD1_CD# */
|
||||
cd-gpios = <&gpio TEGRA_GPIO(CC, 5) GPIO_ACTIVE_LOW>;
|
||||
no-1-8-v;
|
||||
};
|
||||
|
||||
/* Apalis MMC1 */
|
||||
sdhci@78000400 {
|
||||
status = "okay";
|
||||
bus-width = <8>;
|
||||
/* MMC1_CD# */
|
||||
cd-gpios = <&gpio TEGRA_GPIO(V, 3) GPIO_ACTIVE_LOW>;
|
||||
vqmmc-supply = <®_vddio_sdmmc3>;
|
||||
};
|
||||
|
||||
/* EHCI instance 0: USB1_DP/N -> USBO1_DP/N */
|
||||
usb@7d000000 {
|
||||
status = "okay";
|
||||
dr_mode = "otg";
|
||||
};
|
||||
|
||||
usb-phy@7d000000 {
|
||||
status = "okay";
|
||||
vbus-supply = <®_usbo1_vbus>;
|
||||
};
|
||||
|
||||
/* EHCI instance 1: USB2_DP/N -> USBH2_DP/N */
|
||||
usb@7d004000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
usb-phy@7d004000 {
|
||||
status = "okay";
|
||||
vbus-supply = <®_usbh_vbus>;
|
||||
};
|
||||
|
||||
/* EHCI instance 2: USB3_DP/N -> USBH3_DP/N */
|
||||
usb@7d008000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
usb-phy@7d008000 {
|
||||
status = "okay";
|
||||
vbus-supply = <®_usbh_vbus>;
|
||||
};
|
||||
|
||||
backlight: backlight {
|
||||
compatible = "pwm-backlight";
|
||||
brightness-levels = <255 231 223 207 191 159 127 0>;
|
||||
default-brightness-level = <6>;
|
||||
/* BKL1_ON */
|
||||
enable-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_HIGH>;
|
||||
power-supply = <®_3v3>;
|
||||
pwms = <&pwm 0 5000000>; /* BKL1_PWM */
|
||||
};
|
||||
|
||||
gpio-keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
wakeup {
|
||||
label = "WAKE1_MICO";
|
||||
gpios = <&gpio TEGRA_GPIO(V, 1) GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_WAKEUP>;
|
||||
debounce-interval = <10>;
|
||||
wakeup-source;
|
||||
};
|
||||
};
|
||||
|
||||
panel: panel {
|
||||
/*
|
||||
* edt,et057090dhu: EDT 5.7" LCD TFT
|
||||
* edt,et070080dh6: EDT 7.0" LCD TFT
|
||||
*/
|
||||
compatible = "edt,et057090dhu", "simple-panel";
|
||||
backlight = <&backlight>;
|
||||
power-supply = <®_3v3>;
|
||||
};
|
||||
|
||||
reg_3v3: regulator-3v3 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "3.3V_SW";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
reg_5v0: regulator-5v0 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "5V_SW";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
};
|
||||
|
||||
/* USBO1_EN */
|
||||
reg_usbo1_vbus: regulator-usbo1-vbus {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "VCC_USBO1";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
gpio = <&gpio TEGRA_GPIO(T, 5) GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
vin-supply = <®_5v0>;
|
||||
};
|
||||
|
||||
/* USBH_EN */
|
||||
reg_usbh_vbus: regulator-usbh-vbus {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "VCC_USBH(2A|2C|2D|3|4)";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
gpio = <&gpio TEGRA_GPIO(DD, 1) GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
vin-supply = <®_5v0>;
|
||||
};
|
||||
|
||||
/*
|
||||
* 1.8 volt resp. 3.3 volt VDDIO_SDMMC3 depending on
|
||||
* EN_+3.3_SDMMC3 GPIO
|
||||
*/
|
||||
reg_vddio_sdmmc3: regulator-vddio-sdmmc3 {
|
||||
compatible = "regulator-gpio";
|
||||
regulator-name = "VDDIO_SDMMC3";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-type = "voltage";
|
||||
gpios = <&gpio TEGRA_GPIO(J, 5) GPIO_ACTIVE_HIGH>;
|
||||
states = <1800000 0x0
|
||||
3300000 0x1>;
|
||||
startup-delay-us = <100000>;
|
||||
vin-supply = <&vddio_sdmmc_1v8_reg>;
|
||||
};
|
||||
};
|
||||
|
||||
&gpio {
|
||||
/* Apalis GPIO7 MXM3 pin 15 PLX PEX 8605 PCIe Switch Reset */
|
||||
pex-perst-n {
|
||||
gpio-hog;
|
||||
gpios = <TEGRA_GPIO(S, 7) GPIO_ACTIVE_HIGH>;
|
||||
output-high;
|
||||
line-name = "PEX_PERST_N";
|
||||
};
|
||||
};
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,15 +1,17 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
/dts-v1/;
|
||||
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include "tegra30-colibri.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Toradex Colibri T30 on Colibri Evaluation Board";
|
||||
compatible = "toradex,colibri_t30-eval-v3", "toradex,colibri_t30", "nvidia,tegra30";
|
||||
compatible = "toradex,colibri_t30-eval-v3", "toradex,colibri_t30",
|
||||
"nvidia,tegra30";
|
||||
|
||||
aliases {
|
||||
rtc0 = "/i2c@7000c000/rtc@68";
|
||||
rtc1 = "/i2c@7000d000/tps65911@2d";
|
||||
rtc1 = "/i2c@7000d000/pmic@2d";
|
||||
rtc2 = "/rtc@7000e000";
|
||||
serial0 = &uarta;
|
||||
serial1 = &uartb;
|
||||
|
@ -27,22 +29,25 @@ rgb {
|
|||
nvidia,panel = <&panel>;
|
||||
};
|
||||
};
|
||||
|
||||
hdmi@54280000 {
|
||||
status = "okay";
|
||||
hdmi-supply = <®_5v0>;
|
||||
};
|
||||
};
|
||||
|
||||
/* Colibri UART-A */
|
||||
serial@70006000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Colibri UART-C */
|
||||
serial@70006040 {
|
||||
compatible = "nvidia,tegra30-hsuart";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Colibri UART-B */
|
||||
serial@70006300 {
|
||||
compatible = "nvidia,tegra30-hsuart";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -65,8 +70,12 @@ rtc@68 {
|
|||
};
|
||||
};
|
||||
|
||||
/* GEN2_I2C: unused */
|
||||
|
||||
/* CAM_I2C (I2C3): unused */
|
||||
|
||||
/* DDC_CLOCK/DATA on X3 pin 15/16 (e.g. display EDID) */
|
||||
hdmiddc: i2c@7000c700 {
|
||||
i2c@7000c700 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -74,18 +83,17 @@ hdmiddc: i2c@7000c700 {
|
|||
spi@7000d400 {
|
||||
status = "okay";
|
||||
spi-max-frequency = <25000000>;
|
||||
can0: can@0 {
|
||||
|
||||
can@0 {
|
||||
compatible = "microchip,mcp2515";
|
||||
reg = <0>;
|
||||
clocks = <&clk16m>;
|
||||
interrupt-parent = <&gpio>;
|
||||
interrupts = <TEGRA_GPIO(S, 0) IRQ_TYPE_EDGE_RISING>;
|
||||
/* CAN_INT */
|
||||
interrupts = <TEGRA_GPIO(S, 0) IRQ_TYPE_EDGE_FALLING>;
|
||||
spi-max-frequency = <10000000>;
|
||||
};
|
||||
spidev0: spi@1 {
|
||||
compatible = "spidev";
|
||||
reg = <1>;
|
||||
spi-max-frequency = <25000000>;
|
||||
vdd-supply = <®_3v3>;
|
||||
xceiver-supply = <®_5v0>;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -93,19 +101,19 @@ spidev0: spi@1 {
|
|||
sdhci@78000200 {
|
||||
status = "okay";
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&gpio TEGRA_GPIO(C, 7) GPIO_ACTIVE_LOW>;
|
||||
cd-gpios = <&gpio TEGRA_GPIO(C, 7) GPIO_ACTIVE_LOW>; /* MMCD */
|
||||
no-1-8-v;
|
||||
};
|
||||
|
||||
/* EHCI instance 0: USB1_DP/N -> USBC_P/N */
|
||||
usb@7d000000 {
|
||||
status = "okay";
|
||||
dr_mode = "otg";
|
||||
};
|
||||
|
||||
usb-phy@7d000000 {
|
||||
status = "okay";
|
||||
dr_mode = "otg";
|
||||
vbus-supply = <&usbc_vbus_reg>;
|
||||
vbus-supply = <®_usbc_vbus>;
|
||||
};
|
||||
|
||||
/* EHCI instance 2: USB3_DP/N -> USBH_P/N */
|
||||
|
@ -115,28 +123,23 @@ usb@7d008000 {
|
|||
|
||||
usb-phy@7d008000 {
|
||||
status = "okay";
|
||||
vbus-supply = <&usbh_vbus_reg>;
|
||||
vbus-supply = <®_usbh_vbus>;
|
||||
};
|
||||
|
||||
backlight: backlight {
|
||||
compatible = "pwm-backlight";
|
||||
|
||||
/* PWM<A> */
|
||||
pwms = <&pwm 0 5000000>;
|
||||
brightness-levels = <255 128 64 32 16 8 4 0>;
|
||||
default-brightness-level = <6>;
|
||||
/* BL_ON */
|
||||
enable-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_HIGH>;
|
||||
power-supply = <®_3v3>;
|
||||
pwms = <&pwm 0 5000000>; /* PWM<A> */
|
||||
};
|
||||
|
||||
clocks {
|
||||
clk16m: clk@1 {
|
||||
compatible = "fixed-clock";
|
||||
reg = <1>;
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <16000000>;
|
||||
clock-output-names = "clk16m";
|
||||
};
|
||||
clk16m: osc3 {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <16000000>;
|
||||
};
|
||||
|
||||
gpio-keys {
|
||||
|
@ -157,58 +160,39 @@ panel: panel {
|
|||
* edt,et070080dh6: EDT 7.0" LCD TFT
|
||||
*/
|
||||
compatible = "edt,et057090dhu", "simple-panel";
|
||||
|
||||
backlight = <&backlight>;
|
||||
power-supply = <®_3v3>;
|
||||
};
|
||||
|
||||
pwmleds {
|
||||
compatible = "pwm-leds";
|
||||
|
||||
pwmb {
|
||||
label = "PWM<B>";
|
||||
pwms = <&pwm 1 19600>;
|
||||
max-brightness = <255>;
|
||||
};
|
||||
pwmc {
|
||||
label = "PWM<C>";
|
||||
pwms = <&pwm 2 19600>;
|
||||
max-brightness = <255>;
|
||||
};
|
||||
pwmd {
|
||||
label = "PWM<D>";
|
||||
pwms = <&pwm 3 19600>;
|
||||
max-brightness = <255>;
|
||||
};
|
||||
reg_3v3: regulator-3v3 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "3.3V_SW";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
regulators {
|
||||
sys_5v0_reg: regulator@1 {
|
||||
compatible = "regulator-fixed";
|
||||
reg = <1>;
|
||||
regulator-name = "5v0";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
reg_5v0: regulator-5v0 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "5V_SW";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
};
|
||||
|
||||
usbc_vbus_reg: regulator@2 {
|
||||
compatible = "regulator-fixed";
|
||||
reg = <2>;
|
||||
regulator-name = "usbc_vbus";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
vin-supply = <&sys_5v0_reg>;
|
||||
};
|
||||
reg_usbc_vbus: regulator-usbc-vbus {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "VCC_USB5";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
vin-supply = <®_5v0>;
|
||||
};
|
||||
|
||||
/* USBH_PEN */
|
||||
usbh_vbus_reg: regulator@3 {
|
||||
compatible = "regulator-fixed";
|
||||
reg = <3>;
|
||||
regulator-name = "usbh_vbus";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
gpio = <&gpio TEGRA_GPIO(W, 2) GPIO_ACTIVE_LOW>;
|
||||
vin-supply = <&sys_5v0_reg>;
|
||||
};
|
||||
/* USBH_PEN resp. USB_P_EN */
|
||||
reg_usbh_vbus: regulator-usbh-vbus {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "VCC_USB[1-4]";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
gpio = <&gpio TEGRA_GPIO(W, 2) GPIO_ACTIVE_LOW>;
|
||||
vin-supply = <®_5v0>;
|
||||
};
|
||||
};
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -896,7 +896,7 @@ phy1: usb-phy@7d000000 {
|
|||
nvidia,elastic-limit = <16>;
|
||||
nvidia,term-range-adj = <6>;
|
||||
nvidia,xcvr-setup = <51>;
|
||||
nvidia.xcvr-setup-use-fuses;
|
||||
nvidia,xcvr-setup-use-fuses;
|
||||
nvidia,xcvr-lsfslew = <1>;
|
||||
nvidia,xcvr-lsrslew = <1>;
|
||||
nvidia,xcvr-hsslew = <32>;
|
||||
|
@ -933,7 +933,7 @@ phy2: usb-phy@7d004000 {
|
|||
nvidia,elastic-limit = <16>;
|
||||
nvidia,term-range-adj = <6>;
|
||||
nvidia,xcvr-setup = <51>;
|
||||
nvidia.xcvr-setup-use-fuses;
|
||||
nvidia,xcvr-setup-use-fuses;
|
||||
nvidia,xcvr-lsfslew = <2>;
|
||||
nvidia,xcvr-lsrslew = <2>;
|
||||
nvidia,xcvr-hsslew = <32>;
|
||||
|
@ -969,7 +969,7 @@ phy3: usb-phy@7d008000 {
|
|||
nvidia,elastic-limit = <16>;
|
||||
nvidia,term-range-adj = <6>;
|
||||
nvidia,xcvr-setup = <51>;
|
||||
nvidia.xcvr-setup-use-fuses;
|
||||
nvidia,xcvr-setup-use-fuses;
|
||||
nvidia,xcvr-lsfslew = <2>;
|
||||
nvidia,xcvr-lsrslew = <2>;
|
||||
nvidia,xcvr-hsslew = <32>;
|
||||
|
@ -1013,5 +1013,9 @@ pmu {
|
|||
<GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-affinity = <&{/cpus/cpu@0}>,
|
||||
<&{/cpus/cpu@1}>,
|
||||
<&{/cpus/cpu@2}>,
|
||||
<&{/cpus/cpu@3}>;
|
||||
};
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue