1// SPDX-License-Identifier: (GPL-2.0-or-later OR MIT) 2/* 3 * Copyright (C) 2025 PHYTEC Messtechnik GmbH 4 */ 5 6/dts-v1/; 7 8#include <dt-bindings/leds/leds-pca9532.h> 9#include <dt-bindings/phy/phy-imx8-pcie.h> 10#include <dt-bindings/pwm/pwm.h> 11#include "imx8mp-phycore-fpsc.dtsi" 12 13/ { 14 compatible = "phytec,imx8mp-libra-rdk-fpsc", 15 "phytec,imx8mp-phycore-fpsc", "fsl,imx8mp"; 16 model = "PHYTEC i.MX8MP Libra RDK FPSC"; 17 18 backlight_lvds0: backlight0 { 19 compatible = "pwm-backlight"; 20 pinctrl-0 = <&pinctrl_lvds0>; 21 pinctrl-names = "default"; 22 power-supply = <®_vdd_12v0>; 23 status = "disabled"; 24 }; 25 26 chosen { 27 stdout-path = &uart4; 28 }; 29 30 panel0_lvds: panel-lvds { 31 /* compatible panel in overlay */ 32 backlight = <&backlight_lvds0>; 33 power-supply = <®_vdd_3v3>; 34 status = "disabled"; 35 36 port { 37 panel0_in: endpoint { 38 remote-endpoint = <&ldb_lvds_ch0>; 39 }; 40 }; 41 }; 42 43 reg_can1_stby: regulator-can1-stby { 44 compatible = "regulator-fixed"; 45 regulator-max-microvolt = <1800000>; 46 regulator-min-microvolt = <1800000>; 47 regulator-name = "can1-stby"; 48 gpio = <&gpio_expander 10 GPIO_ACTIVE_LOW>; 49 }; 50 51 reg_can2_stby: regulator-can2-stby { 52 compatible = "regulator-fixed"; 53 regulator-max-microvolt = <1800000>; 54 regulator-min-microvolt = <1800000>; 55 regulator-name = "can2-stby"; 56 gpio = <&gpio_expander 9 GPIO_ACTIVE_LOW>; 57 }; 58 59 reg_vdd_12v0: regulator-vdd-12v0 { 60 compatible = "regulator-fixed"; 61 regulator-always-on; 62 regulator-boot-on; 63 regulator-max-microvolt = <12000000>; 64 regulator-min-microvolt = <12000000>; 65 regulator-name = "VDD_12V0"; 66 }; 67 68 reg_vdd_1v8: regulator-vdd-1v8 { 69 compatible = "regulator-fixed"; 70 regulator-always-on; 71 regulator-boot-on; 72 regulator-max-microvolt = <1800000>; 73 regulator-min-microvolt = <1800000>; 74 regulator-name = "VDD_1V8"; 75 }; 76 77 reg_vdd_3v3: regulator-vdd-3v3 { 78 compatible = "regulator-fixed"; 79 regulator-always-on; 80 regulator-boot-on; 81 regulator-max-microvolt = <3300000>; 82 regulator-min-microvolt = <3300000>; 83 regulator-name = "VDD_3V3"; 84 }; 85 86 reg_vdd_5v0: regulator-vdd-5v0 { 87 compatible = "regulator-fixed"; 88 regulator-always-on; 89 regulator-boot-on; 90 regulator-max-microvolt = <5000000>; 91 regulator-min-microvolt = <5000000>; 92 regulator-name = "VDD_5V0"; 93 }; 94}; 95 96&eqos { 97 phy-handle = <ðphy1>; 98 status = "okay"; 99 100 mdio { 101 compatible = "snps,dwmac-mdio"; 102 #address-cells = <1>; 103 #size-cells = <0>; 104 105 ethphy1: ethernet-phy@1 { 106 compatible = "ethernet-phy-ieee802.3-c22"; 107 reg = <0x1>; 108 enet-phy-lane-no-swap; 109 ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>; 110 ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>; 111 ti,rx-internal-delay = <DP83867_RGMIIDCTL_1_50_NS>; 112 ti,tx-internal-delay = <DP83867_RGMIIDCTL_1_50_NS>; 113 }; 114 }; 115}; 116 117/* CAN FD */ 118&flexcan1 { 119 xceiver-supply = <®_can1_stby>; 120 status = "okay"; 121}; 122 123&flexcan2 { 124 xceiver-supply = <®_can2_stby>; 125 status = "okay"; 126}; 127 128&flexspi { 129 status = "okay"; 130 131 spi_nor: flash@0 { 132 compatible = "jedec,spi-nor"; 133 reg = <0>; 134 spi-max-frequency = <80000000>; 135 spi-rx-bus-width = <4>; 136 spi-tx-bus-width = <1>; 137 vcc-supply = <®_vdd_1v8>; 138 }; 139}; 140 141&gpio5 { 142 gpio-line-names = "", "", "", "", "I2C5_SDA", 143 "GPIO1", "", "", "", "SPI1_CS", 144 "", "", "", "SPI2_CS", "I2C1_SCL", 145 "I2C1_SDA", "I2C2_SCL", "I2C2_SDA", "I2C3_SCL", "I2C3_SDA", 146 "", "GPIO2", "", "LVDS1_BL_EN", "SPI3_CS", 147 "", "GPIO3"; 148}; 149 150&i2c2 { 151 clock-frequency = <400000>; 152 status = "okay"; 153 154 eeprom@51 { 155 compatible = "atmel,24c02"; 156 reg = <0x51>; 157 pagesize = <16>; 158 vcc-supply = <®_vdd_1v8>; 159 }; 160}; 161 162&i2c3 { 163 clock-frequency = <400000>; 164 status = "okay"; 165 166 leds@62 { 167 compatible = "nxp,pca9533"; 168 reg = <0x62>; 169 170 led-1 { 171 type = <PCA9532_TYPE_LED>; 172 }; 173 174 led-2 { 175 type = <PCA9532_TYPE_LED>; 176 }; 177 178 led-3 { 179 type = <PCA9532_TYPE_LED>; 180 }; 181 }; 182}; 183 184&i2c5 { 185 #address-cells = <1>; 186 #size-cells = <0>; 187 clock-frequency = <400000>; 188 status = "okay"; 189 190 gpio_expander: gpio@20 { 191 compatible = "ti,tca6416"; 192 reg = <0x20>; 193 interrupt-parent = <&gpio4>; 194 interrupts = <3 IRQ_TYPE_LEVEL_LOW>; 195 #gpio-cells = <2>; 196 gpio-controller; 197 gpio-line-names = "CSI1_CTRL1", "CSI1_CTRL2", "CSI1_CTRL3", 198 "CSI1_CTRL4", "CSI2_CTRL1", "CSI2_CTRL2", 199 "CSI2_CTRL3", "CSI2_CTRL4", "CLK_EN_AV", 200 "nCAN2_EN", "nCAN1_EN", "PCIE1_nWAKE", 201 "PCIE2_nWAKE", "PCIE2_nALERT_3V3", 202 "UART1_BT_RS_SEL", "UART1_RS232_485_SEL"; 203 vcc-supply = <®_vdd_1v8>; 204 205 uart1_bt_rs_sel: bt-rs-hog { 206 gpios = <14 GPIO_ACTIVE_HIGH>; 207 gpio-hog; 208 line-name = "UART1_BT_RS_SEL"; 209 output-low; /* default RS232/RS485 */ 210 }; 211 212 uart1_rs232_485_sel: rs232-485-hog { 213 gpios = <15 GPIO_ACTIVE_HIGH>; 214 gpio-hog; 215 line-name = "UART1_RS232_485_SEL"; 216 output-high; /* default RS232 */ 217 }; 218 }; 219}; 220 221&iomuxc { 222 pinctrl_lvds0: lvds0grp { 223 fsl,pins = < 224 MX8MP_IOMUXC_UART1_TXD__GPIO5_IO23 0x12 225 >; 226 }; 227 pinctrl_rtc: rtcgrp { 228 fsl,pins = < 229 MX8MP_IOMUXC_UART2_TXD__GPIO5_IO25 0x1C0 230 >; 231 }; 232}; 233 234&lvds_bridge { 235 ports { 236 port@1 { 237 ldb_lvds_ch0: endpoint { 238 remote-endpoint = <&panel0_in>; 239 }; 240 }; 241 }; 242}; 243 244/* Mini PCIe */ 245&pcie { 246 reset-gpio = <&gpio1 8 GPIO_ACTIVE_LOW>; 247 vpcie-supply = <®_vdd_3v3>; 248 status = "okay"; 249}; 250 251&pcie_phy { 252 clocks = <&hsio_blk_ctrl>; 253 clock-names = "ref"; 254 fsl,clkreq-unsupported; 255 fsl,refclk-pad-mode = <IMX8_PCIE_REFCLK_PAD_OUTPUT>; 256 status = "okay"; 257}; 258 259®_vdd_io { 260 regulator-max-microvolt = <1800000>; 261 regulator-min-microvolt = <1800000>; 262}; 263 264&rv3028 { 265 interrupt-parent = <&gpio5>; 266 interrupts = <25 IRQ_TYPE_LEVEL_LOW>; 267 aux-voltage-chargeable = <1>; 268 pinctrl-0 = <&pinctrl_rtc>; 269 pinctrl-names = "default"; 270 trickle-resistor-ohms = <3000>; 271 wakeup-source; 272}; 273 274&snvs_pwrkey { 275 status = "okay"; 276}; 277 278/* debug console */ 279&uart4 { 280 status = "okay"; 281}; 282 283/* SD-Card */ 284&usdhc2 { 285 assigned-clocks = <&clk IMX8MP_CLK_USDHC2>; 286 assigned-clock-rates = <200000000>; 287 bus-width = <4>; 288 disable-wp; 289 status = "okay"; 290}; 291