Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause)
2/*
3 * Copyright (C) 2020 STMicroelectronics - All Rights Reserved
4 * Copyright (C) 2021 Rouven Czerwinski, Pengutronix
5 * Copyright (C) 2023, 2024 Leonard Göhrs, Pengutronix
6 */
7
8/dts-v1/;
9
10#include "stm32mp153.dtsi"
11#include "stm32mp15xc-lxa-tac.dtsi"
12
13/ {
14 model = "Linux Automation Test Automation Controller (TAC) Gen 3";
15 compatible = "lxa,stm32mp153c-tac-gen3", "oct,stm32mp153x-osd32", "st,stm32mp153";
16
17 backlight: backlight {
18 compatible = "pwm-backlight";
19 power-supply = <&v3v3>;
20
21 brightness-levels = <0 31 63 95 127 159 191 223 255>;
22 default-brightness-level = <7>;
23 pwms = <&led_pwm 3 1000000 0>;
24 };
25
26 reg_iobus_12v: regulator-iobus-12v {
27 compatible = "regulator-fixed";
28 vin-supply = <®_12v>;
29 gpio = <&gpioh 13 GPIO_ACTIVE_LOW>;
30 regulator-max-microvolt = <12000000>;
31 regulator-min-microvolt = <12000000>;
32 regulator-name = "12V_IOBUS";
33 };
34
35 led-controller-1 {
36 compatible = "pwm-leds-multicolor";
37
38 multi-led {
39 color = <LED_COLOR_ID_RGB>;
40 function = LED_FUNCTION_STATUS;
41 max-brightness = <65535>;
42
43 led-red {
44 active-low;
45 color = <LED_COLOR_ID_RED>;
46 pwms = <&led_pwm 0 1000000 0>;
47 };
48
49 led-green {
50 active-low;
51 color = <LED_COLOR_ID_GREEN>;
52 pwms = <&led_pwm 2 1000000 0>;
53 };
54
55 led-blue {
56 active-low;
57 color = <LED_COLOR_ID_BLUE>;
58 pwms = <&led_pwm 1 1000000 0>;
59 };
60 };
61 };
62
63 led-controller-2 {
64 compatible = "gpio-leds";
65
66 led-5 {
67 label = "tac:green:iobus";
68 gpios = <&gpiog 1 GPIO_ACTIVE_HIGH>;
69 };
70
71 led-6 {
72 label = "tac:green:can";
73 gpios = <&gpiof 3 GPIO_ACTIVE_HIGH>;
74 };
75
76 led-7 {
77 label = "tac:green:out0";
78 gpios = <&gpiob 8 GPIO_ACTIVE_HIGH>;
79 };
80
81 led-8 {
82 label = "tac:green:out1";
83 gpios = <&gpiog 3 GPIO_ACTIVE_HIGH>;
84 };
85
86 led-9 {
87 label = "tac:green:uarttx";
88 gpios = <&gpiod 3 GPIO_ACTIVE_HIGH>;
89 };
90
91 led-10 {
92 label = "tac:green:uartrx";
93 gpios = <&gpiof 6 GPIO_ACTIVE_HIGH>;
94 };
95
96 led-11 {
97 label = "tac:green:usbh1";
98 gpios = <&gpioc 8 GPIO_ACTIVE_HIGH>;
99 };
100
101 led-12 {
102 label = "tac:green:usbh2";
103 gpios = <&gpiod 6 GPIO_ACTIVE_HIGH>;
104 };
105
106 led-13 {
107 label = "tac:green:usbh3";
108 gpios = <&gpiob 9 GPIO_ACTIVE_HIGH>;
109 };
110
111 led-14 {
112 label = "tac:green:usbg";
113 gpios = <&gpiod 14 GPIO_ACTIVE_HIGH>;
114 linux,default-trigger = "usb-gadget";
115 };
116
117 led-15 {
118 label = "tac:green:dutpwr";
119 gpios = <&gpioa 15 GPIO_ACTIVE_HIGH>;
120 };
121 };
122};
123
124&adc {
125 pinctrl-names = "default";
126 pinctrl-0 = <&board_adc1_ain_pins>;
127 vdd-supply = <&vdd>;
128 vdda-supply = <&vdda>;
129 vref-supply = <&vrefbuf>;
130 status = "okay";
131
132 adc1: adc@0 {
133 st,adc-channels = <2 5 9 10 13 14 15 18>;
134 st,min-sample-time-nsecs = <5000>;
135 #address-cells = <1>;
136 #size-cells = <0>;
137 status = "okay";
138
139 channel@2 {
140 reg = <2>;
141 label = "OUT_0_FB";
142 };
143
144 channel@5 {
145 reg = <5>;
146 label = "IOBUS_CURR_FB";
147 };
148
149 channel@9 {
150 reg = <9>;
151 label = "IOBUS_VOLT_FB";
152 };
153
154 channel@10 {
155 reg = <10>;
156 label = "OUT_1_FB";
157 };
158
159 channel@13 {
160 reg = <13>;
161 label = "HOST_CURR_FB";
162 };
163
164 channel@14 {
165 reg = <14>;
166 label = "HOST_3_CURR_FB";
167 };
168
169 channel@15 {
170 reg = <15>;
171 label = "HOST_1_CURR_FB";
172 };
173
174 channel@18 {
175 reg = <18>;
176 label = "HOST_2_CURR_FB";
177 };
178 };
179
180 adc2: adc@100 {
181 st,adc-channels = <12>;
182 st,min-sample-time-nsecs = <500000>;
183 #address-cells = <1>;
184 #size-cells = <0>;
185 status = "okay";
186
187 channel@12 {
188 reg = <12>;
189 label = "TEMP_INTERNAL";
190 };
191 };
192};
193
194&gpioa {
195 gpio-line-names = "", "", "", "", "", /* 0 */
196 "ETH_GPIO1", "ETH_INT", "", "", "", /* 5 */
197 "", "", "", "BOOTROM_LED", "ETH_LAB_LEDRP", /* 10 */
198 ""; /* 15 */
199};
200
201&gpioc {
202 gpio-line-names = "", "DUT_PWR_DISCH", "", "", "", /* 0 */
203 "", "", "", "", "", /* 5 */
204 "", ""; /* 10 */
205};
206
207&gpioe {
208 gpio-line-names = "TP35", "", "", "", "CAN_1_120R", /* 0 */
209 "", "", "USER_BTN2", "DUT_PWR_EN", "UART_TX_EN", /* 5 */
210 "UART_RX_EN", "TP24", "", "TP25", "TP26", /* 10 */
211 "TP27"; /* 15 */
212};
213
214&gpiog {
215 gpio-line-names = "ETH_RESET", "", "", "", "", /* 0 */
216 "IOBUS_FLT_FB", "", "USER_LED2", "ETH1_PPS_A", "CAN_0_120R", /* 5 */
217 "POWER_ADC_RESET", "", "", "", "", /* 10 */
218 ""; /* 15 */
219};
220
221&m_can2 {
222 termination-gpios = <&gpioe 4 GPIO_ACTIVE_HIGH>;
223 termination-ohms = <120>;
224};
225
226&pinctrl {
227 board_adc1_ain_pins: board-adc1-ain-0 {
228 pins {
229 pinmux = <STM32_PINMUX('F', 11, ANALOG)>, /* ADC1_INP2 */
230 <STM32_PINMUX('B', 1, ANALOG)>, /* ADC1_INP5 */
231 <STM32_PINMUX('B', 0, ANALOG)>, /* ADC1_INP9 */
232 <STM32_PINMUX('C', 0, ANALOG)>, /* ADC1_INP10 */
233 <STM32_PINMUX('C', 3, ANALOG)>, /* ADC1_INP13 */
234 <STM32_PINMUX('A', 2, ANALOG)>, /* ADC1_INP14 */
235 <STM32_PINMUX('A', 3, ANALOG)>, /* ADC1_INP15 */
236 <STM32_PINMUX('A', 4, ANALOG)>; /* ADC1_INP18 */
237 };
238 };
239};
240
241&spi2 {
242 adc@0 {
243 compatible = "ti,lmp92064";
244 reg = <0>;
245
246 reset-gpios = <&gpiog 10 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
247 shunt-resistor-micro-ohms = <15000>;
248 spi-max-frequency = <5000000>;
249 vdd-supply = <®_pb_3v3>;
250 vdig-supply = <®_pb_3v3>;
251 };
252};
253
254&timers8 {
255 /* spare dmas for other usage */
256 /delete-property/dmas;
257 /delete-property/dma-names;
258
259 status = "okay";
260
261 led_pwm: pwm {
262 pinctrl-names = "default", "sleep";
263 pinctrl-0 = <&pwm8_pins_b>;
264 pinctrl-1 = <&pwm8_sleep_pins_b>;
265 status = "okay";
266 };
267};