Linux-6.18.2/arch/arm64/boot/dts/freescale/imx8mp-cubox-m.dts

224 lines
4.5 KiB
Plaintext
Raw Normal View History

2025-12-23 20:05:50 +08:00
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright 2025 Josua Mayer <josua@solid-run.com>
*/
/dts-v1/;
#include <dt-bindings/leds/common.h>
#include "imx8mp-sr-som.dtsi"
/ {
model = "SolidRun i.MX8MP CuBox-M";
compatible = "solidrun,imx8mp-cubox-m",
"solidrun,imx8mp-sr-som", "fsl,imx8mp";
aliases {
ethernet0 = &eqos;
/delete-property/ ethernet1;
rtc0 = &carrier_rtc;
rtc1 = &snvs_rtc;
};
ir-receiver {
compatible = "gpio-ir-receiver";
gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&ir_pins>;
linux,autosuspend-period = <125>;
wakeup-source;
};
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&led_pins>;
status {
label = "status";
color = <LED_COLOR_ID_RED>;
gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
function = LED_FUNCTION_HEARTBEAT;
};
};
sound-hdmi {
compatible = "fsl,imx-audio-hdmi";
model = "audio-hdmi";
audio-cpu = <&aud2htx>;
hdmi-out;
};
vbus: regulator-vbus {
compatible = "regulator-fixed";
regulator-name = "vbus";
gpio = <&gpio1 7 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-names = "default";
pinctrl-0 = <&vbus_pins>;
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
};
vmmc: regulator-mmc {
compatible = "regulator-fixed";
pinctrl-names = "default";
pinctrl-0 = <&vmmc_pins>;
regulator-name = "vmmc";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>;
startup-delay-us = <250>;
};
};
&aud2htx {
status = "okay";
};
&fec {
/* this board does not use second phy / ethernet on SoM */
status = "disabled";
};
&hdmi_pvi {
status = "okay";
};
&hdmi_tx {
status = "okay";
};
&hdmi_tx_phy {
status = "okay";
};
&i2c3 {
carrier_rtc: rtc@32 {
compatible = "epson,rx8130";
reg = <0x32>;
};
};
&iomuxc {
pinctrl-names = "default";
pinctrl-0 = <&hdmi_pins>;
hdmi_pins: pinctrl-hdmi-grp {
fsl,pins = <
MX8MP_IOMUXC_HDMI_DDC_SCL__HDMIMIX_HDMI_SCL 0x400001c3
MX8MP_IOMUXC_HDMI_DDC_SDA__HDMIMIX_HDMI_SDA 0x400001c3
MX8MP_IOMUXC_HDMI_CEC__HDMIMIX_HDMI_CEC 0x154
MX8MP_IOMUXC_HDMI_HPD__HDMIMIX_HDMI_HPD 0x154
>;
};
ir_pins: pinctrl-ir-grp {
fsl,pins = <
MX8MP_IOMUXC_GPIO1_IO10__GPIO1_IO10 0x4f
>;
};
led_pins: pinctrl-led-grp {
fsl,pins = <
MX8MP_IOMUXC_GPIO1_IO12__GPIO1_IO12 0x0
>;
};
usdhc2_pins: pinctrl-usdhc2-grp {
fsl,pins = <
MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x190
MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d0
MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d0
MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d0
MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d0
MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d0
MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0x140
MX8MP_IOMUXC_SD2_CD_B__USDHC2_CD_B 0x140
>;
};
usdhc2_100mhz_pins: pinctrl-usdhc2-100mhz-grp {
fsl,pins = <
MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x194
MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d4
MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d4
MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d4
MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d4
MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d4
MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0x140
MX8MP_IOMUXC_SD2_CD_B__USDHC2_CD_B 0x140
>;
};
usdhc2_200mhz_pins: pinctrl-usdhc2-200mhz-grp {
fsl,pins = <
MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x196
MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d6
MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d6
MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d6
MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d6
MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d6
MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0x140
MX8MP_IOMUXC_SD2_CD_B__USDHC2_CD_B 0x140
>;
};
vbus_pins: pinctrl-vbus-grp {
fsl,pins = <
MX8MP_IOMUXC_GPIO1_IO07__GPIO1_IO07 0x100
>;
};
vmmc_pins: pinctrl-vmmc-grp {
fsl,pins = <
MX8MP_IOMUXC_SD2_RESET_B__GPIO2_IO19 0x0
>;
};
};
&lcdif3 {
status = "okay";
};
&usb3_phy0 {
fsl,phy-tx-preemp-amp-tune-microamp = <1200>;
vbus-supply = <&vbus>;
status = "okay";
};
&usb3_0 {
status = "okay";
};
&usb3_phy1 {
fsl,phy-tx-preemp-amp-tune-microamp = <1200>;
vbus-supply = <&vbus>;
status = "okay";
};
&usb3_1 {
status = "okay";
};
&usb_dwc3_0 {
dr_mode = "host";
};
&usb_dwc3_1 {
dr_mode = "host";
};
&usdhc2 {
pinctrl-names = "default", "state_100mhz", "state_200mhz";
pinctrl-0 = <&usdhc2_pins>;
pinctrl-1 = <&usdhc2_100mhz_pins>;
pinctrl-2 = <&usdhc2_200mhz_pins>;
vmmc-supply = <&vmmc>;
bus-width = <4>;
cap-power-off-card;
full-pwr-cycle;
status = "okay";
};