/* * Copyright (C) 2015-2016 Texas Instruments Incorporated - http://www.ti.com/ * * Copyright (C) 2017 TQ Systems (ported AM57xx IDK to TQMa57xx) * * Author: Stefan Lange * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ #include "dra74x.dtsi" #include "dra74x-mmc-iodelay.dtsi" #include "am57xx-industrial-grade.dtsi" #include #include / { aliases { rtc1 = &tps659038_rtc; rtc0 = &ds1339_rtc; }; memory@0 { device_type = "memory"; reg = <0x0 0x80000000 0x0 0x80000000>; }; reserved-memory { #address-cells = <2>; #size-cells = <2>; ranges; ipu2_cma_pool: ipu2_cma@95800000 { compatible = "shared-dma-pool"; reg = <0x0 0x95800000 0x0 0x3800000>; reusable; status = "okay"; }; dsp1_cma_pool: dsp1_cma@99000000 { compatible = "shared-dma-pool"; reg = <0x0 0x99000000 0x0 0x4000000>; reusable; status = "okay"; }; ipu1_cma_pool: ipu1_cma@9d000000 { compatible = "shared-dma-pool"; reg = <0x0 0x9d000000 0x0 0x2000000>; reusable; status = "okay"; }; dsp2_cma_pool: dsp2_cma@9f000000 { compatible = "shared-dma-pool"; reg = <0x0 0x9f000000 0x0 0x800000>; reusable; status = "okay"; }; }; vdd_5v: fixedregulator-vdd_5v { compatible = "regulator-fixed"; regulator-name = "VDD5V"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; regulator-always-on; regulator-boot-on; }; vdd_3v3: fixedregulator-vdd_3v3 { compatible = "regulator-fixed"; regulator-name = "VDD3V3"; vin-supply = <&smps9_reg>; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; regulator-boot-on; }; vtt_fixed: fixedregulator-vtt { /* TPS51200 */ compatible = "regulator-fixed"; regulator-name = "vtt_fixed"; vin-supply = <&vdd_3v3>; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; regulator-boot-on; }; src_clk_x1: src_clk_x1 { #clock-cells = <0>; compatible = "fixed-clock"; clock-frequency = <20000000>; }; ocp { /delete-node/ rtc@48838000; axi@1 { status = "okay"; }; }; }; &i2c1 { status = "okay"; clock-frequency = <400000>; tps659038: tps659038@58 { compatible = "ti,tps659038"; reg = <0x58>; interrupts-extended = <&gpio4 1 IRQ_TYPE_LEVEL_HIGH &dra7_pmx_core 0x168>; #interrupt-cells = <2>; interrupt-controller; ti,system-power-controller; ti,palmas-override-powerhold; tps659038_pmic { compatible = "ti,tps659038-pmic"; smps12-in-supply = <&vdd_5v>; smps3-in-supply = <&vdd_5v>; smps45-in-supply = <&vdd_5v>; smps6-in-supply = <&vdd_5v>; smps7-in-supply = <&vdd_5v>; smps8-in-supply = <&vdd_5v>; smps9-in-supply = <&vdd_5v>; ldo1-in-supply = <&vdd_5v>; ldo2-in-supply = <&vdd_5v>; ldo3-in-supply = <&vdd_5v>; ldo4-in-supply = <&vdd_5v>; ldo9-in-supply = <&vdd_5v>; ldoln-in-supply = <&vdd_5v>; ldousb-in-supply = <&vdd_5v>; ldortc-in-supply = <&vdd_5v>; regulators { smps12_reg: smps12 { /* VDD_MPU */ regulator-name = "smps12"; regulator-min-microvolt = <850000>; regulator-max-microvolt = <1250000>; regulator-always-on; regulator-boot-on; }; smps3_reg: smps3 { /* VDD_DDR EMIF1 EMIF2 */ regulator-name = "smps3"; regulator-min-microvolt = <1350000>; regulator-max-microvolt = <1350000>; regulator-always-on; regulator-boot-on; }; smps45_reg: smps45 { /* VDD_DSPEVE on AM572 */ /* VDD_IVA + VDD_DSP on AM571 */ regulator-name = "smps45"; regulator-min-microvolt = <850000>; regulator-max-microvolt = <1250000>; regulator-always-on; regulator-boot-on; }; smps6_reg: smps6 { /* VDD_GPU */ regulator-name = "smps6"; regulator-min-microvolt = <850000>; regulator-max-microvolt = <1250000>; regulator-always-on; regulator-boot-on; }; smps7_reg: smps7 { /* VDD_CORE */ regulator-name = "smps7"; regulator-min-microvolt = <850000>; regulator-max-microvolt = <1150000>; regulator-always-on; regulator-boot-on; }; smps8_reg: smps8 { /* 5728 - VDD_IVAHD */ /* 5718 - N.C. test point */ regulator-name = "smps8"; }; smps9_reg: smps9 { /* VDD_3V3 */ regulator-name = "smps9"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; regulator-boot-on; }; ldo1_reg: ldo1 { /* VDDSHV8 */ regulator-name = "ldo1"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; regulator-boot-on; regulator-always-on; }; ldo2_reg: ldo2 { /* VDD1V8 */ regulator-name = "ldo2"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; regulator-boot-on; }; ldo3_reg: ldo3 { /* VDD1V8_PHY_USB_SATA */ regulator-name = "ldo3"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; regulator-boot-on; }; ldo4_reg: ldo4 { /* VDD1V8_PHY_HDMI_PCIE */ regulator-name = "ldo4"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; regulator-boot-on; }; /* LDO5-8 unused */ ldo9_reg: ldo9 { /* VDD_RTC */ regulator-name = "ldo9"; regulator-min-microvolt = <840000>; regulator-max-microvolt = <1160000>; regulator-always-on; regulator-boot-on; }; ldoln_reg: ldoln { /* VDDA_1V8 */ regulator-name = "ldoln"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; regulator-boot-on; }; ldousb_reg: ldousb { /* VDDA_USB3V3 */ regulator-name = "ldousb"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; regulator-boot-on; }; ldortc_reg: ldortc { /* VDDA_RTC */ regulator-name = "ldortc"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; regulator-boot-on; }; regen1: regen1 { /* VDD_3V3_ON */ regulator-name = "regen1"; regulator-boot-on; regulator-always-on; }; regen2: regen2 { /* Needed for PMIC internal resource */ regulator-name = "regen2"; regulator-boot-on; regulator-always-on; }; }; }; tps659038_rtc: tps659038_rtc { compatible = "ti,palmas-rtc"; interrupt-parent = <&tps659038>; interrupts = <8 IRQ_TYPE_EDGE_FALLING>; wakeup-source; }; tps659038_pwr_button: tps659038_pwr_button { compatible = "ti,palmas-pwrbutton"; interrupt-parent = <&tps659038>; interrupts = <1 IRQ_TYPE_EDGE_FALLING>; wakeup-source; ti,palmas-long-press-seconds = <12>; }; tps659038_gpio: tps659038_gpio { compatible = "ti,palmas-gpio"; gpio-controller; #gpio-cells = <2>; }; extcon_usb2: tps659038_usb { compatible = "ti,palmas-usb-vid"; ti,enable-vbus-detection; ti,enable-id-detection; /* ID & VBUS GPIOs provided in baseboard dts */ }; }; /* NXP SE97BTP with temperature sensor + eeprom */ sensor1: se97@1f { compatible = "nxp,se97", "jedec,jc-42.4-temp"; reg = <0x1f>; status = "okay"; }; /* NXP SE97BTP with temperature sensor + eeprom */ eeprom1: se97@57 { compatible = "nxp,spd"; reg = <0x57>; pagesize = <16>; status = "okay"; }; /* regular EEPROM */ eeprom2: 24c64@54 { compatible = "at,24c64"; pagesize = <32>; reg = <0x54>; status = "okay"; }; /* RTC */ ds1339_rtc: ds1339@68 { compatible = "dallas,ds1339"; reg = <0x68>; interrupts-extended = <&crossbar_mpu GIC_SPI 2 IRQ_TYPE_EDGE_FALLING>, <&dra7_pmx_core 0x418>; interrupt-names = "irq", "wakeup"; vcc-supply = <&vdd_3v3>; wakeup-source; status = "okay"; }; }; &mac { status = "okay"; dual_emac; }; &usb2_phy1 { phy-supply = <&ldousb_reg>; }; &usb2_phy2 { phy-supply = <&ldousb_reg>; }; /* eMMC */ &mmc2 { status = "okay"; vqmmc-supply = <&ldo2_reg>; /* 1V8 */ vmmc-supply = <&vdd_3v3>; bus-width = <8>; ti,non-removable; max-frequency = <96000000>; pinctrl-names = "default", "hs", "ddr_1_8v"; pinctrl-0 = <&mmc2_pins_default>; pinctrl-1 = <&mmc2_pins_hs>; pinctrl-2 = <&mmc2_pins_ddr_rev20>; }; &qspi { status = "okay"; spi-max-frequency = <76800000>; m25p80@0 { compatible = "n25q512a", "jedec,spi-nor"; reg = <0>; spi-tx-bus-width = <1>; spi-rx-bus-width = <4>; #address-cells = <1>; #size-cells = <1>; spi-max-frequency = <61440000>; /* MTD partition table. * The ROM checks the first four physical blocks * for a valid file to boot and the flash here is * 64KiB block size. */ partition@0 { label = "QSPI.SPL"; reg = <0x00000000 0x000040000>; }; partition@1 { label = "QSPI.u-boot"; reg = <0x00040000 0x00100000>; }; partition@2 { label = "QSPI.u-boot-spl-os"; reg = <0x00140000 0x00080000>; }; partition@3 { label = "QSPI.u-boot-env"; reg = <0x001c0000 0x00010000>; }; partition@4 { label = "QSPI.u-boot-env.backup1"; reg = <0x001d0000 0x0010000>; }; partition@5 { label = "QSPI.kernel"; reg = <0x001e0000 0x0800000>; }; partition@6 { label = "QSPI.file-system"; reg = <0x009e0000 0x01620000>; }; }; }; /* 2D BitBlt (BB2D) graphics accelerator */ &bb2d { status = "okay"; }; &cpu0 { vdd-supply = <&smps12_reg>; }; &mailbox5 { status = "okay"; mbox_ipu1_ipc3x: mbox_ipu1_ipc3x { status = "okay"; }; mbox_dsp1_ipc3x: mbox_dsp1_ipc3x { status = "okay"; }; }; &mailbox6 { status = "okay"; mbox_ipu2_ipc3x: mbox_ipu2_ipc3x { status = "okay"; }; mbox_dsp2_ipc3x: mbox_dsp2_ipc3x { status = "okay"; }; }; &mmu0_dsp1 { status = "okay"; }; &mmu1_dsp1 { status = "okay"; }; &mmu0_dsp2 { status = "okay"; }; &mmu1_dsp2 { status = "okay"; }; &mmu_ipu1 { status = "okay"; }; &mmu_ipu2 { status = "okay"; }; &ipu2 { status = "okay"; memory-region = <&ipu2_cma_pool>; mboxes = <&mailbox6 &mbox_ipu2_ipc3x>; timers = <&timer3>; watchdog-timers = <&timer4>, <&timer9>; }; &ipu1 { status = "okay"; memory-region = <&ipu1_cma_pool>; mboxes = <&mailbox5 &mbox_ipu1_ipc3x>; timers = <&timer11>; watchdog-timers = <&timer7>, <&timer8>; }; &dsp1 { status = "okay"; memory-region = <&dsp1_cma_pool>; mboxes = <&mailbox5 &mbox_dsp1_ipc3x>; timers = <&timer5>; watchdog-timers = <&timer10>; }; &dsp2 { status = "okay"; memory-region = <&dsp2_cma_pool>; mboxes = <&mailbox6 &mbox_dsp2_ipc3x>; timers = <&timer6>; watchdog-timers = <&timer13>; };