// SPDX-License-Identifier: (GPL-2.0+ OR MIT) /* * Copyright (C) 2018 PHYTEC Messtechnik GmbH * Author: Christian Hemp <c.hemp@phytec.de> */ / { aliases { rtc0 = &i2c_rtc; }; backlight: backlight { compatible = "pwm-backlight"; brightness-levels = <0 4 8 16 32 64 128 255>; default-brightness-level = <7>; power-supply = <®_backlight>; pwms = <&pwm1 0 5000000>; status = "okay"; }; gpio_leds: leds { compatible = "gpio-leds"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_gpioleds>; status = "disabled"; led-red { label = "phyboard-mira:red"; gpios = <&gpio5 22 GPIO_ACTIVE_HIGH>; }; led-green { label = "phyboard-mira:green"; gpios = <&gpio5 23 GPIO_ACTIVE_HIGH>; }; led-blue { label = "phyboard-mira:blue"; gpios = <&gpio5 24 GPIO_ACTIVE_HIGH>; linux,default-trigger = "mmc0"; }; }; reg_backlight: regulator-backlight { compatible = "regulator-fixed"; regulator-name = "backlight_3v3"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; reg_en_switch: regulator-en-switch { compatible = "regulator-fixed"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_en_switch>; regulator-name = "Enable Switch"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; enable-active-high; gpio = <&gpio3 4 GPIO_ACTIVE_HIGH>; regulator-always-on; }; reg_flexcan1: regulator-flexcan1 { compatible = "regulator-fixed"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_flexcan1_en>; regulator-name = "flexcan1-reg"; regulator-min-microvolt = <1500000>; regulator-max-microvolt = <1500000>; gpio = <&gpio2 20 GPIO_ACTIVE_HIGH>; enable-active-high; }; reg_panel: regulator-panel { compatible = "regulator-fixed"; regulator-name = "panel-power-supply"; regulator-min-microvolt = <12000000>; regulator-max-microvolt = <12000000>; regulator-always-on; }; reg_pcie: regulator-pcie { compatible = "regulator-fixed"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_pcie_reg>; regulator-name = "mPCIe_1V5"; regulator-min-microvolt = <1500000>; regulator-max-microvolt = <1500000>; gpio = <&gpio3 0 GPIO_ACTIVE_HIGH>; enable-active-high; }; reg_usb_h1_vbus: usb-h1-vbus { compatible = "regulator-fixed"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_usbh1_vbus>; regulator-name = "usb_h1_vbus"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; gpio = <&gpio2 18 GPIO_ACTIVE_HIGH>; enable-active-high; }; reg_usbotg_vbus: usbotg-vbus { compatible = "regulator-fixed"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_usbotg_vbus>; regulator-name = "usb_otg_vbus"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>; enable-active-high; }; panel { compatible = "auo,g104sn02"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_panel_en>; power-supply = <®_panel>; enable-gpios = <&gpio2 28 GPIO_ACTIVE_LOW>; backlight = <&backlight>; port { panel_in: endpoint { remote-endpoint = <&lvds0_out>; }; }; }; }; &can1 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_flexcan1>; xceiver-supply = <®_flexcan1>; status = "disabled"; }; &hdmi { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_hdmicec>; ddc-i2c-bus = <&i2c2>; status = "disabled"; }; &i2c1 { pinctrl-names = "default", "gpio"; pinctrl-0 = <&pinctrl_i2c1>; pinctrl-1 = <&pinctrl_i2c1_gpio>; scl-gpios = <&gpio3 21 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; sda-gpios = <&gpio3 28 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; clock-frequency = <400000>; status = "disabled"; stmpe: touchctrl@44 { compatible = "st,stmpe811"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_stmpe>; reg = <0x44>; interrupt-parent = <&gpio7>; interrupts = <12 IRQ_TYPE_NONE>; status = "disabled"; stmpe_touchscreen { compatible = "st,stmpe-ts"; st,sample-time = <4>; st,mod-12b = <1>; st,ref-sel = <0>; st,adc-freq = <1>; st,ave-ctrl = <1>; st,touch-det-delay = <2>; st,settling = <2>; st,fraction-z = <7>; st,i-drive = <1>; }; }; i2c_rtc: rtc@68 { compatible = "microcrystal,rv4162"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_rtc_int>; reg = <0x68>; interrupt-parent = <&gpio7>; interrupts = <8 IRQ_TYPE_LEVEL_LOW>; status = "disabled"; }; }; &i2c2 { pinctrl-names = "default", "gpio"; pinctrl-0 = <&pinctrl_i2c2>; pinctrl-1 = <&pinctrl_i2c2_gpio>; scl-gpios = <&gpio4 12 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; sda-gpios = <&gpio4 13 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; clock-frequency = <100000>; status = "disabled"; }; &ldb { status = "okay"; lvds-channel@0 { fsl,data-mapping = "spwg"; fsl,data-width = <24>; status = "disabled"; port@4 { reg = <4>; lvds0_out: endpoint { remote-endpoint = <&panel_in>; }; }; }; }; &pcie { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_pcie>; reset-gpio = <&gpio2 25 GPIO_ACTIVE_LOW>; vpcie-supply = <®_pcie>; status = "disabled"; }; &pwm1 { #pwm-cells = <2>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_pwm1>; status = "okay"; }; &uart2 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_uart2>; status = "okay"; }; &uart3 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_uart3>; uart-has-rtscts; status = "disabled"; }; &usbh1 { vbus-supply = <®_usb_h1_vbus>; disable-over-current; status = "disabled"; }; &usbotg { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_usbotg>; vbus-supply = <®_usbotg_vbus>; disable-over-current; status = "disabled"; }; &usdhc1 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_usdhc1>; cd-gpios = <&gpio6 31 GPIO_ACTIVE_LOW>; no-1-8-v; disable-wp; status = "disabled"; }; &iomuxc { pinctrl_panel_en: panelen1grp { fsl,pins = < MX6QDL_PAD_EIM_EB0__GPIO2_IO28 0xb0b1 >; }; pinctrl_en_switch: enswitchgrp { fsl,pins = < MX6QDL_PAD_EIM_DA4__GPIO3_IO04 0xb0b1 >; }; pinctrl_flexcan1: flexcan1grp { fsl,pins = < MX6QDL_PAD_GPIO_7__FLEXCAN1_TX 0x1b0b0 MX6QDL_PAD_GPIO_8__FLEXCAN1_RX 0x1b0b0 >; }; pinctrl_flexcan1_en: flexcan1engrp { fsl,pins = < MX6QDL_PAD_EIM_A18__GPIO2_IO20 0xb0b1 >; }; pinctrl_gpioleds: gpioledsgrp { fsl,pins = < MX6QDL_PAD_CSI0_DAT4__GPIO5_IO22 0x1b0b0 MX6QDL_PAD_CSI0_DAT5__GPIO5_IO23 0x1b0b0 MX6QDL_PAD_CSI0_DAT6__GPIO5_IO24 0x1b0b0 >; }; pinctrl_hdmicec: hdmicecgrp { fsl,pins = < MX6QDL_PAD_KEY_ROW2__HDMI_TX_CEC_LINE 0x1f8b0 >; }; pinctrl_i2c1: i2c1grp { fsl,pins = < MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1 MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1 >; }; pinctrl_i2c1_gpio: i2c1gpiogrp { fsl,pins = < MX6QDL_PAD_EIM_D21__GPIO3_IO21 0x4001b8b1 MX6QDL_PAD_EIM_D28__GPIO3_IO28 0x4001b8b1 >; }; pinctrl_i2c2: i2c2grp { fsl,pins = < MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1 MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1 >; }; pinctrl_i2c2_gpio: i2c2gpiogrp { fsl,pins = < MX6QDL_PAD_KEY_ROW3__GPIO4_IO13 0x4001b8b1 MX6QDL_PAD_KEY_COL3__GPIO4_IO12 0x4001b8b1 >; }; pinctrl_pcie: pciegrp { fsl,pins = < MX6QDL_PAD_EIM_OE__GPIO2_IO25 0xb0b1 >; }; pinctrl_pcie_reg: pciereggrp { fsl,pins = < MX6QDL_PAD_EIM_DA0__GPIO3_IO00 0xb0b1 >; }; pinctrl_pwm1: pwm1grp { fsl,pins = < MX6QDL_PAD_GPIO_9__PWM1_OUT 0x1b0b1 >; }; pinctrl_rtc_int: rtcintgrp { fsl,pins = < MX6QDL_PAD_SD3_RST__GPIO7_IO08 0x1b0b0 >; }; pinctrl_stmpe: stmpegrp { fsl,pins = < MX6QDL_PAD_GPIO_17__GPIO7_IO12 0x1b0b0 >; }; pinctrl_uart2: uart2grp { fsl,pins = < MX6QDL_PAD_EIM_D26__UART2_TX_DATA 0x1b0b1 MX6QDL_PAD_EIM_D27__UART2_RX_DATA 0x1b0b1 >; }; pinctrl_uart3: uart3grp { fsl,pins = < MX6QDL_PAD_EIM_EB3__UART3_CTS_B 0x1b0b1 MX6QDL_PAD_EIM_D23__UART3_RTS_B 0x1b0b1 MX6QDL_PAD_EIM_D24__UART3_TX_DATA 0x1b0b1 MX6QDL_PAD_EIM_D25__UART3_RX_DATA 0x1b0b1 >; }; pinctrl_usbh1_vbus: usbh1vbusgrp { fsl,pins = < MX6QDL_PAD_EIM_A20__GPIO2_IO18 0xb0b1 >; }; pinctrl_usbotg: usbotggrp { fsl,pins = < MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x17059 >; }; pinctrl_usbotg_vbus: usbotgvbusgrp { fsl,pins = < MX6QDL_PAD_EIM_A19__GPIO2_IO19 0xb0b1 >; }; pinctrl_usdhc1: usdhc1grp { fsl,pins = < MX6QDL_PAD_SD1_CMD__SD1_CMD 0x170f9 MX6QDL_PAD_SD1_CLK__SD1_CLK 0x100f9 MX6QDL_PAD_SD1_DAT0__SD1_DATA0 0x170f9 MX6QDL_PAD_SD1_DAT1__SD1_DATA1 0x170f9 MX6QDL_PAD_SD1_DAT2__SD1_DATA2 0x170f9 MX6QDL_PAD_SD1_DAT3__SD1_DATA3 0x170f9 MX6QDL_PAD_EIM_BCLK__GPIO6_IO31 0xb0b1 /* CD */ >; }; };