1 /* 1 /* 2 * Copyright (C) 2015 Rabeeh Khoury <rabeeh@sol 2 * Copyright (C) 2015 Rabeeh Khoury <rabeeh@solid-run.com> 3 * 3 * 4 * This file is dual-licensed: you can use it 4 * This file is dual-licensed: you can use it either under the terms 5 * of the GPL or the X11 license, at your opti 5 * of the GPL or the X11 license, at your option. Note that this dual 6 * licensing only applies to this file, and no 6 * licensing only applies to this file, and not this project as a 7 * whole. 7 * whole. 8 * 8 * 9 * a) This file is free software; you can red 9 * a) This file is free software; you can redistribute it and/or 10 * modify it under the terms of the GNU Ge 10 * modify it under the terms of the GNU General Public License 11 * version 2 as published by the Free Soft 11 * version 2 as published by the Free Software Foundation. 12 * 12 * 13 * This file is distributed in the hope th 13 * This file is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTIC 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 * GNU General Public License for more det 16 * GNU General Public License for more details. 17 * 17 * 18 * Or, alternatively, 18 * Or, alternatively, 19 * 19 * 20 * b) Permission is hereby granted, free of c 20 * b) Permission is hereby granted, free of charge, to any person 21 * obtaining a copy of this software and a 21 * obtaining a copy of this software and associated documentation 22 * files (the "Software"), to deal in the 22 * files (the "Software"), to deal in the Software without 23 * restriction, including without limitati 23 * restriction, including without limitation the rights to use, 24 * copy, modify, merge, publish, distribut 24 * copy, modify, merge, publish, distribute, sublicense, and/or 25 * sell copies of the Software, and to per 25 * sell copies of the Software, and to permit persons to whom the 26 * Software is furnished to do so, subject 26 * Software is furnished to do so, subject to the following 27 * conditions: 27 * conditions: 28 * 28 * 29 * The above copyright notice and this per 29 * The above copyright notice and this permission notice shall be 30 * included in all copies or substantial p 30 * included in all copies or substantial portions of the Software. 31 * 31 * 32 * THE SOFTWARE IS PROVIDED "AS IS", WITHO 32 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 33 * EXPRESS OR IMPLIED, INCLUDING BUT NOT L 33 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 34 * OF MERCHANTABILITY, FITNESS FOR A PARTI 34 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 35 * NONINFRINGEMENT. IN NO EVENT SHALL THE 35 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 36 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGE 36 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 37 * WHETHER IN AN ACTION OF CONTRACT, TORT 37 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 38 * FROM, OUT OF OR IN CONNECTION WITH THE 38 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 39 * OTHER DEALINGS IN THE SOFTWARE. 39 * OTHER DEALINGS IN THE SOFTWARE. 40 */ 40 */ 41 #include <dt-bindings/sound/fsl-imx-audmux.h> 41 #include <dt-bindings/sound/fsl-imx-audmux.h> 42 42 43 / { 43 / { 44 aliases { 44 aliases { 45 rtc0 = &pcf8523; 45 rtc0 = &pcf8523; 46 rtc1 = &snvs_rtc; 46 rtc1 = &snvs_rtc; 47 }; 47 }; 48 48 49 /* Will be filled by the bootloader */ 49 /* Will be filled by the bootloader */ 50 memory@10000000 { 50 memory@10000000 { 51 device_type = "memory"; 51 device_type = "memory"; 52 reg = <0x10000000 0>; 52 reg = <0x10000000 0>; 53 }; 53 }; 54 54 55 chosen { 55 chosen { 56 stdout-path = &uart1; 56 stdout-path = &uart1; 57 }; 57 }; 58 58 59 ir_recv: ir-receiver { 59 ir_recv: ir-receiver { 60 compatible = "gpio-ir-receiver 60 compatible = "gpio-ir-receiver"; 61 gpios = <&gpio7 9 GPIO_ACTIVE_ 61 gpios = <&gpio7 9 GPIO_ACTIVE_LOW>; 62 pinctrl-names = "default"; 62 pinctrl-names = "default"; 63 pinctrl-0 = <&pinctrl_hummingb 63 pinctrl-0 = <&pinctrl_hummingboard2_gpio7_9>; 64 linux,rc-map-name = "rc-rc6-mc 64 linux,rc-map-name = "rc-rc6-mce"; 65 }; 65 }; 66 66 67 v_3v2: regulator-v-3v2 { 67 v_3v2: regulator-v-3v2 { 68 compatible = "regulator-fixed" 68 compatible = "regulator-fixed"; 69 regulator-always-on; 69 regulator-always-on; 70 regulator-max-microvolt = <330 70 regulator-max-microvolt = <3300000>; 71 regulator-min-microvolt = <330 71 regulator-min-microvolt = <3300000>; 72 regulator-name = "v_3v2"; 72 regulator-name = "v_3v2"; 73 }; 73 }; 74 74 75 v_5v0: regulator-v-5v0 { 75 v_5v0: regulator-v-5v0 { 76 compatible = "regulator-fixed" 76 compatible = "regulator-fixed"; 77 regulator-always-on; 77 regulator-always-on; 78 regulator-max-microvolt = <500 78 regulator-max-microvolt = <5000000>; 79 regulator-min-microvolt = <500 79 regulator-min-microvolt = <5000000>; 80 regulator-name = "v_5v0"; 80 regulator-name = "v_5v0"; 81 }; 81 }; 82 82 83 vcc_1p8: regulator-vcc-1p8 { 83 vcc_1p8: regulator-vcc-1p8 { 84 compatible = "regulator-fixed" 84 compatible = "regulator-fixed"; 85 regulator-always-on; 85 regulator-always-on; 86 regulator-max-microvolt = <180 86 regulator-max-microvolt = <1800000>; 87 regulator-min-microvolt = <180 87 regulator-min-microvolt = <1800000>; 88 regulator-name = "vcc_1p8"; 88 regulator-name = "vcc_1p8"; 89 vin-supply = <&v_3v2>; 89 vin-supply = <&v_3v2>; 90 }; 90 }; 91 91 92 v_sd: regulator-v-sd { 92 v_sd: regulator-v-sd { 93 compatible = "regulator-fixed" 93 compatible = "regulator-fixed"; 94 gpio = <&gpio4 30 GPIO_ACTIVE_ 94 gpio = <&gpio4 30 GPIO_ACTIVE_HIGH>; 95 pinctrl-names = "default"; 95 pinctrl-names = "default"; 96 pinctrl-0 = <&pinctrl_hummingb 96 pinctrl-0 = <&pinctrl_hummingboard2_vmmc>; 97 regulator-boot-on; 97 regulator-boot-on; 98 regulator-max-microvolt = <330 98 regulator-max-microvolt = <3300000>; 99 regulator-min-microvolt = <330 99 regulator-min-microvolt = <3300000>; 100 regulator-name = "v_sd"; 100 regulator-name = "v_sd"; 101 startup-delay-us = <1000>; 101 startup-delay-us = <1000>; 102 vin-supply = <&v_3v2>; 102 vin-supply = <&v_3v2>; 103 }; 103 }; 104 104 105 v_usb1: regulator-v-usb1 { 105 v_usb1: regulator-v-usb1 { 106 compatible = "regulator-fixed" 106 compatible = "regulator-fixed"; 107 enable-active-high; 107 enable-active-high; 108 gpio = <&gpio3 22 GPIO_ACTIVE_ 108 gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>; 109 pinctrl-names = "default"; 109 pinctrl-names = "default"; 110 pinctrl-0 = <&pinctrl_hummingb 110 pinctrl-0 = <&pinctrl_hummingboard2_usbotg_vbus>; 111 regulator-always-on; 111 regulator-always-on; 112 regulator-max-microvolt = <500 112 regulator-max-microvolt = <5000000>; 113 regulator-min-microvolt = <500 113 regulator-min-microvolt = <5000000>; 114 regulator-name = "v_usb1"; 114 regulator-name = "v_usb1"; 115 vin-supply = <&v_5v0>; 115 vin-supply = <&v_5v0>; 116 }; 116 }; 117 117 118 v_usb2: regulator-v-usb2 { 118 v_usb2: regulator-v-usb2 { 119 /* USB hub port 1 */ 119 /* USB hub port 1 */ 120 compatible = "regulator-fixed" 120 compatible = "regulator-fixed"; 121 enable-active-high; 121 enable-active-high; 122 gpio = <&gpio1 0 GPIO_ACTIVE_H 122 gpio = <&gpio1 0 GPIO_ACTIVE_HIGH>; 123 pinctrl-names = "default"; 123 pinctrl-names = "default"; 124 pinctrl-0 = <&pinctrl_hummingb 124 pinctrl-0 = <&pinctrl_hummingboard2_usbh1_vbus>; 125 regulator-always-on; 125 regulator-always-on; 126 regulator-max-microvolt = <500 126 regulator-max-microvolt = <5000000>; 127 regulator-min-microvolt = <500 127 regulator-min-microvolt = <5000000>; 128 regulator-name = "v_usb2"; 128 regulator-name = "v_usb2"; 129 vin-supply = <&v_5v0>; 129 vin-supply = <&v_5v0>; 130 }; 130 }; 131 131 132 v_usb3: regulator-v-usb3 { 132 v_usb3: regulator-v-usb3 { 133 /* USB hub port 3 */ 133 /* USB hub port 3 */ 134 compatible = "regulator-fixed" 134 compatible = "regulator-fixed"; 135 enable-active-high; 135 enable-active-high; 136 gpio = <&gpio2 13 GPIO_ACTIVE_ 136 gpio = <&gpio2 13 GPIO_ACTIVE_HIGH>; 137 pinctrl-names = "default"; 137 pinctrl-names = "default"; 138 pinctrl-0 = <&pinctrl_hummingb 138 pinctrl-0 = <&pinctrl_hummingboard2_usbh2_vbus>; 139 regulator-always-on; 139 regulator-always-on; 140 regulator-max-microvolt = <500 140 regulator-max-microvolt = <5000000>; 141 regulator-min-microvolt = <500 141 regulator-min-microvolt = <5000000>; 142 regulator-name = "v_usb3"; 142 regulator-name = "v_usb3"; 143 vin-supply = <&v_5v0>; 143 vin-supply = <&v_5v0>; 144 }; 144 }; 145 145 146 v_usb4: regulator-v-usb4 { 146 v_usb4: regulator-v-usb4 { 147 /* USB hub port 4 */ 147 /* USB hub port 4 */ 148 compatible = "regulator-fixed" 148 compatible = "regulator-fixed"; 149 enable-active-high; 149 enable-active-high; 150 gpio = <&gpio7 10 GPIO_ACTIVE_ 150 gpio = <&gpio7 10 GPIO_ACTIVE_HIGH>; 151 pinctrl-names = "default"; 151 pinctrl-names = "default"; 152 pinctrl-0 = <&pinctrl_hummingb 152 pinctrl-0 = <&pinctrl_hummingboard2_usbh3_vbus>; 153 regulator-always-on; 153 regulator-always-on; 154 regulator-max-microvolt = <500 154 regulator-max-microvolt = <5000000>; 155 regulator-min-microvolt = <500 155 regulator-min-microvolt = <5000000>; 156 regulator-name = "v_usb4"; 156 regulator-name = "v_usb4"; 157 vin-supply = <&v_5v0>; 157 vin-supply = <&v_5v0>; 158 }; 158 }; 159 159 160 audio: sound-sgtl5000 { 160 audio: sound-sgtl5000 { 161 compatible = "simple-audio-car 161 compatible = "simple-audio-card"; 162 simple-audio-card,name = "On-b 162 simple-audio-card,name = "On-board Codec"; 163 simple-audio-card,format = "i2 163 simple-audio-card,format = "i2s"; 164 simple-audio-card,bitclock-mas 164 simple-audio-card,bitclock-master = <&sound_codec>; 165 simple-audio-card,frame-master 165 simple-audio-card,frame-master = <&sound_codec>; 166 simple-audio-card,widgets = 166 simple-audio-card,widgets = 167 "Microphone", "Mic Jac 167 "Microphone", "Mic Jack", 168 "Headphone", "Headphon 168 "Headphone", "Headphone Jack"; 169 simple-audio-card,routing = 169 simple-audio-card,routing = 170 "MIC_IN", "Mic Jack", 170 "MIC_IN", "Mic Jack", 171 "Mic Jack", "Mic Bias" 171 "Mic Jack", "Mic Bias", 172 "Headphone Jack", "HP_ 172 "Headphone Jack", "HP_OUT"; 173 173 174 sound_cpu: simple-audio-card,c 174 sound_cpu: simple-audio-card,cpu { 175 sound-dai = <&ssi1>; 175 sound-dai = <&ssi1>; 176 }; 176 }; 177 177 178 sound_codec: simple-audio-card 178 sound_codec: simple-audio-card,codec { 179 sound-dai = <&sgtl5000 179 sound-dai = <&sgtl5000>; 180 }; 180 }; 181 }; 181 }; 182 }; 182 }; 183 183 184 &audmux { 184 &audmux { 185 status = "okay"; 185 status = "okay"; 186 186 187 mux-ssi1 { 187 mux-ssi1 { 188 fsl,audmux-port = <0>; 188 fsl,audmux-port = <0>; 189 fsl,port-config = < 189 fsl,port-config = < 190 (IMX_AUDMUX_V2_PTCR_SY 190 (IMX_AUDMUX_V2_PTCR_SYN | 191 IMX_AUDMUX_V2_PTCR_TF 191 IMX_AUDMUX_V2_PTCR_TFSEL(4) | 192 IMX_AUDMUX_V2_PTCR_TC 192 IMX_AUDMUX_V2_PTCR_TCSEL(4) | 193 IMX_AUDMUX_V2_PTCR_TF 193 IMX_AUDMUX_V2_PTCR_TFSDIR | 194 IMX_AUDMUX_V2_PTCR_TC 194 IMX_AUDMUX_V2_PTCR_TCLKDIR) 195 IMX_AUDMUX_V2_PDCR_RX 195 IMX_AUDMUX_V2_PDCR_RXDSEL(4) 196 >; 196 >; 197 }; 197 }; 198 198 199 mux-pins5 { 199 mux-pins5 { 200 fsl,audmux-port = <4>; 200 fsl,audmux-port = <4>; 201 fsl,port-config = < 201 fsl,port-config = < 202 IMX_AUDMUX_V2_PTCR_SYN 202 IMX_AUDMUX_V2_PTCR_SYN 203 IMX_AUDMUX_V2_PDCR_RXD 203 IMX_AUDMUX_V2_PDCR_RXDSEL(0) 204 >; 204 >; 205 }; 205 }; 206 }; 206 }; 207 207 208 &ecspi2 { 208 &ecspi2 { 209 pinctrl-names = "default"; 209 pinctrl-names = "default"; 210 pinctrl-0 = <&pinctrl_hummingboard2_ec 210 pinctrl-0 = <&pinctrl_hummingboard2_ecspi2>; 211 cs-gpios = <&gpio2 26 GPIO_ACTIVE_LOW> 211 cs-gpios = <&gpio2 26 GPIO_ACTIVE_LOW>; 212 status = "okay"; 212 status = "okay"; 213 }; 213 }; 214 214 215 &hdmi { 215 &hdmi { 216 pinctrl-names = "default"; 216 pinctrl-names = "default"; 217 pinctrl-0 = <&pinctrl_hummingboard2_hd 217 pinctrl-0 = <&pinctrl_hummingboard2_hdmi>; 218 ddc-i2c-bus = <&i2c2>; 218 ddc-i2c-bus = <&i2c2>; 219 status = "okay"; 219 status = "okay"; 220 }; 220 }; 221 221 222 &i2c1 { 222 &i2c1 { 223 clock-frequency = <100000>; 223 clock-frequency = <100000>; 224 pinctrl-names = "default"; 224 pinctrl-names = "default"; 225 pinctrl-0 = <&pinctrl_hummingboard2_i2 225 pinctrl-0 = <&pinctrl_hummingboard2_i2c1>; 226 status = "okay"; 226 status = "okay"; 227 227 228 pcf8523: rtc@68 { 228 pcf8523: rtc@68 { 229 compatible = "nxp,pcf8523"; 229 compatible = "nxp,pcf8523"; 230 reg = <0x68>; 230 reg = <0x68>; 231 }; 231 }; 232 232 233 sgtl5000: codec@a { 233 sgtl5000: codec@a { 234 clocks = <&clks IMX6QDL_CLK_CK 234 clocks = <&clks IMX6QDL_CLK_CKO>; 235 compatible = "fsl,sgtl5000"; 235 compatible = "fsl,sgtl5000"; 236 #sound-dai-cells = <0>; 236 #sound-dai-cells = <0>; 237 pinctrl-names = "default"; 237 pinctrl-names = "default"; 238 pinctrl-0 = <&pinctrl_hummingb 238 pinctrl-0 = <&pinctrl_hummingboard2_sgtl5000>; 239 reg = <0x0a>; 239 reg = <0x0a>; 240 VDDA-supply = <&v_3v2>; 240 VDDA-supply = <&v_3v2>; 241 VDDD-supply = <&vcc_1p8>; 241 VDDD-supply = <&vcc_1p8>; 242 VDDIO-supply = <&v_3v2>; 242 VDDIO-supply = <&v_3v2>; 243 }; 243 }; 244 }; 244 }; 245 245 246 &i2c2 { 246 &i2c2 { 247 clock-frequency = <100000>; 247 clock-frequency = <100000>; 248 pinctrl-names = "default"; 248 pinctrl-names = "default"; 249 pinctrl-0 = <&pinctrl_hummingboard2_i2 249 pinctrl-0 = <&pinctrl_hummingboard2_i2c2>; 250 status = "okay"; 250 status = "okay"; 251 }; 251 }; 252 252 253 &i2c3 { 253 &i2c3 { 254 clock-frequency = <100000>; 254 clock-frequency = <100000>; 255 pinctrl-names = "default"; 255 pinctrl-names = "default"; 256 pinctrl-0 = <&pinctrl_hummingboard2_i2 256 pinctrl-0 = <&pinctrl_hummingboard2_i2c3>; 257 status = "okay"; 257 status = "okay"; 258 }; 258 }; 259 259 260 &iomuxc { 260 &iomuxc { 261 pinctrl-names = "default"; 261 pinctrl-names = "default"; 262 pinctrl-0 = <&pinctrl_hog>; 262 pinctrl-0 = <&pinctrl_hog>; 263 263 264 hummingboard2 { 264 hummingboard2 { 265 pinctrl_hog: hoggrp { 265 pinctrl_hog: hoggrp { 266 fsl,pins = < 266 fsl,pins = < 267 /* 267 /* 268 * 36 pin head 268 * 36 pin headers GPIO description. The pins 269 * numbering a 269 * numbering as following - 270 * 270 * 271 * 3.2v 271 * 3.2v 5v 74 75 272 * 73 272 * 73 72 71 70 273 * 69 273 * 69 68 67 66 274 * 274 * 275 * 77 275 * 77 78 79 76 276 * 65 276 * 65 64 61 60 277 * 53 277 * 53 52 51 50 278 * 49 278 * 49 48 166 132 279 * 95 279 * 95 94 90 91 280 * GND 280 * GND 54 24 204 281 * 281 * 282 * The GPIO nu 282 * The GPIO numbers can be extracted using 283 * signal name 283 * signal name from below. 284 * Example - 284 * Example - 285 * MX6QDL_PAD_ 285 * MX6QDL_PAD_EIM_DA10__GPIO3_IO10 is 286 * GPIO(3,10) 286 * GPIO(3,10) which is (3-1)*32+10 = gpio 74 287 * 287 * 288 * i.e. The ma 288 * i.e. The mapping of GPIO(X,Y) to Linux gpio 289 * number is : 289 * number is : gpio number = (X-1) * 32 + Y 290 */ 290 */ 291 /* DI1_PIN15 * 291 /* DI1_PIN15 */ 292 MX6QDL_PAD_EIM 292 MX6QDL_PAD_EIM_DA10__GPIO3_IO10 0x400130b1 293 /* DI1_PIN02 * 293 /* DI1_PIN02 */ 294 MX6QDL_PAD_EIM 294 MX6QDL_PAD_EIM_DA11__GPIO3_IO11 0x400130b1 295 /* DISP1_DATA0 295 /* DISP1_DATA00 */ 296 MX6QDL_PAD_EIM 296 MX6QDL_PAD_EIM_DA9__GPIO3_IO09 0x400130b1 297 /* DISP1_DATA0 297 /* DISP1_DATA01 */ 298 MX6QDL_PAD_EIM 298 MX6QDL_PAD_EIM_DA8__GPIO3_IO08 0x400130b1 299 /* DISP1_DATA0 299 /* DISP1_DATA02 */ 300 MX6QDL_PAD_EIM 300 MX6QDL_PAD_EIM_DA7__GPIO3_IO07 0x400130b1 301 /* DISP1_DATA0 301 /* DISP1_DATA03 */ 302 MX6QDL_PAD_EIM 302 MX6QDL_PAD_EIM_DA6__GPIO3_IO06 0x400130b1 303 /* DISP1_DATA0 303 /* DISP1_DATA04 */ 304 MX6QDL_PAD_EIM 304 MX6QDL_PAD_EIM_DA5__GPIO3_IO05 0x400130b1 305 /* DISP1_DATA0 305 /* DISP1_DATA05 */ 306 MX6QDL_PAD_EIM 306 MX6QDL_PAD_EIM_DA4__GPIO3_IO04 0x400130b1 307 /* DISP1_DATA0 307 /* DISP1_DATA06 */ 308 MX6QDL_PAD_EIM 308 MX6QDL_PAD_EIM_DA3__GPIO3_IO03 0x400130b1 309 /* DISP1_DATA0 309 /* DISP1_DATA07 */ 310 MX6QDL_PAD_EIM 310 MX6QDL_PAD_EIM_DA2__GPIO3_IO02 0x400130b1 311 /* DI1_D0_CS * 311 /* DI1_D0_CS */ 312 MX6QDL_PAD_EIM 312 MX6QDL_PAD_EIM_DA13__GPIO3_IO13 0x400130b1 313 /* DI1_D1_CS * 313 /* DI1_D1_CS */ 314 MX6QDL_PAD_EIM 314 MX6QDL_PAD_EIM_DA14__GPIO3_IO14 0x400130b1 315 /* DI1_PIN01 * 315 /* DI1_PIN01 */ 316 MX6QDL_PAD_EIM 316 MX6QDL_PAD_EIM_DA15__GPIO3_IO15 0x400130b1 317 /* DI1_PIN03 * 317 /* DI1_PIN03 */ 318 MX6QDL_PAD_EIM 318 MX6QDL_PAD_EIM_DA12__GPIO3_IO12 0x400130b1 319 /* DISP1_DATA0 319 /* DISP1_DATA08 */ 320 MX6QDL_PAD_EIM 320 MX6QDL_PAD_EIM_DA1__GPIO3_IO01 0x400130b1 321 /* DISP1_DATA0 321 /* DISP1_DATA09 */ 322 MX6QDL_PAD_EIM 322 MX6QDL_PAD_EIM_DA0__GPIO3_IO00 0x400130b1 323 /* DISP1_DATA1 323 /* DISP1_DATA10 */ 324 MX6QDL_PAD_EIM 324 MX6QDL_PAD_EIM_EB1__GPIO2_IO29 0x400130b1 325 /* DISP1_DATA1 325 /* DISP1_DATA11 */ 326 MX6QDL_PAD_EIM 326 MX6QDL_PAD_EIM_EB0__GPIO2_IO28 0x400130b1 327 /* DISP1_DATA1 327 /* DISP1_DATA12 */ 328 MX6QDL_PAD_EIM 328 MX6QDL_PAD_EIM_A17__GPIO2_IO21 0x400130b1 329 /* DISP1_DATA1 329 /* DISP1_DATA13 */ 330 MX6QDL_PAD_EIM 330 MX6QDL_PAD_EIM_A18__GPIO2_IO20 0x400130b1 331 /* DISP1_DATA1 331 /* DISP1_DATA14 */ 332 MX6QDL_PAD_EIM 332 MX6QDL_PAD_EIM_A19__GPIO2_IO19 0x400130b1 333 /* DISP1_DATA1 333 /* DISP1_DATA15 */ 334 MX6QDL_PAD_EIM 334 MX6QDL_PAD_EIM_A20__GPIO2_IO18 0x400130b1 335 /* DISP1_DATA1 335 /* DISP1_DATA16 */ 336 MX6QDL_PAD_EIM 336 MX6QDL_PAD_EIM_A21__GPIO2_IO17 0x400130b1 337 /* DISP1_DATA1 337 /* DISP1_DATA17 */ 338 MX6QDL_PAD_EIM 338 MX6QDL_PAD_EIM_A22__GPIO2_IO16 0x400130b1 339 /* DISP1_DATA1 339 /* DISP1_DATA18 */ 340 MX6QDL_PAD_EIM 340 MX6QDL_PAD_EIM_A23__GPIO6_IO06 0x400130b1 341 /* DISP1_DATA1 341 /* DISP1_DATA19 */ 342 MX6QDL_PAD_EIM 342 MX6QDL_PAD_EIM_A24__GPIO5_IO04 0x400130b1 343 /* DISP1_DATA2 343 /* DISP1_DATA20 */ 344 MX6QDL_PAD_EIM 344 MX6QDL_PAD_EIM_D31__GPIO3_IO31 0x400130b1 345 /* DISP1_DATA2 345 /* DISP1_DATA21 */ 346 MX6QDL_PAD_EIM 346 MX6QDL_PAD_EIM_D30__GPIO3_IO30 0x400130b1 347 /* DISP1_DATA2 347 /* DISP1_DATA22 */ 348 MX6QDL_PAD_EIM 348 MX6QDL_PAD_EIM_D26__GPIO3_IO26 0x400130b1 349 /* DISP1_DATA2 349 /* DISP1_DATA23 */ 350 MX6QDL_PAD_EIM 350 MX6QDL_PAD_EIM_D27__GPIO3_IO27 0x400130b1 351 /* DI1_DISP_CL 351 /* DI1_DISP_CLK */ 352 MX6QDL_PAD_EIM 352 MX6QDL_PAD_EIM_A16__GPIO2_IO22 0x400130b1 353 /* SPDIF_IN */ 353 /* SPDIF_IN */ 354 MX6QDL_PAD_ENE 354 MX6QDL_PAD_ENET_RX_ER__GPIO1_IO24 0x400130b1 355 /* SPDIF_OUT * 355 /* SPDIF_OUT */ 356 MX6QDL_PAD_GPI 356 MX6QDL_PAD_GPIO_17__GPIO7_IO12 0x400130b1 357 357 358 /* MikroBUS GP 358 /* MikroBUS GPIO pin number 10 */ 359 MX6QDL_PAD_EIM 359 MX6QDL_PAD_EIM_LBA__GPIO2_IO27 0x400130b1 360 >; 360 >; 361 }; 361 }; 362 362 363 pinctrl_hummingboard2_ecspi2: 363 pinctrl_hummingboard2_ecspi2: hummingboard2-ecspi2grp { 364 fsl,pins = < 364 fsl,pins = < 365 MX6QDL_PAD_EIM 365 MX6QDL_PAD_EIM_OE__ECSPI2_MISO 0x100b1 366 MX6QDL_PAD_EIM 366 MX6QDL_PAD_EIM_CS1__ECSPI2_MOSI 0x100b1 367 MX6QDL_PAD_EIM 367 MX6QDL_PAD_EIM_CS0__ECSPI2_SCLK 0x100b1 368 MX6QDL_PAD_EIM 368 MX6QDL_PAD_EIM_RW__GPIO2_IO26 0x000b1 /* CS */ 369 >; 369 >; 370 }; 370 }; 371 371 372 pinctrl_hummingboard2_gpio7_9: 372 pinctrl_hummingboard2_gpio7_9: hummingboard2-gpio7_9 { 373 fsl,pins = < 373 fsl,pins = < 374 MX6QDL_PAD_SD4 374 MX6QDL_PAD_SD4_CMD__GPIO7_IO09 0x80000000 375 >; 375 >; 376 }; 376 }; 377 377 378 pinctrl_hummingboard2_hdmi: hu 378 pinctrl_hummingboard2_hdmi: hummingboard2-hdmi { 379 fsl,pins = < 379 fsl,pins = < 380 MX6QDL_PAD_KEY 380 MX6QDL_PAD_KEY_ROW2__HDMI_TX_CEC_LINE 0x1f8b0 381 >; 381 >; 382 }; 382 }; 383 383 384 pinctrl_hummingboard2_i2c1: hu 384 pinctrl_hummingboard2_i2c1: hummingboard2-i2c1 { 385 fsl,pins = < 385 fsl,pins = < 386 MX6QDL_PAD_EIM 386 MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1 387 MX6QDL_PAD_EIM 387 MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1 388 >; 388 >; 389 }; 389 }; 390 390 391 pinctrl_hummingboard2_i2c2: hu 391 pinctrl_hummingboard2_i2c2: hummingboard2-i2c2 { 392 fsl,pins = < 392 fsl,pins = < 393 MX6QDL_PAD_KEY 393 MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1 394 MX6QDL_PAD_KEY 394 MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1 395 >; 395 >; 396 }; 396 }; 397 397 398 pinctrl_hummingboard2_i2c3: hu 398 pinctrl_hummingboard2_i2c3: hummingboard2-i2c3 { 399 fsl,pins = < 399 fsl,pins = < 400 MX6QDL_PAD_EIM 400 MX6QDL_PAD_EIM_D17__I2C3_SCL 0x4001b8b1 401 MX6QDL_PAD_EIM 401 MX6QDL_PAD_EIM_D18__I2C3_SDA 0x4001b8b1 402 >; 402 >; 403 }; 403 }; 404 404 405 pinctrl_hummingboard2_mipi: hu 405 pinctrl_hummingboard2_mipi: hummingboard2_mipi { 406 fsl,pins = < 406 fsl,pins = < 407 MX6QDL_PAD_SD4 407 MX6QDL_PAD_SD4_DAT2__GPIO2_IO10 0x4001b8b1 408 MX6QDL_PAD_KEY 408 MX6QDL_PAD_KEY_COL4__GPIO4_IO14 0x4001b8b1 409 MX6QDL_PAD_NAN 409 MX6QDL_PAD_NANDF_CS2__CCM_CLKO2 0x130b0 410 >; 410 >; 411 }; 411 }; 412 412 413 pinctrl_hummingboard2_pcie_res 413 pinctrl_hummingboard2_pcie_reset: hummingboard2-pcie-reset { 414 fsl,pins = < 414 fsl,pins = < 415 MX6QDL_PAD_SD4 415 MX6QDL_PAD_SD4_DAT3__GPIO2_IO11 0x1b0b1 416 >; 416 >; 417 }; 417 }; 418 418 419 pinctrl_hummingboard2_pwm1: pw 419 pinctrl_hummingboard2_pwm1: pwm1grp { 420 fsl,pins = < 420 fsl,pins = < 421 MX6QDL_PAD_DIS 421 MX6QDL_PAD_DISP0_DAT8__PWM1_OUT 0x1b0b1 422 >; 422 >; 423 }; 423 }; 424 424 425 pinctrl_hummingboard2_pwm3: pw 425 pinctrl_hummingboard2_pwm3: pwm3grp { 426 fsl,pins = < 426 fsl,pins = < 427 MX6QDL_PAD_SD4 427 MX6QDL_PAD_SD4_DAT1__PWM3_OUT 0x1b0b1 428 >; 428 >; 429 }; 429 }; 430 430 431 pinctrl_hummingboard2_sgtl5000 431 pinctrl_hummingboard2_sgtl5000: hummingboard2-sgtl5000 { 432 fsl,pins = < 432 fsl,pins = < 433 MX6QDL_PAD_DIS 433 MX6QDL_PAD_DISP0_DAT19__AUD5_RXD 0x130b0 434 MX6QDL_PAD_KEY 434 MX6QDL_PAD_KEY_COL0__AUD5_TXC 0x130b0 435 MX6QDL_PAD_KEY 435 MX6QDL_PAD_KEY_ROW0__AUD5_TXD 0x110b0 436 MX6QDL_PAD_KEY 436 MX6QDL_PAD_KEY_COL1__AUD5_TXFS 0x130b0 437 MX6QDL_PAD_GPI 437 MX6QDL_PAD_GPIO_5__CCM_CLKO1 0x130b0 438 >; 438 >; 439 }; 439 }; 440 440 441 pinctrl_hummingboard2_usbh1_vb 441 pinctrl_hummingboard2_usbh1_vbus: hummingboard2-usbh1-vbus { 442 fsl,pins = <MX6QDL_PAD 442 fsl,pins = <MX6QDL_PAD_GPIO_0__GPIO1_IO00 0x1b0b0>; 443 }; 443 }; 444 444 445 pinctrl_hummingboard2_usbh2_vb 445 pinctrl_hummingboard2_usbh2_vbus: hummingboard2-usbh2-vbus { 446 fsl,pins = <MX6QDL_PAD 446 fsl,pins = <MX6QDL_PAD_SD4_DAT5__GPIO2_IO13 0x1b0b0>; 447 }; 447 }; 448 448 449 pinctrl_hummingboard2_usbh3_vb 449 pinctrl_hummingboard2_usbh3_vbus: hummingboard2-usbh3-vbus { 450 fsl,pins = <MX6QDL_PAD 450 fsl,pins = <MX6QDL_PAD_SD4_CLK__GPIO7_IO10 0x1b0b0>; 451 }; 451 }; 452 452 453 pinctrl_hummingboard2_usbotg_i 453 pinctrl_hummingboard2_usbotg_id: hummingboard2-usbotg-id { 454 /* 454 /* 455 * We want it pulled d 455 * We want it pulled down for a fixed host connection. 456 */ 456 */ 457 fsl,pins = <MX6QDL_PAD 457 fsl,pins = <MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x13059>; 458 }; 458 }; 459 459 460 pinctrl_hummingboard2_usbotg_v 460 pinctrl_hummingboard2_usbotg_vbus: hummingboard2-usbotg-vbus { 461 fsl,pins = <MX6QDL_PAD 461 fsl,pins = <MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x1b0b0>; 462 }; 462 }; 463 463 464 pinctrl_hummingboard2_usdhc2_a 464 pinctrl_hummingboard2_usdhc2_aux: hummingboard2-usdhc2-aux { 465 fsl,pins = < 465 fsl,pins = < 466 MX6QDL_PAD_GPI 466 MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x1f071 467 MX6QDL_PAD_KEY 467 MX6QDL_PAD_KEY_ROW1__SD2_VSELECT 0x1b071 468 >; 468 >; 469 }; 469 }; 470 470 471 pinctrl_hummingboard2_usdhc2: 471 pinctrl_hummingboard2_usdhc2: hummingboard2-usdhc2 { 472 fsl,pins = < 472 fsl,pins = < 473 MX6QDL_PAD_SD2 473 MX6QDL_PAD_SD2_CMD__SD2_CMD 0x17059 474 MX6QDL_PAD_SD2 474 MX6QDL_PAD_SD2_CLK__SD2_CLK 0x10059 475 MX6QDL_PAD_SD2 475 MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x17059 476 MX6QDL_PAD_SD2 476 MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x17059 477 MX6QDL_PAD_SD2 477 MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x17059 478 MX6QDL_PAD_SD2 478 MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x13059 479 >; 479 >; 480 }; 480 }; 481 481 482 pinctrl_hummingboard2_usdhc2_1 482 pinctrl_hummingboard2_usdhc2_100mhz: hummingboard2-usdhc2-100mhz { 483 fsl,pins = < 483 fsl,pins = < 484 MX6QDL_PAD_SD2 484 MX6QDL_PAD_SD2_CMD__SD2_CMD 0x170b9 485 MX6QDL_PAD_SD2 485 MX6QDL_PAD_SD2_CLK__SD2_CLK 0x100b9 486 MX6QDL_PAD_SD2 486 MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x170b9 487 MX6QDL_PAD_SD2 487 MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x170b9 488 MX6QDL_PAD_SD2 488 MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x170b9 489 MX6QDL_PAD_SD2 489 MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x130b9 490 >; 490 >; 491 }; 491 }; 492 492 493 pinctrl_hummingboard2_usdhc2_2 493 pinctrl_hummingboard2_usdhc2_200mhz: hummingboard2-usdhc2-200mhz { 494 fsl,pins = < 494 fsl,pins = < 495 MX6QDL_PAD_SD2 495 MX6QDL_PAD_SD2_CMD__SD2_CMD 0x170f9 496 MX6QDL_PAD_SD2 496 MX6QDL_PAD_SD2_CLK__SD2_CLK 0x100f9 497 MX6QDL_PAD_SD2 497 MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x170f9 498 MX6QDL_PAD_SD2 498 MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x170f9 499 MX6QDL_PAD_SD2 499 MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x170f9 500 MX6QDL_PAD_SD2 500 MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x130f9 501 >; 501 >; 502 }; 502 }; 503 503 504 pinctrl_hummingboard2_vmmc: hu 504 pinctrl_hummingboard2_vmmc: hummingboard2-vmmc { 505 fsl,pins = < 505 fsl,pins = < 506 MX6QDL_PAD_DIS 506 MX6QDL_PAD_DISP0_DAT9__GPIO4_IO30 0x1b0b0 507 >; 507 >; 508 }; 508 }; 509 509 510 pinctrl_hummingboard2_uart3: h 510 pinctrl_hummingboard2_uart3: hummingboard2-uart3 { 511 fsl,pins = < 511 fsl,pins = < 512 MX6QDL_PAD_EIM 512 MX6QDL_PAD_EIM_D25__UART3_TX_DATA 0x1b0b1 513 MX6QDL_PAD_EIM 513 MX6QDL_PAD_EIM_D24__UART3_RX_DATA 0x40013000 514 >; 514 >; 515 }; 515 }; 516 }; 516 }; 517 }; 517 }; 518 518 519 &pcie { 519 &pcie { 520 pinctrl-names = "default"; 520 pinctrl-names = "default"; 521 pinctrl-0 = <&pinctrl_hummingboard2_pc 521 pinctrl-0 = <&pinctrl_hummingboard2_pcie_reset>; 522 reset-gpio = <&gpio2 11 GPIO_ACTIVE_LO 522 reset-gpio = <&gpio2 11 GPIO_ACTIVE_LOW>; 523 status = "okay"; 523 status = "okay"; 524 }; 524 }; 525 525 526 &pwm1 { 526 &pwm1 { 527 pinctrl-names = "default"; 527 pinctrl-names = "default"; 528 pinctrl-0 = <&pinctrl_hummingboard2_pw 528 pinctrl-0 = <&pinctrl_hummingboard2_pwm1>; 529 status = "okay"; 529 status = "okay"; 530 }; 530 }; 531 531 532 &pwm3 { 532 &pwm3 { 533 pinctrl-names = "default"; 533 pinctrl-names = "default"; 534 pinctrl-0 = <&pinctrl_hummingboard2_pw 534 pinctrl-0 = <&pinctrl_hummingboard2_pwm3>; 535 status = "okay"; 535 status = "okay"; 536 }; 536 }; 537 537 538 &ssi1 { 538 &ssi1 { 539 status = "okay"; 539 status = "okay"; 540 }; 540 }; 541 541 542 &usbh1 { 542 &usbh1 { 543 disable-over-current; 543 disable-over-current; 544 status = "okay"; 544 status = "okay"; 545 }; 545 }; 546 546 547 &usbotg { 547 &usbotg { 548 disable-over-current; 548 disable-over-current; 549 pinctrl-names = "default"; 549 pinctrl-names = "default"; 550 pinctrl-0 = <&pinctrl_hummingboard2_us 550 pinctrl-0 = <&pinctrl_hummingboard2_usbotg_id>; 551 vbus-supply = <&v_usb1>; 551 vbus-supply = <&v_usb1>; 552 status = "okay"; 552 status = "okay"; 553 }; 553 }; 554 554 555 &usdhc2 { 555 &usdhc2 { 556 pinctrl-names = "default", "state_100m 556 pinctrl-names = "default", "state_100mhz", "state_200mhz"; 557 pinctrl-0 = < 557 pinctrl-0 = < 558 &pinctrl_hummingboard2_usdhc2_ 558 &pinctrl_hummingboard2_usdhc2_aux 559 &pinctrl_hummingboard2_usdhc2 559 &pinctrl_hummingboard2_usdhc2 560 >; 560 >; 561 pinctrl-1 = < 561 pinctrl-1 = < 562 &pinctrl_hummingboard2_usdhc2_ 562 &pinctrl_hummingboard2_usdhc2_aux 563 &pinctrl_hummingboard2_usdhc2_ 563 &pinctrl_hummingboard2_usdhc2_100mhz 564 >; 564 >; 565 pinctrl-2 = < 565 pinctrl-2 = < 566 &pinctrl_hummingboard2_usdhc2_ 566 &pinctrl_hummingboard2_usdhc2_aux 567 &pinctrl_hummingboard2_usdhc2_ 567 &pinctrl_hummingboard2_usdhc2_200mhz 568 >; 568 >; 569 vmmc-supply = <&v_sd>; 569 vmmc-supply = <&v_sd>; 570 cd-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>; 570 cd-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>; 571 status = "okay"; 571 status = "okay"; 572 }; 572 }; 573 573 574 &uart3 { 574 &uart3 { 575 pinctrl-names = "default"; 575 pinctrl-names = "default"; 576 pinctrl-0 = <&pinctrl_hummingboard2_ua 576 pinctrl-0 = <&pinctrl_hummingboard2_uart3>; 577 status = "okay"; 577 status = "okay"; 578 }; 578 }; 579 579 580 &vcc_3v3 { 580 &vcc_3v3 { 581 vin-supply = <&v_3v2>; 581 vin-supply = <&v_3v2>; 582 }; 582 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.