/* * Copyright 2016 Toradex AG * * This file is dual-licensed: you can use it either under the terms * of the GPL or the X11 license, at your option. Note that this dual * licensing only applies to this file, and not this project as a * whole. * * a) This file is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * This file is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * Or, alternatively, * * b) Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation * files (the "Software"), to deal in the Software without * restriction, including without limitation the rights to use, * copy, modify, merge, publish, distribute, sublicense, and/or * sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following * conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. */ #include / { aliases { rtc0 = &rtc; rtc1 = &snvs_rtc; }; chosen { stdout-path = "serial0:115200n8"; }; /* fixed crystal dedicated to mpc258x */ clk16m: clk16m { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <16000000>; }; extcon_usbc_det: usbc_det { compatible = "linux,extcon-usb-gpio"; debounce = <25>; id-gpio = <&gpio7 14 GPIO_ACTIVE_HIGH>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_usbc_det>; }; gpio-keys { compatible = "gpio-keys"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_gpiokeys>; power { label = "Wake-Up"; gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>; linux,code = ; debounce-interval = <10>; gpio-key,wakeup; }; }; 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_usbh_vbus: regulator-usbh-vbus { compatible = "regulator-fixed"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_usbh_reg>; regulator-name = "VCC_USB[1-4]"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; gpio = <&gpio4 7 GPIO_ACTIVE_LOW>; vin-supply = <®_5v0>; }; }; &bl { brightness-levels = <0 4 8 16 32 64 128 255>; default-brightness-level = <6>; power-supply = <®_3v3>; status = "okay"; }; &adc1 { status = "okay"; }; &adc2 { status = "okay"; }; &epxp { status = "okay"; }; &ecspi3 { status = "okay"; mcp2515: can@0 { compatible = "microchip,mcp2515"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_can_int>; reg = <0>; clocks = <&clk16m>; interrupt-parent = <&gpio5>; interrupts = <2 IRQ_TYPE_EDGE_FALLING>; spi-max-frequency = <10000000>; vdd-supply = <®_3v3>; xceiver-supply = <®_5v0>; status = "okay"; }; spidev0: spidev@0 { compatible = "toradex,evalspi"; reg = <0>; spi-max-frequency = <23000000>; status = "disabled"; }; }; &fec1 { status = "okay"; }; &i2c4 { status = "okay"; /* the PCAPs use SODIMM 28/30, also used for PWM, PWM, aka pwm2, pwm3. so if you enable one of the PCAP controllers disable the pwms */ /* Atmel maxtouch controller */ atmel_mxt_ts: atmel_mxt_ts@4a { compatible = "atmel,maxtouch"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_gpiotouch>; reg = <0x4a>; interrupt-parent = <&gpio1>; interrupts = <9 IRQ_TYPE_EDGE_FALLING>; /* SODIMM 28 */ reset-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>; /* SODIMM 30 */ status = "disabled"; }; touch: touchrevf0710a@10 { compatible = "touchrevolution,fusion-f0710a"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_gpiotouch>; reg = <0x10>; /* SODIMM 28, Pen down interrupt */ gpios = <&gpio1 9 GPIO_ACTIVE_HIGH /* SODIMM 30, Reset interrupt */ &gpio1 10 GPIO_ACTIVE_LOW >; status = "disabled"; }; /* M41T0M6 real time clock on carrier board */ rtc: m41t0m6@68 { compatible = "st,m41t0"; reg = <0x68>; }; }; &lcdif { display = <&display0>; status = "okay"; display0: lcd-display { bits-per-pixel = <16>; bus-width = <18>; display-timings { native-mode = <&timing_vga>; /* Standard VGA timing */ timing_vga: 640x480 { clock-frequency = <25175000>; hactive = <640>; vactive = <480>; hback-porch = <40>; hfront-porch = <24>; vback-porch = <32>; vfront-porch = <11>; hsync-len = <96>; vsync-len = <2>; de-active = <1>; hsync-active = <0>; vsync-active = <0>; pixelclk-active = <0>; }; /* WVGA Timing, e.g. EDT ET070080DH6 */ timing_wvga: 800x480 { clock-frequency = <33260000>; hactive = <800>; vactive = <480>; hback-porch = <216>; hfront-porch = <40>; vback-porch = <35>; vfront-porch = <10>; hsync-len = <128>; vsync-len = <2>; de-active = <1>; hsync-active = <0>; vsync-active = <0>; pixelclk-active = <0>; }; /* WVGA Timing, TouchRevolution Fusion 7" */ timing_wvga2: 800x480pixclkact { clock-frequency = <33260000>; hactive = <800>; vactive = <480>; hback-porch = <216>; hfront-porch = <40>; vback-porch = <35>; vfront-porch = <10>; hsync-len = <128>; vsync-len = <2>; de-active = <1>; hsync-active = <0>; vsync-active = <0>; pixelclk-active = <1>; }; /* Standard SVGA timing */ timing_svga: 800x600 { clock-frequency = <40000000>; hactive = <800>; vactive = <600>; hback-porch = <88>; hfront-porch = <40>; vback-porch = <23>; vfront-porch = <1>; hsync-len = <128>; vsync-len = <4>; de-active = <1>; hsync-active = <1>; vsync-active = <1>; pixelclk-active = <0>; }; /* TouchRevolution Fusion 10"/CLAA101NC05 10.1 inch */ timing_wsvga: 1024x600 { clock-frequency = <48000000>; hactive = <1024>; vactive = <600>; hback-porch = <104>; hfront-porch = <43>; vback-porch = <24>; vfront-porch = <20>; hsync-len = <5>; vsync-len = <5>; de-active = <1>; hsync-active = <0>; vsync-active = <0>; pixelclk-active = <0>; }; /* Standard XGA timing */ timing_xga: 1024x768 { clock-frequency = <65000000>; hactive = <1024>; vactive = <768>; hback-porch = <160>; hfront-porch = <24>; vback-porch = <29>; vfront-porch = <3>; hsync-len = <136>; vsync-len = <6>; de-active = <1>; hsync-active = <0>; vsync-active = <0>; pixelclk-active = <0>; }; }; }; }; &pwm1 { status = "okay"; }; &pwm2 { status = "okay"; }; &pwm3 { status = "okay"; }; &pwm4 { status = "okay"; }; &uart1 { status = "okay"; }; &uart2 { status = "okay"; }; &uart3 { status = "okay"; }; &usbotg1 { extcon = <&extcon_usbc_det>, <&extcon_usbc_det>; vbus-supply = <®_usbh_vbus>; status = "okay"; }; /* The define SD_1_8 allows to use the SD interface at a higher speed mode * if the card supports it. For this the signaling voltage is switched from * 3.3V to 1.8V under the usdhc1's drivers control. * All pins supplied with NVCC_SD1 must be able to cope with this * and must (MUST!!!) not be driven with a voltage higher than 1.8V or * the interface will not work. */ /* #define SD_1_8 */ &usdhc1 { #ifdef SD_1_8 pinctrl-names = "default", "state_100mhz", "state_200mhz"; pinctrl-0 = <&pinctrl_usdhc1 &pinctrl_cd_usdhc1>; pinctrl-1 = <&pinctrl_usdhc1_100mhz &pinctrl_cd_usdhc1>; pinctrl-2 = <&pinctrl_usdhc1_200mhz &pinctrl_cd_usdhc1>; vqmmc-supply = <®_LDO2>; #else pinctrl-names = "default"; pinctrl-0 = <&pinctrl_usdhc1 &pinctrl_cd_usdhc1>; no-1-8-v; #endif cd-gpios = <&gpio1 0 GPIO_ACTIVE_LOW>; disable-wp; enable-sdio-wakeup; keep-power-in-suspend; wakeup-source; vmmc-supply = <®_3v3>; status = "okay"; }; &iomuxc { pinctrl_gpiotouch: touchgpios { fsl,pins = < MX7D_PAD_GPIO1_IO09__GPIO1_IO9 0x74 MX7D_PAD_GPIO1_IO10__GPIO1_IO10 0x14 >; }; };