453 lines
8.4 KiB
Plaintext
453 lines
8.4 KiB
Plaintext
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
|
/*
|
|
* Copyright 2020 Boundary Devices
|
|
* Copyright 2025 Collabora Ltd.
|
|
*/
|
|
|
|
/dts-v1/;
|
|
|
|
#include "imx8mp-nitrogen-som.dtsi"
|
|
|
|
/ {
|
|
model = "Boundary Devices Nitrogen8M Plus ENC Carrier Board";
|
|
compatible = "boundary,imx8mp-nitrogen-enc-carrier-board",
|
|
"boundary,imx8mp-nitrogen-som", "fsl,imx8mp";
|
|
|
|
chosen {
|
|
stdout-path = &uart2;
|
|
};
|
|
|
|
connector {
|
|
compatible = "usb-c-connector";
|
|
data-role = "dual";
|
|
label = "USB-C";
|
|
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
port@0 {
|
|
reg = <0>;
|
|
|
|
hs_ep: endpoint {
|
|
remote-endpoint = <&usb3_hs_ep>;
|
|
};
|
|
};
|
|
|
|
port@1 {
|
|
reg = <1>;
|
|
|
|
ss_ep: endpoint {
|
|
remote-endpoint = <&hd3ss3220_in_ep>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
hdmi-connector {
|
|
compatible = "hdmi-connector";
|
|
label = "hdmi";
|
|
type = "a";
|
|
|
|
port {
|
|
hdmi_connector_in: endpoint {
|
|
remote-endpoint = <&hdmi_tx_out>;
|
|
};
|
|
};
|
|
};
|
|
|
|
reg_usb_vbus: regulator {
|
|
compatible = "regulator-fixed";
|
|
enable-active-high;
|
|
gpio = <&gpio1 12 GPIO_ACTIVE_HIGH>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_reg_usb_vbus>;
|
|
regulator-name = "usb_vbus";
|
|
regulator-min-microvolt = <5000000>;
|
|
regulator-max-microvolt = <5000000>;
|
|
};
|
|
};
|
|
|
|
&ecspi2 {
|
|
cs-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>;
|
|
pinctrl-0 = <&pinctrl_ecspi2>;
|
|
pinctrl-names = "default";
|
|
status = "okay";
|
|
};
|
|
|
|
&gpio1 {
|
|
usb-hub-reset-hog {
|
|
gpio-hog;
|
|
gpios = <6 GPIO_ACTIVE_LOW>;
|
|
line-name = "usb-hub-reset";
|
|
output-low;
|
|
};
|
|
};
|
|
|
|
&hdmi_pvi {
|
|
status = "okay";
|
|
};
|
|
|
|
&hdmi_tx {
|
|
pinctrl-0 = <&pinctrl_hdmi>;
|
|
pinctrl-names = "default";
|
|
status = "okay";
|
|
|
|
ports {
|
|
port@1 {
|
|
hdmi_tx_out: endpoint {
|
|
remote-endpoint = <&hdmi_connector_in>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&hdmi_tx_phy {
|
|
status = "okay";
|
|
};
|
|
|
|
&i2c2 {
|
|
i2c-mux@70 {
|
|
compatible = "nxp,pca9546";
|
|
reg = <0x70>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
pinctrl-0 = <&pinctrl_i2c2_pca9546>;
|
|
pinctrl-names = "default";
|
|
reset-gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
|
|
|
|
i2c@0 {
|
|
reg = <0>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
clock-frequency = <100000>;
|
|
};
|
|
|
|
i2c@1 {
|
|
reg = <1>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
clock-frequency = <100000>;
|
|
};
|
|
|
|
i2c@2 {
|
|
reg = <2>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
clock-frequency = <100000>;
|
|
};
|
|
|
|
i2c@3 {
|
|
reg = <3>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
clock-frequency = <100000>;
|
|
|
|
rtc@52 {
|
|
compatible = "microcrystal,rv3028";
|
|
reg = <0x52>;
|
|
interrupts-extended = <&gpio1 4 IRQ_TYPE_LEVEL_LOW>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_rv3028>;
|
|
wakeup-source;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&i2c4 {
|
|
usb-mux@47 {
|
|
compatible = "ti,hd3ss3220";
|
|
reg = <0x47>;
|
|
interrupts-extended = <&gpio1 8 IRQ_TYPE_LEVEL_LOW>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_i2c4_hd3ss3220>;
|
|
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
port@0 {
|
|
reg = <0>;
|
|
|
|
hd3ss3220_in_ep: endpoint {
|
|
remote-endpoint = <&ss_ep>;
|
|
};
|
|
};
|
|
|
|
port@1 {
|
|
reg = <1>;
|
|
|
|
hd3ss3220_out_ep: endpoint {
|
|
remote-endpoint = <&usb3_role_switch>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&isp_0 {
|
|
status = "okay";
|
|
};
|
|
|
|
&lcdif3 {
|
|
status = "okay";
|
|
};
|
|
|
|
&pwm1 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_pwm1>;
|
|
status = "okay";
|
|
};
|
|
|
|
&pwm2 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_pwm2>;
|
|
status = "okay";
|
|
};
|
|
|
|
&pwm4 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_pwm4>;
|
|
status = "okay";
|
|
};
|
|
|
|
&snvs_pwrkey {
|
|
status = "okay";
|
|
};
|
|
|
|
&uart2 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_uart2>;
|
|
status = "okay";
|
|
};
|
|
|
|
&uart3 {
|
|
assigned-clocks = <&clk IMX8MP_CLK_UART3>;
|
|
assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_80M>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_uart3>;
|
|
status = "okay";
|
|
};
|
|
|
|
&uart4 {
|
|
assigned-clocks = <&clk IMX8MP_CLK_UART4>;
|
|
assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_80M>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_uart4>;
|
|
status = "okay";
|
|
};
|
|
|
|
&usb3_0 {
|
|
fsl,over-current-active-low;
|
|
status = "okay";
|
|
};
|
|
|
|
&usb3_1 {
|
|
status = "okay";
|
|
};
|
|
|
|
&usb3_phy0 {
|
|
vbus-supply = <®_usb_vbus>;
|
|
status = "okay";
|
|
};
|
|
|
|
&usb3_phy1 {
|
|
vbus-supply = <®_usb_vbus>;
|
|
status = "okay";
|
|
};
|
|
|
|
&usb_dwc3_0 {
|
|
dr_mode = "otg";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_usb3_0>;
|
|
usb-role-switch;
|
|
status = "okay";
|
|
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
port@0 {
|
|
reg = <0>;
|
|
|
|
usb3_hs_ep: endpoint {
|
|
remote-endpoint = <&hs_ep>;
|
|
};
|
|
};
|
|
|
|
port@1 {
|
|
reg = <1>;
|
|
|
|
usb3_role_switch: endpoint {
|
|
remote-endpoint = <&hd3ss3220_out_ep>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&usb_dwc3_1 {
|
|
dr_mode = "host";
|
|
status = "okay";
|
|
};
|
|
|
|
&usdhc1 {
|
|
bus-width = <4>;
|
|
cd-gpios = <&gpio2 11 GPIO_ACTIVE_LOW>;
|
|
pinctrl-names = "default", "state_100mhz", "state_200mhz";
|
|
pinctrl-0 = <&pinctrl_usdhc1>, <&pinctrl_usdhc1_gpio>;
|
|
pinctrl-1 = <&pinctrl_usdhc1_100mhz>, <&pinctrl_usdhc1_gpio>;
|
|
pinctrl-2 = <&pinctrl_usdhc1_200mhz>, <&pinctrl_usdhc1_gpio>;
|
|
status = "okay";
|
|
};
|
|
|
|
&iomuxc {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_hog>;
|
|
|
|
pinctrl_ecspi2: ecspi2grp {
|
|
fsl,pins = <
|
|
MX8MP_IOMUXC_ECSPI2_MISO__ECSPI2_MISO 0x82
|
|
MX8MP_IOMUXC_ECSPI2_MOSI__ECSPI2_MOSI 0x82
|
|
MX8MP_IOMUXC_ECSPI2_SCLK__ECSPI2_SCLK 0x82
|
|
MX8MP_IOMUXC_ECSPI2_SS0__GPIO5_IO13 0x143
|
|
>;
|
|
};
|
|
|
|
pinctrl_hdmi: hdmigrp {
|
|
fsl,pins = <
|
|
MX8MP_IOMUXC_HDMI_CEC__HDMIMIX_HDMI_CEC 0x40000019
|
|
MX8MP_IOMUXC_HDMI_DDC_SCL__HDMIMIX_HDMI_SCL 0x400001c3
|
|
MX8MP_IOMUXC_HDMI_DDC_SDA__HDMIMIX_HDMI_SDA 0x400001c3
|
|
MX8MP_IOMUXC_HDMI_HPD__HDMIMIX_HDMI_HPD 0x40000019
|
|
>;
|
|
};
|
|
|
|
pinctrl_hog: hoggrp {
|
|
fsl,pins = <
|
|
MX8MP_IOMUXC_GPIO1_IO06__GPIO1_IO06 0x100
|
|
MX8MP_IOMUXC_NAND_DATA01__GPIO3_IO07 0x119
|
|
MX8MP_IOMUXC_SAI1_MCLK__GPIO4_IO20 0x16
|
|
MX8MP_IOMUXC_SAI1_TXD7__GPIO4_IO19 0x1c4
|
|
MX8MP_IOMUXC_SD1_DATA4__GPIO2_IO06 0x41
|
|
MX8MP_IOMUXC_SD1_DATA5__GPIO2_IO07 0x41
|
|
MX8MP_IOMUXC_SD1_DATA6__GPIO2_IO08 0x41
|
|
MX8MP_IOMUXC_SD1_RESET_B__GPIO2_IO10 0x41
|
|
MX8MP_IOMUXC_SPDIF_EXT_CLK__GPIO5_IO05 0x41
|
|
MX8MP_IOMUXC_SPDIF_RX__GPIO5_IO04 0x41
|
|
MX8MP_IOMUXC_SPDIF_TX__GPIO5_IO03 0x41
|
|
>;
|
|
};
|
|
|
|
pinctrl_i2c2_pca9546: i2c2-pca9546grp {
|
|
fsl,pins = <
|
|
MX8MP_IOMUXC_GPIO1_IO05__GPIO1_IO05 0x100
|
|
>;
|
|
};
|
|
|
|
pinctrl_i2c4_hd3ss3220: i2c4-hd3ss3220grp {
|
|
fsl,pins = <
|
|
MX8MP_IOMUXC_GPIO1_IO08__GPIO1_IO08 0x16
|
|
MX8MP_IOMUXC_SAI1_RXD0__GPIO4_IO02 0x03
|
|
>;
|
|
};
|
|
|
|
pinctrl_pwm1: pwm1grp {
|
|
fsl,pins = <
|
|
MX8MP_IOMUXC_GPIO1_IO01__PWM1_OUT 0x100
|
|
>;
|
|
};
|
|
|
|
pinctrl_pwm2: pwm2grp {
|
|
fsl,pins = <
|
|
MX8MP_IOMUXC_GPIO1_IO09__PWM2_OUT 0xd6
|
|
MX8MP_IOMUXC_SAI5_RXD0__PWM2_OUT 0xd6
|
|
>;
|
|
};
|
|
|
|
pinctrl_pwm4: pwm4grp {
|
|
fsl,pins = <
|
|
MX8MP_IOMUXC_SAI5_RXFS__PWM4_OUT 0x116
|
|
>;
|
|
};
|
|
|
|
pinctrl_reg_usb_vbus: reg-usb-vbusgrp {
|
|
fsl,pins = <
|
|
MX8MP_IOMUXC_GPIO1_IO12__GPIO1_IO12 0x100
|
|
>;
|
|
};
|
|
|
|
pinctrl_rv3028: rv3028grp {
|
|
fsl,pins = <
|
|
MX8MP_IOMUXC_GPIO1_IO04__GPIO1_IO04 0x1c0
|
|
>;
|
|
};
|
|
|
|
pinctrl_uart2: uart2grp {
|
|
fsl,pins = <
|
|
MX8MP_IOMUXC_UART2_RXD__UART2_DCE_RX 0x140
|
|
MX8MP_IOMUXC_UART2_TXD__UART2_DCE_TX 0x140
|
|
>;
|
|
};
|
|
|
|
pinctrl_uart3: uart3grp {
|
|
fsl,pins = <
|
|
MX8MP_IOMUXC_ECSPI1_MOSI__UART3_DCE_TX 0x140
|
|
MX8MP_IOMUXC_ECSPI1_SCLK__UART3_DCE_RX 0x140
|
|
>;
|
|
};
|
|
|
|
pinctrl_uart4: uart4grp {
|
|
fsl,pins = <
|
|
MX8MP_IOMUXC_UART4_RXD__UART4_DCE_RX 0x140
|
|
MX8MP_IOMUXC_UART4_TXD__UART4_DCE_TX 0x140
|
|
>;
|
|
};
|
|
|
|
pinctrl_usb3_0: usb3-0grp {
|
|
fsl,pins = <
|
|
MX8MP_IOMUXC_GPIO1_IO13__USB1_OTG_OC 0x1c0
|
|
>;
|
|
};
|
|
|
|
pinctrl_usdhc1: usdhc1grp {
|
|
fsl,pins = <
|
|
MX8MP_IOMUXC_GPIO1_IO03__USDHC1_VSELECT 0x116
|
|
MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK 0x190
|
|
MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD 0x1d0
|
|
MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0 0x1d0
|
|
MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1 0x1d0
|
|
MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2 0x1d0
|
|
MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3 0x1d0
|
|
>;
|
|
};
|
|
|
|
pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp {
|
|
fsl,pins = <
|
|
MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK 0x194
|
|
MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD 0x1d4
|
|
MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0 0x1d4
|
|
MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1 0x1d4
|
|
MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2 0x1d4
|
|
MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3 0x1d4
|
|
>;
|
|
};
|
|
|
|
pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp {
|
|
fsl,pins = <
|
|
MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK 0x196
|
|
MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD 0x1d6
|
|
MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0 0x1d6
|
|
MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1 0x1d6
|
|
MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2 0x1d6
|
|
MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3 0x1d6
|
|
>;
|
|
};
|
|
|
|
pinctrl_usdhc1_gpio: usdhc1-gpiogrp {
|
|
fsl,pins = <
|
|
MX8MP_IOMUXC_SD1_STROBE__GPIO2_IO11 0x1c4
|
|
>;
|
|
};
|
|
};
|