// SPDX-License-Identifier: GPL-2.0+ OR X11 /* * Copyright 2019 Toradex */ / { aliases { rtc0 = &rtc_i2c; rtc1 = &rtc; }; /* TODO: Move this panel to the overlay */ panel_dpi: panel-dpi { /* * edt,et057090dhu: EDT 5.7" LCD TFT * edt,et070080dh6: EDT 7.0" LCD TFT * logictechno,lt161010-2nhc: Cap. Touch Display 7" Parallel * logictechno,lt161010-2nhr: Res. Touch Display 7" Paralle * logictechno,lt170410-2whc: Cap. Touch Display 10.1" LVDS * tpk,f07a-0102: Capacitive Multi-Touch Display Fusion 7" * tpk,f10a-0102: Capacitive Multi-Touch Display Fusion 10" */ compatible = "panel-dpi"; backlight = <&backlight>; power-supply = <®_3v3>; width-mm = <217>; height-mm = <136>; data-mapping = "bgr666"; status = "disabled"; panel-timing { /* Default VESA VGA display timings */ clock-frequency = <25175000>; hactive = <640>; hback-porch = <48>; hfront-porch = <16>; hsync-len = <96>; vactive = <480>; vback-porch = <31>; vfront-porch = <11>; vsync-len = <2>; pixelclk-active = <0>; }; }; reg_3v3: regulator-3v3 { compatible = "regulator-fixed"; regulator-name = "3.3V"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; }; reg_5v0: regulator-5v0 { compatible = "regulator-fixed"; regulator-name = "5V"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; }; reg_usb_otg1_vbus: regulator@0 { compatible = "regulator-fixed"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_usbo1_en>; regulator-name = "usb_otg1_vbus"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; enable-active-high; /* Apalis USBO1_EN */ gpio = <&lsio_gpio3 16 GPIO_ACTIVE_HIGH>; }; /* The Cadence,usb3 driver doesn't support the vbus regulator for now. * Add regulator-always-on to keep the USBH_EN signal up. */ reg_usb_host_vbus: regulator-usb-host-vbus { compatible = "regulator-fixed"; enable-active-high; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_usbh_en>; regulator-always-on; regulator-name = "usb_host_vbus_hub"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; /* Apalis USBH_EN */ gpio = <&lsio_gpio4 4 GPIO_ACTIVE_HIGH>; }; }; &adc0 { status = "okay"; }; &fec1 { status = "okay"; }; /* Apalis CAN1 */ &flexcan2 { /* define the following property to disable CAN-FD mode */ /* disable-fd-mode; */ status = "okay"; }; /* Apalis CAN2 */ &flexcan3 { /* define the following property to disable CAN-FD mode */ /* disable-fd-mode; */ status = "okay"; }; /* Apalis I2C1 */ &i2c1 { status = "okay"; /* M41T0M6 real time clock on carrier board */ rtc_i2c: rtc@68 { compatible = "st,m41t0"; reg = <0x68>; }; }; &isi_0 { interface = <2 0 2>; /** * interface = * Input: 0-DC0, 1-DC1, 2-MIPI CSI0, 3-MIPI CSI1, 4-HDMI, 5-MEM, INPUT: 6-PARALLEL CSI * MIPI_VCx: 0-VC0, 1-VC1, 2-VC2, 3-VC3, MIPI CSI only * Output: 0-DC0, 1-DC1, 2-MEM */ status = "okay"; cap_device { status = "okay"; }; m2m_device { status = "okay"; }; }; &isi_1 { interface = <6 0 2>; parallel_csi; status = "disabled"; }; &isi_2 { status = "disabled"; }; &isi_3 { status = "disabled"; }; &isi_4 { status = "disabled"; }; &isi_5 { status = "disabled"; }; &isi_6 { status = "disabled"; }; &isi_7 { status = "disabled"; }; &jpegdec { status = "okay"; }; &jpegenc { status = "okay"; }; &ldb1 { status = "okay"; }; &ldb1_phy { status = "okay"; }; &ldb2 { status = "okay"; }; &ldb2_phy { status = "okay"; }; /* Apalis SPI1 */ &lpspi0 { status = "okay"; spidev0: spi@0 { compatible = "toradex,evalspi"; reg = <0>; spi-max-frequency = <4000000>; }; }; /* Apalis SPI2 */ &lpspi2 { status = "okay"; spidev1: spi@0 { compatible = "toradex,evalspi"; reg = <0>; spi-max-frequency = <4000000>; }; }; /* Apalis UART1 */ &lpuart1 { status = "okay"; }; /* Apalis UART2 */ &lpuart0 { status = "okay"; }; /* Apalis UART3 */ &lpuart2 { status = "okay"; }; /* Apalis UART4 */ &lpuart3 { status = "okay"; }; &lsio_gpio1 { /** * Add GPIO1_26 as a wakeup source: * Pin: SC_P_MIPI_DSI0_I2C0_SDA (MXM3_37) * Type: SC_PAD_WAKEUP_FALL_EDGE * Line: GPIO1_IO26 */ pad-wakeup = <117 5 26>; pad-wakeup-num = <1>; }; /* On-module GPIO Expander */ &pcal6416_1 { /* * This gpio-hog drives a muxing device. With that we can choose * if LVDS1_B pins are active or if DVI signals are active. Those * signals are then muxed to MIPI_DSI1 PADs. * * output-high; muxes to DVI signals * output-low; muxes to LVDS1_B signals */ LVDS_HDMI_MUX { gpio-hog; gpios = <14 0>; output-high; line-name = "LVDS_HDMI_MUX"; }; }; /* Apalis PCIE1 */ &pcieb { status = "okay"; }; /* Apalis PWM2 */ &pwm_mipi_lvds0 { status = "okay"; }; /* Apalis PWM1 */ &pwm2 { status = "okay"; }; /* Apalis USBO1 */ &usbotg1 { adp-disable; ci-disable-lpm; hnp-disable; over-current-active-low; srp-disable; status = "okay"; vbus-supply = <®_usb_otg1_vbus>; }; &usbphy1 { status = "okay"; }; /* Apalis MMC1 */ &usdhc2 { status = "okay"; }; &vpu_decoder { status = "okay"; }; &vpu_encoder { status = "okay"; }; &vpu_lpcg { status = "okay"; };