162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright (C) 2016 Texas Instruments Incorporated - https://www.ti.com/
462306a36Sopenharmony_ci */
562306a36Sopenharmony_ci
662306a36Sopenharmony_ci#include "dra71x.dtsi"
762306a36Sopenharmony_ci#include "dra7-mmc-iodelay.dtsi"
862306a36Sopenharmony_ci#include "dra72x-mmc-iodelay.dtsi"
962306a36Sopenharmony_ci#include <dt-bindings/net/ti-dp83867.h>
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci/ {
1262306a36Sopenharmony_ci	compatible = "ti,dra718-evm", "ti,dra718", "ti,dra722", "ti,dra72", "ti,dra7";
1362306a36Sopenharmony_ci	model = "TI DRA718 EVM";
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci	memory {
1662306a36Sopenharmony_ci		device_type = "memory";
1762306a36Sopenharmony_ci		reg = <0x0 0x80000000 0x0 0x80000000>; /* 2GB */
1862306a36Sopenharmony_ci	};
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ci	reserved-memory {
2162306a36Sopenharmony_ci		#address-cells = <2>;
2262306a36Sopenharmony_ci		#size-cells = <2>;
2362306a36Sopenharmony_ci		ranges;
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci		ipu2_memory_region: ipu2-memory@95800000 {
2662306a36Sopenharmony_ci			compatible = "shared-dma-pool";
2762306a36Sopenharmony_ci			reg = <0x0 0x95800000 0x0 0x3800000>;
2862306a36Sopenharmony_ci			reusable;
2962306a36Sopenharmony_ci			status = "okay";
3062306a36Sopenharmony_ci		};
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci		dsp1_memory_region: dsp1-memory@99000000 {
3362306a36Sopenharmony_ci			compatible = "shared-dma-pool";
3462306a36Sopenharmony_ci			reg = <0x0 0x99000000 0x0 0x4000000>;
3562306a36Sopenharmony_ci			reusable;
3662306a36Sopenharmony_ci			status = "okay";
3762306a36Sopenharmony_ci		};
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci		ipu1_memory_region: ipu1-memory@9d000000 {
4062306a36Sopenharmony_ci			compatible = "shared-dma-pool";
4162306a36Sopenharmony_ci			reg = <0x0 0x9d000000 0x0 0x2000000>;
4262306a36Sopenharmony_ci			reusable;
4362306a36Sopenharmony_ci			status = "okay";
4462306a36Sopenharmony_ci		};
4562306a36Sopenharmony_ci	};
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci	vpo_sd_1v8_3v3: gpio-regulator-TPS74801 {
4862306a36Sopenharmony_ci		compatible = "regulator-gpio";
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ci		regulator-name = "vddshv8";
5162306a36Sopenharmony_ci		regulator-min-microvolt = <1800000>;
5262306a36Sopenharmony_ci		regulator-max-microvolt = <3300000>;
5362306a36Sopenharmony_ci		regulator-boot-on;
5462306a36Sopenharmony_ci		vin-supply = <&evm_5v0>;
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ci		gpios = <&gpio7 11 GPIO_ACTIVE_HIGH>;
5762306a36Sopenharmony_ci		states = <1800000 0x0
5862306a36Sopenharmony_ci			  3300000 0x1>;
5962306a36Sopenharmony_ci	};
6062306a36Sopenharmony_ci
6162306a36Sopenharmony_ci	evm_1v8_sw: fixedregulator-evm_1v8 {
6262306a36Sopenharmony_ci		compatible = "regulator-fixed";
6362306a36Sopenharmony_ci		regulator-name = "evm_1v8";
6462306a36Sopenharmony_ci		regulator-min-microvolt = <1800000>;
6562306a36Sopenharmony_ci		regulator-max-microvolt = <1800000>;
6662306a36Sopenharmony_ci		vin-supply = <&lp8732_buck0_reg>;
6762306a36Sopenharmony_ci		regulator-always-on;
6862306a36Sopenharmony_ci		regulator-boot-on;
6962306a36Sopenharmony_ci	};
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ci	poweroff: gpio-poweroff {
7262306a36Sopenharmony_ci		compatible = "gpio-poweroff";
7362306a36Sopenharmony_ci		gpios = <&gpio7 30 GPIO_ACTIVE_HIGH>;
7462306a36Sopenharmony_ci		input;
7562306a36Sopenharmony_ci	};
7662306a36Sopenharmony_ci};
7762306a36Sopenharmony_ci
7862306a36Sopenharmony_ci&i2c1 {
7962306a36Sopenharmony_ci	status = "okay";
8062306a36Sopenharmony_ci	clock-frequency = <400000>;
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_ci	lp8733: lp8733@60 {
8362306a36Sopenharmony_ci		compatible = "ti,lp8733";
8462306a36Sopenharmony_ci		reg = <0x60>;
8562306a36Sopenharmony_ci
8662306a36Sopenharmony_ci		buck0-in-supply =<&vsys_3v3>;
8762306a36Sopenharmony_ci		buck1-in-supply =<&vsys_3v3>;
8862306a36Sopenharmony_ci		ldo0-in-supply =<&evm_5v0>;
8962306a36Sopenharmony_ci		ldo1-in-supply =<&evm_5v0>;
9062306a36Sopenharmony_ci
9162306a36Sopenharmony_ci		lp8733_regulators: regulators {
9262306a36Sopenharmony_ci			lp8733_buck0_reg: buck0 {
9362306a36Sopenharmony_ci				/* FB_B0 -> LP8733-BUCK1 - VPO_S1_AVS - VDD_CORE_AVS (core, mpu, gpu) */
9462306a36Sopenharmony_ci				regulator-name = "lp8733-buck0";
9562306a36Sopenharmony_ci				regulator-min-microvolt = <850000>;
9662306a36Sopenharmony_ci				regulator-max-microvolt = <1250000>;
9762306a36Sopenharmony_ci				regulator-always-on;
9862306a36Sopenharmony_ci				regulator-boot-on;
9962306a36Sopenharmony_ci			};
10062306a36Sopenharmony_ci
10162306a36Sopenharmony_ci			lp8733_buck1_reg: buck1 {
10262306a36Sopenharmony_ci				/* FB_B1 -> LP8733-BUCK2 - VPO_S2_AVS - VDD_DSP_AVS (DSP/eve/iva) */
10362306a36Sopenharmony_ci				regulator-name = "lp8733-buck1";
10462306a36Sopenharmony_ci				regulator-min-microvolt = <850000>;
10562306a36Sopenharmony_ci				regulator-max-microvolt = <1250000>;
10662306a36Sopenharmony_ci				regulator-boot-on;
10762306a36Sopenharmony_ci				regulator-always-on;
10862306a36Sopenharmony_ci			};
10962306a36Sopenharmony_ci
11062306a36Sopenharmony_ci			lp8733_ldo0_reg: ldo0 {
11162306a36Sopenharmony_ci				/* LDO0 -> LP8733-LDO1 - VPO_L1_3V3 - VDDSHV8 (optional) */
11262306a36Sopenharmony_ci				regulator-name = "lp8733-ldo0";
11362306a36Sopenharmony_ci				regulator-min-microvolt = <3300000>;
11462306a36Sopenharmony_ci				regulator-max-microvolt = <3300000>;
11562306a36Sopenharmony_ci				regulator-boot-on;
11662306a36Sopenharmony_ci				regulator-always-on;
11762306a36Sopenharmony_ci			};
11862306a36Sopenharmony_ci
11962306a36Sopenharmony_ci			lp8733_ldo1_reg: ldo1 {
12062306a36Sopenharmony_ci				/* LDO1 -> LP8733-LDO2 - VPO_L2_3V3 - VDDA_USB3V3 */
12162306a36Sopenharmony_ci				regulator-name = "lp8733-ldo1";
12262306a36Sopenharmony_ci				regulator-min-microvolt = <3300000>;
12362306a36Sopenharmony_ci				regulator-max-microvolt = <3300000>;
12462306a36Sopenharmony_ci				regulator-always-on;
12562306a36Sopenharmony_ci				regulator-boot-on;
12662306a36Sopenharmony_ci			};
12762306a36Sopenharmony_ci		};
12862306a36Sopenharmony_ci	};
12962306a36Sopenharmony_ci
13062306a36Sopenharmony_ci	lp8732: lp8732@61 {
13162306a36Sopenharmony_ci		compatible = "ti,lp8732";
13262306a36Sopenharmony_ci		reg = <0x61>;
13362306a36Sopenharmony_ci
13462306a36Sopenharmony_ci		buck0-in-supply =<&vsys_3v3>;
13562306a36Sopenharmony_ci		buck1-in-supply =<&vsys_3v3>;
13662306a36Sopenharmony_ci		ldo0-in-supply =<&vsys_3v3>;
13762306a36Sopenharmony_ci		ldo1-in-supply =<&vsys_3v3>;
13862306a36Sopenharmony_ci
13962306a36Sopenharmony_ci		lp8732_regulators: regulators {
14062306a36Sopenharmony_ci			lp8732_buck0_reg: buck0 {
14162306a36Sopenharmony_ci				/* FB_B0 -> LP8732-BUCK1 - VPO_S3_1V8 - VDDS_1V8 */
14262306a36Sopenharmony_ci				regulator-name = "lp8732-buck0";
14362306a36Sopenharmony_ci				regulator-min-microvolt = <1800000>;
14462306a36Sopenharmony_ci				regulator-max-microvolt = <1800000>;
14562306a36Sopenharmony_ci				regulator-always-on;
14662306a36Sopenharmony_ci				regulator-boot-on;
14762306a36Sopenharmony_ci			};
14862306a36Sopenharmony_ci
14962306a36Sopenharmony_ci			lp8732_buck1_reg: buck1 {
15062306a36Sopenharmony_ci				/* FB_B1 -> LP8732-BUCK2 - VPO_S4_DDR - VDD_DDR_1V35 */
15162306a36Sopenharmony_ci				regulator-name = "lp8732-buck1";
15262306a36Sopenharmony_ci				regulator-min-microvolt = <1350000>;
15362306a36Sopenharmony_ci				regulator-max-microvolt = <1350000>;
15462306a36Sopenharmony_ci				regulator-boot-on;
15562306a36Sopenharmony_ci				regulator-always-on;
15662306a36Sopenharmony_ci			};
15762306a36Sopenharmony_ci
15862306a36Sopenharmony_ci			lp8732_ldo0_reg: ldo0 {
15962306a36Sopenharmony_ci				/* LDO0 -> LP8732-LDO1 - VPO_L3_1V8 - VDA_1V8_PLL */
16062306a36Sopenharmony_ci				regulator-name = "lp8732-ldo0";
16162306a36Sopenharmony_ci				regulator-min-microvolt = <1800000>;
16262306a36Sopenharmony_ci				regulator-max-microvolt = <1800000>;
16362306a36Sopenharmony_ci				regulator-boot-on;
16462306a36Sopenharmony_ci				regulator-always-on;
16562306a36Sopenharmony_ci			};
16662306a36Sopenharmony_ci
16762306a36Sopenharmony_ci			lp8732_ldo1_reg: ldo1 {
16862306a36Sopenharmony_ci				/* LDO1 -> LP8732-LDO2 - VPO_L4_1V8 - VDA_1V8_PHY */
16962306a36Sopenharmony_ci				regulator-name = "lp8732-ldo1";
17062306a36Sopenharmony_ci				regulator-min-microvolt = <1800000>;
17162306a36Sopenharmony_ci				regulator-max-microvolt = <1800000>;
17262306a36Sopenharmony_ci				regulator-always-on;
17362306a36Sopenharmony_ci				regulator-boot-on;
17462306a36Sopenharmony_ci			};
17562306a36Sopenharmony_ci		};
17662306a36Sopenharmony_ci	};
17762306a36Sopenharmony_ci};
17862306a36Sopenharmony_ci
17962306a36Sopenharmony_ci&pcf_lcd {
18062306a36Sopenharmony_ci	interrupt-parent = <&gpio7>;
18162306a36Sopenharmony_ci	interrupts = <31 IRQ_TYPE_EDGE_FALLING>;
18262306a36Sopenharmony_ci};
18362306a36Sopenharmony_ci
18462306a36Sopenharmony_ci&pcf_gpio_21 {
18562306a36Sopenharmony_ci	interrupt-parent = <&gpio7>;
18662306a36Sopenharmony_ci	interrupts = <31 IRQ_TYPE_EDGE_FALLING>;
18762306a36Sopenharmony_ci};
18862306a36Sopenharmony_ci
18962306a36Sopenharmony_ci&pcf_hdmi {
19062306a36Sopenharmony_ci	hdmi-i2c-disable-hog {
19162306a36Sopenharmony_ci		/*
19262306a36Sopenharmony_ci		 * PM_OEn to High: Disable routing I2C3 to PM_I2C
19362306a36Sopenharmony_ci		 * With this PM_SEL(p3) should not matter
19462306a36Sopenharmony_ci		 */
19562306a36Sopenharmony_ci		gpio-hog;
19662306a36Sopenharmony_ci		gpios = <0 GPIO_ACTIVE_LOW>;
19762306a36Sopenharmony_ci		output-high;
19862306a36Sopenharmony_ci		line-name = "pm_oe_n";
19962306a36Sopenharmony_ci	};
20062306a36Sopenharmony_ci};
20162306a36Sopenharmony_ci
20262306a36Sopenharmony_ci&mmc1 {
20362306a36Sopenharmony_ci	pinctrl-names = "default", "hs", "sdr12", "sdr25", "sdr50", "ddr50", "sdr104";
20462306a36Sopenharmony_ci	pinctrl-0 = <&mmc1_pins_default_no_clk_pu>;
20562306a36Sopenharmony_ci	pinctrl-1 = <&mmc1_pins_hs>;
20662306a36Sopenharmony_ci	pinctrl-2 = <&mmc1_pins_sdr12>;
20762306a36Sopenharmony_ci	pinctrl-3 = <&mmc1_pins_sdr25>;
20862306a36Sopenharmony_ci	pinctrl-4 = <&mmc1_pins_sdr50>;
20962306a36Sopenharmony_ci	pinctrl-5 = <&mmc1_pins_ddr50_rev20 &mmc1_iodelay_ddr50_conf>;
21062306a36Sopenharmony_ci	pinctrl-6 = <&mmc1_pins_sdr104 &mmc1_iodelay_sdr104_rev20_conf>;
21162306a36Sopenharmony_ci	vqmmc-supply = <&vpo_sd_1v8_3v3>;
21262306a36Sopenharmony_ci};
21362306a36Sopenharmony_ci
21462306a36Sopenharmony_ci&mmc2 {
21562306a36Sopenharmony_ci	pinctrl-names = "default", "hs", "ddr_1_8v", "hs200_1_8v";
21662306a36Sopenharmony_ci	pinctrl-0 = <&mmc2_pins_default>;
21762306a36Sopenharmony_ci	pinctrl-1 = <&mmc2_pins_hs>;
21862306a36Sopenharmony_ci	pinctrl-2 = <&mmc2_pins_ddr_rev20 &mmc2_iodelay_ddr_conf>;
21962306a36Sopenharmony_ci	pinctrl-3 = <&mmc2_pins_hs200 &mmc2_iodelay_hs200_rev20_conf>;
22062306a36Sopenharmony_ci	vmmc-supply = <&evm_1v8_sw>;
22162306a36Sopenharmony_ci	vqmmc-supply = <&evm_1v8_sw>;
22262306a36Sopenharmony_ci};
22362306a36Sopenharmony_ci
22462306a36Sopenharmony_ci&mac_sw {
22562306a36Sopenharmony_ci	mode-gpios = <&pcf_gpio_21 4 GPIO_ACTIVE_LOW>,
22662306a36Sopenharmony_ci		     <&pcf_hdmi 9 GPIO_ACTIVE_LOW>,	/* P11 */
22762306a36Sopenharmony_ci		     <&pcf_hdmi 10 GPIO_ACTIVE_LOW>;	/* P12 */
22862306a36Sopenharmony_ci	status = "okay";
22962306a36Sopenharmony_ci};
23062306a36Sopenharmony_ci
23162306a36Sopenharmony_ci&cpsw_port1 {
23262306a36Sopenharmony_ci	phy-handle = <&dp83867_0>;
23362306a36Sopenharmony_ci	phy-mode = "rgmii-id";
23462306a36Sopenharmony_ci	ti,dual-emac-pvid = <1>;
23562306a36Sopenharmony_ci};
23662306a36Sopenharmony_ci
23762306a36Sopenharmony_ci&cpsw_port2 {
23862306a36Sopenharmony_ci	phy-handle = <&dp83867_1>;
23962306a36Sopenharmony_ci	phy-mode = "rgmii-id";
24062306a36Sopenharmony_ci	ti,dual-emac-pvid = <2>;
24162306a36Sopenharmony_ci};
24262306a36Sopenharmony_ci
24362306a36Sopenharmony_ci&davinci_mdio_sw {
24462306a36Sopenharmony_ci	dp83867_0: ethernet-phy@2 {
24562306a36Sopenharmony_ci		reg = <2>;
24662306a36Sopenharmony_ci		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
24762306a36Sopenharmony_ci		ti,tx-internal-delay = <DP83867_RGMIIDCTL_250_PS>;
24862306a36Sopenharmony_ci		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_8_B_NIB>;
24962306a36Sopenharmony_ci		ti,min-output-impedance;
25062306a36Sopenharmony_ci		ti,dp83867-rxctrl-strap-quirk;
25162306a36Sopenharmony_ci	};
25262306a36Sopenharmony_ci
25362306a36Sopenharmony_ci	dp83867_1: ethernet-phy@3 {
25462306a36Sopenharmony_ci		reg = <3>;
25562306a36Sopenharmony_ci		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
25662306a36Sopenharmony_ci		ti,tx-internal-delay = <DP83867_RGMIIDCTL_250_PS>;
25762306a36Sopenharmony_ci		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_8_B_NIB>;
25862306a36Sopenharmony_ci		ti,min-output-impedance;
25962306a36Sopenharmony_ci		ti,dp83867-rxctrl-strap-quirk;
26062306a36Sopenharmony_ci	};
26162306a36Sopenharmony_ci};
26262306a36Sopenharmony_ci
26362306a36Sopenharmony_ci/* No Sata on this device */
26462306a36Sopenharmony_ci&sata_phy {
26562306a36Sopenharmony_ci	status = "disabled";
26662306a36Sopenharmony_ci};
26762306a36Sopenharmony_ci
26862306a36Sopenharmony_ci&sata {
26962306a36Sopenharmony_ci	status = "disabled";
27062306a36Sopenharmony_ci};
27162306a36Sopenharmony_ci
27262306a36Sopenharmony_ci/* No RTC on this device */
27362306a36Sopenharmony_ci&rtc {
27462306a36Sopenharmony_ci	status = "disabled";
27562306a36Sopenharmony_ci};
27662306a36Sopenharmony_ci
27762306a36Sopenharmony_ci&usb2_phy1 {
27862306a36Sopenharmony_ci	phy-supply = <&lp8733_ldo1_reg>;
27962306a36Sopenharmony_ci};
28062306a36Sopenharmony_ci
28162306a36Sopenharmony_ci&usb2_phy2 {
28262306a36Sopenharmony_ci	phy-supply = <&lp8733_ldo1_reg>;
28362306a36Sopenharmony_ci};
28462306a36Sopenharmony_ci
28562306a36Sopenharmony_ci&dss {
28662306a36Sopenharmony_ci	/* Supplied by VDA_1V8_PLL */
28762306a36Sopenharmony_ci	vdda_video-supply = <&lp8732_ldo0_reg>;
28862306a36Sopenharmony_ci};
28962306a36Sopenharmony_ci
29062306a36Sopenharmony_ci&hdmi {
29162306a36Sopenharmony_ci	/* Supplied by VDA_1V8_PHY */
29262306a36Sopenharmony_ci	vdda_video-supply = <&lp8732_ldo1_reg>;
29362306a36Sopenharmony_ci};
29462306a36Sopenharmony_ci
29562306a36Sopenharmony_ci&extcon_usb1 {
29662306a36Sopenharmony_ci	vbus-gpio = <&pcf_lcd 14 GPIO_ACTIVE_HIGH>;
29762306a36Sopenharmony_ci};
29862306a36Sopenharmony_ci
29962306a36Sopenharmony_ci&extcon_usb2 {
30062306a36Sopenharmony_ci	vbus-gpio = <&pcf_lcd 15 GPIO_ACTIVE_HIGH>;
30162306a36Sopenharmony_ci};
30262306a36Sopenharmony_ci
30362306a36Sopenharmony_ci&ipu2 {
30462306a36Sopenharmony_ci	status = "okay";
30562306a36Sopenharmony_ci	memory-region = <&ipu2_memory_region>;
30662306a36Sopenharmony_ci};
30762306a36Sopenharmony_ci
30862306a36Sopenharmony_ci&ipu1 {
30962306a36Sopenharmony_ci	status = "okay";
31062306a36Sopenharmony_ci	memory-region = <&ipu1_memory_region>;
31162306a36Sopenharmony_ci};
31262306a36Sopenharmony_ci
31362306a36Sopenharmony_ci&dsp1 {
31462306a36Sopenharmony_ci	status = "okay";
31562306a36Sopenharmony_ci	memory-region = <&dsp1_memory_region>;
31662306a36Sopenharmony_ci};
317