336 lines
7.0 KiB
Devicetree
336 lines
7.0 KiB
Devicetree
// 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 "imx8mm-sr-som.dtsi"
|
|
|
|
/ {
|
|
compatible = "solidrun,imx8mm-hummingboard-ripple",
|
|
"solidrun,imx8mm-sr-som", "fsl,imx8mm";
|
|
model = "SolidRun i.MX8MM HummingBoard Ripple";
|
|
|
|
aliases {
|
|
rtc0 = &carrier_rtc;
|
|
rtc1 = &snvs_rtc;
|
|
};
|
|
|
|
hdmi-connector {
|
|
compatible = "hdmi-connector";
|
|
label = "hdmi";
|
|
type = "c";
|
|
|
|
port {
|
|
hdmi_connector_in: endpoint {
|
|
remote-endpoint = <&adv7535_out>;
|
|
};
|
|
};
|
|
};
|
|
|
|
leds {
|
|
compatible = "gpio-leds";
|
|
pinctrl-0 = <&led_pins>;
|
|
pinctrl-names = "default";
|
|
|
|
led-0 {
|
|
color = <LED_COLOR_ID_GREEN>;
|
|
default-state = "on";
|
|
gpios = <&gpio5 29 GPIO_ACTIVE_LOW>;
|
|
label = "D30";
|
|
};
|
|
|
|
led-1 {
|
|
color = <LED_COLOR_ID_GREEN>;
|
|
default-state = "on";
|
|
gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
|
|
label = "D31";
|
|
};
|
|
|
|
led-2 {
|
|
color = <LED_COLOR_ID_GREEN>;
|
|
default-state = "on";
|
|
gpios = <&gpio5 8 GPIO_ACTIVE_LOW>;
|
|
label = "D32";
|
|
};
|
|
|
|
led-3 {
|
|
color = <LED_COLOR_ID_GREEN>;
|
|
default-state = "on";
|
|
gpios = <&gpio5 7 GPIO_ACTIVE_LOW>;
|
|
label = "D33";
|
|
};
|
|
|
|
led-4 {
|
|
color = <LED_COLOR_ID_GREEN>;
|
|
default-state = "on";
|
|
gpios = <&gpio5 6 GPIO_ACTIVE_LOW>;
|
|
label = "D34";
|
|
};
|
|
};
|
|
|
|
v_1_2: regulator-1-2 {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "1v2";
|
|
regulator-max-microvolt = <1200000>;
|
|
regulator-min-microvolt = <1200000>;
|
|
};
|
|
|
|
vmmc: regulator-mmc {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "vmmc";
|
|
pinctrl-0 = <&vmmc_pins>;
|
|
pinctrl-names = "default";
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-min-microvolt = <3300000>;
|
|
startup-delay-us = <250>;
|
|
gpio = <&gpio2 19 GPIO_ACTIVE_LOW>;
|
|
};
|
|
|
|
vbus1: regulator-vbus-1 {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "vbus1";
|
|
pinctrl-0 = <&vbus1_pins>;
|
|
pinctrl-names = "default";
|
|
regulator-max-microvolt = <5000000>;
|
|
regulator-min-microvolt = <5000000>;
|
|
gpio = <&gpio2 11 GPIO_ACTIVE_HIGH>;
|
|
enable-active-high;
|
|
};
|
|
|
|
vbus2: regulator-vbus-2 {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "vbus2";
|
|
pinctrl-0 = <&vbus2_pins>;
|
|
pinctrl-names = "default";
|
|
regulator-max-microvolt = <5000000>;
|
|
regulator-min-microvolt = <5000000>;
|
|
gpio = <&gpio4 21 GPIO_ACTIVE_HIGH>;
|
|
enable-active-high;
|
|
};
|
|
|
|
rfkill-mpcie-wifi {
|
|
compatible = "rfkill-gpio";
|
|
/* rfkill-gpio inverts internally */
|
|
shutdown-gpios = <&gpio2 20 GPIO_ACTIVE_HIGH>;
|
|
label = "mpcie WiFi";
|
|
pinctrl-0 = <&pcie_rfkill_pins>;
|
|
pinctrl-names = "default";
|
|
radio-type = "wlan";
|
|
};
|
|
};
|
|
|
|
&i2c3 {
|
|
clock-frequency = <100000>;
|
|
pinctrl-0 = <&i2c3_pins>;
|
|
pinctrl-names = "default";
|
|
status = "okay";
|
|
|
|
hdmi@3d {
|
|
compatible = "adi,adv7535";
|
|
reg = <0x3d>, <0x3f>, <0x3c>, <0x38>;
|
|
reg-names = "main", "edid", "cec", "packet";
|
|
interrupt-parent = <&gpio1>;
|
|
interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
|
|
a2vdd-supply = <&v_1_8>;
|
|
avdd-supply = <&v_1_8>;
|
|
dvdd-supply = <&v_1_8>;
|
|
pd-gpios = <&gpio3 22 GPIO_ACTIVE_LOW>;
|
|
pinctrl-0 = <&hdmi_pins>;
|
|
pinctrl-names = "default";
|
|
pvdd-supply = <&v_1_8>;
|
|
v3p3-supply = <&v_3_3>;
|
|
adi,dsi-lanes = <4>;
|
|
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
port@0 {
|
|
reg = <0>;
|
|
|
|
adv7535_from_dsim: endpoint {
|
|
remote-endpoint = <&mipi_dsi_out>;
|
|
};
|
|
};
|
|
|
|
port@1 {
|
|
reg = <1>;
|
|
|
|
adv7535_out: endpoint {
|
|
remote-endpoint = <&hdmi_connector_in>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
carrier_eeprom: eeprom@57 {
|
|
compatible = "st,24c02", "atmel,24c02";
|
|
reg = <0x57>;
|
|
pagesize = <16>;
|
|
};
|
|
|
|
carrier_rtc: rtc@69 {
|
|
compatible = "abracon,ab1805";
|
|
reg = <0x69>;
|
|
abracon,tc-diode = "schottky";
|
|
abracon,tc-resistor = <3>;
|
|
};
|
|
};
|
|
|
|
&iomuxc {
|
|
hdmi_pins: pinctrl-hdmi-grp {
|
|
fsl,pins = <
|
|
MX8MM_IOMUXC_GPIO1_IO07_GPIO1_IO7 0x0
|
|
MX8MM_IOMUXC_SAI5_RXD1_GPIO3_IO22 0x0
|
|
>;
|
|
};
|
|
|
|
i2c3_pins: pinctrl-i2c3-grp {
|
|
fsl,pins = <
|
|
MX8MM_IOMUXC_I2C3_SCL_I2C3_SCL 0x400001c3
|
|
MX8MM_IOMUXC_I2C3_SDA_I2C3_SDA 0x400001c3
|
|
>;
|
|
};
|
|
|
|
led_pins: pinctrl-led-grp {
|
|
fsl,pins = <
|
|
MX8MM_IOMUXC_UART4_TXD_GPIO5_IO29 0x0
|
|
MX8MM_IOMUXC_ECSPI1_SS0_GPIO5_IO9 0x0
|
|
MX8MM_IOMUXC_ECSPI1_MISO_GPIO5_IO8 0x0
|
|
MX8MM_IOMUXC_ECSPI1_MOSI_GPIO5_IO7 0x0
|
|
MX8MM_IOMUXC_ECSPI1_SCLK_GPIO5_IO6 0x0
|
|
>;
|
|
};
|
|
|
|
pcie_rfkill_pins: pinctrl-pcie-rfkill-grp {
|
|
fsl,pins = <
|
|
MX8MM_IOMUXC_SD2_WP_GPIO2_IO20 0x0
|
|
>;
|
|
};
|
|
|
|
usb_hub_pins: pinctrl-usb-hub-grp {
|
|
fsl,pins = <
|
|
MX8MM_IOMUXC_SAI3_RXD_GPIO4_IO30 0x0
|
|
>;
|
|
};
|
|
|
|
usdhc2_100mhz_pins: pinctrl-usdhc2-100mhz-grp {
|
|
fsl,pins = <
|
|
MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x194
|
|
MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d4
|
|
MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d4
|
|
MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d4
|
|
MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d4
|
|
MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d4
|
|
MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x140
|
|
MX8MM_IOMUXC_SD2_CD_B_USDHC2_CD_B 0x0
|
|
>;
|
|
};
|
|
|
|
usdhc2_200mhz_pins: pinctrl-usdhc2-100mhz-grp {
|
|
fsl,pins = <
|
|
MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x196
|
|
MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d6
|
|
MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d6
|
|
MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d6
|
|
MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d6
|
|
MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d6
|
|
MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x140
|
|
MX8MM_IOMUXC_SD2_CD_B_USDHC2_CD_B 0x0
|
|
>;
|
|
};
|
|
|
|
usdhc2_pins: pinctrl-usdhc2-grp {
|
|
fsl,pins = <
|
|
MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x190
|
|
MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d0
|
|
MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d0
|
|
MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d0
|
|
MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d0
|
|
MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d0
|
|
MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x140
|
|
MX8MM_IOMUXC_SD2_CD_B_USDHC2_CD_B 0x0
|
|
>;
|
|
};
|
|
|
|
vbus1_pins: pinctrl-vbus-1-grp {
|
|
fsl,pins = <
|
|
MX8MM_IOMUXC_SD1_STROBE_GPIO2_IO11 0x20
|
|
>;
|
|
};
|
|
|
|
vbus2_pins: pinctrl-vbus-2-grp {
|
|
fsl,pins = <
|
|
MX8MM_IOMUXC_SAI2_RXFS_GPIO4_IO21 0x20
|
|
>;
|
|
};
|
|
|
|
vmmc_pins: pinctrl-vmmc-grp {
|
|
fsl,pins = <
|
|
MX8MM_IOMUXC_SD2_RESET_B_GPIO2_IO19 0x41
|
|
>;
|
|
};
|
|
};
|
|
|
|
&lcdif {
|
|
status = "okay";
|
|
};
|
|
|
|
&mipi_dsi {
|
|
samsung,esc-clock-frequency = <10000000>;
|
|
status = "okay";
|
|
};
|
|
|
|
&mipi_dsi_out {
|
|
remote-endpoint = <&adv7535_from_dsim>;
|
|
};
|
|
|
|
&usbotg1 {
|
|
dr_mode = "host";
|
|
vbus-supply = <&vbus2>;
|
|
status = "okay";
|
|
};
|
|
|
|
&usbotg2 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
dr_mode = "host";
|
|
pinctrl-0 = <&usb_hub_pins>;
|
|
pinctrl-names = "default";
|
|
vbus-supply = <&vbus1>;
|
|
status = "okay";
|
|
|
|
hub_2_0: hub@1 {
|
|
compatible = "usb4b4,6502", "usb4b4,6506";
|
|
reg = <1>;
|
|
peer-hub = <&hub_3_0>;
|
|
reset-gpios = <&gpio4 30 GPIO_ACTIVE_LOW>;
|
|
vdd2-supply = <&v_3_3>;
|
|
vdd-supply = <&v_1_2>;
|
|
};
|
|
|
|
/* this device is not visible because host supports 2.0 only */
|
|
hub_3_0: hub@2 {
|
|
compatible = "usb4b4,6500", "usb4b4,6504";
|
|
reg = <2>;
|
|
peer-hub = <&hub_2_0>;
|
|
reset-gpios = <&gpio4 30 GPIO_ACTIVE_LOW>;
|
|
vdd2-supply = <&v_3_3>;
|
|
vdd-supply = <&v_1_2>;
|
|
};
|
|
};
|
|
|
|
&usdhc2 {
|
|
bus-width = <4>;
|
|
pinctrl-0 = <&usdhc2_pins>;
|
|
pinctrl-1 = <&usdhc2_100mhz_pins>;
|
|
pinctrl-2 = <&usdhc2_200mhz_pins>;
|
|
pinctrl-names = "default", "state_100mhz", "state_200mhz";
|
|
vmmc-supply = <&vmmc>;
|
|
status = "okay";
|
|
};
|