Loading...
1// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2/*
3 * Copyright 2016-2022 Toradex
4 */
5
6/ {
7 /* Fixed crystal dedicated to MCP2515. */
8 clk16m: clk16m {
9 compatible = "fixed-clock";
10 #clock-cells = <0>;
11 clock-frequency = <16000000>;
12 };
13};
14
15/* Colibri AD0 to AD3 */
16&adc1 {
17 status = "okay";
18};
19
20/*
21 * The Atmel maxtouch controller uses SODIMM 28/30, also used for PWM<B>, PWM<C>, aka pwm2, pwm3.
22 * So if you enable following capacitive touch controller, disable pwm2/pwm3 first.
23 */
24&atmel_mxt_ts {
25 interrupt-parent = <&gpio1>;
26 interrupts = <9 IRQ_TYPE_EDGE_FALLING>; /* SODIMM 28 / INT */
27 pinctrl-0 = <&pinctrl_atmel_adapter>;
28 reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>; /* SODIMM 30 / RST */
29 status = "disabled";
30};
31
32/* Colibri SSP */
33&ecspi3 {
34 status = "okay";
35
36 mcp2515: can@0 {
37 clocks = <&clk16m>;
38 compatible = "microchip,mcp2515";
39 interrupt-parent = <&gpio5>;
40 interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
41 pinctrl-names = "default";
42 pinctrl-0 = <&pinctrl_can_int>;
43 reg = <0>;
44 spi-max-frequency = <10000000>;
45 vdd-supply = <®_3v3>;
46 xceiver-supply = <®_5v0>;
47 };
48};
49
50/* Colibri Fast Ethernet */
51&fec1 {
52 status = "okay";
53};
54
55/* Colibri I2C: I2C3_SDA/SCL on SODIMM 194/196 */
56&i2c4 {
57 status = "okay";
58};
59
60/* Colibri PWM<A> */
61&pwm1 {
62 status = "okay";
63};
64
65/* Colibri PWM<B> */
66&pwm2 {
67 /* The pwm2 should be disabled to enable atmel_mxt_ts touchscreen for adapter. */
68 status = "okay";
69};
70
71/* Colibri PWM<C> */
72&pwm3 {
73 /* The pwm3 should be disabled to enable atmel_mxt_ts touchscreen for adapter. */
74 status = "okay";
75};
76
77/* Colibri PWM<D> */
78&pwm4 {
79 status = "okay";
80};
81
82/* M41T0M6 real time clock */
83&rtc {
84 status = "okay";
85};
86
87/* Colibri UART_A */
88&uart1 {
89 status = "okay";
90};
91
92/* Colibri UART_B */
93&uart2 {
94 status = "okay";
95};
96
97/* Colibri UART_C */
98&uart3 {
99 status = "okay";
100};
101
102/* Colibri USBC */
103&usbotg1 {
104 status = "okay";
105};
106
107/* Colibri MMC/SD */
108&usdhc1 {
109 status = "okay";
110};
1/*
2 * Copyright 2016 Toradex AG
3 *
4 * This file is dual-licensed: you can use it either under the terms
5 * of the GPL or the X11 license, at your option. Note that this dual
6 * licensing only applies to this file, and not this project as a
7 * whole.
8 *
9 * a) This file is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License as
11 * published by the Free Software Foundation; either version 2 of the
12 * License, or (at your option) any later version.
13 *
14 * This file is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * Or, alternatively,
20 *
21 * b) Permission is hereby granted, free of charge, to any person
22 * obtaining a copy of this software and associated documentation
23 * files (the "Software"), to deal in the Software without
24 * restriction, including without limitation the rights to use,
25 * copy, modify, merge, publish, distribute, sublicense, and/or
26 * sell copies of the Software, and to permit persons to whom the
27 * Software is furnished to do so, subject to the following
28 * conditions:
29 *
30 * The above copyright notice and this permission notice shall be
31 * included in all copies or substantial portions of the Software.
32 *
33 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40 * OTHER DEALINGS IN THE SOFTWARE.
41 */
42
43/ {
44 chosen {
45 stdout-path = "serial0:115200n8";
46 };
47};
48
49&bl {
50 brightness-levels = <0 4 8 16 32 64 128 255>;
51 default-brightness-level = <6>;
52 status = "okay";
53};
54
55&adc1 {
56 status = "okay";
57};
58
59&adc2 {
60 status = "okay";
61};
62
63&fec1 {
64 status = "okay";
65};
66
67&i2c4 {
68 status = "okay";
69
70 /* M41T0M6 real time clock on carrier board */
71 rtc: m41t0m6@68 {
72 compatible = "st,m41t00";
73 reg = <0x68>;
74 };
75};
76
77&lcdif {
78 display = <&display0>;
79 status = "okay";
80
81 display0: lcd-display {
82 bits-per-pixel = <16>;
83 bus-width = <18>;
84
85 display-timings {
86 native-mode = <&timing_vga>;
87
88 /* Standard VGA timing */
89 timing_vga: 640x480 {
90 clock-frequency = <25175000>;
91 hactive = <640>;
92 vactive = <480>;
93 hback-porch = <40>;
94 hfront-porch = <24>;
95 vback-porch = <32>;
96 vfront-porch = <11>;
97 hsync-len = <96>;
98 vsync-len = <2>;
99 de-active = <1>;
100 hsync-active = <0>;
101 vsync-active = <0>;
102 pixelclk-active = <0>;
103 };
104 };
105 };
106};
107
108&pwm1 {
109 status = "okay";
110};
111
112&pwm2 {
113 status = "okay";
114};
115
116&pwm3 {
117 status = "okay";
118};
119
120&pwm4 {
121 status = "okay";
122};
123
124&uart1 {
125 status = "okay";
126};
127
128&uart2 {
129 status = "okay";
130};
131
132&uart3 {
133 status = "okay";
134};
135
136&usbotg1 {
137 status = "okay";
138};
139
140&usdhc1 {
141 keep-power-in-suspend;
142 wakeup-source;
143 status = "okay";
144};