summaryrefslogtreecommitdiff
path: root/arch/arm/boot/dts/tegra124-apalis-eval.dts
diff options
context:
space:
mode:
authorMarcel Ziswiler <marcel.ziswiler@toradex.com>2016-06-06 16:54:42 +0200
committerMarcel Ziswiler <marcel.ziswiler@toradex.com>2016-06-29 16:49:35 +0200
commiteeb6061f4b93cdd2c946e354ff69224163636282 (patch)
treec0332fd3e31f147d1141fa0f982ef54ae8b87d4f /arch/arm/boot/dts/tegra124-apalis-eval.dts
parent4d58a5bc83475c1ca5f9990cf9bfeba5b2fe3bbc (diff)
arm: tegra: initial support for apalis tk1Apalis_TK1_LinuxImageV2.6Beta2_20160701
This patch adds support for the Toradex Apalis TK1 acomputer on module which can be used on different carrier boards. The module consists of a Tegra TK1 SoC, a PMIC solution, 2 GB of DDR3L RAM, a bunch of level shifters, an eMMC, a TMP451 temperature sensor chip, an I210 gigabit Ethernet controller and a SGTL5000 audio codec. Furthermore, there is a Kinetis MK20DN512 companion micro controller for analogue, CAN and resistive touch functionality which is not yet supported. This is known to boot into either a basic Angstrom/OpenEmbedded/Yocto or L4T/JetPack Ubuntu based image. The following things are known to work to a certain extend: - analogue/digital audio - debug UART1 - DVFS power management incl. low power core migration - eMMC - gigabit Ethernet - GPIOs - HDMI (incl. HDA audio) - I2C - LVDS - PCIe - SATA - SD/MMC cards - temperature sensor - USB host ports The rest is untested. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
Diffstat (limited to 'arch/arm/boot/dts/tegra124-apalis-eval.dts')
-rw-r--r--arch/arm/boot/dts/tegra124-apalis-eval.dts189
1 files changed, 189 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/tegra124-apalis-eval.dts b/arch/arm/boot/dts/tegra124-apalis-eval.dts
new file mode 100644
index 000000000000..3adee39e0a4e
--- /dev/null
+++ b/arch/arm/boot/dts/tegra124-apalis-eval.dts
@@ -0,0 +1,189 @@
+/dts-v1/;
+
+#include "tegra124.dtsi"
+#include "tegra124-platforms/tegra124-apalis-keys.dtsi"
+#include "tegra124-platforms/tegra124-apalis-gpio.dtsi"
+#include "tegra124-platforms/tegra124-apalis-pinmux.dtsi"
+#include "tegra124-platforms/tegra124-apalis-pmic.dtsi"
+#include "tegra124-platforms/tegra124-apalis-fixed.dtsi"
+
+/ {
+ model = "Toradex Apalis TK1";
+ compatible = "toradex,apalis-tk1", "nvidia,tegra124";
+ nvidia,dtsfilename = __FILE__;
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ chosen {
+ bootargs = "tegraid=40.0.0.00.00 vmalloc=256M video=tegrafb console=ttyS0,115200n8 earlyprintk";
+ };
+
+ psci {
+ status = "disabled";
+ };
+
+ /* TBD */
+ pinmux {
+ pinctrl-names = "default", "drive", "unused", "suspend";
+ pinctrl-3 = <&pinmux_suspend>;
+
+ /* Change the pin dap_mclk1_req to required configurations */
+ unused_lowpower {
+ dap_mclk1_req_pee2 {
+ nvidia,pins = "dap_mclk1_req_pee2";
+ nvidia,function = "sata";
+ nvidia,enable-input = <TEGRA_PIN_DISABLE>;
+ nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+ nvidia,tristate = <TEGRA_PIN_DISABLE>;
+ };
+ };
+
+ /* On suspend, make dap_mclk1_req to pull up */
+ pinmux_suspend: pins_on_suspend {
+ dap_mclk1_req_pee2 {
+ nvidia,pins = "dap_mclk1_req_pee2";
+ nvidia,pull = <TEGRA_PIN_PULL_UP>;
+ };
+ };
+ };
+
+ /* Apalis UART1 */
+ serial@70006000 {
+ compatible = "nvidia,tegra114-uart", "nvidia,tegra20-uart";
+ status = "okay";
+ };
+
+ /* Apalis UART2 */
+ serial@70006040 {
+ compatible = "nvidia,tegra114-hsuart";
+ status = "okay";
+ };
+
+ /* Apalis UART3 */
+ serial@70006200 {
+ compatible = "nvidia,tegra114-hsuart";
+ status = "okay";
+ };
+
+/* TBD: Apalis UART4
+ serial@70006300 {
+ compatible = "nvidia,tegra114-hsuart";
+ status = "okay";
+ };
+*/
+ /* PWR_I2C: power I2C to audio codec, PMIC and temperature sensor */
+ i2c@7000d000 {
+ nvidia,bit-banging-xfer-after-shutdown;
+ };
+
+ memory@0x80000000 {
+ device_type = "memory";
+ reg = <0x0 0x80000000 0x0 0x80000000>;
+ };
+
+ /* TBD */
+ camera-pcl {
+ profiles {
+ ov4689@2_0036 {
+ use_of_node = "yes";
+ reset-gpios = <&gpio TEGRA_GPIO(BB, 3) 0>;
+ cam1-gpios = <&gpio TEGRA_GPIO(BB, 5) 0>;
+ };
+ imx185@2_001A {
+ use-of-node = "yes";
+ cam1-gpios = <&gpio TEGRA_GPIO(BB, 5) 0>;
+ };
+ };
+ dpd {
+ default-enable;
+ };
+ };
+
+ /* SPI1: Apalis SPI1 */
+ spi@7000d400 {
+ status = "okay";
+ spi-max-frequency = <25000000>;
+
+ spidev0: spidev@0 {
+ compatible = "spidev";
+ reg = <0>;
+ spi-max-frequency = <25000000>;
+ };
+ };
+
+ /* SPI2: MCU SPI */
+ spi@7000d600 {
+ status = "okay";
+ spi-max-frequency = <25000000>;
+
+ spidev1: spidev@1 {
+ compatible = "spidev";
+ reg = <1>;
+ spi-max-frequency = <12000000>;
+ };
+
+ spidev2: spidev@2 {
+ compatible = "spidev";
+ reg = <2>;
+ spi-max-frequency = <2000000>;
+ };
+ };
+
+ /* SPI4: Apalis SPI2 */
+ spi@7000da00 {
+ status = "okay";
+ spi-max-frequency = <25000000>;
+
+ spidev3: spidev@0 {
+ compatible = "spidev";
+ reg = <0>;
+ spi-max-frequency = <25000000>;
+ };
+ };
+
+ pmc {
+ status = "okay";
+ nvidia,invert-interrupt;
+ nvidia,suspend-mode = <0>;
+ nvidia,cpu-pwr-good-time = <500>;
+ nvidia,cpu-pwr-off-time = <300>;
+ nvidia,core-pwr-good-time = <3845 3845>;
+ nvidia,core-pwr-off-time = <2000>;
+ nvidia,core-power-req-active-high;
+ nvidia,sys-clock-req-active-high;
+ nvidia,lp0-vec = <0xf46ff000 2064>;
+ };
+
+ pcie-controller {
+ nvidia,port0_status = <1>;
+ nvidia,port1_status = <1>;
+ status = "okay";
+ };
+
+ sata@0x70020000 {
+ nvidia,enable-sata-port;
+ nvidia,sata-connector-type=<STANDARD_SATA>;
+ vdd_sata-supply = <&as3722_sd4>;
+ avdd_sata_pll-supply =<&as3722_sd4>;
+ avdd_sata-supply = <&as3722_sd4>;
+ hvdd_sata-supply = <&reg_3v3>;
+ vddio_pex_sata-supply = <&reg_3v3>;
+ status = "okay";
+ };
+
+ /* TBD */
+ xusb@70090000 {
+ /* nvidia,uses_external_pmic;
+ nvidia,gpio_controls_muxed_ss_lanes; */
+ nvidia,gpio_ss1_sata = <0>;
+ nvidia,portmap = <0x0703>; /* SSP0, SSP1 USB2P0, USB2P1, USB2P2 */
+ nvidia,ss_portmap = <0x72>; /* SSP0 on USB2P2 */
+ nvidia,lane_owner = <6>; /* USB3P0 USB3P1 */
+ nvidia,ulpicap = <0>; /* No ulpi support. can we remove */
+ /* nvidia,supply_utmi_vbuses = "usb_vbus0", "usb_vbus1", "usb_vbus2";
+ nvidia,supply_s3p3v = "hvdd_usb";
+ nvidia,supply_s1p8v = "avdd_pll_utmip";
+ nvidia,supply_s1p05v = "avddio_usb"; */
+ status = "okay";
+ };
+};