306 lines
6.0 KiB
Plaintext
306 lines
6.0 KiB
Plaintext
|
// SPDX-License-Identifier: GPL-2.0+ OR MIT
|
||
|
/*
|
||
|
* Copyright (C) 2022 Kontron Electronics GmbH
|
||
|
*/
|
||
|
|
||
|
/dts-v1/;
|
||
|
|
||
|
#include "imx8mp-kontron-osm-s.dtsi"
|
||
|
|
||
|
/ {
|
||
|
model = "Kontron BL i.MX8MP OSM-S";
|
||
|
compatible = "kontron,imx8mp-bl-osm-s", "kontron,imx8mp-osm-s", "fsl,imx8mp";
|
||
|
|
||
|
aliases {
|
||
|
ethernet0 = &fec;
|
||
|
ethernet1 = &eqos;
|
||
|
};
|
||
|
|
||
|
extcon_usbc: usbc {
|
||
|
compatible = "linux,extcon-usb-gpio";
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&pinctrl_usb1_id>;
|
||
|
id-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
|
||
|
};
|
||
|
|
||
|
leds {
|
||
|
compatible = "gpio-leds";
|
||
|
|
||
|
led1 {
|
||
|
label = "led1";
|
||
|
gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
|
||
|
linux,default-trigger = "heartbeat";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
pwm-beeper {
|
||
|
compatible = "pwm-beeper";
|
||
|
pwms = <&pwm2 0 5000 0>;
|
||
|
};
|
||
|
|
||
|
reg_vcc_panel: regulator-vcc-panel {
|
||
|
compatible = "regulator-fixed";
|
||
|
gpio = <&gpio4 3 GPIO_ACTIVE_HIGH>;
|
||
|
enable-active-high;
|
||
|
regulator-max-microvolt = <3300000>;
|
||
|
regulator-min-microvolt = <3300000>;
|
||
|
regulator-name = "VCC_PANEL";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&ecspi2 {
|
||
|
status = "okay";
|
||
|
|
||
|
eeram@0 {
|
||
|
compatible = "microchip,48l640";
|
||
|
reg = <0>;
|
||
|
spi-max-frequency = <20000000>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&eqos { /* Second ethernet (OSM-S ETH_B) */
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&pinctrl_eqos_rgmii>;
|
||
|
phy-mode = "rgmii-id";
|
||
|
phy-handle = <ðphy1>;
|
||
|
status = "okay";
|
||
|
|
||
|
mdio {
|
||
|
compatible = "snps,dwmac-mdio";
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
|
||
|
ethphy1: ethernet-phy@1 {
|
||
|
compatible = "ethernet-phy-id4f51.e91b";
|
||
|
reg = <1>;
|
||
|
pinctrl-0 = <&pinctrl_ethphy1>;
|
||
|
pinctrl-names = "default";
|
||
|
reset-assert-us = <10000>;
|
||
|
reset-gpios = <&gpio1 0 GPIO_ACTIVE_LOW>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&fec { /* First ethernet (OSM-S ETH_A) */
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&pinctrl_enet_rgmii>;
|
||
|
phy-connection-type = "rgmii-id";
|
||
|
phy-handle = <ðphy0>;
|
||
|
status = "okay";
|
||
|
|
||
|
mdio {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
|
||
|
ethphy0: ethernet-phy@1 {
|
||
|
compatible = "ethernet-phy-id4f51.e91b";
|
||
|
reg = <1>;
|
||
|
pinctrl-0 = <&pinctrl_ethphy0>;
|
||
|
pinctrl-names = "default";
|
||
|
reset-assert-us = <10000>;
|
||
|
reset-gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&flexcan1 {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
/*
|
||
|
* Rename SoM signals according to board usage:
|
||
|
* SDIO_A_PWR_EN -> CAN_ADDR2
|
||
|
* SDIO_A_WP -> CAN_ADDR3
|
||
|
*/
|
||
|
&gpio2 {
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&pinctrl_gpio2>;
|
||
|
gpio-line-names = "", "", "", "", "", "", "", "", "", "", "", "",
|
||
|
"SDIO_A_CD", "SDIO_A_CLK", "SDIO_A_CMD", "SDIO_A_D0",
|
||
|
"SDIO_A_D1", "SDIO_A_D2", "SDIO_A_D3", "CAN_ADDR2",
|
||
|
"CAN_ADDR3";
|
||
|
};
|
||
|
|
||
|
/*
|
||
|
* Rename SoM signals according to board usage:
|
||
|
* SPI_A_WP -> CAN_ADDR0
|
||
|
* SPI_A_HOLD -> CAN_ADDR1
|
||
|
* GPIO_B_0 -> DIO1_OUT
|
||
|
* GPIO_B_1 -> DIO2_OUT
|
||
|
*/
|
||
|
&gpio3 {
|
||
|
gpio-line-names = "PCIE_WAKE", "PCIE_CLKREQ", "PCIE_A_PERST", "SDIO_B_D5",
|
||
|
"SDIO_B_D6", "SDIO_B_D7", "CAN_ADDR0", "CAN_ADDR1",
|
||
|
"UART_B_RTS", "UART_B_CTS", "SDIO_B_D0", "SDIO_B_D1",
|
||
|
"SDIO_B_D2", "SDIO_B_D3", "SDIO_B_WP", "SDIO_B_D4",
|
||
|
"PCIE_SM_ALERT", "SDIO_B_CLK", "SDIO_B_CMD", "DIO1_OUT",
|
||
|
"DIO2_OUT", "", "BOOT_SEL0", "BOOT_SEL1",
|
||
|
"", "", "SDIO_B_CD", "SDIO_B_PWR_EN",
|
||
|
"HDMI_CEC", "HDMI_HPD";
|
||
|
};
|
||
|
|
||
|
/*
|
||
|
* Rename SoM signals according to board usage:
|
||
|
* GPIO_B_5 -> DIO2_IN
|
||
|
* GPIO_B_6 -> DIO3_IN
|
||
|
* GPIO_B_7 -> DIO4_IN
|
||
|
* GPIO_B_3 -> DIO4_OUT
|
||
|
* GPIO_B_4 -> DIO1_IN
|
||
|
* GPIO_B_2 -> DIO3_OUT
|
||
|
*/
|
||
|
&gpio4 {
|
||
|
gpio-line-names = "DIO2_IN", "DIO3_IN", "DIO4_IN", "GPIO_C_0",
|
||
|
"ETH_A_MDC", "ETH_A_MDIO", "ETH_A_RXD0", "ETH_A_RXD1",
|
||
|
"ETH_A_RXD2", "ETH_A_RXD3", "ETH_A_RX_DV", "ETH_A_RX_CLK",
|
||
|
"ETH_A_TXD0", "ETH_A_TXD1", "ETH_A_TXD2", "ETH_A_TXD3",
|
||
|
"ETH_A_TX_EN", "ETH_A_TX_CLK", "DIO4_OUT", "DIO1_IN",
|
||
|
"DIO3_OUT", "GPIO_A_6", "CAN_A_TX", "UART_A_CTS",
|
||
|
"UART_A_RTS", "CAN_A_RX", "CAN_B_TX", "CAN_B_RX",
|
||
|
"GPIO_A_7", "CARRIER_PWR_EN", "I2S_A_DATA_IN", "I2S_LRCLK";
|
||
|
};
|
||
|
|
||
|
&hdmi_pvi {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&hdmi_tx {
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&pinctrl_hdmi>;
|
||
|
ddc-i2c-bus = <&i2c2>;
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&hdmi_tx_phy {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&i2c1 {
|
||
|
status = "okay";
|
||
|
|
||
|
gpio_expander_dio: io-expander@20 {
|
||
|
compatible = "ti,tca6408";
|
||
|
reg = <0x20>;
|
||
|
gpio-controller;
|
||
|
#gpio-cells = <2>;
|
||
|
gpio-line-names = "DIO1_OUT","DIO1_IN", "DIO2_OUT","DIO2_IN",
|
||
|
"DIO3_OUT","DIO3_IN", "DIO4_OUT","DIO4_IN";
|
||
|
interrupt-parent = <&gpio3>;
|
||
|
interrupts = <19 IRQ_TYPE_EDGE_FALLING>;
|
||
|
reset-gpios = <&gpio3 20 GPIO_ACTIVE_LOW>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&i2c2 {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&i2c4 {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&lcdif3 {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&pwm2 {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
®_usdhc2_vcc {
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
&snvs_pwrkey {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&uart1 {
|
||
|
uart-has-rtscts;
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&uart4 {
|
||
|
linux,rs485-enabled-at-boot-time;
|
||
|
uart-has-rtscts;
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&usb_dwc3_0 {
|
||
|
adp-disable;
|
||
|
hnp-disable;
|
||
|
srp-disable;
|
||
|
dr_mode = "otg";
|
||
|
extcon = <&extcon_usbc>;
|
||
|
usb-role-switch;
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&usb_dwc3_1 {
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&pinctrl_usb_hub>;
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
dr_mode = "host";
|
||
|
status = "okay";
|
||
|
|
||
|
usb-hub@1 {
|
||
|
compatible = "usb424,2514";
|
||
|
reg = <1>;
|
||
|
reset-gpios = <&gpio3 14 GPIO_ACTIVE_LOW>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&usb3_0 {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&usb3_1 {
|
||
|
fsl,disable-port-power-control;
|
||
|
fsl,permanently-attached;
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&usb3_phy0 {
|
||
|
vbus-supply = <®_usb1_vbus>;
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&usb3_phy1 {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&usdhc2 {
|
||
|
pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
|
||
|
pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>;
|
||
|
pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>;
|
||
|
vmmc-supply = <®_vdd_3v3>;
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&iomuxc {
|
||
|
pinctrl_ethphy0: ethphy0grp {
|
||
|
fsl,pins = <
|
||
|
MX8MP_IOMUXC_GPIO1_IO01__GPIO1_IO01 0x46
|
||
|
>;
|
||
|
};
|
||
|
|
||
|
pinctrl_ethphy1: ethphy1grp {
|
||
|
fsl,pins = <
|
||
|
MX8MP_IOMUXC_GPIO1_IO00__GPIO1_IO00 0x46
|
||
|
>;
|
||
|
};
|
||
|
|
||
|
pinctrl_gpio2: gpio2grp {
|
||
|
fsl,pins = <
|
||
|
MX8MP_IOMUXC_SD2_RESET_B__GPIO2_IO19 0x46
|
||
|
MX8MP_IOMUXC_SD2_WP__GPIO2_IO20 0x46
|
||
|
>;
|
||
|
};
|
||
|
|
||
|
pinctrl_usb_hub: usbhubgrp {
|
||
|
fsl,pins = <
|
||
|
MX8MP_IOMUXC_NAND_DQS__GPIO3_IO14 0x46
|
||
|
>;
|
||
|
};
|
||
|
};
|