xref: /freebsd/sys/contrib/device-tree/src/arm64/ti/k3-am62-lp-sk.dts (revision fac71e4e09885bb2afa3d984a0c239a52e1a7418)
1*fac71e4eSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2*fac71e4eSEmmanuel Vadot/*
3*fac71e4eSEmmanuel Vadot * AM62x LP SK: https://www.ti.com/tool/SK-AM62-LP
4*fac71e4eSEmmanuel Vadot *
5*fac71e4eSEmmanuel Vadot * Copyright (C) 2021-2023 Texas Instruments Incorporated - https://www.ti.com/
6*fac71e4eSEmmanuel Vadot */
7*fac71e4eSEmmanuel Vadot
8*fac71e4eSEmmanuel Vadot/dts-v1/;
9*fac71e4eSEmmanuel Vadot
10*fac71e4eSEmmanuel Vadot#include "k3-am62x-sk-common.dtsi"
11*fac71e4eSEmmanuel Vadot
12*fac71e4eSEmmanuel Vadot/ {
13*fac71e4eSEmmanuel Vadot	compatible = "ti,am62-lp-sk", "ti,am625";
14*fac71e4eSEmmanuel Vadot	model = "Texas Instruments AM62x LP SK";
15*fac71e4eSEmmanuel Vadot
16*fac71e4eSEmmanuel Vadot	vmain_pd: regulator-0 {
17*fac71e4eSEmmanuel Vadot		/* TPS65988 PD CONTROLLER OUTPUT */
18*fac71e4eSEmmanuel Vadot		compatible = "regulator-fixed";
19*fac71e4eSEmmanuel Vadot		regulator-name = "vmain_pd";
20*fac71e4eSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
21*fac71e4eSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
22*fac71e4eSEmmanuel Vadot		regulator-always-on;
23*fac71e4eSEmmanuel Vadot		regulator-boot-on;
24*fac71e4eSEmmanuel Vadot	};
25*fac71e4eSEmmanuel Vadot
26*fac71e4eSEmmanuel Vadot	vcc_5v0: regulator-1 {
27*fac71e4eSEmmanuel Vadot		/* Output of TPS630702RNMR */
28*fac71e4eSEmmanuel Vadot		compatible = "regulator-fixed";
29*fac71e4eSEmmanuel Vadot		regulator-name = "vcc_5v0";
30*fac71e4eSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
31*fac71e4eSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
32*fac71e4eSEmmanuel Vadot		vin-supply = <&vmain_pd>;
33*fac71e4eSEmmanuel Vadot		regulator-always-on;
34*fac71e4eSEmmanuel Vadot		regulator-boot-on;
35*fac71e4eSEmmanuel Vadot	};
36*fac71e4eSEmmanuel Vadot
37*fac71e4eSEmmanuel Vadot	vcc_3v3_sys: regulator-2 {
38*fac71e4eSEmmanuel Vadot		/* output of LM61460-Q1 */
39*fac71e4eSEmmanuel Vadot		compatible = "regulator-fixed";
40*fac71e4eSEmmanuel Vadot		regulator-name = "vcc_3v3_sys";
41*fac71e4eSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
42*fac71e4eSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
43*fac71e4eSEmmanuel Vadot		vin-supply = <&vmain_pd>;
44*fac71e4eSEmmanuel Vadot		regulator-always-on;
45*fac71e4eSEmmanuel Vadot		regulator-boot-on;
46*fac71e4eSEmmanuel Vadot	};
47*fac71e4eSEmmanuel Vadot
48*fac71e4eSEmmanuel Vadot	vdd_mmc1: regulator-3 {
49*fac71e4eSEmmanuel Vadot		/* TPS22918DBVR */
50*fac71e4eSEmmanuel Vadot		compatible = "regulator-fixed";
51*fac71e4eSEmmanuel Vadot		regulator-name = "vdd_mmc1";
52*fac71e4eSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
53*fac71e4eSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
54*fac71e4eSEmmanuel Vadot		regulator-boot-on;
55*fac71e4eSEmmanuel Vadot		enable-active-high;
56*fac71e4eSEmmanuel Vadot		vin-supply = <&vcc_3v3_sys>;
57*fac71e4eSEmmanuel Vadot		gpio = <&exp1 3 GPIO_ACTIVE_HIGH>;
58*fac71e4eSEmmanuel Vadot	};
59*fac71e4eSEmmanuel Vadot
60*fac71e4eSEmmanuel Vadot	vddshv_sdio: regulator-4 {
61*fac71e4eSEmmanuel Vadot		compatible = "regulator-gpio";
62*fac71e4eSEmmanuel Vadot		regulator-name = "vddshv_sdio";
63*fac71e4eSEmmanuel Vadot		pinctrl-names = "default";
64*fac71e4eSEmmanuel Vadot		pinctrl-0 = <&vddshv_sdio_pins_default>;
65*fac71e4eSEmmanuel Vadot		regulator-min-microvolt = <1800000>;
66*fac71e4eSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
67*fac71e4eSEmmanuel Vadot		regulator-boot-on;
68*fac71e4eSEmmanuel Vadot		vin-supply = <&ldo1_reg>;
69*fac71e4eSEmmanuel Vadot		gpios = <&main_gpio0 31 GPIO_ACTIVE_HIGH>;
70*fac71e4eSEmmanuel Vadot		states = <1800000 0x0>,
71*fac71e4eSEmmanuel Vadot			 <3300000 0x1>;
72*fac71e4eSEmmanuel Vadot	};
73*fac71e4eSEmmanuel Vadot};
74*fac71e4eSEmmanuel Vadot
75*fac71e4eSEmmanuel Vadot&main_pmx0 {
76*fac71e4eSEmmanuel Vadot	vddshv_sdio_pins_default: vddshv-sdio-pins-default {
77*fac71e4eSEmmanuel Vadot		pinctrl-single,pins = <
78*fac71e4eSEmmanuel Vadot			AM62X_IOPAD(0x07c, PIN_OUTPUT, 7) /* (M19) GPMC0_CLK.GPIO0_31 */
79*fac71e4eSEmmanuel Vadot		>;
80*fac71e4eSEmmanuel Vadot	};
81*fac71e4eSEmmanuel Vadot
82*fac71e4eSEmmanuel Vadot	main_gpio1_ioexp_intr_pins_default: main-gpio1-ioexp-intr-pins-default {
83*fac71e4eSEmmanuel Vadot		pinctrl-single,pins = <
84*fac71e4eSEmmanuel Vadot			AM62X_IOPAD(0x01d4, PIN_INPUT, 7) /* (C13) UART0_RTSn.GPIO1_23 */
85*fac71e4eSEmmanuel Vadot		>;
86*fac71e4eSEmmanuel Vadot	};
87*fac71e4eSEmmanuel Vadot
88*fac71e4eSEmmanuel Vadot	pmic_irq_pins_default: pmic-irq-pins-default {
89*fac71e4eSEmmanuel Vadot		pinctrl-single,pins = <
90*fac71e4eSEmmanuel Vadot			AM62X_IOPAD(0x01f4, PIN_INPUT, 0) /* (B16) EXTINTn */
91*fac71e4eSEmmanuel Vadot		>;
92*fac71e4eSEmmanuel Vadot	};
93*fac71e4eSEmmanuel Vadot};
94*fac71e4eSEmmanuel Vadot
95*fac71e4eSEmmanuel Vadot&main_i2c1 {
96*fac71e4eSEmmanuel Vadot	exp1: gpio@22 {
97*fac71e4eSEmmanuel Vadot		compatible = "ti,tca6424";
98*fac71e4eSEmmanuel Vadot		reg = <0x22>;
99*fac71e4eSEmmanuel Vadot		gpio-controller;
100*fac71e4eSEmmanuel Vadot		#gpio-cells = <2>;
101*fac71e4eSEmmanuel Vadot		gpio-line-names = "GPIO_CPSW2_RST", "GPIO_CPSW1_RST",
102*fac71e4eSEmmanuel Vadot				   "PRU_DETECT", "MMC1_SD_EN",
103*fac71e4eSEmmanuel Vadot				   "VPP_LDO_EN", "EXP_PS_3V3_En",
104*fac71e4eSEmmanuel Vadot				   "EXP_PS_5V0_En", "EXP_HAT_DETECT",
105*fac71e4eSEmmanuel Vadot				   "GPIO_AUD_RSTn", "GPIO_eMMC_RSTn",
106*fac71e4eSEmmanuel Vadot				   "UART1_FET_BUF_EN", "BT_UART_WAKE_SOC",
107*fac71e4eSEmmanuel Vadot				   "GPIO_HDMI_RSTn", "CSI_GPIO0",
108*fac71e4eSEmmanuel Vadot				   "CSI_GPIO1", "GPIO_OLDI_INT",
109*fac71e4eSEmmanuel Vadot				   "HDMI_INTn", "TEST_GPIO2",
110*fac71e4eSEmmanuel Vadot				   "MCASP1_FET_EN", "MCASP1_BUF_BT_EN",
111*fac71e4eSEmmanuel Vadot				   "MCASP1_FET_SEL", "UART1_FET_SEL",
112*fac71e4eSEmmanuel Vadot				   "", "IO_EXP_TEST_LED";
113*fac71e4eSEmmanuel Vadot
114*fac71e4eSEmmanuel Vadot		interrupt-parent = <&main_gpio1>;
115*fac71e4eSEmmanuel Vadot		interrupts = <23 IRQ_TYPE_EDGE_FALLING>;
116*fac71e4eSEmmanuel Vadot		interrupt-controller;
117*fac71e4eSEmmanuel Vadot		#interrupt-cells = <2>;
118*fac71e4eSEmmanuel Vadot
119*fac71e4eSEmmanuel Vadot		pinctrl-names = "default";
120*fac71e4eSEmmanuel Vadot		pinctrl-0 = <&main_gpio1_ioexp_intr_pins_default>;
121*fac71e4eSEmmanuel Vadot	};
122*fac71e4eSEmmanuel Vadot
123*fac71e4eSEmmanuel Vadot	exp2: gpio@23 {
124*fac71e4eSEmmanuel Vadot		compatible = "ti,tca6424";
125*fac71e4eSEmmanuel Vadot		reg = <0x23>;
126*fac71e4eSEmmanuel Vadot		gpio-controller;
127*fac71e4eSEmmanuel Vadot		#gpio-cells = <2>;
128*fac71e4eSEmmanuel Vadot		gpio-line-names = "", "",
129*fac71e4eSEmmanuel Vadot				   "", "",
130*fac71e4eSEmmanuel Vadot				   "", "",
131*fac71e4eSEmmanuel Vadot				   "", "",
132*fac71e4eSEmmanuel Vadot				   "WL_LT_EN", "CSI_RSTz",
133*fac71e4eSEmmanuel Vadot				   "", "",
134*fac71e4eSEmmanuel Vadot				   "", "",
135*fac71e4eSEmmanuel Vadot				   "", "",
136*fac71e4eSEmmanuel Vadot				   "SPI0_FET_SEL", "SPI0_FET_OE",
137*fac71e4eSEmmanuel Vadot				   "GPIO_OLDI_RSTn", "PRU_3V3_EN",
138*fac71e4eSEmmanuel Vadot				   "", "",
139*fac71e4eSEmmanuel Vadot				   "CSI_VLDO_SEL", "SOC_WLAN_SDIO_RST";
140*fac71e4eSEmmanuel Vadot	};
141*fac71e4eSEmmanuel Vadot};
142*fac71e4eSEmmanuel Vadot
143*fac71e4eSEmmanuel Vadot&sdhci1 {
144*fac71e4eSEmmanuel Vadot	vmmc-supply = <&vdd_mmc1>;
145*fac71e4eSEmmanuel Vadot	vqmmc-supply = <&vddshv_sdio>;
146*fac71e4eSEmmanuel Vadot};
147*fac71e4eSEmmanuel Vadot
148*fac71e4eSEmmanuel Vadot&cpsw_port2 {
149*fac71e4eSEmmanuel Vadot	status = "disabled";
150*fac71e4eSEmmanuel Vadot};
151*fac71e4eSEmmanuel Vadot
152*fac71e4eSEmmanuel Vadot&main_i2c0 {
153*fac71e4eSEmmanuel Vadot	tps65219: pmic@30 {
154*fac71e4eSEmmanuel Vadot		compatible = "ti,tps65219";
155*fac71e4eSEmmanuel Vadot		reg = <0x30>;
156*fac71e4eSEmmanuel Vadot		buck1-supply = <&vcc_3v3_sys>;
157*fac71e4eSEmmanuel Vadot		buck2-supply = <&vcc_3v3_sys>;
158*fac71e4eSEmmanuel Vadot		buck3-supply = <&vcc_3v3_sys>;
159*fac71e4eSEmmanuel Vadot		ldo1-supply = <&vcc_3v3_sys>;
160*fac71e4eSEmmanuel Vadot		ldo2-supply = <&buck2_reg>;
161*fac71e4eSEmmanuel Vadot		ldo3-supply = <&vcc_3v3_sys>;
162*fac71e4eSEmmanuel Vadot		ldo4-supply = <&vcc_3v3_sys>;
163*fac71e4eSEmmanuel Vadot
164*fac71e4eSEmmanuel Vadot		pinctrl-names = "default";
165*fac71e4eSEmmanuel Vadot		pinctrl-0 = <&pmic_irq_pins_default>;
166*fac71e4eSEmmanuel Vadot
167*fac71e4eSEmmanuel Vadot		interrupt-parent = <&gic500>;
168*fac71e4eSEmmanuel Vadot		interrupts = <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>;
169*fac71e4eSEmmanuel Vadot		ti,power-button;
170*fac71e4eSEmmanuel Vadot
171*fac71e4eSEmmanuel Vadot		regulators {
172*fac71e4eSEmmanuel Vadot			buck1_reg: buck1 {
173*fac71e4eSEmmanuel Vadot				regulator-name = "VDD_CORE";
174*fac71e4eSEmmanuel Vadot				regulator-min-microvolt = <750000>;
175*fac71e4eSEmmanuel Vadot				regulator-max-microvolt = <750000>;
176*fac71e4eSEmmanuel Vadot				regulator-boot-on;
177*fac71e4eSEmmanuel Vadot				regulator-always-on;
178*fac71e4eSEmmanuel Vadot			};
179*fac71e4eSEmmanuel Vadot
180*fac71e4eSEmmanuel Vadot			buck2_reg: buck2 {
181*fac71e4eSEmmanuel Vadot				regulator-name = "VCC1V8_SYS";
182*fac71e4eSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
183*fac71e4eSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
184*fac71e4eSEmmanuel Vadot				regulator-boot-on;
185*fac71e4eSEmmanuel Vadot				regulator-always-on;
186*fac71e4eSEmmanuel Vadot			};
187*fac71e4eSEmmanuel Vadot
188*fac71e4eSEmmanuel Vadot			buck3_reg: buck3 {
189*fac71e4eSEmmanuel Vadot				regulator-name = "VDD_LPDDR4";
190*fac71e4eSEmmanuel Vadot				regulator-min-microvolt = <1100000>;
191*fac71e4eSEmmanuel Vadot				regulator-max-microvolt = <1100000>;
192*fac71e4eSEmmanuel Vadot				regulator-boot-on;
193*fac71e4eSEmmanuel Vadot				regulator-always-on;
194*fac71e4eSEmmanuel Vadot			};
195*fac71e4eSEmmanuel Vadot
196*fac71e4eSEmmanuel Vadot			ldo1_reg: ldo1 {
197*fac71e4eSEmmanuel Vadot				regulator-name = "VDDSHV_SDIO";
198*fac71e4eSEmmanuel Vadot				regulator-min-microvolt = <3300000>;
199*fac71e4eSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
200*fac71e4eSEmmanuel Vadot			};
201*fac71e4eSEmmanuel Vadot
202*fac71e4eSEmmanuel Vadot			ldo2_reg: ldo2 {
203*fac71e4eSEmmanuel Vadot				regulator-name = "VDDAR_CORE";
204*fac71e4eSEmmanuel Vadot				regulator-min-microvolt = <850000>;
205*fac71e4eSEmmanuel Vadot				regulator-max-microvolt = <850000>;
206*fac71e4eSEmmanuel Vadot				regulator-boot-on;
207*fac71e4eSEmmanuel Vadot				regulator-always-on;
208*fac71e4eSEmmanuel Vadot			};
209*fac71e4eSEmmanuel Vadot
210*fac71e4eSEmmanuel Vadot			ldo3_reg: ldo3 {
211*fac71e4eSEmmanuel Vadot				regulator-name = "VDDA_1V8";
212*fac71e4eSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
213*fac71e4eSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
214*fac71e4eSEmmanuel Vadot				regulator-boot-on;
215*fac71e4eSEmmanuel Vadot				regulator-always-on;
216*fac71e4eSEmmanuel Vadot			};
217*fac71e4eSEmmanuel Vadot
218*fac71e4eSEmmanuel Vadot			ldo4_reg: ldo4 {
219*fac71e4eSEmmanuel Vadot				regulator-name = "VDD_1V2";
220*fac71e4eSEmmanuel Vadot				regulator-min-microvolt = <1200000>;
221*fac71e4eSEmmanuel Vadot				regulator-max-microvolt = <1200000>;
222*fac71e4eSEmmanuel Vadot				regulator-boot-on;
223*fac71e4eSEmmanuel Vadot				regulator-always-on;
224*fac71e4eSEmmanuel Vadot			};
225*fac71e4eSEmmanuel Vadot		};
226*fac71e4eSEmmanuel Vadot	};
227*fac71e4eSEmmanuel Vadot};
228*fac71e4eSEmmanuel Vadot
229*fac71e4eSEmmanuel Vadot&tlv320aic3106 {
230*fac71e4eSEmmanuel Vadot	DVDD-supply = <&buck2_reg>;
231*fac71e4eSEmmanuel Vadot};
232