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