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