Skip to content

Commit e6a51ff

Browse files
Anand Gadiyarnmenon
authored andcommitted
arm64: ti: dts: Add support for AM62x LP SK
The AM62x LP SK board is similar to the AM62x SK board, but has some not-so-minor changes that requires different device tree. The differences are mainly: - AM62x SoC in the AMC package that meets AECQ100 automotive standard. - LPDDR4 versus DDR4 on the AM62x SK. - TPS65219 PMIC instead of discrete regulators. - IO expander pin names are wired differently. - Second ethernet port is currently disabled as the boards do not have the part physically installed. - OSPI NAND vs OSPI NOR. - No WLAN chip instead a SDIO M.2 connector. Signed-off-by: Anand Gadiyar <gadiyar@ti.com> [vigneshr@ti.com: Add PMIC node] Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com> Link: https://lore.kernel.org/r/20230321-am62-lp-sk-v2-3-0a56e1694804@ti.com Signed-off-by: Nishanth Menon <nm@ti.com>
1 parent a841581 commit e6a51ff

2 files changed

Lines changed: 228 additions & 0 deletions

File tree

arch/arm64/boot/dts/ti/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
# Boards with AM62x SoC
1212
dtb-$(CONFIG_ARCH_K3) += k3-am625-beagleplay.dtb
1313
dtb-$(CONFIG_ARCH_K3) += k3-am625-sk.dtb
14+
dtb-$(CONFIG_ARCH_K3) += k3-am62-lp-sk.dtb
1415

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

0 commit comments

Comments
 (0)