1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright (C) 2022 Marek Vasut <marex@denx.de> 4 * 5 * DHCOM iMX8MP variant: 6 * DHCM-iMX8ML8-C160-R409-F1638-SPI16-GE-CAN2-SD-RTC-WBTA-ADC-T-RGB-CSI2-HS-I-01D2 7 * DHCOM PCB number: 660-100 or newer 8 * PDK2 PCB number: 516-400 or newer 9 */ 10 11/dts-v1/; 12 13#include <dt-bindings/leds/common.h> 14#include <dt-bindings/phy/phy-imx8-pcie.h> 15#include "imx8mp-dhcom-som.dtsi" 16 17/ { 18 model = "DH electronics i.MX8M Plus DHCOM Premium Developer Kit (2)"; 19 compatible = "dh,imx8mp-dhcom-pdk2", "dh,imx8mp-dhcom-som", 20 "fsl,imx8mp"; 21 22 chosen { 23 stdout-path = &uart1; 24 }; 25 26 gpio-keys { 27 compatible = "gpio-keys"; 28 29 button-0 { 30 gpios = <&gpio1 9 GPIO_ACTIVE_LOW>; /* GPIO A */ 31 label = "TA1-GPIO-A"; 32 linux,code = <KEY_A>; 33 pinctrl-0 = <&pinctrl_dhcom_a>; 34 pinctrl-names = "default"; 35 wakeup-source; 36 }; 37 38 button-1 { 39 gpios = <&gpio1 8 GPIO_ACTIVE_LOW>; /* GPIO B */ 40 label = "TA2-GPIO-B"; 41 linux,code = <KEY_B>; 42 pinctrl-0 = <&pinctrl_dhcom_b>; 43 pinctrl-names = "default"; 44 wakeup-source; 45 }; 46 47 button-2 { 48 gpios = <&gpio5 2 GPIO_ACTIVE_LOW>; /* GPIO C */ 49 label = "TA3-GPIO-C"; 50 linux,code = <KEY_C>; 51 pinctrl-0 = <&pinctrl_dhcom_c>; 52 pinctrl-names = "default"; 53 wakeup-source; 54 }; 55 56 button-3 { 57 gpios = <&gpio4 27 GPIO_ACTIVE_LOW>; /* GPIO D */ 58 label = "TA4-GPIO-D"; 59 linux,code = <KEY_D>; 60 pinctrl-0 = <&pinctrl_dhcom_d>; 61 pinctrl-names = "default"; 62 wakeup-source; 63 }; 64 }; 65 66 led { 67 compatible = "gpio-leds"; 68 69 led-0 { 70 color = <LED_COLOR_ID_GREEN>; 71 default-state = "off"; 72 function = LED_FUNCTION_INDICATOR; 73 gpios = <&gpio5 22 GPIO_ACTIVE_HIGH>; /* GPIO E */ 74 pinctrl-0 = <&pinctrl_dhcom_e>; 75 pinctrl-names = "default"; 76 }; 77 78 led-1 { 79 color = <LED_COLOR_ID_GREEN>; 80 default-state = "off"; 81 function = LED_FUNCTION_INDICATOR; 82 gpios = <&gpio5 23 GPIO_ACTIVE_HIGH>; /* GPIO F */ 83 pinctrl-0 = <&pinctrl_dhcom_f>; 84 pinctrl-names = "default"; 85 }; 86 87 led-2 { 88 color = <LED_COLOR_ID_GREEN>; 89 default-state = "off"; 90 function = LED_FUNCTION_INDICATOR; 91 gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>; /* GPIO H */ 92 pinctrl-0 = <&pinctrl_dhcom_h>; 93 pinctrl-names = "default"; 94 }; 95 96 led-3 { 97 color = <LED_COLOR_ID_GREEN>; 98 default-state = "off"; 99 function = LED_FUNCTION_INDICATOR; 100 gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>; /* GPIO I */ 101 pinctrl-0 = <&pinctrl_dhcom_i>; 102 pinctrl-names = "default"; 103 }; 104 }; 105}; 106 107&fec { /* Second ethernet */ 108 pinctrl-0 = <&pinctrl_fec_rgmii>; 109 phy-handle = <ðphypdk>; 110 phy-mode = "rgmii"; 111 112 mdio { 113 ethphypdk: ethernet-phy@7 { /* KSZ 9021 */ 114 compatible = "ethernet-phy-ieee802.3-c22"; 115 pinctrl-0 = <&pinctrl_ethphy1>; 116 pinctrl-names = "default"; 117 interrupt-parent = <&gpio4>; 118 interrupts = <3 IRQ_TYPE_LEVEL_LOW>; 119 max-speed = <100>; 120 reg = <7>; 121 reset-assert-us = <1000>; 122 reset-deassert-us = <1000>; 123 reset-gpios = <&gpio4 2 GPIO_ACTIVE_LOW>; 124 rxc-skew-ps = <3000>; 125 rxd0-skew-ps = <0>; 126 rxd1-skew-ps = <0>; 127 rxd2-skew-ps = <0>; 128 rxd3-skew-ps = <0>; 129 rxdv-skew-ps = <0>; 130 txc-skew-ps = <3000>; 131 txd0-skew-ps = <0>; 132 txd1-skew-ps = <0>; 133 txd2-skew-ps = <0>; 134 txd3-skew-ps = <0>; 135 txen-skew-ps = <0>; 136 }; 137 }; 138}; 139 140&flexcan1 { 141 status = "okay"; 142}; 143 144&pcie_phy { 145 clock-names = "ref"; 146 clocks = <&clk IMX8MP_SYS_PLL2_100M>; 147 fsl,clkreq-unsupported; 148 fsl,refclk-pad-mode = <IMX8_PCIE_REFCLK_PAD_UNUSED>; 149 status = "okay"; 150}; 151 152&pcie { 153 fsl,max-link-speed = <1>; 154 reset-gpio = <&gpio1 6 GPIO_ACTIVE_LOW>; /* GPIO J */ 155 status = "okay"; 156}; 157 158&usb3_1 { 159 fsl,over-current-active-low; 160}; 161 162&iomuxc { 163 /* 164 * GPIO_A,B,C,D are connected to buttons. 165 * GPIO_E,F,H,I are connected to LEDs. 166 * GPIO_M is connected to CLKOUT1. 167 */ 168 pinctrl-0 = <&pinctrl_hog_base 169 &pinctrl_dhcom_g &pinctrl_dhcom_j 170 &pinctrl_dhcom_k &pinctrl_dhcom_l 171 &pinctrl_dhcom_int>; 172}; 173