1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 /* 2 /* 3 * Copyright 2020 NXP 3 * Copyright 2020 NXP 4 */ 4 */ 5 5 6 /dts-v1/; 6 /dts-v1/; 7 7 8 #include <dt-bindings/phy/phy-imx8-pcie.h> 8 #include <dt-bindings/phy/phy-imx8-pcie.h> 9 #include <dt-bindings/usb/pd.h> 9 #include <dt-bindings/usb/pd.h> 10 #include "imx8mm.dtsi" 10 #include "imx8mm.dtsi" 11 11 12 / { 12 / { 13 chosen { 13 chosen { 14 stdout-path = &uart2; 14 stdout-path = &uart2; 15 }; 15 }; 16 16 17 memory@40000000 { 17 memory@40000000 { 18 device_type = "memory"; 18 device_type = "memory"; 19 reg = <0x0 0x40000000 0 0x8000 19 reg = <0x0 0x40000000 0 0x80000000>; 20 }; 20 }; 21 21 22 hdmi-connector { << 23 compatible = "hdmi-connector"; << 24 label = "hdmi"; << 25 type = "a"; << 26 << 27 port { << 28 hdmi_connector_in: end << 29 remote-endpoin << 30 }; << 31 }; << 32 }; << 33 << 34 leds { 22 leds { 35 compatible = "gpio-leds"; 23 compatible = "gpio-leds"; 36 pinctrl-names = "default"; 24 pinctrl-names = "default"; 37 pinctrl-0 = <&pinctrl_gpio_led 25 pinctrl-0 = <&pinctrl_gpio_led>; 38 26 39 status { 27 status { 40 label = "status"; 28 label = "status"; 41 gpios = <&gpio3 16 GPI 29 gpios = <&gpio3 16 GPIO_ACTIVE_HIGH>; 42 default-state = "on"; 30 default-state = "on"; 43 }; 31 }; 44 }; 32 }; 45 33 46 pcie0_refclk: pcie0-refclk { 34 pcie0_refclk: pcie0-refclk { 47 compatible = "fixed-clock"; 35 compatible = "fixed-clock"; 48 #clock-cells = <0>; 36 #clock-cells = <0>; 49 clock-frequency = <100000000>; 37 clock-frequency = <100000000>; 50 }; 38 }; 51 39 52 reg_pcie0: regulator-pcie { 40 reg_pcie0: regulator-pcie { 53 compatible = "regulator-fixed" 41 compatible = "regulator-fixed"; 54 pinctrl-names = "default"; 42 pinctrl-names = "default"; 55 pinctrl-0 = <&pinctrl_pcie0_re 43 pinctrl-0 = <&pinctrl_pcie0_reg>; 56 regulator-name = "MPCIE_3V3"; 44 regulator-name = "MPCIE_3V3"; 57 regulator-min-microvolt = <330 45 regulator-min-microvolt = <3300000>; 58 regulator-max-microvolt = <330 46 regulator-max-microvolt = <3300000>; 59 gpio = <&gpio1 5 GPIO_ACTIVE_H 47 gpio = <&gpio1 5 GPIO_ACTIVE_HIGH>; 60 enable-active-high; 48 enable-active-high; 61 }; 49 }; 62 50 63 reg_usdhc2_vmmc: regulator-usdhc2 { 51 reg_usdhc2_vmmc: regulator-usdhc2 { 64 compatible = "regulator-fixed" 52 compatible = "regulator-fixed"; 65 pinctrl-names = "default"; 53 pinctrl-names = "default"; 66 pinctrl-0 = <&pinctrl_reg_usdh 54 pinctrl-0 = <&pinctrl_reg_usdhc2_vmmc>; 67 regulator-name = "VSD_3V3"; 55 regulator-name = "VSD_3V3"; 68 regulator-min-microvolt = <330 56 regulator-min-microvolt = <3300000>; 69 regulator-max-microvolt = <330 57 regulator-max-microvolt = <3300000>; 70 gpio = <&gpio2 19 GPIO_ACTIVE_ 58 gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>; 71 off-on-delay-us = <20000>; << 72 enable-active-high; 59 enable-active-high; 73 }; 60 }; 74 61 75 reg_1v5: regulator-1v5 { << 76 compatible = "regulator-fixed" << 77 regulator-name = "VDD_1V5"; << 78 regulator-min-microvolt = <150 << 79 regulator-max-microvolt = <150 << 80 }; << 81 << 82 reg_1v8: regulator-1v8 { << 83 compatible = "regulator-fixed" << 84 regulator-name = "VDD_1V8"; << 85 regulator-min-microvolt = <180 << 86 regulator-max-microvolt = <180 << 87 }; << 88 << 89 reg_vddext_3v3: regulator-vddext-3v3 { << 90 compatible = "regulator-fixed" << 91 regulator-name = "VDDEXT_3V3"; << 92 regulator-min-microvolt = <330 << 93 regulator-max-microvolt = <330 << 94 }; << 95 << 96 backlight: backlight { << 97 compatible = "pwm-backlight"; << 98 pwms = <&pwm1 0 5000000 0>; << 99 brightness-levels = <0 255>; << 100 num-interpolated-steps = <255> << 101 default-brightness-level = <25 << 102 }; << 103 << 104 ir-receiver { 62 ir-receiver { 105 compatible = "gpio-ir-receiver 63 compatible = "gpio-ir-receiver"; 106 gpios = <&gpio1 13 GPIO_ACTIVE 64 gpios = <&gpio1 13 GPIO_ACTIVE_LOW>; 107 pinctrl-names = "default"; 65 pinctrl-names = "default"; 108 pinctrl-0 = <&pinctrl_ir>; 66 pinctrl-0 = <&pinctrl_ir>; 109 linux,autosuspend-period = <12 67 linux,autosuspend-period = <125>; 110 }; 68 }; 111 69 112 audio_codec_bt_sco: audio-codec-bt-sco << 113 compatible = "linux,bt-sco"; << 114 #sound-dai-cells = <1>; << 115 }; << 116 << 117 wm8524: audio-codec { 70 wm8524: audio-codec { 118 #sound-dai-cells = <0>; 71 #sound-dai-cells = <0>; 119 compatible = "wlf,wm8524"; 72 compatible = "wlf,wm8524"; 120 pinctrl-names = "default"; 73 pinctrl-names = "default"; 121 pinctrl-0 = <&pinctrl_gpio_wlf 74 pinctrl-0 = <&pinctrl_gpio_wlf>; 122 wlf,mute-gpios = <&gpio5 21 GP 75 wlf,mute-gpios = <&gpio5 21 GPIO_ACTIVE_LOW>; 123 }; 76 }; 124 77 125 sound-bt-sco { << 126 compatible = "simple-audio-car << 127 simple-audio-card,name = "bt-s << 128 simple-audio-card,format = "ds << 129 simple-audio-card,bitclock-inv << 130 simple-audio-card,frame-master << 131 simple-audio-card,bitclock-mas << 132 << 133 btcpu: simple-audio-card,cpu { << 134 sound-dai = <&sai2>; << 135 dai-tdm-slot-num = <2> << 136 dai-tdm-slot-width = < << 137 }; << 138 << 139 simple-audio-card,codec { << 140 sound-dai = <&audio_co << 141 }; << 142 }; << 143 << 144 sound-wm8524 { 78 sound-wm8524 { 145 compatible = "simple-audio-car 79 compatible = "simple-audio-card"; 146 simple-audio-card,name = "wm85 80 simple-audio-card,name = "wm8524-audio"; 147 simple-audio-card,format = "i2 81 simple-audio-card,format = "i2s"; 148 simple-audio-card,frame-master 82 simple-audio-card,frame-master = <&cpudai>; 149 simple-audio-card,bitclock-mas 83 simple-audio-card,bitclock-master = <&cpudai>; 150 simple-audio-card,widgets = 84 simple-audio-card,widgets = 151 "Line", "Left Line Out 85 "Line", "Left Line Out Jack", 152 "Line", "Right Line Ou 86 "Line", "Right Line Out Jack"; 153 simple-audio-card,routing = 87 simple-audio-card,routing = 154 "Left Line Out Jack", 88 "Left Line Out Jack", "LINEVOUTL", 155 "Right Line Out Jack", 89 "Right Line Out Jack", "LINEVOUTR"; 156 90 157 cpudai: simple-audio-card,cpu 91 cpudai: simple-audio-card,cpu { 158 sound-dai = <&sai3>; 92 sound-dai = <&sai3>; 159 dai-tdm-slot-num = <2> 93 dai-tdm-slot-num = <2>; 160 dai-tdm-slot-width = < 94 dai-tdm-slot-width = <32>; 161 }; 95 }; 162 96 163 simple-audio-card,codec { 97 simple-audio-card,codec { 164 sound-dai = <&wm8524>; 98 sound-dai = <&wm8524>; 165 clocks = <&clk IMX8MM_ 99 clocks = <&clk IMX8MM_CLK_SAI3_ROOT>; 166 }; 100 }; 167 }; 101 }; 168 << 169 sound-micfil { << 170 compatible = "fsl,imx-audio-ca << 171 model = "micfil-audio"; << 172 << 173 pri-dai-link { << 174 link-name = "micfil hi << 175 format = "i2s"; << 176 << 177 cpu { << 178 sound-dai = <& << 179 }; << 180 }; << 181 }; << 182 << 183 spdif_out: spdif-out { << 184 compatible = "linux,spdif-dit" << 185 #sound-dai-cells = <0>; << 186 }; << 187 << 188 spdif_in: spdif-in { << 189 compatible = "linux,spdif-dir" << 190 #sound-dai-cells = <0>; << 191 }; << 192 << 193 sound-spdif { << 194 compatible = "fsl,imx-audio-sp << 195 model = "imx-spdif"; << 196 audio-cpu = <&spdif1>; << 197 audio-codec = <&spdif_out>, <& << 198 }; << 199 }; 102 }; 200 103 201 &A53_0 { 104 &A53_0 { 202 cpu-supply = <&buck2_reg>; 105 cpu-supply = <&buck2_reg>; 203 }; 106 }; 204 107 205 &A53_1 { 108 &A53_1 { 206 cpu-supply = <&buck2_reg>; 109 cpu-supply = <&buck2_reg>; 207 }; 110 }; 208 111 209 &A53_2 { 112 &A53_2 { 210 cpu-supply = <&buck2_reg>; 113 cpu-supply = <&buck2_reg>; 211 }; 114 }; 212 115 213 &A53_3 { 116 &A53_3 { 214 cpu-supply = <&buck2_reg>; 117 cpu-supply = <&buck2_reg>; 215 }; 118 }; 216 119 217 &fec1 { 120 &fec1 { 218 pinctrl-names = "default"; 121 pinctrl-names = "default"; 219 pinctrl-0 = <&pinctrl_fec1>; 122 pinctrl-0 = <&pinctrl_fec1>; 220 phy-mode = "rgmii-id"; 123 phy-mode = "rgmii-id"; 221 phy-handle = <ðphy0>; 124 phy-handle = <ðphy0>; 222 fsl,magic-packet; 125 fsl,magic-packet; 223 status = "okay"; 126 status = "okay"; 224 127 225 mdio { 128 mdio { 226 #address-cells = <1>; 129 #address-cells = <1>; 227 #size-cells = <0>; 130 #size-cells = <0>; 228 131 229 ethphy0: ethernet-phy@0 { 132 ethphy0: ethernet-phy@0 { 230 compatible = "ethernet 133 compatible = "ethernet-phy-ieee802.3-c22"; 231 reg = <0>; 134 reg = <0>; 232 reset-gpios = <&gpio4 135 reset-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>; 233 reset-assert-us = <100 136 reset-assert-us = <10000>; 234 qca,disable-smarteee; 137 qca,disable-smarteee; 235 vddio-supply = <&vddio 138 vddio-supply = <&vddio>; 236 139 237 vddio: vddio-regulator 140 vddio: vddio-regulator { 238 regulator-min- 141 regulator-min-microvolt = <1800000>; 239 regulator-max- 142 regulator-max-microvolt = <1800000>; 240 }; 143 }; 241 }; 144 }; 242 }; 145 }; 243 }; 146 }; 244 147 245 &i2c1 { 148 &i2c1 { 246 clock-frequency = <400000>; 149 clock-frequency = <400000>; 247 pinctrl-names = "default"; 150 pinctrl-names = "default"; 248 pinctrl-0 = <&pinctrl_i2c1>; 151 pinctrl-0 = <&pinctrl_i2c1>; 249 status = "okay"; 152 status = "okay"; 250 153 251 pmic@4b { 154 pmic@4b { 252 compatible = "rohm,bd71847"; 155 compatible = "rohm,bd71847"; 253 reg = <0x4b>; 156 reg = <0x4b>; 254 pinctrl-names = "default"; 157 pinctrl-names = "default"; 255 pinctrl-0 = <&pinctrl_pmic>; 158 pinctrl-0 = <&pinctrl_pmic>; 256 interrupt-parent = <&gpio1>; 159 interrupt-parent = <&gpio1>; 257 interrupts = <3 IRQ_TYPE_LEVEL 160 interrupts = <3 IRQ_TYPE_LEVEL_LOW>; 258 rohm,reset-snvs-powered; 161 rohm,reset-snvs-powered; 259 162 260 #clock-cells = <0>; 163 #clock-cells = <0>; 261 clocks = <&osc_32k>; !! 164 clocks = <&osc_32k 0>; 262 clock-output-names = "clk-32k- 165 clock-output-names = "clk-32k-out"; 263 166 264 regulators { 167 regulators { 265 buck1_reg: BUCK1 { 168 buck1_reg: BUCK1 { 266 regulator-name 169 regulator-name = "buck1"; 267 regulator-min- 170 regulator-min-microvolt = <700000>; 268 regulator-max- 171 regulator-max-microvolt = <1300000>; 269 regulator-boot 172 regulator-boot-on; 270 regulator-alwa 173 regulator-always-on; 271 regulator-ramp 174 regulator-ramp-delay = <1250>; 272 }; 175 }; 273 176 274 buck2_reg: BUCK2 { 177 buck2_reg: BUCK2 { 275 regulator-name 178 regulator-name = "buck2"; 276 regulator-min- 179 regulator-min-microvolt = <700000>; 277 regulator-max- 180 regulator-max-microvolt = <1300000>; 278 regulator-boot 181 regulator-boot-on; 279 regulator-alwa 182 regulator-always-on; 280 regulator-ramp 183 regulator-ramp-delay = <1250>; 281 rohm,dvs-run-v 184 rohm,dvs-run-voltage = <1000000>; 282 rohm,dvs-idle- 185 rohm,dvs-idle-voltage = <900000>; 283 }; 186 }; 284 187 285 buck3_reg: BUCK3 { 188 buck3_reg: BUCK3 { 286 // BUCK5 in da 189 // BUCK5 in datasheet 287 regulator-name 190 regulator-name = "buck3"; 288 regulator-min- 191 regulator-min-microvolt = <700000>; 289 regulator-max- 192 regulator-max-microvolt = <1350000>; 290 regulator-boot 193 regulator-boot-on; 291 regulator-alwa 194 regulator-always-on; 292 }; 195 }; 293 196 294 buck4_reg: BUCK4 { 197 buck4_reg: BUCK4 { 295 // BUCK6 in da 198 // BUCK6 in datasheet 296 regulator-name 199 regulator-name = "buck4"; 297 regulator-min- 200 regulator-min-microvolt = <3000000>; 298 regulator-max- 201 regulator-max-microvolt = <3300000>; 299 regulator-boot 202 regulator-boot-on; 300 regulator-alwa 203 regulator-always-on; 301 }; 204 }; 302 205 303 buck5_reg: BUCK5 { 206 buck5_reg: BUCK5 { 304 // BUCK7 in da 207 // BUCK7 in datasheet 305 regulator-name 208 regulator-name = "buck5"; 306 regulator-min- 209 regulator-min-microvolt = <1605000>; 307 regulator-max- 210 regulator-max-microvolt = <1995000>; 308 regulator-boot 211 regulator-boot-on; 309 regulator-alwa 212 regulator-always-on; 310 }; 213 }; 311 214 312 buck6_reg: BUCK6 { 215 buck6_reg: BUCK6 { 313 // BUCK8 in da 216 // BUCK8 in datasheet 314 regulator-name 217 regulator-name = "buck6"; 315 regulator-min- 218 regulator-min-microvolt = <800000>; 316 regulator-max- 219 regulator-max-microvolt = <1400000>; 317 regulator-boot 220 regulator-boot-on; 318 regulator-alwa 221 regulator-always-on; 319 }; 222 }; 320 223 321 ldo1_reg: LDO1 { 224 ldo1_reg: LDO1 { 322 regulator-name 225 regulator-name = "ldo1"; 323 regulator-min- 226 regulator-min-microvolt = <1600000>; 324 regulator-max- 227 regulator-max-microvolt = <3300000>; 325 regulator-boot 228 regulator-boot-on; 326 regulator-alwa 229 regulator-always-on; 327 }; 230 }; 328 231 329 ldo2_reg: LDO2 { 232 ldo2_reg: LDO2 { 330 regulator-name 233 regulator-name = "ldo2"; 331 regulator-min- 234 regulator-min-microvolt = <800000>; 332 regulator-max- 235 regulator-max-microvolt = <900000>; 333 regulator-boot 236 regulator-boot-on; 334 regulator-alwa 237 regulator-always-on; 335 }; 238 }; 336 239 337 ldo3_reg: LDO3 { 240 ldo3_reg: LDO3 { 338 regulator-name 241 regulator-name = "ldo3"; 339 regulator-min- 242 regulator-min-microvolt = <1800000>; 340 regulator-max- 243 regulator-max-microvolt = <3300000>; 341 regulator-boot 244 regulator-boot-on; 342 regulator-alwa 245 regulator-always-on; 343 }; 246 }; 344 247 345 ldo4_reg: LDO4 { 248 ldo4_reg: LDO4 { 346 regulator-name 249 regulator-name = "ldo4"; 347 regulator-min- 250 regulator-min-microvolt = <900000>; 348 regulator-max- 251 regulator-max-microvolt = <1800000>; 349 regulator-boot 252 regulator-boot-on; 350 regulator-alwa 253 regulator-always-on; 351 }; 254 }; 352 255 353 ldo6_reg: LDO6 { 256 ldo6_reg: LDO6 { 354 regulator-name 257 regulator-name = "ldo6"; 355 regulator-min- 258 regulator-min-microvolt = <900000>; 356 regulator-max- 259 regulator-max-microvolt = <1800000>; 357 regulator-boot 260 regulator-boot-on; 358 regulator-alwa 261 regulator-always-on; 359 }; 262 }; 360 }; 263 }; 361 }; 264 }; 362 }; 265 }; 363 266 364 &i2c2 { 267 &i2c2 { 365 clock-frequency = <400000>; 268 clock-frequency = <400000>; 366 pinctrl-names = "default"; 269 pinctrl-names = "default"; 367 pinctrl-0 = <&pinctrl_i2c2>; 270 pinctrl-0 = <&pinctrl_i2c2>; 368 status = "okay"; 271 status = "okay"; 369 272 370 hdmi@3d { << 371 compatible = "adi,adv7535"; << 372 reg = <0x3d>; << 373 interrupt-parent = <&gpio1>; << 374 interrupts = <9 IRQ_TYPE_EDGE_ << 375 adi,dsi-lanes = <4>; << 376 avdd-supply = <&buck5_reg>; << 377 dvdd-supply = <&buck5_reg>; << 378 pvdd-supply = <&buck5_reg>; << 379 a2vdd-supply = <&buck5_reg>; << 380 v3p3-supply = <®_vddext_3v3 << 381 v1p2-supply = <&buck5_reg>; << 382 << 383 ports { << 384 #address-cells = <1>; << 385 #size-cells = <0>; << 386 << 387 port@0 { << 388 reg = <0>; << 389 << 390 adv7535_in: en << 391 remote << 392 }; << 393 }; << 394 << 395 port@1 { << 396 reg = <1>; << 397 << 398 adv7535_out: e << 399 remote << 400 }; << 401 }; << 402 << 403 }; << 404 }; << 405 << 406 ptn5110: tcpc@50 { 273 ptn5110: tcpc@50 { 407 compatible = "nxp,ptn5110", "t !! 274 compatible = "nxp,ptn5110"; 408 pinctrl-names = "default"; 275 pinctrl-names = "default"; 409 pinctrl-0 = <&pinctrl_typec1>; 276 pinctrl-0 = <&pinctrl_typec1>; 410 reg = <0x50>; 277 reg = <0x50>; 411 interrupt-parent = <&gpio2>; 278 interrupt-parent = <&gpio2>; 412 interrupts = <11 IRQ_TYPE_LEVE !! 279 interrupts = <11 8>; 413 status = "okay"; 280 status = "okay"; 414 281 >> 282 port { >> 283 typec1_dr_sw: endpoint { >> 284 remote-endpoint = <&usb1_drd_sw>; >> 285 }; >> 286 }; >> 287 415 typec1_con: connector { 288 typec1_con: connector { 416 compatible = "usb-c-co 289 compatible = "usb-c-connector"; 417 label = "USB-C"; 290 label = "USB-C"; 418 power-role = "dual"; 291 power-role = "dual"; 419 data-role = "dual"; 292 data-role = "dual"; 420 try-power-role = "sink 293 try-power-role = "sink"; 421 source-pdos = <PDO_FIX 294 source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>; 422 sink-pdos = <PDO_FIXED 295 sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM) 423 PDO_VAR(5 296 PDO_VAR(5000, 20000, 3000)>; 424 op-sink-microwatt = <1 297 op-sink-microwatt = <15000000>; 425 self-powered; 298 self-powered; 426 << 427 port { << 428 typec1_dr_sw: << 429 remote << 430 }; << 431 }; << 432 }; 299 }; 433 }; 300 }; 434 }; 301 }; 435 302 436 << 437 &csi { << 438 status = "okay"; << 439 }; << 440 << 441 &i2c3 { 303 &i2c3 { 442 clock-frequency = <400000>; 304 clock-frequency = <400000>; 443 pinctrl-names = "default"; 305 pinctrl-names = "default"; 444 pinctrl-0 = <&pinctrl_i2c3>; 306 pinctrl-0 = <&pinctrl_i2c3>; 445 status = "okay"; 307 status = "okay"; 446 308 447 pca6416: gpio@20 { 309 pca6416: gpio@20 { 448 compatible = "nxp,pca6416"; !! 310 compatible = "ti,tca6416"; 449 reg = <0x20>; 311 reg = <0x20>; 450 gpio-controller; 312 gpio-controller; 451 #gpio-cells = <2>; 313 #gpio-cells = <2>; 452 vcc-supply = <&buck4_reg>; << 453 }; << 454 << 455 camera@3c { << 456 compatible = "ovti,ov5640"; << 457 reg = <0x3c>; << 458 pinctrl-names = "default"; << 459 pinctrl-0 = <&pinctrl_camera>; << 460 clocks = <&clk IMX8MM_CLK_CLKO << 461 clock-names = "xclk"; << 462 assigned-clocks = <&clk IMX8MM << 463 assigned-clock-parents = <&clk << 464 assigned-clock-rates = <240000 << 465 powerdown-gpios = <&gpio1 7 GP << 466 reset-gpios = <&gpio1 6 GPIO_A << 467 DOVDD-supply = <&buck5_reg>; << 468 AVDD-supply = <®_1v8>; << 469 DVDD-supply = <®_1v5>; << 470 << 471 port { << 472 ov5640_to_mipi_csi2: e << 473 remote-endpoin << 474 clock-lanes = << 475 data-lanes = < << 476 }; << 477 }; << 478 }; << 479 }; << 480 << 481 &lcdif { << 482 status = "okay"; << 483 }; << 484 << 485 &micfil { << 486 #sound-dai-cells = <0>; << 487 pinctrl-names = "default"; << 488 pinctrl-0 = <&pinctrl_pdm>; << 489 assigned-clocks = <&clk IMX8MM_CLK_PDM << 490 assigned-clock-parents = <&clk IMX8MM_ << 491 assigned-clock-rates = <196608000>; << 492 status = "okay"; << 493 }; << 494 << 495 &mipi_csi { << 496 status = "okay"; << 497 << 498 ports { << 499 port@0 { << 500 imx8mm_mipi_csi_in: en << 501 remote-endpoin << 502 data-lanes = < << 503 }; << 504 }; << 505 }; << 506 }; << 507 << 508 &mipi_dsi { << 509 samsung,esc-clock-frequency = <1000000 << 510 status = "okay"; << 511 << 512 ports { << 513 port@1 { << 514 reg = <1>; << 515 << 516 dsi_out: endpoint { << 517 remote-endpoin << 518 data-lanes = < << 519 }; << 520 }; << 521 }; 314 }; 522 }; 315 }; 523 316 524 &pcie_phy { 317 &pcie_phy { 525 fsl,refclk-pad-mode = <IMX8_PCIE_REFCL 318 fsl,refclk-pad-mode = <IMX8_PCIE_REFCLK_PAD_INPUT>; 526 fsl,tx-deemph-gen1 = <0x2d>; 319 fsl,tx-deemph-gen1 = <0x2d>; 527 fsl,tx-deemph-gen2 = <0xf>; 320 fsl,tx-deemph-gen2 = <0xf>; 528 clocks = <&pcie0_refclk>; 321 clocks = <&pcie0_refclk>; 529 status = "okay"; 322 status = "okay"; 530 }; 323 }; 531 324 532 &pcie0 { 325 &pcie0 { 533 pinctrl-names = "default"; 326 pinctrl-names = "default"; 534 pinctrl-0 = <&pinctrl_pcie0>; 327 pinctrl-0 = <&pinctrl_pcie0>; 535 reset-gpio = <&gpio4 21 GPIO_ACTIVE_LO 328 reset-gpio = <&gpio4 21 GPIO_ACTIVE_LOW>; 536 clocks = <&clk IMX8MM_CLK_PCIE1_ROOT>, !! 329 clocks = <&clk IMX8MM_CLK_PCIE1_ROOT>, <&clk IMX8MM_CLK_PCIE1_AUX>, 537 <&clk IMX8MM_CLK_PCIE1_AUX>; !! 330 <&pcie0_refclk>; >> 331 clock-names = "pcie", "pcie_aux", "pcie_bus"; 538 assigned-clocks = <&clk IMX8MM_CLK_PCI 332 assigned-clocks = <&clk IMX8MM_CLK_PCIE1_AUX>, 539 <&clk IMX8MM_CLK_PCI 333 <&clk IMX8MM_CLK_PCIE1_CTRL>; 540 assigned-clock-rates = <10000000>, <25 334 assigned-clock-rates = <10000000>, <250000000>; 541 assigned-clock-parents = <&clk IMX8MM_ 335 assigned-clock-parents = <&clk IMX8MM_SYS_PLL2_50M>, 542 <&clk IMX8MM_ 336 <&clk IMX8MM_SYS_PLL2_250M>; 543 vpcie-supply = <®_pcie0>; 337 vpcie-supply = <®_pcie0>; 544 status = "okay"; 338 status = "okay"; 545 }; 339 }; 546 340 547 &sai2 { << 548 #sound-dai-cells = <0>; << 549 pinctrl-names = "default"; << 550 pinctrl-0 = <&pinctrl_sai2>; << 551 assigned-clocks = <&clk IMX8MM_CLK_SAI << 552 assigned-clock-parents = <&clk IMX8MM_ << 553 assigned-clock-rates = <24576000>; << 554 status = "okay"; << 555 }; << 556 << 557 &sai3 { 341 &sai3 { 558 pinctrl-names = "default"; 342 pinctrl-names = "default"; 559 pinctrl-0 = <&pinctrl_sai3>; 343 pinctrl-0 = <&pinctrl_sai3>; 560 assigned-clocks = <&clk IMX8MM_CLK_SAI 344 assigned-clocks = <&clk IMX8MM_CLK_SAI3>; 561 assigned-clock-parents = <&clk IMX8MM_ 345 assigned-clock-parents = <&clk IMX8MM_AUDIO_PLL1_OUT>; 562 assigned-clock-rates = <24576000>; 346 assigned-clock-rates = <24576000>; 563 status = "okay"; 347 status = "okay"; 564 }; 348 }; 565 349 566 &snvs_pwrkey { 350 &snvs_pwrkey { 567 status = "okay"; 351 status = "okay"; 568 }; 352 }; 569 353 570 &spdif1 { << 571 pinctrl-names = "default"; << 572 pinctrl-0 = <&pinctrl_spdif1>; << 573 assigned-clocks = <&clk IMX8MM_CLK_SPD << 574 assigned-clock-parents = <&clk IMX8MM_ << 575 assigned-clock-rates = <24576000>; << 576 clocks = <&clk IMX8MM_CLK_AUDIO_AHB>, << 577 <&clk IMX8MM_CLK_SPDIF1>, <&c << 578 <&clk IMX8MM_CLK_DUMMY>, <&cl << 579 <&clk IMX8MM_CLK_AUDIO_AHB>, << 580 <&clk IMX8MM_CLK_DUMMY>, <&cl << 581 <&clk IMX8MM_AUDIO_PLL1_OUT>, << 582 clock-names = "core", "rxtx0", "rxtx1" << 583 "rxtx4", "rxtx5", "rxtx6 << 584 "pll8k", "pll11k"; << 585 status = "okay"; << 586 }; << 587 << 588 &uart2 { /* console */ 354 &uart2 { /* console */ 589 pinctrl-names = "default"; 355 pinctrl-names = "default"; 590 pinctrl-0 = <&pinctrl_uart2>; 356 pinctrl-0 = <&pinctrl_uart2>; 591 status = "okay"; 357 status = "okay"; 592 }; 358 }; 593 359 594 &usbphynop1 { << 595 wakeup-source; << 596 }; << 597 << 598 &usbotg1 { 360 &usbotg1 { 599 dr_mode = "otg"; 361 dr_mode = "otg"; 600 hnp-disable; 362 hnp-disable; 601 srp-disable; 363 srp-disable; 602 adp-disable; 364 adp-disable; 603 usb-role-switch; 365 usb-role-switch; 604 disable-over-current; 366 disable-over-current; 605 samsung,picophy-pre-emp-curr-control = 367 samsung,picophy-pre-emp-curr-control = <3>; 606 samsung,picophy-dc-vol-level-adjust = 368 samsung,picophy-dc-vol-level-adjust = <7>; 607 status = "okay"; 369 status = "okay"; 608 370 609 port { 371 port { 610 usb1_drd_sw: endpoint { 372 usb1_drd_sw: endpoint { 611 remote-endpoint = <&ty 373 remote-endpoint = <&typec1_dr_sw>; 612 }; 374 }; 613 }; 375 }; 614 }; 376 }; 615 377 616 &usdhc2 { 378 &usdhc2 { 617 assigned-clocks = <&clk IMX8MM_CLK_USD 379 assigned-clocks = <&clk IMX8MM_CLK_USDHC2>; 618 assigned-clock-rates = <200000000>; 380 assigned-clock-rates = <200000000>; 619 pinctrl-names = "default", "state_100m 381 pinctrl-names = "default", "state_100mhz", "state_200mhz"; 620 pinctrl-0 = <&pinctrl_usdhc2>, <&pinct 382 pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>; 621 pinctrl-1 = <&pinctrl_usdhc2_100mhz>, 383 pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>; 622 pinctrl-2 = <&pinctrl_usdhc2_200mhz>, 384 pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>; 623 cd-gpios = <&gpio1 15 GPIO_ACTIVE_LOW> 385 cd-gpios = <&gpio1 15 GPIO_ACTIVE_LOW>; 624 bus-width = <4>; 386 bus-width = <4>; 625 vmmc-supply = <®_usdhc2_vmmc>; 387 vmmc-supply = <®_usdhc2_vmmc>; 626 status = "okay"; 388 status = "okay"; 627 }; 389 }; 628 390 629 &wdog1 { 391 &wdog1 { 630 pinctrl-names = "default"; 392 pinctrl-names = "default"; 631 pinctrl-0 = <&pinctrl_wdog>; 393 pinctrl-0 = <&pinctrl_wdog>; 632 fsl,ext-reset-output; 394 fsl,ext-reset-output; 633 status = "okay"; 395 status = "okay"; 634 }; 396 }; 635 397 636 &pwm1 { << 637 pinctrl-names = "default"; << 638 pinctrl-0 = <&pinctrl_backlight>; << 639 status = "okay"; << 640 }; << 641 << 642 &iomuxc { 398 &iomuxc { 643 pinctrl_fec1: fec1grp { 399 pinctrl_fec1: fec1grp { 644 fsl,pins = < 400 fsl,pins = < 645 MX8MM_IOMUXC_ENET_MDC_ 401 MX8MM_IOMUXC_ENET_MDC_ENET1_MDC 0x3 646 MX8MM_IOMUXC_ENET_MDIO 402 MX8MM_IOMUXC_ENET_MDIO_ENET1_MDIO 0x3 647 MX8MM_IOMUXC_ENET_TD3_ 403 MX8MM_IOMUXC_ENET_TD3_ENET1_RGMII_TD3 0x1f 648 MX8MM_IOMUXC_ENET_TD2_ 404 MX8MM_IOMUXC_ENET_TD2_ENET1_RGMII_TD2 0x1f 649 MX8MM_IOMUXC_ENET_TD1_ 405 MX8MM_IOMUXC_ENET_TD1_ENET1_RGMII_TD1 0x1f 650 MX8MM_IOMUXC_ENET_TD0_ 406 MX8MM_IOMUXC_ENET_TD0_ENET1_RGMII_TD0 0x1f 651 MX8MM_IOMUXC_ENET_RD3_ 407 MX8MM_IOMUXC_ENET_RD3_ENET1_RGMII_RD3 0x91 652 MX8MM_IOMUXC_ENET_RD2_ 408 MX8MM_IOMUXC_ENET_RD2_ENET1_RGMII_RD2 0x91 653 MX8MM_IOMUXC_ENET_RD1_ 409 MX8MM_IOMUXC_ENET_RD1_ENET1_RGMII_RD1 0x91 654 MX8MM_IOMUXC_ENET_RD0_ 410 MX8MM_IOMUXC_ENET_RD0_ENET1_RGMII_RD0 0x91 655 MX8MM_IOMUXC_ENET_TXC_ 411 MX8MM_IOMUXC_ENET_TXC_ENET1_RGMII_TXC 0x1f 656 MX8MM_IOMUXC_ENET_RXC_ 412 MX8MM_IOMUXC_ENET_RXC_ENET1_RGMII_RXC 0x91 657 MX8MM_IOMUXC_ENET_RX_C 413 MX8MM_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL 0x91 658 MX8MM_IOMUXC_ENET_TX_C 414 MX8MM_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL 0x1f 659 MX8MM_IOMUXC_SAI2_RXC_ 415 MX8MM_IOMUXC_SAI2_RXC_GPIO4_IO22 0x19 660 >; 416 >; 661 }; 417 }; 662 418 663 pinctrl_gpio_led: gpioledgrp { 419 pinctrl_gpio_led: gpioledgrp { 664 fsl,pins = < 420 fsl,pins = < 665 MX8MM_IOMUXC_NAND_READ 421 MX8MM_IOMUXC_NAND_READY_B_GPIO3_IO16 0x19 666 >; 422 >; 667 }; 423 }; 668 424 669 pinctrl_ir: irgrp { 425 pinctrl_ir: irgrp { 670 fsl,pins = < 426 fsl,pins = < 671 MX8MM_IOMUXC_GPIO1_IO1 427 MX8MM_IOMUXC_GPIO1_IO13_GPIO1_IO13 0x4f 672 >; 428 >; 673 }; 429 }; 674 430 675 pinctrl_gpio_wlf: gpiowlfgrp { 431 pinctrl_gpio_wlf: gpiowlfgrp { 676 fsl,pins = < 432 fsl,pins = < 677 MX8MM_IOMUXC_I2C4_SDA_ 433 MX8MM_IOMUXC_I2C4_SDA_GPIO5_IO21 0xd6 678 >; 434 >; 679 }; 435 }; 680 436 681 pinctrl_i2c1: i2c1grp { 437 pinctrl_i2c1: i2c1grp { 682 fsl,pins = < 438 fsl,pins = < 683 MX8MM_IOMUXC_I2C1_SCL_ 439 MX8MM_IOMUXC_I2C1_SCL_I2C1_SCL 0x400001c3 684 MX8MM_IOMUXC_I2C1_SDA_ 440 MX8MM_IOMUXC_I2C1_SDA_I2C1_SDA 0x400001c3 685 >; 441 >; 686 }; 442 }; 687 443 688 pinctrl_i2c2: i2c2grp { 444 pinctrl_i2c2: i2c2grp { 689 fsl,pins = < 445 fsl,pins = < 690 MX8MM_IOMUXC_I2C2_SCL_ 446 MX8MM_IOMUXC_I2C2_SCL_I2C2_SCL 0x400001c3 691 MX8MM_IOMUXC_I2C2_SDA_ 447 MX8MM_IOMUXC_I2C2_SDA_I2C2_SDA 0x400001c3 692 >; 448 >; 693 }; 449 }; 694 450 695 pinctrl_i2c3: i2c3grp { 451 pinctrl_i2c3: i2c3grp { 696 fsl,pins = < 452 fsl,pins = < 697 MX8MM_IOMUXC_I2C3_SCL_ 453 MX8MM_IOMUXC_I2C3_SCL_I2C3_SCL 0x400001c3 698 MX8MM_IOMUXC_I2C3_SDA_ 454 MX8MM_IOMUXC_I2C3_SDA_I2C3_SDA 0x400001c3 699 >; 455 >; 700 }; 456 }; 701 457 702 pinctrl_pcie0: pcie0grp { 458 pinctrl_pcie0: pcie0grp { 703 fsl,pins = < 459 fsl,pins = < 704 MX8MM_IOMUXC_I2C4_SCL_ 460 MX8MM_IOMUXC_I2C4_SCL_PCIE1_CLKREQ_B 0x61 705 MX8MM_IOMUXC_SAI2_RXFS 461 MX8MM_IOMUXC_SAI2_RXFS_GPIO4_IO21 0x41 706 >; 462 >; 707 }; 463 }; 708 464 709 pinctrl_pcie0_reg: pcie0reggrp { 465 pinctrl_pcie0_reg: pcie0reggrp { 710 fsl,pins = < 466 fsl,pins = < 711 MX8MM_IOMUXC_GPIO1_IO0 467 MX8MM_IOMUXC_GPIO1_IO05_GPIO1_IO5 0x41 712 >; 468 >; 713 }; 469 }; 714 470 715 pinctrl_pdm: pdmgrp { << 716 fsl,pins = < << 717 MX8MM_IOMUXC_SAI5_MCLK << 718 MX8MM_IOMUXC_SAI5_RXC_ << 719 MX8MM_IOMUXC_SAI5_RXFS << 720 MX8MM_IOMUXC_SAI5_RXD0 << 721 MX8MM_IOMUXC_SAI5_RXD1 << 722 MX8MM_IOMUXC_SAI5_RXD2 << 723 MX8MM_IOMUXC_SAI5_RXD3 << 724 >; << 725 }; << 726 << 727 pinctrl_pmic: pmicirqgrp { 471 pinctrl_pmic: pmicirqgrp { 728 fsl,pins = < 472 fsl,pins = < 729 MX8MM_IOMUXC_GPIO1_IO0 473 MX8MM_IOMUXC_GPIO1_IO03_GPIO1_IO3 0x141 730 >; 474 >; 731 }; 475 }; 732 476 733 pinctrl_reg_usdhc2_vmmc: regusdhc2vmmc 477 pinctrl_reg_usdhc2_vmmc: regusdhc2vmmcgrp { 734 fsl,pins = < 478 fsl,pins = < 735 MX8MM_IOMUXC_SD2_RESET 479 MX8MM_IOMUXC_SD2_RESET_B_GPIO2_IO19 0x41 736 >; 480 >; 737 }; 481 }; 738 482 739 pinctrl_sai2: sai2grp { << 740 fsl,pins = < << 741 MX8MM_IOMUXC_SAI2_TXC_ << 742 MX8MM_IOMUXC_SAI2_TXFS << 743 MX8MM_IOMUXC_SAI2_TXD0 << 744 MX8MM_IOMUXC_SAI2_RXD0 << 745 >; << 746 }; << 747 << 748 pinctrl_sai3: sai3grp { 483 pinctrl_sai3: sai3grp { 749 fsl,pins = < 484 fsl,pins = < 750 MX8MM_IOMUXC_SAI3_TXFS 485 MX8MM_IOMUXC_SAI3_TXFS_SAI3_TX_SYNC 0xd6 751 MX8MM_IOMUXC_SAI3_TXC_ 486 MX8MM_IOMUXC_SAI3_TXC_SAI3_TX_BCLK 0xd6 752 MX8MM_IOMUXC_SAI3_MCLK 487 MX8MM_IOMUXC_SAI3_MCLK_SAI3_MCLK 0xd6 753 MX8MM_IOMUXC_SAI3_TXD_ 488 MX8MM_IOMUXC_SAI3_TXD_SAI3_TX_DATA0 0xd6 754 >; 489 >; 755 }; 490 }; 756 491 757 pinctrl_spdif1: spdif1grp { << 758 fsl,pins = < << 759 MX8MM_IOMUXC_SPDIF_TX_ << 760 MX8MM_IOMUXC_SPDIF_RX_ << 761 >; << 762 }; << 763 << 764 pinctrl_typec1: typec1grp { 492 pinctrl_typec1: typec1grp { 765 fsl,pins = < 493 fsl,pins = < 766 MX8MM_IOMUXC_SD1_STROB 494 MX8MM_IOMUXC_SD1_STROBE_GPIO2_IO11 0x159 767 >; 495 >; 768 }; 496 }; 769 497 770 pinctrl_uart2: uart2grp { 498 pinctrl_uart2: uart2grp { 771 fsl,pins = < 499 fsl,pins = < 772 MX8MM_IOMUXC_UART2_RXD 500 MX8MM_IOMUXC_UART2_RXD_UART2_DCE_RX 0x140 773 MX8MM_IOMUXC_UART2_TXD 501 MX8MM_IOMUXC_UART2_TXD_UART2_DCE_TX 0x140 774 >; 502 >; 775 }; 503 }; 776 504 777 pinctrl_usdhc2_gpio: usdhc2grpgpiogrp 505 pinctrl_usdhc2_gpio: usdhc2grpgpiogrp { 778 fsl,pins = < 506 fsl,pins = < 779 MX8MM_IOMUXC_GPIO1_IO1 507 MX8MM_IOMUXC_GPIO1_IO15_GPIO1_IO15 0x1c4 780 >; 508 >; 781 }; 509 }; 782 510 783 pinctrl_usdhc2: usdhc2grp { 511 pinctrl_usdhc2: usdhc2grp { 784 fsl,pins = < 512 fsl,pins = < 785 MX8MM_IOMUXC_SD2_CLK_U 513 MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x190 786 MX8MM_IOMUXC_SD2_CMD_U 514 MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d0 787 MX8MM_IOMUXC_SD2_DATA0 515 MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d0 788 MX8MM_IOMUXC_SD2_DATA1 516 MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d0 789 MX8MM_IOMUXC_SD2_DATA2 517 MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d0 790 MX8MM_IOMUXC_SD2_DATA3 518 MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d0 791 MX8MM_IOMUXC_GPIO1_IO0 519 MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x1d0 792 >; 520 >; 793 }; 521 }; 794 522 795 pinctrl_usdhc2_100mhz: usdhc2-100mhzgr 523 pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp { 796 fsl,pins = < 524 fsl,pins = < 797 MX8MM_IOMUXC_SD2_CLK_U 525 MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x194 798 MX8MM_IOMUXC_SD2_CMD_U 526 MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d4 799 MX8MM_IOMUXC_SD2_DATA0 527 MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d4 800 MX8MM_IOMUXC_SD2_DATA1 528 MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d4 801 MX8MM_IOMUXC_SD2_DATA2 529 MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d4 802 MX8MM_IOMUXC_SD2_DATA3 530 MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d4 803 MX8MM_IOMUXC_GPIO1_IO0 531 MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x1d0 804 >; 532 >; 805 }; 533 }; 806 534 807 pinctrl_usdhc2_200mhz: usdhc2-200mhzgr 535 pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp { 808 fsl,pins = < 536 fsl,pins = < 809 MX8MM_IOMUXC_SD2_CLK_U 537 MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x196 810 MX8MM_IOMUXC_SD2_CMD_U 538 MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d6 811 MX8MM_IOMUXC_SD2_DATA0 539 MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d6 812 MX8MM_IOMUXC_SD2_DATA1 540 MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d6 813 MX8MM_IOMUXC_SD2_DATA2 541 MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d6 814 MX8MM_IOMUXC_SD2_DATA3 542 MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d6 815 MX8MM_IOMUXC_GPIO1_IO0 543 MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x1d0 816 >; 544 >; 817 }; 545 }; 818 546 819 pinctrl_wdog: wdoggrp { 547 pinctrl_wdog: wdoggrp { 820 fsl,pins = < 548 fsl,pins = < 821 MX8MM_IOMUXC_GPIO1_IO0 549 MX8MM_IOMUXC_GPIO1_IO02_WDOG1_WDOG_B 0x166 822 >; << 823 }; << 824 << 825 pinctrl_backlight: backlightgrp { << 826 fsl,pins = < << 827 MX8MM_IOMUXC_GPIO1_IO0 << 828 >; << 829 }; << 830 << 831 pinctrl_camera: cameragrp { << 832 fsl,pins = < << 833 MX8MM_IOMUXC_GPIO1_IO0 << 834 MX8MM_IOMUXC_GPIO1_IO0 << 835 MX8MM_IOMUXC_GPIO1_IO1 << 836 >; 550 >; 837 }; 551 }; 838 }; 552 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.