1 // SPDX-License-Identifier: GPL-2.0+ OR BSD-3- 1 // SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause 2 /* 2 /* 3 * Copyright (C) 2023 DH electronics GmbH 3 * Copyright (C) 2023 DH electronics GmbH 4 * 4 * 5 * DHCOM iMX6ULL variant: 5 * DHCOM iMX6ULL variant: 6 * DHCM-iMX6ULL-C080-R051-F0409-SPI-E2-CAN2-RT 6 * DHCM-iMX6ULL-C080-R051-F0409-SPI-E2-CAN2-RTC-WBT-ADC-I-01D2 7 * DHCOR PCB number: 578-200 or newer 7 * DHCOR PCB number: 578-200 or newer 8 * DHCOM PCB number: 579-200 or newer 8 * DHCOM PCB number: 579-200 or newer 9 * PDK2 PCB number: 516-400 or newer 9 * PDK2 PCB number: 516-400 or newer 10 */ 10 */ 11 /dts-v1/; 11 /dts-v1/; 12 12 13 #include "imx6ull-dhcom-som.dtsi" 13 #include "imx6ull-dhcom-som.dtsi" 14 14 15 / { 15 / { 16 model = "DH electronics i.MX6ULL DHCOM 16 model = "DH electronics i.MX6ULL DHCOM on Premium Developer Kit (2)"; 17 compatible = "dh,imx6ull-dhcom-pdk2", 17 compatible = "dh,imx6ull-dhcom-pdk2", "dh,imx6ull-dhcom-som", 18 "dh,imx6ull-dhcor-som", " 18 "dh,imx6ull-dhcor-som", "fsl,imx6ull"; 19 19 20 clk_ext_audio_codec: clock-codec { 20 clk_ext_audio_codec: clock-codec { 21 compatible = "fixed-clock"; 21 compatible = "fixed-clock"; 22 #clock-cells = <0>; 22 #clock-cells = <0>; 23 clock-frequency = <24000000>; 23 clock-frequency = <24000000>; 24 }; 24 }; 25 25 26 display_bl: display-bl { 26 display_bl: display-bl { 27 compatible = "pwm-backlight"; 27 compatible = "pwm-backlight"; 28 brightness-levels = <0 16 22 3 28 brightness-levels = <0 16 22 30 40 55 75 102 138 188 255>; 29 default-brightness-level = <8> 29 default-brightness-level = <8>; 30 enable-gpios = <&gpio5 8 GPIO_ 30 enable-gpios = <&gpio5 8 GPIO_ACTIVE_HIGH>; /* GPIO G */ 31 power-supply = <®_panel_3v3 31 power-supply = <®_panel_3v3>; 32 pwms = <&pwm1 0 50000 PWM_POLA 32 pwms = <&pwm1 0 50000 PWM_POLARITY_INVERTED>; 33 }; 33 }; 34 34 35 gpio-keys { 35 gpio-keys { 36 compatible = "gpio-keys"; 36 compatible = "gpio-keys"; 37 37 38 button-0 { 38 button-0 { 39 gpios = <&gpio5 0 GPIO 39 gpios = <&gpio5 0 GPIO_ACTIVE_LOW>; /* GPIO A */ 40 label = "TA1-GPIO-A"; 40 label = "TA1-GPIO-A"; 41 linux,code = <KEY_A>; 41 linux,code = <KEY_A>; 42 wakeup-source; 42 wakeup-source; 43 }; 43 }; 44 44 45 button-1 { 45 button-1 { 46 gpios = <&gpio5 1 GPIO 46 gpios = <&gpio5 1 GPIO_ACTIVE_LOW>; /* GPIO B */ 47 label = "TA2-GPIO-B"; 47 label = "TA2-GPIO-B"; 48 linux,code = <KEY_B>; 48 linux,code = <KEY_B>; 49 wakeup-source; 49 wakeup-source; 50 }; 50 }; 51 51 52 button-2 { 52 button-2 { 53 gpios = <&gpio5 2 GPIO 53 gpios = <&gpio5 2 GPIO_ACTIVE_LOW>; /* GPIO C */ 54 label = "TA3-GPIO-C"; 54 label = "TA3-GPIO-C"; 55 linux,code = <KEY_C>; 55 linux,code = <KEY_C>; 56 wakeup-source; 56 wakeup-source; 57 }; 57 }; 58 58 59 button-3 { 59 button-3 { 60 gpios = <&gpio5 3 GPIO 60 gpios = <&gpio5 3 GPIO_ACTIVE_LOW>; /* GPIO D */ 61 label = "TA4-GPIO-D"; 61 label = "TA4-GPIO-D"; 62 linux,code = <KEY_D>; 62 linux,code = <KEY_D>; 63 wakeup-source; 63 wakeup-source; 64 }; 64 }; 65 }; 65 }; 66 66 67 led: led { 67 led: led { 68 compatible = "gpio-leds"; 68 compatible = "gpio-leds"; 69 69 70 /* 70 /* 71 * Disable PDK2 LED5, because 71 * Disable PDK2 LED5, because GPIO E is 72 * already used as touch inter 72 * already used as touch interrupt. 73 */ 73 */ 74 led-0 { 74 led-0 { 75 color = <LED_COLOR_ID_ 75 color = <LED_COLOR_ID_GREEN>; 76 default-state = "off"; 76 default-state = "off"; 77 function = LED_FUNCTIO 77 function = LED_FUNCTION_INDICATOR; 78 function-enumerator = 78 function-enumerator = <5>; /* PDK2 LED5 */ 79 gpios = <&gpio5 4 GPIO 79 gpios = <&gpio5 4 GPIO_ACTIVE_HIGH>; /* GPIO E */ 80 status = "disabled"; 80 status = "disabled"; 81 }; 81 }; 82 82 83 led-1 { 83 led-1 { 84 color = <LED_COLOR_ID_ 84 color = <LED_COLOR_ID_GREEN>; 85 default-state = "off"; 85 default-state = "off"; 86 function = LED_FUNCTIO 86 function = LED_FUNCTION_INDICATOR; 87 function-enumerator = 87 function-enumerator = <6>; /* PDK2 LED6 */ 88 gpios = <&gpio5 7 GPIO 88 gpios = <&gpio5 7 GPIO_ACTIVE_HIGH>; /* GPIO F */ 89 }; 89 }; 90 90 91 /* 91 /* 92 * Disable PDK2 LED7, because 92 * Disable PDK2 LED7, because GPIO H is 93 * already used for WiFi pin W 93 * already used for WiFi pin WL_REG_ON. 94 */ 94 */ 95 led-2 { 95 led-2 { 96 color = <LED_COLOR_ID_ 96 color = <LED_COLOR_ID_GREEN>; 97 default-state = "off"; 97 default-state = "off"; 98 function = LED_FUNCTIO 98 function = LED_FUNCTION_INDICATOR; 99 function-enumerator = 99 function-enumerator = <7>; /* PDK2 LED7 */ 100 gpios = <&gpio5 9 GPIO 100 gpios = <&gpio5 9 GPIO_ACTIVE_HIGH>; /* GPIO H */ 101 status = "disabled"; 101 status = "disabled"; 102 }; 102 }; 103 103 104 /* 104 /* 105 * Disable PDK2 LED8, because 105 * Disable PDK2 LED8, because GPIO I is 106 * already used for BT pin BT_ 106 * already used for BT pin BT_REG_ON. 107 */ 107 */ 108 led-3 { 108 led-3 { 109 color = <LED_COLOR_ID_ 109 color = <LED_COLOR_ID_GREEN>; 110 default-state = "off"; 110 default-state = "off"; 111 function = LED_FUNCTIO 111 function = LED_FUNCTION_INDICATOR; 112 function-enumerator = 112 function-enumerator = <8>; /* PDK2 LED8 */ 113 gpios = <&gpio1 18 GPI 113 gpios = <&gpio1 18 GPIO_ACTIVE_HIGH>; /* GPIO I */ 114 status = "disabled"; 114 status = "disabled"; 115 }; 115 }; 116 }; 116 }; 117 117 118 panel { 118 panel { 119 compatible = "edt,etm0700g0edh 119 compatible = "edt,etm0700g0edh6"; 120 backlight = <&display_bl>; 120 backlight = <&display_bl>; 121 power-supply = <®_panel_3v3 121 power-supply = <®_panel_3v3>; 122 122 123 port { 123 port { 124 lcd_panel_in: endpoint 124 lcd_panel_in: endpoint { 125 remote-endpoin 125 remote-endpoint = <&lcd_display_out>; 126 }; 126 }; 127 }; 127 }; 128 }; 128 }; 129 129 130 /* Filtered supply voltage */ 130 /* Filtered supply voltage */ 131 reg_pdk2_24v: regulator-pdk2-24v { 131 reg_pdk2_24v: regulator-pdk2-24v { 132 compatible = "regulator-fixed" 132 compatible = "regulator-fixed"; 133 regulator-always-on; 133 regulator-always-on; 134 regulator-max-microvolt = <240 134 regulator-max-microvolt = <24000000>; 135 regulator-min-microvolt = <240 135 regulator-min-microvolt = <24000000>; 136 regulator-name = "24V_PDK2"; 136 regulator-name = "24V_PDK2"; 137 }; 137 }; 138 138 139 /* PDK2 U35 */ 139 /* PDK2 U35 */ 140 reg_pdk2_3v3: regulator-pdk2-3v3 { 140 reg_pdk2_3v3: regulator-pdk2-3v3 { 141 compatible = "regulator-fixed" 141 compatible = "regulator-fixed"; 142 regulator-always-on; 142 regulator-always-on; 143 regulator-min-microvolt = <330 143 regulator-min-microvolt = <3300000>; 144 regulator-max-microvolt = <330 144 regulator-max-microvolt = <3300000>; 145 regulator-name = "3V3_PDK2"; 145 regulator-name = "3V3_PDK2"; 146 vin-supply = <®_pdk2_24v>; 146 vin-supply = <®_pdk2_24v>; 147 }; 147 }; 148 148 149 /* 560-200 U1 */ 149 /* 560-200 U1 */ 150 reg_panel_3v3: regulator-panel-3v3 { 150 reg_panel_3v3: regulator-panel-3v3 { 151 compatible = "regulator-fixed" 151 compatible = "regulator-fixed"; 152 regulator-always-on; 152 regulator-always-on; 153 regulator-min-microvolt = <330 153 regulator-min-microvolt = <3300000>; 154 regulator-max-microvolt = <330 154 regulator-max-microvolt = <3300000>; 155 regulator-name = "3V3_PANEL"; 155 regulator-name = "3V3_PANEL"; 156 vin-supply = <®_pdk2_24v>; 156 vin-supply = <®_pdk2_24v>; 157 }; 157 }; 158 158 159 sound { 159 sound { 160 compatible = "simple-audio-car 160 compatible = "simple-audio-card"; 161 simple-audio-card,bitclock-mas 161 simple-audio-card,bitclock-master = <&dailink_master>; 162 simple-audio-card,format = "i2 162 simple-audio-card,format = "i2s"; 163 simple-audio-card,frame-master 163 simple-audio-card,frame-master = <&dailink_master>; 164 simple-audio-card,name = "sgtl 164 simple-audio-card,name = "sgtl5000"; 165 simple-audio-card,routing = 165 simple-audio-card,routing = 166 "MIC_IN", "Mic Jack", 166 "MIC_IN", "Mic Jack", 167 "Mic Jack", "Mic Bias" 167 "Mic Jack", "Mic Bias", 168 "LINE_IN", "Line In Ja 168 "LINE_IN", "Line In Jack", 169 "Headphone Jack", "HP_ 169 "Headphone Jack", "HP_OUT"; 170 simple-audio-card,widgets = 170 simple-audio-card,widgets = 171 "Microphone", "Mic Jac 171 "Microphone", "Mic Jack", 172 "Line", "Line In Jack" 172 "Line", "Line In Jack", 173 "Headphone", "Headphon 173 "Headphone", "Headphone Jack"; 174 174 175 simple-audio-card,cpu { 175 simple-audio-card,cpu { 176 sound-dai = <&sai2>; 176 sound-dai = <&sai2>; 177 }; 177 }; 178 178 179 dailink_master: simple-audio-c 179 dailink_master: simple-audio-card,codec { 180 clocks = <&clk_ext_aud 180 clocks = <&clk_ext_audio_codec>; 181 sound-dai = <&sgtl5000 181 sound-dai = <&sgtl5000>; 182 }; 182 }; 183 }; 183 }; 184 }; 184 }; 185 185 186 /* DHCOM I2C1 */ 186 /* DHCOM I2C1 */ 187 &i2c2 { 187 &i2c2 { 188 sgtl5000: audio-codec@a { 188 sgtl5000: audio-codec@a { 189 compatible = "fsl,sgtl5000"; 189 compatible = "fsl,sgtl5000"; 190 reg = <0x0a>; 190 reg = <0x0a>; 191 #sound-dai-cells = <0>; 191 #sound-dai-cells = <0>; 192 clocks = <&clk_ext_audio_codec 192 clocks = <&clk_ext_audio_codec>; 193 VDDA-supply = <®_pdk2_3v3>; 193 VDDA-supply = <®_pdk2_3v3>; 194 VDDIO-supply = <®_pdk2_3v3> 194 VDDIO-supply = <®_pdk2_3v3>; 195 }; 195 }; 196 196 197 touchscreen@38 { 197 touchscreen@38 { 198 compatible = "edt,edt-ft5406"; 198 compatible = "edt,edt-ft5406"; 199 reg = <0x38>; 199 reg = <0x38>; 200 interrupt-parent = <&gpio5>; 200 interrupt-parent = <&gpio5>; 201 interrupts = <4 IRQ_TYPE_EDGE_ 201 interrupts = <4 IRQ_TYPE_EDGE_FALLING>; /* GPIO E */ 202 power-supply = <®_panel_3v3 202 power-supply = <®_panel_3v3>; 203 }; 203 }; 204 }; 204 }; 205 205 206 &lcdif { 206 &lcdif { 207 status = "okay"; 207 status = "okay"; 208 208 209 port { 209 port { 210 lcd_display_out: endpoint { 210 lcd_display_out: endpoint { 211 remote-endpoint = <&lc 211 remote-endpoint = <&lcd_panel_in>; 212 }; 212 }; 213 }; 213 }; 214 }; 214 }; 215 215 216 &pwm1 { 216 &pwm1 { 217 status = "okay"; 217 status = "okay"; 218 }; 218 }; 219 219 220 &sai2 { 220 &sai2 { 221 status = "okay"; 221 status = "okay"; 222 }; 222 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.