| // SPDX-License-Identifier: GPL-2.0 |
| /* |
| * Copyright (C) 2014-2019 Texas Instruments Incorporated - https://www.ti.com/ |
| */ |
| |
| /dts-v1/; |
| |
| #include "dra74x.dtsi" |
| #include "dra74x-mmc-iodelay.dtsi" |
| #include <dt-bindings/gpio/gpio.h> |
| #include <dt-bindings/interrupt-controller/irq.h> |
| #include <dt-bindings/pinctrl/dra.h> |
| |
| / { |
| model = "BeagleBoard.org BeagleBone AI"; |
| compatible = "beagle,am5729-beagleboneai", "ti,am5728", |
| "ti,dra742", "ti,dra74", "ti,dra7"; |
| |
| aliases { |
| rtc0 = &tps659038_rtc; |
| rtc1 = &rtc; |
| display0 = &hdmi_conn; |
| }; |
| |
| chosen { |
| stdout-path = &uart1; |
| }; |
| |
| memory@0 { |
| device_type = "memory"; |
| reg = <0x0 0x80000000 0x0 0x40000000>; |
| }; |
| |
| vdd_adc: gpioregulator-vdd_adc { |
| compatible = "regulator-gpio"; |
| regulator-name = "vdd_adc"; |
| vin-supply = <&vdd_5v>; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <3300000>; |
| regulator-always-on; |
| regulator-boot-on; |
| gpios = <&gpio3 27 GPIO_ACTIVE_HIGH>; |
| states = <1800000 0 |
| 3300000 1>; |
| }; |
| |
| vdd_5v: fixedregulator-vdd_5v { |
| compatible = "regulator-fixed"; |
| regulator-name = "vdd_5v"; |
| regulator-min-microvolt = <5000000>; |
| regulator-max-microvolt = <5000000>; |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| vtt_fixed: fixedregulator-vtt { |
| /* TPS51200 */ |
| compatible = "regulator-fixed"; |
| regulator-name = "vtt_fixed"; |
| vin-supply = <&vdd_ddr>; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| leds { |
| compatible = "gpio-leds"; |
| |
| led0 { |
| label = "beaglebone:green:usr0"; |
| gpios = <&gpio3 17 GPIO_ACTIVE_HIGH>; |
| linux,default-trigger = "heartbeat"; |
| default-state = "off"; |
| }; |
| |
| led1 { |
| label = "beaglebone:green:usr1"; |
| gpios = <&gpio5 5 GPIO_ACTIVE_HIGH>; |
| linux,default-trigger = "mmc0"; |
| default-state = "off"; |
| }; |
| |
| led2 { |
| label = "beaglebone:green:usr2"; |
| gpios = <&gpio3 15 GPIO_ACTIVE_HIGH>; |
| linux,default-trigger = "cpu"; |
| default-state = "off"; |
| }; |
| |
| led3 { |
| label = "beaglebone:green:usr3"; |
| gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>; |
| linux,default-trigger = "mmc1"; |
| default-state = "off"; |
| }; |
| |
| led4 { |
| label = "beaglebone:green:usr4"; |
| gpios = <&gpio3 7 GPIO_ACTIVE_HIGH>; |
| linux,default-trigger = "netdev"; |
| default-state = "off"; |
| }; |
| }; |
| |
| hdmi_conn: connector@0 { |
| compatible = "hdmi-connector"; |
| label = "hdmi"; |
| type = "a"; |
| |
| port { |
| hdmi_connector_in: endpoint { |
| remote-endpoint = <&hdmi_encoder_out>; |
| }; |
| }; |
| }; |
| |
| hdmi_enc: encoder@0 { |
| /* "ti,tpd12s016" software compatible with "ti,tpd12s015" |
| * no need for individual driver |
| */ |
| compatible = "ti,tpd12s015"; |
| gpios = <0>, |
| <0>, |
| <&gpio7 12 GPIO_ACTIVE_HIGH>; |
| |
| ports { |
| #address-cells = <0x1>; |
| #size-cells = <0x0>; |
| |
| port@0 { |
| reg = <0x0>; |
| |
| hdmi_encoder_in: endpoint@0 { |
| remote-endpoint = <&hdmi_out>; |
| }; |
| }; |
| |
| port@1 { |
| reg = <0x1>; |
| |
| hdmi_encoder_out: endpoint@0 { |
| remote-endpoint = <&hdmi_connector_in>; |
| }; |
| }; |
| }; |
| }; |
| |
| emmc_pwrseq: emmc_pwrseq { |
| compatible = "mmc-pwrseq-emmc"; |
| reset-gpios = <&gpio5 7 GPIO_ACTIVE_LOW>; |
| }; |
| |
| brcmf_pwrseq: brcmf_pwrseq { |
| compatible = "mmc-pwrseq-simple"; |
| reset-gpios = <&gpio3 22 GPIO_ACTIVE_LOW>, /* BT-REG-ON */ |
| <&gpio3 18 GPIO_ACTIVE_LOW>; /* WL-REG-ON */ |
| }; |
| |
| extcon_usb1: extcon_usb1 { |
| compatible = "linux,extcon-usb-gpio"; |
| ti,enable-id-detection; |
| id-gpio = <&gpio3 13 GPIO_ACTIVE_HIGH>; |
| }; |
| }; |
| |
| &i2c1 { |
| status = "okay"; |
| clock-frequency = <400000>; |
| |
| tps659038: tps659038@58 { |
| compatible = "ti,tps659038"; |
| reg = <0x58>; |
| interrupt-parent = <&gpio6>; |
| interrupts = <16 IRQ_TYPE_LEVEL_LOW>; |
| |
| #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>; |
| mps3-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 { |
| vdd_mpu: smps12 { |
| /* VDD_MPU */ |
| regulator-name = "smps12"; |
| regulator-min-microvolt = <850000>; |
| regulator-max-microvolt = <1250000>; |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| vdd_ddr: smps3 { |
| /* VDD_DDR EMIF1 EMIF2 */ |
| regulator-name = "smps3"; |
| regulator-min-microvolt = <1350000>; |
| regulator-max-microvolt = <1350000>; |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| vdd_dspeve: smps45 { |
| /* VDD_DSPEVE on AM572 */ |
| regulator-name = "smps45"; |
| regulator-min-microvolt = < 850000>; |
| regulator-max-microvolt = <1250000>; |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| vdd_gpu: smps6 { |
| /* VDD_GPU */ |
| regulator-name = "smps6"; |
| regulator-min-microvolt = < 850000>; |
| regulator-max-microvolt = <1250000>; |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| vdd_core: smps7 { |
| /* VDD_CORE */ |
| regulator-name = "smps7"; |
| regulator-min-microvolt = < 850000>; /*** 1.15V */ |
| regulator-max-microvolt = <1150000>; |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| vdd_iva: smps8 { |
| /* VDD_IVAHD */ /*** 1.06V */ |
| regulator-name = "smps8"; |
| }; |
| |
| vdd_3v3: smps9 { |
| /* VDD_3V3 */ |
| regulator-name = "smps9"; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| vdd_sd: ldo1 { |
| /* VDDSHV8 - VSDMMC */ |
| regulator-name = "ldo1"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <3300000>; |
| regulator-boot-on; |
| regulator-always-on; |
| }; |
| |
| vdd_1v8: ldo2 { |
| /* VDDSH18V */ |
| regulator-name = "ldo2"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| vdd_1v8_phy_ldo3: ldo3 { |
| /* R1.3a 572x V1_8PHY_LDO3: USB, SATA */ |
| regulator-name = "ldo3"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| vdd_1v8_phy_ldo4: ldo4 { |
| /* R1.3a 572x V1_8PHY_LDO4: PCIE, HDMI*/ |
| regulator-name = "ldo4"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| /* LDO5-8 unused */ |
| |
| vdd_rtc: ldo9 { |
| /* VDD_RTC */ |
| regulator-name = "ldo9"; |
| regulator-min-microvolt = < 840000>; |
| regulator-max-microvolt = <1160000>; |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| vdd_1v8_pll: ldoln { |
| /* VDDA_1V8_PLL */ |
| regulator-name = "ldoln"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| ldousb_reg: ldousb { |
| /* VDDA_3V_USB: VDDA_USBHS33 */ |
| 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>; |
| }; |
| }; |
| }; |
| |
| &mcspi3 { |
| status = "okay"; |
| ti,pindir-d0-out-d1-in; |
| |
| sn65hvs882: sn65hvs882@0 { |
| compatible = "pisosr-gpio"; |
| gpio-controller; |
| #gpio-cells = <2>; |
| |
| reg = <0>; |
| spi-max-frequency = <1000000>; |
| spi-cpol; |
| }; |
| }; |
| |
| &cpu0 { |
| vdd-supply = <&vdd_mpu>; |
| voltage-tolerance = <1>; |
| }; |
| |
| &uart1 { |
| status = "okay"; |
| }; |
| |
| &davinci_mdio { |
| reset-gpios = <&gpio2 23 GPIO_ACTIVE_LOW>; |
| reset-delay-us = <2>; |
| |
| phy0: ethernet-phy@1 { |
| reg = <4>; |
| eee-broken-100tx; |
| eee-broken-1000t; |
| }; |
| }; |
| |
| &mac { |
| slaves = <1>; |
| status = "okay"; |
| }; |
| |
| &cpsw_emac0 { |
| phy-handle = <&phy0>; |
| phy-mode = "rgmii"; |
| }; |
| |
| &mmc1 { |
| status = "okay"; |
| vmmc-supply = <&vdd_3v3>; |
| vqmmc-supply = <&vdd_sd>; |
| bus-width = <4>; |
| cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>; /* gpio 219 */ |
| |
| pinctrl-names = "default"; |
| pinctrl-0 = <&mmc1_pins_default>; |
| }; |
| |
| &mmc2 { |
| status = "okay"; |
| vmmc-supply = <&vdd_1v8>; |
| vqmmc-supply = <&vdd_1v8>; |
| bus-width = <8>; |
| ti,non-removable; |
| non-removable; |
| mmc-pwrseq = <&emmc_pwrseq>; |
| |
| ti,needs-special-reset; |
| dmas = <&sdma_xbar 47>, <&sdma_xbar 48>; |
| dma-names = "tx", "rx"; |
| |
| pinctrl-names = "default", "hs", "ddr_1_8v", "hs200_1_8v"; |
| pinctrl-0 = <&mmc2_pins_default>; |
| pinctrl-1 = <&mmc2_pins_hs>; |
| pinctrl-2 = <&mmc2_pins_ddr_rev20>; |
| pinctrl-3 = <&mmc2_pins_hs200>; |
| |
| }; |
| |
| &mmc4 { |
| /* DS: Default speed (DS) up to 25 MHz, including 1- and 4-bit modes (3.3 V signaling). */ |
| /* HS: High speed up to 50 MHz (3.3 V signaling). */ |
| /* SDR12: SDR up to 25 MHz (1.8 V signaling). */ |
| /* SDR25: SDR up to 50 MHz (1.8 V signaling). */ |
| /* SDR50: SDR up to 100 MHz (1.8 V signaling). */ |
| /* SDR104: SDR up to 208 MHz (1.8 V signaling) */ |
| /* DDR50: DDR up to 50 MHz (1.8 V signaling). */ |
| status = "okay"; |
| |
| ti,needs-special-reset; |
| vmmc-supply = <&vdd_3v3>; |
| cap-power-off-card; |
| keep-power-in-suspend; |
| bus-width = <4>; |
| ti,non-removable; |
| non-removable; |
| no-1-8-v; |
| max-frequency = <24000000>; |
| |
| #address-cells = <1>; |
| #size-cells = <0>; |
| mmc-pwrseq = <&brcmf_pwrseq>; |
| |
| brcmf: wifi@1 { |
| status = "okay"; |
| reg = <1>; |
| compatible = "brcm,bcm4329-fmac"; |
| |
| brcm,sd-head-align = <4>; |
| brcm,sd_head_align = <4>; |
| brcm,sd_sgentry_align = <512>; |
| |
| interrupt-parent = <&gpio3>; |
| interrupts = <23 IRQ_TYPE_LEVEL_LOW>; |
| interrupt-names = "host-wake"; |
| }; |
| }; |
| |
| &usb2_phy1 { |
| phy-supply = <&ldousb_reg>; |
| }; |
| |
| &usb2_phy2 { |
| phy-supply = <&ldousb_reg>; |
| }; |
| |
| &usb1 { |
| status = "okay"; |
| dr_mode = "otg"; |
| }; |
| |
| &omap_dwc3_1 { |
| extcon = <&extcon_usb1>; |
| }; |
| |
| &usb2 { |
| status = "okay"; |
| dr_mode = "host"; |
| }; |
| |
| &dss { |
| status = "okay"; |
| vdda_video-supply = <&vdd_1v8_pll>; |
| }; |
| |
| &hdmi { |
| status = "okay"; |
| vdda-supply = <&vdd_1v8_phy_ldo4>; |
| |
| port { |
| hdmi_out: endpoint { |
| remote-endpoint = <&hdmi_encoder_in>; |
| }; |
| }; |
| }; |
| |
| &bandgap { |
| status = "okay"; |
| }; |
| |
| &cpu_alert0 { |
| temperature = <55000>; /* milliCelsius */ |
| }; |
| |
| &cpu_crit { |
| temperature = <85000>; /* milliCelsius */ |
| }; |
| |
| &gpu_crit { |
| temperature = <85000>; /* milliCelsius */ |
| }; |
| |
| &core_crit { |
| temperature = <85000>; /* milliCelsius */ |
| }; |
| |
| &dspeve_crit { |
| temperature = <85000>; /* milliCelsius */ |
| }; |
| |
| &iva_crit { |
| temperature = <85000>; /* milliCelsius */ |
| }; |
| |
| &sata { |
| status = "disabled"; |
| }; |
| |
| &sata_phy { |
| status = "disabled"; |
| }; |
| |
| /* bluetooth */ |
| &uart6 { |
| status = "okay"; |
| }; |
| |
| /* cape header stuff */ |
| &i2c4 { |
| status = "okay"; |
| clock-frequency = <100000>; |
| }; |
| |
| #include "omap5-u-boot.dtsi" |