1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-or-later OR MIT 2724ba675SRob Herring/* 3724ba675SRob Herring * Copyright 2014-2022 Toradex 4724ba675SRob Herring * Copyright 2012 Freescale Semiconductor, Inc. 5724ba675SRob Herring * Copyright 2011 Linaro Ltd. 6724ba675SRob Herring */ 7724ba675SRob Herring 8724ba675SRob Herring/dts-v1/; 9724ba675SRob Herring 10724ba675SRob Herring#include <dt-bindings/gpio/gpio.h> 11724ba675SRob Herring#include <dt-bindings/input/input.h> 12724ba675SRob Herring#include <dt-bindings/interrupt-controller/irq.h> 13724ba675SRob Herring#include "imx6q.dtsi" 14724ba675SRob Herring#include "imx6qdl-apalis.dtsi" 15724ba675SRob Herring 16724ba675SRob Herring/ { 17724ba675SRob Herring model = "Toradex Apalis iMX6Q/D Module on Ixora Carrier Board V1.2"; 18724ba675SRob Herring compatible = "toradex,apalis_imx6q-ixora-v1.2", "toradex,apalis_imx6q", 19724ba675SRob Herring "fsl,imx6q"; 20724ba675SRob Herring 21724ba675SRob Herring aliases { 22724ba675SRob Herring i2c0 = &i2c1; 23724ba675SRob Herring i2c1 = &i2c3; 24724ba675SRob Herring i2c2 = &i2c2; 25724ba675SRob Herring rtc0 = &rtc_i2c; 26724ba675SRob Herring rtc1 = &snvs_rtc; 27724ba675SRob Herring }; 28724ba675SRob Herring 29724ba675SRob Herring chosen { 30724ba675SRob Herring stdout-path = "serial0:115200n8"; 31724ba675SRob Herring }; 32724ba675SRob Herring 33724ba675SRob Herring leds { 34724ba675SRob Herring compatible = "gpio-leds"; 35724ba675SRob Herring 36724ba675SRob Herring pinctrl-names = "default"; 37724ba675SRob Herring pinctrl-0 = <&pinctrl_leds_ixora>; 38724ba675SRob Herring 39724ba675SRob Herring led4-green { 40724ba675SRob Herring gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>; 41724ba675SRob Herring label = "LED_4_GREEN"; 42724ba675SRob Herring }; 43724ba675SRob Herring 44724ba675SRob Herring led4-red { 45724ba675SRob Herring gpios = <&gpio1 12 GPIO_ACTIVE_HIGH>; 46724ba675SRob Herring label = "LED_4_RED"; 47724ba675SRob Herring }; 48724ba675SRob Herring 49724ba675SRob Herring led5-green { 50724ba675SRob Herring gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>; 51724ba675SRob Herring label = "LED_5_GREEN"; 52724ba675SRob Herring }; 53724ba675SRob Herring 54724ba675SRob Herring led5-red { 55724ba675SRob Herring gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>; 56724ba675SRob Herring label = "LED_5_RED"; 57724ba675SRob Herring }; 58724ba675SRob Herring }; 59724ba675SRob Herring 60724ba675SRob Herring reg_3v3_vmmc: regulator-3v3-vmmc { 61724ba675SRob Herring compatible = "regulator-fixed"; 62724ba675SRob Herring enable-active-high; 63724ba675SRob Herring gpio = <&gpio2 0 GPIO_ACTIVE_HIGH>; 64724ba675SRob Herring pinctrl-names = "default"; 65724ba675SRob Herring pinctrl-0 = <&pinctrl_enable_3v3_vmmc>; 66724ba675SRob Herring regulator-max-microvolt = <3300000>; 67724ba675SRob Herring regulator-min-microvolt = <3300000>; 68724ba675SRob Herring regulator-name = "3v3_vmmc"; 69724ba675SRob Herring startup-delay-us = <100>; 70724ba675SRob Herring }; 71724ba675SRob Herring 72724ba675SRob Herring reg_can1_supply: regulator-can1-supply { 73724ba675SRob Herring compatible = "regulator-fixed"; 74724ba675SRob Herring enable-active-high; 75724ba675SRob Herring gpio = <&gpio2 3 GPIO_ACTIVE_HIGH>; 76724ba675SRob Herring pinctrl-names = "default"; 77724ba675SRob Herring pinctrl-0 = <&pinctrl_enable_can1_power>; 78724ba675SRob Herring regulator-name = "can1_supply"; 79*b76bbf83SAndrejs Cainikovs startup-delay-us = <1000>; 80724ba675SRob Herring }; 81724ba675SRob Herring 82724ba675SRob Herring reg_can2_supply: regulator-can2-supply { 83724ba675SRob Herring compatible = "regulator-fixed"; 84724ba675SRob Herring enable-active-high; 85724ba675SRob Herring gpio = <&gpio3 15 GPIO_ACTIVE_HIGH>; 86724ba675SRob Herring pinctrl-names = "default"; 87724ba675SRob Herring pinctrl-0 = <&pinctrl_enable_can2_power>; 88724ba675SRob Herring regulator-name = "can2_supply"; 89*b76bbf83SAndrejs Cainikovs startup-delay-us = <1000>; 90724ba675SRob Herring }; 91724ba675SRob Herring}; 92724ba675SRob Herring 93724ba675SRob Herring&can1 { 94724ba675SRob Herring xceiver-supply = <®_can1_supply>; 95724ba675SRob Herring status = "okay"; 96724ba675SRob Herring}; 97724ba675SRob Herring 98724ba675SRob Herring&can2 { 99724ba675SRob Herring xceiver-supply = <®_can2_supply>; 100724ba675SRob Herring status = "okay"; 101724ba675SRob Herring}; 102724ba675SRob Herring 103724ba675SRob Herring&gpio1 { 104724ba675SRob Herring pinctrl-names = "default"; 105724ba675SRob Herring pinctrl-0 = <&pinctrl_uart24_forceoff>; 106724ba675SRob Herring 107724ba675SRob Herring /* 108724ba675SRob Herring * uart-2-4-on-x21-enable-hog enables the UART transceiver for Apalis 109724ba675SRob Herring * UART2 and UART3. If one wants to disable the transceiver force 110724ba675SRob Herring * the GPIO to output-low, if one wants to control the transceiver 111724ba675SRob Herring * from user space delete the hog node. 112724ba675SRob Herring */ 113724ba675SRob Herring uart-2-4-on-x21-enable-hog { 114724ba675SRob Herring gpio-hog; 115724ba675SRob Herring gpios = <11 GPIO_ACTIVE_HIGH>; /* MXM3 180 */ 116724ba675SRob Herring output-high; 117724ba675SRob Herring }; 118724ba675SRob Herring}; 119724ba675SRob Herring 120724ba675SRob Herring/* I2C1_SDA/SCL on MXM3 209/211 (e.g. RTC on carrier board) */ 121724ba675SRob Herring&i2c1 { 122724ba675SRob Herring status = "okay"; 123724ba675SRob Herring 124724ba675SRob Herring /* M41T0M6 real time clock on carrier board */ 125724ba675SRob Herring rtc_i2c: rtc@68 { 126724ba675SRob Herring compatible = "st,m41t0"; 127724ba675SRob Herring reg = <0x68>; 128724ba675SRob Herring }; 129724ba675SRob Herring 130724ba675SRob Herring eeprom: eeprom@50 { 131724ba675SRob Herring compatible = "atmel,24c02"; 132724ba675SRob Herring reg = <0x50>; 133724ba675SRob Herring pagesize = <16>; 134724ba675SRob Herring }; 135724ba675SRob Herring}; 136724ba675SRob Herring 137724ba675SRob Herring/* 138724ba675SRob Herring * I2C3_SDA/SCL (CAM) on MXM3 pin 201/203 (e.g. camera sensor on carrier 139724ba675SRob Herring * board) 140724ba675SRob Herring */ 141724ba675SRob Herring&i2c3 { 142724ba675SRob Herring status = "okay"; 143724ba675SRob Herring}; 144724ba675SRob Herring 145724ba675SRob Herring&pcie { 146724ba675SRob Herring pinctrl-names = "default"; 147724ba675SRob Herring pinctrl-0 = <&pinctrl_reset_moci>; 148724ba675SRob Herring /* active-high meaning opposite of regular PERST# active-low polarity */ 149724ba675SRob Herring reset-gpio = <&gpio1 28 GPIO_ACTIVE_HIGH>; 150724ba675SRob Herring reset-gpio-active-high; 151724ba675SRob Herring status = "okay"; 152724ba675SRob Herring}; 153724ba675SRob Herring 154724ba675SRob Herring&pwm1 { 155724ba675SRob Herring status = "okay"; 156724ba675SRob Herring}; 157724ba675SRob Herring 158724ba675SRob Herring&pwm2 { 159724ba675SRob Herring status = "okay"; 160724ba675SRob Herring}; 161724ba675SRob Herring 162724ba675SRob Herring&pwm3 { 163724ba675SRob Herring status = "okay"; 164724ba675SRob Herring}; 165724ba675SRob Herring 166724ba675SRob Herring&pwm4 { 167724ba675SRob Herring status = "okay"; 168724ba675SRob Herring}; 169724ba675SRob Herring 170724ba675SRob Herring®_usb_host_vbus { 171724ba675SRob Herring status = "okay"; 172724ba675SRob Herring}; 173724ba675SRob Herring 174724ba675SRob Herring®_usb_otg_vbus { 175724ba675SRob Herring status = "okay"; 176724ba675SRob Herring}; 177724ba675SRob Herring 178724ba675SRob Herring&sata { 179724ba675SRob Herring status = "okay"; 180724ba675SRob Herring}; 181724ba675SRob Herring 182724ba675SRob Herring&sound_spdif { 183724ba675SRob Herring status = "okay"; 184724ba675SRob Herring}; 185724ba675SRob Herring 186724ba675SRob Herring&spdif { 187724ba675SRob Herring status = "okay"; 188724ba675SRob Herring}; 189724ba675SRob Herring 190724ba675SRob Herring&uart1 { 191724ba675SRob Herring status = "okay"; 192724ba675SRob Herring}; 193724ba675SRob Herring 194724ba675SRob Herring&uart2 { 195724ba675SRob Herring status = "okay"; 196724ba675SRob Herring}; 197724ba675SRob Herring 198724ba675SRob Herring&uart4 { 199724ba675SRob Herring status = "okay"; 200724ba675SRob Herring}; 201724ba675SRob Herring 202724ba675SRob Herring&uart5 { 203724ba675SRob Herring status = "okay"; 204724ba675SRob Herring}; 205724ba675SRob Herring 206724ba675SRob Herring&usbh1 { 207724ba675SRob Herring disable-over-current; 208724ba675SRob Herring vbus-supply = <®_usb_host_vbus>; 209724ba675SRob Herring status = "okay"; 210724ba675SRob Herring}; 211724ba675SRob Herring 212724ba675SRob Herring&usbotg { 213724ba675SRob Herring disable-over-current; 214724ba675SRob Herring vbus-supply = <®_usb_otg_vbus>; 215724ba675SRob Herring status = "okay"; 216724ba675SRob Herring}; 217724ba675SRob Herring 218724ba675SRob Herring/* MMC1 */ 219724ba675SRob Herring&usdhc1 { 220724ba675SRob Herring pinctrl-names = "default", "sleep"; 221724ba675SRob Herring pinctrl-0 = <&pinctrl_usdhc1_4bit &pinctrl_mmc_cd>; 222724ba675SRob Herring pinctrl-1 = <&pinctrl_usdhc1_4bit_sleep &pinctrl_mmc_cd_sleep>; 223724ba675SRob Herring bus-width = <4>; 224724ba675SRob Herring cap-power-off-card; 225724ba675SRob Herring vmmc-supply = <®_3v3_vmmc>; 226724ba675SRob Herring status = "okay"; 227724ba675SRob Herring}; 228724ba675SRob Herring 229724ba675SRob Herring&iomuxc { 230724ba675SRob Herring pinctrl_enable_3v3_vmmc: enable3v3vmmcgrp { 231724ba675SRob Herring fsl,pins = < 232724ba675SRob Herring MX6QDL_PAD_NANDF_D0__GPIO2_IO00 0x1b0b0 233724ba675SRob Herring >; 234724ba675SRob Herring }; 235724ba675SRob Herring 236724ba675SRob Herring pinctrl_enable_can1_power: enablecan1powergrp { 237724ba675SRob Herring fsl,pins = < 238724ba675SRob Herring MX6QDL_PAD_NANDF_D3__GPIO2_IO03 0x1b0b0 239724ba675SRob Herring >; 240724ba675SRob Herring }; 241724ba675SRob Herring 242724ba675SRob Herring pinctrl_enable_can2_power: enablecan2powergrp { 243724ba675SRob Herring fsl,pins = < 244724ba675SRob Herring MX6QDL_PAD_EIM_DA15__GPIO3_IO15 0x1b0b0 245724ba675SRob Herring >; 246724ba675SRob Herring }; 247724ba675SRob Herring 248724ba675SRob Herring pinctrl_uart24_forceoff: uart24forceoffgrp { 249724ba675SRob Herring fsl,pins = < 250724ba675SRob Herring MX6QDL_PAD_SD2_CMD__GPIO1_IO11 0x1b0b0 251724ba675SRob Herring >; 252724ba675SRob Herring }; 253724ba675SRob Herring 254724ba675SRob Herring pinctrl_leds_ixora: ledsixoragrp { 255724ba675SRob Herring fsl,pins = < 256724ba675SRob Herring MX6QDL_PAD_SD2_DAT1__GPIO1_IO14 0x1b0b0 257724ba675SRob Herring MX6QDL_PAD_SD2_DAT3__GPIO1_IO12 0x1b0b0 258724ba675SRob Herring MX6QDL_PAD_NANDF_D1__GPIO2_IO01 0x1b0b0 259724ba675SRob Herring MX6QDL_PAD_NANDF_D2__GPIO2_IO02 0x1b0b0 260724ba675SRob Herring >; 261724ba675SRob Herring }; 262724ba675SRob Herring 263724ba675SRob Herring pinctrl_mmc_cd_sleep: mmccdslpgrp { 264724ba675SRob Herring fsl,pins = < 265724ba675SRob Herring /* MMC1 CD */ 266724ba675SRob Herring MX6QDL_PAD_DI0_PIN4__GPIO4_IO20 0x0 267724ba675SRob Herring >; 268724ba675SRob Herring }; 269724ba675SRob Herring 270724ba675SRob Herring pinctrl_usdhc1_4bit_sleep: usdhc1-4bitslpgrp { 271724ba675SRob Herring fsl,pins = < 272724ba675SRob Herring MX6QDL_PAD_SD1_CMD__SD1_CMD 0x3000 273724ba675SRob Herring MX6QDL_PAD_SD1_CLK__SD1_CLK 0x3000 274724ba675SRob Herring MX6QDL_PAD_SD1_DAT0__SD1_DATA0 0x3000 275724ba675SRob Herring MX6QDL_PAD_SD1_DAT1__SD1_DATA1 0x3000 276724ba675SRob Herring MX6QDL_PAD_SD1_DAT2__SD1_DATA2 0x3000 277724ba675SRob Herring MX6QDL_PAD_SD1_DAT3__SD1_DATA3 0x3000 278724ba675SRob Herring >; 279724ba675SRob Herring }; 280724ba675SRob Herring}; 281