2018-09-02 12:09:06 +02:00
|
|
|
// 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>;
|
|
|
|
};
|
|
|
|
|
2021-12-07 11:27:46 +01:00
|
|
|
sdc {
|
2018-09-02 12:09:06 +02:00
|
|
|
nvidia,tristate = <TEGRA_PIN_DISABLE>;
|
|
|
|
};
|
|
|
|
|
2021-12-07 11:27:46 +01:00
|
|
|
sdb_sdd {
|
2018-09-02 12:09:06 +02:00
|
|
|
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 {
|
2023-07-17 18:33:27 +02:00
|
|
|
/delete-property/ dmas;
|
|
|
|
/delete-property/ dma-names;
|
2018-09-02 12:09:06 +02:00
|
|
|
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";
|
|
|
|
};
|
|
|
|
|
ARM: tegra: Sort nodes by unit-address, then alphabetically
Nodes in device tree should be sorted by unit-address, followed by nodes
without a unit-address, sorted alphabetically. Some exceptions are the
top-level aliases, chosen, firmware, memory and reserved-memory nodes,
which are expected to come first.
These rules apply recursively with some exceptions, such as pinmux nodes
or regulator nodes, which often follow more complicated ordering (often
by "importance").
While at it, change the name of some of the nodes to follow standard
naming conventions, which helps with the sorting order and reduces the
amount of warnings from the DT validation tools.
Signed-off-by: Thierry Reding <treding@nvidia.com>
2022-11-22 11:21:18 +01:00
|
|
|
/* 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>;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2018-09-02 12:09:06 +02:00
|
|
|
/* 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>;
|
|
|
|
};
|
|
|
|
|
|
|
|
/* SD/MMC */
|
2020-06-11 19:21:17 +02:00
|
|
|
mmc@c8000600 {
|
2018-09-02 12:09:06 +02:00
|
|
|
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> */
|
|
|
|
};
|
|
|
|
|
ARM: tegra: Sort nodes by unit-address, then alphabetically
Nodes in device tree should be sorted by unit-address, followed by nodes
without a unit-address, sorted alphabetically. Some exceptions are the
top-level aliases, chosen, firmware, memory and reserved-memory nodes,
which are expected to come first.
These rules apply recursively with some exceptions, such as pinmux nodes
or regulator nodes, which often follow more complicated ordering (often
by "importance").
While at it, change the name of some of the nodes to follow standard
naming conventions, which helps with the sorting order and reduces the
amount of warnings from the DT validation tools.
Signed-off-by: Thierry Reding <treding@nvidia.com>
2022-11-22 11:21:18 +01:00
|
|
|
clk16m: clock-osc3 {
|
2018-09-02 12:09:06 +02:00
|
|
|
compatible = "fixed-clock";
|
|
|
|
#clock-cells = <0>;
|
|
|
|
clock-frequency = <16000000>;
|
|
|
|
};
|
|
|
|
|
|
|
|
gpio-keys {
|
|
|
|
compatible = "gpio-keys";
|
|
|
|
|
2022-06-15 17:53:13 -07:00
|
|
|
key-wakeup {
|
2018-09-02 12:09:06 +02:00
|
|
|
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
|
|
|
|
*/
|
2020-01-17 17:08:55 -06:00
|
|
|
compatible = "edt,et057090dhu";
|
2018-09-02 12:09:06 +02:00
|
|
|
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>;
|
|
|
|
};
|
|
|
|
};
|