// SPDX-License-Identifier: (GPL-2.0 OR MIT) /* * Copyright 2017 Toradex AG */ #include / { chosen { stdout-path = "serial0:115200n8"; }; gpio-keys { compatible = "gpio-keys"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_snvs_gpiokeys>; power { label = "Wake-Up"; gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>; linux,code = ; debounce-interval = <10>; wakeup-source; }; }; /* fixed crystal dedicated to mcp2515 */ 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 = <&gpio5 2 GPIO_ACTIVE_HIGH>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_snvs_usbc_det>; }; 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 = <&gpio1 2 GPIO_ACTIVE_LOW>; vin-supply = <®_5v0>; }; }; &adc1 { status = "okay"; }; &bl { brightness-levels = <0 45 63 88 119 158 203 255>; default-brightness-level = <4>; power-supply = <®_3v3>; pwms = <&pwm4 0 6666667 PWM_POLARITY_INVERTED>; status = "okay"; }; &pxp { status = "okay"; }; &ecspi1 { status = "okay"; mcp2515: can@0 { compatible = "microchip,mcp2515"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_can_int>; reg = <0>; clocks = <&clk16m>; interrupt-parent = <&gpio2>; interrupts = <4 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"; }; }; &flexcan1 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_flexcan1>; status = "disabled"; }; &flexcan2 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_flexcan2>; status = "disabled"; }; &i2c1 { status = "okay"; /* * the PCAPs use SODIMM 28/30, also used for PWM, PWM, aka pwm5, * pwm6. so if you enable one of the PCAP controllers disable the pwms */ atmel_mxt_ts: atmel_mxt_ts@4a { compatible = "atmel,maxtouch"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_gpiotouch>; reg = <0x4a>; interrupt-parent = <&gpio4>; interrupts = <16 IRQ_TYPE_EDGE_FALLING>; /* SODIMM 28 */ reset-gpios = <&gpio2 5 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 = <&gpio4 16 GPIO_ACTIVE_HIGH /* SODIMM 30, Reset interrupt */ &gpio2 5 GPIO_ACTIVE_LOW >; status = "disabled"; }; /* M41T0M6 real time clock on carrier board */ m41t0m6: rtc@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>; }; }; }; }; /* PWM */ &pwm4 { status = "okay"; }; /* PWM */ &pwm5 { status = "okay"; }; /* PWM */ &pwm6 { status = "okay"; }; /* PWM */ &pwm7 { status = "okay"; }; &uart1 { status = "okay"; }; &uart2 { status = "okay"; }; &uart5 { status = "okay"; }; &usbotg1 { extcon = <&extcon_usbc_det &extcon_usbc_det>; vbus-supply = <®_usbh_vbus>; status = "okay"; }; &usbotg2 { 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. */ /* #define SD_1_8 */ &usdhc1 { #ifdef SD_1_8 pinctrl-names = "default", "state_100mhz", "state_200mhz", "sleep"; pinctrl-0 = <&pinctrl_usdhc1 &pinctrl_snvs_usdhc1_cd>; pinctrl-1 = <&pinctrl_usdhc1_100mhz &pinctrl_snvs_usdhc1_cd>; pinctrl-2 = <&pinctrl_usdhc1_200mhz &pinctrl_snvs_usdhc1_cd>; pinctrl-3 = <&pinctrl_usdhc1 &pinctrl_snvs_usdhc1_cd_sleep>; vqmmc-supply = <®_sd1_vmmc>; #else pinctrl-names = "default"; pinctrl-0 = <&pinctrl_usdhc1 &pinctrl_snvs_usdhc1_cd>; no-1-8-v; #endif cd-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>; disable-wp; wakeup-source; keep-power-in-suspend; vmmc-supply = <®_3v3>; status = "okay"; }; &iomuxc { imx6ull-colibri { pinctrl_gpiotouch: touchgpios { fsl,pins = < MX6UL_PAD_NAND_DQS__GPIO4_IO16 0x74 MX6UL_PAD_ENET1_TX_EN__GPIO2_IO05 0x14 >; }; }; };