162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright 2013 Freescale Semiconductor, Inc. 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Author: Fabio Estevam <fabio.estevam@freescale.com> 662306a36Sopenharmony_ci */ 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h> 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci/ { 1162306a36Sopenharmony_ci aliases { 1262306a36Sopenharmony_ci backlight = &backlight; 1362306a36Sopenharmony_ci panelchan = &panelchan; 1462306a36Sopenharmony_ci panel7 = &panel7; 1562306a36Sopenharmony_ci touchscreenp7 = &touchscreenp7; 1662306a36Sopenharmony_ci }; 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ci chosen { 1962306a36Sopenharmony_ci stdout-path = &uart2; 2062306a36Sopenharmony_ci }; 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ci backlight: backlight { 2362306a36Sopenharmony_ci compatible = "gpio-backlight"; 2462306a36Sopenharmony_ci gpios = <&gpio1 4 0>; 2562306a36Sopenharmony_ci default-on; 2662306a36Sopenharmony_ci status = "disabled"; 2762306a36Sopenharmony_ci }; 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci gpio-poweroff { 3062306a36Sopenharmony_ci compatible = "gpio-poweroff"; 3162306a36Sopenharmony_ci gpios = <&gpio2 4 0>; 3262306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_power_off>; 3362306a36Sopenharmony_ci pinctrl-names = "default"; 3462306a36Sopenharmony_ci }; 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci memory@10000000 { 3762306a36Sopenharmony_ci device_type = "memory"; 3862306a36Sopenharmony_ci reg = <0x10000000 0x40000000>; 3962306a36Sopenharmony_ci }; 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ci panel7: panel7 { 4262306a36Sopenharmony_ci /* 4362306a36Sopenharmony_ci * in reality it is a -20t (parallel) model, 4462306a36Sopenharmony_ci * but with LVDS bridge chip attached, 4562306a36Sopenharmony_ci * so it is equivalent to -19t model in drive 4662306a36Sopenharmony_ci * characteristics 4762306a36Sopenharmony_ci */ 4862306a36Sopenharmony_ci compatible = "urt,umsh-8596md-19t"; 4962306a36Sopenharmony_ci pinctrl-names = "default"; 5062306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_panel>; 5162306a36Sopenharmony_ci power-supply = <®_panel>; 5262306a36Sopenharmony_ci backlight = <&backlight>; 5362306a36Sopenharmony_ci status = "disabled"; 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_ci port { 5662306a36Sopenharmony_ci panel_in: endpoint { 5762306a36Sopenharmony_ci remote-endpoint = <&lvds0_out>; 5862306a36Sopenharmony_ci }; 5962306a36Sopenharmony_ci }; 6062306a36Sopenharmony_ci }; 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_ci reg_usb_h1_vbus: regulator-usb-h1-vbus { 6362306a36Sopenharmony_ci compatible = "regulator-fixed"; 6462306a36Sopenharmony_ci regulator-name = "usb_h1_vbus"; 6562306a36Sopenharmony_ci regulator-min-microvolt = <5000000>; 6662306a36Sopenharmony_ci regulator-max-microvolt = <5000000>; 6762306a36Sopenharmony_ci enable-active-high; 6862306a36Sopenharmony_ci startup-delay-us = <2>; /* USB2415 requires a POR of 1 us minimum */ 6962306a36Sopenharmony_ci gpio = <&gpio7 12 0>; 7062306a36Sopenharmony_ci }; 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_ci reg_panel: regulator-panel { 7362306a36Sopenharmony_ci compatible = "regulator-fixed"; 7462306a36Sopenharmony_ci regulator-name = "lcd_panel"; 7562306a36Sopenharmony_ci enable-active-high; 7662306a36Sopenharmony_ci gpio = <&gpio1 2 0>; 7762306a36Sopenharmony_ci }; 7862306a36Sopenharmony_ci 7962306a36Sopenharmony_ci sound { 8062306a36Sopenharmony_ci compatible = "fsl,imx6q-udoo-ac97", 8162306a36Sopenharmony_ci "fsl,imx-audio-ac97"; 8262306a36Sopenharmony_ci model = "fsl,imx6q-udoo-ac97"; 8362306a36Sopenharmony_ci audio-cpu = <&ssi1>; 8462306a36Sopenharmony_ci audio-routing = 8562306a36Sopenharmony_ci "RX", "Mic Jack", 8662306a36Sopenharmony_ci "Headphone Jack", "TX"; 8762306a36Sopenharmony_ci mux-int-port = <1>; 8862306a36Sopenharmony_ci mux-ext-port = <6>; 8962306a36Sopenharmony_ci }; 9062306a36Sopenharmony_ci}; 9162306a36Sopenharmony_ci 9262306a36Sopenharmony_ci&fec { 9362306a36Sopenharmony_ci pinctrl-names = "default"; 9462306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_enet>; 9562306a36Sopenharmony_ci phy-mode = "rgmii-id"; 9662306a36Sopenharmony_ci status = "okay"; 9762306a36Sopenharmony_ci}; 9862306a36Sopenharmony_ci 9962306a36Sopenharmony_ci&hdmi { 10062306a36Sopenharmony_ci ddc-i2c-bus = <&i2c2>; 10162306a36Sopenharmony_ci status = "okay"; 10262306a36Sopenharmony_ci}; 10362306a36Sopenharmony_ci 10462306a36Sopenharmony_ci&i2c2 { 10562306a36Sopenharmony_ci clock-frequency = <100000>; 10662306a36Sopenharmony_ci pinctrl-names = "default"; 10762306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_i2c2>; 10862306a36Sopenharmony_ci status = "okay"; 10962306a36Sopenharmony_ci}; 11062306a36Sopenharmony_ci 11162306a36Sopenharmony_ci&i2c3 { 11262306a36Sopenharmony_ci clock-frequency = <100000>; 11362306a36Sopenharmony_ci pinctrl-names = "default"; 11462306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_i2c3>; 11562306a36Sopenharmony_ci status = "okay"; 11662306a36Sopenharmony_ci 11762306a36Sopenharmony_ci touchscreenp7: touchscreenp7@55 { 11862306a36Sopenharmony_ci compatible = "sitronix,st1232"; 11962306a36Sopenharmony_ci pinctrl-names = "default"; 12062306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_touchscreenp7>; 12162306a36Sopenharmony_ci reg = <0x55>; 12262306a36Sopenharmony_ci interrupt-parent = <&gpio1>; 12362306a36Sopenharmony_ci interrupts = <13 8>; 12462306a36Sopenharmony_ci gpios = <&gpio1 15 0>; 12562306a36Sopenharmony_ci status = "disabled"; 12662306a36Sopenharmony_ci }; 12762306a36Sopenharmony_ci}; 12862306a36Sopenharmony_ci 12962306a36Sopenharmony_ci&iomuxc { 13062306a36Sopenharmony_ci imx6q-udoo { 13162306a36Sopenharmony_ci pinctrl_enet: enetgrp { 13262306a36Sopenharmony_ci fsl,pins = < 13362306a36Sopenharmony_ci MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b030 13462306a36Sopenharmony_ci MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x1b030 13562306a36Sopenharmony_ci MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x1b030 13662306a36Sopenharmony_ci MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b030 13762306a36Sopenharmony_ci MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b030 13862306a36Sopenharmony_ci MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b030 13962306a36Sopenharmony_ci MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x1b030 14062306a36Sopenharmony_ci MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b030 14162306a36Sopenharmony_ci MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b030 14262306a36Sopenharmony_ci MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b030 14362306a36Sopenharmony_ci MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0x1b030 14462306a36Sopenharmony_ci MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b030 14562306a36Sopenharmony_ci MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x1b0b0 14662306a36Sopenharmony_ci MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0 14762306a36Sopenharmony_ci MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0 14862306a36Sopenharmony_ci MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x4001b0a8 14962306a36Sopenharmony_ci >; 15062306a36Sopenharmony_ci }; 15162306a36Sopenharmony_ci 15262306a36Sopenharmony_ci pinctrl_i2c2: i2c2grp { 15362306a36Sopenharmony_ci fsl,pins = < 15462306a36Sopenharmony_ci MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1 15562306a36Sopenharmony_ci MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1 15662306a36Sopenharmony_ci >; 15762306a36Sopenharmony_ci }; 15862306a36Sopenharmony_ci 15962306a36Sopenharmony_ci pinctrl_i2c3: i2c3grp { 16062306a36Sopenharmony_ci fsl,pins = < 16162306a36Sopenharmony_ci MX6QDL_PAD_GPIO_5__I2C3_SCL 0x4001f8b1 16262306a36Sopenharmony_ci MX6QDL_PAD_GPIO_6__I2C3_SDA 0x4001f8b1 16362306a36Sopenharmony_ci >; 16462306a36Sopenharmony_ci }; 16562306a36Sopenharmony_ci 16662306a36Sopenharmony_ci pinctrl_panel: panelgrp { 16762306a36Sopenharmony_ci fsl,pins = < 16862306a36Sopenharmony_ci MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x70 16962306a36Sopenharmony_ci MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x70 17062306a36Sopenharmony_ci >; 17162306a36Sopenharmony_ci }; 17262306a36Sopenharmony_ci 17362306a36Sopenharmony_ci pinctrl_power_off: poweroffgrp { 17462306a36Sopenharmony_ci fsl,pins = < 17562306a36Sopenharmony_ci MX6QDL_PAD_NANDF_D4__GPIO2_IO04 0x30 17662306a36Sopenharmony_ci >; 17762306a36Sopenharmony_ci }; 17862306a36Sopenharmony_ci 17962306a36Sopenharmony_ci pinctrl_touchscreenp7: touchscreenp7grp { 18062306a36Sopenharmony_ci fsl,pins = < 18162306a36Sopenharmony_ci MX6QDL_PAD_SD2_DAT0__GPIO1_IO15 0x70 18262306a36Sopenharmony_ci MX6QDL_PAD_SD2_DAT2__GPIO1_IO13 0x1b0b0 18362306a36Sopenharmony_ci >; 18462306a36Sopenharmony_ci }; 18562306a36Sopenharmony_ci 18662306a36Sopenharmony_ci pinctrl_uart2: uart2grp { 18762306a36Sopenharmony_ci fsl,pins = < 18862306a36Sopenharmony_ci MX6QDL_PAD_EIM_D26__UART2_TX_DATA 0x1b0b1 18962306a36Sopenharmony_ci MX6QDL_PAD_EIM_D27__UART2_RX_DATA 0x1b0b1 19062306a36Sopenharmony_ci >; 19162306a36Sopenharmony_ci }; 19262306a36Sopenharmony_ci 19362306a36Sopenharmony_ci pinctrl_uart4: uart4grp { 19462306a36Sopenharmony_ci fsl,pins = < 19562306a36Sopenharmony_ci MX6QDL_PAD_KEY_COL0__UART4_TX_DATA 0x1b0b1 19662306a36Sopenharmony_ci MX6QDL_PAD_KEY_ROW0__UART4_RX_DATA 0x1b0b1 19762306a36Sopenharmony_ci >; 19862306a36Sopenharmony_ci }; 19962306a36Sopenharmony_ci 20062306a36Sopenharmony_ci pinctrl_usbh: usbhgrp { 20162306a36Sopenharmony_ci fsl,pins = < 20262306a36Sopenharmony_ci MX6QDL_PAD_GPIO_17__GPIO7_IO12 0x80000000 20362306a36Sopenharmony_ci MX6QDL_PAD_NANDF_CS2__CCM_CLKO2 0x130b0 20462306a36Sopenharmony_ci >; 20562306a36Sopenharmony_ci }; 20662306a36Sopenharmony_ci 20762306a36Sopenharmony_ci pinctrl_usbotg: usbotg { 20862306a36Sopenharmony_ci fsl,pins = < 20962306a36Sopenharmony_ci MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x17059 21062306a36Sopenharmony_ci MX6QDL_PAD_EIM_D22__USB_OTG_PWR 0x17059 21162306a36Sopenharmony_ci MX6QDL_PAD_EIM_D21__USB_OTG_OC 0x17059 21262306a36Sopenharmony_ci >; 21362306a36Sopenharmony_ci }; 21462306a36Sopenharmony_ci 21562306a36Sopenharmony_ci pinctrl_usdhc3: usdhc3grp { 21662306a36Sopenharmony_ci fsl,pins = < 21762306a36Sopenharmony_ci MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059 21862306a36Sopenharmony_ci MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059 21962306a36Sopenharmony_ci MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059 22062306a36Sopenharmony_ci MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059 22162306a36Sopenharmony_ci MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059 22262306a36Sopenharmony_ci MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059 22362306a36Sopenharmony_ci MX6QDL_PAD_SD3_DAT5__GPIO7_IO00 0x1b0b0 22462306a36Sopenharmony_ci >; 22562306a36Sopenharmony_ci }; 22662306a36Sopenharmony_ci 22762306a36Sopenharmony_ci pinctrl_ac97_running: ac97running { 22862306a36Sopenharmony_ci fsl,pins = < 22962306a36Sopenharmony_ci MX6QDL_PAD_DI0_PIN2__AUD6_TXD 0x1b0b0 23062306a36Sopenharmony_ci MX6QDL_PAD_DI0_PIN3__AUD6_TXFS 0x1b0b0 23162306a36Sopenharmony_ci MX6QDL_PAD_DI0_PIN4__AUD6_RXD 0x13080 23262306a36Sopenharmony_ci MX6QDL_PAD_DI0_PIN15__AUD6_TXC 0x13080 23362306a36Sopenharmony_ci MX6QDL_PAD_EIM_EB2__GPIO2_IO30 0x1b0b0 23462306a36Sopenharmony_ci >; 23562306a36Sopenharmony_ci }; 23662306a36Sopenharmony_ci 23762306a36Sopenharmony_ci pinctrl_ac97_warm_reset: ac97warmreset { 23862306a36Sopenharmony_ci fsl,pins = < 23962306a36Sopenharmony_ci MX6QDL_PAD_DI0_PIN2__AUD6_TXD 0x1b0b0 24062306a36Sopenharmony_ci MX6QDL_PAD_DI0_PIN3__GPIO4_IO19 0x1b0b0 24162306a36Sopenharmony_ci MX6QDL_PAD_DI0_PIN4__AUD6_RXD 0x13080 24262306a36Sopenharmony_ci MX6QDL_PAD_DI0_PIN15__AUD6_TXC 0x13080 24362306a36Sopenharmony_ci MX6QDL_PAD_EIM_EB2__GPIO2_IO30 0x1b0b0 24462306a36Sopenharmony_ci >; 24562306a36Sopenharmony_ci }; 24662306a36Sopenharmony_ci 24762306a36Sopenharmony_ci pinctrl_ac97_reset: ac97reset { 24862306a36Sopenharmony_ci fsl,pins = < 24962306a36Sopenharmony_ci MX6QDL_PAD_DI0_PIN2__GPIO4_IO18 0x1b0b0 25062306a36Sopenharmony_ci MX6QDL_PAD_DI0_PIN3__GPIO4_IO19 0x1b0b0 25162306a36Sopenharmony_ci MX6QDL_PAD_DI0_PIN4__AUD6_RXD 0x13080 25262306a36Sopenharmony_ci MX6QDL_PAD_DI0_PIN15__AUD6_TXC 0x13080 25362306a36Sopenharmony_ci MX6QDL_PAD_EIM_EB2__GPIO2_IO30 0x1b0b0 25462306a36Sopenharmony_ci >; 25562306a36Sopenharmony_ci }; 25662306a36Sopenharmony_ci }; 25762306a36Sopenharmony_ci}; 25862306a36Sopenharmony_ci 25962306a36Sopenharmony_ci&ldb { 26062306a36Sopenharmony_ci status = "okay"; 26162306a36Sopenharmony_ci 26262306a36Sopenharmony_ci panelchan: lvds-channel@0 { 26362306a36Sopenharmony_ci port@4 { 26462306a36Sopenharmony_ci reg = <4>; 26562306a36Sopenharmony_ci 26662306a36Sopenharmony_ci lvds0_out: endpoint { 26762306a36Sopenharmony_ci remote-endpoint = <&panel_in>; 26862306a36Sopenharmony_ci }; 26962306a36Sopenharmony_ci }; 27062306a36Sopenharmony_ci }; 27162306a36Sopenharmony_ci}; 27262306a36Sopenharmony_ci 27362306a36Sopenharmony_ci&uart2 { 27462306a36Sopenharmony_ci pinctrl-names = "default"; 27562306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_uart2>; 27662306a36Sopenharmony_ci status = "okay"; 27762306a36Sopenharmony_ci}; 27862306a36Sopenharmony_ci 27962306a36Sopenharmony_ci&uart4 { 28062306a36Sopenharmony_ci pinctrl-names = "default"; 28162306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_uart4>; 28262306a36Sopenharmony_ci status = "okay"; 28362306a36Sopenharmony_ci}; 28462306a36Sopenharmony_ci 28562306a36Sopenharmony_ci&usbh1 { 28662306a36Sopenharmony_ci pinctrl-names = "default"; 28762306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_usbh>; 28862306a36Sopenharmony_ci vbus-supply = <®_usb_h1_vbus>; 28962306a36Sopenharmony_ci clocks = <&clks IMX6QDL_CLK_CKO>; 29062306a36Sopenharmony_ci status = "disabled"; 29162306a36Sopenharmony_ci}; 29262306a36Sopenharmony_ci 29362306a36Sopenharmony_ci&usbotg { 29462306a36Sopenharmony_ci pinctrl-names = "default"; 29562306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_usbotg>; 29662306a36Sopenharmony_ci status = "okay"; 29762306a36Sopenharmony_ci}; 29862306a36Sopenharmony_ci 29962306a36Sopenharmony_ci&usdhc3 { 30062306a36Sopenharmony_ci pinctrl-names = "default"; 30162306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_usdhc3>; 30262306a36Sopenharmony_ci cd-gpios = <&gpio7 0 GPIO_ACTIVE_LOW>; 30362306a36Sopenharmony_ci status = "okay"; 30462306a36Sopenharmony_ci}; 30562306a36Sopenharmony_ci 30662306a36Sopenharmony_ci&audmux { 30762306a36Sopenharmony_ci status = "okay"; 30862306a36Sopenharmony_ci}; 30962306a36Sopenharmony_ci 31062306a36Sopenharmony_ci&ssi1 { 31162306a36Sopenharmony_ci cell-index = <0>; 31262306a36Sopenharmony_ci fsl,mode = "ac97-slave"; 31362306a36Sopenharmony_ci pinctrl-names = "ac97-running", "ac97-reset", "ac97-warm-reset"; 31462306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_ac97_running>; 31562306a36Sopenharmony_ci pinctrl-1 = <&pinctrl_ac97_reset>; 31662306a36Sopenharmony_ci pinctrl-2 = <&pinctrl_ac97_warm_reset>; 31762306a36Sopenharmony_ci ac97-gpios = <&gpio4 19 0 &gpio4 18 0 &gpio2 30 0>; 31862306a36Sopenharmony_ci status = "okay"; 31962306a36Sopenharmony_ci}; 320