1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright 2025 Josua Mayer <josua@solid-run.com> 4 */ 5 6/dts-v1/; 7 8#include <dt-bindings/leds/common.h> 9 10#include "imx8mp-sr-som.dtsi" 11 12/ { 13 model = "SolidRun i.MX8MP CuBox-M"; 14 compatible = "solidrun,imx8mp-cubox-m", 15 "solidrun,imx8mp-sr-som", "fsl,imx8mp"; 16 17 aliases { 18 ethernet0 = &eqos; 19 /delete-property/ ethernet1; 20 rtc0 = &carrier_rtc; 21 rtc1 = &snvs_rtc; 22 }; 23 24 ir-receiver { 25 compatible = "gpio-ir-receiver"; 26 gpios = <&gpio1 10 GPIO_ACTIVE_LOW>; 27 pinctrl-names = "default"; 28 pinctrl-0 = <&ir_pins>; 29 linux,autosuspend-period = <125>; 30 wakeup-source; 31 }; 32 33 leds { 34 compatible = "gpio-leds"; 35 pinctrl-names = "default"; 36 pinctrl-0 = <&led_pins>; 37 38 status { 39 label = "status"; 40 color = <LED_COLOR_ID_RED>; 41 gpios = <&gpio1 12 GPIO_ACTIVE_LOW>; 42 function = LED_FUNCTION_HEARTBEAT; 43 }; 44 }; 45 46 sound-hdmi { 47 compatible = "fsl,imx-audio-hdmi"; 48 model = "audio-hdmi"; 49 audio-cpu = <&aud2htx>; 50 hdmi-out; 51 }; 52 53 vbus: regulator-vbus { 54 compatible = "regulator-fixed"; 55 regulator-name = "vbus"; 56 gpio = <&gpio1 7 GPIO_ACTIVE_HIGH>; 57 enable-active-high; 58 pinctrl-names = "default"; 59 pinctrl-0 = <&vbus_pins>; 60 regulator-min-microvolt = <5000000>; 61 regulator-max-microvolt = <5000000>; 62 }; 63 64 vmmc: regulator-mmc { 65 compatible = "regulator-fixed"; 66 pinctrl-names = "default"; 67 pinctrl-0 = <&vmmc_pins>; 68 regulator-name = "vmmc"; 69 regulator-min-microvolt = <3300000>; 70 regulator-max-microvolt = <3300000>; 71 gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>; 72 startup-delay-us = <250>; 73 }; 74}; 75 76&aud2htx { 77 status = "okay"; 78}; 79 80&fec { 81 /* this board does not use second phy / ethernet on SoM */ 82 status = "disabled"; 83}; 84 85&hdmi_pvi { 86 status = "okay"; 87}; 88 89&hdmi_tx { 90 status = "okay"; 91}; 92 93&hdmi_tx_phy { 94 status = "okay"; 95}; 96 97&i2c3 { 98 carrier_rtc: rtc@32 { 99 compatible = "epson,rx8130"; 100 reg = <0x32>; 101 }; 102}; 103 104&iomuxc { 105 pinctrl-names = "default"; 106 pinctrl-0 = <&hdmi_pins>; 107 108 hdmi_pins: pinctrl-hdmi-grp { 109 fsl,pins = < 110 MX8MP_IOMUXC_HDMI_DDC_SCL__HDMIMIX_HDMI_SCL 0x400001c3 111 MX8MP_IOMUXC_HDMI_DDC_SDA__HDMIMIX_HDMI_SDA 0x400001c3 112 MX8MP_IOMUXC_HDMI_CEC__HDMIMIX_HDMI_CEC 0x154 113 MX8MP_IOMUXC_HDMI_HPD__HDMIMIX_HDMI_HPD 0x154 114 >; 115 }; 116 117 ir_pins: pinctrl-ir-grp { 118 fsl,pins = < 119 MX8MP_IOMUXC_GPIO1_IO10__GPIO1_IO10 0x4f 120 >; 121 }; 122 123 led_pins: pinctrl-led-grp { 124 fsl,pins = < 125 MX8MP_IOMUXC_GPIO1_IO12__GPIO1_IO12 0x0 126 >; 127 }; 128 129 usdhc2_pins: pinctrl-usdhc2-grp { 130 fsl,pins = < 131 MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x190 132 MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d0 133 MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d0 134 MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d0 135 MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d0 136 MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d0 137 MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0x140 138 MX8MP_IOMUXC_SD2_CD_B__USDHC2_CD_B 0x140 139 >; 140 }; 141 142 usdhc2_100mhz_pins: pinctrl-usdhc2-100mhz-grp { 143 fsl,pins = < 144 MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x194 145 MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d4 146 MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d4 147 MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d4 148 MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d4 149 MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d4 150 MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0x140 151 MX8MP_IOMUXC_SD2_CD_B__USDHC2_CD_B 0x140 152 >; 153 }; 154 155 usdhc2_200mhz_pins: pinctrl-usdhc2-200mhz-grp { 156 fsl,pins = < 157 MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x196 158 MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d6 159 MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d6 160 MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d6 161 MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d6 162 MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d6 163 MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0x140 164 MX8MP_IOMUXC_SD2_CD_B__USDHC2_CD_B 0x140 165 >; 166 }; 167 168 vbus_pins: pinctrl-vbus-grp { 169 fsl,pins = < 170 MX8MP_IOMUXC_GPIO1_IO07__GPIO1_IO07 0x100 171 >; 172 }; 173 174 vmmc_pins: pinctrl-vmmc-grp { 175 fsl,pins = < 176 MX8MP_IOMUXC_SD2_RESET_B__GPIO2_IO19 0x0 177 >; 178 }; 179}; 180 181&lcdif3 { 182 status = "okay"; 183}; 184 185&usb3_phy0 { 186 fsl,phy-tx-preemp-amp-tune-microamp = <1200>; 187 vbus-supply = <&vbus>; 188 status = "okay"; 189}; 190 191&usb3_0 { 192 status = "okay"; 193}; 194 195&usb3_phy1 { 196 fsl,phy-tx-preemp-amp-tune-microamp = <1200>; 197 vbus-supply = <&vbus>; 198 status = "okay"; 199}; 200 201&usb3_1 { 202 status = "okay"; 203}; 204 205&usb_dwc3_0 { 206 dr_mode = "host"; 207}; 208 209&usb_dwc3_1 { 210 dr_mode = "host"; 211}; 212 213&usdhc2 { 214 pinctrl-names = "default", "state_100mhz", "state_200mhz"; 215 pinctrl-0 = <&usdhc2_pins>; 216 pinctrl-1 = <&usdhc2_100mhz_pins>; 217 pinctrl-2 = <&usdhc2_200mhz_pins>; 218 vmmc-supply = <&vmmc>; 219 bus-width = <4>; 220 cap-power-off-card; 221 full-pwr-cycle; 222 status = "okay"; 223}; 224