162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * AM625 SK: https://www.ti.com/lit/zip/sprr448
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (C) 2021-2022 Texas Instruments Incorporated - https://www.ti.com/
662306a36Sopenharmony_ci */
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci/dts-v1/;
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci#include "k3-am62x-sk-common.dtsi"
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci/ {
1362306a36Sopenharmony_ci	compatible = "ti,am625-sk", "ti,am625";
1462306a36Sopenharmony_ci	model = "Texas Instruments AM625 SK";
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci	opp-table {
1762306a36Sopenharmony_ci		/* Add 1.4GHz OPP for am625-sk board. Requires VDD_CORE to be at 0.85V */
1862306a36Sopenharmony_ci		opp-1400000000 {
1962306a36Sopenharmony_ci			opp-hz = /bits/ 64 <1400000000>;
2062306a36Sopenharmony_ci			opp-supported-hw = <0x01 0x0004>;
2162306a36Sopenharmony_ci			clock-latency-ns = <6000000>;
2262306a36Sopenharmony_ci		};
2362306a36Sopenharmony_ci	};
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci	memory@80000000 {
2662306a36Sopenharmony_ci		device_type = "memory";
2762306a36Sopenharmony_ci		/* 2G RAM */
2862306a36Sopenharmony_ci		reg = <0x00000000 0x80000000 0x00000000 0x80000000>;
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ci	};
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci	vmain_pd: regulator-0 {
3362306a36Sopenharmony_ci		/* TPS65988 PD CONTROLLER OUTPUT */
3462306a36Sopenharmony_ci		compatible = "regulator-fixed";
3562306a36Sopenharmony_ci		regulator-name = "vmain_pd";
3662306a36Sopenharmony_ci		regulator-min-microvolt = <5000000>;
3762306a36Sopenharmony_ci		regulator-max-microvolt = <5000000>;
3862306a36Sopenharmony_ci		regulator-always-on;
3962306a36Sopenharmony_ci		regulator-boot-on;
4062306a36Sopenharmony_ci	};
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci	vcc_5v0: regulator-1 {
4362306a36Sopenharmony_ci		/* Output of LM34936 */
4462306a36Sopenharmony_ci		compatible = "regulator-fixed";
4562306a36Sopenharmony_ci		regulator-name = "vcc_5v0";
4662306a36Sopenharmony_ci		regulator-min-microvolt = <5000000>;
4762306a36Sopenharmony_ci		regulator-max-microvolt = <5000000>;
4862306a36Sopenharmony_ci		vin-supply = <&vmain_pd>;
4962306a36Sopenharmony_ci		regulator-always-on;
5062306a36Sopenharmony_ci		regulator-boot-on;
5162306a36Sopenharmony_ci	};
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ci	vcc_3v3_sys: regulator-2 {
5462306a36Sopenharmony_ci		/* output of LM61460-Q1 */
5562306a36Sopenharmony_ci		compatible = "regulator-fixed";
5662306a36Sopenharmony_ci		regulator-name = "vcc_3v3_sys";
5762306a36Sopenharmony_ci		regulator-min-microvolt = <3300000>;
5862306a36Sopenharmony_ci		regulator-max-microvolt = <3300000>;
5962306a36Sopenharmony_ci		vin-supply = <&vmain_pd>;
6062306a36Sopenharmony_ci		regulator-always-on;
6162306a36Sopenharmony_ci		regulator-boot-on;
6262306a36Sopenharmony_ci	};
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ci	vdd_mmc1: regulator-3 {
6562306a36Sopenharmony_ci		/* TPS22918DBVR */
6662306a36Sopenharmony_ci		compatible = "regulator-fixed";
6762306a36Sopenharmony_ci		regulator-name = "vdd_mmc1";
6862306a36Sopenharmony_ci		regulator-min-microvolt = <3300000>;
6962306a36Sopenharmony_ci		regulator-max-microvolt = <3300000>;
7062306a36Sopenharmony_ci		regulator-boot-on;
7162306a36Sopenharmony_ci		enable-active-high;
7262306a36Sopenharmony_ci		vin-supply = <&vcc_3v3_sys>;
7362306a36Sopenharmony_ci		gpio = <&exp1 3 GPIO_ACTIVE_HIGH>;
7462306a36Sopenharmony_ci	};
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_ci	vdd_sd_dv: regulator-4 {
7762306a36Sopenharmony_ci		/* Output of TLV71033 */
7862306a36Sopenharmony_ci		compatible = "regulator-gpio";
7962306a36Sopenharmony_ci		regulator-name = "tlv71033";
8062306a36Sopenharmony_ci		pinctrl-names = "default";
8162306a36Sopenharmony_ci		pinctrl-0 = <&vdd_sd_dv_pins_default>;
8262306a36Sopenharmony_ci		regulator-min-microvolt = <1800000>;
8362306a36Sopenharmony_ci		regulator-max-microvolt = <3300000>;
8462306a36Sopenharmony_ci		regulator-boot-on;
8562306a36Sopenharmony_ci		vin-supply = <&vcc_5v0>;
8662306a36Sopenharmony_ci		gpios = <&main_gpio0 31 GPIO_ACTIVE_HIGH>;
8762306a36Sopenharmony_ci		states = <1800000 0x0>,
8862306a36Sopenharmony_ci			 <3300000 0x1>;
8962306a36Sopenharmony_ci	};
9062306a36Sopenharmony_ci
9162306a36Sopenharmony_ci	vcc_1v8: regulator-5 {
9262306a36Sopenharmony_ci		/* output of TPS6282518DMQ */
9362306a36Sopenharmony_ci		compatible = "regulator-fixed";
9462306a36Sopenharmony_ci		regulator-name = "vcc_1v8";
9562306a36Sopenharmony_ci		regulator-min-microvolt = <1800000>;
9662306a36Sopenharmony_ci		regulator-max-microvolt = <1800000>;
9762306a36Sopenharmony_ci		vin-supply = <&vcc_3v3_sys>;
9862306a36Sopenharmony_ci		regulator-always-on;
9962306a36Sopenharmony_ci		regulator-boot-on;
10062306a36Sopenharmony_ci	};
10162306a36Sopenharmony_ci};
10262306a36Sopenharmony_ci
10362306a36Sopenharmony_ci&main_pmx0 {
10462306a36Sopenharmony_ci	main_rgmii2_pins_default: main-rgmii2-default-pins {
10562306a36Sopenharmony_ci		pinctrl-single,pins = <
10662306a36Sopenharmony_ci			AM62X_IOPAD(0x184, PIN_INPUT, 0) /* (AE23) RGMII2_RD0 */
10762306a36Sopenharmony_ci			AM62X_IOPAD(0x188, PIN_INPUT, 0) /* (AB20) RGMII2_RD1 */
10862306a36Sopenharmony_ci			AM62X_IOPAD(0x18c, PIN_INPUT, 0) /* (AC21) RGMII2_RD2 */
10962306a36Sopenharmony_ci			AM62X_IOPAD(0x190, PIN_INPUT, 0) /* (AE22) RGMII2_RD3 */
11062306a36Sopenharmony_ci			AM62X_IOPAD(0x180, PIN_INPUT, 0) /* (AD23) RGMII2_RXC */
11162306a36Sopenharmony_ci			AM62X_IOPAD(0x17c, PIN_INPUT, 0) /* (AD22) RGMII2_RX_CTL */
11262306a36Sopenharmony_ci			AM62X_IOPAD(0x16c, PIN_OUTPUT, 0) /* (Y18) RGMII2_TD0 */
11362306a36Sopenharmony_ci			AM62X_IOPAD(0x170, PIN_OUTPUT, 0) /* (AA18) RGMII2_TD1 */
11462306a36Sopenharmony_ci			AM62X_IOPAD(0x174, PIN_OUTPUT, 0) /* (AD21) RGMII2_TD2 */
11562306a36Sopenharmony_ci			AM62X_IOPAD(0x178, PIN_OUTPUT, 0) /* (AC20) RGMII2_TD3 */
11662306a36Sopenharmony_ci			AM62X_IOPAD(0x168, PIN_OUTPUT, 0) /* (AE21) RGMII2_TXC */
11762306a36Sopenharmony_ci			AM62X_IOPAD(0x164, PIN_OUTPUT, 0) /* (AA19) RGMII2_TX_CTL */
11862306a36Sopenharmony_ci		>;
11962306a36Sopenharmony_ci	};
12062306a36Sopenharmony_ci
12162306a36Sopenharmony_ci	ospi0_pins_default: ospi0-default-pins {
12262306a36Sopenharmony_ci		pinctrl-single,pins = <
12362306a36Sopenharmony_ci			AM62X_IOPAD(0x000, PIN_OUTPUT, 0) /* (H24) OSPI0_CLK */
12462306a36Sopenharmony_ci			AM62X_IOPAD(0x02c, PIN_OUTPUT, 0) /* (F23) OSPI0_CSn0 */
12562306a36Sopenharmony_ci			AM62X_IOPAD(0x00c, PIN_INPUT, 0) /* (E25) OSPI0_D0 */
12662306a36Sopenharmony_ci			AM62X_IOPAD(0x010, PIN_INPUT, 0) /* (G24) OSPI0_D1 */
12762306a36Sopenharmony_ci			AM62X_IOPAD(0x014, PIN_INPUT, 0) /* (F25) OSPI0_D2 */
12862306a36Sopenharmony_ci			AM62X_IOPAD(0x018, PIN_INPUT, 0) /* (F24) OSPI0_D3 */
12962306a36Sopenharmony_ci			AM62X_IOPAD(0x01c, PIN_INPUT, 0) /* (J23) OSPI0_D4 */
13062306a36Sopenharmony_ci			AM62X_IOPAD(0x020, PIN_INPUT, 0) /* (J25) OSPI0_D5 */
13162306a36Sopenharmony_ci			AM62X_IOPAD(0x024, PIN_INPUT, 0) /* (H25) OSPI0_D6 */
13262306a36Sopenharmony_ci			AM62X_IOPAD(0x028, PIN_INPUT, 0) /* (J22) OSPI0_D7 */
13362306a36Sopenharmony_ci			AM62X_IOPAD(0x008, PIN_INPUT, 0) /* (J24) OSPI0_DQS */
13462306a36Sopenharmony_ci		>;
13562306a36Sopenharmony_ci	};
13662306a36Sopenharmony_ci
13762306a36Sopenharmony_ci	vdd_sd_dv_pins_default: vdd-sd-dv-default-pins {
13862306a36Sopenharmony_ci		pinctrl-single,pins = <
13962306a36Sopenharmony_ci			AM62X_IOPAD(0x07c, PIN_OUTPUT, 7) /* (P25) GPMC0_CLK.GPIO0_31 */
14062306a36Sopenharmony_ci		>;
14162306a36Sopenharmony_ci	};
14262306a36Sopenharmony_ci
14362306a36Sopenharmony_ci	main_gpio1_ioexp_intr_pins_default: main-gpio1-ioexp-intr-default-pins {
14462306a36Sopenharmony_ci		pinctrl-single,pins = <
14562306a36Sopenharmony_ci			AM62X_IOPAD(0x01d4, PIN_INPUT, 7) /* (B15) UART0_RTSn.GPIO1_23 */
14662306a36Sopenharmony_ci		>;
14762306a36Sopenharmony_ci	};
14862306a36Sopenharmony_ci};
14962306a36Sopenharmony_ci
15062306a36Sopenharmony_ci&main_i2c1 {
15162306a36Sopenharmony_ci	exp1: gpio@22 {
15262306a36Sopenharmony_ci		compatible = "ti,tca6424";
15362306a36Sopenharmony_ci		reg = <0x22>;
15462306a36Sopenharmony_ci		gpio-controller;
15562306a36Sopenharmony_ci		#gpio-cells = <2>;
15662306a36Sopenharmony_ci		gpio-line-names = "GPIO_CPSW2_RST", "GPIO_CPSW1_RST",
15762306a36Sopenharmony_ci				   "PRU_DETECT", "MMC1_SD_EN",
15862306a36Sopenharmony_ci				   "VPP_LDO_EN", "EXP_PS_3V3_En",
15962306a36Sopenharmony_ci				   "EXP_PS_5V0_En", "EXP_HAT_DETECT",
16062306a36Sopenharmony_ci				   "GPIO_AUD_RSTn", "GPIO_eMMC_RSTn",
16162306a36Sopenharmony_ci				   "UART1_FET_BUF_EN", "WL_LT_EN",
16262306a36Sopenharmony_ci				   "GPIO_HDMI_RSTn", "CSI_GPIO1",
16362306a36Sopenharmony_ci				   "CSI_GPIO2", "PRU_3V3_EN",
16462306a36Sopenharmony_ci				   "HDMI_INTn", "PD_I2C_IRQ",
16562306a36Sopenharmony_ci				   "MCASP1_FET_EN", "MCASP1_BUF_BT_EN",
16662306a36Sopenharmony_ci				   "MCASP1_FET_SEL", "UART1_FET_SEL",
16762306a36Sopenharmony_ci				   "TSINT#", "IO_EXP_TEST_LED";
16862306a36Sopenharmony_ci
16962306a36Sopenharmony_ci		interrupt-parent = <&main_gpio1>;
17062306a36Sopenharmony_ci		interrupts = <23 IRQ_TYPE_EDGE_FALLING>;
17162306a36Sopenharmony_ci		interrupt-controller;
17262306a36Sopenharmony_ci		#interrupt-cells = <2>;
17362306a36Sopenharmony_ci
17462306a36Sopenharmony_ci		pinctrl-names = "default";
17562306a36Sopenharmony_ci		pinctrl-0 = <&main_gpio1_ioexp_intr_pins_default>;
17662306a36Sopenharmony_ci	};
17762306a36Sopenharmony_ci};
17862306a36Sopenharmony_ci
17962306a36Sopenharmony_ci&sdhci1 {
18062306a36Sopenharmony_ci	vmmc-supply = <&vdd_mmc1>;
18162306a36Sopenharmony_ci	vqmmc-supply = <&vdd_sd_dv>;
18262306a36Sopenharmony_ci};
18362306a36Sopenharmony_ci
18462306a36Sopenharmony_ci&cpsw3g {
18562306a36Sopenharmony_ci	pinctrl-names = "default";
18662306a36Sopenharmony_ci	pinctrl-0 = <&main_rgmii1_pins_default>, <&main_rgmii2_pins_default>;
18762306a36Sopenharmony_ci};
18862306a36Sopenharmony_ci
18962306a36Sopenharmony_ci&cpsw_port2 {
19062306a36Sopenharmony_ci	phy-mode = "rgmii-rxid";
19162306a36Sopenharmony_ci	phy-handle = <&cpsw3g_phy1>;
19262306a36Sopenharmony_ci};
19362306a36Sopenharmony_ci
19462306a36Sopenharmony_ci&cpsw3g_mdio {
19562306a36Sopenharmony_ci	cpsw3g_phy1: ethernet-phy@1 {
19662306a36Sopenharmony_ci		reg = <1>;
19762306a36Sopenharmony_ci		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
19862306a36Sopenharmony_ci		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
19962306a36Sopenharmony_ci		ti,min-output-impedance;
20062306a36Sopenharmony_ci	};
20162306a36Sopenharmony_ci};
20262306a36Sopenharmony_ci
20362306a36Sopenharmony_ci&mailbox0_cluster0 {
20462306a36Sopenharmony_ci	mbox_m4_0: mbox-m4-0 {
20562306a36Sopenharmony_ci		ti,mbox-rx = <0 0 0>;
20662306a36Sopenharmony_ci		ti,mbox-tx = <1 0 0>;
20762306a36Sopenharmony_ci	};
20862306a36Sopenharmony_ci};
20962306a36Sopenharmony_ci
21062306a36Sopenharmony_ci&ospi0 {
21162306a36Sopenharmony_ci	status = "okay";
21262306a36Sopenharmony_ci	pinctrl-names = "default";
21362306a36Sopenharmony_ci	pinctrl-0 = <&ospi0_pins_default>;
21462306a36Sopenharmony_ci
21562306a36Sopenharmony_ci	flash@0 {
21662306a36Sopenharmony_ci		compatible = "jedec,spi-nor";
21762306a36Sopenharmony_ci		reg = <0x0>;
21862306a36Sopenharmony_ci		spi-tx-bus-width = <8>;
21962306a36Sopenharmony_ci		spi-rx-bus-width = <8>;
22062306a36Sopenharmony_ci		spi-max-frequency = <25000000>;
22162306a36Sopenharmony_ci		cdns,tshsl-ns = <60>;
22262306a36Sopenharmony_ci		cdns,tsd2d-ns = <60>;
22362306a36Sopenharmony_ci		cdns,tchsh-ns = <60>;
22462306a36Sopenharmony_ci		cdns,tslch-ns = <60>;
22562306a36Sopenharmony_ci		cdns,read-delay = <4>;
22662306a36Sopenharmony_ci
22762306a36Sopenharmony_ci		partitions {
22862306a36Sopenharmony_ci			compatible = "fixed-partitions";
22962306a36Sopenharmony_ci			#address-cells = <1>;
23062306a36Sopenharmony_ci			#size-cells = <1>;
23162306a36Sopenharmony_ci
23262306a36Sopenharmony_ci			partition@0 {
23362306a36Sopenharmony_ci				label = "ospi.tiboot3";
23462306a36Sopenharmony_ci				reg = <0x0 0x80000>;
23562306a36Sopenharmony_ci			};
23662306a36Sopenharmony_ci
23762306a36Sopenharmony_ci			partition@80000 {
23862306a36Sopenharmony_ci				label = "ospi.tispl";
23962306a36Sopenharmony_ci				reg = <0x80000 0x200000>;
24062306a36Sopenharmony_ci			};
24162306a36Sopenharmony_ci
24262306a36Sopenharmony_ci			partition@280000 {
24362306a36Sopenharmony_ci				label = "ospi.u-boot";
24462306a36Sopenharmony_ci				reg = <0x280000 0x400000>;
24562306a36Sopenharmony_ci			};
24662306a36Sopenharmony_ci
24762306a36Sopenharmony_ci			partition@680000 {
24862306a36Sopenharmony_ci				label = "ospi.env";
24962306a36Sopenharmony_ci				reg = <0x680000 0x40000>;
25062306a36Sopenharmony_ci			};
25162306a36Sopenharmony_ci
25262306a36Sopenharmony_ci			partition@6c0000 {
25362306a36Sopenharmony_ci				label = "ospi.env.backup";
25462306a36Sopenharmony_ci				reg = <0x6c0000 0x40000>;
25562306a36Sopenharmony_ci			};
25662306a36Sopenharmony_ci
25762306a36Sopenharmony_ci			partition@800000 {
25862306a36Sopenharmony_ci				label = "ospi.rootfs";
25962306a36Sopenharmony_ci				reg = <0x800000 0x37c0000>;
26062306a36Sopenharmony_ci			};
26162306a36Sopenharmony_ci
26262306a36Sopenharmony_ci			partition@3fc0000 {
26362306a36Sopenharmony_ci				label = "ospi.phypattern";
26462306a36Sopenharmony_ci				reg = <0x3fc0000 0x40000>;
26562306a36Sopenharmony_ci			};
26662306a36Sopenharmony_ci		};
26762306a36Sopenharmony_ci	};
26862306a36Sopenharmony_ci};
26962306a36Sopenharmony_ci
27062306a36Sopenharmony_ci&tlv320aic3106 {
27162306a36Sopenharmony_ci	DVDD-supply = <&vcc_1v8>;
27262306a36Sopenharmony_ci};
273