xref: /freebsd/sys/contrib/device-tree/src/arm/nxp/imx/imx53-kp.dtsi (revision e9ac41698b2f322d55ccf9da50a3596edb2c1800)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright 2018
4 * Lukasz Majewski, DENX Software Engineering, lukma@denx.de
5 */
6
7/dts-v1/;
8#include "imx53-tqma53.dtsi"
9#include <dt-bindings/input/input.h>
10
11/ {
12	buzzer {
13		compatible = "pwm-beeper";
14		pinctrl-names = "default";
15		pinctrl-0 = <&pinctrl_buzzer>;
16		pwms = <&pwm1 0 500000>;
17	};
18
19	gpio-buttons {
20		compatible = "gpio-keys";
21		pinctrl-names = "default";
22		pinctrl-0 = <&pinctrl_gpiobuttons>;
23
24		button-kalt {
25			label = "Kaltstart";
26			linux,code = <KEY_F6>;
27			gpios = <&gpio2 26 GPIO_ACTIVE_HIGH>;
28		};
29
30		button-pwr {
31			label = "PowerFailInterrupt";
32			linux,code = <KEY_F7>;
33			gpios = <&gpio3 22 GPIO_ACTIVE_HIGH>;
34		};
35	};
36
37	leds {
38		compatible = "gpio-leds";
39		pinctrl-names = "default";
40		pinctrl-0 = <&pinctrl_leds>;
41
42		led-bus {
43			label = "bus";
44			gpios = <&gpio2 30 GPIO_ACTIVE_HIGH>;
45			linux,default-trigger = "gpio";
46			default-state = "off";
47		};
48
49		led-error {
50			label = "error";
51			gpios = <&gpio3 28 GPIO_ACTIVE_HIGH>;
52			linux,default-trigger = "gpio";
53			default-state = "off";
54		};
55
56		led-flash {
57			label = "flash";
58			gpios = <&gpio5 0 GPIO_ACTIVE_HIGH>;
59			linux,default-trigger = "heartbeat";
60		};
61	};
62
63	reg_3v3: regulator-3v3 {
64		compatible = "regulator-fixed";
65		regulator-name = "3V3";
66		regulator-min-microvolt = <3300000>;
67		regulator-max-microvolt = <3300000>;
68		regulator-always-on;
69	};
70};
71
72&can1 {
73	status = "okay";
74};
75
76&can2 {
77	status = "okay";
78};
79
80&i2c3 {
81	status = "okay";
82
83	gpio-expander1@22 {
84		compatible = "nxp,pcf8574";
85		reg = <0x22>;
86		interrupts = <109>;
87		#gpio-cells = <2>;
88		gpio-controller;
89	};
90
91	rtc@51 {
92		compatible = "nxp,pcf8563";
93		reg = <0x51>;
94	};
95};
96
97&iomuxc {
98	pinctrl-names = "default";
99	pinctrl-0 = <&pinctrl_kp_common>;
100
101	imx53-kp-common {
102		pinctrl_buzzer: buzzergrp {
103			fsl,pins = <
104				MX53_PAD_SD1_DATA3__PWM1_PWMO 0x1e4
105			>;
106		};
107
108		pinctrl_gpiobuttons: gpiobuttonsgrp {
109			fsl,pins = <
110				MX53_PAD_EIM_RW__GPIO2_26 0x1e4
111				MX53_PAD_EIM_D22__GPIO3_22 0x1e4
112			>;
113		};
114
115		pinctrl_kp_common: kpcommongrp {
116			fsl,pins = <
117				MX53_PAD_EIM_CS0__GPIO2_23 0x1e4
118				MX53_PAD_GPIO_19__GPIO4_5  0x1e4
119				MX53_PAD_PATA_DATA6__GPIO2_6 0x1e4
120				MX53_PAD_PATA_DATA7__GPIO2_7 0xe0
121				MX53_PAD_CSI0_DAT14__GPIO6_0 0x1e4
122				MX53_PAD_CSI0_DAT16__GPIO6_2 0x1e4
123				MX53_PAD_CSI0_DAT18__GPIO6_4 0x1e4
124				MX53_PAD_EIM_D17__GPIO3_17 0x1e4
125				MX53_PAD_EIM_D18__GPIO3_18 0x1e4
126				MX53_PAD_EIM_D21__GPIO3_21 0x1e4
127				MX53_PAD_EIM_D29__GPIO3_29 0x1e4
128				MX53_PAD_EIM_DA11__GPIO3_11 0x1e4
129				MX53_PAD_EIM_DA13__GPIO3_13 0x1e4
130				MX53_PAD_EIM_DA14__GPIO3_14 0x1e4
131				MX53_PAD_SD1_DATA0__GPIO1_16 0x1e4
132				MX53_PAD_SD1_CMD__GPIO1_18 0x1e4
133				MX53_PAD_SD1_CLK__GPIO1_20 0x1e4
134			>;
135		};
136
137		pinctrl_leds: ledgrp {
138			fsl,pins = <
139				MX53_PAD_EIM_EB2__GPIO2_30 0x1d4
140				MX53_PAD_EIM_D28__GPIO3_28 0x1d4
141				MX53_PAD_EIM_WAIT__GPIO5_0 0x1d4
142			>;
143		};
144
145		pinctrl_uart4: uart4grp {
146			fsl,pins = <
147				MX53_PAD_CSI0_DAT12__UART4_TXD_MUX 0x1e4
148				MX53_PAD_CSI0_DAT13__UART4_RXD_MUX 0x1e4
149			>;
150		};
151	};
152};
153
154&pinctrl_uart1 {
155	fsl,pins = <
156		MX53_PAD_EIM_D23__GPIO3_23 0x1e4
157		MX53_PAD_EIM_EB3__GPIO2_31 0x1e4
158		MX53_PAD_EIM_D24__GPIO3_24 0x1e4
159		MX53_PAD_EIM_D25__GPIO3_25 0x1e4
160		MX53_PAD_EIM_D19__GPIO3_19 0x1e4
161		MX53_PAD_EIM_D20__GPIO3_20 0x1e4
162	>;
163};
164
165&pwm1 {
166	#pwm-cells = <2>;
167};
168
169&pwm2 {
170	#pwm-cells = <2>;
171};
172
173&uart1 {
174	status = "okay";
175};
176
177&uart2 {
178	status = "okay";
179};
180
181&uart3 {
182	status = "okay";
183};
184
185&uart4 {
186	pinctrl-names = "default";
187	pinctrl-0 = <&pinctrl_uart4>;
188	status = "okay";
189};
190
191&usbh1 {
192	status = "okay";
193};
194
195&usbphy0 {
196	status = "disabled";
197};
198