// SPDX-License-Identifier: GPL-2.0+ OR MIT /* * Copyright 2014-2020 Toradex * Copyright 2012 Freescale Semiconductor, Inc. * Copyright 2011 Linaro Ltd. */ /dts-v1/; #include #include #include #include "imx6q.dtsi" #include "imx6qdl-apalis.dtsi" / { model = "Toradex Apalis iMX6Q/D Module on Apalis Evaluation Board"; compatible = "toradex,apalis_imx6q-eval", "toradex,apalis_imx6q", "fsl,imx6q"; aliases { i2c0 = &i2c1; i2c1 = &i2c3; i2c2 = &i2c2; rtc0 = &rtc_i2c; rtc1 = &snvs_rtc; }; chosen { stdout-path = "serial0:115200n8"; }; gpio-keys { compatible = "gpio-keys"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_gpio_keys>; wakeup { label = "Wake-Up"; gpios = <&gpio1 4 GPIO_ACTIVE_LOW>; linux,code = ; debounce-interval = <10>; wakeup-source; }; }; lcd_display: disp0 { compatible = "fsl,imx-parallel-display"; #address-cells = <1>; #size-cells = <0>; interface-pix-fmt = "rgb24"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_ipu1_lcdif>; status = "okay"; port@0 { reg = <0>; lcd_display_in: endpoint { remote-endpoint = <&ipu1_di1_disp1>; }; }; port@1 { reg = <1>; lcd_display_out: endpoint { remote-endpoint = <&lcd_panel_in>; }; }; }; panel: panel { /* * edt,et057090dhu: EDT 5.7" LCD TFT * edt,et070080dh6: EDT 7.0" LCD TFT */ compatible = "edt,et057090dhu"; backlight = <&backlight>; power-supply = <®_3v3_sw>; port { lcd_panel_in: endpoint { remote-endpoint = <&lcd_display_out>; }; }; }; reg_pcie_switch: regulator-pcie-switch { compatible = "regulator-fixed"; regulator-name = "pcie_switch"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; gpio = <&gpio1 2 GPIO_ACTIVE_HIGH>; startup-delay-us = <100000>; enable-active-high; status = "okay"; }; reg_3v3_sw: regulator-3v3-sw { compatible = "regulator-fixed"; regulator-name = "3.3V_SW"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; }; &backlight { brightness-levels = <0 127 191 223 239 247 251 255>; default-brightness-level = <1>; power-supply = <®_3v3_sw>; status = "okay"; }; &can1 { xceiver-supply = <®_3v3_sw>; status = "okay"; }; &can2 { xceiver-supply = <®_3v3_sw>; status = "okay"; }; &hdmi { status = "okay"; }; /* I2C1_SDA/SCL on MXM3 209/211 (e.g. RTC on carrier board) */ &i2c1 { status = "okay"; /* * Touchscreen is using SODIMM 28/30, also used for PWM, PWM, * aka pwm2, pwm3. so if you enable touchscreen, disable the pwms */ touchscreen@4a { compatible = "atmel,maxtouch"; reg = <0x4a>; interrupt-parent = <&gpio6>; interrupts = <10 IRQ_TYPE_EDGE_FALLING>; reset-gpios = <&gpio6 9 GPIO_ACTIVE_HIGH>; /* SODIMM 13 */ status = "disabled"; }; pcie-switch@58 { compatible = "plx,pex8605"; reg = <0x58>; }; /* M41T0M6 real time clock on carrier board */ rtc_i2c: rtc@68 { compatible = "st,m41t0"; reg = <0x68>; }; }; /* * I2C3_SDA/SCL (CAM) on MXM3 pin 201/203 (e.g. camera sensor on carrier * board) */ &i2c3 { status = "okay"; }; &ipu1_di1_disp1 { remote-endpoint = <&lcd_display_in>; }; &ldb { status = "okay"; }; &pcie { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_reset_moci>; /* active-high meaning opposite of regular PERST# active-low polarity */ reset-gpio = <&gpio1 28 GPIO_ACTIVE_HIGH>; reset-gpio-active-high; vpcie-supply = <®_pcie_switch>; status = "okay"; }; &pwm1 { status = "okay"; }; &pwm2 { status = "okay"; }; &pwm3 { status = "okay"; }; &pwm4 { status = "okay"; }; ®_usb_otg_vbus { status = "okay"; }; ®_usb_host_vbus { status = "okay"; }; &sata { status = "okay"; }; &sound_spdif { status = "okay"; }; &spdif { status = "okay"; }; &uart1 { status = "okay"; }; &uart2 { status = "okay"; }; &uart4 { status = "okay"; }; &uart5 { status = "okay"; }; &usbh1 { vbus-supply = <®_usb_host_vbus>; status = "okay"; }; &usbotg { vbus-supply = <®_usb_otg_vbus>; status = "okay"; }; /* MMC1 */ &usdhc1 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_usdhc1_4bit &pinctrl_usdhc1_8bit &pinctrl_mmc_cd>; cd-gpios = <&gpio4 20 GPIO_ACTIVE_LOW>; status = "okay"; }; /* SD1 */ &usdhc2 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_usdhc2 &pinctrl_sd_cd>; cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>; status = "okay"; }; &iomuxc { /* * Mux the Apalis GPIOs */ pinctrl-names = "default"; pinctrl-0 = <&pinctrl_apalis_gpio1 &pinctrl_apalis_gpio2 &pinctrl_apalis_gpio3 &pinctrl_apalis_gpio4 &pinctrl_apalis_gpio5 &pinctrl_apalis_gpio6 &pinctrl_apalis_gpio7 &pinctrl_apalis_gpio8 >; };