summaryrefslogtreecommitdiff
path: root/arch/arm64/boot/dts/freescale/s32v234-sbc.dts
blob: a481a196992804b054a7a6f2450f0b1a4eafb86d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
/*
 * Copyright 2015-2016 Freescale Semiconductor, Inc.
 * Copyright 2017 MicroSys Electronics GmbH
 * Copyright 2018-2019 NXP
 *
 * This program 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.
 */

/dts-v1/;

#include "s32v234.dtsi"

/ {
	model = "Freescale S32V234";
	compatible = "fsl,s32v234-sbc", "fsl,s32v234";

	chosen {
		stdout-path = "serial0:115200n8";
	};
};

&can0 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_can0>;
	status = "okay";
};

&can1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_can1>;
	status = "okay";
};

&fec {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_enet>;
	phy-mode = "rgmii";
	phy-handle = <&phy0>;
	status = "okay";

	mdio {
		#address-cells = <1>;
		#size-cells = <0>;
		phy0: ethernet-phy@1 {
			reg = <1>;
		};
	};
};

&siul2 {
	status = "okay";

	s32v234-sbc {
		/* Format of pins: MSCR_IDX PAD_CONFIGURATION If you know the
		 * IMCR_IDX instead of MSCR_IDX, add 512 to it as the Reference
		 * Manual states.
		 */

		pinctrl_can0: can0grp {
			fsl,pins = <
				S32V234_PAD_PA2__CAN_FD0_TXD
				S32V234_PAD_PA3__CAN_FD0_RXD_OUT
				S32V234_PAD_PA3__CAN_FD0_RXD_IN
				/*
				 * Configure pin C12 as GPIO[6] in MSCR#6.
				 * Effect: the S-pin at CAN is not longer
				 * flowting at ~0.75V, but driven to low ~0.0V.
				 */
				S32V234_MSCR_PA6 (PAD_CTL_MUX_MODE_ALT0 \
							| PAD_CTL_OBE \
							| PAD_CTL_DSE_34 \
							| PAD_CTL_PUS_33K_UP)
			>;
		};

		pinctrl_can1: can1grp {
			fsl,pins = <
				S32V234_PAD_PA4__CAN_FD1_TXD
				S32V234_PAD_PA5__CAN_FD1_RXD_OUT
				S32V234_PAD_PA5__CAN_FD1_RXD_IN
				/*
				 * Configure pin C11 as GPIO[7] in MSCR#7.
				 * Effect: the S-pin at CAN is not longer
				 * flowting at ~0.39V, but driven to low ~0.0V.
				 */
				S32V234_MSCR_PA7 (PAD_CTL_MUX_MODE_ALT0 \
							| PAD_CTL_OBE \
							| PAD_CTL_DSE_34 \
							| PAD_CTL_PUS_33K_UP)
			>;
		};

		pinctrl_enet: enetgrp {
			fsl,pins = <
				S32V234_PAD_PC13__MDC
				S32V234_PAD_PC14__MDIO_OUT
				S32v234_PAD_PC14__MDIO_IN
				S32V234_PAD_PC15__TXCLK_OUT
				S32V234_PAD_PC15__TXCLK_IN
				S32V234_PAD_PD0__RXCLK_OUT
				S32V234_PAD_PD0__RXCLK_IN
				S32V234_PAD_PD1__RX_D0_OUT
				S32V234_PAD_PD1__RX_D0_IN
				S32V234_PAD_PD2__RX_D1_OUT
				S32V234_PAD_PD2__RX_D1_IN
				S32V234_PAD_PD3__RX_D2_OUT
				S32V234_PAD_PD3__RX_D2_IN
				S32V234_PAD_PD4__RX_D3_OUT
				S32V234_PAD_PD4__RX_D3_IN
				S32V234_PAD_PD4__RX_DV_OUT
				S32V234_PAD_PD4__RX_DV_IN
				S32V234_PAD_PD7__TX_D0_OUT
				S32V234_PAD_PD8__TX_D1_OUT
				S32V234_PAD_PD9__TX_D2_OUT
				S32V234_PAD_PD10__TX_D3_OUT
				S32V234_PAD_PD11__TX_EN_OUT
			>;
		};

		pinctrl_uart0: uart0grp {
			fsl,pins = <
				S32V234_PAD_PA12__UART0_TXD
				S32V234_PAD_PA11__UART0_RXD_OUT
				S32V234_PAD_PA11__UART0_RXD_IN
			>;
		};

		pinctrl_uart1: uart1grp {
			fsl,pins = <
				S32V234_PAD_PA14__UART1_TXD
				S32V234_PAD_PA13__UART1_RXD_OUT
				S32V234_PAD_PA13__UART1_RXD_IN
			>;
		};

		pinctrl_usdhc0: usdhc0grp {
			fsl,pins = <
				S32V234_PAD_PK6__USDHC_CLK_OUT
				S32V234_PAD_PK6__USDHC_CLK_IN
				S32V234_PAD_PK7__USDHC_CMD_OUT
				S32V234_PAD_PK7__USDHC_CMD_IN
				S32V234_PAD_PK8__USDHC_DAT0_OUT
				S32V234_PAD_PK8__USDHC_DAT0_IN
				S32V234_PAD_PK9__USDHC_DAT1_OUT
				S32V234_PAD_PK9__USDHC_DAT1_IN
				S32V234_PAD_PK10__USDHC_DAT2_OUT
				S32V234_PAD_PK10__USDHC_DAT2_IN
				S32V234_PAD_PK11__USDHC_DAT3_OUT
				S32V234_PAD_PK11__USDHC_DAT3_IN
				S32V234_PAD_PK15__USDHC_DAT4_OUT
				S32V234_PAD_PK15__USDHC_DAT4_IN
				S32V234_PAD_PL0__USDHC_DAT5_OUT
				S32V234_PAD_PL0__USDHC_DAT5_IN
				S32V234_PAD_PL1__USDHC_DAT6_OUT
				S32V234_PAD_PL1__USDHC_DAT6_IN
				S32V234_PAD_PL2__USDHC_DAT7_OUT
				S32V234_PAD_PL2__USDHC_DAT7_IN
			>;
		};
	};
};

&uart0 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart0>;
	status = "okay";
};

&uart1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart1>;
	status = "okay";
};

&usdhc0 {
	no-1-8-v;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usdhc0>;
	status = "okay";
};