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 Leonard Göhrs, Pengutronix
6 */
7
8/dts-v1/;
9
10#include "stm32mp157.dtsi"
11#include "stm32mp15xc-lxa-tac.dtsi"
12
13/ {
14	model = "Linux Automation Test Automation Controller (TAC) Gen 1";
15	compatible = "lxa,stm32mp157c-tac-gen1", "oct,stm32mp15xx-osd32", "st,stm32mp157";
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 = <&backlight_pwm 1 1000000 0>;
24	};
25
26	reg_iobus_12v: regulator-iobus-12v {
27		compatible = "regulator-fixed";
28		vin-supply = <&reg_12v>;
29
30		gpio = <&gpioh 13 GPIO_ACTIVE_HIGH>;
31		enable-active-high;
32		regulator-max-microvolt = <12000000>;
33		regulator-min-microvolt = <12000000>;
34		regulator-name = "12V_IOBUS";
35	};
36};
37
38&adc {
39	pinctrl-names = "default";
40	pinctrl-0 = <&adc1_ain_pins_a>;
41	vdd-supply = <&vdd>;
42	vdda-supply = <&vdda>;
43	vref-supply = <&vrefbuf>;
44	status = "okay";
45
46	adc1: adc@0 {
47		st,adc-channels = <0 1 2 5 9 10 13 15>;
48		st,min-sample-time-nsecs = <5000>;
49		#address-cells = <1>;
50		#size-cells = <0>;
51		status = "okay";
52
53		channel@0 {
54			reg = <0>;
55			label = "HOST_2_CURR_FB";
56		};
57
58		channel@1 {
59			reg = <1>;
60			label = "HOST_3_CURR_FB";
61		};
62
63		channel@2 {
64			reg = <2>;
65			label = "OUT_0_FB";
66		};
67
68		channel@5 {
69			reg = <5>;
70			label = "IOBUS_CURR_FB";
71		};
72
73		channel@9 {
74			reg = <9>;
75			label = "IOBUS_VOLT_FB";
76		};
77
78		channel@10 {
79			reg = <10>;
80			label = "OUT_1_FB";
81		};
82
83		channel@13 {
84			reg = <13>;
85			label = "HOST_CURR_FB";
86		};
87
88		channel@15 {
89			reg = <15>;
90			label = "HOST_1_CURR_FB";
91		};
92	};
93
94	adc2: adc@100 {
95		st,adc-channels = <12>;
96		st,min-sample-time-nsecs = <500000>;
97		#address-cells = <1>;
98		#size-cells = <0>;
99		status = "okay";
100
101		channel@12 {
102			reg = <12>;
103			label = "TEMP_INTERNAL";
104		};
105	};
106};
107
108&gpioa {
109	gpio-line-names = "", "", "STACK_CS2", "", "STACK_CS3", /*  0 */
110	"ETH_GPIO1", "ETH_INT", "", "", "",                     /*  5 */
111	"", "", "", "BOOTROM_LED", "ETH_LAB_LEDRP",             /* 10 */
112	"";                                                     /* 15 */
113};
114
115&gpioc {
116	gpio-line-names = "", "STACK_CS1", "", "", "", /*  0 */
117	"", "", "", "", "",                            /*  5 */
118	"", "";                                        /* 10 */
119};
120
121&gpioe {
122	gpio-line-names = "TP35", "", "", "", "CAN_1_120R", /*  0 */
123	"", "", "USER_BTN2", "TP48", "UART_TX_EN",          /*  5 */
124	"UART_RX_EN", "TP24", "", "TP25", "TP26",           /* 10 */
125	"TP27";                                             /* 15 */
126};
127
128&gpiog {
129	gpio-line-names = "ETH_RESET", "", "", "", "",               /*  0 */
130	"IOBUS_FLT_FB", "", "USER_LED2", "ETH1_PPS_A", "CAN_0_120R", /*  5 */
131	"TP49", "", "", "", "",                                      /* 10 */
132	"";                                                          /* 15 */
133};
134
135&gpu {
136	status = "disabled";
137};
138
139&i2c1 {
140	powerboard_gpio: gpio@24 {
141		compatible = "nxp,pca9570";
142		reg = <0x24>;
143
144		#gpio-cells = <2>;
145		gpio-controller;
146		gpio-line-names = "DUT_PWR_EN", "DUT_PWR_DISCH", "DUT_PWR_ADCRST", "";
147	};
148};
149
150&spi2 {
151	adc@0 {
152		compatible = "ti,lmp92064";
153		reg = <0>;
154		spi-max-frequency = <5000000>;
155		vdd-supply = <&reg_pb_3v3>;
156		vdig-supply = <&reg_pb_3v3>;
157		reset-gpios = <&powerboard_gpio 2 GPIO_ACTIVE_HIGH>;
158
159		shunt-resistor-micro-ohms = <15000>;
160	};
161};
162
163&timers1 {
164	/* spare dmas for other usage */
165	/delete-property/dmas;
166	/delete-property/dma-names;
167
168	status = "okay";
169
170	backlight_pwm: pwm {
171		pinctrl-names = "default", "sleep";
172		pinctrl-0 = <&pwm1_pins_c>;
173		pinctrl-1 = <&pwm1_sleep_pins_c>;
174
175		status = "okay";
176	};
177};
178