xref: /linux/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced-sm.dts (revision 79790b6818e96c58fe2bffee1b418c16e64e7b80)
1*8829fe97SBaocheng Su// SPDX-License-Identifier: GPL-2.0-only
2*8829fe97SBaocheng Su/*
3*8829fe97SBaocheng Su * Copyright (c) Siemens AG, 2023
4*8829fe97SBaocheng Su *
5*8829fe97SBaocheng Su * Authors:
6*8829fe97SBaocheng Su *   Baocheng Su <baocheng.su@siemens.com>
7*8829fe97SBaocheng Su *   Chao Zeng <chao.zeng@siemens.com>
8*8829fe97SBaocheng Su *   Huaqian Li <huaqian.li@siemens.com>
9*8829fe97SBaocheng Su *
10*8829fe97SBaocheng Su * AM6548-based (quad-core) IOT2050 SM variant, Product Generation 2
11*8829fe97SBaocheng Su * 4 GB RAM, 16 GB eMMC, USB-serial converter on connector X30
12*8829fe97SBaocheng Su *
13*8829fe97SBaocheng Su * Product homepage:
14*8829fe97SBaocheng Su * https://new.siemens.com/global/en/products/automation/pc-based/iot-gateways/simatic-iot2050.html
15*8829fe97SBaocheng Su */
16*8829fe97SBaocheng Su
17*8829fe97SBaocheng Su/dts-v1/;
18*8829fe97SBaocheng Su
19*8829fe97SBaocheng Su#include "k3-am6548-iot2050-advanced-common.dtsi"
20*8829fe97SBaocheng Su#include "k3-am65-iot2050-common-pg2.dtsi"
21*8829fe97SBaocheng Su
22*8829fe97SBaocheng Su/ {
23*8829fe97SBaocheng Su	compatible = "siemens,iot2050-advanced-sm", "ti,am654";
24*8829fe97SBaocheng Su	model = "SIMATIC IOT2050 Advanced SM";
25*8829fe97SBaocheng Su
26*8829fe97SBaocheng Su	memory@80000000 {
27*8829fe97SBaocheng Su		device_type = "memory";
28*8829fe97SBaocheng Su		/* 4G RAM */
29*8829fe97SBaocheng Su		reg = <0x00000000 0x80000000 0x00000000 0x80000000>,
30*8829fe97SBaocheng Su		      <0x00000008 0x80000000 0x00000000 0x80000000>;
31*8829fe97SBaocheng Su	};
32*8829fe97SBaocheng Su
33*8829fe97SBaocheng Su	aliases {
34*8829fe97SBaocheng Su		spi1 = &main_spi0;
35*8829fe97SBaocheng Su	};
36*8829fe97SBaocheng Su
37*8829fe97SBaocheng Su	leds {
38*8829fe97SBaocheng Su		pinctrl-0 = <&leds_pins_default>, <&user1_led_pins>;
39*8829fe97SBaocheng Su
40*8829fe97SBaocheng Su		led-2 {
41*8829fe97SBaocheng Su			gpios = <&wkup_gpio0 52 GPIO_ACTIVE_HIGH>;
42*8829fe97SBaocheng Su		};
43*8829fe97SBaocheng Su
44*8829fe97SBaocheng Su		led-3 {
45*8829fe97SBaocheng Su			gpios = <&wkup_gpio0 53 GPIO_ACTIVE_HIGH>;
46*8829fe97SBaocheng Su		};
47*8829fe97SBaocheng Su	};
48*8829fe97SBaocheng Su};
49*8829fe97SBaocheng Su
50*8829fe97SBaocheng Su&main_pmx0 {
51*8829fe97SBaocheng Su	main_pcie_enable_pins_default: main-pcie-enable-default-pins {
52*8829fe97SBaocheng Su		pinctrl-single,pins = <
53*8829fe97SBaocheng Su			AM65X_IOPAD(0x01d8, PIN_OUTPUT, 7)  /* (AH12) GPIO1_22 */
54*8829fe97SBaocheng Su		>;
55*8829fe97SBaocheng Su	};
56*8829fe97SBaocheng Su
57*8829fe97SBaocheng Su	main_spi0_pins: main-spi0-default-pins  {
58*8829fe97SBaocheng Su		pinctrl-single,pins = <
59*8829fe97SBaocheng Su			AM65X_IOPAD(0x01c4, PIN_INPUT, 0) /* (AH13) SPI0_CLK */
60*8829fe97SBaocheng Su			AM65X_IOPAD(0x01c8, PIN_INPUT, 0) /* (AE13) SPI0_D0 */
61*8829fe97SBaocheng Su			AM65X_IOPAD(0x01cc, PIN_INPUT, 0) /* (AD13) SPI0_D1 */
62*8829fe97SBaocheng Su			AM65X_IOPAD(0x01bc, PIN_OUTPUT, 0) /* (AG13) SPI0_CS0 */
63*8829fe97SBaocheng Su		>;
64*8829fe97SBaocheng Su	};
65*8829fe97SBaocheng Su};
66*8829fe97SBaocheng Su
67*8829fe97SBaocheng Su&main_pmx1 {
68*8829fe97SBaocheng Su	asic_spi_mux_ctrl_pin: asic-spi-mux-ctrl-default-pins {
69*8829fe97SBaocheng Su		pinctrl-single,pins = <
70*8829fe97SBaocheng Su			AM65X_IOPAD(0x0010, PIN_OUTPUT, 7)  /* (D21) GPIO1_86 */
71*8829fe97SBaocheng Su		>;
72*8829fe97SBaocheng Su	};
73*8829fe97SBaocheng Su};
74*8829fe97SBaocheng Su
75*8829fe97SBaocheng Su&wkup_pmx0 {
76*8829fe97SBaocheng Su	user1_led_pins: user1-led-default-pins {
77*8829fe97SBaocheng Su		pinctrl-single,pins = <
78*8829fe97SBaocheng Su			/* (AB1) WKUP_UART0_RXD:WKUP_GPIO0_52, as USER 1 led red */
79*8829fe97SBaocheng Su			AM65X_WKUP_IOPAD(0x00a0, PIN_OUTPUT, 7)
80*8829fe97SBaocheng Su			/* (AB5) WKUP_UART0_TXD:WKUP_GPIO0_53, as USER 1 led green */
81*8829fe97SBaocheng Su			AM65X_WKUP_IOPAD(0x00a4, PIN_OUTPUT, 7)
82*8829fe97SBaocheng Su		>;
83*8829fe97SBaocheng Su	};
84*8829fe97SBaocheng Su
85*8829fe97SBaocheng Su	soc_asic_pins: soc-asic-default-pins {
86*8829fe97SBaocheng Su		pinctrl-single,pins = <
87*8829fe97SBaocheng Su			AM65X_WKUP_IOPAD(0x0044, PIN_INPUT, 7)  /* (P4) WKUP_GPIO0_29 */
88*8829fe97SBaocheng Su			AM65X_WKUP_IOPAD(0x0048, PIN_INPUT, 7)  /* (P5) WKUP_GPIO0_30 */
89*8829fe97SBaocheng Su			AM65X_WKUP_IOPAD(0x004c, PIN_INPUT, 7)  /* (P1) WKUP_GPIO0_31 */
90*8829fe97SBaocheng Su		>;
91*8829fe97SBaocheng Su	};
92*8829fe97SBaocheng Su};
93*8829fe97SBaocheng Su
94*8829fe97SBaocheng Su&main_gpio0 {
95*8829fe97SBaocheng Su	gpio-line-names = "main_gpio0-base";
96*8829fe97SBaocheng Su};
97*8829fe97SBaocheng Su
98*8829fe97SBaocheng Su&main_gpio1 {
99*8829fe97SBaocheng Su	pinctrl-names = "default";
100*8829fe97SBaocheng Su	pinctrl-0 =
101*8829fe97SBaocheng Su		<&cp2102n_reset_pin_default>,
102*8829fe97SBaocheng Su		<&main_pcie_enable_pins_default>,
103*8829fe97SBaocheng Su		<&asic_spi_mux_ctrl_pin>;
104*8829fe97SBaocheng Su	gpio-line-names =
105*8829fe97SBaocheng Su		/* 0..9 */
106*8829fe97SBaocheng Su		"", "", "", "", "", "", "", "", "", "",
107*8829fe97SBaocheng Su		/* 10..19 */
108*8829fe97SBaocheng Su		"", "", "", "", "", "", "", "", "", "",
109*8829fe97SBaocheng Su		/* 20..29 */
110*8829fe97SBaocheng Su		"", "", "", "", "CP2102N-RESET", "", "", "", "", "",
111*8829fe97SBaocheng Su		/* 30..39 */
112*8829fe97SBaocheng Su		"", "", "", "", "", "", "", "", "", "",
113*8829fe97SBaocheng Su		/* 40..49 */
114*8829fe97SBaocheng Su		"", "", "", "", "", "", "", "", "", "",
115*8829fe97SBaocheng Su		/* 50..59 */
116*8829fe97SBaocheng Su		"", "", "", "", "", "", "", "", "", "",
117*8829fe97SBaocheng Su		/* 60..69 */
118*8829fe97SBaocheng Su		"", "", "", "", "", "", "", "", "", "",
119*8829fe97SBaocheng Su		/* 70..79 */
120*8829fe97SBaocheng Su		"", "", "", "", "", "", "", "", "", "",
121*8829fe97SBaocheng Su		/* 80..86 */
122*8829fe97SBaocheng Su		"", "", "", "", "", "", "ASIC-spi-mux-ctrl";
123*8829fe97SBaocheng Su};
124*8829fe97SBaocheng Su
125*8829fe97SBaocheng Su&wkup_gpio0 {
126*8829fe97SBaocheng Su	pinctrl-names = "default";
127*8829fe97SBaocheng Su	pinctrl-0 =
128*8829fe97SBaocheng Su		<&push_button_pins_default>,
129*8829fe97SBaocheng Su		<&db9_com_mode_pins_default>,
130*8829fe97SBaocheng Su		<&soc_asic_pins>;
131*8829fe97SBaocheng Su	gpio-line-names =
132*8829fe97SBaocheng Su		/* 0..9 */
133*8829fe97SBaocheng Su		"wkup_gpio0-base", "", "", "", "UART0-mode1", "UART0-mode0",
134*8829fe97SBaocheng Su		"UART0-enable", "UART0-terminate", "", "WIFI-disable",
135*8829fe97SBaocheng Su		/* 10..19 */
136*8829fe97SBaocheng Su		"", "", "", "", "", "", "", "", "", "",
137*8829fe97SBaocheng Su		/* 20..29 */
138*8829fe97SBaocheng Su		"", "", "", "", "", "USER-button", "", "", "","ASIC-gpio-0",
139*8829fe97SBaocheng Su		/* 30..31 */
140*8829fe97SBaocheng Su		"ASIC-gpio-1", "ASIC-gpio-2";
141*8829fe97SBaocheng Su};
142*8829fe97SBaocheng Su
143*8829fe97SBaocheng Su&main_spi0 {
144*8829fe97SBaocheng Su	pinctrl-names = "default";
145*8829fe97SBaocheng Su	pinctrl-0 = <&main_spi0_pins>;
146*8829fe97SBaocheng Su
147*8829fe97SBaocheng Su	#address-cells = <1>;
148*8829fe97SBaocheng Su	#size-cells= <0>;
149*8829fe97SBaocheng Su};
150*8829fe97SBaocheng Su
151*8829fe97SBaocheng Su&mcu_spi0 {
152*8829fe97SBaocheng Su	pinctrl-names = "default";
153*8829fe97SBaocheng Su	pinctrl-0 = <&mcu_spi0_pins_default>;
154*8829fe97SBaocheng Su};
155*8829fe97SBaocheng Su
156*8829fe97SBaocheng Su&main_i2c3 {
157*8829fe97SBaocheng Su	accelerometer: lsm6dso@6a {
158*8829fe97SBaocheng Su		compatible = "st,lsm6dso";
159*8829fe97SBaocheng Su		reg = <0x6a>;
160*8829fe97SBaocheng Su	};
161*8829fe97SBaocheng Su};
162*8829fe97SBaocheng Su
163*8829fe97SBaocheng Su&dss {
164*8829fe97SBaocheng Su	status = "disabled";
165*8829fe97SBaocheng Su};
166*8829fe97SBaocheng Su
167*8829fe97SBaocheng Su&serdes0 {
168*8829fe97SBaocheng Su	assigned-clocks = <&k3_clks 153 4>, <&serdes0 AM654_SERDES_CMU_REFCLK>;
169*8829fe97SBaocheng Su	assigned-clock-parents = <&k3_clks 153 8>, <&k3_clks 153 4>;
170*8829fe97SBaocheng Su};
171*8829fe97SBaocheng Su
172*8829fe97SBaocheng Su&serdes1 {
173*8829fe97SBaocheng Su	status = "disabled";
174*8829fe97SBaocheng Su};
175*8829fe97SBaocheng Su
176*8829fe97SBaocheng Su&pcie0_rc {
177*8829fe97SBaocheng Su	pinctrl-names = "default";
178*8829fe97SBaocheng Su	pinctrl-0 = <&minipcie_pins_default>;
179*8829fe97SBaocheng Su
180*8829fe97SBaocheng Su	num-lanes = <1>;
181*8829fe97SBaocheng Su	phys = <&serdes0 PHY_TYPE_PCIE 1>;
182*8829fe97SBaocheng Su	phy-names = "pcie-phy0";
183*8829fe97SBaocheng Su	reset-gpios = <&wkup_gpio0 27 GPIO_ACTIVE_HIGH>;
184*8829fe97SBaocheng Su	status = "okay";
185*8829fe97SBaocheng Su};
186*8829fe97SBaocheng Su
187*8829fe97SBaocheng Su&pcie1_rc {
188*8829fe97SBaocheng Su	status = "disabled";
189*8829fe97SBaocheng Su};
190