1*518272afSLeonard Göhrs// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause)
2*518272afSLeonard Göhrs/*
3*518272afSLeonard Göhrs * Copyright (C) 2020 STMicroelectronics - All Rights Reserved
4*518272afSLeonard Göhrs * Copyright (C) 2021 Rouven Czerwinski, Pengutronix
5*518272afSLeonard Göhrs * Copyright (C) 2023 Leonard Göhrs, Pengutronix
6*518272afSLeonard Göhrs */
7*518272afSLeonard Göhrs
8*518272afSLeonard Göhrs/dts-v1/;
9*518272afSLeonard Göhrs
10*518272afSLeonard Göhrs#include "stm32mp157.dtsi"
11*518272afSLeonard Göhrs#include "stm32mp15xc-lxa-tac.dtsi"
12*518272afSLeonard Göhrs
13*518272afSLeonard Göhrs/ {
14*518272afSLeonard Göhrs	model = "Linux Automation Test Automation Controller (TAC) Gen 2";
15*518272afSLeonard Göhrs	compatible = "lxa,stm32mp157c-tac-gen2", "oct,stm32mp15xx-osd32", "st,stm32mp157";
16*518272afSLeonard Göhrs
17*518272afSLeonard Göhrs	backlight: backlight {
18*518272afSLeonard Göhrs		compatible = "pwm-backlight";
19*518272afSLeonard Göhrs		power-supply = <&v3v3>;
20*518272afSLeonard Göhrs
21*518272afSLeonard Göhrs		brightness-levels = <0 31 63 95 127 159 191 223 255>;
22*518272afSLeonard Göhrs		default-brightness-level = <7>;
23*518272afSLeonard Göhrs		pwms = <&led_pwm 3 1000000 0>;
24*518272afSLeonard Göhrs	};
25*518272afSLeonard Göhrs
26*518272afSLeonard Göhrs	reg_iobus_12v: regulator-iobus-12v {
27*518272afSLeonard Göhrs		compatible = "regulator-fixed";
28*518272afSLeonard Göhrs		vin-supply = <&reg_12v>;
29*518272afSLeonard Göhrs		gpio = <&gpioh 13 GPIO_ACTIVE_LOW>;
30*518272afSLeonard Göhrs		regulator-max-microvolt = <12000000>;
31*518272afSLeonard Göhrs		regulator-min-microvolt = <12000000>;
32*518272afSLeonard Göhrs		regulator-name = "12V_IOBUS";
33*518272afSLeonard Göhrs	};
34*518272afSLeonard Göhrs
35*518272afSLeonard Göhrs	led-controller-1 {
36*518272afSLeonard Göhrs		compatible = "pwm-leds-multicolor";
37*518272afSLeonard Göhrs
38*518272afSLeonard Göhrs		multi-led {
39*518272afSLeonard Göhrs			color = <LED_COLOR_ID_RGB>;
40*518272afSLeonard Göhrs			function = LED_FUNCTION_STATUS;
41*518272afSLeonard Göhrs			max-brightness = <65535>;
42*518272afSLeonard Göhrs
43*518272afSLeonard Göhrs			led-red {
44*518272afSLeonard Göhrs				active-low;
45*518272afSLeonard Göhrs				color = <LED_COLOR_ID_RED>;
46*518272afSLeonard Göhrs				pwms = <&led_pwm 0 1000000 0>;
47*518272afSLeonard Göhrs			};
48*518272afSLeonard Göhrs
49*518272afSLeonard Göhrs			led-green {
50*518272afSLeonard Göhrs				active-low;
51*518272afSLeonard Göhrs				color = <LED_COLOR_ID_GREEN>;
52*518272afSLeonard Göhrs				pwms = <&led_pwm 2 1000000 0>;
53*518272afSLeonard Göhrs			};
54*518272afSLeonard Göhrs
55*518272afSLeonard Göhrs			led-blue {
56*518272afSLeonard Göhrs				active-low;
57*518272afSLeonard Göhrs				color = <LED_COLOR_ID_BLUE>;
58*518272afSLeonard Göhrs				pwms = <&led_pwm 1 1000000 0>;
59*518272afSLeonard Göhrs			};
60*518272afSLeonard Göhrs		};
61*518272afSLeonard Göhrs	};
62*518272afSLeonard Göhrs
63*518272afSLeonard Göhrs	led-controller-2 {
64*518272afSLeonard Göhrs		compatible = "gpio-leds";
65*518272afSLeonard Göhrs
66*518272afSLeonard Göhrs		led-5 {
67*518272afSLeonard Göhrs			label = "tac:green:iobus";
68*518272afSLeonard Göhrs			gpios = <&gpiog 1 GPIO_ACTIVE_HIGH>;
69*518272afSLeonard Göhrs		};
70*518272afSLeonard Göhrs
71*518272afSLeonard Göhrs		led-6 {
72*518272afSLeonard Göhrs			label = "tac:green:can";
73*518272afSLeonard Göhrs			gpios = <&gpiof 3 GPIO_ACTIVE_HIGH>;
74*518272afSLeonard Göhrs		};
75*518272afSLeonard Göhrs
76*518272afSLeonard Göhrs		led-7 {
77*518272afSLeonard Göhrs			label = "tac:green:out0";
78*518272afSLeonard Göhrs			gpios = <&gpiob 8 GPIO_ACTIVE_HIGH>;
79*518272afSLeonard Göhrs		};
80*518272afSLeonard Göhrs
81*518272afSLeonard Göhrs		led-8 {
82*518272afSLeonard Göhrs			label = "tac:green:out1";
83*518272afSLeonard Göhrs			gpios = <&gpiog 3 GPIO_ACTIVE_HIGH>;
84*518272afSLeonard Göhrs		};
85*518272afSLeonard Göhrs
86*518272afSLeonard Göhrs		led-9 {
87*518272afSLeonard Göhrs			label = "tac:green:uarttx";
88*518272afSLeonard Göhrs			gpios = <&gpiod 3 GPIO_ACTIVE_HIGH>;
89*518272afSLeonard Göhrs		};
90*518272afSLeonard Göhrs
91*518272afSLeonard Göhrs		led-10 {
92*518272afSLeonard Göhrs			label = "tac:green:uartrx";
93*518272afSLeonard Göhrs			gpios = <&gpiof 6 GPIO_ACTIVE_HIGH>;
94*518272afSLeonard Göhrs		};
95*518272afSLeonard Göhrs
96*518272afSLeonard Göhrs		led-11 {
97*518272afSLeonard Göhrs			label = "tac:green:usbh1";
98*518272afSLeonard Göhrs			gpios = <&gpioc 8 GPIO_ACTIVE_HIGH>;
99*518272afSLeonard Göhrs		};
100*518272afSLeonard Göhrs
101*518272afSLeonard Göhrs		led-12 {
102*518272afSLeonard Göhrs			label = "tac:green:usbh2";
103*518272afSLeonard Göhrs			gpios = <&gpiod 6 GPIO_ACTIVE_HIGH>;
104*518272afSLeonard Göhrs		};
105*518272afSLeonard Göhrs
106*518272afSLeonard Göhrs		led-13 {
107*518272afSLeonard Göhrs			label = "tac:green:usbh3";
108*518272afSLeonard Göhrs			gpios = <&gpiob 9 GPIO_ACTIVE_HIGH>;
109*518272afSLeonard Göhrs		};
110*518272afSLeonard Göhrs
111*518272afSLeonard Göhrs		led-14 {
112*518272afSLeonard Göhrs			label = "tac:green:usbg";
113*518272afSLeonard Göhrs			gpios = <&gpiod 14 GPIO_ACTIVE_HIGH>;
114*518272afSLeonard Göhrs			linux,default-trigger = "usb-gadget";
115*518272afSLeonard Göhrs		};
116*518272afSLeonard Göhrs
117*518272afSLeonard Göhrs		led-15 {
118*518272afSLeonard Göhrs			label = "tac:green:dutpwr";
119*518272afSLeonard Göhrs			gpios = <&gpioa 15 GPIO_ACTIVE_HIGH>;
120*518272afSLeonard Göhrs		};
121*518272afSLeonard Göhrs	};
122*518272afSLeonard Göhrs};
123*518272afSLeonard Göhrs
124*518272afSLeonard Göhrs&gpioa {
125*518272afSLeonard Göhrs	gpio-line-names = "", "", "DUT_PWR_EN", "", "STACK_CS3", /*  0 */
126*518272afSLeonard Göhrs	"ETH_GPIO1", "ETH_INT", "", "", "",                      /*  5 */
127*518272afSLeonard Göhrs	"", "", "", "BOOTROM_LED", "ETH_LAB_LEDRP",              /* 10 */
128*518272afSLeonard Göhrs	"";                                                      /* 15 */
129*518272afSLeonard Göhrs};
130*518272afSLeonard Göhrs
131*518272afSLeonard Göhrs&gpioc {
132*518272afSLeonard Göhrs	gpio-line-names = "", "DUT_PWR_DISCH", "", "", "", /*  0 */
133*518272afSLeonard Göhrs	"", "", "", "", "",                                /*  5 */
134*518272afSLeonard Göhrs	"", "";                                            /* 10 */
135*518272afSLeonard Göhrs};
136*518272afSLeonard Göhrs
137*518272afSLeonard Göhrs&gpu {
138*518272afSLeonard Göhrs	status = "disabled";
139*518272afSLeonard Göhrs};
140*518272afSLeonard Göhrs
141*518272afSLeonard Göhrs&m_can2 {
142*518272afSLeonard Göhrs	termination-gpios = <&gpioe 4 GPIO_ACTIVE_HIGH>;
143*518272afSLeonard Göhrs	termination-ohms = <120>;
144*518272afSLeonard Göhrs};
145*518272afSLeonard Göhrs
146*518272afSLeonard Göhrs&spi2 {
147*518272afSLeonard Göhrs	adc@0 {
148*518272afSLeonard Göhrs		compatible = "ti,lmp92064";
149*518272afSLeonard Göhrs		reg = <0>;
150*518272afSLeonard Göhrs
151*518272afSLeonard Göhrs		reset-gpios = <&gpioa 4 GPIO_ACTIVE_HIGH>;
152*518272afSLeonard Göhrs		shunt-resistor-micro-ohms = <15000>;
153*518272afSLeonard Göhrs		spi-max-frequency = <5000000>;
154*518272afSLeonard Göhrs		vdd-supply = <&reg_pb_3v3>;
155*518272afSLeonard Göhrs		vdig-supply = <&reg_pb_3v3>;
156*518272afSLeonard Göhrs	};
157*518272afSLeonard Göhrs};
158*518272afSLeonard Göhrs
159*518272afSLeonard Göhrs&timers8 {
160*518272afSLeonard Göhrs	/* spare dmas for other usage */
161*518272afSLeonard Göhrs	/delete-property/dmas;
162*518272afSLeonard Göhrs	/delete-property/dma-names;
163*518272afSLeonard Göhrs
164*518272afSLeonard Göhrs	status = "okay";
165*518272afSLeonard Göhrs
166*518272afSLeonard Göhrs	led_pwm: pwm {
167*518272afSLeonard Göhrs		pinctrl-names = "default", "sleep";
168*518272afSLeonard Göhrs		pinctrl-0 = <&pwm8_pins_b>;
169*518272afSLeonard Göhrs		pinctrl-1 = <&pwm8_sleep_pins_b>;
170*518272afSLeonard Göhrs		status = "okay";
171*518272afSLeonard Göhrs	};
172*518272afSLeonard Göhrs};
173